WO2022154272A1 - Iot 장치 및 iot 장치를 서버에 온보딩 하는 방법 - Google Patents

Iot 장치 및 iot 장치를 서버에 온보딩 하는 방법 Download PDF

Info

Publication number
WO2022154272A1
WO2022154272A1 PCT/KR2021/018750 KR2021018750W WO2022154272A1 WO 2022154272 A1 WO2022154272 A1 WO 2022154272A1 KR 2021018750 W KR2021018750 W KR 2021018750W WO 2022154272 A1 WO2022154272 A1 WO 2022154272A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
electronic device
iot
authentication information
onboarding
Prior art date
Application number
PCT/KR2021/018750
Other languages
English (en)
French (fr)
Inventor
김은철
김상희
고상혁
이강희
김석현
이종원
송가진
이선기
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202180090286.5A priority Critical patent/CN116762324A/zh
Priority to EP21919896.7A priority patent/EP4262146A4/en
Publication of WO2022154272A1 publication Critical patent/WO2022154272A1/ko
Priority to US18/350,996 priority patent/US20230353555A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/65Environment-dependent, e.g. using captured environmental data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Definitions

  • IoT Internet of Things
  • Cloud computing technology is a technology for providing computing services such as servers, storage, software, or analysis by providing computing resources that exist in a different location to the user through a network. Cloud computing is being utilized to process data generated in the Internet of Things (IoT). User data or content collected by the IoT device may be stored in a cloud server, and a cloud service may be provided to the user through data processing.
  • IoT Internet of Things
  • an onboarding process for registering the IoT device on the cloud server is required.
  • device information such as authentication information for authenticating the IoT device, uniform resource locator (URL) information required to access the cloud server, and/or device type, profile, or location information of the IoT device is required. may be needed.
  • a manufacturer may register authentication information and device information through an interface provided by the cloud server during a manufacturing process.
  • the user of the IoT device receives the necessary information for onboarding from the cloud server using the user device (eg, a smartphone or tablet PC), and communicates between the IoT device and the user device by short-range wireless communication (eg, Wi-Fi). to transmit information received from the cloud server to the IoT device.
  • the user device In the onboarding process of the IoT device, the user device must release short-range wireless communication previously connected to other devices, and stability problems such as a high probability of onboarding failure may occur.
  • Various embodiments of the present document may provide a method for the IoT device to onboard itself to a cloud server without registering device information and/or connecting with a user device during a manufacturing process.
  • An electronic device includes a communication module, a memory, and a processor operatively connected to the communication module and the memory, wherein the processor executes an application supporting onboarding of the electronic device, Acquire authentication information of the electronic device, transmit the authentication information to a cloud network through the communication module, register authentication information of the electronic device, and set information of the electronic device based on a user input on the application and transmit the generated setting information and device information of the electronic device stored in the memory to the cloud network through the communication module to request onboarding of the electronic device.
  • a method of onboarding an electronic device to a server includes executing an application supporting onboarding of the electronic device, acquiring authentication information of the electronic device, and transmitting the authentication information to a cloud network to register the authentication information of the electronic device, to generate the setting information of the electronic device based on a user input on the application, and to transmit the generated setting information and the device information of the electronic device to the cloud network and requesting onboarding of the electronic device.
  • an IoT device capable of onboarding to a cloud server by itself and a method of onboarding an IoT device to a server without registration of device information and/or connection with a user device in the manufacturing process are provided.
  • FIG 1 illustrates devices in an IoT environment according to various embodiments.
  • FIGS. 2A and 2B illustrate respective devices of an IoT system according to various embodiments.
  • FIG. 3 is a block diagram of an IoT device and/or a user device according to various embodiments of the present disclosure
  • FIG. 4 is a block diagram of an IoT device according to various embodiments.
  • FIG. 5 is a flowchart of an onboarding method of an IoT device according to an embodiment.
  • FIG. 6 is a flowchart of an onboarding method of an IoT device according to various embodiments of the present disclosure
  • FIG. 7 illustrates a method for an IoT device to obtain authentication information according to an embodiment.
  • FIG. 8 illustrates a method for an IoT device to obtain authentication information according to an embodiment.
  • FIG. 9 is a diagram illustrating a process in which a manufacturer registers information of an IoT device according to various embodiments of the present disclosure.
  • FIG. 10 illustrates a process of registering authentication information of an IoT device for onboarding of the IoT device according to various embodiments of the present disclosure.
  • FIG. 11 illustrates a process of registering authentication information of an IoT device for onboarding of the IoT device according to various embodiments of the present disclosure.
  • FIG. 12 illustrates a process of obtaining a broker URL for onboarding of an IoT device according to various embodiments.
  • FIG 13 illustrates an onboarding process of an IoT device according to various embodiments of the present disclosure.
  • FIG. 14 illustrates a process of completing onboarding of an IoT device according to various embodiments of the present disclosure.
  • FIG 15 illustrates an application screen of an IoT device according to various embodiments.
  • FIG. 16 illustrates an application screen of a user device according to various embodiments of the present disclosure.
  • FIG 1 illustrates devices in an IoT environment (or IoT system) according to various embodiments.
  • an Internet of things (IoT) system 100 includes at least one leaf device 120 (leaf device), at least one hub device 110 (hub device) (or edge device). ), a user device 130 (user device), and a cloud network 140 (cloud network).
  • the leaf device 120 , the hub device 110 , and the user device 130 may be disposed in adjacent locations (eg, in a house) and connected to the same home network (eg, the same access point (AP)).
  • the cloud network 140 may be remotely located, but may be connected to the leaf device 120 , the hub device 110 , and the user device 130 through the Internet.
  • the hub device 110 and the leaf device 120 of the IoT system 100 may be referred to as IoT devices.
  • a cloud computing service may be provided by using each device of the IoT system. For example, when motion is detected by the motion sensor 123c, the corresponding sensing data is provided to the cloud network 140, and the cloud network 140 checks an event and a mapped motion of the motion sensor 123c, A command for turning on (123a) may be transmitted.
  • an edge computing service may be provided by using each device of the IoT system.
  • the edge computing service may refer to a technology for transmitting data acquired from a leaf device to a hub device located adjacent to the leaf device and located on the same home network, and providing a series of data processing and other services on the hub device.
  • a device for acquiring data through a sensor eg, a camera 121, a refrigerator 122, a light bulb 123a, a digital thermometer 123b, or a motion sensor 123c
  • a sensor eg, a camera 121, a refrigerator 122, a light bulb 123a, a digital thermometer 123b, or a motion sensor 123c
  • a leaf device may be defined by other names, such as a client device, an end device, a sensor device, an IoT device, or a slave device of an edge computing service.
  • the hub device may be defined as another name, such as an edge device of an edge computing service, an edge server, a server device, a master device, or a service device.
  • the leaf device 120, the hub device 110, and the user device 130 are classified and described according to the function or operation of each device in the IoT system 100, but the same device (eg, a smart phone) , or a tablet PC) may operate as any one of the leaf device 120 , the hub device 110 , and the user device 130 in some cases.
  • the names and/or definitions of devices described in various embodiments of the present document do not limit the functions and/or operations of the devices.
  • the leaf device 120 may collect various data using a sensor as an end point of the IoT system 100 and transmit it to the hub device 110 or the cloud network 140 . Also, the leaf device 120 may perform various operations according to a command transmitted from the cloud network 140 , the hub device 110 , or the user device 130 .
  • a device such as a camera 121 , a refrigerator 122 , a light bulb 123a , a digital thermometer 123b , or a motion sensor 123c may be the leaf device 120 .
  • the leaf devices 120 may access the cloud network 140 through the Internet, and among the leaf devices 120 , the Internet protocol ( A device (eg, light bulb 123a, digital thermometer 123b, or motion sensor 123c) that does not support IP One data is transmitted, and the relay device 124 may transmit sensing data of each of the leaf devices 123a, 123b, and 123c to the cloud network 140 through the Internet.
  • the Internet protocol A device (eg, light bulb 123a, digital thermometer 123b, or motion sensor 123c) that does not support IP One data is transmitted, and the relay device 124 may transmit sensing data of each of the leaf devices 123a, 123b, and 123c to the cloud network 140 through the Internet.
  • data obtained from the leaf device 120 may be processed by a cloud computing service or an edge computing service.
  • image data obtained from the camera 121 that is a leaf device is transmitted to a cloud network
  • an on/off control command of the light bulb 123a is transmitted from the cloud network
  • image data is transmitted to the user device 130 from the cloud network.
  • the on/off control command of the light bulb 123a and image data may be transmitted to the hub device 110 obtained from the camera 121 and transmitted from the hub device 110 .
  • the cloud network 140 is located on the network and may include various server devices (eg, IoT management server and IoT hub server) supporting cloud computing services in the IoT system 100 .
  • the cloud network 140 may perform computing processing on the sensing data received from the leaf device 120 and transmit a command for controlling the leaf device 120 .
  • the cloud network 140 may perform a function of operating and managing a specific device in the home network to operate as the hub device 110 .
  • the cloud network 140 includes an IoT server (eg, an IoT management server, or an IoT hub server), and the IoT server performs registration, connection, or management of the hub device 110 and the leaf device 120 and The same edge computing service may be performed, and a module (eg, a device module and/or a service module) required for the edge computing service may be provided to the hub device 110 .
  • an IoT server eg, an IoT management server, or an IoT hub server
  • the IoT server performs registration, connection, or management of the hub device 110 and the leaf device 120 and
  • the same edge computing service may be performed, and a module (eg, a device module and/or a service module) required for the edge computing service may be provided to the hub device 110 .
  • the hub device 110 may directly process data received from the leaf device 120 or transmit it to the cloud network 140 (eg, an IoT server).
  • the hub device 110 may be a device including hardware and/or software resources necessary for an edge computing service, such as a TV 112 or a tablet PC 111 .
  • the hub device 110 may be connected to the cloud network 140 through the Internet, and may communicate with the leaf device 120 through direct communication, a mesh network, or an access point.
  • a plurality of hub devices 110 may exist in the home network, and the leaf device 120 may be connected to any one of the plurality of hub devices 110 to transmit data.
  • the hub device 110 may download and execute a module (eg, a device module and/or a service module) required for an edge computing service from the cloud network 140 . have.
  • the hub device 110 may perform a device-specific function (eg, an image output function of a TV), and may perform hardware functions at least partially simultaneously with the performance of the unique function or during an idle time when the unique function is not performed. and/or may perform edge computing services through software resources.
  • a device-specific function eg, an image output function of a TV
  • hardware functions at least partially simultaneously with the performance of the unique function or during an idle time when the unique function is not performed. and/or may perform edge computing services through software resources.
  • the hub device 110 may store rule information including information for event automation processing.
  • the rule information may be a rule mapping an action command instructing an action to be performed in another leaf device in response to a trigger event occurring in a specific leaf device.
  • the hub device 110 may receive rule information from the cloud network 140 and build a database in the memory of the hub device 110 .
  • the user device 130 may provide various user interfaces related to edge computing services through applications. For example, the user device 130 may obtain data (eg, camera image streaming) acquired from the leaf device 120 or data as a result of processing the data in the hub device 110 or the cloud network 140 (eg, a person). recognition) can be displayed on the display. Also, the user device 130 may receive a user input such as connection of the hub device 110 and/or the leaf device 120 , or server registration, and transmit it to the cloud network 140 .
  • data eg, camera image streaming
  • the cloud network 140 e.g, a person
  • the user device 130 may receive a user input such as connection of the hub device 110 and/or the leaf device 120 , or server registration, and transmit it to the cloud network 140 .
  • FIGS. 2A and 2B illustrate respective devices of an IoT system according to various embodiments.
  • the IoT system (or cloud computing system, edge computing system) 200 includes a leaf device 220 , a hub device 210 , a user device 230 , an IoT hub server 250 , and an IoT management server. (240).
  • various IoT devices may exist on the home network, and in FIG. 2 , one leaf device 220 (eg, the camera 121 in FIG. 1 ) and one hub device 210 ( Example: The TV 112 of FIG. 1 ) will be described as an example.
  • the IoT management server 240 (eg, SmartThings TM server) is a server device that provides various services for determination, connection and/or operation of edge computing services, and includes a provision manager 242, a module It may include a manager 244 and an edge-leaf manager 246 .
  • the provision manager 242 may perform a relay function in the middle so that the hub device 210 can be connected to the IoT hub server 250 .
  • the provision manager 242 may use a connection string ( connection string) to the hub device 210 .
  • the module manager 244 may manage information on various modules provided for edge computing services and devices supporting each service.
  • the module required to perform the edge computing service is a device module (eg, IoT hub server 250) that enables the hub device 210 to transmit data transmitted from the leaf device 220 to an external server (eg, IoT hub server 250). 219a and 219b) and a service module 218 including programs executed to implement a service in the hub device 210 based on data transmitted from the leaf device 220 .
  • the edge-leaf manager 246 may manage a connection state between the hub device 210 and the leaf device 220 existing in several home networks. For example, when the hub device 210 and the leaf device 220 registered in the IoT management server 240 are connected or disconnected from each other, the hub device 210 and/or the leaf device 220 are connected or connected. The release information is transmitted to the IoT management server 240, and the IoT management server 240 can store information about which hub device 210 and leaf device 220 are connected in real time, and which service is being performed. have.
  • the leaf device 220 is connected to a specific edge device (eg, the tablet PC 111 of FIG. 1 ) to perform an edge computing service, and then disconnects from the corresponding edge device according to a handover event and releases the other edge computing service.
  • a specific edge device eg, the tablet PC 111 of FIG. 1
  • the IoT management server 240 connects the hub device 210 and the leaf device 220 changed according to the handover event. Information can be updated.
  • the IoT hub server 250 supports a cloud computing platform, and provides data necessary for the leaf device 220 and the hub device 210 in the cloud environment to be connected to each other.
  • the IoT hub server 250 may include an IoT hub 252 and a module registry 254 .
  • the module registry 254 may be a storage of modules (eg, the device module 219 and the service module 218 ) required to perform an edge computing service.
  • the IoT hub (IoT hub) 252 maintains a connection with the hub device 210 , provides the module stored in the module registry 254 to the hub device 210 , and multiple hub devices 210 . ) can maintain information of installed modules.
  • the hub device 210 (eg, the edge device 110 of FIG. 1 ) has device-specific functions such as a TV, a tablet PC, or a laptop PC, and includes hardware and/or hardware for edge computing services. It may be a device containing software components (eg, edge runtime, and/or base modules). Edge computing services may be performed through hardware and/or software resources at least partially concurrently with the performance of the native function or during idle time when the native function is not performed.
  • the hub device 210 includes an interface 212 and an operating system (OS) 214 for communicating with the cloud (eg, the IoT management server 240 and the IoT hub server 250 ). It may include an edge runtime 216 , a service module 218 , and a device module 219 .
  • the hub device 210 may require hardware conditions (eg, CPU performance) for operating the operating system 214 , and may be configured as a real time operating system (RTOS).
  • RTOS real time operating system
  • An edge runtime 216 (edge runtime) and a basic module for edge computing may be installed in the hub device 210 through a process process or software upgrade of the hub device 210 .
  • the edge runtime 216 may include a daemon program for interworking with the IoT server, and the basic module may be configured as a container as a program necessary for communication with the IoT server.
  • the basic module may be a container installed in the edge runtime 216 environment.
  • the hub device 210 may receive and install at least one module for performing an edge computing service from the IoT hub server 250 .
  • the at least one module may be determined according to the type of the leaf apparatus 220 to be connected and/or the type of service that can be performed, and a device module 219 corresponding to the leaf apparatus 220 and / or may include a service module 218 corresponding to the type of service to be performed.
  • each leaf device 220 and a corresponding device module 219 eg, device module 1 219a , device module 2 219b )
  • the hub device 210 is connected to the IoT hub server 250 by executing the edge runtime 216 in the provisioning process, and the at least one module is additionally installed depending on the type of the leaf device 220 and can be executed
  • the hub device 210 may activate or deactivate the edge mode according to a command received from the IoT hub server 250 or the IoT management server 240 .
  • the hub device 210 performs only a unique function (eg, an image output function of a TV), and the device module 219 and the service module 218 may not be executed.
  • the leaf device 220 (eg, the leaf device 120 of FIG. 1 ) transmits data acquired using a sensor to the connected hub device 210 or a cloud network (eg, IoT management server 240), and/or the IoT hub server 250).
  • a cloud network eg, IoT management server 240
  • IoT hub server 250 For example, an IP (internet protocol) camera operating as the leaf device 220 may be connected to the hub device 210 to transmit video streaming to the hub device 210 .
  • IP internet protocol
  • the user device 230 may be a device including a display capable of executing various applications, such as a smart phone or a tablet PC, and displaying a user interface (UI).
  • the user device 230 may install and/or execute an application for an edge computing service, and receive content and a notification generated by the leaf device 220 through the corresponding application.
  • the hub device 210 and the leaf device 220 are connected, the content or notification generated by the leaf device 220 may be transmitted to the user device 230 through the hub device 210 .
  • the functions of the IoT hub server 250 and the IoT management server 240 may be performed by one server device (eg, the IoT server 260 of FIG. 2B ).
  • the IoT server 260 includes the IoT hub 261 (eg, the IoT hub 252 of FIG. 2A ) which is a configuration of the IoT hub server 250 and the IoT management server 240 described above. ), module registry 262 (eg, module registry 254 in FIG. 2A ), provision manager 263 (eg, provision manager 242 in FIG. 2A ), module manager 264 (eg, FIG. 2A ). of the module manager 244) and the edge-leaf manager 265 (eg, the edge-leaf manager 246 of FIG. 2A).
  • the edge-leaf manager 265 eg, the edge-leaf manager 246 of FIG. 2A.
  • each configuration of the IoT hub server 250 and the IoT management server 240 of FIG. 2A is distributedly arranged by three or more plurality of server devices existing on the network, or some operations performed in each configuration It may also be distributed by several server devices.
  • FIG. 3 is a block diagram of an IoT device and/or a user device according to various embodiments of the present disclosure
  • the same device may operate as an IoT device (eg, the hub device 110 and the leaf device 120 of FIG. 1 ) in the IoT system (eg, the IoT system 100 of FIG. 1 ), and a user It may operate as a device (eg, the user device 130 of FIG. 1 ).
  • IoT device eg, the hub device 110 and the leaf device 120 of FIG. 1
  • a user It may operate as a device (eg, the user device 130 of FIG. 1 ).
  • the configuration and/or function of the electronic device 301 capable of operating as an IoT device and/or a user device will be described in detail with reference to FIG. 3 .
  • the electronic device 301 communicates with the electronic device 302 through a first network 398 (eg, a short-range wireless communication network) or a second network 399 . It may communicate with at least one of the electronic device 304 and the server 308 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 301 may communicate with the electronic device 304 through the server 308 .
  • a first network 398 eg, a short-range wireless communication network
  • a second network 399 e.g., a second network 399
  • the electronic device 301 may communicate with the electronic device 304 through the server 308 .
  • the electronic device 301 includes a processor 320 , a memory 330 , an input module 350 , a sound output module 355 , a display module 360 , an audio module 370 , and a sensor module ( 376 ), interface 377 , connection terminal 378 , haptic module 379 , camera module 380 , power management module 388 , battery 389 , communication module 390 , subscriber identification module 396 ) , or an antenna module 397 .
  • at least one of these components eg, the connection terminal 378
  • some of these components are integrated into one component (eg, display module 360 ). can be
  • the processor 320 for example, executes software (eg, a program 340) to execute at least one other component (eg, a hardware or software component) of the electronic device 301 connected to the processor 320 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or computation, the processor 320 converts commands or data received from other components (eg, the sensor module 376 or the communication module 390 ) to the volatile memory 332 . may be stored in , process commands or data stored in the volatile memory 332 , and store the result data in the non-volatile memory 334 .
  • software eg, a program 340
  • the processor 320 converts commands or data received from other components (eg, the sensor module 376 or the communication module 390 ) to the volatile memory 332 .
  • the volatile memory 332 may be stored in , process commands or data stored in the volatile memory 332 , and store the result data in the non-volatile memory 334 .
  • the processor 320 may include a main processor 321 (eg, a central processing unit or an application processor) or a secondary processor 323 (eg, a graphic processing unit, a neural network processing unit) a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
  • a main processor 321 eg, a central processing unit or an application processor
  • a secondary processor 323 eg, a graphic processing unit, a neural network processing unit
  • NPU neural processing unit
  • an image signal processor e.g., a sensor hub processor, or a communication processor.
  • the coprocessor 323 may be, for example, on behalf of the main processor 321 while the main processor 321 is in an inactive (eg, sleep) state, or when the main processor 321 is active (eg, executing an application). ), together with the main processor 321, at least one of the components of the electronic device 301 (eg, the display module 360, the sensor module 376, or the communication module 390) It is possible to control at least some of the related functions or states.
  • the coprocessor 323 eg, image signal processor or communication processor
  • may be implemented as part of another functionally related component eg, camera module 380 or communication module 390). have.
  • the auxiliary processor 323 may include a hardware structure specialized for processing an artificial intelligence model.
  • Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 301 itself on which the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 308).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
  • the artificial intelligence model may include a plurality of artificial neural network layers.
  • Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
  • the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
  • the memory 330 may store various data used by at least one component (eg, the processor 320 or the sensor module 376 ) of the electronic device 301 .
  • the data may include, for example, input data or output data for software (eg, the program 340 ) and instructions related thereto.
  • the memory 330 may include a volatile memory 332 or a non-volatile memory 334 .
  • the program 340 may be stored as software in the memory 330 , and may include, for example, an operating system 342 , middleware 344 , or an application 346 .
  • the input module 350 may receive a command or data to be used in a component (eg, the processor 320 ) of the electronic device 301 from the outside (eg, a user) of the electronic device 301 .
  • the input module 350 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 355 may output a sound signal 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 multimedia playback or recording playback.
  • the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display module 360 may visually provide information to the outside (eg, a user) of the electronic device 301 .
  • the display module 360 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
  • the display module 360 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
  • the audio module 370 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 370 acquires a sound through the input module 350 or an external electronic device (eg, a sound output module 355 ) connected directly or wirelessly with the electronic device 301 .
  • the electronic device 302 may output sound through (eg, a speaker or headphones).
  • the sensor module 376 detects an operating state (eg, power or temperature) of the electronic device 301 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 376 may include, for example, a gesture sensor, a gyro sensor, a barometric sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 377 may support one or more specified protocols that may be used for the electronic device 301 to directly or wirelessly connect with an external electronic device (eg, the electronic device 302 ).
  • the interface 377 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card
  • connection terminal 378 may include a connector through which the electronic device 301 may be physically connected to an external electronic device (eg, the electronic device 302 ).
  • the connection terminal 378 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 379 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 379 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 380 may capture still images and moving images. According to one embodiment, the camera module 380 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 388 may manage power supplied to the electronic device 301 .
  • the power management module 388 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 389 may supply power to at least one component of the electronic device 301 .
  • battery 389 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 390 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 301 and an external electronic device (eg, the electronic device 302 , the electronic device 304 , or the server 308 ). It can support establishment and communication performance through the established communication channel.
  • the communication module 390 may include one or more communication processors that operate independently of the processor 320 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 390 is a wireless communication module 392 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 394 (eg, : It may include a local area network (LAN) communication module, or a power line communication module).
  • a wireless communication module 392 eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
  • GNSS global navigation satellite system
  • wired communication module 394 eg, : It may include a local area network (LAN) communication module, or a power line communication module.
  • a corresponding communication module among these communication modules is a first network 398 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 399 (eg, legacy It may communicate with the external electronic device 304 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
  • a first network 398 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 399 eg, legacy It may communicate with the external electronic device 304 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a WAN).
  • a telecommunication network
  • the wireless communication module 392 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 396 within a communication network, such as the first network 398 or the second network 399 .
  • the electronic device 301 may be identified or authenticated.
  • the wireless communication module 392 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
  • NR access technology includes high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency) -latency communications)).
  • eMBB enhanced mobile broadband
  • mMTC massive machine type communications
  • URLLC ultra-reliable and low-latency
  • the wireless communication module 392 may support a high frequency band (eg, mmWave band) to achieve a high data rate.
  • a high frequency band eg, mmWave band
  • the wireless communication module 392 uses various techniques for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as full dimensional MIMO (FD-MIMO), an array antenna, analog beam-forming, or a large scale antenna.
  • the wireless communication module 392 may support various requirements specified in the electronic device 301 , an external electronic device (eg, the electronic device 304 ), or a network system (eg, the second network 399 ).
  • the wireless communication module 392 includes a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: Downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) can be supported.
  • a peak data rate eg, 20 Gbps or more
  • loss coverage eg, 164 dB or less
  • U-plane latency for realizing URLLC
  • the antenna module 397 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module 397 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 397 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network such as the first network 398 or the second network 399 is connected from the plurality of antennas by, for example, the communication module 390 . can be selected. A signal or power may be transmitted or received between the communication module 390 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC)
  • RFIC radio frequency integrated circuit
  • the antenna module 397 may form a mmWave antenna module.
  • the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, bottom side) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 301 and the external electronic device 304 through the server 308 connected to the second network 399 .
  • Each of the external electronic devices 302 or 304 may be the same as or different from the electronic device 301 .
  • all or a part of operations executed in the electronic device 301 may be executed in one or more external electronic devices 302 , 304 , or 308 .
  • the electronic device 301 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 301 .
  • the electronic device 301 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 301 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 304 may include an Internet of things (IoT) device.
  • the server 308 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 304 or the server 308 may be included in the second network 399 .
  • the electronic device 301 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • FIG. 4 is a block diagram of an IoT device according to various embodiments.
  • the 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 further include at least some of the configurations and/or functions of the electronic device 301 of FIG. 3 , and may implement various embodiments of the present document even if some of the illustrated components are omitted or substituted. .
  • the IoT device 400 may be implemented as any one device on the IoT system (eg, the IoT system 100 of FIG. 1 ).
  • the IoT device 400 is a hub device (eg, the tablet PC 111 or TV 112 of FIG. 1 ) or a leaf device (eg, the camera 121 of FIG. 1 , the refrigerator 122 ) of the IoT system. ), a light bulb 123a, a digital thermometer 123b, or a motion sensor 123c).
  • the IoT device 400 includes various sensors 450 (eg, a camera, an illuminance sensor, or a microphone), such as a smart phone or a tablet PC, and is a device having more than a predetermined processor and/or memory resource.
  • the IoT device 400 may provide the IoT service by installing and executing an application (eg, an upcycling application) supporting the IoT service.
  • an application eg, an upcycling application
  • the display 440 is a liquid crystal display (LCD) for displaying an image, a light-emitting diode (LED) display, an organic light-emitting diode (organic light-emitting diode) OLED)) may be implemented as any one of the displays, but is not limited thereto.
  • the display 440 may be configured as a touch screen that detects a touch and/or proximity touch (or hovering) input using a part of the user's body (eg, a finger) or an input device (eg, a stylus pen).
  • the display 440 may include at least some of the configuration and/or functions of the display module 160 of FIG. 1 . At least a part of the display 440 may be flexible, and may be implemented as a foldable display or a rollable display.
  • the communication module 430 supports wireless communication (eg, Wi-Fi, cellular communication) and may transmit/receive data to/from other devices of the IoT system or a cloud network.
  • the communication module 430 may communicate with another device through an access point (AP) or directly communicate with another device using P2P (eg, Wi-Fi Direct, or Wi-Fi Aware) communication.
  • AP access point
  • P2P Wi-Fi Direct, or Wi-Fi Aware
  • the IoT device 400 may include at least one sensor 450 .
  • the IoT device 400 may include a sensor 450 such as a camera, an illumination sensor, a motion sensor, or a microphone.
  • the IoT device 400 may transmit the sensor 450 data acquired through the sensor 450 to the cloud network, and may provide an IoT environment for controlling other devices on the local network based on the cloud (or edge).
  • the memory 420 may include a volatile memory and a non-volatile memory, and temporarily or temporarily stores various data used in at least one component (eg, the processor 410 ) of the IoT device 400 . can be stored permanently.
  • the memory 420 may store various instructions that may be executed by the processor 410 . Such instructions may include various control commands including arithmetic and logical operations, data movement, or input/output that can be recognized by the processor 410 .
  • the processor 410 is a configuration capable of performing an operation or data processing related to control and/or communication of each component of the IoT device 400, and includes a sensor 450, a display 440,
  • the communication module 430 and/or each component of the IoT device 400 such as the memory 420 may be operatively, functionally, and/or electrically connected.
  • the processing and data processing functions that the processor 410 can implement within the IoT device 400 will not be limited, but hereinafter, the IoT device 400 is connected to the cloud network without a separate registration process in advance.
  • the IoT device 400 is connected to the cloud network without a separate registration process in advance.
  • An operation of the processor 410 which will be described later, may be performed by executing instructions stored in the memory 420 .
  • the processor 410 may execute an application supporting onboarding of the IoT device 400 .
  • the application is an application (eg, an upcycling application) that provides an IoT service using the sensor 450 (eg, a camera, an illuminance sensor, a motion sensor, or a microphone) of an electronic device such as a smart phone or a tablet PC. )
  • the sensor 450 eg, a camera, an illuminance sensor, a motion sensor, or a microphone
  • the processor 410 may obtain authentication information of the electronic device.
  • the authentication information may include a certificate generated by a public key based encryption algorithm, such as an X.509 certificate, a public key, and/or a serial number.
  • the IoT device 400 may store the generated authentication information in a designated area of the memory 420 .
  • the IoT device 400 may receive authentication information from a certificate issuing server operated by the manufacturer of the IoT device 400 using a certificate generating module (eg, Samsung attestation key) of the IoT device 400 .
  • a certificate generating module eg, Samsung attestation key
  • the IoT device 400 may receive a token by logging in to a server operated by a manufacturer based on an account through an application, and request authentication information from the cloud network based on the received token to be issued. have.
  • the processor 410 may register the authentication information of the electronic device by transmitting the authentication information to the cloud network through the communication module 430 .
  • the IoT device 400 transmits the authentication information obtained through the Wi-Fi access point to the access gateway (eg, great gate) of the cloud network, and the authentication information is stored in the device identification server (eg, device identity). can be saved.
  • the processor 410 may generate setting information of the electronic device based on a user input on the application.
  • the setting information may include a device name, location information, and room information.
  • the IoT device 400 may receive a location list and a room list from a location server (eg, a location service) of a cloud network, and may output various locations of the location list and several room information of the room list to the application, , the location and room can be selected according to the user's selection.
  • the location server may provide the IoT device 400 with a list of location/room information of other IoT devices registered through the same account as the IoT device 400 .
  • the IoT device 400 may transmit the input setting information to the cloud network, and may be stored on the cloud network.
  • the processor 410 configures configuration information (eg, location information, or room information) and device information (eg, serial number, MNID, product ID, and onboarding ID) in the cloud network. , or model name) to the cloud network, and may request onboarding of the IoT device 400 .
  • the processor 410 requests access information (eg, message queuing telemetry transport (MQTT) broker URL) for onboarding to the access gateway of the cloud network, and accesses the broker server closest to the access gateway. information can be received.
  • the processor 410 may request onboarding by accessing the cloud network through the received access information.
  • MQTT message queuing telemetry transport
  • the cloud network may perform an onboarding process of the IoT device 400 based on setting information, device information, and/or authentication information received from the IoT device 400 .
  • the cloud network verifies the IoT device 400 using the authentication information transmitted from the IoT device 400 and pre-registered authentication information, and when the verification is completed, the IoT device 400 is sent to the device identification server (eg, device identity).
  • the device identification server eg, device identity
  • device information, setting information, and a function selected by the user eg, trigger event or operation command
  • the IoT device 400 may perform a function selected through an application in the IoT environment.
  • the IoT device 400 may use a camera to capture a surrounding image and transmit it to the cloud network.
  • the cloud network transmits the image used in the IoT device 400 to the user device of the corresponding user in a real-time streaming method, so that the indoor image can be checked on the user device.
  • the IoT device 400 senses ambient illuminance using the sensor 450 (eg, an illuminance sensor) and transmits it to the cloud network, and the cloud network is a local network mapped with the IoT device 400 .
  • a command can be sent to another IoT device (eg, a light bulb) to execute a function mapped to an illuminance value (eg, light bulb on).
  • FIG. 5 is a flowchart of an onboarding method of an IoT device according to an embodiment.
  • FIG. 5 shows that a manufacturer of an IoT device (eg, the IoT device 400 of FIG. 4 ) registers device information and authentication information of the IoT device in the cloud network in advance, and the user device (eg, the user device of FIG. 1 ) (130)) is connected to the soft AP mode and relates to an embodiment of requesting onboarding to the cloud network through the user device.
  • a manufacturer of an IoT device eg, the IoT device 400 of FIG. 4
  • the user device eg, the user device of FIG. 1
  • the IoT device manufacturer may register authentication information and device information of the IoT device in the cloud network.
  • the manufacturer may register authentication information and device information of the IoT device through a developer workspace provided by the cloud network.
  • the developer workspace may be an online environment that provides services related to authentication and registration of IoT devices in a cloud network.
  • the IoT device manufacturer connects to the developer workspace with an account, registers device information (eg device type, profile information) of the IoT device such as device type and profile information, and registers authentication information such as ED25519 and X.509 can do.
  • the manufacturer of the IoT device can update device information and onboarding configuration information in the SDK (software development kit) of the IoT device, and store (or flash) software required for the cloud service.
  • the user who has purchased the IoT device may proceed with the process of onboarding the IoT device to the cloud network.
  • the IoT device may obtain credential information from the user device.
  • the IoT device may operate in the soft AP mode to establish a Wi-Fi connection with the user device.
  • Credential information obtained by the IoT device from the user device may include Wi-Fi provisioning information, cloud provisioning information, and device configuration provisioning information.
  • the Wi-Fi provisioning information includes the SSID and password of the access point to be accessed stored in the user device
  • the cloud provisioning information includes the broker URL and authentication information to be accessed by the user device obtained from the cloud network
  • device setting provisioning The information may include additional information such as a location, language, country code, time zone, model name, or device name input through the user device.
  • the IoT device may request onboarding by accessing the cloud network based on the credential information received from the user device.
  • the IoT device since the IoT device does not provide an input function of device setting information such as a location or a device name, it may be necessary to input the corresponding information through the user device. To this end, the IoT device may enter the soft AP mode and the user device may access the soft AP to provide device setting provisioning information and cloud provisioning information. Alternatively, the IoT device may enter the discoverable mode through Bluetooth (or Bluetooth low energy) advertising, select a neighboring user device, and proceed with the setup process.
  • Bluetooth Bluetooth low energy
  • the user device has to disconnect the existing Wi-Fi connection with other devices, and there are problems that increase the possibility of onboarding failure in the process of exchanging information between the IoT device and the user device. can occur
  • FIG. 6 is a flowchart of an onboarding method of an IoT device according to various embodiments of the present disclosure
  • the IoT device may generate authentication information.
  • the authentication information may include a certificate generated by a public key based encryption algorithm 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 memory.
  • the IoT device may receive authentication information from a certificate issuing server operated by a manufacturer of the IoT device using a certificate generating module (eg, Samsung attestation key) of the IoT device.
  • a certificate generating module eg, Samsung attestation key
  • the IoT device receives a token by logging in to a server operated by a manufacturer based on an account through an application (eg, an upcycling application), and requests authentication information from the cloud network based on the received token. can be issued.
  • an application eg, an upcycling application
  • the IoT device may register authentication information in the cloud network in real time.
  • the IoT device may transmit authentication information obtained through the Wi-Fi access point to an access gateway (eg, great gate) of the cloud network.
  • the access gateway may be a server device or a service module for receiving a connection and/or device event of each device in the local network on the cloud network.
  • the IoT device may operate in the soft AP mode and directly transmit authentication information to the cloud network without connection with the user device.
  • the cloud network may verify authentication information transmitted from the IoT device. For example, it is transmitted to an access gateway (eg, great gate) of a cloud network, and the access gateway may request verification of authentication information from a device identification server (eg, device identity).
  • a device identification server eg, device identity
  • the authentication information and the device information of the IoT device may be mapped and stored on the device identification server.
  • the IoT device may input setting information on the application based on a user input.
  • the setting information may include a device name, location information, and room information.
  • the IoT device may receive a location list and a room list from a location server (eg, location service) of a cloud network, and output information about several locations of the location list and several rooms of the room list to the application, and Depending on your choice, you can choose a location and room.
  • the location server may provide the IoT device with a list of location/room information of other IoT devices registered through the same account as the IoT device.
  • the IoT device may transmit the input setting information to the cloud network, and may be stored on the cloud network.
  • the cloud network may perform an onboarding process of the IoT device based on setting information, device information, and/or authentication information received from the IoT device.
  • the application of the IoT device requests access information (eg, message queuing telemetry transport (MQTT) broker URL) for onboarding to the access gateway of the cloud network, and accesses the broker server closest to the access gateway. information can be received. Thereafter, the IoT device may access the cloud network through the corresponding access information, and may complete onboarding through an authentication process.
  • access information eg, message queuing telemetry transport (MQTT) broker URL
  • the IoT device When the onboarding of the IoT device is completed, it may operate as a hub device or a leaf device on the local network according to a function selected through the application.
  • FIG. 7 illustrates a method for an IoT device to obtain authentication information according to an embodiment.
  • the IoT device may receive authentication information from the certificate issuing server 770 using a certificate generating module, and may request registration of authentication information by transmitting the issued authentication information to the cloud network.
  • an application eg, a SmartThings application
  • the manager server 775 is a server device operated by a manufacturer of the user device 130 and may store authentication information required to provide a cloud service to the user device.
  • the application 712 eg, an upcycling application of the IoT device may request authentication information from the certificate issuing server 770 (eg, a key store).
  • the certificate issuing server 770 is a certificate issuing service operated by a manufacturer of the IoT device, and the IoT device may receive authentication information using a certificate generating module (eg, Samsung attestation key).
  • the authentication information is a leaf certificate or end-entity certificate, and may be a certificate generated by a public key-based encryption algorithm such as an X.509 certificate.
  • the certificate issuing server 770 may issue a certificate according to a request of the IoT device.
  • the application 712 of the IoT device may register the issued authentication information to the cloud network through the access gateway 752 (eg, great gate).
  • the access gateway 752 eg, great gate
  • the access gateway 752 may update authentication information transmitted by the IoT device to the authentication server 758 .
  • the authentication server 758 may register authentication information of the IoT device with the device identification server 754 .
  • a mutual authentication process between the authentication information of the IoT device and the authentication information registered in the cloud network may be performed.
  • a mutual authentication process may be performed based on an X.509 certificate.
  • the access gateway 752 and the device identification server 754 may verify the serial number of the IoT device and revoke device information on the device identification server 754 .
  • the IoT device when the onboarding of the IoT device to the cloud network is completed, in operation 709 , the IoT device may be controlled through the user device 130 .
  • the IoT device may perform settings such as turning on/off the device or registering an event/command according to a user input in the application 712 (eg, the SmartThings application 712), and the sensor ( For example, you can provide data acquired from a camera).
  • the application 712 eg, the SmartThings application 712
  • the sensor For example, you can provide data acquired from a camera.
  • the certificate issuance service operated by the manufacturer since the certificate issuance service operated by the manufacturer is used, it is not necessary to operate a separate cloud system for issuing certificates, and authentication information can be stored and managed in a secure key store.
  • the application 712 eg, an upcycling application
  • unique information can be maintained through the serial number and IMEI of the IoT device, and even when a plurality of applications 712 exist
  • the unique information and the application 712 ID By combining the unique information and the application 712 ID, a variety of unique information is generated for the same device, and by registering based on this, the uniqueness of the device can be supported for a plurality of applications 712 of the same style. have.
  • FIG. 8 illustrates a method for an IoT device to obtain authentication information according to an embodiment.
  • the IoT device receives a token by logging in based on an account through the application 812 (eg, an upcycling application), requests authentication information from the cloud network based on the received token, and the cloud network authentication information can be obtained from the application 812 (eg, an upcycling application).
  • the application 812 eg, an upcycling application
  • the administrator server 875 may register a root certificate (root CA) with the authentication server 858 of the cloud network.
  • root CA root certificate
  • the access gateway 852 may update the root certificate in the authentication server 858 .
  • the IoT device logs in to the account server 870 (eg, Samsung account) operated by the manufacturer of the IoT device based on the account of the application 812 (eg, upcycling application), and , you can acquire a token.
  • the account server 870 eg, Samsung account
  • the application 812 eg, upcycling application
  • the application 812 of the IoT device may request registration from the authentication server 858 based on authentication information.
  • the IoT device may transmit a token obtained from the account server 870 to the authentication server 858, and the authentication server may authenticate the IoT device based on the token.
  • the authentication information may be an X.509 certificate as a leaf certificate or an end-entity certificate.
  • the authentication server 858 may verify the validity of the token by comparing the token issued by the account server 870 and the token transmitted from the IoT device.
  • the authentication server 858 registers authentication information on the device identification server 854, and in operation 807, the authentication information is issued to the IoT device.
  • the authentication information of the IoT device and the authentication information registered in the cloud network are mutually The authentication process can be performed.
  • the access gateway 852 and the device identification server 854 may verify the serial number of the IoT device and revoke device information on the device identification server 854 .
  • the IoT device when the onboarding of the IoT device to the cloud network is completed, in operation 810 , the IoT device may be controlled through the user device 830 .
  • the IoT device may perform settings such as turning on/off the device or registering an event/command according to a user input in the application 812 (eg, the SmartThings application 812), and the sensor ( For example, you can provide data acquired from a camera).
  • the application 812 eg, the SmartThings application 812
  • the sensor For example, you can provide data acquired from a camera.
  • the authentication server 858 of the cloud network issues the authentication key on an account-based basis, and accordingly, the certificate issued for each account can be managed.
  • the IoT device does not need a certificate generating module for issuing a separate certificate.
  • FIG. 9 is a diagram illustrating a process in which a manufacturer registers information of an IoT device according to various embodiments of the present disclosure.
  • the manufacturer 902 (manufacturer) of the IoT device 910 registers information required for onboarding of the IoT device 910 through a developer workspace 968 provided by the cloud network. can do.
  • a vendor account eg, MNID
  • device profile information may be generated in operation 974
  • device onboarding information may be generated in operation 976 .
  • the IoT device 910 You can create your own authentication information using , and register it in the cloud network.
  • the user 904 who has purchased the IoT device 910 may install an application (eg, an upcycling application) supporting an IoT function in the IoT device 910 in operation 978 .
  • the application may be used for a service that provides an IoT service using a sensor (eg, a camera, an illuminance sensor, or a microphone) of a used electronic device (eg, a smart phone, a tablet PC).
  • the IoT device 910 executes an application, and in operation 982 , the user 904 may log in by inputting an account on the application. In operation 984 , the user 904 may agree to the security policy, and accordingly, a procedure of onboarding to the cloud network to provide the IoT service through the IoT device 910 may proceed.
  • FIG. 10 illustrates a process of registering authentication information of an IoT device for onboarding of the IoT device according to various embodiments of the present disclosure.
  • FIG. 10 illustrates an embodiment in which the IoT device 1010 registers authentication information issued by the certificate issuing server to the IoT server through a certificate generating module (eg, Samsung attestation key).
  • a certificate generating module eg, Samsung attestation key.
  • an access gateway 1052 or great gate
  • an authentication server 1058 or attestation
  • a device identification server 1054 or device identity
  • operations 1072 to 1088 relate to a procedure in which the IoT device 1010 generates authentication information
  • operations 1090 to 1099 relate to a procedure of registering the generated authentication information to the cloud network.
  • an application eg, an upcycling application of the IoT device 1010 may request a temporary value (nonce) from the access gateway 1052 to register authentication information.
  • the IoT device 1010 may create and transmit an MQTT protocol, device information, authentication information (eg, Samsung attestation key), and/or a temporary value request using the HTTP POST method.
  • the authentication information may be a certificate issued by a certificate issuing server through a certificate generating module (eg, Samsung attestation key).
  • the access gateway 1052 may request a temporary value from the authentication server 1058 , and in operation 1076 , the authentication server 1058 may generate the temporary value. In operation 1078 , the authentication server 1058 provides the generated temporary value to the access gateway 1052 , and in operation 1080 , the access gateway 1052 may respond to the IoT device 1010 with the temporary value.
  • the IoT device 1010 may acquire an authentication object (eg, a binary large object (blob)) including a temporary value.
  • the IoT device 1010 may generate a key pair including a temporary value.
  • the generated key pair includes a shared key (mPubKey) and a security key (mPrivKey), and the authentication object includes application certificate and device authentication information including a temporary value and the shared key.
  • the IoT device 1010 may verify and/or store the generated authentication object.
  • the IoT device 1010 may generate device information of the IoT device 1010 for registration in the cloud network.
  • the device information may include a serial number, MNID, product ID, onboarding ID, and/or model name.
  • authentication information and device information for onboarding of the IoT device 1010 may be generated.
  • the IoT device 1010 may transmit the generated authentication object and device information to the access gateway 1052 for registration of the IoT device 1010 .
  • Table 1 shows an example of an HTTP message transmitted by the IoT device 1010 to the access gateway 1052 when an onboarding request is made.
  • the access gateway 1052 delivers the authentication object to the authentication server 1058, in operation 1093, the authentication server 1058 verifies the received authentication object, and in operation 1094, The authentication server 1058 may transmit the authentication result to the access gateway 1052 .
  • the access gateway 1052 may obtain application certificate information from validation of the authentication object.
  • the access gateway 1052 may request the device identification server 1054 to register (or generate) device information. Table 2 shows an example of a message transmitted by the access gateway 1052 for a device registration request.
  • the device identification server 1054 when information of the IoT device 1010 is registered in the device identification server 1054, the device identification server 1054 transmits information indicating successful registration to the access gateway 1052 in operation 1098, , in operation 1099, the access gateway 1052 may transmit information indicating successful registration to the IoT device 1010.
  • FIG. 11 illustrates registration of authentication information of the IoT device for onboarding of the IoT device according to various embodiments. shows the process.
  • the IoT device 1110 receives authentication information from the authentication server 1158 of the cloud network on an account basis.
  • the authentication server 1158 (or attestation), the device identification server 1154 (or device identity), and the account server 1164 (account server) may be implemented as a server device on a cloud network.
  • the IoT device 1110 may request the authentication server 1158 to generate authentication information.
  • the IoT device 1110 may post an external certificate, SA token authentication, and device information (eg, MNID, product ID, onboarding ID, and/or model name) to the authentication server 1158 .
  • the IoT device 1110 logs in to the account server 1164 operated by the manufacturer of the IoT device 1110 based on the account of the application, acquires a token, and requests generation of authentication information. may be sent to the authentication server 1158 .
  • the authentication server 1158 requests the account server 1164 to verify the SA token, and in operation 1176 , the account server 1164 is authenticated when the verification of the SA token is successful. It may respond to server 1158 .
  • the authentication server 1158 may generate authentication information, and in operation 1180 , the authentication server 1158 may generate a key pair including a temporary value.
  • the generated key pair includes a shared key (mPubKey) and a security key (mPrivKey), and the authentication object includes application certificate and device authentication information including a temporary value and the shared key (attestation certificate) may include.
  • the authentication server 1158 may store the created authentication object.
  • the authentication server 1158 may generate device information of the IoT device 1110 for registration in the cloud network.
  • the device information may include a serial number, MNID, product ID, onboarding ID, and/or model name.
  • the authentication server 1158 may request registration (or creation) of the IoT device 1110 from the device identification server 1154 .
  • the message in Table 2 above may be an example of the message that the authentication server 1158 transmits to the device identification server 1154 for a device registration request.
  • the device identification server 1154 when information of the IoT device 1110 is registered in the device identification server 1154, the device identification server 1154 transmits information indicating successful registration to the authentication server 1158 in operation 1188, , in operation 1190 , the authentication server 1158 may transmit information indicating successful registration to the IoT device 1110 .
  • FIG. 12 illustrates a process of obtaining a broker URL for onboarding of an IoT device according to various embodiments.
  • the IoT device 1210 may input setting information (eg, location information and/or room information) based on a user input on an application.
  • setting information eg, location information and/or room information
  • the IoT device 1210 may request a location information list from the location server 1258 of the cloud network, and in operation 1274 , receive the location information list from the location server 1258 .
  • the location information list may include location information of other IoT devices registered through the same account as the IoT device 1210 .
  • the IoT device 1210 may request a room information list from the location server 1258 of the cloud network, and in operation 1278 , receive the room information list from the location server 1258 .
  • the room information list may include information about a room in which another IoT device registered through the same account as the IoT device 1210 is installed.
  • the IoT device 1210 may provide the received location information list and the room information list to the application, and receive the location and room information where the corresponding IoT device 1210 is installed according to a user input. .
  • the IoT device 1210 may request access information for onboarding from the access gateway 1252 .
  • the access information may include a message queuing telemetry transport (MQTT) broker URL.
  • MQTT message queuing telemetry transport
  • the IoT device 1210 may transmit a message including an MQTT, a broker, and an input location ID to the access gateway 1252 in an HTTP GET method.
  • the IoT device 1210 may receive access information on the nearest broker server from the access gateway 1252 .
  • FIG 13 illustrates an onboarding process of an IoT device according to various embodiments of the present disclosure.
  • the IoT device 1310 may be connected to the access gateway 1352 .
  • the IoT device 1310 may be connected to the access gateway 1352 using one-way transport layer security (TLS).
  • TLS transport layer security
  • the IoT device 1310 may register information of the IoT device 1310 on the cloud network by using the device SDK.
  • the device SDK may be an SDK used when registering an IoT device to a cloud network (eg, Smartthings platform).
  • the IoT device 1310 uses a serial number as a user ID, and a JSON (java script object notation) web token (JWT) or CBOR (concise binary object representation) web token signed with a private key as a password ( CWT) to attempt to access the access gateway 1352 .
  • JSON Java script object notation
  • CBOR concise binary object representation
  • the access gateway 1352 may request the device identification server 1354 to authenticate the JWT and/or CWT received from the IoT device 1310 .
  • the device identification server 1354 may return to the access gateway 1352 whether or not to allow access after authentication of the JWT and/or CWT.
  • the access gateway 1352 may return a connection success to the IoT device 1310 .
  • the IoT device 1310 may subscribe to a topic for registration of the IoT device 1310 with the access gateway 1352 .
  • the IoT device 1310 may subscribe to a serial number required for onboarding.
  • the access gateway 1352 may operate as a broker of the MQTT protocol.
  • the IoT device 1310 may publish a topic for the device ID of the IoT device 1310 to the access gateway 1352 .
  • the IoT device 1310 may publish a topic including an MNID, a VID, a device type, a DIP key set, and a lookup ID.
  • the access gateway 1352 may generate new device information in the cloud service 1362 using the Gizmo API.
  • the cloud service 1362 may return success to the access gateway 1352 .
  • the device information issued by the IoT device 1310 may be transmitted to Gizmo, Dove, Pooch, or OCF Route of the cloud service 1362 , respectively, and may be transmitted to an application (eg, SmartThings application) of the user device.
  • FIG. 14 illustrates a process of completing onboarding of an IoT device according to various embodiments of the present disclosure.
  • the cloud service 1462 may transmit device information of the IoT device 1410 to the user device 1430 .
  • the user device 1430 may generate a device card of the IoT device 1410 on the application.
  • the device card may be generated for each onboarded IoT device 1410 , and may include identification information of the corresponding IoT device 1410 , sensing data and/or commands, or an on/off control menu.
  • the access gateway 1452 may transmit registered data to the IoT device 1410 .
  • the access gateway 1452 may deliver the registered device ID, location ID, and/or DIP key set to the IoT device 1410 .
  • the IoT device 1410 may store the received device ID, location ID, and/or DIP key set in a memory.
  • FIG 15 illustrates an application screen of an IoT device according to various embodiments.
  • the IoT device 1500 may provide an IoT service by installing and executing an application (eg, an upcycling application) supporting the IoT service.
  • the IoT device 1500 may search for and download an application from an online store, and execute the application according to a user's selection.
  • the application may provide a UI for selecting an IoT function to be executed using the IoT device 1500 .
  • the application provides a list of functions that can be provided using the sensor of the IoT device 1500, such as a virtual search function 1511, a universal remote controller function 1512, and an upcycling camera function 1513, A user's selection may be received.
  • the application may provide a login screen 1520, and the user may log in using his/her own account.
  • the cloud network may manage device information and/or authentication information of at least one IoT device 1500 in units of accounts.
  • the application may provide a UI for inputting setting information.
  • the UI may include an input menu 1531 of a name of the corresponding IoT device 1500 , an input menu 1532 of a location, and an input menu 1533 of a room.
  • the application may receive the location information list and the room information list set in another IoT device previously registered by the user account from the cloud network, and allow the user to select one of the list.
  • the onboarding process on the cloud network may be performed.
  • the IoT device 1500 may provide a predetermined loading screen 1540 .
  • the onboarding process of the IoT device 1500 has been previously described with reference to FIGS. 6 to 14 .
  • the IoT device 1500 may execute an IoT function selected by a user. For example, when the upcycling camera function is selected, the IoT device 1500 may capture a surrounding image 1550 using the camera and transmit it to the cloud network. The cloud network may transmit the image 1550 used in the IoT device 1500 to the user device of the corresponding user in a real-time streaming method, and check the image 1550 in the user device.
  • FIG. 16 illustrates an application screen of a user device according to various embodiments of the present disclosure.
  • the user device (eg, the user device 130 of FIG. 1 ) is a UI item corresponding to each IoT device (eg, the hub device 110 and the leaf device 120 of FIG. 1 ) of the local network). (1621, 1622, 1623, 1630) can be displayed.
  • the user device may display the UI item 1621 of the AV sound bar, the UI item 1622 of the TV, the UI item 1623 of the light bulb, and the set-top box remote control item 1630 on the application.
  • Each UI item includes an image indicating a device, a device name, information indicating an operating state of the device (eg, on/off, available/non-available, or open/close), and/or an operating state of the device. It may include a button to change it.
  • device information of the corresponding IoT device may be transmitted from the cloud network.
  • the application of the user device may add a UI item corresponding to the corresponding IoT device based on the received device information of the IoT device.
  • An electronic device (eg, the electronic device 400 ) according to various embodiments includes a communication module (eg, the communication module 430 ), a memory (eg, the memory 420 ), and the communication module 430 and the memory and a processor (eg, processor 410 ) operatively connected to 420 , wherein the processor 410 includes an application (eg, application 712 ) supporting onboarding of the electronic device 400 , or application 812 ), obtains authentication information of the electronic device 400 , and transmits the authentication information to a cloud network through the communication module 430 to obtain authentication information of the electronic device 400 .
  • a communication module eg, the communication module 430
  • a memory eg, the memory 420
  • a processor eg, processor 410
  • the processor 410 includes an application (eg, application 712 ) supporting onboarding of the electronic device 400 , or application 812 ), obtains authentication information of the electronic device 400 , and transmits the authentication information to a
  • the register generate setting information of the electronic device 400 based on a user input on the application, and use the generated setting information and device information of the electronic device 400 stored in the memory 420 to the It may be configured to request onboarding of the electronic device 400 by transmitting it to the cloud network through the communication module 430 .
  • the processor 410 when the authentication information is registered in the cloud network, the processor 410 receives access information for onboarding of the electronic device 400 and accesses it using the access information, It may be set to request onboarding of the electronic device 400 .
  • the access information may include message queuing telemetry transport (MQTT) broker URL information.
  • MQTT message queuing telemetry transport
  • the processor 410 may be configured to receive the authentication information from the certificate issuing server using a certificate generation module, and transmit the issued authentication information to the cloud network to register the authentication information. have.
  • the processor 410 logs in based on an account through the application, receives a token, requests the authentication information from the cloud network based on the received token, and the cloud It may be configured to receive the authentication information from the network.
  • the authentication information may include an X.509 certificate.
  • the setting information may include at least one of location information and room information.
  • the processor 410 receives a location list and a room list from the cloud network, and selects any one of the location list and the room list based on a user input on the application. can be set to
  • the device information may include at least one of a model name, a device name, a country code, and language information of the electronic device 400 .
  • the communication module 430 may be configured to communicate with an access point device using a short-range communication method, and transmit the authentication information, the configuration information, and the device information to the cloud network through the access point.
  • it further includes at least one sensor (eg, a sensor 450 ), and the processor 410, when the onboarding of the electronic device 400 is completed, configures the sensor 450 . It may be configured to transmit the sensor 450 data obtained through the cloud network.
  • a sensor 450 e.g, a sensor 450
  • the processor 410 when the onboarding of the electronic device 400 is completed, configures the sensor 450 . It may be configured to transmit the sensor 450 data obtained through the cloud network.
  • a method for onboarding an electronic device (eg, the electronic device 400 ) to a server includes an application (eg, an application 712 or an application 812 ) supporting onboarding of the electronic device 400 . ), obtaining authentication information of the electronic device 400, transmitting the authentication information to a cloud network to register authentication information of the electronic device 400, and receiving user input on the application. Based on the operation of generating the setting information of the electronic device 400 , and transmitting the generated setting information and the device information of the electronic device 400 to the cloud network, the onboarding of the electronic device 400 is performed. may include an operation to request
  • the requesting for onboarding of the electronic device 400 includes receiving access information for onboarding of the electronic device 400 when the authentication information is registered in the cloud network. , and requesting onboarding of the electronic device 400 by accessing using the access information.
  • the access information may include message queuing telemetry transport (MQTT) broker URL information.
  • MQTT message queuing telemetry transport
  • the operation of obtaining the authentication information may include an operation of receiving the authentication information from a certificate issuing server using a certificate generating module.
  • the obtaining of the authentication information includes logging in based on an account through the application, receiving a token, and requesting the authentication information from the cloud network based on the received token. , and receiving the authentication information from the cloud network.
  • the setting information may include at least one of location information and room information.
  • the generating of the setting information may include receiving a location list and a room list from the cloud network, and based on a user input on the application, any one of the location list and the room list It may include an action to select any one.
  • the device information may include at least one of a model name, a device name, a country code, and language information of the electronic device 400 .
  • the method may further include transmitting sensor data acquired through a sensor (eg, the sensor 450 ) to the cloud network.
  • a sensor eg, the sensor 450
  • first, second, or first or second may simply be used to distinguish an element from other elements in question, and may refer elements to other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 336 or external memory 338) readable by a machine (eg, electronic device 301). may be implemented as software (eg, the program 340) including
  • the processor eg, the processor 320 of the device (eg, the electronic device 301 ) may call at least one of one or more instructions stored from a storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the called at least one command.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and contains no signals (eg, electromagnetic waves), and this term means that the data is stored semi-permanently on the storage medium. It does not distinguish between a case where it is stored temporarily and a case where it is temporarily stored.
  • the method according to various embodiments disclosed in this document may be provided in a computer program product (computer program product).
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly, online between smartphones (eg: smartphones).
  • a portion of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. have.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. or one or more other operations may be added.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

다양한 실시예에 따른 전자 장치는, 통신 모듈, 메모리, 및 상기 통신 모듈 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 온보딩을 지원하는 어플리케이션을 실행하고, 상기 전자 장치의 인증 정보를 획득하고, 상기 통신 모듈을 통해 상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치의 인증 정보를 등록하고, 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치의 설정 정보를 생성하고, 및 상기 생성된 설정 정보 및 상기 메모리에 저장된 상기 전자 장치의 기기 정보를 상기 통신 모듈을 통해 상기 클라우드 네트워크로 전송하여, 상기 전자 장치의 온보딩을 요청하도록 설정될 수 있다. 이 외에도 다양한 실시예들이 가능할 수 있다.

Description

IOT 장치 및 IOT 장치를 서버에 온보딩 하는 방법
본 문서의 다양한 실시예들은 사물 인터넷(internet of things, IoT)에 관한 것이며, 예를 들어 IoT 장치를 클라우드 서버 상에 온보딩 하는 방법에 대한 것이다.
클라우드 컴퓨팅(cloud computing) 기술은 사용자와 다른 위치에 존재하는 컴퓨팅 자원을 네트워크를 통해 사용자에게 제공하여 서버, 저장소, 소프트웨어, 또는 분석과 같은 컴퓨팅 서비스를 제공하는 기술이다. 사물 인터넷(internet of things, 이하 IoT)에서 생성된 데이터를 처리하기 위해 클라우드 컴퓨팅이 활용되고 있다. IoT 장치에서 수집한 사용자의 데이터나 컨텐츠는 클라우드 서버에 저장되고, 데이터의 가공을 통해 클라우드 서비스가 사용자에게 제공될 수 있다.
IoT 환경에서 IoT 장치를 사용하기 위해서는 클라우드 서버 상에 IoT 장치를 등록하기 위한 온보딩 과정이 요구된다. IoT 장치를 온보딩 하기 위해서는 IoT 장치를 인증할 수 있는 인증 정보, 클라우드 서버에 접속하기 위해 필요한 URL(uniform resource locator) 정보 및/또는 IoT 장치의 디바이스 타입, 프로파일, 또는 위치 정보와 같은 기기 정보가 필요할 수 있다.
종래의 IoT 환경에서 IoT 장치를 클라우드 서버 상에 온보딩 하기 위해서는 제조 과정에서 제조자가 인증 정보 및 기기 정보를 클라우드 서버에서 제공하는 인터페이스를 통해 등록할 수 있다. 또한, IoT 장치의 사용자는 사용자 장치(예: 스마트 폰, 또는 태블릿 PC)를 이용해 클라우드 서버로부터 온보딩을 위해 필요한 정보들을 수신하고, IoT 장치와 사용자 장치를 근거리 무선 통신(예: Wi-Fi)으로 연결하여 클라우드 서버에서 수신한 정보를 IoT 장치에 전송할 수 있다. 이와 같은 IoT 장치의 온보딩 과정은 사용자 장치가 다른 장치와 기 연결된 근거리 무선 통신을 해제해야 하고, 온보딩의 실패 확률이 높아지는 등 안정성의 문제가 발생될 수 있다.
본 문서의 다양한 실시예들은 IoT 장치가 제조 과정에서 기기 정보의 등록 및/또는 사용자 장치와의 연결 없이, IoT 장치 스스로 클라우드 서버에 온보딩 할 수 있는 방법을 제공할 수 있다.
다양한 실시예에 따른 전자 장치는, 통신 모듈, 메모리, 및 상기 통신 모듈 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치의 온보딩을 지원하는 어플리케이션을 실행하고, 상기 전자 장치의 인증 정보를 획득하고, 상기 통신 모듈을 통해 상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치의 인증 정보를 등록하고, 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치의 설정 정보를 생성하고, 및 상기 생성된 설정 정보 및 상기 메모리에 저장된 상기 전자 장치의 기기 정보를 상기 통신 모듈을 통해 상기 클라우드 네트워크로 전송하여, 상기 전자 장치의 온보딩을 요청하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치를 서버에 온보딩 하는 방법은, 상기 전자 장치의 온보딩을 지원하는 어플리케이션을 실행하는 동작, 상기 전자 장치의 인증 정보를 획득하는 동작, 상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치의 인증 정보를 등록하는 동작, 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치의 설정 정보를 생성하는 동작, 및 상기 생성된 설정 정보 및 상기 전자 장치의 기기 정보를 상기 클라우드 네트워크로 전송하여, 상기 전자 장치의 온보딩을 요청하는 동작을 포함할 수 있다.
본 문서의 다양한 실시예에 따르면, 제조 과정에서 기기 정보의 등록 및/또는 사용자 장치와의 연결 없이, 스스로 클라우드 서버에 온보딩 할 수 있는 IoT 장치 및 IoT 장치를 서버에 온보딩 하는 방법을 제공할 수 있다.
도 1은 다양한 실시예에 따른 IoT 환경 내의 장치들을 도시한 것이다.
도 2a 및 도 2b는 다양한 실시예에 따른 IoT 시스템의 각 장치들을 도시한 것이다.
도 3은 다양한 실시예에 따른 IoT 장치 및/또는 사용자 장치의 블록도이다.
도 4는 다양한 실시예에 따른 IoT 장치의 블록도이다.
도 5는 일 실시예에 따른 IoT 장치의 온보딩 방법의 흐름도이다.
도 6은 다양한 실시예에 따른 IoT 장치의 온보딩 방법의 흐름도이다.
도 7은 일 실시예에 따른 IoT 장치가 인증 정보를 획득하는 방법을 도시한 것이다.
도 8은 일 실시예에 따른 IoT 장치가 인증 정보를 획득하는 방법을 도시한 것이다.
도 9는 다양한 실시예에 따른 제조자가 IoT 장치의 정보를 등록하는 과정을 도시한 것이다.
도 10은 다양한 실시예에 따른 IoT 장치의 온보딩을 위한 IoT 장치의 인증 정보의 등록 과정을 도시한 것이다.
도 11은 다양한 실시예에 따른 IoT 장치의 온보딩을 위한 IoT 장치의 인증 정보의 등록 과정을 도시한 것이다.
도 12는 다양한 실시예에 따른 IoT 장치의 온보딩을 위한 브로커 URL을 획득하는 과정을 도시한 것이다.
도 13은 다양한 실시예에 따른 IoT 장치의 온보딩 과정을 도시한 것이다.
도 14는 다양한 실시예에 따른 IoT 장치의 온보딩 완료 과정을 도시한 것이다.
도 15는 다양한 실시예에 따른 IoT 장치의 어플리케이션 화면을 도시한 것이다.
도 16은 다양한 실시예에 따른 사용자 장치의 어플리케이션 화면을 도시한 것이다.
도 1은 다양한 실시예에 따른 IoT 환경(또는 IoT 시스템) 내의 장치들을 도시한 것이다.
도 1을 참조 하면, IoT(internet of things) 시스템 (100)은 적어도 하나의 리프 장치(120)(leaf device), 적어도 하나의 허브 장치(110)(hub device)(또는 엣지 장치(edge device)), 사용자 장치(130)(user device) 및 클라우드 네트워크(140)(cloud network)를 포함할 수 있다. 예를 들면, 리프 장치(120), 허브 장치(110), 및 사용자 장치(130)는 인접하는 위치(예: 집 안)에 배치되어 동일한 홈 네트워크(예: 동일한 AP(access point))에 연결될 수 있고, 클라우드 네트워크(140)는 원격으로 위치하되 인터넷을 통해 리프 장치(120), 허브 장치(110), 및 사용자 장치(130)와 연결될 수 있다. 본 문서에서 IoT 시스템(100)의 허브 장치(110), 리프 장치(120)는 IoT 장치로 지칭될 수도 있다.
본 문서의 다양한 실시예들에서 IoT 시스템의 각 장치를 이용해 클라우드 컴퓨팅 서비스(cloud computing service)를 제공할 수 있다. 예를 들어, 모션 센서(123c)에서 모션이 감지되는 경우, 해당 센싱 데이터는 클라우드 네트워크(140)로 제공되고, 클라우드 네트워크(140)는 모션 센서(123c)의 이벤트와 맵핑된 동작을 확인하여 전구(123a)를 온 시키기 위한 커맨드를 전송할 수 있다.
또한, 본 문서의 다양한 실시예들에서 IoT 시스템의 각 장치를 이용해 엣지 컴퓨팅 서비스(edge computing service)를 제공할 수 있다. 엣지 컴퓨팅 서비스는 리프 장치와 인접하여 위치하고 동일한 홈 네트워크 상에 위치하는 허브 장치에 리프 장치에서 획득한 데이터를 전송하고, 허브 장치 상에서 일련의 데이터 처리 및 기타 서비스를 제공하는 기술을 의미할 수 있다. 본 문서의 다양한 실시예들에서는 센서를 통해 데이터를 획득하는 장치(예: 카메라(121), 냉장고(122), 전구(123a), 디지털 온도계(123b), 또는 모션 센서(123c))를 리프 장치로 정의하지만, 리프 장치는 엣지 컴퓨팅 서비스의 클라이언트 장치, 엔드 장치, 센서 장치, IoT 장치, 또는 슬레이브 장치와 같이 다른 명칭으로 정의될 수도 있다. 또한, 본 문서의 다양한 실시예들에서는 허브 장치로 정의하지만, 허브 장치는 엣지 컴퓨팅 서비스의 엣지 장치, 엣지 서버, 서버 장치, 마스터 장치, 또는 서비스 장치와 같이 다른 명칭으로 정의될 수도 있다.
본 문서에서는 IoT 시스템(100) 내에서 각 장치의 기능, 또는 동작에 따라서 리프 장치(120), 허브 장치(110), 및 사용자 장치(130)로 분류해서 설명하나, 동일한 장치(예: 스마트 폰, 또는 태블릿 PC)가 경우에 따라 리프 장치(120), 허브 장치(110), 및 사용자 장치(130) 중 어느 하나로 동작할 수도 있다. 다시 말하면, 본 문서의 다양한 실시예들에서 설명하는 장치의 명칭, 및/또는 정의가 해당 장치의 기능 및/또는 동작을 제한하지 않는다.
다양한 실시예에 따르면, 리프 장치(120)는 IoT 시스템(100)의 엔드 포인트(end point)로써 센서를 이용해 다양한 데이터를 수집하여 허브 장치(110) 또는 클라우드 네트워크(140)로 전송할 수 있다. 또한, 리프 장치(120)는 클라우드 네트워크(140), 허브 장치(110) 또는 사용자 장치(130)로부터 전달되는 커맨드에 따라 다양한 동작을 수행할 수 있다. 도 1을 참조 하면, 카메라(121), 냉장고(122), 전구(123a), 디지털 온도계(123b), 또는 모션 센서(123c)와 같은 장치가 리프 장치(120)가 될 수 있다.
다양한 실시예에 따르면, 리프 장치(120) 중 적어도 일부(예: 카메라(121), 냉장고(122))는 인터넷을 통해 클라우드 네트워크(140)에 접속할 수 있으며, 리프 장치(120) 중 인터넷 프로토콜(IP)을 지원하지 않는 장치(예: 전구(123a), 디지털 온도계(123b), 또는 모션 센서(123c))는 지원하는 비 IP 기반 통신(예: Bluetooth, Zigbee)으로 중계 장치(124)에 센싱한 데이터를 전송하고, 중계 장치(124)는 인터넷을 통해 클라우드 네트워크(140)에 각 리프 장치(123a, 123b, 123c)의 센싱 데이터를 전송할 수 있다.
다양한 실시예에 따르면, 리프 장치(120)에서 획득되는 데이터는 클라우드 컴퓨팅 서비스 또는 엣지 컴퓨팅 서비스에 의해 처리될 수 있다. 예를 들어, 리프 장치인 카메라(121)에서 획득되는 영상 데이터는 클라우드 네트워크로 전송되고, 클라우드 네트워크로부터 전구(123a)의 온/오프 제어 커맨드가 전송되거나, 및/또는 영상 데이터가 사용자 장치(130)로 실시간으로 제공될 수 있다. 또는, 카메라(121)에서 획득되는 허브 장치(110)로 전송되고, 허브 장치(110)로부터 전구(123a)의 온/오프 제어 커맨드, 영상 데이터가 전송될 수 있다.
다양한 실시예에 따르면, 클라우드 네트워크(140)는 네트워크 상에 위치하고, IoT 시스템(100)에서 클라우드 컴퓨팅 서비스를 지원하는 다양한 서버 장치(예: IoT 매니지 서버, IoT 허브 서버)를 포함할 수 있다. 클라우드 네트워크(140)는 리프 장치(120)에서 수신한 센싱 데이터에 대한 컴퓨팅 처리를 수행하고, 리프 장치(120)의 제어를 위한 명령을 전송할 수 있다.
다양한 실시예에 따르면, 클라우드 네트워크(140)는 홈 네트워크 내의 특정 장치가 허브 장치(110)로 동작할 수 있도록 운영 및 관리하는 기능을 수행할 수 있다. 예를 들어, 클라우드 네트워크(140)는 IoT 서버(예: IoT 매니지 서버, 또는 IoT 허브 서버)를 포함하며, IoT 서버는 허브 장치(110)와 리프 장치(120)의 등록, 연결, 또는 관리와 같은 엣지 컴퓨팅 서비스를 수행하고, 엣지 컴퓨팅 서비스를 위해 필요한 모듈(예: 디바이스 모듈, 및/또는 서비스 모듈)을 허브 장치(110)에 제공할 수 있다.
다양한 실시예에 따르면, 허브 장치(110)는 리프 장치(120)로부터 수신되는 데이터를 직접 처리하거나, 클라우드 네트워크(140)(예: IoT 서버)로 전송할 수 있다. 허브 장치(110)는 TV(112), 또는 태블릿 PC(111)와 같이 엣지 컴퓨팅 서비스를 위해 필요한 하드웨어 및/또는 소프트웨어 자원을 포함하는 장치일 수 있다. 허브 장치(110)는 인터넷을 통해 클라우드 네트워크(140)와 연결될 수 있고, 리프 장치(120)와는 직접 통신(direct communication), 메시 네트워크(mesh network), 또는 액세스 포인트를 통해 통신할 수 있다.
다양한 실시예에 따르면, 홈 네트워크 내에 복수의 허브 장치들(110)이 존재할 수 있으며, 리프 장치(120)는 복수의 허브 장치들(110) 중 어느 하나와 연결되어 데이터를 전송할 수 있다. 예를 들면, 허브 장치(110)는 특정 리프 장치(120)가 연결될 때, 엣지 컴퓨팅 서비스를 위해 필요한 모듈(예: 디바이스 모듈, 및/또는 서비스 모듈)을 클라우드 네트워크(140)로부터 다운로드 받아 실행할 수 있다.
다양한 실시예에 따르면, 허브 장치(110)는 기기 고유의 기능(예: TV의 영상 출력 기능)을 수행할 수 있으며, 고유 기능의 수행과 적어도 일부 동시에 또는 고유 기능을 수행하지 않는 유휴 시간 동안 하드웨어 및/또는 소프트웨어 자원을 통해 엣지 컴퓨팅 서비스를 수행할 수 있다.
다양한 실시예에 따르면, 허브 장치(110)는 이벤트 자동화 처리를 위한 정보들을 포함하는 룰 정보를 저장할 수 있다. 예를 들어, 룰 정보는 특정 리프 장치에서 발생한 트리거 이벤트에 대응하여, 다른 리프 장치에서 수행할 동작을 지시하는 동작 커맨드를 맵핑한 규칙일 수 있다. 허브 장치(110)는 클라우드 네트워크(140)로부터 룰 정보를 수신하여 허브 장치(110)의 메모리 상에 데이터베이스를 구축 할 수 있다.
다양한 실시예에 따르면, 사용자 장치(130)는 어플리케이션을 통해 엣지 컴퓨팅 서비스(edge computing service)와 관련된 다양한 사용자 인터페이스(user interface)를 제공할 수 있다. 예를 들어, 사용자 장치(130)는 리프 장치(120)에서 획득한 데이터(예: 카메라 영상 스트리밍) 또는 상기 데이터를 허브 장치(110) 또는 클라우드 네트워크(140)에서 처리한 결과 데이터(예: 사람 인식)를 디스플레이 상에 표시할 수 있다. 또한, 사용자 장치(130)는 허브 장치(110) 및/또는 리프 장치(120)의 연결, 또는 서버 등록과 같은 사용자 입력을 수신하여 클라우드 네트워크(140)로 전송할 수 있다.
도 2a 및 도 2b는 다양한 실시예에 따른 IoT 시스템의 각 장치들을 도시한 것이다.
도 2a를 참조 하면, IoT 시스템(또는 클라우드 컴퓨팅 시스템, 엣지 컴퓨팅 시스템)(200)은 리프 장치(220), 허브 장치(210), 사용자 장치(230), IoT 허브 서버(250) 및 IoT 매니지 서버(240)를 포함할 수 있다. 도 1을 통해 설명한 바와 같이, 홈 네트워크 상에 다양한 IoT 기기들이 존재할 수 있으며, 도 2에서는 하나의 리프 장치(220)(예: 도 1의 카메라(121))와 하나의 허브 장치(210)(예: 도 1의 TV(112))를 예로 들어 설명하기로 한다.
다양한 실시예에 따르면, IoT 매니지 서버(240)(예: SmartThingsTM 서버)는 엣지 컴퓨팅 서비스의 결정, 연결 및/또는 운영을 위해 다양한 서비스를 제공하는 서버 장치로써, 프로비전 매니저(242), 모듈 매니저(244), 엣지-리프 매니저(246) 를 포함할 수 있다.
다양한 실시예에 따르면, 프로비전 매니저(242)(provision manager)는 허브 장치(210)가 IoT 허브 서버(250)와 연결될 수 있도록 중간에서 중계하는 기능을 수행할 수 있다. 예를 들어, 프로비전 매니저(242)는 허브 장치(210)가 IoT 매니지 서버(240)에 최초 등록되는 경우에, 허브 장치(210)가 IoT 허브 서버(250)와 연결될 수 있도록 하는 연결 스트링(connection string)을 허브 장치(210)에 전송할 수 있다.
다양한 실시예에 따르면, 모듈 매니저(244)(module manager)는 엣지 컴퓨팅 서비스를 위해 제공하는 다양한 모듈 및 각 서비스를 지원하는 기기에 대한 정보들을 관리할 수 있다. 예를 들어, 엣지 컴퓨팅 서비스를 수행하기 위해 필요한 모듈은 허브 장치(210)가 리프 장치(220)로부터 전송되는 데이터를 외부 서버(예: IoT 허브 서버(250))로 전송할 수 있도록 하는 디바이스 모듈(219a, 219b) 및 리프 장치(220)에서 전송되는 데이터를 기반으로 허브 장치(210)에서 서비스를 구현하기 위해 실행되는 프로그램들을 포함하는 서비스 모듈(218)을 포함할 수 있다.
다양한 실시예에 따르면, 엣지-리프 매니저(246)(edge-leaf manager)는 여러 홈 네트워크에 존재하는 허브 장치(210)와 리프 장치(220)의 연결 상태를 관리할 수 있다. 예를 들어, IoT 매니지 서버(240)에 등록된 허브 장치(210)와 리프 장치(220)가 서로 연결 또는 연결 해제 되는 경우, 허브 장치(210) 및/또는 리프 장치(220)에서 연결 또는 연결 해제 정보를 IoT 매니지 서버(240)에 전송하고, IoT 매니지 서버(240)는 실시간으로 어떠한 허브 장치(210)와 리프 장치(220)가 연결되었는지, 어떠한 서비스를 수행하는 중인지에 대한 정보를 저장할 수 있다.
다양한 실시예에 따르면, 리프 장치(220)가 특정 엣지 장치(예: 도 1의 태블릿 PC(111))와 연결되어 엣지 컴퓨팅 서비스를 수행하다가 핸드오버 이벤트에 따라 해당 엣지 장치와 연결을 해제하고 다른 엣지 장치(예: 도 1의 TV(112))와 연결되어 엣지 컴퓨팅 서비스를 수행하는 경우, IoT 매니지 서버(240)는 핸드오버 이벤트에 따라 변경된 허브 장치(210)와 리프 장치(220)의 연결 정보를 업데이트 할 수 있다.
다양한 실시예에 따르면, IoT 허브 서버(250)는 클라우드 컴퓨팅 플랫폼(cloud computing platform)을 지원 하며, 클라우드 환경 내에 있는 리프 장치(220)와 허브 장치(210)가 서로 연결되는 데 필요한 데이터를 제공할 수 있다. IoT 허브 서버(250)는 IoT 허브(252) 및 모듈 레지스트리(254)를 포함할 수 있다.
다양한 실시예에 따르면, 모듈 레지스트리(254)(module registry)는 엣지 컴퓨팅 서비스를 수행하기 위해 필요한 모듈들(예: 디바이스 모듈(219), 서비스 모듈(218))의 저장소일 수 있다.
다양한 실시예에 따르면, IoT 허브(IoT hub)(252)는 허브 장치(210)와 연결을 유지하며, 모듈 레지스트리(254)에 저장된 모듈을 허브 장치(210)에 제공하고, 여러 허브 장치(210)에 설치된 모듈들의 정보를 유지할 수 있다.
다양한 실시예에 따르면, 허브 장치(210)(예: 도 1의 엣지 장치(110))는 TV, 태블릿 PC, 또는 랩톱 PC와 같은 기기 고유의 기능을 가지고, 엣지 컴퓨팅 서비스를 위한 하드웨어 및/또는 소프트웨어 구성(예: 엣지 런타임, 및/또는 기본 모듈)을 포함하는 장치일 수 있다. 고유 기능의 수행과 적어도 일부 동시에 또는 고유 기능을 수행하지 않는 유휴 시간 동안 하드웨어 및/또는 소프트웨어 자원을 통해 엣지 컴퓨팅 서비스를 수행할 수 있다.
다양한 실시예에 따르면, 허브 장치(210)는 클라우드(예: IoT 매니지 서버(240), IoT 허브 서버(250))와 통신하기 위한 인터페이스(212), 운영 체제(OS, operating system)(214) 엣지 런타임(216), 서비스 모듈(218) 및 디바이스 모듈(219)을 포함할 수 있다. 예를 들면, 허브 장치(210)는 운영 체제(214)를 동작하기 위한 하드웨어 조건(예: CPU 성능)이 필요할 수 있고, RTOS(real time operating system)로 구성될 수 있다.
허브 장치(210)의 공정 과정 또는 소프트웨어 업그레이드를 통해 허브 장치(210)에 엣지 런타임(216)(edge runtime) 및 엣지 컴퓨팅을 위한 기본 모듈이 설치될 수 있다. 예를 들어, 엣지 런타임(216)은 IoT 서버와 연동을 위한 데몬(daemon) 프로그램을 포함할 수 있으며, 기본 모듈은 IoT 서버와 통신에 필요한 프로그램으로써 컨테이너(container)로 구성될 수 있다. 예를 들면, 기본 모듈은 엣지 런타임(216) 환경에서 설치되는 컨테이너일 수 있다.
다양한 실시예에 따르면, 허브 장치(210)는 특정 리프 장치(220)와 연결되는 경우, IoT 허브 서버(250)로부터 엣지 컴퓨팅 서비스를 수행하기 위한 적어도 하나의 모듈을 수신하여 설치할 수 있다. 예를 들면, 적어도 하나의 모듈은, 연결되는 리프 장치(220)의 종류 및/또는 수행할 수 있는 서비스의 종류에 따라 결정될 수 있으며, 해당 리프 장치(220)에 대응하는 디바이스 모듈(219) 및/또는 수행할 서비스의 종류에 대응하는 서비스 모듈(218)을 포함할 수 있다. 허브 장치(210)가 복수의 리프 장치들(220)과 연결되는 경우, 각각의 리프 장치(220)와 대응하는 디바이스 모듈(219)(예: 디바이스 모듈 1(219a), 디바이스 모듈 2(219b))이 설치될 수 있다. 허브 장치(210)는 프로비전(provision) 과정에서 엣지 런타임(216)을 실행하여 IoT 허브 서버(250)와 연결되고, 리프 장치(220)의 종류에 따라 상기 적어도 하나의 모듈이 추가로 설치되고 실행될 수 있다. 허브 장치(210)는 IoT 허브 서버(250) 또는 IoT 매니지 서버(240)로부터 수신되는 커맨드에 따라 엣지 모드를 활성화 또는 비활성화 할 수 있다. 엣지 모드가 비활성화 된 경우 허브 장치(210)는 고유의 기능(예: TV의 영상 출력 기능)만 수행하게 되고, 디바이스 모듈(219) 및 서비스 모듈(218)은 실행되지 않을 수 있다.
다양한 실시예에 따르면, 리프 장치(220)(예: 도 1의 리프 장치(120))는 센서를 이용해 획득한 데이터를 연결된 허브 장치(210) 또는 클라우드 네트워크(예: IoT 매니지 서버(240), 및/또는 IoT 허브 서버(250))에 전송할 수 있다. 예를 들어, 리프 장치(220)로 동작하는 IP(internet protocol) 카메라의 경우, 허브 장치(210)와 연결되어 영상 스트리밍을 허브 장치(210)에 전송할 수 있다.
다양한 실시예에 따르면, 사용자 장치(230)는 스마트 폰, 또는 태블릿 PC와 같이 다양한 어플리케이션을 실행할 수 있고, 사용자 인터페이스(UI, user interface)를 표시할 수 있는 디스플레이를 포함하는 장치일 수 있다. 사용자 장치(230)는 엣지 컴퓨팅 서비스를 위한 어플리케이션을 설치 및/또는 실행하고, 해당 어플리케이션을 통해 리프 장치(220)에서 생성된 컨텐츠와 알림(notification)을 수신할 수 있다. 허브 장치(210)와 리프 장치(220)가 연결된 경우, 리프 장치(220)에서 생성된 컨텐츠나 알림은, 허브 장치(210)를 통하여 사용자 장치(230)에 전송될 수 있다.
다양한 실시예에 따르면, IoT 허브 서버(250) 및 IoT 매니지 서버(240)의 기능은 하나의 서버 장치(예: 도 2b의 IoT 서버(260))에 의해 수행될 수 있다. 예를 들어, 도 2b를 참조 하면, IoT 서버(260)는 앞서 설명한 IoT 허브 서버(250) 및 IoT 매니지 서버(240)의 구성인 IoT 허브(261)(예: 도 2a의 IoT 허브(252)), 모듈 레지스트리(262)(예: 도 2a의 모듈 레지스트리(254)), 프로비전 매니저(263)(예: 도 2a의 프로비전 매니저(242)), 모듈 매니저(264)(예: 도 2a의 모듈 매니저(244)) 및 엣지-리프 매니저(265)(예: 도 2a의 엣지-리프 매니저(246))를 포함할 수 있다.
또는 상기 기능들은 셋 이상의 복수의 서버 장치들에 의해 수행될 수도 있다. 예를 들어, 도 2a의 IoT 허브 서버(250), IoT 매니지 서버(240)의 각 구성들이 네트워크 상에 존재하는 셋 이상의 복수의 서버 장치들에 의해 분산 배치 되거나, 각 구성에서 수행되는 일부 동작들도 여러 서버 장치들에 의해 분산 수행될 수 있다.
도 3은 다양한 실시예에 따른 IoT 장치 및/또는 사용자 장치의 블록도이다.
앞서 설명한 바와 같이, 동일한 장치가 IoT 시스템(예: 도 1의 IoT 시스템(100))에서 IoT 장치(예: 도 1의 허브 장치(110), 리프 장치(120))로 동작할 수 있고, 사용자 장치(예: 도 1의 사용자 장치(130))로 동작할 수 있다. 이하에서는 도 3을 통해 IoT 장치 및/또는 사용자 장치로 동작할 수 있는 전자 장치(301)의 구성 및/또는 기능에 대해 상세히 설명하기로 한다.
도 3을 참조하면, 네트워크 환경(300)에서 전자 장치(301)는 제 1 네트워크(398)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(302)와 통신하거나, 또는 제 2 네트워크(399)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(304) 또는 서버(308) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(301)는 서버(308)를 통하여 전자 장치(304)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(301)는 프로세서(320), 메모리(330), 입력 모듈(350), 음향 출력 모듈(355), 디스플레이 모듈(360), 오디오 모듈(370), 센서 모듈(376), 인터페이스(377), 연결 단자(378), 햅틱 모듈(379), 카메라 모듈(380), 전력 관리 모듈(388), 배터리(389), 통신 모듈(390), 가입자 식별 모듈(396), 또는 안테나 모듈(397)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(301)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(378))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(376), 카메라 모듈(380), 또는 안테나 모듈(397))은 하나의 구성요소(예: 디스플레이 모듈(360))로 통합될 수 있다.
프로세서(320)는, 예를 들면, 소프트웨어(예: 프로그램(340))를 실행하여 프로세서(320)에 연결된 전자 장치(301)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(320)는 다른 구성요소(예: 센서 모듈(376) 또는 통신 모듈(390))로부터 수신된 명령 또는 데이터를 휘발성 메모리(332)에 저장하고, 휘발성 메모리(332)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(334)에 저장할 수 있다. 일실시예에 따르면, 프로세서(320)는 메인 프로세서(321)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(323)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(301)가 메인 프로세서(321) 및 보조 프로세서(323)를 포함하는 경우, 보조 프로세서(323)는 메인 프로세서(321)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(323)는 메인 프로세서(321)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(323)는, 예를 들면, 메인 프로세서(321)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(321)를 대신하여, 또는 메인 프로세서(321)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(321)와 함께, 전자 장치(301)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(360), 센서 모듈(376), 또는 통신 모듈(390))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(323)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(380) 또는 통신 모듈(390))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(323)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(301) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(308))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(330)는, 전자 장치(301)의 적어도 하나의 구성요소(예: 프로세서(320) 또는 센서 모듈(376))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(340)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(330)는, 휘발성 메모리(332) 또는 비휘발성 메모리(334)를 포함할 수 있다.
프로그램(340)은 메모리(330)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(342), 미들 웨어(344) 또는 어플리케이션(346)을 포함할 수 있다.
입력 모듈(350)은, 전자 장치(301)의 구성요소(예: 프로세서(320))에 사용될 명령 또는 데이터를 전자 장치(301)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(350)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(355)은 음향 신호를 전자 장치(301)의 외부로 출력할 수 있다. 음향 출력 모듈(355)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(360)은 전자 장치(301)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(360)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(360)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(370)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(370)은, 입력 모듈(350)을 통해 소리를 획득하거나, 음향 출력 모듈(355), 또는 전자 장치(301)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(302))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(376)은 전자 장치(301)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(376)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(377)는 전자 장치(301)가 외부 전자 장치(예: 전자 장치(302))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(377)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(378)는, 그를 통해서 전자 장치(301)가 외부 전자 장치(예: 전자 장치(302))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(378)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(379)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(379)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(380)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(380)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(388)은 전자 장치(301)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(389)는 전자 장치(301)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(389)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(390)은 전자 장치(301)와 외부 전자 장치(예: 전자 장치(302), 전자 장치(304), 또는 서버(308)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(390)은 프로세서(320)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(390)은 무선 통신 모듈(392)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(394)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(398)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(399)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(304)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(392)은 가입자 식별 모듈(396)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(398) 또는 제 2 네트워크(399)와 같은 통신 네트워크 내에서 전자 장치(301)를 확인 또는 인증할 수 있다.
무선 통신 모듈(392)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(392)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(392)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(392)은 전자 장치(301), 외부 전자 장치(예: 전자 장치(304)) 또는 네트워크 시스템(예: 제 2 네트워크(399))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(392)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(397)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(397)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(397)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(398) 또는 제 2 네트워크(399)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(390)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(390)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(397)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(397)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(399)에 연결된 서버(308)를 통해서 전자 장치(301)와 외부의 전자 장치(304)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(302, 또는 304) 각각은 전자 장치(301)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(301)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(302, 304, 또는 308) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(301)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(301)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(301)로 전달할 수 있다. 전자 장치(301)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(301)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(304)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(308)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(304) 또는 서버(308)는 제 2 네트워크(399) 내에 포함될 수 있다. 전자 장치(301)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
도 4는 다양한 실시예에 따른 IoT 장치의 블록도이다.
도 4를 참조 하면, IoT 장치(400)는 통신 모듈(430), 디스플레이(440), 센서(450), 프로세서(410) 및 메모리(420)를 포함할 수 있다. IoT 장치(400)는 도 3의 전자 장치(301)의 구성 및/또는 기능 중 적어도 일부를 더 포함할 수 있으며, 도시된 구성 중 일부가 생략 또는 치환되더라도 본 문서의 다양한 실시예들을 구현할 수 있다.
다양한 실시예에 따르면, IoT 장치(400)는 IoT 시스템(예: 도 1의 IoT 시스템(100)) 상의 어느 하나의 장치로 구현될 수 있다. 예를 들어, IoT 장치(400)는 IoT 시스템의 허브 장치(예: 도 1의 태블릿 PC(111), 또는 TV(112)) 또는 리프 장치(예: 도 1의 카메라(121), 냉장고(122), 전구(123a), 디지털 온도계(123b), 또는 모션 센서(123c)) 중 어느 하나일 수 있다. 또는, IoT 장치(400)는 스마트 폰, 태블릿 PC와 같이, 다양한 센서(450)(예: 카메라, 조도 센서, 또는 마이크로 폰)을 포함하고, 정해진 이상의 프로세서 및/또는 메모리 리소스를 구비하는 장치일 수 있다. 이 경우, IoT 장치(400)는 IoT 서비스를 지원하는 어플리케이션(예: 업사이클링(upcycling) 어플리케이션)을 설치 및 실행하여, IoT 서비스를 제공할 수 있다.
다양한 실시예에 따르면, 디스플레이(440)는 영상을 표시하기 위한 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이 중 어느 하나로 구현될 수 있으며, 이에 한정되지는 않는다. 디스플레이(440)는 사용자의 신체 일부(예: 손가락) 또는 입력 장치(예: 스타일러스 펜)를 이용한 터치 및/또는 근접 터치(또는 호버링) 입력을 감지하는 터치 스크린으로 구성될 수 있다. 디스플레이(440)는 도 1의 디스플레이 모듈(160)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 디스플레이(440)는 적어도 일부가 플렉서블(flexible) 할 수 있으며, 폴더블(foldable) 디스플레이 또는 롤러블(rollable) 디스플레이로 구현될 수도 있다.
다양한 실시예에 따르면, 통신 모듈(430)은 무선 통신(예: Wi-Fi, 셀룰러 통신)을 지원하며, IoT 시스템의 다른 장치 또는 클라우드 네트워크와 데이터를 송수신할 수 있다. 통신 모듈(430)은 AP(access point)를 통해 다른 장치와 통신하거나, P2P(예: Wi-Fi Direct, 또는 Wi-Fi Aware) 통신을 이용하여 다른 장치와 직접 통신할 수도 있다.
다양한 실시예에 따르면, IoT 장치(400)는 적어도 하나의 센서(450)를 포함할 수 있다. 예를 들어, IoT 장치(400)는 카메라, 조도 센서, 모션 센서, 또는 마이크로 폰과 같은 센서(450)를 포함할 수 있다. IoT 장치(400)는 센서(450)를 통해 획득한 센서(450) 데이터를 클라우드 네트워크로 전송할 수 있으며, 클라우드(또는 엣지) 기반으로 로컬 네트워크 상의 다른 장치를 제어하는 IoT 환경을 제공할 수 있다.
다양한 실시예에 따르면, 메모리(420)는 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있으며, IoT 장치(400)의 적어도 하나의 구성요소(예: 프로세서(410))에서 사용되는 다양한 데이터를 일시적 또는 영구적으로 저장할 수 있다. 메모리(420)는 프로세서(410)에서 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(410)에 의해 인식될 수 있는 산술 및 논리 연산, 데이터 이동, 또는 입출력을 포함하는 다양한 제어 명령을 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(410)는 IoT 장치(400)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성으로써, 센서(450), 디스플레이(440), 통신 모듈(430), 및/또는 메모리(420)와 같은 IoT 장치(400)의 각 구성요소와 작동적으로(operatively), 기능적으로(functionally) 및/또는 전기적으로(electrically) 연결될 수 있다.
다양한 실시예에 따르면, 프로세서(410)가 IoT 장치(400) 내에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 이하에서는 사전에 별도의 등록 과정 없이 IoT 장치(400)를 클라우드 네트워크에 실시간으로 등록하는 self-onboarding을 위한 다양한 실시예에 대해 설명하기로 한다. 후술할 프로세서(410)의 동작은 메모리(420)에 저장된 인스트럭션들을 실행함에 따라 수행될 수 있다.
다양한 실시예에 따르면, 프로세서(410)는 IoT 장치(400)의 온보딩을 지원하는 어플리케이션을 실행할 수 있다. 예를 들어, 어플리케이션은 스마트 폰, 또는 태블릿 PC와 같은 전자 장치의 센서(450)(예: 카메라, 조도 센서, 모션 센서, 또는 마이크로 폰)을 이용해 IoT 서비스를 제공하는 어플리케이션(예: 업사이클링 어플리케이션)일 수 있다.
다양한 실시예에 따르면, 프로세서(410)는 전자 장치의 인증 정보를 획득할 수 있다. 인증 정보는 X.509 인증서와 같은 공개 키 기반의 암호화 알고리즘에 의해 생성된 인증서, 공개 키, 및/또는 시리얼 넘버를 포함할 수 있다. IoT 장치(400)는 생성된 인증 정보를 메모리(420)의 지정된 영역에 저장할 수 있다.
일 실시예에 따르면, IoT 장치(400)는 IoT 장치(400)의 인증서 생성 모듈(예: Samsung attestation key)을 이용해 IoT 장치(400)의 제조사에서 운영하는 인증서 발급 서버로부터 인증 정보를 발급 받을 수 있다. 다른 일 실시예에 따르면, IoT 장치(400)는 어플리케이션을 통해 계정을 기반으로 제조사에서 운영하는 서버에 로그인 하여 토큰을 수신하고, 수신된 토큰을 기반으로 클라우드 네트워크에 인증 정보를 요청하여 발급 받을 수 있다.
다양한 실시예에 따르면, 프로세서(410)는 통신 모듈(430)을 통해 인증 정보를 클라우드 네트워크에 전송하여, 전자 장치의 인증 정보를 등록할 수 있다. 예를 들어, IoT 장치(400)는 Wi-Fi 액세스 포인트를 통해 획득한 인증 정보를 클라우드 네트워크의 접속 게이트웨이(예: great gate)로 전송하고, 기기 식별 서버(예: device identity)에 인증 정보가 저장될 수 있다.
다양한 실시예에 따르면, 프로세서(410)는 어플리케이션 상의 사용자 입력에 기초하여 전자 장치의 설정 정보를 생성할 수 있다. 예를 들어, 설정 정보는 기기 명칭, 위치 정보 및 룸 정보를 포함할 수 있다. 예를 들어, IoT 장치(400)는 클라우드 네트워크의 위치 서버(예: location service)로부터 위치 리스트 및 룸 리스트를 수신하고, 어플리케이션에 위치 리스트의 여러 위치 및 룸 리스트의 여러 룸 정보를 출력할 수 있으며, 사용자의 선택에 따라 위치 및 룸을 선택할 수 있다. 이 경우, 위치 서버는 IoT 장치(400)와 동일한 계정을 통해 등록된 다른 IoT 장치의 위치/룸 정보의 리스트를 IoT 장치(400)에 제공할 수 있다. IoT 장치(400)는 입력된 설정 정보를 클라우드 네트워크에 전송하여, 클라우드 네트워크 상에 저장될 수 있다.
다양한 실시예에 따르면, 인증 정보가 등록된 이후, 프로세서(410)는 클라우드 네트워크에 설정 정보(예: 위치 정보, 또는 룸 정보) 및 기기 정보(예: 시리얼 넘버, MNID, 제품 ID, 온보딩 ID, 또는 모델 명)를 클라우드 네트워크에 전송하고, IoT 장치(400)의 온보딩을 요청할 수 있다. 일 실시예에 따르면, 프로세서(410)는 클라우드 네트워크의 접속 게이트웨이로 온보딩을 위한 접속 정보(예: MQTT(message queuing telemetry transport) 브로커 URL)를 요청하고, 접속 게이트웨이로부터 가장 가까운 브로커 서버에 대한 접속 정보를 수신할 수 있다. 프로세서(410)는 수신한 접속 정보를 통해 클라우드 네트워크에 접속하여 온보딩을 요청할 수 있다.
다양한 실시예에 따르면, 클라우드 네트워크는 IoT 장치(400)로부터 수신한 설정 정보, 기기 정보 및/또는 인증 정보에 기반하여 IoT 장치(400)의 온보딩 과정을 진행할 수 있다. 클라우드 네트워크는 IoT 장치(400)에서 전송한 인증 정보 및 기 등록된 인증 정보를 이용해 IoT 장치(400)를 검증 하고, 검증이 완료되는 경우 기기 식별 서버(예: device identity)에 IoT 장치(400)의 기기 정보, 설정 정보 및 사용자가 선택한 기능(예: 트리거 이벤트, 또는 동작 커맨드)을 맵핑하여 저장할 수 있다.
다양한 실시예에 따르면, IoT 장치(400)의 온보딩이 완료되는 경우, IoT 장치(400)는 IoT 환경에서 어플리케이션을 통해 선택된 기능을 수행할 수 있다. 일 실시예에 따르면, IoT 장치(400)는 카메라를 이용해 주변 영상을 촬영하여 클라우드 네트워크에 전송할 수 있다. 클라우드 네트워크는 해당 사용자의 사용자 장치로 IoT 장치(400)에서 사용된 영상을 실시간 스트리밍 방식으로 전송하여, 사용자 장치에서 실내 영상을 확인할 수 있다. 다른 일 실시예에 따르면, IoT 장치(400)는 센서(450)(예: 조도 센서)를 이용해 주변 조도를 센싱하여 클라우드 네트워크에 전송하고, 클라우드 네트워크는 IoT 장치(400)와 맵핑된 로컬 네트워크의 다른 IoT 장치(예: 전구)에 대해 조도 값에 맵핑된 기능(예: 전구 온)을 실행하도록 커맨드를 전송할 수 있다.
도 5는 일 실시예에 따른 IoT 장치의 온보딩 방법의 흐름도이다.
도 5는 IoT 장치(예: 도 4의 IoT 장치(400))의 제조자(manufacturer)가 사전에 클라우드 네트워크에 IoT 장치의 기기 정보 및 인증 정보를 등록 하고, 사용자 장치(예: 도 1의 사용자 장치(130))와 soft AP 모드로 연결되어 사용자 장치를 통해 클라우드 네트워크로 온보딩을 요청하는 실시예에 대한 것이다.
일 실시예에 따르면, 동작 510에서, IoT 장치의 제조자가 클라우드 네트워크에 IoT 장치의 인증 정보 및 기기 정보를 등록할 수 있다. 예를 들어, IoT 장치의 제조 과정에서 클라우드 네트워크에서 제공하는 개발자 워크스페이스(develop workspace)를 통해 제조자가 IoT 장치의 인증 정보 및 기기 정보를 등록할 수 있다. 개발자 워크스페이스는 클라우드 네트워크에서 IoT 장치의 인증 및 등록과 관련된 서비스를 제공하는 온라인 환경일 수 있다
IoT 장치의 제조자는 개발자 워크스페이스에 계정으로 접속하여, 기기 타입, 프로필 정보와 같은 IoT 장치의 기기 정보(예: 기기 타입, 프로필 정보)를 등록 하고, ED25519, X.509와 같은 인증 정보를 등록할 수 있다. 또한, IoT 장치의 제조자는 IoT 기기의 SDK(software development kit)에서 기기 정보 및 온보딩 구성 정보를 업데이트 하고, 클라우드 서비스에 필요한 소프트웨어 들을 저장(또는 flash) 할 수 있다.
이 후, IoT 장치를 구입한 사용자가 IoT 장치를 클라우드 네트워크에 온보딩 하는 과정을 진행할 수 있다.
일 실시예에 따르면, 동작 520에서, IoT 장치는 사용자 장치로부터 크리덴셜(credential) 정보를 획득할 수 있다. 이 경우, IoT 장치는 soft AP 모드로 동작 하여, 사용자 장치와 Wi-Fi 연결을 수립할 수 있다. IoT 장치가 사용자 장치로부터 획득하는 credential 정보는 Wi-Fi 프로비저닝 정보, 클라우드 프로비저닝 정보 및 기기 구성 프로비저닝 정보를 포함할 수 있다. 예를 들어, Wi-Fi 프로비저닝 정보는 사용자 장치에 저장된 접속할 액세스 포인트의 SSID 및 패스워드를 포함하고, 클라우드 프로비저닝 정보는 사용자 장치가 클라우드 네트워크로부터 획득한 접속할 브로커 URL 및 인증 정보를 포함하며, 기기 설정 프로비저닝 정보는 사용자 장치를 통해 입력한 위치, 언어, 국가 코드, 시간대, 모델 명, 또는 기기 명칭과 같은 부가 정보를 포함할 수 있다.
일 실시예에 따르면, 동작 530에서, IoT 장치는 사용자 장치로부터 수신한 크리덴셜 정보를 기반으로 클라우드 네트워크에 접속하여 온보딩을 요청할 수 있다.
도 5의 실시예의 경우, IoT 장치가 위치, 또는 기기 명칭과 같은 기기 설정 정보의 입력 기능을 제공하지 않기 때문에, 사용자 장치를 통해 해당 정보를 입력해야 할 수 있다. 이를 위해, IoT 장치는 soft AP 모드로 진입하고 사용자 장치는 soft AP에 접속해서 기기 설정 프로비저닝 정보 및 클라우드 프로비저닝 정보를 제공할 수 있다. 또는, IoT 장치는 블루투스(또는 저전력 블루투스) 애드버타이징을 통해 discoverable 모드로 진입하여 인접하는 사용자 장치를 선택해서 셋업 과정을 진행할 수 있다.
이와 같은 방식은 안정성에 문제가 발생하고, 사용자 장치가 기존의 다른 장치와의 Wi-Fi 연결을 해제해야 하며, IoT 장치와 사용자 장치 간의 정보를 주고 받는 과정에서 온보딩의 실패 가능성을 높이는 문제들이 발생할 수 있다.
이하에서는, 도 6 내지 도 14를 통해 IoT 장치가 사용자 장치와 연결되지 않고 스스로 클라우드 네트워크에 온보딩 할 수 있도록 하는 다양한 실시예에 대해 설명하기로 한다.
도 6은 다양한 실시예에 따른 IoT 장치의 온보딩 방법의 흐름도이다.
다양한 실시예에 따르면, 동작 610에서, IoT 장치(예: 도 4의 IoT 장치(400))는 인증 정보를 생성할 수 있다. 예를 들어, 인증 정보는 X.509 인증서와 같은 공개 키 기반의 암호화 알고리즘에 의해 생성된 인증서, 공개 키, 및/또는 시리얼 넘버를 포함할 수 있다. IoT 장치는 생성된 인증 정보를 메모리의 지정된 영역에 저장할 수 있다.
일 실시예에 따르면, IoT 장치는 IoT 장치의 인증서 생성 모듈(예: Samsung attestation key)을 이용해 IoT 장치의 제조사에서 운영하는 인증서 발급 서버로부터 인증 정보를 발급 받을 수 있다. 본 실시예에 대해서는 도 7을 통해 보다 상세히 설명하기로 한다.
다른 일 실시예에 따르면, IoT 장치는 어플리케이션(예: 업사이클링 어플리케이션)을 통해 계정을 기반으로 제조사에서 운영하는 서버에 로그인 하여 토큰을 수신하고, 수신된 토큰을 기반으로 클라우드 네트워크에 인증 정보를 요청하여 발급 받을 수 있다. 본 실시예에 대해서는 도 8을 통해 보다 상세히 설명하기로 한다.
다양한 실시예에 따르면, 동작 620에서, IoT 장치는 클라우드 네트워크에 실시간으로 인증 정보를 등록할 수 있다. 예를 들어, IoT 장치는 Wi-Fi 액세스 포인트를 통해 획득한 인증 정보를 클라우드 네트워크의 접속 게이트웨이(예: great gate)로 전송할 수 있다. 예를 들어, 접속 게이트웨이는 클라우드 네트워크 상에서 로컬 네트워크의 각 장치의 연결 및/또는 디바이스 이벤트를 수신하기 위한 서버 장치 또는 서비스 모듈일 수 있다. 본 실시예의 경우, IoT 장치는 soft AP 모드로 동작하여 사용자 장치와의 연결 없이, 인증 정보를 직접 클라우드 네트워크로 전송할 수 있다.
다양한 실시예에 따르면, 동작 630에서, 클라우드 네트워크는 IoT 장치에서 전송한 인증 정보를 검증(verify) 할 수 있다. 예를 들어, 클라우드 네트워크의 접속 게이트웨이(예: great gate)로 전송되고, 접속 게이트웨이는 기기 식별 서버(예: device identity)에 인증 정보의 검증을 요청할 수 있다. 기기 식별 서버에서 인증 정보가 검증되는 경우, 인증 정보와 IoT 장치의 기기 정보가 맵핑되어 기기 식별 서버 상에 저장될 수 있다.
다양한 실시예에 따르면, 동작 640에서, IoT 장치는 어플리케이션 상에서 사용자 입력에 기초하여, 설정 정보를 입력할 수 있다. 예를 들어, 설정 정보는 기기 명칭, 위치 정보 및 룸 정보를 포함할 수 있다. 예를 들어, IoT 장치는 클라우드 네트워크의 위치 서버(예: location service)로부터 위치 리스트 및 룸 리스트를 수신하고, 어플리케이션에 위치 리스트의 여러 위치 및 룸 리스트의 여러 룸 정보를 출력할 수 있으며, 사용자의 선택에 따라 위치 및 룸을 선택할 수 있다. 이 경우, 위치 서버는 IoT 장치와 동일한 계정을 통해 등록된 다른 IoT 장치의 위치/룸 정보의 리스트를 IoT 장치에 제공할 수 있다. IoT 장치는 입력된 설정 정보를 클라우드 네트워크에 전송하여, 클라우드 네트워크 상에 저장될 수 있다.
다양한 실시예에 따르면, 동작 650에서, 클라우드 네트워크는 IoT 장치로부터 수신한 설정 정보, 기기 정보 및/또는 인증 정보에 기반하여 IoT 장치의 온보딩 과정을 진행할 수 있다. 일 실시예에 따르면, IoT 장치의 어플리케이션은 클라우드 네트워크의 접속 게이트웨이로 온보딩을 위한 접속 정보(예: MQTT(message queuing telemetry transport) 브로커 URL)를 요청하고, 접속 게이트웨이로부터 가장 가까운 브로커 서버에 대한 접속 정보를 수신할 수 있다. 이 후, IoT 장치는 해당 접속 정보를 통해 클라우드 네트워크에 접속하고, 인증 과정을 거쳐 온보딩이 완료될 수 있다.
IoT 장치의 온보딩이 완료되는 경우, 어플리케이션을 통해 선택된 기능에 따라 로컬 네트워크 상에서 허브 장치 또는 리프 장치로 동작할 수 있다.
도 7은 일 실시예에 따른 IoT 장치가 인증 정보를 획득하는 방법을 도시한 것이다.
다양한 실시예에 따르면, IoT 장치는 인증서 생성 모듈을 이용해 인증서 발급 서버(770)로부터 인증 정보를 발급 받고, 발급 받은 인증 정보를 클라우드 네트워크에 전송하여 인증 정보의 등록을 요청할 수 있다.
다양한 실시예에 따르면, 동작 701에서, 사용자 장치(130)의 어플리케이션(예: SmartThings 어플리케이션)은 관리자 서버(775)를 통해 인증 정보를 클라우드 네트워크에 등록할 수 있다. 예를 들어, 관리자 서버(775)는 사용자 장치(130)의 제조사에서 운영하는 서버 장치로써, 사용자 장치에 클라우드 서비스를 제공하기 위해 필요한 인증 정보를 저장할 수 있다.
다양한 실시예에 따르면, 동작 702에서, IoT 장치의 어플리케이션(712)(예: 업사이클링 어플리케이션)은 인증서 발급 서버(770)(예: key store)에 인증 정보를 요청할 수 있다. 예를 들어, 인증서 발급 서버(770)는 IoT 장치의 제조사에서 운영하는 인증서 발급 서비스로써, IoT 장치는 인증서 생성 모듈(예: Samsung attestation key)을 이용해 인증 정보를 발급 받을 수 있다. 일 실시예에 따르면, 인증 정보는 리프 인증서(leaf certificate 또는 end-entity certificate)로써, X.509 인증서와 같은 공개 키 기반의 암호화 알고리즘에 의해 생성된 인증서일 수 있다.
다양한 실시예에 따르면, 동작 703에서, 인증서 발급 서버(770)는 IoT 장치의 요청에 따라 인증서를 발급 할 수 있다.
다양한 실시예에 따르면, 동작 704에서, IoT 장치의 어플리케이션(712)은 발급 받은 인증 정보를 접속 게이트웨이(752)(예: great gate)를 통해 클라우드 네트워크에 등록할 수 있다.
다양한 실시예에 따르면, 동작 705에서, 접속 게이트웨이(752)는 인증 서버(758)에 IoT 장치가 전송한 인증 정보를 업데이트 할 수 있다. 동작 706에서, 인증 서버(758)는 기기 식별 서버(754)에 IoT 장치의 인증 정보를 등록할 수 있다.
다양한 실시예에 따르면, 인증 정보의 등록 이후 IoT 장치의 온보딩 절차가 진행되는 경우, 동작 707에서, IoT 장치의 인증 정보와 클라우드 네트워크에 등록된 인증 정보의 상호 인증 과정을 수행할 수 있다. 예를 들어, 상호 인증 과정은 X.509 인증서에 기반하여 수행될 수 있다. 동작 708에서, 접속 게이트웨이(752)와 기기 식별 서버(754)는 IoT 장치의 시리얼 넘버를 검증하고, 기기 식별 서버(754) 상의 기기 정보를 변경(revoke) 할 수 있다.
다양한 실시예에 따르면, IoT 장치의 클라우드 네트워크로의 온보딩이 완료되는 경우, 동작 709에서, 사용자 장치(130)를 통해 IoT 장치를 제어할 수 있다. 예를 들어, IoT 장치는 어플리케이션(712)(예: SmartThings 어플리케이션(712))에서 사용자 입력에 따라 기기의 온/오프, 또는 이벤트/커맨드의 등록과 같은 설정을 할 수 있고, IoT 장치의 센서(예: 카메라)에서 획득된 데이터를 제공할 수 있다.
본 실시예의 경우, 제조사에서 운영하는 인증서 발급 서비스를 이용하기 때문에, 인증서 발급을 위한 별도의 클라우드 시스템을 운영하지 않아도 되고, 인증 정보를 안전한 key store에 저장하여 관리할 수 있다. 또한, IoT 장치의 어플리케이션(712)(예: 업사이클링 어플리케이션)이 삭제 후 재 인스톨 되었을 때, IoT 장치의 시리얼 넘버 및 IMEI를 통해서 고유한 정보를 유지할 수 있고, 어플리케이션(712)이 복수 개 존재할 때에도 상기 고유 정보와 어플리케이션(712) ID를 조합하여, 동일한 기기에 대해 다양한 고유 정보를 생성하게 되며, 이를 바탕으로 등록하여 복수 개의 동일한 스타일의 어플리케이션(712)에 대해 장치의 고유성(uniqueness)을 지원할 수 있다.
도 8은 일 실시예에 따른 IoT 장치가 인증 정보를 획득하는 방법을 도시한 것이다.
다양한 실시예에 따르면, IoT 장치는 어플리케이션(812)(예: 업사이클링 어플리케이션)을 통해 계정을 기반으로 로그인 하여 토큰을 수신하고, 수신된 토큰을 기반으로 클라우드 네트워크에 인증 정보를 요청하고, 클라우드 네트워크로부터 인증 정보를 발급 받을 수 있다.
다양한 실시예에 따르면, 동작 801에서, 관리자 서버(875)에서 루트 인증서(root CA)를 클라우드 네트워크의 인증 서버(858)에 등록할 수 있다.
다양한 실시예에 따르면, 동작 802에서, 접속 게이트웨이(852)는 인증 서버(858)에 루트 인증서를 업데이트 할 수 있다.
다양한 실시예에 따르면, 동작 803에서, IoT 장치는 어플리케이션(812)(예: 업사이클링 어플리케이션)의 계정을 기반으로 IoT 장치의 제조사가 운영하는 계정 서버(870)(예: Samsung account)에 로그인 하고, 토큰(token)을 획득할 수 있다.
다양한 실시예에 따르면, 동작 804에서, IoT 장치의 어플리케이션(812)은 인증 정보를 기반으로 인증 서버(858)에 등록을 요청할 수 있다.
예를 들어, IoT 장치는 계정 서버(870)에서 획득한 토큰을 인증 서버(858)에 전송하고, 인증 서버는 토큰 기반으로 IoT 장치를 인증할 수 있다. 예를 들어, 인증 정보는 리프 인증서(leaf certificate 또는 end-entity certificate)로써, X.509 인증서일 수 있다.
다양한 실시예에 따르면, 동작 805에서, 인증 서버(858)는 계정 서버(870)와 발급한 토큰 및 IoT 장치에서 전송한 토큰을 비교하여, 토큰의 유효성을 검증할 수 있다.
다양한 실시예에 따르면, 토큰이 유효한 것으로 검증되는 경우, 동작 806에서, 인증 서버(858)는 인증 정보를 기기 식별 서버(854) 상에 등록 하고, 동작 807에서, 인증 정보를 IoT 장치에 발급할 수 있다.
다양한 실시예에 따르면, 인증 정보의 등록 이후 IoT 장치의 온보딩 절차가 진행되는 경우, 동작 808에서, IoT 장치의 인증 정보와 클라우드 네트워크(예: 접속 게이트웨이(852))에 등록된 인증 정보의 상호 인증 과정을 수행할 수 있다. 동작 809에서, 접속 게이트웨이(852)와 기기 식별 서버(854)는 IoT 장치의 시리얼 넘버를 검증하고, 기기 식별 서버(854) 상의 기기 정보를 변경(revoke) 할 수 있다.
다양한 실시예에 따르면, IoT 장치의 클라우드 네트워크로의 온보딩이 완료되는 경우, 동작 810에서, 사용자 장치(830)를 통해 IoT 장치를 제어할 수 있다. 예를 들어, IoT 장치는 어플리케이션(812)(예: SmartThings 어플리케이션(812))에서 사용자 입력에 따라 기기의 온/오프, 또는 이벤트/커맨드의 등록과 같은 설정을 할 수 있고, IoT 장치의 센서(예: 카메라)에서 획득된 데이터를 제공할 수 있다.
본 실시예의 경우, 클라우드 네트워크의 인증 서버(858)에서 계정 기반으로 인증 키를 발급하게 되며, 이에 따라 계정 별로 발급된 인증서를 관리할 수 있다. 또한, IoT 장치는 별도의 인증서를 발급하는 인증서 생성 모듈이 없어도 된다.
도 9는 다양한 실시예에 따른 제조자가 IoT 장치의 정보를 등록하는 과정을 도시한 것이다.
다양한 실시예에 따르면, IoT 장치(910)의 제조자(902)(manufacturer)는 클라우드 네트워크에서 제공하는 개발자 워크스페이스(968)(developer workspace)를 통해 IoT 장치(910)의 온보딩에 필요한 정보를 등록할 수 있다. 예를 들어, 동작 972에서, 벤더 계정(예: MNID)를 생성 하고, 동작 974에서, 기기 프로필 정보를 생성 하고, 동작 976에서 기기 온보딩 정보를 생성할 수 있다.
다양한 실시예에 따르면, IoT 장치(910)의 제조자(902)가 IoT 장치(910)의 온보딩을 위한 인증 정보를 개발자 워크스페이스(968)를 통해 미리 등록하지 않더라도, IoT 장치(910)가 어플리케이션을 이용해 스스로 인증 정보를 생성하여 클라우드 네트워크에 등록할 수 있다.
다양한 실시예에 따르면, IoT 장치(910)를 구입한 사용자(904)는 동작 978에서, IoT 장치(910)에 IoT 기능을 지원하는 어플리케이션(예: 업사이클링 어플리케이션)을 설치할 수 있다. 예를 들어, 상기 어플리케이션은 중고 전자 장치(예: 스마트 폰, 태블릿 PC)의 센서(예: 카메라, 조도 센서, 또는 마이크로 폰)를 이용해 IoT 서비스를 제공하도록 하는 서비스에 사용될 수 있다.
동작 980에서, IoT 장치(910)는 어플리케이션을 시행하고, 동작 982에서, 사용자(904)가 어플리케이션 상에서 계정을 입력하여 로그인할 수 있다. 동작 984에서, 사용자(904)는 보안 정책에 동의할 수 있으며, 이에 따라 IoT 장치(910)를 통해 IoT 서비스를 제공하기 위해 클라우드 네트워크에 온보딩 하는 절차가 진행될 수 있다.
도 10은 다양한 실시예에 따른 IoT 장치의 온보딩을 위한 IoT 장치의 인증 정보의 등록 과정을 도시한 것이다.
도 10은 IoT 장치(1010)가 인증서 생성 모듈(예: Samsung attestation key)을 통해 인증서 발급 서버에서 발급한 인증 정보를 IoT 서버에 등록하는 실시예에 대한 것이다. 도 10에서, 접속 게이트웨이(1052)(또는 great gate), 인증 서버(1058)(또는 attestation) 및 기기 식별 서버(1054)(또는 device identity)는 클라우드 네트워크 상의 서버 장치로 구현될 수 있다.
이하에서, 동작 1072 내지 동작 1088은 IoT 장치(1010)가 인증 정보를 생성하는 절차에 대한 것이고, 동작 1090 내지 1099는 이후 생성된 인증 정보를 클라우드 네트워크에 등록하는 절차에 대한 것이다.
다양한 실시예에 따르면, 동작 1072에서, IoT 장치(1010)의 어플리케이션(예: 업사이클링 어플리케이션)은 인증 정보의 등록을 위해 접속 게이트웨이(1052)에 임시 값(nonce)을 요청할 수 있다. 예를 들어, IoT 장치(1010)는 HTTP POST 방식으로 MQTT 프로토콜, 기기 정보, 인증 정보(예: Samsung attestation key), 및/또는 임시값 요청을 작성하여 전송할 수 있다. 예를 들어, 인증 정보는 인증서 생성 모듈(예: Samsung attestation key)을 통해 인증서 발급 서버에서 발급한 인증서 일 수 있다.
다양한 실시예에 따르면, 동작 1074에서, 접속 게이트웨이(1052)는 인증 서버(1058)에 임시 값을 요청하고, 동작 1076에서, 인증 서버(1058)는 임시 값을 생성할 수 있다. 동작 1078에서 인증 서버(1058)는 생성된 임시 값을 접속 게이트웨이(1052)에 제공하고, 동작 1080에서, 접속 게이트웨이(1052)는 IoT 장치(1010)에 임시 값을 응답할 수 있다.
다양한 실시예에 따르면, 동작 1082에서, IoT 장치(1010)는 임시 값을 포함하는 인증 객체(예: blob (binary large object))를 획득할 수 있다. 동작 1084에서, IoT 장치(1010)는 임시 값을 포함하는 키 페어(key pair)를 생성할 수 있다. 예를 들어, 생성된 키 페어는 공유 키(mPubKey) 및 보안 키(mPrivKey)를 포함하고, 인증 객체는 임시 값 및 공유 키를 포함하는 어플리케이션 인증 정보(application certificate) 및 기기 인증 정보(attestation certificate)를 포함할 수 있다. 동작 1086에서, IoT 장치(1010)는 생성된 인증 객체를 검증하고, 및/또는 저장할 수 있다.
다양한 실시예에 따르면, 동작 1088에서, IoT 장치(1010)는 클라우드 네트워크에 등록을 위한 IoT 장치(1010)의 기기 정보를 생성할 수 있다. 예를 들어, 기기 정보는 시리얼 넘버, MNID, 제품 ID, 온보딩 ID, 및/또는 모델 명을 포함할 수 있다.
상기 과정에 따라서, IoT 장치(1010)의 온보딩을 위한 인증 정보 및 기기 정보가 생성될 수 있다.
다양한 실시예에 따르면, 동작 1090에서, IoT 장치(1010)는 IoT 장치(1010)의 등록을 위해, 생성된 인증 객체 및 기기 정보를 접속 게이트웨이(1052)에 전송할 수 있다. 표 1은 IoT 장치(1010)가 온보딩 요청 시 접속 게이트웨이(1052)에 전송하는 HTTP 메시지의 일 예를 나타낸 것이다.
HTTP / POST / MQTT / devices / SAK / identity
{
"attestationBlob": "based64 (application certificate + attestation certificate)",
"deviceIdentityRequest":{
"serialNumber": "A1B2CD3EFG4H",
"mind": "OAFD",
"productID": "string",
"operationType": "COMMERCIAL"
"operationState": "BLOCKED"
"onboardingID": "string"
"modelName": "string"
}
}
다양한 실시예에 따르면, 동작 1092에서, 접속 게이트웨이(1052)는 인증 서버(1058)에 인증 객체를 전달하고, 동작 1093에서, 인증 서버(1058)는 전달 받은 인증 객체를 검증하고, 동작 1094에서, 인증 서버(1058)는 인증 결과를 접속 게이트웨이(1052)에 전달할 수 있다. 동작 1096에서, 접속 게이트웨이(1052)는 인증 객체의 유효성 검증으로부터 어플리케이션 인증 정보(application certificate)를 획득할 수 있다.다양한 실시예에 따르면, IoT 장치(1010)의 인증이 완료된 경우, 동작 1097에서, 접속 게이트웨이(1052)는 기기 식별 서버(1054)에 기기 정보의 등록(또는 생성)을 요청할 수 있다. 표 2는 접속 게이트웨이(1052)가 기기 등록 요청을 위해 전송하는 메시지의 일 예를 나타낸 것이다.
POST / identity / deviceinfo
{
"sn": "string",
"meta":{
"vendor": "string",
"mind": "string",
"productID": "string",
"onboardingID": "string",
"modelName": "string",
"state": operationState,
"type": "operationType,
"sku": ["string"],
"partner": "string"
}
"key":{
"type": "ECPUKEY",
"crv": "NISTP256",
"key": "pubkey of application certificate"
}
}
다양한 실시예에 따르면, 기기 식별 서버(1054)에서 IoT 장치(1010)의 정보가 등록되는 경우, 동작 1098에서 기기 식별 서버(1054)는 접속 게이트웨이(1052)에 등록 성공을 지시하는 정보를 전달하고, 동작 1099에서, 접속 게이트웨이(1052)는 등록 성공을 지시하는 정보를 IoT 장치(1010)에 전송할 수 있다.도 11은 다양한 실시예에 따른 IoT 장치의 온보딩을 위한 IoT 장치의 인증 정보의 등록 과정을 도시한 것이다.
도 11은 IoT 장치(1110)가 클라우드 네트워크의 인증 서버(1158)에서 계정 기반으로 인증 정보를 발급 받는 실시예에 대한 것이다. 도 11에서 인증 서버(1158)(또는 attestation), 기기 식별 서버(1154)(또는 device identity) 및 계정 서버(1164)(account server)는 클라우드 네트워크 상의 서버 장치로 구현될 수 있다.
다양한 실시예에 따르면, 동작 1172에서, IoT 장치(1110)는 인증 서버(1158)에 인증 정보의 생성을 요청할 수 있다. 예를 들어, IoT 장치(1110)는 외부 인증서, SA 토큰 인증, 기기 정보(예: MNID, 제품 ID, 온보딩 ID, 및/또는 모델 명 등)를 인증 서버(1158)에 포스팅할 수 있다. 일 실시예에 따르면, IoT 장치(1110)는 어플리케이션의 계정을 기반으로 IoT 장치(1110)의 제조사가 운영하는 계정 서버(1164)에 로그인 하고, 토큰(token)을 획득하여, 인증 정보 생성 요청 시 인증 서버(1158)에 전송할 수 있다.
다양한 실시예에 따르면, 동작 1174에서, 인증 서버(1158)는 계정 서버(1164)에 SA 토큰의 검증을 요청하고, 동작 1176에서, 계정 서버(1164)는 SA 토큰의 검증이 성공하는 경우, 인증 서버(1158)에 응답할 수 있다.
다양한 실시예에 따르면, 동작 1178에서, 인증 서버(1158)는 인증 정보를 생성하고, 동작 1180에서, 인증 서버(1158)는 임시 값을 포함하는 키 페어를 생성할 수 있다. 예를 들어, 생성된 키 페어는 공유 키(mPubKey) 및 보안 키(mPrivKey)를 포함하고, 인증 객체는 임시 값 및 공유 키를 포함하는 어플리케이션 인증 정보(application certificate) 및 기기 인증 정보(attestation certificate)를 포함할 수 있다. 동작 1182에서, 인증 서버(1158)는 생성된 인증 객체를 저장할 수 있다.
다양한 실시예에 따르면, 동작 1184에서, 인증 서버(1158)는 클라우드 네트워크에 등록을 위한 IoT 장치(1110)의 기기 정보를 생성할 수 있다. 예를 들어, 기기 정보는 시리얼 넘버, MNID, 제품 ID, 온보딩 ID, 및/또는 모델 명을 포함할 수 있다. 동작 1186에서, 인증 서버(1158)는 기기 식별 서버(1154)에 IoT 장치(1110)의 등록(또는 생성)을 요청할 수 있다. 인증 서버(1158)가 기기 등록 요청을 위해 기기 식별 서버(1154)에 전송하는 메시지는 앞서 표 2의 메시지를 예로 들 수 있다.
다양한 실시예에 따르면, 기기 식별 서버(1154)에서 IoT 장치(1110)의 정보가 등록되는 경우, 동작 1188에서 기기 식별 서버(1154)는 인증 서버(1158)에 등록 성공을 지시하는 정보를 전달하고, 동작 1190에서, 인증 서버(1158)는 등록 성공을 지시하는 정보를 IoT 장치(1110)에 전송할 수 있다.
도 12는 다양한 실시예에 따른 IoT 장치의 온보딩을 위한 브로커 URL을 획득하는 과정을 도시한 것이다.
도 12는 IoT 장치(1210)의 인증 정보를 클라우드 네트워크에 등록한 이후 온보딩을 위한 추가 정보들을 입력 받고, 온보딩에 필요한 브로커 URL을 획득하는 과정에 대해 도시하고 있다. 다양한 실시예에 따르면, IoT 장치(1210)는 어플리케이션 상의 사용자 입력에 기초하여 설정 정보(예: 위치 정보, 및/또는 룸 정보)를 입력할 수 있다.
다양한 실시예에 따르면, 동작 1272에서, IoT 장치(1210)는 클라우드 네트워크의 위치 서버(1258)에 위치 정보 리스트를 요청하고, 동작 1274에서, 위치 서버(1258)로부터 위치 정보 리스트를 수신할 수 있다. 예를 들어, 위치 정보 리스트는 IoT 장치(1210)와 동일한 계정을 통해 등록된 다른 IoT 장치의 위치 정보들을 포함할 수 있다.
다양한 실시예에 따르면, 동작 1276에서, IoT 장치(1210)는 클라우드 네트워크의 위치 서버(1258)에 룸 정보 리스트를 요청하고, 동작 1278에서, 위치 서버(1258)로부터 룸 정보 리스트를 수신할 수 있다. 예를 들어, 룸 정보 리스트는 IoT 장치(1210)와 동일한 계정을 통해 등록된 다른 IoT 장치가 설치된 룸의 정보들을 포함할 수 있다.
다양한 실시예에 따르면, IoT 장치(1210)는 수신한 위치 정보 리스트 및 룸 정보 리스트를 어플리케이션에 제공하고, 사용자의 입력에 따라 해당 IoT 장치(1210)가 설치되는 위치 및 룸 정보를 입력 받을 수 있다.
다양한 실시예에 따르면, 동작 1280에서, IoT 장치(1210)는 접속 게이트웨이(1252)로 온보딩을 위한 접속 정보를 요청할 수 있다. 예를 들어, 접속 정보는 MQTT(message queuing telemetry transport) 브로커 URL을 포함할 수 있다. 예를 들어, IoT 장치(1210)는 HTTP GET 방식으로 MQTT, 브로커, 입력된 위치 ID를 포함하는 메시지를 접속 게이트웨이(1252)에 전송할 수 있다. 동작 1282에서, IoT 장치(1210)는 접속 게이트웨이(1252)로부터 가장 가까운 브로커 서버에 대한 접속 정보를 수신할 수 있다.
도 13은 다양한 실시예에 따른 IoT 장치의 온보딩 과정을 도시한 것이다.
다양한 실시예에 따르면, 동작 1372에서, IoT 장치(1310)는 접속 게이트웨이(1352)와 연결될 수 있다. 이 경우, IoT 장치(1310)는 oneway TLS(transport layer security)를 이용해서 접속 게이트웨이(1352)와 연결될 수 있다. IoT 장치(1310)는 디바이스 SDK를 이용해서 클라우드 네트워크 상에 IoT 장치(1310)의 정보를 등록할 수 있다. 예를 들어, 디바이스 SDK는 IoT 기기를 클라우드 네트워크(예: Smartthings 플랫폼)에 등록 시 사용되는 SDK일 수 있다. 일 실시예에 따르면, IoT 장치(1310)는 사용자 ID로 시리얼 넘버를 이용하고, 패스워드로 개인 키로 서명된 JSON(java script object notation) 웹 토큰(JWT) 또는 CBOR(concise binary object representation) 웹 토큰(CWT)을 이용하여 접속 게이트웨이(1352)에 접속을 시도할 수 있다.
다양한 실시예에 따르면, 동작 1374에서, 접속 게이트웨이(1352)는 기기 식별 서버(1354)에 IoT 장치(1310)로부터 수신한 JWT 및/또는 CWT의 인증을 요청할 수 있다. 동작 1376에서, 기기 식별 서버(1354)는 JWT 및/또는 CWT의 인증 후 접속 허가 여부를 접속 게이트웨이(1352)에 리턴 할 수 있다.
다양한 실시예에 따르면, 접속이 허가된 경우, 동작 1378에서, 접속 게이트웨이(1352)는 IoT 장치(1310)에 연결 성공을 회신 할 수 있다.
다양한 실시예에 따르면, 동작 1380에서, IoT 장치(1310)는 접속 게이트웨이(1352)에 IoT 장치(1310)의 등록을 위한 토픽을 구독(subscribe)할 수 있다. 예를 들어, IoT 장치(1310)는 온보딩을 위해 필요한 시리얼 넘버를 구독할 수 있다. 접속 게이트웨이(1352)는 MQTT 프로토콜의 브로커로 동작할 수 있다.
다양한 실시예에 따르면, 동작 1382에서, IoT 장치(1310)는 접속 게이트웨이(1352)에 IoT 장치(1310)의 기기 ID를 위한 토픽을 발행(publish)할 수 있다. 예를 들어, IoT 장치(1310)는 MNID, VID, 디바이스 타입, DIP key 세트 및 룩업 ID를 포함하는 토픽을 발행할 수 있다.
다양한 실시예에 따르면, 동작 1384에서, 접속 게이트웨이(1352)는 Gizmo API를 이용해 클라우드 서비스(1362)에 새로운 기기 정보를 생성할 수 있다. 동작 1390에서, 기기 정보의 생성이 완료되는 경우, 클라우드 서비스(1362)는 접속 게이트웨이(1352)에 성공으로 리턴 할 수 있다. IoT 장치(1310)에서 발행한 기기 정보는 클라우드 서비스(1362)의 Gizmo, Dove, Pooch, 또는 OCF Route로 각각 전달되고, 사용자 장치의 어플리케이션(예: SmartThings 어플리케이션)에 전달될 수 있다.
도 14는 다양한 실시예에 따른 IoT 장치의 온보딩 완료 과정을 도시한 것이다.
다양한 실시예에 따르면, 동작 1472에서, 클라우드 서비스(1462)는 사용자 장치(1430)에 IoT 장치(1410)의 기기 정보를 전송할 수 있다. 동작 1474에서, 사용자 장치(1430)는 어플리케이션 상에 IoT 장치(1410)의 디바이스 카드를 생성할 수 있다. 예를 들어, 디바이스 카드는 온보딩 된 IoT 장치(1410) 별로 생성될 수 있으며, 해당 IoT 장치(1410)의 식별 정보, 센싱 데이터 및/또는 커맨드, 또는 온/오프 제어 메뉴를 포함할 수 있다.
다양한 실시예에 따르면, 동작 1476에서, 접속 게이트웨이(1452)는 등록된 데이터를 IoT 장치(1410)에 전달할 수 있다. 예를 들어, 접속 게이트웨이(1452)는 등록된 디바이스 ID, 위치 ID, 및/또는 DIP 키 세트를 IoT 장치(1410)에 전달할 수 있다. 동작 1478에서, IoT 장치(1410)는 전달 받은 디바이스 ID, 위치 ID, 및/또는 DIP 키 세트를 메모리에 저장할 수 있다.
도 15는 다양한 실시예에 따른 IoT 장치의 어플리케이션 화면을 도시한 것이다.
다양한 실시예에 따르면, IoT 장치(1500)(예: 도 4의 IoT 장치(400))는 IoT 서비스를 지원하는 어플리케이션(예: 업사이클링 어플리케이션)을 설치 및 실행하여, IoT 서비스를 제공할 수 있다. IoT 장치(1500)는 온라인 스토어에서 어플리케이션을 검색하여 다운로드 받고, 사용자의 선택에 따라 어플리케이션을 실행할 수 있다.
다양한 실시예에 따르면, 어플리케이션은 IoT 장치(1500)를 이용해 실행할 IoT 기능을 선택할 수 있는 UI를 제공할 수 있다. 예를 들어, 어플리케이션은 virtual search 기능(1511), universal remote controller 기능(1512), 업사이클링 카메라 기능(1513)과 같이 IoT 장치(1500)의 센서를 이용해 제공할 수 있는 기능의 리스트를 제공하고, 사용자의 선택을 수신할 수 있다. 이 후, 어플리케이션은 로그인 화면(1520)을 제공할 수 있으며, 사용자는 자신의 계정을 이용해 로그인할 수 있다. 클라우드 네트워크는 계정 단위로 적어도 하나의 IoT 장치(1500)의 기기 정보, 및/또는 인증 정보를 관리할 수 있다.
다양한 실시예에 따르면, 어플리케이션은 설정 정보를 입력할 수 있는 UI를 제공할 수 있다. 예를 들어, 상기 UI는 해당 IoT 장치(1500)의 명칭의 입력 메뉴(1531), 위치의 입력 메뉴(1532) 및 룸의 입력 메뉴(1533)를 포함할 수 있다. 일 실시예에 따르면, 어플리케이션은 클라우드 네트워크로부터 사용자 계정에 의해 기 등록된 다른 IoT 장치에서 설정된 위치 정보 리스트 및 룸 정보 리스트를 수신하고, 해당 리스트 중 사용자가 어느 하나를 선택하도록 할 수 있다.
다양한 실시예에 따르면, 사용자에 의해 설정 정보의 입력이 완료되는 경우, 클라우드 네트워크 상의 온보딩 과정을 진행할 수 있다. 온보딩 과정 동안 IoT 장치(1500)는 정해진 로딩 화면(1540)을 제공할 수 있다. IoT 장치(1500)의 온보딩 과정에 대해서는 앞서 도 6 내지 도 14를 통해 설명한 바 있다.
다양한 실시예에 따르면, IoT 장치(1500)의 온보딩이 완료된 이후, IoT 장치(1500)는 사용자에 의해 선택된 IoT 기능을 실행할 수 있다. 예를 들어, 업사이클링 카메라 기능이 선택된 경우, IoT 장치(1500)는 카메라를 이용해 주변 영상(1550)을 촬영하여 클라우드 네트워크에 전송할 수 있다. 클라우드 네트워크는 해당 사용자의 사용자 장치로 IoT 장치(1500)에서 사용된 영상(1550)을 실시간 스트리밍 방식으로 전송하여, 사용자 장치에서 영상(1550)을 확인할 수 있다.
도 16은 다양한 실시예에 따른 사용자 장치의 어플리케이션 화면을 도시한 것이다.
다양한 실시예에 따르면, 사용자 장치(예: 도 1의 사용자 장치(130))는 로컬 네트워크의 각 IoT 장치(예: 도 1의 허브 장치(110), 리프 장치(120))에 대응되는 UI 아이템(1621, 1622, 1623, 1630)을 표시할 수 있다. 예를 들어, 사용자 장치는 어플리케이션 상에서 AV 사운드 바의 UI 아이템(1621), TV의 UI 아이템(1622), 전구의 UI 아이템(1623), 셋톱 박스 리모컨 아이템(1630)을 표시할 수 있다. 각각의 UI 아이템은 장치를 지시하는 이미지, 장치의 명칭, 장치의 동작 상태(예: on/off, available/non-available, 또는 open/close)를 지시하는 정보, 및/또는 장치의 동작 상태를 변경하는 버튼을 포함할 수 있다.
다양한 실시예에 따르면, 새로운 IoT 장치의 온보딩이 완료되는 경우, 해당 IoT 장치의 기기 정보가 클라우드 네트워크로부터 전송될 수 있다. 사용자 장치의 어플리케이션은 수신한 IoT 장치의 기기 정보를 기반으로 해당 IoT 장치에 대응하는 UI 아이템을 추가할 수 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(400))는, 통신 모듈(예: 통신 모듈(430)), 메모리(예: 메모리(420)), 및 상기 통신 모듈(430) 및 상기 메모리(420)와 작동적으로 연결되는 프로세서(예: 프로세서(410))를 포함하고, 상기 프로세서(410)는, 상기 전자 장치(400)의 온보딩을 지원하는 어플리케이션(예: 어플리케이션(712) 또는 어플리케이션(812))을 실행하고, 상기 전자 장치(400)의 인증 정보를 획득하고, 상기 통신 모듈(430)을 통해 상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치(400)의 인증 정보를 등록하고, 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치(400)의 설정 정보를 생성하고, 및 상기 생성된 설정 정보 및 상기 메모리(420)에 저장된 상기 전자 장치(400)의 기기 정보를 상기 통신 모듈(430)을 통해 상기 클라우드 네트워크로 전송하여, 상기 전자 장치(400)의 온보딩을 요청하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(410)는, 상기 클라우드 네트워크에서 상기 인증 정보가 등록되는 경우, 상기 전자 장치(400)의 온보딩을 위한 접속 정보를 수신하고, 상기 접속 정보를 이용해 접속하여, 상기 전자 장치(400)의 온보딩을 요청하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 접속 정보는 MQTT(message queuing telemetry transport) 브로커 URL 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(410)는, 인증서 생성 모듈을 이용해 인증서 발급 서버로부터 상기 인증 정보를 발급 받고, 상기 발급 받은 인증 정보를 상기 클라우드 네트워크에 전송하여 상기 인증 정보를 등록하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서(410)는, 상기 어플리케이션을 통해 계정을 기반으로 로그인 하여, 토큰을 수신하고, 상기 수신된 토큰을 기반으로 상기 클라우드 네트워크에 상기 인증 정보를 요청하고, 및 상기 클라우드 네트워크로부터 상기 인증 정보를 발급 받도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 인증 정보는 X.509 인증서를 포함할 수 있다.
다양한 실시예에 따르면, 상기 설정 정보는, 위치 정보 또는 룸 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 프로세서(410)는, 상기 클라우드 네트워크로부터 위치 리스트 및 룸 리스트를 수신하고, 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 위치 리스트 중 어느 하나 및 상기 룸 리스트 중 어느 하나를 선택 하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 기기 정보는 상기 전자 장치(400)의 모델명, 기기명, 국가 코드, 또는 언어 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 통신 모듈(430)은 근거리 통신 방식을 이용해 액세스 포인트 장치와 통신하고, 상기 액세스 포인트를 통해 상기 인증 정보, 상기 설정 정보 및 상기 기기 정보를 상기 클라우드 네트워크에 전송하도록 설정될 수 있다.
다양한 실시예에 따르면, 적어도 하나의 센서(예: 센서(450))를 더 포함하고, 상기 프로세서(410)는, 상기 전자 장치(400)의 온보딩이 완료되는 경우, 상기 센서(450)를 통해 획득되는 센서(450) 데이터를 상기 클라우드 네트워크로 전송하도록 설정될 수 있다.
다양한 실시예에 따른 전자 장치(예: 전자 장치(400))를 서버에 온보딩 하는 방법은, 상기 전자 장치(400)의 온보딩을 지원하는 어플리케이션(예: 어플리케이션(712) 또는 어플리케이션(812))을 실행하는 동작, 상기 전자 장치(400)의 인증 정보를 획득하는 동작, 상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치(400)의 인증 정보를 등록하는 동작, 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치(400)의 설정 정보를 생성하는 동작, 및 상기 생성된 설정 정보 및 상기 전자 장치(400)의 기기 정보를 상기 클라우드 네트워크로 전송하여, 상기 전자 장치(400)의 온보딩을 요청하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치(400)의 온보딩을 요청하는 동작은, 상기 클라우드 네트워크에서 상기 인증 정보가 등록되는 경우, 상기 전자 장치(400)의 온보딩을 위한 접속 정보를 수신하는 동작, 및 상기 접속 정보를 이용해 접속하여, 상기 전자 장치(400)의 온보딩을 요청하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 접속 정보는 MQTT(message queuing telemetry transport) 브로커 URL 정보를 포함할 수 있다.
다양한 실시예에 따르면, 상기 인증 정보를 획득하는 동작은, 인증서 생성 모듈을 이용해 인증서 발급 서버로부터 상기 인증 정보를 발급 받는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 인증 정보를 획득하는 동작은, 상기 어플리케이션을 통해 계정을 기반으로 로그인 하여, 토큰을 수신하는 동작, 상기 수신된 토큰을 기반으로 상기 클라우드 네트워크에 상기 인증 정보를 요청하는 동작, 및 상기 클라우드 네트워크로부터 상기 인증 정보를 발급 받는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 설정 정보는, 위치 정보 또는 룸 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 설정 정보를 생성하는 동작은, 상기 클라우드 네트워크로부터 위치 리스트 및 룸 리스트를 수신하는 동작, 및 상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 위치 리스트 중 어느 하나 및 상기 룸 리스트 중 어느 하나를 선택 하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 기기 정보는 상기 전자 장치(400)의 모델명, 기기명, 국가 코드, 또는 언어 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치(400)의 온보딩이 완료되는 경우, 센서(예: 센서(450))를 통해 획득되는 센서 데이터를 상기 클라우드 네트워크로 전송하는 동작을 더 포함할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(301)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(336) 또는 외장 메모리(338))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(340))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(301))의 프로세서(예: 프로세서(320))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 예를 들어, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    통신 모듈;
    메모리; 및
    상기 통신 모듈 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    상기 전자 장치의 온보딩을 지원하는 어플리케이션을 실행하고,
    상기 전자 장치의 인증 정보를 획득하고,
    상기 통신 모듈을 통해 상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치의 인증 정보를 등록하고,
    상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치의 설정 정보를 생성하고, 및
    상기 생성된 설정 정보 및 상기 메모리에 저장된 상기 전자 장치의 기기 정보를 상기 통신 모듈을 통해 상기 클라우드 네트워크로 전송하여, 상기 전자 장치의 온보딩을 요청하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 프로세서는,
    상기 클라우드 네트워크에서 상기 인증 정보가 등록되는 경우, 상기 전자 장치의 온보딩을 위한 접속 정보를 수신하고,
    상기 접속 정보를 이용해 접속하여, 상기 전자 장치의 온보딩을 요청하도록 설정된 전자 장치.
  3. 제 2항에 있어서,
    상기 접속 정보는 MQTT(message queuing telemetry transport) 브로커 URL 정보를 포함하는 전자 장치.
  4. 제 1항에 있어서,
    상기 프로세서는,
    인증서 생성 모듈을 이용해 인증서 발급 서버로부터 상기 인증 정보를 발급 받고, 상기 발급 받은 인증 정보를 상기 클라우드 네트워크에 전송하여 상기 인증 정보를 등록하도록 설정된 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 어플리케이션을 통해 계정을 기반으로 로그인 하여, 토큰을 수신하고,
    상기 수신된 토큰을 기반으로 상기 클라우드 네트워크에 상기 인증 정보를 요청하고, 및
    상기 클라우드 네트워크로부터 상기 인증 정보를 발급 받도록 설정된 전자 장치.
  6. 제 1항에 있어서,
    상기 인증 정보는 X.509 인증서를 포함하는 전자 장치.
  7. 제 1항에 있어서,
    상기 설정 정보는,
    위치 정보 또는 룸 정보 중 적어도 하나를 포함하는 전자 장치.
  8. 제 7항에 있어서,
    상기 프로세서는,
    상기 클라우드 네트워크로부터 위치 리스트 및 룸 리스트를 수신하고,
    상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 위치 리스트 중 어느 하나 및 상기 룸 리스트 중 어느 하나를 선택 하도록 설정된 전자 장치.
  9. 제 1항에 있어서,
    상기 기기 정보는 상기 전자 장치의 모델명, 기기명, 국가 코드, 또는 언어 정보 중 적어도 하나를 포함하는 전자 장치.
  10. 제 1항에 있어서,
    상기 통신 모듈은 근거리 통신 방식을 이용해 액세스 포인트 장치와 통신하고,
    상기 액세스 포인트를 통해 상기 인증 정보, 상기 설정 정보 및 상기 기기 정보를 상기 클라우드 네트워크에 전송하도록 설정된 전자 장치.
  11. 제 1항에 있어서,
    적어도 하나의 센서를 더 포함하고,
    상기 프로세서는,
    상기 전자 장치의 온보딩이 완료되는 경우, 상기 센서를 통해 획득되는 센서 데이터를 상기 클라우드 네트워크로 전송하도록 설정된 전자 장치.
  12. 전자 장치를 서버에 온보딩 하는 방법에 있어서,
    상기 전자 장치의 온보딩을 지원하는 어플리케이션을 실행하는 동작;
    상기 전자 장치의 인증 정보를 획득하는 동작;
    상기 인증 정보를 클라우드 네트워크에 전송하여, 상기 전자 장치의 인증 정보를 등록하는 동작;
    상기 어플리케이션 상의 사용자 입력에 기초하여, 상기 전자 장치의 설정 정보를 생성하는 동작; 및
    상기 생성된 설정 정보 및 상기 전자 장치의 기기 정보를 상기 클라우드 네트워크로 전송하여, 상기 전자 장치의 온보딩을 요청하는 동작을 포함하는 방법.
  13. 제 12항에 있어서,
    상기 전자 장치의 온보딩을 요청하는 동작은,
    상기 클라우드 네트워크에서 상기 인증 정보가 등록되는 경우, 상기 전자 장치의 온보딩을 위한 접속 정보를 수신하는 동작; 및
    상기 접속 정보를 이용해 접속하여, 상기 전자 장치의 온보딩을 요청하는 동작을 포함하는 방법.
  14. 제 12항에 있어서,
    상기 접속 정보는 MQTT(message queuing telemetry transport) 브로커 URL 정보를 포함하는 방법.
  15. 제 12항에 있어서,
    상기 인증 정보를 획득하는 동작은,
    인증서 생성 모듈을 이용해 인증서 발급 서버로부터 상기 인증 정보를 발급 받는 동작을 포함하는 방법.
PCT/KR2021/018750 2021-01-13 2021-12-10 Iot 장치 및 iot 장치를 서버에 온보딩 하는 방법 WO2022154272A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180090286.5A CN116762324A (zh) 2021-01-13 2021-12-10 Iot装置和用于将iot装置加载到服务器的方法
EP21919896.7A EP4262146A4 (en) 2021-01-13 2021-12-10 IOT DEVICE AND METHOD FOR INTEGRATING AN IOT DEVICE INTO A SERVER
US18/350,996 US20230353555A1 (en) 2021-01-13 2023-07-12 Iot device and method for onboarding iot device to server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0004849 2021-01-13
KR1020210004849A KR20220102469A (ko) 2021-01-13 2021-01-13 IoT 장치 및 IoT 장치를 서버에 온보딩 하는 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/350,996 Continuation US20230353555A1 (en) 2021-01-13 2023-07-12 Iot device and method for onboarding iot device to server

Publications (1)

Publication Number Publication Date
WO2022154272A1 true WO2022154272A1 (ko) 2022-07-21

Family

ID=82447225

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/018750 WO2022154272A1 (ko) 2021-01-13 2021-12-10 Iot 장치 및 iot 장치를 서버에 온보딩 하는 방법

Country Status (5)

Country Link
US (1) US20230353555A1 (ko)
EP (1) EP4262146A4 (ko)
KR (1) KR20220102469A (ko)
CN (1) CN116762324A (ko)
WO (1) WO2022154272A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3437300A4 (en) * 2016-03-29 2020-03-04 Resolution Products, Inc. UNIVERSAL PROTOCOL TRANSLATOR
WO2024043492A1 (ko) * 2022-08-26 2024-02-29 삼성전자 주식회사 사물 인터넷 장치를 관리하는 전자 장치 및 그 동작 방법
WO2024076142A1 (ko) * 2022-10-05 2024-04-11 삼성전자 주식회사 전자 장치 및 전자 장치에서 외부 전자 장치의 클라우드 연결을 제어하는 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015061678A1 (en) * 2013-10-25 2015-04-30 Qualcomm Incorporated Peer-to-peer onboarding of internet of things (iot) devices over various communication interfaces
KR20150073827A (ko) * 2013-12-20 2015-07-01 삼성전자주식회사 홈 네트워크 시스템에서 홈 디바이스를 서버에 등록하는 장치 및 방법
JP2018067043A (ja) * 2016-10-17 2018-04-26 シャープ株式会社 情報処理装置、情報処理システムおよび情報処理方法
WO2018236421A1 (en) * 2017-06-19 2018-12-27 Heldt Sheller Nathan INTEGRATION AUTHORIZED BY THE USER USING A PUBLIC AUTHORIZATION SERVICE
KR20200097744A (ko) * 2017-11-30 2020-08-19 모카나 코포레이션 게이트웨이 장치에 연결된 비-ip 엔드포인트 장치 및 연결된 서비스 간의 데이터 전송을 보호하기 위한 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708261B2 (en) * 2018-05-07 2020-07-07 Vmware, Inc. Secure gateway onboarding via mobile devices for internet of things device management
US10887180B2 (en) * 2018-11-14 2021-01-05 Vmware, Inc. Internet of things device discovery and deployment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015061678A1 (en) * 2013-10-25 2015-04-30 Qualcomm Incorporated Peer-to-peer onboarding of internet of things (iot) devices over various communication interfaces
KR20150073827A (ko) * 2013-12-20 2015-07-01 삼성전자주식회사 홈 네트워크 시스템에서 홈 디바이스를 서버에 등록하는 장치 및 방법
JP2018067043A (ja) * 2016-10-17 2018-04-26 シャープ株式会社 情報処理装置、情報処理システムおよび情報処理方法
WO2018236421A1 (en) * 2017-06-19 2018-12-27 Heldt Sheller Nathan INTEGRATION AUTHORIZED BY THE USER USING A PUBLIC AUTHORIZATION SERVICE
KR20200097744A (ko) * 2017-11-30 2020-08-19 모카나 코포레이션 게이트웨이 장치에 연결된 비-ip 엔드포인트 장치 및 연결된 서비스 간의 데이터 전송을 보호하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
EP4262146A1 (en) 2023-10-18
EP4262146A4 (en) 2024-06-05
KR20220102469A (ko) 2022-07-20
US20230353555A1 (en) 2023-11-02
CN116762324A (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
WO2022154272A1 (ko) Iot 장치 및 iot 장치를 서버에 온보딩 하는 방법
WO2022019682A1 (ko) 엣지 컴퓨팅 시스템 및 방법
WO2022114857A1 (ko) 블록 체인 네트워크를 이용하여 데이터를 공유하는 전자 장치 및 이의 동작 방법
WO2022092824A1 (ko) 캐리어 네트워크를 이용하는 전자 장치 및 그 동작 방법
WO2023008697A1 (ko) 가전기기 및 가전기기의 동작 방법
WO2022124846A1 (ko) Iot 환경의 허브 장치 및 로컬 네트워크 기반 이벤트 처리 방법
WO2023038466A1 (ko) 블록체인 네트워크에서 트랜잭션을 생성하는 전자 장치 및 그의 동작 방법
WO2022186533A1 (ko) 네트워크 슬라이스와 데이터 세션을 수립하는 전자 장치 및 그 동작 방법
WO2022145768A1 (ko) 액세서리 장치와 무선 통신을 수행하는 전자 장치 및 그 운용 방법
WO2022197088A1 (ko) Iot 서비스를 제공하는 장치 및 그 방법
WO2022030860A1 (ko) Iot 환경에서 타겟 전자 장치를 제어하기 위한 전자 장치 및 그에 관한 방법
WO2022030801A1 (ko) 전자 장치의 무선 연결을 관리하는 방법 및 그 장치
WO2021221317A1 (ko) 광고 공유 방법 및 그 장치
WO2023287207A1 (ko) 전자 장치 및 이를 이용한 외부 전자 장치 연결 방법
WO2022173144A1 (ko) 전자 장치 및 엣지 컴퓨팅 네트워크에서 프로비저닝 장치를 결정하는 방법
WO2022139468A1 (ko) 아이디 및 패스워드를 공유하기 위한 전자 장치, 그 동작 방법 및 서버
WO2023054936A1 (ko) 블록체인 네트워크에서 블록 데이터를 복구하는 전자 장치 및 그의 동작 방법
WO2023219230A1 (ko) 사물 인터넷 장치를 제어하는 전자 장치 및 그 동작 방법
WO2022177206A2 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022098015A1 (ko) 내부 데이터가 포함된 트랜잭션을 생성하는 전자 장치 및 이의 동작 방법
WO2023013845A1 (ko) 전자 장치 및 전자 장치에서 임베디드 가입자 식별 모듈 프로파일을 설치하는 방법
WO2023048485A1 (ko) 근거리 무선 통신을 이용하여 데이터를 전송하는 전자 장치 및 이의 동작 방법
WO2024117650A1 (ko) 전자 장치 및 전자 장치의 쿠키 정보 관리 방법
WO2023054839A1 (ko) 상황에 기반하여 서비스의 인증 방식을 적응적으로 제공하기 위한 전자 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체
WO2022154220A1 (ko) 전자 장치 및 바이너리 변경 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21919896

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180090286.5

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2021919896

Country of ref document: EP

Effective date: 20230710

NENP Non-entry into the national phase

Ref country code: DE