Iot device and method for loading an iot device to a server
Patent Information
- Application Number
- CN202180090286.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-13
- Filing Date
- 2021-12-10
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2041-12-10
AI Technical Summary
In a typical IoT environment, when loading IoT devices onto a cloud server, existing methods require registering authentication information and connecting user devices during the manufacturing process, leading to stability issues and an increased probability of loading failures.
IoT devices have built-in communication modules, memory, and processors, enabling them to autonomously acquire authentication information, generate configuration information, and send it to the cloud network via the communication module to request loading, thus avoiding the steps of registering device information and connecting to user devices during the manufacturing process.
This enables IoT devices to autonomously load onto the cloud server without requiring registration and connection during the manufacturing process, thus improving the stability and success rate of loading.
Smart Images

Figure CN116762324B_ABST
Abstract
Description
Technical Field
[0001] Various embodiments of this disclosure relate to the Internet of Things (IoT), and, for example, to a method for onboarding an IoT device into a cloud server. Background Technology
[0002] Cloud computing technology refers to the technology used to provide computing services (such as servers, storage, software, or analytics) to users via a network, offering computing resources located at a different location than the user. Cloud computing is used to process data generated by the Internet of Things (IoT). User data or content collected by IoT devices can be stored on cloud servers, and cloud services can be provided to users through data processing.
[0003] To use IoT devices in an IoT environment, a loading process is required to register the IoT devices in a cloud server. For loading an IoT device, authentication information for the authenticating IoT device, Uniform Resource Locator (URL) information required to access the cloud server, and / or device information (such as the IoT device's device type, profile, or location information) may be necessary. Summary of the Invention
[0004] Technical issues
[0005] To load IoT devices onto a cloud server in a typical IoT environment, manufacturers can register authentication and device information during the manufacturing process via an interface provided by the cloud server. Additionally, users of the IoT device can receive multiple pieces of information required for loading from the cloud server using their user devices (e.g., smartphones or tablets), connect the IoT device and user device via short-range wireless communication (e.g., Wi-Fi), and send information received from the cloud server to the IoT device. Such IoT device loading processing can lead to stability issues because the user device needs to release the short-range wireless communication already connected to the device, and the probability of loading failure increases.
[0006] Various embodiments of this disclosure may provide a method for enabling an IoT device to load itself into a cloud server without registering device information and / or connecting the IoT device to a user device during the manufacturing process.
[0007] Solution to the problem
[0008] An electronic device according to various embodiments may include: a communication module; a memory; and a processor operatively connected to the communication module and the memory; and the processor may be configured to: execute an application supporting the loading of the electronic device, obtain authentication information of the electronic device, send the authentication information to a cloud network via the communication module to register the authentication information of the electronic device, generate configuration information of the electronic device based on user input to the application, and send the generated configuration information and device information of the electronic device stored in the memory to a cloud network via the communication module to request the loading of the electronic device.
[0009] A method for loading an electronic device into a server according to various embodiments may include: executing an application that supports the loading of the electronic device, obtaining authentication information of the electronic device, sending the authentication information to a cloud network to register the authentication information of the electronic device, generating configuration information of the electronic device based on user input to the application, and requesting the loading of the electronic device by sending the generated configuration information and device information of the electronic device to the cloud network.
[0010] Advantages of the invention
[0011] Various embodiments of this disclosure may provide an IoT device and a method for loading the IoT device into a server, the IoT device being able to load itself into a cloud server without registering device information and / or connecting the IoT device to a user device during the manufacturing process. Attached Figure Description
[0012] Figure 1 Devices in an IoT environment are shown according to various embodiments.
[0013] Figure 2a and Figure 2b Various devices of an IoT system according to various embodiments are shown.
[0014] Figure 3 It is a block diagram of an IoT device and / or user device according to various embodiments.
[0015] Figure 4 This is a block diagram of an IoT device according to various embodiments.
[0016] Figure 5 This is a flowchart of an IoT device loading method according to an embodiment.
[0017] Figure 6 This is a flowchart of an IoT device loading method according to various embodiments.
[0018] Figure 7A method for an IoT device to obtain authentication information according to an embodiment is shown.
[0019] Figure 8 A method for an IoT device to obtain authentication information according to an embodiment is shown.
[0020] Figure 9 This illustrates the process of registering IoT device information with manufacturers according to various embodiments.
[0021] Figure 10 The process of registering IoT device authentication information according to various embodiments is illustrated in order to load IoT devices.
[0022] Figure 11 The process of registering IoT device authentication information according to various embodiments is illustrated in order to load IoT devices.
[0023] Figure 12 The process of obtaining a proxy URL to load an IoT device is illustrated according to various embodiments.
[0024] Figure 13 The loading process for an IoT device is illustrated according to various embodiments.
[0025] Figure 14 The loading completion process of an IoT device is illustrated according to various embodiments.
[0026] Figure 15 The application screens of IoT devices according to various embodiments are shown.
[0027] Figure 16 The application screen of a user device is shown according to various embodiments. Detailed Implementation
[0028] Figure 1 Devices in an IoT environment (or IoT system) according to various embodiments are shown.
[0029] Reference Figure 1 The Internet of Things (IoT) system 100 may include at least one leaf device 120, at least one hub device (or edge device) 110, a user device 130, and a cloud network 140. For example, the leaf device 120, hub device 110, and user device 130 may be located in adjacent locations (e.g., inside a house) and connected to the same home network (e.g., the same access point (AP)), and the cloud network 140 may be located remotely and connected to the leaf device 120, hub device 110, and user device 130 via the Internet. In this disclosure, the hub device 110 and leaf device 120 of the IoT system 100 may also be referred to as IoT devices, respectively.
[0030] In various embodiments of this disclosure, cloud computing services can be provided by using each device in the IoT system. For example, when motion sensor 123c senses motion, the corresponding sensing data can be provided to cloud network 140, and cloud network 140 can identify the operation of the event mapped to motion sensor 123c and can send a command to turn on light bulb 123a.
[0031] Additionally, in various embodiments of this disclosure, edge computing services can be provided using each device in the IoT system. Edge computing services can refer to techniques for sending data acquired by leaf devices to hub devices located near the leaf devices and within the same home network, and then providing a range of data processing and other services using the hub devices. In various embodiments of this disclosure, devices configured to acquire data via sensors (e.g., camera 121, refrigerator 122, light bulb 123a, digital thermometer 123b, or motion sensor 123c) are defined as leaf devices, but leaf devices can be defined by other names (such as client devices, terminal devices, sensor devices, IoT devices, or slave devices of edge computing services). Furthermore, hub devices defined in various embodiments of this disclosure can be defined by other names (such as edge devices, edge servers, server devices, master devices, or service devices of edge computing services).
[0032] Although the various devices in the IoT system 100 are categorized and described as leaf device 120, hub device 110, and user device 130 according to their function or operation, in some cases, the same device (e.g., a smartphone or tablet PC) may operate as one of the leaf device 120, hub device 110, and user device 130. In other words, the names and / or definitions of the devices described in the various embodiments of this disclosure do not limit the function and / or operation of the devices.
[0033] According to various embodiments, the leaf device 120, serving as an endpoint of the IoT system 100, can collect various data using sensors and transmit the collected data to the hub device 110 or the cloud network 140. Furthermore, the leaf device 120 can perform various operations based on commands transmitted from the cloud network 140, the hub device 110, or the user device 130. (Refer to...) Figure 1 Devices such as camera 121, refrigerator 122, light bulb 123a, digital thermometer 123b, or motion sensor 123c can be called leaf device 120.
[0034] According to various embodiments, at least some of the leaf devices 120 (e.g., camera 121 and refrigerator 122) can access cloud network 140 via the Internet, and devices in leaf devices 120 that do not support Internet Protocol (IP) (e.g., light bulb 123a, digital thermometer 123b, or motion sensor 123c) can transmit sensing data to repeater 124 via non-IP-based communication supported by them (e.g., Zigbee or Bluetooth), and repeater 124 can transmit sensing data from each leaf device 124a, 123b, and 123c to cloud network 140 via the Internet.
[0035] According to various embodiments, the data acquired by the leaf device 120 can be processed by cloud computing services or edge computing services. For example, image data acquired by the camera 121, which is the leaf device, can be sent to a cloud network, commands for on / off control of the bulb 123a can be sent from the cloud network, and / or the image data can be provided to the user device 130 in real time. Optionally, image data acquired by the camera 121 can be sent to a hub device 110, and commands for on / off control of the bulb 123a and image data can be sent from the hub device 110.
[0036] According to various embodiments, cloud network 140 may include various server devices (e.g., IoT management servers and IoT hub servers) located in the network and configured to support cloud computing services in IoT system 100. Cloud network 140 may perform computational processing on sensing data received from leaf device 120 and may send commands for controlling leaf device 120.
[0037] According to various embodiments, cloud network 140 may perform functions to operate and manage specific devices in a home network to function as hub device 110. For example, cloud network 140 may include an IoT server (e.g., an IoT management server or an IoT hub server), and the IoT server may perform edge computing services (such as registering, connecting, or managing hub device 110 and leaf device 120), and may provide hub device 110 with the modules required for edge computing services (e.g., device modules and / or service modules).
[0038] According to various embodiments, hub device 110 can directly process data received from leaf device 120 or send it to cloud network 140 (e.g., IoT server). Hub device 110 may include hardware and / or software resources required for edge computing services, such as TV 112 or tablet PC 111. Hub device 110 can be connected to cloud network 140 via the Internet and can communicate with leaf device 120 via direct communication, mesh networking, or access point.
[0039] According to various embodiments, multiple hub devices 110 may exist in a home network, and leaf device 120 may be connected to one of the multiple hub devices 110 and transmit data. For example, when a particular leaf device 120 is connected, hub device 110 may download modules (e.g., device modules and / or service modules) required for edge computing services from cloud network 140 and execute those modules.
[0040] According to various embodiments, hub device 110 may perform device-specific functions (e.g., TV image output functions) and may perform edge computing services via hardware and / or software resources, at least in part, while performing the device-specific functions or during idle periods when the device-specific functions are not performed.
[0041] According to various embodiments, hub device 110 may store rule information including multiple pieces of information for automated event processing. For example, the rule information may be a rule that maps operation commands indicating an operation to be performed by another leaf device in response to a triggering event occurring in a particular leaf device. Hub device 110 may receive rule information from cloud network 140 and may build a database in the memory of hub device 110.
[0042] According to various embodiments, user device 130 can provide various user interfaces related to edge computing services through applications. For example, user device 130 can display on a display data acquired by leaf device 120 (e.g., camera video stream) or result data obtained by processing data by hub device 110 or cloud network 140 (e.g., human identification). In addition, user device 130 can receive user input regarding the connection of hub device 110 and / or leaf device 120 or its server registration, and can send it to cloud network 140.
[0043] Figure 2a and Figure 2b Various devices of an IoT system according to various embodiments are shown.
[0044] Reference Figure 2a The IoT system (or cloud computing system or edge computing system) 200 may include leaf device 220, hub device 210, user device 230, IoT hub server 250, and IoT management server 240. See reference... Figure 1 As described, various IoT devices can exist in a home network, and for example, a leaf device 220 (e.g., Figure 1 (camera 121) and a hub device 210 (e.g., Figure 1 TV 112 in the figure will be described with reference to Figure 2.
[0045] According to various embodiments, the IoT management server 240 (e.g., SmartThings) TM The server may be a server device configured to provide various services for determining, connecting and / or operating edge computing services, and may include a settings manager 242, a module manager 244 and an edge leaf manager 246.
[0046] According to various embodiments, the setup manager 242 can perform a relay function, enabling the hub device 210 to be connected to the IoT hub server 250. For example, when the hub device 210 is initially registered in the IoT management server 240, the setup manager 242 can send a connection string to the hub device 210, enabling the hub device 210 to be connected to the IoT hub server 250.
[0047] According to various embodiments, module manager 244 can manage multiple pieces of information regarding various modules provided for edge computing services and devices supporting the corresponding services. For example, modules required to perform edge computing services may include device modules 219a and 219b configured to enable hub device 210 to send data sent from leaf device 220 to an external server (e.g., IoT hub server 250), and service module 218 including a program executed based on data sent from leaf device 220 to implement services in hub device 210.
[0048] According to various embodiments, the edge leaf manager 246 can manage the connection status between hub devices 210 and leaf devices 220 existing in various home networks. For example, when hub devices 210 and leaf devices 220 registered in IoT management server 240 are connected or disconnected from each other, hub devices 210 and / or leaf devices 220 can send connection or disconnection information to IoT management server 240, and IoT management server 240 can store information in real time about which hub devices 210 and leaf devices 220 are connected, or what services are being performed.
[0049] According to various embodiments, it is assumed that the leaf device 220 is connected to a specific edge device (e.g., Figure 1 The tablet PC111 in the middle performs edge computing services, disconnects from the edge device according to a switching event, and connects to another edge device (e.g., Figure 1 The TV 112 in the middle) and performs edge computing services, and the IoT management server 240 can update information about the connection between the hub device 210 and the leaf device 220 changed by the switching event.
[0050] According to various embodiments, the IoT hub server 250 may support a cloud computing platform and provide the data required to interconnect leaf device 220 and hub device 210 in a cloud environment. The IoT hub server 250 may include an IoT hub 252 and a module registry 254.
[0051] According to various embodiments, the module registry 254 may be a storage point for modules (e.g., device module 219, service module 218) required to perform edge computing services.
[0052] According to various embodiments, IoT hub 252 can maintain a connection to hub device 210, provide hub device 210 with modules stored in module registry 254, and maintain information about modules installed in multiple hub devices 210.
[0053] According to various embodiments, hub device 210 (e.g., Figure 1 The edge device 110 may have device-specific functions (such as a TV, tablet PC, or laptop PC) and may include hardware and / or software components (e.g., edge runtime and / or default modules) for edge computing services. Edge computing services may be performed, at least partially, simultaneously with the performance of the device-specific functions or during idle periods when the device-specific functions are not being performed, via hardware and / or software resources.
[0054] According to various embodiments, hub device 210 may include an interface 212 for communicating with the cloud (e.g., IoT management server 240 or IoT hub server 250), an operating system (OS) 214, an edge runtime 216, a service module 218, and a device module 219. For example, hub device 210 may include hardware conditions (e.g., CPU performance) for operating OS 214 and may be configured as a real-time operating system (RTOS).
[0055] Edge runtime 216 and default modules for edge computing can be installed in hub device 210 via software upgrades or processing. For example, edge runtime 216 may include a daemon for interacting with an IoT server, and default modules may be configured as containers for programs required to communicate with the IoT server. For example, default modules may be containers installed in the environment of edge runtime 216.
[0056] According to various embodiments, when connected to a specific leaf device 220, hub device 210 may receive and install at least one module for performing edge computing services from IoT hub server 250. For example, at least one module may be determined based on the type of leaf device 220 and / or the type of service that can be performed, and may include device module 219 corresponding to the leaf device 220 and / or service module 218 corresponding to the type of service to be performed. When hub device 210 is connected to multiple leaf devices 220, device modules 219 corresponding to each leaf device 220 (e.g., first device module 219a and second device module 219b) may be installed. Hub device 210 may execute edge runtime 216 during setup processing to be connected to IoT hub server 250, and may additionally install and execute at least one module depending on the type of leaf device 220. Hub device 210 may activate or deactivate edge mode according to commands received from IoT hub server 250 or IoT management server 240. When the edge mode is deactivated, hub device 210 may only perform specific functions (e.g., TV image output function) and may not perform device module 219 and service module 218.
[0057] According to various embodiments, the leaf device 220 (e.g., Figure 1 Leaf device 120 can transmit data acquired using sensors to hub device 210 or cloud network (e.g., IoT management server 240 and / or IoT hub server 250) connected thereto. For example, an Internet Protocol (IP) camera operating as leaf device 220 can connect to hub device 210 and transmit video streams to hub device 210.
[0058] According to various embodiments, user device 230 may be a device (such as a smartphone or tablet PC) capable of executing various applications and including a display capable of displaying a user interface (UI). User device 230 may install and / or execute applications for edge computing services, and may receive content and notifications generated by leaf device 220 through the applications. When hub device 210 is connected to leaf device 220, content or notifications generated by leaf device 220 may be sent to user device 230 through hub device 210.
[0059] According to various embodiments, the functions of the IoT hub server 250 and the IoT management server 240 can be handled by a single server device (e.g., Figure 2b The IoT server 260 in the middle is executed. For example, refer to... Figure 2b The IoT server 260 may include an IoT hub 261 (e.g., Figure 2a IoT 252), module registry 262 (e.g., Figure 2aModule Registry 254), Settings Manager 263 (for example, Figure 2a Settings Manager 242), Module Manager 264 (e.g., Figure 2a Module manager 244) and edge leaf manager 265 (e.g., Figure 2a The edge leaf managers (246) in the IoT hub server 250 and the IoT management server 240 are the components mentioned above.
[0060] Optionally, the above functions can be performed by multiple (three or more) server devices. For example, Figure 2a The various components of the IoT hub server 250 and IoT management server 240 can be configured in a distributed manner by multiple (three or more) server devices, and some operations performed by the various components can be performed in a distributed manner by the multiple server devices.
[0061] Figure 3 It is a block diagram of an IoT device and / or user device according to various embodiments.
[0062] As mentioned above, the same device can be used in IoT systems (e.g., Figure 1 In the IoT system 100, as an IoT device (e.g., Figure 1 The hub device 110 or leaf device 120 in the middle) operates and can be used as a user device (e.g., Figure 1 The user device 130) operates. In the following, the components and / or functions of the electronic device 301, which can operate as an IoT device and / or user device, will be referred to... Figure 3 It is described in detail.
[0063] Figure 3 This is a block diagram illustrating an electronic device 301 in a network environment 300 according to various embodiments. (Refer to...) Figure 3In network environment 300, electronic device 301 can communicate with electronic device 302 via a first network 398 (e.g., a short-range wireless communication network), or with electronic device 304 or server 308 via a second network 399 (e.g., a long-range wireless communication network). According to an embodiment, electronic device 301 can communicate with electronic device 304 via server 308. According to an embodiment, electronic device 301 may include a processor 320, memory 330, input device 350, sound output device 355, display module 360, audio module 370, sensor module 376, interface 377, haptic module 379, camera module 380, power management module 388, battery 389, communication module 390, user identification module (SIM) 396, or antenna module 397. In some embodiments, at least one of the above components (e.g., display module 360 or camera module 380) may be omitted from electronic device 301, or one or more other components may be added to electronic device 301. In some embodiments, some of the components described above may be implemented as a single integrated circuit. For example, sensor module 376 (e.g., fingerprint sensor, iris sensor, or illuminance sensor) may be implemented as embedded in display module 360 (e.g., display).
[0064] Processor 320 may run software (e.g., program 340) to control at least one other component (e.g., hardware or software component) of electronic device 301 connected to processor 320, and may perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, processor 320 may load commands or data received from another component (e.g., sensor module 376 or communication module 390) into volatile memory 332, process the commands or data stored in volatile memory 332, and store the resulting data in non-volatile memory 334. According to embodiments, processor 320 may include a main processor 321 (e.g., central processing unit (CPU) or application processor (AP)) and an auxiliary processor 323 (e.g., graphics processing unit (GPU), image signal processor (ISP), sensor hub processor, or communication processor (CP)) that is operationally independent of or combined with the main processor 321. Additionally or alternatively, auxiliary processor 323 may be adapted to consume less power than main processor 321, or adapted to be dedicated to a specific function. The auxiliary processor 323 can be implemented separately from the main processor 321, or it can be implemented as part of the main processor 321.
[0065] When the main processor 321 is inactive (e.g., in sleep mode), the auxiliary processor 323 (rather than the main processor 321) can control at least some of the functions or states associated with at least one component of the electronic device 301 (e.g., display module 360, sensor module 376, or communication module 390). Alternatively, when the main processor 321 is active (e.g., running an application), the auxiliary processor 323 can work with the main processor 321 to control at least some of the functions or states associated with at least one component of the electronic device 301 (e.g., display module 360, sensor module 376, or communication module 390). According to embodiments, the auxiliary processor 323 (e.g., an image signal processor or a communication processor) can be implemented as part of another component (e.g., camera module 380 or communication module 390) functionally associated with the auxiliary processor 323.
[0066] The memory 330 may store various data used by at least one component of the electronic device 301 (e.g., processor 320 or sensor module 376). The various data may include, for example, software (e.g., program 340) and input or output data for commands associated with it. The memory 330 may include volatile memory 332 or non-volatile memory 334.
[0067] The program 340 may be stored as software in the memory 330, and the program 340 may include, for example, an operating system (OS) 342, middleware 344, or application 346.
[0068] The input module 350 can receive commands or data from outside the electronic device 301 (e.g., a user) that will be used by other components of the electronic device 301 (e.g., processor 320). The input module 350 may include, for example, a microphone, mouse, or keyboard.
[0069] The sound output module 355 can output sound signals to the outside of the electronic device 301. The sound output module 355 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or playing records. And the receiver can be used for incoming calls. According to an embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0070] Display module 360 can visually provide information to the outside of electronic device 301 (e.g., to a user). Display device 360 may include, for example, a display, a holographic device, or a projector, and control circuitry for controlling a respective one of the display, holographic device, and projector. According to an embodiment, display module 360 may include touch circuitry adapted to detect touch or sensor circuitry (e.g., a pressure sensor) adapted to measure the intensity of the force caused by touch.
[0071] The audio module 370 can convert sound into electrical signals and vice versa. According to an embodiment, the audio module 370 can obtain sound via the input module 350, or output sound via the sound output module 355 or headphones of an external electronic device (e.g., electronic device 302) that is directly (e.g., wired) or wirelessly connected to the electronic device 301.
[0072] Sensor module 376 can detect the operating state of electronic device 301 (e.g., power or temperature) or the environmental state outside electronic device 301 (e.g., user state), and then generate an electrical signal or data value corresponding to the detected state. According to embodiments, sensor module 376 may include, for example, a gesture sensor, gyroscope sensor, atmospheric pressure sensor, magnetic sensor, accelerometer, grip sensor, proximity sensor, color sensor, infrared (IR) sensor, biometric sensor, temperature sensor, humidity sensor, or illuminance sensor.
[0073] Interface 377 may support one or more specific protocols used to enable electronic device 301 to connect directly (e.g., wired) or wirelessly to external electronic device (e.g., electronic device 302). According to embodiments, interface 377 may include, for example, a High Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital Card (SD) interface, or an audio interface.
[0074] Connection end 378 may include a connector, through which electronic device 301 can be physically connected to an external electronic device (e.g., electronic device 302). According to embodiments, connection end 378 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0075] The haptic module 379 can convert electrical signals into mechanical stimulation (e.g., vibration or motion) or electrical stimulation that can be recognized by a user through his touch or kinesthesia. According to an embodiment, the haptic module 379 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0076] Camera module 380 can capture still or moving images. According to an embodiment, camera module 380 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0077] The power management module 388 manages the power supply to the electronic device 301. According to an embodiment, the power management module 388 may be implemented as at least part of, for example, a power management integrated circuit (PMIC).
[0078] Battery 389 can power at least one component of electronic device 301. According to an embodiment, battery 389 may include, for example, a non-rechargeable primary battery, a rechargeable rechargeable battery, or a fuel cell.
[0079] Communication module 390 can support the establishment of a direct (e.g., wired) or wireless communication channel between electronic device 301 and external electronic devices (e.g., electronic device 302, electronic device 304, or server 308), and perform communication via the established communication channel. Communication module 390 may include one or more communication processors capable of operating independently of processor 320 (e.g., application processor (AP)) and support direct (e.g., wired) or wireless communication. According to embodiments, communication module 390 may include wireless communication module 392 (e.g., cellular communication module, short-range wireless communication module, or Global Navigation Satellite System (GNSS) communication module) or wired communication module 394 (e.g., local area network (LAN) communication module or power line communication (PLC) module). One of these communication modules can communicate with an external electronic device via a first network 398 (e.g., a short-range communication network such as Bluetooth, Wi-Fi Direct, or Infrared Data Association (IrDA)) or a second network 399 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip) or as multiple components (e.g., multiple chips) that are separate from each other. The wireless communication module 392 can identify and verify the electronic device 301 in the communication network (such as the first network 398 or the second network 399) using user information (e.g., the International Mobile Subscriber Identity (IMSI)) stored in the user identification module 396.
[0080] Wireless communication module 392 can support 5G networks and next-generation communication technologies beyond 4G networks, such as New Radio (NR) access technologies. NR access technologies can support high-speed transmission of large amounts of data (enhanced mobile broadband (eMBB)), terminal power minimization and multi-terminal access (massive machine-type communication (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communication (URLLC)). For example, wireless communication module 392 can support high-frequency bands (e.g., millimeter-wave bands) to achieve high data transmission rates. Wireless communication module 392 can support various technologies used to ensure performance in high-frequency bands, such as beamforming, massive MIMO, full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. Wireless communication module 392 can support various requirements specified in electronic device 301, external electronic devices (e.g., electronic device 304), or network systems (e.g., second network 399). According to an embodiment, the wireless communication module 392 may support peak data rates (e.g., 30 Gbps or higher) for eMBB implementation, lost coverage (e.g., 163 dB or less) for mMTC implementation, or U-plane delay (e.g., 0.5 ms or less for each of DL and UL, or 1 ms or less for round trip) for URLLC implementation.
[0081] Antenna module 397 can transmit or receive signals or power to or from the outside of electronic device 301 (e.g., external electronic device). According to an embodiment, antenna module 397 may include one or more antennas, and thus, at least one antenna suitable for a communication scheme used in a communication network (such as a first network 398 or a second network 399) can be selected by, for example, communication module 390 (e.g., wireless communication module 392). Signals or power can then be transmitted or received between communication module 390 and external electronic device via the selected at least one antenna.
[0082] According to various embodiments, antenna module 397 may form a millimeter-wave antenna module. According to embodiments, the millimeter-wave antenna module may include a printed circuit board, an RFIC, and multiple antennas (e.g., an array antenna), wherein the RFIC is disposed on or adjacent to a first surface (e.g., a lower surface) of the printed circuit board and is capable of supporting a specified high-frequency band (e.g., a millimeter-wave band), and the multiple antennas are disposed on or adjacent to a second surface (e.g., an upper surface or a side surface) of the printed circuit board and are capable of transmitting or receiving signals in the specified high-frequency band.
[0083] At least some of the aforementioned components can be interconnected and communicate signals (e.g., commands or data) between them via an inter-peripheral communication scheme (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industrial processor interface (MIPI)).
[0084] According to an embodiment, commands or data can be sent or received between electronic device 301 and external electronic device 304 via server 308 connected to the second network 399. Each external electronic device 302 or 304 may be of the same type as or a different type from electronic device 301. According to an embodiment, all or some of the operations performed in electronic device 301 may be performed in one or more of the external electronic devices 302, 304, or 308. For example, when electronic device 301 needs to perform a function or service automatically or in response to a request from a user or another device, electronic device 301 may request one or more external electronic devices to perform at least a portion of the function or service instead of performing the function or service itself, or electronic device 301 may request one or more external electronic devices to perform at least a portion of the function or service in addition to performing the function or service itself. Upon receiving a request, one or more external electronic devices may perform at least a portion of the requested function or service or additional functions or services related to the request, and may transmit the execution result to electronic device 301. Electronic device 301 may provide the result as is or after additional processing as at least part of its response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technologies can be used. For example, electronic device 301 can provide ultra-low latency services by using distributed computing or mobile edge computing. In another embodiment, external electronic device 304 may include an Internet of Things (IoT) device. Server 308 may be an intelligent server using machine learning and / or neural networks. According to embodiments, external electronic device 304 or server 308 may be included in a second network 399. Based on 5G communication technology and IoT-related technologies, electronic device 301 can be applied to smart services (e.g., smartphones, smart cities, smart cars, or healthcare).
[0085] The electronic devices according to the various embodiments disclosed herein can be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. The electronic devices according to embodiments of this disclosure are not limited to those described above.
[0086] Figure 4 This is a block diagram of an IoT device according to various embodiments.
[0087] Reference Figure 4The IoT device 400 may include a communication module 430, a display 440, a sensor 450, a processor 410, and a memory 420. The IoT device 400 may also include... Figure 3 Various embodiments of this disclosure can be implemented even if some of the components and / or functions of the electronic device 301 are omitted or replaced.
[0088] According to various embodiments, the IoT device 400 can be implemented as a device in an IoT system (e.g., Figure 1 IoT device 400 in the context of IoT systems. For example, IoT device 400 may be a hub device in an IoT system (e.g., ...). Figure 1 The flat panel PC 111 or TV 112 in the middle) or its leaf device (e.g., Figure 1 The device 400 may be one of the following: camera 121, refrigerator 122, light bulb 123a, digital thermometer 123b, or motion sensor 123c. Alternatively, the IoT device 400 may be a device (such as a smartphone or tablet PC) that includes various sensors 450 (e.g., camera, illuminance sensor, or microphone) and has at least predetermined processor and / or memory resources. In this case, the IoT device 400 may install and execute applications that support IoT services (e.g., application upgrades), thereby providing IoT services.
[0089] According to various embodiments, the display 440 may be implemented as one of a liquid crystal display (LCD), a light-emitting diode (LED) display, and an organic light-emitting diode (OLED) display for displaying images, and is not limited thereto. The display 440 may be configured as a touchscreen, which is configured to sense touch and / or proximity touch (or hover) input using a part of a user's body (e.g., a finger) or an input device (e.g., a stylus). The display 440 may include... Figure 3 The display module 360 contains at least some of its components and / or functions. At least a portion of the display 440 may be flexible, and the display 440 may be implemented as a foldable display or a rollable display.
[0090] According to various embodiments, the communication module 430 may support wireless communication (e.g., Wi-Fi or cellular communication) and may send / receive data with another device in the IoT system or with a cloud network. The communication module 430 may communicate with another device via an access point (AP) or directly with another device via P2P (e.g., Wi-Fi Direct or Wi-Fi Sensing) communication.
[0091] According to various embodiments, IoT device 400 may include at least one sensor 450. For example, IoT device 400 may include sensor 450 such as a camera, illuminance sensor, motion sensor, or microphone. IoT device 400 may transmit sensor 450 data acquired by sensor 450 to a cloud network and may provide an IoT environment in which another device in a local network is controlled based on the cloud (or edge).
[0092] According to various embodiments, memory 420 may include volatile and non-volatile memory, and may temporarily or permanently store various data used by at least one component of IoT device 400 (e.g., processor 410). Memory 420 may store various instructions executable by processor 410. These instructions may include various control commands recognizable by processor 410, including computational and logical operations, data movement, or input / output.
[0093] According to various embodiments, processor 410 may be configured to perform operations or data processing related to the control and / or communication of various components of IoT device 400, and may be operatively, functionally and / or electrically connected to various components of IoT device 400 (such as sensor 450, display 440, communication module 430 and / or memory 420).
[0094] According to various embodiments, the operational and data processing functions that the processor 410 can implement within the IoT device 400 are not limited thereto, and various embodiments for self-loading will be described below, in which the IoT device 400 is registered in real time in the cloud network without separate prior registration processing. The operations of the processor 410 described below can be executed when instructions stored in the memory 420 are executed.
[0095] According to various embodiments, processor 410 may execute applications that support the loading of IoT device 400. For example, the application may be an application (e.g., an upgrade application) for providing IoT services by using sensors 450 (e.g., cameras, illuminance sensors, motion sensors, or microphones) of electronic devices (such as smartphones or tablet PCs).
[0096] According to various embodiments, processor 410 may acquire authentication information of an electronic device. Authentication information may include a certificate generated by an encryption algorithm based on a public key, such as an X.509 certificate, a public key, and / or a serial number. IoT device 400 may store the generated authentication information in a designated area of memory 420.
[0097] According to one embodiment, the IoT device 400 can use its certificate generation module (e.g., a Samsung verification key) to enable a certificate issuance server operated by the manufacturer of the IoT device 400 to issue authentication information. According to another embodiment, the IoT device 400 can log in to a manufacturer-operated server via an application based on an account, receive a token, and request authentication information from a cloud network based on the received token, thereby enabling the authentication information to be issued.
[0098] According to various embodiments, processor 410 can send authentication information to the cloud network via communication module 430 to register the authentication information of the electronic device. For example, IoT device 400 can send authentication information obtained through a Wi-Fi access point to the access gateway (e.g., a great gate) of the cloud network, and the authentication information can be stored in a device identification server (e.g., device identity).
[0099] According to various embodiments, processor 410 can generate configuration information for an electronic device based on user input via an application. For example, the configuration information may include a device name, location information, and room information. For instance, IoT device 400 may receive a list of locations and a list of rooms from a location server (e.g., a location service) on a cloud network, output information about multiple locations in the location list and multiple rooms in the room list to the application, and select locations and rooms based on user choices. In this case, the location server may provide IoT device 400 with a list of location / room information for other IoT devices registered with the same account as IoT device 400. IoT device 400 may send the configuration information already input to it to the cloud network, where the configuration information is stored.
[0100] According to various embodiments, after authentication information is registered, processor 410 may send configuration information (e.g., location information or room information) and device information (e.g., serial number, MNID, product ID, loading ID, or model name) to the cloud network, and may request the loading of IoT device 400. According to embodiments, processor 410 may request the cloud network's access gateway to provide access information for loading (e.g., Message Queuing Telemetry Transport (MQTT) proxy URL), and may receive access information about the nearest proxy server from the access gateway. Processor 410 can access the cloud network and request loading using the received access information.
[0101] According to various embodiments, the cloud network can perform the loading process of the IoT device 400 based on configuration information, device information, and / or authentication information received from the IoT device 400. The cloud network can verify the IoT device 400 using authentication information sent by the IoT device 400 and pre-registered authentication information, and if verification is successful, it can map the device information, configuration information, and user-selected functions (e.g., trigger events or motion commands) of the IoT device 400 to a device identification server (e.g., device identity) and store them.
[0102] According to various embodiments, once the IoT device 400 has completed loading, it can perform functions selected by the application within the IoT environment. According to one embodiment, the IoT device 400 can capture peripheral images using a camera and transmit them to a cloud network. The cloud network can then stream the images used by the IoT device 400 to a user device of a corresponding user in a real-time streaming manner, allowing the indoor images to be recognized on the user device. According to another embodiment, the IoT device 400 can use a sensor 450 (e.g., an illuminance sensor) to sense peripheral illuminance and transmit it to the cloud network, and the cloud network can send commands to perform functions mapped to illuminance values (e.g., turn on the light bulb) for another IoT device (e.g., a light bulb) mapped to the local network of the IoT device 400.
[0103] Figure 5 This is a flowchart of an IoT device loading method according to an embodiment.
[0104] Figure 5 Show IoT devices (e.g., Figure 4 The manufacturer of the IoT device (400) registers the device information and authentication information of the IoT device in advance in the cloud network, and connects to the user device in soft AP mode (e.g., Figure 1 An embodiment in which a user device 130 in the cloud network is used to send a loading request to the cloud network.
[0105] According to an embodiment, in operation 510, the manufacturer of the IoT device can register the certification information and device information of the IoT device in a cloud network. For example, during the manufacturing process of the IoT device, the manufacturer can register the certification information and device information of the IoT device through a development workspace provided by the cloud network. The development workspace can be an online environment in which the cloud network provides services related to the certification and registration of IoT devices.
[0106] IoT device manufacturers can access a development workspace through their accounts, register device information for their IoT devices (e.g., device type, profile information), and register certification information (such as ED25519, X.509). Additionally, IoT device manufacturers can use the software development kit (SDK) for their IoT devices to update devices and load configuration information, and can store (or flash-flash) multiple software programs required for cloud services.
[0107] After that, users who purchase IoT devices can load the IoT devices into the cloud network.
[0108] According to an embodiment, in operation 520, the IoT device can obtain credential information from the user device. In this case, the IoT device can operate in soft AP mode to establish a Wi-Fi connection with the user device. The credential information obtained by the IoT device from the user device may include Wi-Fi setting information, cloud setting information, and device configuration setting information. For example, the Wi-Fi setting information may include the SSID and password of the access point to be accessed stored in the user device, the cloud setting information may include the proxy URL and authentication information to be accessed obtained by the user device from the cloud network, and the device configuration setting information may include additional information entered by the user device (such as location, language, country code, time zone, model name, or device name).
[0109] According to an embodiment, in operation 530, the IoT device can access the cloud network and request loading based on credential information received from the user device.
[0110] exist Figure 5 In the embodiments described above, the IoT device does not provide functionality for inputting device configuration information (such as location or device name), and the corresponding information may need to be input through a user device. Therefore, the IoT device can enter a soft AP mode, and the user device can access the soft AP and provide device configuration settings and cloud settings information. Optionally, the IoT device can enter a discoverable mode via Bluetooth (or Bluetooth Low Energy) advertising and can select neighboring user devices for configuration processing.
[0111] Such a solution may have stability issues, as user devices need to release existing Wi-Fi connections with other devices, and there may be an increased likelihood of loading failures during the information exchange process between IoT devices and user devices.
[0112] In the following text, various embodiments enabling IoT devices to load themselves into a cloud network without connecting to a user device will be referred to. Figures 6 to 14 Described.
[0113] Figure 6 This is a flowchart of an IoT device loading method according to various embodiments.
[0114] According to various embodiments, in operation 610, the IoT device (e.g., Figure 4 The IoT device 400 can generate authentication information. For example, the authentication information may include a certificate generated by an encryption algorithm based on a public key, such as an X.509 certificate, a public key, and / or a serial number. The IoT device may store the generated authentication information in a designated area of its memory.
[0115] According to an embodiment, an IoT device can use its certificate generation module (e.g., a Samsung verification key) to enable a certificate issuance server operated by the IoT device manufacturer to issue authentication information. This embodiment will refer to... Figure 7 It is described in more detail.
[0116] According to another embodiment, an IoT device can log in to a server operated by the manufacturer based on an account via an application (e.g., an update application), receive a token, and request authentication information from a cloud network based on the received token, thereby enabling the authentication information to be published. This embodiment will be referred to... Figure 8 It is described in more detail.
[0117] According to various embodiments, in operation 620, the IoT device can register authentication information in the cloud network in real time. For example, the IoT device can send authentication information obtained through a Wi-Fi access point to an access gateway (e.g., a gate) of the cloud network. For example, the access gateway can be a server device or service module for receiving connection and / or device events from various devices on the local network within the cloud network. In this embodiment, the IoT device can operate in soft AP mode and send authentication information directly to the cloud network without connecting to a user device.
[0118] According to various embodiments, in operation 630, the cloud network can verify authentication information sent by the IoT device. For example, the authentication information can be sent to an access gateway (e.g., a gate) of the cloud network, and the access gateway can request a device identification server (e.g., device identity) to verify the authentication information. If the authentication information is verified by the device identification server, the authentication information and device information of the IoT device can be mapped and stored in the device identification server.
[0119] According to various embodiments, in operation 640, the IoT device can input configuration information based on user input via an application. For example, the configuration information may include the device name, location information, and room information. For instance, the IoT device may receive a list of locations and a list of rooms from a location server (e.g., a location service) on a cloud network, output information about multiple locations on the location list and multiple rooms on the room list to the application, and select a location and room based on the user's choice. In this case, the location server may provide the IoT device with a list of location / room information of other IoT devices registered with the same account as the IoT device. The IoT device may send the configuration information already input to it to the cloud network, so that the configuration information is stored in the cloud network.
[0120] According to various embodiments, in operation 650, the cloud network may perform IoT device loading processing based on configuration information, device information, and / or authentication information received from the IoT device. According to embodiments, the IoT device's application may request access information (e.g., a Message Queuing Telemetry Transport (MQTT) broker URL) from the cloud network's access gateway and may receive access information about the nearest broker server from the access gateway. The IoT device can then access the cloud network via the access information and undergo authentication processing to complete the loading process.
[0121] Once the IoT device is loaded, it can operate as a hub device or leaf device in the local network, depending on the function selected by the application.
[0122] Figure 7 A method for an IoT device to obtain authentication information according to an embodiment is shown.
[0123] According to an embodiment, an IoT device can use a certificate generation module to enable a certificate publishing server 770 to publish authentication information and send the published authentication information to a cloud network to request registration of the authentication information.
[0124] According to various embodiments, in operation 701, an application of user device 130 (e.g., a SmartThings application) can register authentication information in a cloud network via manager server 775. For example, manager server 775 may be a server device operated by the manufacturer of user device 130 and may store authentication information required to provide cloud services to user device.
[0125] According to various embodiments, in operation 702, an application 712 of the IoT device (e.g., an application upgrade) may request authentication information from a certificate issuance server 770 (e.g., a keystore). For example, the certificate issuance server 770 may be a certificate issuance server operated by the IoT device manufacturer, and the IoT device may use a certificate generation module (e.g., a Samsung Proof Key) to have the authentication information published. According to embodiments, the authentication information may be a leaf certificate or an end-entity certificate, and may be generated by an encryption algorithm based on a public key (such as an X.509 certificate).
[0126] According to various embodiments, in operation 703, certificate issuing server 770 may issue a certificate upon request from an IoT device.
[0127] According to various embodiments, in operation 704, the application 712 of the IoT device can register the published authentication information in the cloud network through the access gateway 752 (e.g., a gate).
[0128] According to various embodiments, in operation 705, access gateway 752 may update the authentication information sent by the IoT device to authentication server 758. In operation 706, authentication server 758 may register the authentication information of the IoT device in device identification server 754.
[0129] According to various embodiments, if the process for loading the IoT device continues after the authentication information is registered, then in operation 707, mutual authentication processing between the IoT device's authentication information and the authentication information registered in the cloud network can be performed. For example, mutual authentication processing can be performed based on an X.509 certificate. In operation 708, the access gateway 752 and the device identification server 754 can verify the IoT device's serial number, and the device information in the device identification server 754 can be revoked.
[0130] According to various embodiments, upon completion of loading the IoT device into the cloud network, in operation 709, the IoT device can be controlled via user device 130. For example, the IoT device can be configured (such as device on / off or event / command registration) based on user input in application 712 (e.g., SmartThings application 712), and data acquired from the IoT device's sensors (e.g., camera) can be provided.
[0131] In this embodiment, since a certificate issuance service operated by the manufacturer is used, a separate cloud system does not need to be operated to issue certificates, and authentication information can be stored and managed in a secure keystore. Furthermore, when an IoT device's application 712 (e.g., an upgrade application) is deleted and then reinstalled, unique information can be retained via the IoT device's serial number and IMEI. Even if multiple applications 712 exist, unique information and application 712 IDs are combined to generate various unique information about the same device, and this unique information can be registered based on it, thereby supporting the device's uniqueness regarding multiple applications 712 of the same style.
[0132] Figure 8 A method for an IoT device to obtain authentication information according to an embodiment is shown.
[0133] According to various embodiments, an IoT device can log in via an application 812 (e.g., an upgrade application) based on an account to receive a token, can request authentication information from a cloud network based on the received token, and can receive authentication information published by the cloud network.
[0134] According to various embodiments, in operation 801, the manager server 875 may register the root CA in the authentication server 858 of the cloud network.
[0135] According to various embodiments, in operation 802, access gateway 852 may update the root CA in authentication server 858.
[0136] According to various embodiments, in operation 803, the IoT device can log in to an account server 870 operated by the IoT device's manufacturer (e.g., a Samsung account) based on the account of application 812 (e.g., an upgrade application) and can obtain a token.
[0137] According to various embodiments, in operation 804, the application 812 of the IoT device may register with the authentication server 858 based on an authentication information request.
[0138] For example, an IoT device can send a token obtained from an account server 870 to an authentication server 858, and the authentication server can authenticate the IoT device based on the token. For example, the authentication information can be a leaf certificate or an end entity certificate, and can be an X.509 certificate.
[0139] According to various embodiments, in operation 805, authentication server 858 can verify the validity of a token by comparing a token exposed by account server 870 with a token sent by an IoT device.
[0140] According to various embodiments, if the validity of the token is verified, in operation 806, the authentication server 858 may register authentication information in the device identification server 854, and in operation 807, the authentication server 858 may publish the authentication information to the IoT device.
[0141] According to various embodiments, if the process for loading the IoT device continues after the authentication information is registered, then in operation 808, the mutual authentication process between the IoT device's authentication information and the authentication information registered in the cloud network (e.g., access gateway 852) can be performed. In operation 809, access gateway 852 and device identification server 854 can verify the IoT device's serial number, and device information in device identification server 854 can be revoked.
[0142] According to various embodiments, upon completion of loading the IoT device into the cloud network, during operation 810, the IoT device can be controlled via user device 830. For example, the IoT device can be configured (such as device on / off or event / command registration) based on user input in application 812 (e.g., SmartThings application 812), and data acquired from the IoT device's sensors (e.g., camera) can be provided.
[0143] In this embodiment, authentication keys can be issued by the cloud network's authentication server 858 based on accounts, enabling the management of certificates issued for each account. Furthermore, IoT devices do not require a certificate generation module for issuing individual certificates.
[0144] Figure 9 This illustrates the process of registering IoT device information with manufacturers according to various embodiments.
[0145] According to various embodiments, the manufacturer 902 of the IoT device 910 can register the information required to load the IoT device 910 through a developer workspace 968 provided by a cloud network. For example, in operation 972, a vendor account (e.g., MNID) can be generated; in operation 974, device profile information can be generated; and in operation 976, device loading information can be generated.
[0146] According to various embodiments, even if the manufacturer 902 of the IoT device 910 does not pre-register the information required to load the IoT device 910 through the developer workspace 968, the IoT device 910 can generate authentication information itself by using an application and register the authentication information in the cloud network.
[0147] According to various embodiments, in operation 978, a user 904 who purchases IoT device 910 may install an application that supports the IoT device (e.g., upgrade the application) on IoT device 910. For example, the application may be used to provide IoT services by using sensors (e.g., cameras, illuminance sensors, or microphones) of indirectly obtained electronic devices (e.g., smartphones or tablet PCs).
[0148] In operation 980, IoT device 910 can execute an application. In operation 982, user 904 can log in by entering their account information through the application. In operation 984, user 904 can agree to a security policy, thereby initiating the loading process in the cloud network to provide IoT services through IoT device 910.
[0149] Figure 10 The process of registering IoT device authentication information according to various embodiments is illustrated in order to load IoT devices.
[0150] Figure 10 This embodiment involves an IoT device 1010 registering authentication information issued by a certificate issuing server via a certificate generation module (e.g., a Samsung verification key) in an IoT server. Figure 10 In this context, the access gateway 1052 (or gate), the authentication server 1058 (or certificate), and the device identification server 1054 (or device identity) can each be implemented as a server device in the cloud network.
[0151] In the following text, operations 1072 to 1088 relate to the process of IoT device 1010 generating authentication information, and operations 1090 to 1099 relate to the process of the subsequently generated authentication information being registered in a cloud network.
[0152] According to various embodiments, in operation 1072, the application of IoT device 1010 (e.g., an upgrade application) may request access gateway 1052 to provide a random number in order to register authentication information. For example, IoT device 1010 may compose and send an MQTT protocol, device information, authentication information (e.g., Samsung verification key), and / or a random number request via an HTTP POST request. For example, the authentication information may be a certificate issued by a certificate publishing server via a certificate generation module (e.g., Samsung verification key).
[0153] According to various embodiments, in operation 1074, access gateway 1052 may request authentication server 1058 to provide a random number, and in operation 1076, authentication server 1058 may generate a random number. In operation 1078, authentication server 1058 may provide the generated random number to access gateway 1052, and in operation 1080, access gateway 1052 may provide the random number to IoT device 1010 in response.
[0154] According to various embodiments, in operation 1082, the IoT device 1010 may acquire an authentication object (e.g., a binary large object (blob)) including a random number. In operation 1084, the IoT device 1010 may generate a key pair including a random number. For example, the generated key pair may include a public key (mPubKey) and a private key (mPrivKey), and the authentication object may include device authentication information (proof certificate) and application authentication information (application certificate) including the random number and the public key. In operation 1086, the IoT device 1010 may verify and / or store the generated authentication object.
[0155] According to various embodiments, in operation 1088, IoT device 1010 may generate device information for registration in a cloud network. For example, the device information may include a serial number, MNID, product ID, load ID, and / or model name.
[0156] Based on the above processing, device information and authentication information for loading IoT device 1010 can be generated.
[0157] According to various embodiments, in operation 1090, IoT device 1010 may send the generated authentication object and device information to access gateway 1052 to register IoT device 1010. Table 1 shows an example of an HTTP message sent to access gateway 1052 when IoT device 1010 requests loading.
[0158] [Table 1]
[0159]
[0160] According to various embodiments, in operation 1092, access gateway 1052 may transmit the authentication object to authentication server 1058; in operation 1093, authentication server 1058 may verify the transmitted authentication object; and in operation 1094, authentication server 1058 may transmit the authentication result to access gateway 1052. In operation 1096, access gateway 1052 may obtain application authentication information (application certificate) through authentication object validity verification. According to various embodiments, if authentication of IoT device 1010 is completed, in operation 1097, access gateway 1052 may request device identification server 1054 to register (or generate) device information. Table 2 shows examples of messages sent by access gateway 1052 to request device registration.
[0161] [Table 2]
[0162]
[0163] According to various embodiments, if the information of IoT device 1010 is registered in device identification server 1054, then in operation 1098, device identification server 1054 can transmit information indicating successful registration to access gateway 1052, and in operation 1099, access gateway 1052 can send information indicating successful registration to IoT device 1010. Figure 11 The process of registering IoT device authentication information according to various embodiments is illustrated in order to load IoT devices.
[0164] Figure 11 This embodiment involves an IoT device 1010 receiving authentication information issued by an authentication server 1158 on a cloud network based on an account. Figure 11 In this context, the authentication server 1158 (or proof), the device identification server 1154 (or device identity), and the account server 1164 can each be implemented as server devices in the cloud network.
[0165] According to various embodiments, in operation 1172, IoT device 1110 may request authentication server 1158 to generate authentication information. For example, IoT device 1110 may publish external certificates, SA token authentication, and device information (e.g., MNID, product ID, loading ID, and / or model name) to authentication server 1158. According to embodiments, IoT device 1110 may log in to account server 1164 operated by the manufacturer of IoT device 1110 based on an application account, obtain a token, and send it to authentication server 1158 when requesting the generation of authentication information.
[0166] According to various embodiments, in operation 1174, authentication server 1158 may request account server 1164 to verify the SA token. In operation 1176, if the SA token is successfully verified, account server 1164 may respond to authentication server 1158.
[0167] According to various embodiments, in operation 1178, authentication server 1158 may generate authentication information, and in operation 1180, authentication server 1158 may generate a key pair including a random number. For example, the generated key pair may include a public key (mPubKey) and a private key (mPrivKey), and the authentication object may include device authentication information (proof certificate) and application authentication information (application certificate) including the random number and the public key. In operation 1182, authentication server 1158 may store the generated authentication object.
[0168] According to various embodiments, in operation 1184, authentication server 1158 may generate device information for IoT device 1110 to register in the cloud network. For example, device information may include a serial number, MNID, product ID, loading ID, and / or model name. In operation 1186, authentication server 1158 may request device identification server 1154 to register (or generate) IoT device 1110. Authentication server 1158 may send a message (e.g., the message in Table 2 above) to device identification server 1154 to request device registration.
[0169] According to various embodiments, when the information of IoT device 1110 is registered in device identification server 1154, in operation 1188, device identification server 1154 can transmit information indicating successful registration to authentication server 1158, and in operation 1190, authentication server 1158 can send information indicating successful registration to IoT device 1110.
[0170] Figure 12 The process of obtaining a proxy URL to load an IoT device is illustrated according to various embodiments.
[0171] Figure 12 The diagram illustrates the process where the authentication information of IoT device 1210 is registered in a cloud network, multiple pieces of additional information for loading are received as input, and the required proxy URL for loading is obtained. According to various embodiments, IoT device 1210 can input configuration information (e.g., location information and / or room information) via an application based on user input.
[0172] According to various embodiments, in operation 1272, IoT device 1210 may request a list of location information from location server 1258 of the cloud network, and in operation 1274, may receive the list of location information from location server 1258. For example, the list of location information may include information about the locations of other IoT devices registered with the same account as IoT device 1210.
[0173] According to various embodiments, in operation 1276, IoT device 1210 may request a list of room information from location server 1258 of the cloud network, and in operation 1278, may receive the list of room information from location server 1258. For example, the list of room information may include information about rooms where other IoT devices registered with the same account as IoT device 1210 are installed.
[0174] According to various embodiments, IoT device 1210 can provide the application with a list of received location information and a list of room information, and can receive information about the location and room where the corresponding IoT device 1210 is installed based on user input.
[0175] According to various embodiments, in operation 1280, IoT device 1210 may request access gateway 1252 to provide access information for loading. For example, the access information may include a Message Queuing Telemetry Transport (MQTT) broker URL. For example, IoT device 1210 may send a message including the MQTT, broker, and input location ID to access gateway 1252 as an HTTP GET request. In operation 1282, IoT device 1210 may receive access information from access gateway 1252 regarding the nearest broker server.
[0176] Figure 13 The loading process for an IoT device is illustrated according to various embodiments.
[0177] According to various embodiments, in operation 1372, IoT device 1310 may be connected to access gateway 1352. In this case, IoT device 1310 may be connected to access gateway 1352 using one-way transport layer security (TLS). IoT device 1310 may register its information in a cloud network using a device SDK. For example, the device SDK may be an SDK for registering IoT devices in a cloud network (e.g., a SmartThings platform). According to embodiments, IoT device 1310 may attempt to access access gateway 1352 by using a serial number as a user ID and using a JavaScript object representation (JSON) network token (JWT) or a concise binary object representation (CBOR) network token (CWT) signed with a secret key as a password.
[0178] According to various embodiments, in operation 1374, access gateway 1352 may request device identification server 1354 to authenticate the JWT and / or CWT received from IoT device 1310. In operation 1376, after authenticating the JWT and / or CWT, device identification server 1354 may return information to access gateway 1352 regarding whether access is permitted.
[0179] According to various embodiments, if access is permitted, in operation 1378, access gateway 1352 may send a connection success replay to IoT device 1310.
[0180] According to various embodiments, in operation 1380, IoT device 1310 may subscribe to topics for registering IoT device 1310 from access gateway 1352. For example, IoT device 1310 may subscribe to load the required serial number. Access gateway 1352 may act as a proxy for the MQTT protocol.
[0181] According to various embodiments, in operation 1382, IoT device 1310 may expose a subject for its device ID to access gateway 1352. For example, IoT device 1310 may expose a subject including MNID, VID, device type, DIP key set, and lookup ID.
[0182] According to various embodiments, in operation 1384, access gateway 1352 can generate new device information in cloud service 1362 using the Gizmo API. In operation 1390, upon completion of device information generation, cloud service 1362 can return a success message to access gateway 1352. The device information disclosed by IoT device 1310 can be transmitted to Gizmo, Dove, Pooch, or OCF routes of cloud service 1362, and can be transmitted to applications on user devices (e.g., SmartThings applications).
[0183] Figure 14 The loading completion process of an IoT device is illustrated according to various embodiments.
[0184] According to various embodiments, in operation 1472, cloud service 1462 can send device information of IoT device 1410 to user device 1430. In operation 1474, user device 1430 can generate a device card for IoT device 1410 in an application. For example, the device card can be generated for each loaded IoT device 1410 and may include identification information, sensing data, and / or commands, or on / off control menus for the corresponding IoT device 1410.
[0185] According to various embodiments, in operation 1476, access gateway 1452 may transmit registration data to IoT device 1410. For example, access gateway 1452 may transmit the registered device ID, location ID, and / or DIP key set to IoT device 1410. In operation 1478, IoT device 1410 may store the transmitted device ID, location ID, and / or DIP key set in its memory.
[0186] Figure 15 The application screens of IoT devices according to various embodiments are shown.
[0187] According to various embodiments, IoT device 1500 (e.g., Figure 4 The IoT device 400 can install and execute applications that support IoT services (e.g., application upgrades), thereby providing IoT services. The IoT device 1500 can search for and download applications from online stores and can execute applications according to the user's selection.
[0188] According to various embodiments, the application may provide a UI that allows selection of IoT functions to be performed using the IoT device 1500. For example, the application may provide a list of functions available using the sensors of the IoT device 1500 (such as virtual search function 1511, universal remote controller function 1512, and camera upgrade function 1513), and may receive user selections. The application may then provide a login screen 1520, whereby the user can log in with his / her account. The cloud network may manage device information and / or authentication information for at least one IoT device 1500 for each account.
[0189] According to various embodiments, the application may provide a UI that allows configuration information to be entered. For example, the UI may include a menu 1531 for entering the name of the corresponding IoT device 1500, a menu 1532 for entering the location, and a menu 1533 for entering the room. According to embodiments, the application may receive a list of location information and a list of room information configured by another IoT device pre-registered through a user account from a cloud network, and allow the user to select one from the list.
[0190] According to various embodiments, once the user completes the configuration information input, loading into the cloud network can proceed. During the loading process, the IoT device 1500 can provide a predetermined loading screen 1540. (See above for reference.) Figures 6 to 14 The process of loading IoT device 1500 is described.
[0191] According to various embodiments, after the IoT device 1500 has completed loading, it can perform IoT functions selected by the user. For example, when the upgraded camera function is selected, the IoT device 1500 can use its camera to capture a peripheral image 1550 and send it to a cloud network. The cloud network can then send the image used by the IoT device 1500 to the corresponding user's device in real time, making the image 1550 recognizable on the user's device.
[0192] Figure 16 The application screen of a user device is shown according to various embodiments.
[0193] According to various embodiments, the user device (e.g., Figure 1 User device 130 in the network can display various IoT devices (e.g., on the local network) Figure 1 The UI items 1621, 1622, 1623, and 1630 correspond to the hub device 110 and leaf device 120 in the application. For example, the user device may display the AV soundbar UI item 1621, TV UI item 1622, light bulb UI item 1623, and set-top box remote control item 1630 on the application. Each UI item may include an image indicating the device, the name of the device, information indicating the operating status of the device (e.g., on / off, available / unavailable, or open / closed), and / or buttons for changing the operating status of the device.
[0194] According to various embodiments, when a new IoT device is loaded, its device information can be sent from the cloud network. The user device's application can then add UI items corresponding to the IoT device based on the received device information.
[0195] An electronic device (e.g., electronic device 400) according to various embodiments may include: a communication module (e.g., communication module 430), a memory (e.g., memory 420), and a processor (e.g., processor 410) operatively connected to the communication module 430 and the memory 420. The processor 410 may be configured to execute an application (e.g., application 712 or application 812) that supports the loading of the electronic device 400, obtain authentication information of the electronic device 400, send the authentication information to a cloud network via the communication module 430 to register the authentication information of the electronic device 400, generate configuration information of the electronic device 400 based on user input to the application, and send the generated configuration information and device information of the electronic device 400 stored in the memory 420 to the cloud network via the communication module 430, thereby requesting the loading of the electronic device 400.
[0196] According to various embodiments, processor 410 may be configured to receive access information for loading electronic device 400 when authentication information is registered in a cloud network, and to request loading of electronic device 400 by accessing it using the access information.
[0197] According to various embodiments, the access information may include: Message Queuing Telemetry Transport (MQTT) broker URL information.
[0198] According to various embodiments, processor 410 may be configured to receive authentication information published from a certificate publishing server by using a certificate generation module, and send the published authentication information to a cloud network, thereby registering the authentication information.
[0199] According to various embodiments, processor 410 may be configured to receive tokens based on account login via application, request authentication information from cloud network based on the received tokens, and receive authentication information published from cloud network.
[0200] According to various embodiments, authentication information may include an X.509 certificate.
[0201] According to various embodiments, the configuration information may include at least one of location information or room information.
[0202] According to various embodiments, processor 410 may be configured to receive a list of locations and a list of rooms from a cloud network, and select one from the list of locations and one from the list of rooms based on user input to the application.
[0203] According to various embodiments, the device information may include at least one of the following: model name, device name, country code, or language information of the electronic device 400.
[0204] According to various embodiments, the communication module 430 can be configured to communicate with the access point device using a short-range communication scheme, and to send authentication information, configuration information and device information to the cloud network via the access point.
[0205] According to various embodiments, the electronic device may also include at least one sensor (e.g., sensor 450), and the processor 410 may be configured to send sensor 450 data acquired by sensor 450 to a cloud network when the loading of the electronic device 400 is completed.
[0206] Methods for loading an electronic device (e.g., electronic device 400) into a server according to various embodiments may include: performing operations of an application (e.g., application 712 or application 812) that supports the loading of electronic device 400; obtaining authentication information of electronic device 400; sending the authentication information to a cloud network to register the authentication information of electronic device 400; generating configuration information of electronic device 400 based on user input to the application; and requesting the loading of electronic device 400 by sending the generated configuration information and device information of electronic device 400 to the cloud network.
[0207] According to various embodiments, the operation of requesting the loading of electronic device 400 may include: receiving access information for loading electronic device 400 when authentication information is registered in a cloud network, and requesting the loading of electronic device 400 by accessing it using the access information.
[0208] According to various embodiments, the access information may include Message Queuing Telemetry Transport (MQTT) broker URL information.
[0209] According to various embodiments, the operation of obtaining authentication information may include: receiving authentication information published from a certificate publishing server by using a certificate generation module.
[0210] According to various embodiments, the operation of obtaining authentication information may include: receiving a token by logging in through an application based on an account, requesting authentication information from a cloud network based on the received token, and receiving authentication information published from a cloud network.
[0211] According to various embodiments, the configuration information may include at least one of location information or room information.
[0212] According to various embodiments, the operation of generating configuration information may include: receiving a list of locations and a list of rooms from a cloud network, and selecting one from the list of locations and one from the list of rooms based on user input to the application.
[0213] According to various embodiments, the device information may include at least one of the following: model name, device name, country code, or language information of the electronic device 400.
[0214] According to various embodiments, the method may also include: sending sensor data acquired by a sensor (e.g., sensor 450) to a cloud network after the loading of the electronic device 400 is completed.
[0215] It should be understood that the various embodiments of this disclosure and the terminology used therein are not intended to limit the technical features set forth herein to the specific embodiments, but rather to include various changes, equivalents, or substitutions to the respective embodiments. In the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that nouns in the singular form corresponding to terms may include one or more things unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” may include any one or all possible combinations of the items enumerated together with the corresponding phrase among the plurality of phrases. As used herein, terms such as “first” and “second” or “first” and “second” may be used to simply distinguish the respective component from another component and do not limit the component in other respects (e.g., importance or order). It will be understood that, whether the terms “operably” or “communically” are used or not, if an element (e.g., a first element) is referred to as “combined with another element (e.g., a second element),” “combined to another element (e.g., a second element),” “connected to another element (e.g., a second element),” or “attached to another element (e.g., a second element)”, it means that the first element can be directly (e.g., wiredly) connected to the second element, wirelessly connected to the second element, or connected to the second element via a third element.
[0216] As used in connection with various embodiments of this disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "part," or "circuit"). A module may be a single integrated component adapted to perform one or more functions, or the smallest unit or part of such a single integrated component. For example, according to embodiments, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0217] The various embodiments described herein can be implemented as software (e.g., program 340) comprising one or more instructions stored in a machine-readable storage medium (e.g., internal memory 336 or external memory 338). For example, a processor (e.g., processor 320) of the machine (e.g., electronic device 301) can invoke at least one of the one or more instructions stored in the storage medium and execute it with or without the use of one or more other components under the control of the processor. This allows the machine to be operated to perform at least one function according to the invoked at least one instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. The term "non-transitory" simply means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but this term does not distinguish between cases where data is stored semi-permanently in the storage medium and cases where data is temporarily stored in the storage medium.
[0218] According to embodiments, methods according to various embodiments of this disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an app store (e.g., the Play Store™), or may be distributed directly between two user devices (e.g., smartphones) (e.g., downloaded or uploaded). If distributed online, at least a portion of the computer program product may be temporarily generated, or at least a portion of the computer program product may be stored at least temporarily in a machine-readable storage medium (such as the memory of a manufacturer's server, an app store's server, or a forwarding server).
[0219] According to various embodiments, each of the above-described components (e.g., a module or program) may include a single entity or multiple entities, and some of the multiple entities may be separately disposed in different components. According to various embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Optionally or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as the corresponding component of the multiple components performed one or more functions before integration. According to various embodiments, the operations performed by a module, program, or other component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be run in a different order or omitted, or one or more other operations may be added.
Claims
1. An electronic device comprising: Communication module; Memory; as well as The processor is operatively connected to the communication module and the memory. The processor is configured as follows: Execute applications that support the loading of the electronic device onto the cloud network; Obtain authentication information used to authenticate the electronic device; The authentication information is sent to the cloud network through the communication module to register the authentication information of the electronic device to the cloud network; Receive a location list from the cloud network, including at least one location, which corresponds to at least one IoT device registered to the cloud network and associated with a user account of the electronic device; By selecting a location from a location list based on user input regarding the application of the electronic device, configuration information including the location information of the electronic device is generated; and The communication module sends the generated configuration information and the device information of the electronic device stored in the memory to the cloud network to request the loading of the electronic device.
2. The electronic device according to claim 1, wherein, The processor is configured to: If the authentication information is registered in the cloud network, receive access information for loading the electronic device; and Access is made by using access information, thereby requesting the loading of the electronic device.
3. The electronic device according to claim 2, wherein, The access information includes: MQTT proxy URL information for message queue telemetry transmission.
4. The electronic device according to claim 1, wherein, The processor is configured to: The certificate generation module receives authentication information published from the certificate publishing server. as well as The published authentication information is sent to the cloud network, so that the authentication information is registered by the cloud network.
5. The electronic device according to claim 1, wherein, The processor is configured to: Based on the account logged in through the application, a token is received; Based on the received token, request the cloud network to provide authentication information; as well as Receive authentication information published from the cloud network.
6. The electronic device according to claim 1, wherein, The authentication information includes: X.509 certificate.
7. The electronic device according to claim 1, wherein, The configuration information includes: the room information of the electronic device.
8. The electronic device according to claim 7, wherein, The processor is configured to: Receive the room list from the cloud network; and Based on user input for the application, select one from the room list.
9. The electronic device according to claim 1, wherein, The device information includes at least one of the following: the model name, device name, country code, and language information of the electronic device.
10. The electronic device according to claim 1, wherein, The communication module is configured as follows: Communicating with the access point device using a short-range communication scheme; and The authentication information, configuration information, and device information are sent to the cloud network through the access point.
11. The electronic device of claim 1, further comprising at least one sensor, in, The processor is configured to send sensor data acquired by the at least one sensor to a cloud network when the electronic device is loaded.
12. A method for loading an electronic device into a cloud network, the method comprising: Execute applications that support the loading of the electronic device onto the cloud network; Obtain authentication information used to authenticate the electronic device; The authentication information is sent to the cloud network to register the authentication information of the electronic device with the cloud network; Receive a location list from the cloud network, including at least one location, the at least one location corresponding to at least one IoT device registered to the cloud network and associated with a user account of the electronic device; By selecting a location from a location list based on user input regarding the application of the electronic device, configuration information including the location information of the electronic device is generated. as well as The loading of the electronic device is requested by sending the generated configuration information and the device information of the electronic device to the cloud network.
13. The method according to claim 12, wherein, The request to load the electronic device includes: If the authentication information is registered in the cloud network, receive access information for loading the electronic device; and Access is made by using access information, thereby requesting the loading of the electronic device.
14. The method according to claim 12, wherein, Access information includes: Message Queue Telemetry Transmission (MQTT) broker URL information.
15. The method according to claim 12, wherein, Obtaining authentication information includes receiving authentication information published from a certificate publishing server using the certificate generation module.
Citation Information
Patent Citations
Information processing apparatus, information processing system and information processing method
JP2018067043A
Apparatus and method for registrating a home device to a server in a home network system
KR1020150073827A
Peer-to-peer onboarding of internet of things (IOT) devices over various communication interfaces
WO2015061678A1
User-authorized onboarding using a public authorization service
WO2018236421A1
