KR102343641B1 - 시스템 온 칩과 이를 포함하는 장치들 - Google Patents

시스템 온 칩과 이를 포함하는 장치들 Download PDF

Info

Publication number
KR102343641B1
KR102343641B1 KR1020150063958A KR20150063958A KR102343641B1 KR 102343641 B1 KR102343641 B1 KR 102343641B1 KR 1020150063958 A KR1020150063958 A KR 1020150063958A KR 20150063958 A KR20150063958 A KR 20150063958A KR 102343641 B1 KR102343641 B1 KR 102343641B1
Authority
KR
South Korea
Prior art keywords
network device
management module
resource
resource management
network
Prior art date
Application number
KR1020150063958A
Other languages
English (en)
Other versions
KR20160109980A (ko
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 US15/066,152 priority Critical patent/US10313217B2/en
Publication of KR20160109980A publication Critical patent/KR20160109980A/ko
Application granted granted Critical
Publication of KR102343641B1 publication Critical patent/KR102343641B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

제2네트워크 장치에서 사용되는 구조를 갖는 시스템 온 칩이 공개된다. 상기 시스템 온 칩은 제1하드웨어 자원과, 상기 제1하드웨어 자원의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 제1하드웨어 자원에 대한 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 현재 공유된 제2하드웨어 자원에 대한 공유 정보를 관리하는 자원 관리 모듈을 포함한다.

Description

시스템 온 칩과 이를 포함하는 장치들{SYSTEM ON CHIP (SoC) AND DEVICES HAVING THE SoC}
본 발명의 개념에 따른 실시 예는 시스템 온 칩에 관한 것으로, 특히 다른 네트워크 장치와의 접속을 통해 상기 다른 네트워크 장치의 하드웨어 자원과 소프트웨어 자원 중에서 적어도 하나를 공유할 수 있는 시스템 온 칩과 이를 포함하는 장치들에 관한 것이다.
스마트폰, 노트북, 태블릿 PC, 및 디지털 카메라와 같은 모바일 기기들이 증가하면서, 상기 모바일 기기들은 네트워크를 통해 서로 연결된다. 데이터 공유 (data sharing)은 OPMD(one person multi device) 서비스(즉, 한 사람이 여러 종류의 모바일 기기들을 이용하여 통신 서비스를 받는 것)의 일 예로서 상기 모바일 기기들을 사용하는 사용자에 의해 사용될 수 있다.
그러나, 상기 데이터 공유는 모바일 기기가 다른 모바일 기기에 포함된 데이터 저장 장치 또는 상기 데이터 저장 장치에 저장된 데이터를 공유하는 것을 의미하지는 않는다. 즉, 상기 데이터 공유는 모바일 기기들 각각에 저장된 데이터를 공유하는 것을 의미하지 않는다.
네트워크에 포함된 모바일 기기들 중에서 어느 하나가 상기 모바일 기기들 중에서 다른 하나를 액세스할 때, 상기 다른 하나에 대한 보안 이슈가 발생할 수 있다. 악의적인 사용자에 의해 모바일 기기들 중에서 적어도 하나가 사용될 때, 상기 모바일 기기들을 포함하는 네트워크 전체의 보안에도 문제가 발생할 수 있다.
본 발명이 이루고자 하는 기술적인 과제는 다른 네트워크 장치와의 접속을 통해 상기 다른 네트워크 장치의 하드웨어 자원과 소프트웨어 자원 중에서 적어도 하나를 안전하게 공유할 수 있는 시스템 온 칩과 이를 포함하는 장치들을 제공하는 것이다.
본 발명의 실시 예에 따른 제2네트워크 장치에서 사용되는 구조를 갖는 시스템 온 칩에서, 상기 시스템 온 칩은 제1하드웨어 자원과, 상기 제1하드웨어 자원의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 제1하드웨어 자원에 대한 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 현재 공유된 제2하드웨어 자원에 대한 공유 정보를 관리하는 자원 관리 모듈을 포함한다.
상기 공유 조건은 상기 제1하드웨어 자원을 공유할 수 있는 상기 제1네트워크 장치의 제조사와 모델명을 포함한다.
상기 제2하드웨어 자원은 상기 제2네트워크 장치와 상기 제3네트워크 장치 중에서 어느 하나에 포함되고, 상기 제2하드웨어 자원은 프로세서, 데이터 저장 장치, 및 센서 노드 중에서 적어도 하나를 포함한다.
상기 자원 관리 모듈은 상기 제1하드웨어 자원에 대한 공유와 상기 제2하드웨어 자원에 대한 공유를 관리하는 자원 코디네이터와, 상기 제1하드웨어 자원의 현재 상태를 모니터하고 모니터 결과를 상기 자원 코디네이터로 전송하는 하드웨어 자원 매니저와, 상기 자원 코디네이터에 의해 변경된 상기 공유 조건과 상기 공유 정보의 업데이트와 저장을 관리하는 매니저를 포함한다.
상기 제1하드웨어 자원이 CPU일 때, 상기 현재 상태는 CPU 사용률(CPU utilization), CPU 사용량(CPU usage), 및 CPU 점유율(CPU occupancy) 중에서 적어도 하나를 포함한다.
실시 예에 따라, 상기 자원 관리 모듈은 상기 제1네트워크 장치부터 전송된 분석 엔진과 데이터를 상기 제1하드웨어 자원으로 전송하고, 상기 제1하드웨어 자원은 상기 분석 엔진을 이용하여 상기 데이터를 분석하고, 분석 데이터를 상기 자원 관리 모듈을 통해 상기 제1네트워크 장치로 전송한다.
실시 예에 따라, 상기 제1하드웨어 자원은 제1CPU이고, 상기 제2하드웨어 자원은 상기 제3네트워크 장치에 포함된 제2CPU일 때, 상기 자원 관리 모듈은, 상기 제1CPU의 사용률과 상기 제2CPU의 사용률에 기초하여, 상기 제1네트워크 장치부터 전송된 분석 엔진과 데이터를 상기 제1CPU와 상기 제2CPU 중에서 어느 하나로 전송하고, 상기 어느 하나가 상기 분석 엔진을 이용하여 상기 데이터를 분석하고 분석 데이터를 출력하면, 상기 자원 관리 모듈은 상기 어느 하나로부터 전송된 상기 분석 데이터를 수신하고 수신된 분석 데이터를 상기 제1네트워크 장치로 전송한다.
실시 예에 따라, 상기 시스템 온 칩은 구동 장치와 센서 노드 중에서 어느 하나를 작동(actuate)하는 액추에이터를 더 포함하고, 상기 자원 관리 모듈은 상기 제1네트워크 장치부터 전송된 작동 지시를 상기 액추에이터 전송하고, 상기 액추에이터는, 상기 작동 지시에 응답하여, 상기 어느 하나의 작동을 제어한다.
실시 예에 따라, 상기 시스템 온 칩은 분석 엔진을 더 포함하고, 상기 자원 관리 모듈은 상기 제1네트워크 장치부터 전송된 데이터를 상기 분석 엔진으로 전송하고, 상기 분석 엔진은 상기 데이터를 분석하여 분석 데이터를 생성하고, 상기 자원 관리 모듈은 상기 분석 데이터를 상기 제1네트워크 장치로 전송한다.
본 발명의 실시 예에 따라, 제2네트워크 장치에서 사용되는 구조를 갖는 시스템 온 칩에서, 상기 시스템 온 칩은 자원 관리 모듈을 저장하는 메모리와, 상기 자원 관리 모듈을 실행하는 CPU를 포함하고, 상기 자원 관리 모듈이 상기 CPU에 의해 실행됨에 따라 상기 자원 관리 모듈은 상기 CPU의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 CPU의 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 공유된 하드웨어 자원에 대한 공유 정보를 관리한다.
상기 자원 관리 모듈은 상기 CPU에 대한 공유와 상기 하드웨어 자원에 대한 공유를 관리하는 자원 코디네이터와, 상기 CPU의 현재 상태를 모니터하고 모니터 결과를 상기 자원 코디네이터로 전송하는 하드웨어 자원 매니저와, 상기 자원 코디네이터에 의해 변경된 상기 공유 조건과 상기 공유 정보의 업데이트와 저장을 관리하는 매니저를 포함한다.
본 발명의 실시 예에 따른 제1하드웨어 자원과 자원 관리 모듈을 포함하는 제2네트워크 장치에서, 상기 제2네트워크 장치는, 상기 자원 관리 모듈을 이용하여, 상기 제1하드웨어 자원의 상태를 모니터하고, 상기 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 제1하드웨어 자원에 대한 공유 조건과 상기 제2네트워크 장치와 상기 제3네트워크 장치에 의해 공유된 제2하드웨어 자원에 대한 공유 정보를 관리한다.
실시 예에 따라 상기 제2네트워크 장치는 상기 공유 조건과 상기 공유 정보를 저장하는 메모리를 더 포함하고, 상기 자원 관리 모듈은, 상기 제1네트워크 장치로부터 전송된 정보 전송 요구 신호에 응답하여, 상기 메모리로부터 출력된 상기 공유 조건과 상기 공유 정보를 상기 제1네트워크 장치로 전송한다.
실시 예에 따라, 상기 제2네트워크 장치는 상기 공유 조건과 상기 공유 정보를 저장하는 메모리를 더 포함하고, 상기 자원 관리 모듈은, 상기 제1네트워크 장치로부터 전송된 정보 요구 신호에 응답하여, 상기 제1네트워크 장치로 장치 정보 요구 신호를 전송하고, 상기 자원 관리 모듈은 상기 제1네트워크 장치로부터 장치 정보를 수신하고, 상기 장치 정보에 기초하여 상기 제1네트워크 장치와 상기 제2네트워크 장치의 호환 여부를 판단하고, 호환 가능할 때 상기 메모리로부터 출력된 상기 공유 조건과 상기 공유 정보를 상기 제1네트워크 장치로 전송한다.
상기 제1하드웨어 자원은 제1CPU이고, 상기 제2하드웨어 자원은 상기 제3네트워크 장치에 포함된 제2CPU일 때, 상기 자원 관리 모듈은, 상기 제1CPU의 사용률과 상기 제2CPU의 사용률에 기초하여, 상기 제1네트워크 장치부터 전송된 분석 엔진과 데이터를 상기 제1CPU와 상기 제2CPU 중에서 어느 하나로 전송하고, 상기 어느 하나가 상기 분석 엔진을 이용하여 상기 데이터를 분석하고 분석 데이터를 출력하면, 상기 자원 관리 모듈은 상기 어느 하나로부터 전송된 상기 분석 데이터를 수신하고 수신된 분석 데이터를 상기 제1네트워크 장치로 전송한다.
본 발명의 실시 예에 따른 시스템 온 칩은 다른 네트워크 장치와의 접속을 통해 상기 다른 네트워크 장치의 하드웨어 자원과 소프트웨어 자원 중에서 적어도 하나를 공유할 수 있는 효과가 있다.
상기 시스템 온 칩은 자신의 소프트웨어와 자신의 데이터를 상기 다른 네트워크 장치로 전송하고, 상기 하드웨어 자원에 의해 실행되는 상기 소프트웨어에 의해 분석된 데이터를 수신할 수 있는 효과가 있다. 따라서, 상기 시스템 온 칩은 상기 다른 네트워크 장치의 컴퓨팅 파워(computing power)를 이용할 수 있는 효과가 있다.
또한, 상기 시스템 온 칩은 자신의 데이터를 상기 다른 네트워크 장치로 전송하고, 상기 하드웨어 자원과 상기 소프트웨어 자원 중에서 적어도 하나에 의해 분석된 데이터를 수신할 수 있는 효과가 있다. 따라서, 상기 시스템 온 칩은 상기 다른 네트워크 장치의 컴퓨팅 파워를 이용할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 시스템 온 칩을 포함하는 네트워크 장치는 다른 네트워크 장치와 접속을 통해 상기 다른 네트워크 장치의 하드웨어 자원과 소프트웨어 자원 중에서 적어도 하나를 공유할 수 있는 효과가 있다. 또한, 상기 네트워크 장치는 상기 다른 네트워크 장치의 컴퓨팅 파워를 이용할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1a부터 도 1n은 본 발명의 실시 예들에 따른 네트워크 장치들의 블록도들을 나타낸다.
도 2는 도 1a부터 도 1n에 도시된 네트워크 장치에 포함된 프로파일/환경 설정 저장 장치(profile/configuration storage)에 저장된 프로파일/환경설정의 실시 예이다.
도 3은 네트워크 장치들을 포함하는 네트워크 시스템의 일 실시 예이다.
도 4는 도 3에 도시된 제2네트워크 장치의 프로파일/환경 설정 저장 장치에 저장된 프로파일/환경 설정의 실시 예이다.
도 5는 도 3에 도시된 제3네트워크 장치의 프로파일/환경 설정 저장 장치에 저장된 프로파일/환경 설정의 실시 예이다.
도 6은 도 3에 도시된 네트워크 시스템의 작동의 일 실시 예를 설명하기 위한 데이터 플로우이다.
도 7은 도 6에 도시된 데이터 플로우에서 연결할 적어도 하나의 네트워크 장치들을 선택하는 과정을 설명하기 위한 개념도이다.
도 8은 도 6에 도시된 데이터 플로우에서 제2네트워크 장치로부터 제1네트워크 장치로 전송된 제2프로파일/환경설정에 해당하는 제1연결 노드 그래프의 실시 예이다.
도 8은 도 6에 도시된 데이터 플로우에서 제3네트워크 장치로부터 제1네트워크 장치로 전송된 제3프로파일/환경설정에 해당하는 제2연결 노드 그래프의 실시 예이다.
도 10은 도 3에 도시된 네트워크 시스템의 작동의 다른 실시 예를 설명하기 위한 데이터 플로우이다.
도 11은 도 3에 도시된 네트워크 시스템에서 마스터 네트워크 장치를 선택하는 방법의 일 실시 예를 설명하기 위한 플로우 차트이다.
도 12는 도 3에 도시된 네트워크 시스템에서 마스터 네트워크 장치를 선택하는 방법의 다른 실시 예를 설명하기 위한 플로우 차트이다.
도 13은 본 발명의 실시 예에 따라 모바일 컴퓨팅 장치를 이용하여 제1네트워크 장치가 제2네트워크 장치에 접속된 장치를 제어하는 과정을 설명하기 위한 데이터 플로우이다.
도 14는 본 발명의 실시 예에 따라 제1네트워크 장치가 제2네트워크 장치에 접속된 장치를 제어하는 과정을 설명하기 위한 데이터 플로우이다.
도 15는 본 발명의 실시 예에 따라 다른 네트워크 장치가 자신의 컴퓨팅 파워를 이용하여 제1네트워크 장치로부터 전송된 데이터를 분석하는 과정을 설명하기 위한 데이터 플로우이다.
도 16은 본 발명의 실시 예에 따라 다른 네트워크 장치가 자신의 분석 엔진을 이용하여 제1네트워크 장치로부터 전송된 데이터를 분석하는 과정을 설명하기 위한 데이터 플로우이다.
도 17은 본 발명의 실시 예에 따라 제1네트워크 장치가 제4네트워크 장치에 접속된 장치를 공유 자원으로 설정하는 과정을 설명하기 위한 데이터 플로우이다.
도 18은 본 발명의 실시 예에 따라 네트워크 장치들 각각의 데이터 저장 장치의 용량에 따라 공유가능한 네트워크 장치를 결정하는 방법을 설명하기 위한 플로우 차트이다.
도 19는 본 발명의 실시 예에 따라 네트워크 장치들 각각의 작동 모드에 따라 공유가능한 네트워크 장치를 결정하는 방법을 설명하기 위한 플로우 차트이다.
도 20은 네트워크 장치들을 포함하는 네트워크 시스템의 다른 실시 예이다.
도 21은 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다.
도 22는 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다.
도 23은 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다.
도 24는 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서에서 설명될 네트워크 장치(network device; 예컨대, 200-1)는 싱크 노드(sink node), 허브(hub), 게이트웨이(gateway), 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 웨어러블 컴퓨팅 장치, 가정용 기기(home appliance), 산업용(industrial) 기기, 군사용 (military) 기기, 건강 관리(healthcare) 기기, 의료(medical) 기기, 농업용 (agriculture) 기기, 자동차(automobile or car), 또는 운송 수단(vehicle)을 의미할 수 있으나, 본 발명의 기술적 사상에 따른 네트워크 장치가 이들에 한정되는 것은 아니다.
무선 센서 네트워크(wireless sensor network(WSN))에서, 싱크 노드는 기지국(base station)이라고도 불리며, 상기 WSN과 외부 네트워크(예컨대, 인터넷)를 연결하는 게이트웨이의 역할을 하고, 각 센서 노드에 태스크(task)를 부여하고 상기 각 센서 노드에 의해 감지된 이벤트(event)를 수집할 수 있다.
허브는 복수의 컴퓨터들 또는 다른 네트워크 장치들을 함께 접속하는 네트워킹 장치(networking device)를 의미할 수 있다. 게이트웨이는 TCP/IP(Transmission Control Protocol/Internet Protocol) 네트워크상(on)에서 노드(node) 또는 라우터 (router)이고, 다른 네트워크를 향한 액세스 포인트(access point)의 역할을 수행할 수 있다.
본 명세서에서 유선 네트워크 또는 무선 네트워크를 통해 상기 네트워크 장치에 접속된 장치(device; 예컨대 201-1 또는 201-1')는 싱크 노드, 허브, 게이트웨이, IoT 장치, IoE 장치, 또는 센서 노드를 의미할 수 있으나 본 발명의 기술적 사상에 따른 장치가 이들에 한정되는 것은 아니다. 예컨대, 센서 노드는 감각 정보 (sensory information)의 처리와 수집(gathering)을 수행할 수 있는 WSN 내의 노드이고, 상기 센서 노드는 상기 WSN 내에서 서로 접속된 노드들 사이에서 통신을 수행할 수 있는 노드일 수 있다.
본 발명에서 네트워크 장치(예컨대, 201-1) 또는 상기 네트워크 장치와 통신 가능한 장치(예컨대, 201-1 또는 201-1')는 접근가능한 유선 인터페이스 및/또는 무선 인터페이스를 가지며, 상기 유선 인터페이스 및/또는 무선 인터페이스를 통해 적어도 하나의 다른 네트워크 장치 또는 장치와 데이터를 주거나 받을 수 있는 기기를 포함할 수 있다.
접근가능한 유선 인터페이스 및/또는 무선 인터페이스(예컨대, 210)는 근거리통신망(local area network(LAN)); Wi-Fi(wireless fidelity)와 같은 무선 근거리 통신망(wireless local area network(WLAN)); 블루투스(Bluetooth)와 같은 무선 개인 통신망(wireless personal area network(WPAN)); 무선 USB(wireless universal serial bus); 지그비(Zigbee); NFC(near field communication); RFID(radio-frequency identification); 또는 이동 통신망(mobile cellular network)에 접속 가능한 모뎀 통신 인터페이스 등을 포함할 수 있다. 상기 이동 통신망은 3G(3rd Generation) 이동 통신망, 4G(4th Generation) 이동 통신망, 또는 LTETM(Long Term Evolution) 이동 통신망을 의미할 수 있다. 상기 블루투스 인터페이스는 BLE(Bluetooth Low Energy)를 지원할 수 있다. 예컨대, 도 1a부터 도 1n에 도시된 접속 모듈(210)은 유선 인터페이스, 무선 인터페이스, 또는 모뎀 통신 인터페이스를 의미하거나 이를 포함할 수 있다.
본 명세서에서 모듈(module), 코디네이터(coordinator), 매니저(manager), 엔진(engine), 또는 보안 요소(secure element)는 본 명세서에서 설명될 각 명칭에 해당하는 기능 및/또는 작동을 수행할 수 있는 하드웨어(또는 하드웨어 컴포넌트)를 의미하거나, 특정한 기능 및/또는 작동을 수행할 수 있는 소프트웨어(또는 소프트웨어 컴포넌트)를 의미하거나, 특정한 기능 및/또는 작동을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체(예컨대, 프로세서 또는 CPU)를 의미할 수 있으나 이에 한정되는 것은 아니다. 다시 말해, 모듈, 코디네이터, 매니저, 엔진, 또는 보안 요소는 본 발명의 기술적 사상을 수행하기 위한 하드웨어 또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
도 1a부터 도 1n은 본 발명의 기술적 사상에 따른 네트워크 장치들(200-1~200-14, 집합적으로(collectively) "200")을 예시적으로 나타내다.
도 1a를 참조하면, 네트워크 장치(200-1)는 접속 모듈(210), 자원 관리 모듈 (230A), 하드웨어 자원(250-1), 및 적어도 하나의 액추에이터(270-1~270-a; a는 3 이상의 자연수)를 포함할 수 있다. 도 1a를 참조하면, 자원 관리 모듈(230A)과 분석 엔진(290) 각각은 하드웨어로 구현될 수 있다.
접속 모듈(210)은 무선 통신(예컨대, Wi-Fi 또는 블루투스)을 통해 접속가능한 네트워크 장치(들)를 검색하고, 네트워크 장치(200-1)와 접속된 네트워크 장치(들)와 공유된 소프트웨어 자원(shared software resource)의 송수신을 제어할 수 있다. 예컨대, 공유된 소프트웨어 자원은 도 2를 참조하여 설명될 프로파일/환경설정 정보(이하, "프로파일/환경설정"이라 한다), 소프트웨어 엔진, 및/또는 데이터를 포함할 수 있으나 이들에 한정되는 것은 아니다.
시스템 온 칩(system on chip(SoC); 220A)은 자원 관리 모듈(230A)과 애플리케이션 코어(251)를 포함할 수 있다. 비록, 도 1a에서는 SoC(220A)가 자원 관리 모듈(230A)과 애플리케이션 코어(251)를 포함하는 것으로 도시되어 있으나, 실시 예들에 따라, SoC(220A)는 접속 모듈(210) 및/또는 적어도 하나의 액추에이터(270-1~270-a)를 더 포함할 수 있다.
예컨대, SoC(220A)는 집적 회로(IC), 마더보드, 애플리케이션 프로세서 (application processor(AP)), 모바일 AP, 또는 칩 셋(chip set)를 의미할 수 있다. 예컨대, 애플리케이션 코어(251)는 적어도 하나의 코어를 포함하는 CPU 또는 프로세서를 의미할 수 있다. 예컨대, 애플리케이션 코어(251)는 소프트웨어 엔진을 실행하고 데이터를 처리하는 컴퓨팅 로직 회로를 의미할 수 있다.
자원 관리 모듈(230A)은 하드웨어 자원(250-1)의 현재 상태를 모니터하고, 네트워크 장치(200-1)와 적어도 하나의 네트워크 장치에 의해 공유될 하드웨어 자원(250-1)에 대한 공유 조건과, 네트워크 장치(200-1)와 적어도 하나의 네트워크 장치에 의해 현재 공유된 하드웨어 자원에 대한 공유 정보를 관리할 수 있다. 상기 공유 조건과 상기 공유 정보는 도 2를 참조하여 설명될 프로파일/환경설정을 포함할 수 있다.
예컨대, 자원 관리 모듈(230A)은 네트워크 장치(200-1)에 포함된(또는 접속된) 하드웨어 자원(250-1)의 현재 상태, 공유 조건에 대한 프로파일(profile), 및 공유 정보에 대한 환경설정(configuration)을 관리할 수 있다.
자원 관리 모듈(230A)은 하드웨어 자원 매니저(231), 자원 코디네이터(233), 및 프로파일/환경설정 매니저(237)를 포함할 수 있다.
하드웨어 자원 매니저(231)는 네트워크 장치(200-1)에 포함된(또는 접속된) 하드웨어 자원(250-1)의 현재 상태를 모니터하고 분석할 수 있다. 예컨대, AP 코어 (251)가 CPU일 때, 상기 현재 상태는 CPU 사용률(CPU utilization), CPU 사용량 (CPU usage), CPU 점유율(CPU occupancy), 또는 CPU 워크로드(workload) 중에서 적어도 하나를 포함할 수 있다. 또한, 하드웨어 자원 매니저(231)는 데이터 저장 장치(data storage; 255-1)의 사용가능한 메모리 용량을 상기 현재 상태로서 모니터할 수 있다.
자원 코디네이터(233)는 하드웨어 자원 매니저(231)와 프로파일/환경설정 매니저(237)를 제어할 수 있다. 예컨대, 자원 코디네이터(233)는 하드웨어 자원 매니저(231)와 프로파일/환경설정 매니저(237)와 명령 및/또는 데이터를 주고받을 수 있다.
예컨대, 자원 코디네이터(233)는 하드웨어 자원 매니저(231)에 의해 분석된 현재 생태를 접속 모듈(210)을 통해 네트워크 장치(200-1)에 접속된 적어도 하나의 네트워크 장치로 실시간으로 제공할 수 있다. 예컨대, 자원 코디네이터(233)는 네트워크 장치(200-1)에 접속될 또는 접속된 적어도 하나의 네트워크 장치와 하드웨어 자원(들)의 공유를 관리할 수 있다. 예컨대, 공유된 하드웨어 자원은 AP 코어 (251), 데이터 저장 장치(255-1), 보안 요소(253-1), 분석 엔진(290), 및/또는 적어도 하나의 장치(201-1~201-a)를 포함할 수 있다.
프로파일/환경설정 매니저(237)는 프로파일/환경설정의 전송 및/또는 업데이트를 관리할 수 있다. 예컨대, 프로파일/환경설정 매니저(237)는, 자원 코디네이터 (233)의 제어에 따라, 프로파일/환경설정 저장 장치(235)로부터 프로파일/환경설정을 리드(read)하고, 상기 프로파일/환경설정을 자원 코디네이터(233)로 전송할 수 있다. 따라서, 자원 코디네이터(233)는 프로파일/환경설정 매니저(237)로부터 전송된 프로파일/환경설정을 네트워크 장치(200-1)에 접속될 또는 접속된 적어도 하나의 네트워크 장치(이하, "상대방 네트워크 장치"라 한다)로 접속 모듈(210)을 통해 전송할 수 있다.
또한, 상대방 네트워크 장치로부터 상기 상대방 네트워크 장치의 프로파일/환경설정이 네트워크 장치(200-1)로 입력되면, 자원 코디네이터(233)는 접속 모듈 (210)을 통해 수신된 상기 프로파일/환경설정을 프로파일/환경설정 매니저(237)로 전송한다. 따라서, 프로파일/환경설정 매니저(237)는 상기 프로파일/환경설정을 프로파일/환경설정 저장 장치(235)에 저장할 수 있다. 즉, 프로파일/환경설정 저장 장치(235)는 네트워크 장치(200-1)의 프로파일/환경설정을 저장할 뿐만 아니라 상대방 네트워크 장치의 프로파일/환경설정을 저장할 수 있다.
예컨대, 상대방 네트워크 장치가 추가되거나 변경되면, 프로파일/환경설정 매니저(237)는 네트워크 장치(200-1)의 프로파일/환경설정 및/또는 상대방 네트워크 장치의 프로파일/환경설정을 업데이트할 수 있다. 또한, 공유된 소프트웨어 자원 및/또는 공유된 하드웨어 자원이 추가되거나 변경되면, 프로파일/환경설정 매니저(237)는 네트워크 장치(200-1)의 프로파일/환경설정 및/또는 상대방 네트워크 장치의 프로파일/환경설정을 업데이트할 수 있다.
하드웨어 자원(250-1)은 AP 코어(251), 보안 요소(253-1), 및 데이터 저장 장치(255-1)를 포함할 수 있다. AP 코어(251)는 접속 모듈(210), 자원 관리 모듈 (230A), 하드웨어 자원(250-1), 및 적어도 하나의 액추에이터(270-1~270-a)를 제어할 수 있다.
AP 코어(251)는 네트워크 장치(200-1)의 전반적인 동작을 제어할 수 있다. 예컨대, AP 코어(251)는 인터넷 브라우저, 게임, 또는 동영상 등을 제공하는 애플리케이션을 실행할 수 있다. 실시 예에 따라, AP 코어(251)는 하나의 코어(single core) 또는 멀티-코어(multi-core)를 포함할 수 있다. 실시 예에 따라, 멀티-코어는 듀얼 코어(dual-core), 트리플 코어(triple-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core), 옥타 코어(octa-core), 또는 마그니 코어(magni-core)를 포함할 수 있으나 본 발명의 기술적 사상은 AP 코어(251)에 포함되는 코어의 개수에 한정되는 것은 아니다.
AP 코어(251) 또는 자원 코디네이터(233)에 의해 관리되는 공유 정책에 따라, 멀티-코어에 포함된 코어들 중에서 적어도 하나는 공유된 하드웨어 자원으로 할당될 수 있다. 멀티-코어에 포함된 코어들 각각의 성능과 전력 소모는 서로 다를 수 있다.
AP 코어(251)는 분석 엔진(290)을 포함할 수 있다. 분석 엔진(290)은 적어도 하나의 장치(201-1~201-a)에 의해 감지된 이벤트(event)를 수신하고 분석할 수 있다. 또한, 분석 엔진(290)은 적어도 하나의 상대방 네트워크 장치로부터 전송된 데이터를 분석하고, 분석 결과를 자원 관리 모듈(230A)로 전송할 수 있다.
보안 요소(253-1)는 보안 요소(253-1)의 작동을 제어하는 프로세서(미도시)와 프로파일/환경설정을 저장하는 프로파일/환경설정 저장 장치(235)를 포함할 수 있다.
상기 프로세서와 프로파일/환경설정 저장 장치(235)는 하나의 패키지로 형성되고, 상기 프로세서와 프로파일/환경설정 저장 장치(235)를 접속하는 내부 버스는 상기 패키지 내부에 형성될 수 있다. 보안 요소(253-1), 예컨대 프로세서는 외부로부터의 공격, 예컨대 랩 어택(lab attack)을 방어할 수 있는 기능을 포함할 수 있다. 따라서, 보안 요소(253-1)는 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정에 관련된 보안 데이터를 안전하게 저장할 수 있다. 또한, 보안 요소 (253-1)는 AP 코어(251)에 대한 보안 데이터를 저장할 수 있다. 예컨대, 프로파일/환경설정과 AP 코어(251)에 대한 보안 데이터는 프로파일/환경설정 저장 장치(235)에 저장될 수 있다.
예컨대, 보안 요소(253-1)와 AP 코어(251)는 상호 인증을 통하여 세션 키 (session key)를 생성할 수 있다. 따라서 네트워크 장치(200-1)의 보안 레벨은 향상될 수 있다. 예컨대, 보안 요소(253-1)와 AP 코어(251)는 하나의 패키지로 형성될 수 있다. 예컨대, 보안 요소(253-1)는 SIM(subscriber identity module), UIM (user identity module), 또는 USIM(Universal SIM)으로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 저장 장치(255-1)는 AP 코어(251) 또는 분석 엔진(290)에 필요한 데이터 또는 AP 코어(251) 또는 분석 엔진(290)에 의해 생성된 데이터를 저장할 수 있다. 데이터 저장 장치(255-1)에 저장되는 데이터는 적어도 하나의 장치(201-1~201-a)에 의해 감지된 데이터일 수 있다.
데이터 저장 장치(255-1)는 휘발성 메모리 장치 및/또는 불휘발성 메모리 장치로 구현될 수 있다. 비록, 도 1에는 하나의 데이터 저장 장치(255-1)가 도시되어 있으나, 데이터 저장 장치(255-1)는 휘발성 메모리 장치 및/또는 불휘발성 메모리 장치을 포함하는 집합적 데이터 저장 장치를 의미할 수 있다.
데이터 저장 장치(255-1)는 네트워크 장치(200-1)를 부팅(booting)하기 위한 부트 이미지(boot image)를 저장할 수 있다. 예컨대, 데이터 저장 장치 (255-1)는 불휘발성 메모리 장치, 예컨대, 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(solid state drive or solid state disk(SSD)), 유니버셜 플래시 스토리지(universal flash storage(UFS)), 또는 하드디스크 드라이브(hard disk drive(HDD))로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 저장 장치(255-1)는 네트워크 장치(200-1)의 작동에 필요한 데이터 또는 네트워크 장치(200-1)에 의해 생성된 데이터를 저장할 수 있다. 예컨대, 데이터 저장 장치(255-1)는 휘발성 메모리 장치, 예컨대 RAM(random access memory), DRAM(dynamic RAM), 또는 SRAM(static RAM)으로 구현될 수 있으나 이에 한정되는 것은 아니다.
각 액추에이터(270-1~270-a)는, AP 코어(251) 또는 자원 관리 모듈(230A)의 제어에 따라, 각 장치(201-1~201-a)를 제어할 수 있다. 비록, 도 1a에서는 각 액추에이터(270-1~270-a)가 네트워크 장치(200-1)에 포함된 것으로 도시되어 있으나, 실시 예에 따라 도 1d에 도시된 바와 같이 각 액추에이터(270-1~270-a)는 각 장치 (201-1'~201-a')에 포함될 수 있다.
각 장치(201-1~201-a)는 앞에서 설명한 바와 같이 싱크 노드, 허브, 게이트웨이, IoT 장치, IoE 장치, 또는 센서 노드로 구현될 수 있다. 예컨대, 장치들 (201-1~201-a) 중에서 어느 하나는 이미지 센서, 신체 정보(biometric information)를 감지하는 바이오 센서, 음향 센서(acoustic sensor), 소리 센서 (sound sensor), 진동(vibration) 센서, 자동차와 운송(automotive and transportation)과 관련된 센서, 화학 물질과 관련된 센서, 환경, 날씨, 이슬, 또는 습도(environment, weather, moisture, or humidity)와 관련된 센서, 흐름 또는 유체 속도(flow or fluid velocity)와 관련된 센서, 운항 장치들(navigation instruments)과 관련된 센서, 등 다양한 센서로 구현될 수 있다.
도 1b를 참조하면, 네트워크 장치(200-2)는 접속 모듈(210), 자원 관리 모듈 (230A), 하드웨어 자원(250-2), 및 적어도 하나의 액추에이터(270-1~270-a)를 포함할 수 있다.
데이터 저장 장치(255-2)가 프로파일/환경설정을 저장하는 프로파일/환경설정 저장 장치(235)를 포함하는 것을 제외하면, 도 1b의 네트워크 장치(200-2)의 구조와 기능은 도 1a의 네트워크 장치(200-1)의 구조와 기능과 실질적으로 동일 또는 유사하다.
보안 요소(253-2)는 보안 요소(253-2)의 작동을 제어하는 프로세서(미도시)와 보안 데이터를 저장하는 저장 장치(미도시)를 포함할 수 있다. 보안 요소(253-2)는 프로파일/환경설정 저장 장치(235)에 대한 액세스 작동, 예컨대 라이트 작동 또는 리드 작동을 제어할 수 있다.
예컨대, 프로파일/환경설정 매니저(237)가 프로파일/환경설정 저장 장치 (235)를 액세스할 때, 보안 요소(253-2)는 프로파일/환경설정 저장 장치(235)에 대한 액세스를 제어할 수 있다. 따라서, 보안 요소(253-2)에 의해 프로파일/환경설정 저장 장치(235)에 대한 액세스가 허용될 때, 프로파일/환경설정 매니저(237)는 네트워크 장치(200-2)의 프로파일/환경설정 및/또는 상대 네트워크 장치의 프로파일/환경설정을 리드하거나 업데이트할 수 있다.
따라서, 보안 요소(253-2)는 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정을 안전하게 관리할 수 있다. 또한, 보안 요소(253-2)는 AP 코어 (251)에 대한 보안 데이터를 저장할 수 있는 저장 장치를 포함할 수 있다. 예컨대, 보안 요소(253-2)는 SIM, UIM, 또는 USIM으로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 저장 장치(255-2)는 AP 코어(251) 또는 분석 엔진(290)에서 필요한 데이터, 또는 AP 코어(251) 또는 분석 엔진(290)에 의해 생성된 데이터를 저장할 수 있다. 적어도 하나의 장치(201-1~201-a)에 의해 감지된 데이터는 데이터 저장 장치(255-2)에 저장될 수 있다.
데이터 저장 장치(255-2)는 프로파일/환경설정을 저장하는 프로파일/환경설정 저장 장치(235)를 포함할 수 있다. 프로파일/환경설정을 저장하는 프로파일/환경설정 저장 장치(235)는 불휘발성 메모리 장치를 의미하거나, 상기 불휘발성 메모리 장치에 포함된 메모리 영역의 일부 영역을 의미할 수 있다.
데이터 저장 장치(255-2)는 네트워크 장치(200-2)를 부팅하기 위한 부트 이미지를 저장할 수 있다. 예컨대, 데이터 저장 장치(255-2)는 불휘발성 메모리 장치, 예컨대, 플래시 메모리 장치, SSD, UFS, 또는 HDD로 구현될 수 있으나 이에 한정되는 것은 아니다.
도 1c를 참조하면, 네트워크 장치(200-3)는 접속 모듈(210), 자원 관리 모듈 (230A), 하드웨어 자원(250-3), 및 적어도 하나의 액추에이터(270-1~270-a)를 포함할 수 있다.
보안 요소(253-3)와 데이터 저장 장치(255-3)를 포함하는 것을 제외하면, 도 1c의 네트워크 장치(200-3)의 구조와 기능은 도 1a의 네트워크 장치(200-1)의 구조와 기능과 실질적으로 동일 또는 유사하다.
프로파일/환경설정 매니저(237)가 프로파일/환경설정 저장 장치(235)를 액세스할 때, 프로파일/환경설정 저장 장치(235)는 보안 요소(253-3)로 액세스 신호를 전송하고, 보안 요소(253-3)는, 상기 액세스 신호와 보안 정책에 따라, 프로파일/환경설정 매니저(237)에게 프로파일/환경설정 저장 장치(235)에 대한 액세스를 허용할지를 판단하고, 판단 결과에 해당하는 지시 신호를 프로파일/환경설정 저장 장치(235)로 전송할 수 있다.
보안 요소(253-3)는 보안 요소(253-3)의 작동을 제어하는 프로세서(미도시)와 보안 데이터를 저장하는 저장 장치(미도시)를 포함할 수 있다. 보안 요소(253-3)는 프로파일/환경설정 저장 장치(235)에 대한 액세스 작동, 예컨대 라이트 작동 또는 리드 작동을 제어할 수 있다.
예컨대, 프로파일/환경설정 매니저(237)가 프로파일/환경설정 저장 장치 (235)를 액세스할 때, 보안 요소(253-3)는 프로파일/환경설정 저장 장치(235)에 대한 액세스를 제어할 수 있다. 따라서, 보안 요소(253-3)에 의해 프로파일/환경설정 저장 장치(235)에 대한 액세스가 허용될 때, 프로파일/환경설정 매니저(237)는 네트워크 장치(200-3)의 프로파일/환경설정 및/또는 상대 네트워크 장치의 프로파일/환경설정을 리드하거나 업데이트할 수 있다.
따라서, 보안 요소(253-3)는 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정을 안전하게 관리할 수 있다. 또한, 보안 요소(253-3)는 AP 코어 (251)에 대한 보안 데이터를 저장할 수 있는 저장 장치를 포함할 수 있다. 예컨대, 보안 요소(253-3)는 SIM, UIM, 또는 USIM으로 구현될 수 있으나 이에 한정되는 것은 아니다.
데이터 저장 장치(255-3)는 AP 코어(251) 또는 분석 엔진(290)에서 필요한 데이터, 또는 AP 코어(251) 또는 분석 엔진(290)에 의해 생성된 데이터를 저장할 수 있다. 적어도 하나의 장치(201-1~201-a)에 의해 감지된 데이터는 데이터 저장 장치(255-3)에 저장될 수 있다.
데이터 저장 장치(255-3)는 프로파일/환경설정을 저장하는 프로파일/환경설정 저장 장치(235)를 포함할 수 있다. 프로파일/환경설정을 저장하는 프로파일/환경설정 저장 장치(235)는 불휘발성 메모리 장치를 의미하거나, 상기 불휘발성 메모리 장치에 포함된 메모리 영역의 일부 영역을 의미할 수 있다.
도 1d를 참조하면, 네트워크 장치(200-4)는 접속 모듈(210), 자원 관리 모듈 (230A), 및 하드웨어 자원(250-4)을 포함할 수 있다. 도 1a와 도 1d를 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다. 각 장치 (201-1'~201-a')는 앞에서 설명한 바와 같이 싱크 노드, 허브, 게이트웨이, IoT 장치, IoE 장치, 또는 센서 노드로 구현될 수 있다. 자원 관리 모듈(230A) 또는 AP 코어(251)는 각 액추에이터(270-1~270-a)를 제어할 수 있다.
도 1a의 보안 요소(253-1)의 구조와 기능은 도 1d의 보안 요소(253-4)의 구조와 기능과 실질적으로 동일 또는 유사하다. 또한, 도 1a의 데이터 저장 장치 (255-1)의 구조와 기능은 도 1d의 데이터 저장 장치(255-4)의 구조와 기능과 실질적으로 동일 또는 유사하다. 여기서, 실질적 동일은 물리적으로 완전히 동일함 또는 오차 범위 내에서 동일함을 포함할 수 있다.
도 1e를 참조하면, 네트워크 장치(200-5)는 접속 모듈(210), 자원 관리 모듈 (230A), 및 하드웨어 자원(250-5)을 포함할 수 있다. 도 1b와 도 1e를 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다.
도 1b의 보안 요소(253-2)의 구조와 기능은 도 1e의 보안 요소(253-5)의 구조와 기능과 실질적으로 동일 또는 유사하다. 또한, 도 1b의 데이터 저장 장치 (255-2)의 구조와 기능은 도 1e의 데이터 저장 장치(255-5)의 구조와 기능과 실질적으로 동일 또는 유사하다.
도 1f를 참조하면, 네트워크 장치(200-6)는 접속 모듈(210), 자원 관리 모듈 (230A), 및 하드웨어 자원(250-6)을 포함할 수 있다. 도 1c와 도 1f를 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다.
도 1c의 보안 요소(253-3)의 구조와 기능은 도 1f의 보안 요소(253-6)의 구조와 기능과 실질적으로 동일 또는 유사하다. 또한, 도 1c의 데이터 저장 장치 (255-3)의 구조와 기능은 도 1f의 데이터 저장 장치(255-6)의 구조와 기능과 실질적으로 동일 또는 유사하다.
도 1g를 참조하면, 네트워크 장치(200-7)는 접속 모듈(210), 자원 관리 모듈 (230B), 하드웨어 자원(250-7), 및 적어도 하나의 액추에이터(270-1~270-a)를 포함할 수 있다. 도 1g를 참조하면, 자원 관리 모듈(230B), 보안 요소(253), 및 분석 엔진(290)은 AP 코어(251)에서 실행될 수 있는 소프트웨어들(또는 소프트웨어 컴포넌트들)로 구현될 수 있다. 자원 관리 모듈(230B)은 데이터 저장 장치(255-7)에 저장될 수 있고, AP 코어(251)에 의해 실행될 수 있다.
하드웨어 자원(250-7)은 AP 코어(251), 프로파일/환경설정 저장 장치(235), 및 데이터 저장 장치(255-7)를 포함할 수 있다. 비록, 도 1g에서는 데이터 저장 장치(255-7)가 AP 코어(251)의 외부에 도시되어 있으나, 데이터 저장 장치(255-7)는 AP 코어(251) 내부에 존재하는 메모리 장치(미도시)를 포함하는 것으로 이해될 수 있다.
AP 코어(251)에 의해 실행되는 보안 요소(253)는 프로파일/환경설정 저장 장치(235)에 대한 액세스 작동, 예컨대 라이트 작동 또는 리드 작동을 제어할 수 있다. 예컨대, 프로파일/환경설정 매니저(237)가 프로파일/환경설정 저장 장치(235)를 액세스할 때, 보안 요소(253)는 프로파일/환경설정 저장 장치(235)에 대한 액세스를 제어할 수 있다. 따라서, 보안 요소(253)에 의해 프로파일/환경설정 저장 장치(235)에 대한 액세스가 허용될 때, 프로파일/환경설정 매니저(237)는 네트워크 장치(200-7)의 프로파일/환경설정 및/또는 상대 네트워크 장치의 프로파일/환경설정을 리드하거나 업데이트할 수 있다.
도 1g의 각 소프트웨어(231, 233, 237, 253, 및 290)의 기능은 도 1a의 각 하드웨어(231, 233, 237, 253, 및 290)의 기능과 실질적으로 동일 또는 유사하다. 도 1a의 데이터 저장 장치(255-1)의 구조와 기능은 도 1g의 데이터 저장 장치(255-7)의 구조와 기능과 실질적으로 동일 또는 유사하다.
도 1h를 참조하면, 네트워크 장치(200-8)는 접속 모듈(210), 자원 관리 모듈 (230B), 하드웨어 자원(250-8), 및 적어도 하나의 액추에이터(270-1~270-a)를 포함할 수 있다. 도 1h를 참조하면, 자원 관리 모듈(230B), 보안 요소(253), 및 분석 엔진(290)은 AP 코어(251)에서 실행될 수 있는 소프트웨어들(또는 소프트웨어 컴포넌트들)로 구현될 수 있다. 데이터 저장 장치(255-8)는 프로파일/환경설정 저장 장치(235)를 포함할 수 있다.
AP 코어(251)에서 실행되는 보안 요소(253)는 프로파일/환경설정 저장 장치 (235)에 대한 액세스 작동, 예컨대 라이트 작동 또는 리드 작동을 제어할 수 있다. 예컨대, 프로파일/환경설정 매니저(237)가 프로파일/환경설정 저장 장치(235)를 액세스할 때, 보안 요소(253)는 프로파일/환경설정 저장 장치(235)에 대한 액세스를 제어할 수 있다. 따라서, 보안 요소(253)에 의해 프로파일/환경설정 저장 장치 (235)에 대한 액세스가 허용될 때, 프로파일/환경설정 매니저(237)는 네트워크 장치(200-8)의 프로파일/환경설정 및/또는 상대 네트워크 장치의 프로파일/환경설정을 리드하거나 업데이트할 수 있다.
도 1b의 데이터 저장 장치(255-2)의 구조와 작동은 도 1h의 데이터 저장 장치(255-8)의 구조와 작동과 실질적으로 동일 또는 유사하다. 도 1h의 각 소프트웨어(231, 233, 237, 253, 및 290)의 기능은 도 1a의 각 하드웨어(231, 233, 237, 253, 및 290)의 기능과 실질적으로 동일 또는 유사하다.
도 1i를 참조하면, 네트워크 장치(200-9)는 접속 모듈(210), 자원 관리 모듈 (230B), 및 하드웨어 자원(250-9)을 포함할 수 있다. 도 1g와 도 1i를 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다. 자원 관리 모듈(230B) 또는 AP 코어(251)는 각 액추에이터(270-1~270-a)를 제어할 수 있다. 하드웨어 자원(250-9)은 AP 코어(251), 프로파일/환경설정 저장 장치(235), 및 데이터 저장 장치(255-9)를 포함할 수 있다.
도 1i의 각 소프트웨어(231, 233, 237, 253, 및 290)의 기능은 도 1a의 각 하드웨어(231, 233, 237, 253, 및 290)의 기능과 실질적으로 동일 또는 유사하다. 도 1a의 데이터 저장 장치(255-1)의 구조와 기능은 도 1i의 데이터 저장 장치(255-9)의 구조와 기능과 실질적으로 동일 또는 유사하다.
도 1j를 참조하면, 네트워크 장치(200-10)는 접속 모듈(210), 자원 관리 모듈(230B), 및 하드웨어 자원(250-10)을 포함할 수 있다. 도 1h와 도 1j를 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다. 자원 관리 모듈(230B) 또는 AP 코어(251)는 각 액추에이터(270-1~270-a)를 제어할 수 있다. 도 1j의 각 소프트웨어(231, 233, 237, 253, 및 290)의 기능은 도 1a의 각 하드웨어(231, 233, 237, 253, 및 290)의 기능과 실질적으로 동일 또는 유사하다.
도 1g부터 도 1j에 도시된 SoC(220B)는 AP 코어(251)를 포함할 수 있다.
도 1k를 참조하며, 네트워크 장치(200-11)는 접속 모듈(210), 자원 관리 모듈(230A), 하드웨어 자원(250-11), 적어도 하나의 액추에이터(270-1~270-a), 및 분석 엔진(290)을 포함할 수 있다. SoC(220A)는 자원 관리 모듈(230A), AP 코어 (251), 보안 요소(253), 및 분석 엔진(290)을 포함할 수 있다.
도 1a에서 AP 코어(251)는 분석 엔진(290)을 포함하고, 보안 요소(253-1)는 프로파일/환경설정 저장 장치(235)를 포함하나, 도 1k에서 AP 코어(251)는 분석 엔진(290)을 포함하지 않고, 보안 요소(253)는 프로파일/환경설정 저장 장치(235)를 포함하지 않는다. 도 1a의 보안 요소(253-1)의 기능은 도 1k의 보안 요소(253)의 기능과 실질적으로 동일 또는 유사하고, 도 1a의 분석 엔진(290)의 기능은 도 1k의 분석 엔진(290)의 기능은 실질적으로 동일 또는 유사하고, 도 1a의 데이터 저장 장치(255-1)의 구조와 기능은 도 1k의 데이터 저장 장치(255-11)의 구조와 기능은 실질적으로 동일 또는 유사하다.
도 1l를 참조하면, 네트워크 장치(200-12)는 접속 모듈(210), 자원 관리 모듈(230A), 및 하드웨어 자원(250-12)을 포함할 수 있다. 도 1k와 도 1l을 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다. 자원 관리 모듈(230A) 또는 AP 코어(251)는 각 액추에이터(270-1~270-a)를 제어할 수 있다.
도 1m을 참조하면, 네트워크 장치(200-13)는 접속 모듈(210), 자원 관리 모듈(230B), 하드웨어 자원(250-13), 및 적어도 하나의 액추에이터(270-1~270-a)를 포함할 수 있다. 도 1m을 참조하면, 자원 관리 모듈(230B)과 분석 엔진(290)은 AP 코어(251)에서 실행될 수 있는 소프트웨어들(또는 소프트웨어 컴포넌트들)로 구현될 수 있다. 하드웨어 자원(250-13)은 AP 코어(251), 보안 요소(253), 프로파일/환경설정 저장 장치(235), 및 데이터 저장 장치(255-13)를 포함할 수 있다.
SoC(220B)는 AP 코어(251)와 보안 요소(253)를 포함할 수 있다. 도 1a부터 도 1n을 참조하면, 동일한 명칭을 갖는 하드웨어와 소프트웨어는 동일 또는 유사한 기능을 수행할 수 있다.
도 1n를 참조하면, 네트워크 장치(200-14)는 접속 모듈(210), 자원 관리 모듈(230B), 및 하드웨어 자원(250-14)을 포함할 수 있다. 도 1m과 도 1n을 참조하면, 각 장치(201-1'~201-a')는 각 액추에이터(270-1~270-a)를 포함할 수 있다. 자원 관리 모듈(230B) 또는 AP 코어(251)는 각 액추에이터(270-1~270-a)를 제어할 수 있다. 하드웨어 자원(250-14)은 AP 코어(251), 보안 요소(253), 프로파일/환경설정 저장 장치(235), 및 데이터 저장 장치(255-14)를 포함할 수 있다.
도 1a부터 도 1n을 참조하여 설명된 각 네트워크 장치(200-1~200-14)에서, 자원 관리 모듈, 보안 요소, 및 분석 엔진 중에서 적어도 하나는 하드웨어 또는 소프트웨어로 구현될 수 있다. 또한, 프로파일/환경설정 저장 장치(235)는 하드웨어 보안 요소에 포함되거나 포함되지 않을 수 있다. 각 액추에이터(270-1~270-a)는 해당 네트워크 장치에 포함될 수도 있고 포함되지 않을 수도 있고, 각 액추에이터 (270-1~270-a)는 해당 장치에 포함될 수도 있고 포함되지 않을 수도 있다.
도 2는 도 1a부터 도 1n에 도시된 네트워크 장치에 포함된 프로파일/환경설정 저장 장치(profile/configuration storage)에 저장된 프로파일/환경설정의 실시 예이다.
도 1a부터 도 2를 참조하면, 프로파일/환경설정은 공유 조건과 공유 정보를 포함할 수 있다. 예컨대, 프로파일/환경설정은 네트워크 장치(200)의 제조사, 모델명, 사용자 정보, 버전 정보, 연결가능한 제조사 및 모델명, 안전하게 호환되는 제조사 및 모델명, 연결된 네트워크 장치 리스트 및/또는 연결된 장치 리스트, 및 접근가능한 하드웨어 자원을 포함할 수 있으나, 프로파일/환경설정 저장 장치(235)에 저장되는 프로파일/환경설정이 이들에 한정되는 것은 아니다.
예컨대, 제조사, 모델명, 사용자 정보, 버전 정보, 연결가능한 제조사 및 모델명, 안전하게 호환되는 제조사 및 모델명 중에서 적어도 하나는 공유 조건일 수 있다. 연결된 네트워크 장치 리스트 및/또는 연결된 장치 리스트, 및 접근가능한 하드웨어 자원 중에서 적어도 하나는 공유 정보일 수 있다. 즉, 프로파일/환경설정은 네트워크 장치(200)에 대한 프로파일/환경설정뿐만 아니라 상대 네트워크 장치에 대한 프로파일/환경설정을 저장할 수 있다.
도 3은 네트워크 장치들을 포함하는 네트워크 시스템의 일 실시 예이다. 도 1부터 도 3을 참조하면, 네트워크 시스템(100A)은 서로 다른 하드웨어 자원(들)을 갖는 네트워크 장치들(200, 300, 400, 500, 600, 및 700)을 포함할 수 있다.
예컨대, 제2네트워크 장치(300)는 제1네트워크(110-1)를 통해 제3네트워크 장치(400)에 접속되고, 제2네트워크 장치(300)는 제2네트워크(110-2)를 통해 제6네트워크 장치(700)에 접속되고, 제3네트워크 장치(400)는 제3네트워크(110-3)를 통해 제4네트워크 장치(500)와 제5네트워크 장치(600)에 접속되고, 제1네트워크 장치 (200)는 네트워크 시스템(100A)에 접속을 원하는 신규 네트워크 장치라고 가정한다.
각 네트워크 장치(200, 300, 400, 500, 600, 및 700)는 도 1a부터 도 1n을 참조하여 설명된 네트워크 장치들(200-1~200-14)에서 해당하는 하나의 네트워크 장치의 구조를 갖고, 각 네트워크 장치(200, 300, 400, 500, 600, 및 700)는 해당하는 장치들에 접속되거나 해당하는 장치들과 통신할 수 있다고 가정한다.
예컨대, 제1네트워크 장치(200)는 장치들(201-1~201-a)과 접속되거나 장치들 (201-1~201-a)과 유선 통신 또는 무선 통신을 할 수 있다. 도 1a부터 도 1n을 참조하여 설명한 바와 같이, 각 장치(201-1~201-a)는 액추에이터를 포함할 수도 있고 포함하지 않을 수도 있다. 제1네트워크 장치(200)는 제1프로파일/환경설정 저장 장치(235)를 포함한다. 제1프로파일/환경설정 저장 장치(235)는 제1네트워크 장치 (200) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다.
실시 예에 따라, 제1네트워크 장치(200)는 모바일 컴퓨팅 장치(800)와 접속 모듈(210)을 통해 명령 및/또는 데이터를 주고받을 수 있다. 예컨대, 모바일 컴퓨팅 장치(800)는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(personal digital assistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷(internet of everything(IoE)) 장치, 드론(drone), 또는 e-북(e-book)으로 구현될 수 있다.
제1네트워크 장치(200)는 입출력 인터페이스(201-0)를 통해 명령 및/또는 데이터를 주고받을 수 있다. 입출력 인터페이스(201-0)는 입력 장치(예컨대, 터치패드, 키패드, 또는 입력 버튼 등)와, 출력 장치(예컨대, 디스플레이와 스피커 등)를 포함할 수 있다.
각 네트워크 장치(200, 300, 400, 500, 600, 및 700)는 도 1a부터 도 1n을 참조하여 설명된 구조들(200-1~200-14) 중에서 해당하는 하나의 구조를 가지므로, 각 네트워크 장치(200, 300, 400, 500, 600, 및 700)는 모바일 컴퓨팅 장치(800)와 접속 모듈(210)을 통해 명령 및/또는 데이터를 주고받을 수 있다.
비록, 도 3에서는 각 네트워크 장치(300, 400, 500, 600, 및 700)에 대한 입출력 인터페이스가 별도로 도시되어 있지 않으나, 각 네트워크 장치(300, 400, 500, 600, 및 700)는 입출력 인터페이스(201-0)와 동일 또는 유사한 입출력 인터페이스를 포함할 수 있다.
제2네트워크 장치(300)는 장치들(301-1~301-b)과 접속되거나 장치들(301-1~301-b)과 유선 통신 또는 무선 통신을 할 수 있다. 도 1a부터 도 1n을 참조하여 설명한 바와 같이, 각 장치(301-1~301-b)는 액추에이터를 포함할 수도 있고 포함하지 않을 수도 있다. 제2네트워크 장치(300)는 제2프로파일/환경설정 저장 장치 (235-2)를 포함한다. 제2프로파일/환경설정 저장 장치(235-2)는 제2네트워크 장치 (300) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다.
제3네트워크 장치(400)는 장치들(401-1~401-c)과 접속되거나 장치들(401-1~401-c)과 유선 통신 또는 무선 통신을 할 수 있다. 도 1a부터 도 1n을 참조하여 설명한 바와 같이, 각 장치(401-1~401-c)는 액추에이터를 포함할 수도 있고 포함하지 않을 수도 있다. 제3네트워크 장치(400)는 제3프로파일/환경설정 저장 장치 (235-3)를 포함한다. 제3프로파일/환경설정 저장 장치(235-3)는 제3네트워크 장치 (400) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다.
제4네트워크 장치(500)는 장치들(501-1~501-d)과 접속되거나 장치들(501-1~501-d)과 유선 통신 또는 무선 통신을 할 수 있다. 도 1a부터 도 1n을 참조하여 설명한 바와 같이, 각 장치(501-1~501-d)는 액추에이터를 포함할 수도 있고 포함하지 않을 수도 있다. 제4네트워크 장치(500)는 제4프로파일/환경설정 저장 장치 (235-4)를 포함한다. 제4프로파일/환경설정 저장 장치(235-4)는 제4네트워크 장치 (500) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다.
제5네트워크 장치(600)는 장치들(601-1~601-e)과 접속되거나 장치들(601-1~601-e)과 유선 통신 또는 무선 통신을 할 수 있다. 도 1a부터 도 1n을 참조하여 설명한 바와 같이, 각 장치(601-1~601-e)는 액추에이터를 포함할 수도 있고 포함하지 않을 수도 있다. 제5네트워크 장치(600)는 제5프로파일/환경설정 저장 장치 (235-5)를 포함한다. 제5프로파일/환경설정 저장 장치(235-5)는 제5네트워크 장치 (600) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다.
제6네트워크 장치(700)는 장치들(701-1~701-f)과 접속되거나 장치들(701-1~701-f)과 유선 통신 또는 무선 통신을 할 수 있다. 도 1a부터 도 1n을 참조하여 설명한 바와 같이, 각 장치(701-1~701-f)는 액추에이터를 포함할 수도 있고 포함하지 않을 수도 있다. 제6네트워크 장치(700)는 제6프로파일/환경설정 저장 장치 (235-6)를 포함한다. 제6프로파일/환경설정 저장 장치(235-6)는 제6네트워크 장치 (700) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다.
각 네트워크(110-1, 110-2, 및 110-3)는 앞에서 설명한 LAN, Wi-Fi와 같은 WLAN, 블루투스와 같은 WPAN, 무선 USB, 지그비(Zigbee), NFC, RFID, 또는 이동 통신망일 수 있으나 이에 한정되는 것은 아니다.
도 4는 도 3에 도시된 제2네트워크 장치의 프로파일/환경설정 저장 장치에 저장된 프로파일/환경 설정의 실시 예이다.
도 3과 도 4를 참조하면, 제2프로파일/환경설정 저장 장치(235-2)는 제2네트워크 장치(300) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다. 도 4에서는 프로파일/환경설정, 즉 공유 정보(PCI1)가 예시적으로 도시되어 있다.
도 4를 참조하면, 제2네트워크 장치(300)의 관점에서 보면, 제2네트워크 장치(300)는 제2네트워크 장치(300)의 하드웨어 자원들 중에서 AP 코어(AP Core2), 데이터 저장 장치(Data Storage2), 및 장치(Device 2-1)를 이미 공유하고 있거나 공유할 수 있다.
제2네트워크 장치(300)는 제3네트워크 장치(400)의 하드웨어 자원들 중에서 AP 코어(AP Core3), 데이터 저장 장치(Data Storage3), 및 장치들(Device3-1~Device3-c)을 공유된 하드웨어 자원들로서 사용할 수 있다.
제2네트워크 장치(300)는 제3네트워크 장치(400)를 통해 제4네트워크 장치 (500)의 하드웨어 자원들 중에서 AP 코어(AP Core4), 데이터 저장 장치(Data Storage4), 및 장치들(Device4-1과 Device4-2)을 공유된 하드웨어 자원들로서 사용할 수 있다.
제2네트워크 장치(300)는 제3네트워크 장치(400)를 통해 제5네트워크 장치 (600)의 하드웨어 자원들 중에서 AP 코어(AP Core5), 및 장치들(Device5-1과 Device5-e)을 공유된 하드웨어 자원들로서 사용할 수 있다.
제2네트워크 장치(300)는 제6네트워크 장치(700)의 하드웨어 자원들 중에서 AP 코어(AP Core6), 및 장치들(Device6-2와 Device6-f)을 공유된 하드웨어 자원들로서 사용할 수 있다.
도 5는 도 3에 도시된 제3네트워크 장치의 프로파일/환경설정 저장 장치에 저장된 프로파일/환경설정의 실시 예이다.
도 3과 도 5를 참조하면, 제3프로파일/환경설정 저장 장치(235-3)는 제3네트워크 장치(400) 자신의 프로파일/환경설정뿐만 아니라 상대 네트워크 장치(들)의 프로파일/환경설정을 저장할 수 있다. 도 5에서는 프로파일/환경설정, 즉 공유 정보(PCI2)가 예시적으로 도시되어 있다.
도 5를 참조하면, 제3네트워크 장치(400)의 관점에서 보면, 제3네트워크 장치(400)는 제3네트워크 장치(400)의 하드웨어 자원들 중에서 AP 코어(AP Core3), 데이터 저장 장치(Data Storage3), 및 장치들(Device3-1과 Device3-2)을 이미 공유하고 있거나 공유할 수 있다.
제3네트워크 장치(400)는 제2네트워크 장치(300)의 하드웨어 자원들 중에서 AP 코어(AP Core2), 데이터 저장 장치(Data Storage2), 및 장치들(Device2-1, Device2-2, 및 Device2-b)을 공유된 하드웨어 자원들로서 사용할 수 있다.
제3네트워크 장치(400)는 제2네트워크 장치(300)를 통해 제6네트워크 장치 (700)의 하드웨어 자원들 중에서 장치(Device6-2)를 공유된 하드웨어 자원으로서 사용할 수 있다.
제3네트워크 장치(400)는 제4네트워크 장치(500)의 하드웨어 자원들 중에서 AP 코어(AP Core4), 보안 요소(Secure Element), 및 장치들(Device1-1과 Device4-2)을 공유된 하드웨어 자원들로서 사용할 수 있다.
제3네트워크 장치(400)는 제5네트워크 장치(600)의 하드웨어 자원들 중에서 데이터 저장 장치(Data Storage5), 및 장치들(Device5-1과 Device5-e)을 공유된 하드웨어 자원들로서 사용할 수 있다.
도 6은 도 3에 도시된 네트워크 시스템의 작동의 일 실시 예를 설명하기 위한 데이터 플로우이다. 신규 네트워크 장치(200)가 제2네트워크 장치(300) 및/또는 제3네트워크 장치(400)에 접속되는 과정은 도 1a부터 도 6을 참조하여 설명된다.
사용자는, 모바일 컴퓨팅 장치(800)를 이용하여 또는 신규 네트워크 장치 (200)에 접속된 입출력 인터페이스(201-0)를 이용하여, 신규 네트워크 장치(200), 즉 제1네트워크 장치(200)에 사용자를 등록할 수 있다.
모바일 컴퓨팅 장치(800)를 이용하여 제1네트워크 장치(200)에 사용자 정보를 등록할 때, 사용자는 모바일 컴퓨팅 장치(800)의 블루투스 또는 Wi-Fi를 이용하여 제1네트워크 장치(200)에 접속하고, 제1네트워크 장치(200)에 사용자 정보를 등록할 수 있다.
제1네트워크 장치(200)에 접속된 입출력 인터페이스(201-0)를 이용하여 제1네트워크 장치(200)에 사용자 정보를 등록할 때, 사용자는 입출력 인터페이스(201-0)를 이용하여 제1네트워크 장치(200)에 사용자 정보를 등록할 수 있다.
접속 모듈(210)은 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)에 접속(무선 접속 또는 유선 접속)될 수 있으므로, 자원 관리 모듈(230A 또는 230B)은 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)를 통해 사용자로부터 제공된 사용자 정보를 프로파일/환경설정 저장 장치(235)에 저장할 수 있다.
앞에서 설명한 바와 같이, 사용자 정보는, 하드웨어 보안 요소 또는 소프트웨어 보안 요소의 제어에 따라, 프로파일/환경설정 저장 장치(235)에 저장될 수 있다. 상기 사용자 정보는 비밀번호 및/또는 생체 정보(bio-information)를 포함할 수 있다. 예컨대, 상기 생체 정보는 지문 정보, 홍체 정보, 또는 목소리 정보일 수 있으나 이에 한정되는 것은 아니다. 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 사용자 정보를 입력할 수 있는 사용자 인터페이스를 사용자에게 제공할 수 있다. 상술한 과정을 통해 사용자 정보는 제1네트워크 장치(200)에 등록될 수 있다.
사용자 정보가 등록된 후, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스 (201-0)는 사용자로부터 입력된 검색 요청(REQ0)을 제1네트워크 장치(200)로 전송할 수 있다(S101). 접속 모듈(210)은 검색 요청(REQ0)에 응답하여 연결가능한 네트워크 장치(들)를 검색하고, 검색 결과를 자원 공유 모듈(230A 또는 230B)로 전송하고, 자원 공유 모듈(230A 또는 230B)은 상기 검색 결과에 기초하여 리스트(LIST)를 작성하고(S103), 리스트(LIST)를 접속 모듈(210)로 전송하고, 접속 모듈(210)은 리스트(LIST)를 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)로 전송할 수 있다(S105).
도 7은 도 6에 도시된 데이터 플로우에서 연결할 적어도 하나의 네트워크 장치들을 선택하는 과정을 설명하기 위한 개념도이다. 도 7에 도시된 바와 같이, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 데이터의 입력과 출력을 위한 디스플레이(810)를 포함할 수 있다. 예컨대, 디스플레이(810)는 데이터 입력을 위한 터치 스크린 또는 터치 패드를 포함한다고 가정한다.
도 6과 도 7을 참조하면, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스 (201-0)는 제1네트워크 장치(200)와 연결가능한 네트워크 장치들의 리스트(LIST)를 도 7에 예시적으로 도시된 바와 같이 디스플레이(810)에 디스플레이할 수 있다.
사용자는 디스플레이(810)에 디스플레이된 네트워크 장치들의 리스트(LIST) 중에서 제1네트워크 장치(200)와 연결할 네트워크 장치들로서 제2네트워크 장치 (300)와 제3네트워크 장치(400)를 선택한다고 가정한다. 따라서, 사용자는 디스플레이(810)에 디스플레이된 그래픽 사용자 인터페이스들(graphical user interfaces (GUIs); 811과 813)을 선택할 수 있다(S109). 이때, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 선택 정보(SI)를 제1네트워크 장치(200)로 전송할 수 있다(S111).
제1네트워크 장치(200)의 접속 모듈(210)은 선택 정보(SI)를 자원 관리 모듈 (230A 또는 230B)로 전송할 수 있다. 자원 관리 모듈(230A 또는 230B)은 선택 정보 (SI)를 분석하고, 분석 결과에 따라 제1요청(REQ1)과 제2요청(REQ2)을 생성하고, 제1요청(REQ1)과 제2요청(REQ2)을 접속 모듈(210)로 전송할 수 있다.
접속 모듈(210)은 제1요청(REQ1)을 제2네트워크 장치(300)의 접속 모듈로 전송하고(S113-1), 제2요청(REQ2)을 제3네트워크 장치(400)의 접속 모듈로 전송한다 (S113-2).
제2네트워크 장치(300)의 자원 관리 모듈은, 제1요청(REQ1)에 기초하여, 제1네트워크 장치(200)와 제2네트워크 장치(300)가 접속가능한지 또는 호환가능한지를 판단하고(S119-1), 제1네트워크 장치(200)와 제2네트워크 장치(300)가 접속가능할 때 또는 호환가능할 때, 제2프로파일/환경설정 저장 장치(235-2)에 저장된 제2프로파일/환경설정(GI1)을 제1네트워크 장치(200)로 전송할 수 있다(S121-1).
제3네트워크 장치(400)의 자원 관리 모듈은, 제2요청(REQ2)에 기초하여, 제1네트워크 장치(200)와 제3네트워크 장치(400)가 접속가능한지 또는 호환가능한지를 판단하고(S119-2), 제1네트워크 장치(200)와 제3네트워크 장치(400)가 접속가능할 때 또는 호환가능할 때, 제3프로파일/환경설정 저장 장치(235-3)에 저장된 제3프로파일/환경설정(GI2)을 제1네트워크 장치(200)로 전송할 수 있다(S121-2).
예컨대, 제1네트워크 장치(200)와 제2네트워크 장치(300) 사이의 접속 보안을 강화할 필요가 있을 때, 제2네트워크 장치(300)의 자원 관리 모듈은, 제1요청 (REQ1)에 응답하여, 제1네트워크 장치(200)의 프로파일/환경설정을 요청하는 제3요청(REQ1-1)을 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다(S115-1). 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 제3요청(REQ1-1)에 응답하여 자신의 프로파일/환경설정 저장 장치(235)에 저장된 제1프로파일/환경설정(GI0)을 제2네트워크 장치(300)의 자원 관리 모듈로 전송할 수 있다(S117-1). 단계들(S115-1과 S117-1)은, 공유 정책에 따라, 선택적으로 수행될 수 있다.
그러나, 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)이 제1프로파일/환경설정(GI0)을 제2네트워크 장치(300)로 제공하지 않을 때, 공유 정책에 따라 제2네트워크 장치(300)의 자원 관리 모듈은 제2프로파일/환경설정 (GI1)을 제1네트워크 장치(200)로 전송할 수도 있고 전송하지 않을 수도 있다.
제2네트워크 장치(300)의 자원 관리 모듈은, 제1프로파일/환경설정(GI0)에 기초하여, 제1네트워크 장치(200)와 제2네트워크 장치(300)가 접속가능한지 또는 호환가능한지를 판단하고(S119-1), 제1네트워크 장치(200)와 제2네트워크 장치(300)가 접속가능할 때 또는 호환가능할 때, 제2프로파일/환경설정 저장 장치 (235-2)에 저장된 제2프로파일/환경설정(GI1)을 제1네트워크 장치(200)로 전송할 수 있다(S121-1).
예컨대, 제1네트워크 장치(200)와 제3네트워크 장치(400) 사이의 접속 보안을 강화할 필요가 있을 때, 제3네트워크 장치(400)의 자원 관리 모듈은, 제2요청 (REQ2)에 응답하여, 제1네트워크 장치(200)의 프로파일/환경설정을 요청하는 제4요청(REQ2-1)을 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다(S115-2). 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 제4요청(REQ2-1)에 응답하여 자신의 프로파일/환경설정 저장 장치(235)에 저장된 제1프로파일/환경설정(GI0)을 제3네트워크 장치(400)의 자원 관리 모듈로 전송할 수 있다(S117-2). 단계들(S115-2과 S117-2)은, 공유 정책에 따라, 선택적으로 수행될 수 있다.
그러나, 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)이 제1프로파일/환경설정(GI0)을 제3네트워크 장치(400)로 제공하지 않을 때, 공유 정책에 따라 제3네트워크 장치(400)의 자원 관리 모듈은 제3프로파일/환경설정(GI2)을 제1네트워크 장치(200)로 전송할 수도 있고 전송하지 않을 수도 있다.
제3네트워크 장치(400)의 자원 관리 모듈은, 제1프로파일/환경설정 (GI0)에 기초하여, 제1네트워크 장치(200)와 제3네트워크 장치(400)가 접속가능한지 또는 호환가능한지를 판단하고(S119-2), 제1네트워크 장치(200)와 제3네트워크 장치(400)가 접속가능할 때 또는 호환가능할 때, 제3프로파일/환경설정 저장 장치 (235-3)에 저장된 제3프로파일/환경설정(GI2)을 제1네트워크 장치(200)로 전송할 수 있다(S121-2).
제1네트워크 장치(200)는 제2네트워크 장치(300)로부터 전송된 제2프로파일/환경설정(GI1)을 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)로 전송할 수 있다(S123-1). 또한, 제1네트워크 장치(200)는 제3네트워크 장치(400)로부터 전송된 제3프로파일/환경설정(GI2)을 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)로 전송할 수 있다(S123-2).
모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 제2프로파일/환경설정(GI1)과 제3프로파일/환경설정(GI2)을 디스플레이(810)에 디스플레이할 수 있다(S125).
도 8은 도 6에 도시된 데이터 플로우에서 제2네트워크 장치로부터 제1네트워크 장치로 전송된 제2프로파일/환경설정에 해당하는 제1연결 노드 그래프의 실시 예이다. 도 3, 도 4, 도 6, 도 7, 및 도 8을 참조하면, 제2프로파일/환경설정(GI1)에 해당하는 제1연결 노드 그래프는 도 4에 도시된 공유 정보(PCI1)에 대응될 수 있다.
도 9는 도 6에 도시된 데이터 플로우에서 제3네트워크 장치로부터 제1네트워크 장치로 전송된 제3프로파일/환경에 해당하는 제2연결 노드 그래프의 실시 예이다. 도 3, 도 5, 도 6, 도 7, 및 도 9를 참조하면, 제3프로파일/환경설정(GI2)에 해당하는 제2연결 노드 그래프는 도 5에 도시된 공유 정보(PCI2)에 대응될 수 있다.
사용자는 제1연결 노드 그래프와 제2연결 노드 그래프에 포함된 하드웨어 자원들 중에서 제1네트워크 장치(200)와 공유될 적어도 하나의 하드웨어 자원을 선택할 수 있다.
사용자에 의해 적어도 하나의 하드웨어 자원이 선택되면, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 선택된 적어도 하나의 하드웨어 자원에 대한 공유 정보를 제1네트워크 장치(200)로 전송될 수 있다. 제1네트워크 장치 (200)는 접속 모듈(210)을 통해 수신된 공유 정보를 자원 관리 모듈(230A 또는 230B)로 전송하고, 자원 관리 모듈(230A 또는 230B)은 상기 공유 정보에 기초하여 자신의 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정을 업데이트할 수 있다.
예컨대, 사용자가 도 8과 도 9에 도시된 하드웨어 자원들을 모두 선택하면, 상기 프로파일/환경설정은 도 4에 도시된 공유 정보(PCI1)와 도 5에 도시된 공유 정보(PCI2)를 도 2의 "연결된 네트워크 장치 리스트/연결된 장치 리스트" 및/또는 "접근가능한 하드웨어 자원"으로서 업데이트할 수 있다.
사용자가 제1네트워크 장치(200) 내부의 하드웨어 자원들 중에서 적어도 하나 및/또는 제1네트워크 장치(200)에 접속된 적어도 하나를 공유될 하드웨어 자원으로서 선택하면, 선택된 적어도 하나의 하드웨어 자원에 대한 공유 정보는 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)를 통해 제1네트워크 장치(200)로 전송될 수 있다. 제1네트워크 장치(200)는 선택된 적어도 하나의 하드웨어 자원에 대한 공유 정보를 자신의 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정을 업데이트할 수 있다. 즉, 선택된 적어도 하나의 하드웨어 자원은 공유된 하드웨어 자원이 될 수 있다.
제1네트워크 장치(200)는 자신의 공유된 하드웨어 자원에 대한 정보를 제2네트워크 장치(300)와 제3네트워크 장치(400)로 전송할 수 있다. 따라서, 제2네트워크 장치(300)의 자원 관리 모듈은, 제1네트워크 장치(200)로부터 전송된 공유된 하드웨어 자원에 대한 정보에 기초하여, 제2프로파일/환경설정 저장 장치(235-2)에 저장된 제2프로파일/환경설정을 업데이트할 수 있다. 또한, 제3네트워크 장치(400)의 자원 관리 모듈은, 제1네트워크 장치(200)로부터 전송된 공유된 하드웨어 자원에 대한 정보에 기초하여, 제3프로파일/환경설정 저장 장치(235-3)에 저장된 제3프로파일/환경설정을 업데이트할 수 있다.
따라서, 제1네트워크 장치(200)는, 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정, 예컨대 공유 정보(PCI1)과 공유 정보(PCI2)에 기초하여, 제2네트워크 장치(300)의 공유된 하드웨어 자원들 중에서 적어도 하나, 제3네트워크 장치(400)의 공유된 하드웨어 자원들 중에서 적어도 하나, 제4네트워크 장치 (500)의 공유된 하드웨어 자원들 중에서 적어도 하나, 제5네트워크 장치(600)의 공유된 하드웨어 자원들 중에서 적어도 하나, 및/또는 제6네트워크 장치(700)의 공유된 하드웨어 자원들 중에서 적어도 하나를 사용할 수 있다.
또한, 각 네트워크 장치(300, 400, 500, 600, 및 700)는 제1네트워크 장치 (200)의 공유된 하드웨어 자원들 중에서 적어도 하나를 사용할 수 있다. 즉, 새로운 제1네트워크 장치(200)는, 이미 존재하는 네트워크 장치들(300, 400, 500, 600, 및 700) 각각과의 접속을 통해, 네트워크 장치들(300, 400, 500, 600, 및 700) 각각에 의해 공유가 허락된 적어도 하나의 하드웨어 자원을 사용할 수 있다.
공유 정보(PCI1)는 각 네트워크 장치(300, 400, 500, 600, 및 700)의 공유 정책에 기초하여 변경될 수 있고, 공유 정보(PCI2)는 각 네트워크 장치(300, 400, 500, 600, 및 700)의 공유 정책에 기초하여 변경될 수 있다. 이때, 네트워크 장치들(200, 300, 및 400)은 통신을 통해 공유 정보를 동기시킬 수 있다. 따라서, 각 네트워크 장치(300, 400, 500, 600, 및 700)의 공유 정책이 변경될 때, 각 네트워크 장치(300, 400, 500, 600, 및 700)의 프로파일/환경설정은 업데이트될 수 있다.
도 10은 도 3에 도시된 네트워크 시스템의 작동의 다른 실시 예를 설명하기 위한 데이터 플로우이다.
도 3, 도 4, 도 6, 및 도 8을 참조하면, 제1네트워크 장치(200)에 대한 사용자 정보(URI)는 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)를 통해 설정될 수 있다(S201). 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 사용자에 의해 입력된 사용자 정보(URI)를 무선 통신망 또는 유선 통신망을 통해 제1네트워크 장치(200)로 전송할 수 있다(S203). 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 접속 모듈(210)을 통해 수신된 사용자 정보(URI)를 프로파일/환경설정 저장 장치(235)에 "사용자 정보"로서 저장할 수 있다.
사용자 정보가 저장되면, 제1네트워크 장치(200)는 제1네트워크 장치(200)에 포함된 펌웨어 또는 소프트웨어 자원을 최신 버전으로 업데이트할 수 있다(S205). 이때, 업데이트는 FOTA(Firmware Over-The-Air) 과정을 통해 수행될 수 있으나 이에 한정되는 것은 아니다.
제1네트워크 장치(200)의 접속 모듈(210)은 무선 통신(예컨대, Wi-Fi 또는 블루투스)을 통해 접속가능한 네트워크 장치(300)를 검색하고, 제2네트워크 장치 (300)로 버전 업데이트 요청을 전송할 수 있다(S207). 제2네트워크 장치(300)는 상기 버전 업데이트 요청에 응답하여 제2네트워크 장치(300)에 포함된 펌웨어 또는 소프트웨어 자원을 최신 버전으로 업데이트할 수 있다(S209).
제2네트워크 장치(300)에 대한 버전 업데이트가 종료된 후, 제2네트워크 장치(300)는 제1네트워크 장치(200)로 완료 응답(ACK)을 전송할 수 있다(S211). 제1네트워크 장치(200)는, 완료 응답(ACK)에 기초하여, 제1요청(REQ1)을 제2네트워크 장치(300)의 자원 관리 모듈로 전송할 수 있다(S213).
제2네트워크 장치(300)의 자원 관리 모듈은, 제1요청(REQ1)에 기초하여, 제1네트워크 장치(200)와 제2네트워크 장치(300)가 접속가능한지 또는 호환가능한지를 판단하고(S219), 제1네트워크 장치(200)와 제2네트워크 장치(300)가 접속가능할 때 또는 호환가능할 때, 제2프로파일/환경설정 저장 장치(235-2)에 저장된 제2프로파일/환경설정(GI1)을 제1네트워크 장치(200)로 전송할 수 있다(S221).
예컨대, 제1네트워크 장치(200)와 제2네트워크 장치(300) 사이의 접속 보안을 강화할 필요가 있을 때, 제2네트워크 장치(300)의 자원 관리 모듈은, 제1요청 (REQ1)에 응답하여, 제1네트워크 장치(200)의 프로파일/환경설정을 요청하는 제3요청(REQ1-1)을 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다(S215). 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 제3요청(REQ1-1)에 응답하여 자신의 프로파일/환경설정 저장 장치(235)에 저장된 제1프로파일/환경설정(GI0)을 제2네트워크 장치(300)의 자원 관리 모듈로 전송할 수 있다(S217).
그러나, 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)이 제1프로파일/환경설정(GI0)을 제2네트워크 장치(300)로 제공하지 않을 때, 공유 정책에 따라 제2네트워크 장치(300)의 자원 관리 모듈은 제2프로파일/환경설정(GI1)을 제1네트워크 장치(200)로 전송할 수도 있고 전송하지 않을 수도 있다.
제1네트워크 장치(200)는 제2네트워크 장치(300)로부터 전송된 제2프로파일/환경설정(GI1)을 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)로 전송할 수 있다(S223). 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 제2프로파일/환경설정(GI1)을 디스플레이(810)에 디스플레이할 수 있다(S225).
도 6을 참조하여 설명한 바와 같이, 제1네트워크 장치(200)의 하드웨어 자원들 중에서 적어도 하나와 제2네트워크 장치(300)의 하드웨어 자원들 중에서 적어도 하나가 공유될 때, 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은, 제1네트워크 장치(200)에 설정된 사용자 정보를 이용하여, 공유 정보를 프로파일/환경설정 저장 장치(235)에 저장할 수 있다.
도 11은 도 3에 도시된 네트워크 시스템에서 마스터 네트워크 장치를 선택하는 방법의 일 실시 예를 설명하기 위한 플로우 차트이다. 도 6에 도시된 바와 같이, 사용자는 서로 연결된 네트워크 장치들(200, 300, 400, 500, 600, 및 700) 중에서 적어도 하나를 마스터 네트워크 장치로 선택할 수 있다(S310).
사용자에 의해 상기 마스터 네트워크 장치로 선택되지 않은 적어도 하나의 네트워크 장치는 슬레이브 네트워크 장치들로 설정될 수 있다(S320). 예컨대, 사용자는 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)를 이용하여 마스터 네트워크 장치와 슬레이브 네트워크 장치를 선택할 수 있다.
예컨대, 도 3을 참조하면, 제1네트워크 장치(200)가 제2네트워크 장치(300)와 제3네트워크 장치(400)에 접속되지 않았을 때, 제2네트워크 장치(300)와 제3네트워크 장치(400)는 마스터 네트워크 장치들로서 사용자에 의해 선택될 수 있다.
그러나, 제1네트워크 장치(200)가 제2네트워크 장치(300)와 제3네트워크 장치 (400)에 접속될 때, 제1네트워크 장치(200)는 마스터 네트워크 장치로서 사용자에 의해 선택될 수 있고 제2네트워크 장치(300)와 제3네트워크 장치(400)는 슬레이브 네트워크 장치들로서 사용자에 의해 선택될 수 있다. 제1네트워크 장치(200)가 마스터 네트워크 장치로서 설정될 때, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 설정 정보를 제1네트워크 장치(200)로 전송하고, 제1네트워크 장치(200)는 상기 설정 정보를 각 네트워크 장치들(300, 400, 500, 600, 및 700)로 전송할 수 있다.
도 12는 도 3에 도시된 네트워크 시스템에서 마스터 네트워크 장치를 선택하는 방법의 다른 실시 예를 설명하기 위한 플로우 차트이다.
도 6에 도시된 바와 같이, 서로 연결된 네트워크 장치들(200, 300, 400, 500, 600, 및 700) 중에서 적어도 하나는 마스터 네트워크 장치로서 자동으로 선택될 수 있다.
각 네트워크 장치(200, 300, 400, 500, 600, 및 700)의 AP 코어는 자신의 컴퓨팅 파워(computer power)를 계산할 수 있다(S331). 상기 컴퓨팅 파워는 얼마나 빨리 작동을 수행할 수 있는지를 나타내는 성능 지표일 수 있다. 각 네트워크 장치 (200, 300, 400, 500, 600, 및 700)의 AP 코어에 의해 계산된 컴퓨팅 파워는 각 네트워크 장치(200, 300, 400, 500, 600, 및 700)의 AP 코어에 의해 공유될 수 있다 (S333). 즉 해당 네트워크 장치는 상대 네트워크 장치(들)와 계산된 컴퓨팅 파워를 주고받을 수 있다.
네트워크 장치들(200, 300, 400, 500, 600, 및 700)의 AP 코어들은 가장 큰 컴퓨팅 파워를 갖는 네트워크 장치를 마스터 네트워크 장치로 자동을 선택할 수 있다(S335). 마스터 네트워크 장치로 설정된 네트워크 장치는 나머지 네트워크 장치들로 설정 정보를 전송할 수 있다. 각 네트워크 장치(200, 300, 400, 500, 600, 및 700)에 대한 컴퓨팅 파워는 주기적으로 계산되거나 새로운 네트워크 장치가 네트워크 시스템에 접속될 때 계산될 수 있으나 이에 한정되는 것은 아니다.
예컨대, 마스터 네트워크 장치로 설정된 네트워크 장치는 나머지 네트워크 장치들(예컨대, 슬레이브 네트워크 장치들) 각각의 공유된 하드웨어 자원(들)을 공유 자원으로 설정하거나 공유 자원으로부터 해제할 수 있으나 이에 한정되는 것은 아니다.
도 13은 본 발명의 실시 예에 따라 모바일 컴퓨팅 장치를 이용하여 제1네트워크 장치가 제2네트워크 장치에 접속된 장치를 제어하는 과정을 설명하기 위한 데이터 플로우이다.
도 3의 제1네트워크 장치(200)와 제2네트워크 장치(300)는 도 6 또는 도 10을 참조하여 설명된 단계들을 통해 적어도 하나의 하드웨어 자원을 공유하고 있다고 가정한다.
사용자는, 모바일 컴퓨팅 장치(800)의 디스플레이(810)를 이용하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1)를 제어 대상 장치로서 선택할 수 있다 (도 8과 S401). 모바일 컴퓨팅 장치(800)는, 사용자의 입력에 따라, 구동 지시 (actuation instruction(AI))를 생성하고, 구동 지시(AI)를 제1네트워크 장치(200)의 접속 모듈(210)로 전송할 수 있다(S403). 접속 모듈(210)은 구동 지시(AI)를 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다. 예컨대, 구동 지시(AI)는 장치(Device2-1)의 식별 정보와 구동 정보를 포함할 수 있다.
자원 관리 모듈(230A 또는 230B)은, 구동 지시(AI)와 프로파일/환경설정 저장 장치(235)에 저장된 공유 정보(PCI1)에 기초하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1)가 공유된 하드웨어 자원임을 판단하고, 판단 결과에 따라 구동 지시(AI)를 접속 모듈(210)을 통해 제2네트워크 장치(300)의 접속 모듈로 전송할 수 있다(S405).
제2네트워크 장치(300)의 접속 모듈은 구동 지시(AI)를 제2네트워크 장치 (300)의 자원 관리 모듈로 전송할 수 있다. 제2네트워크 장치(300)의 자원 관리 모듈은, 구동 지시(AI)와 프로파일/환경설정 저장 장치(235-2)에 저장된 공유 정보 (PCI1)에 기초하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1)가 제1네트워크 장치(200)와 제2네트워크 장치(300)에 의해 공유된 하드웨어 자원임을 확인할 수 있다(S407).
제2네트워크 장치(300)는, 확인 결과에 따라, 구동 지시(AI)를 장치 (Device2-1)를 구동할 수 있는 액추에이터로 전송할 수 있다(S409). 장치 (Device2-1)는, 상기 액추에이터의 제어에 따라, 구동 지시(AI)에 해당하는 작동을 수행할 수 있다(S411). 상기 작동이 완료된 후, 장치(Device2-1) 또는 상기 액추에이터는 확인 응답(ACK)을 제2네트워크 장치(300)로 전송하고(S413), 제2네트워크 장치(300)는 확인 응답(ACK)을 제1네트워크 장치(200)로 전송하고(S415), 제1네트워크 장치(200)는 확인 응답(ACK)을 모바일 컴퓨팅 장치(800)로 전송한다(S417).
즉, 제1네트워크 장치(200)는 자신과 직접적으로 접속되지 않은 장치 (Device2-1)를 제어할 수 있다. 예컨대, 가스 밸브, 창문, 또는 현관문이 열려 있을 때, 장치(Device2-1)는 네트워크 장치들(200과 300)을 통해 상기 가스 밸브, 상기 창문, 또는 상기 현관문이 열려있음을 지시하는 지시 신호를 모바일 컴퓨팅 장치(800)로 전송할 수 있다.
침실에 누워있는 사용자가 모바일 컴퓨팅 장치(800)를 통해 제2네트워크 장치(300)에 접속된 장치(Device2-1)를 이용하여 가스 밸브, 창문, 또는 현관문을 닫으려 할 때, 상기 사용자는 제2네트워크 장치(300)에 접속된 제1네트워크 장치 (200)와 통신할 수 있는 모바일 컴퓨팅 장치(800)를 이용하여 장치(Device2-1)를 제어할 수 있는 구동 지시(AI)를 생성할 수 있다. 모바일 컴퓨팅 장치(800)는 장치 (Device2-1)에 의해 가스 밸브, 창문, 또는 현관문이 잠겼음을 지시하는 확인 응답(ACK)을 네트워크 장치들(200과 300)을 통해 수신할 수 있다. 여기서, 구동 지시 (AI)에 포함된 구동 정보는 "닫음"일 수 있다.
도 14는 본 발명의 실시 예에 따라 제1네트워크 장치가 제2네트워크 장치에 접속된 장치를 제어하는 과정을 설명하기 위한 데이터 플로우이다. 도 3의 제1네트워크 장치(200)와 제2네트워크 장치(300)는 도 6 또는 도 10을 참조하여 설명된 단계들을 통해 적어도 하나의 하드웨어 자원을 공유하고 있다고 가정한다.
사용자는, 입출력 인터페이스(201-0)를 이용하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1)를 제어 대상 장치로서 선택할 수 있다(도 8과 S501). 입출력 인터페이스(201-0)는, 사용자의 입력에 따라, 구동 지시(AI)를 생성하고, 구동 지시(AI)를 제1네트워크 장치(200)의 접속 모듈(210)로 전송할 수 있다(S503). 접속 모듈(210)은 구동 지시(AI)를 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다. 예컨대, 구동 지시(AI)는 장치(Device2-1)의 식별 정보와 구동 정보를 포함할 수 있다.
자원 관리 모듈(230A 또는 230B)은, 구동 지시(AI)와 프로파일/환경설정 저장 장치(235)에 저장된 공유 정보(PCI1)에 기초하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1)가 공유된 하드웨어 자원임을 판단하고, 판단 결과에 따라 구동 지시(AI)를 접속 모듈(210)을 통해 제2네트워크 장치(300)의 접속 모듈로 전송할 수 있다(S503).
제2네트워크 장치(300)의 접속 모듈은 구동 지시(AI)를 제2네트워크 장치 (300)의 자원 관리 모듈로 전송할 수 있다. 제2네트워크 장치(300)의 자원 관리 모듈은, 구동 지시(AI)와 프로파일/환경설정 저장 장치(235-2)에 저장된 공유 정보 (PCI1)에 기초하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1)가 제1네트워크 장치(200)와 제2네트워크 장치(300)에 의해 공유된 하드웨어 자원임을 확인할 수 있다(S505).
제2네트워크 장치(300)는, 확인 결과에 따라, 구동 지시(AI)를 장치 (Device2-1)를 구동할 수 있는 액추에이터로 전송할 수 있다(S507). 장치 (Device2-1)는, 상기 액추에이터의 제어에 따라, 구동 지시(AI)에 해당하는 작동을 수행할 수 있다(S509). 상기 작동이 완료된 후, 장치(Device2-1) 또는 상기 액추에이터는 확인 응답(ACK)을 제2네트워크 장치(300)로 전송하고(S511), 제2네트워크 장치(300)는 확인 응답(ACK)을 제1네트워크 장치(200)로 전송하고(S513), 제1네트워크 장치(200)는 확인 응답(ACK)을 입출력 인터페이스(201-0)로 전송한다(S515).
즉, 제1네트워크 장치(200)는 자신과 직접적으로 접속되지 않은 장치 (Device2-1)를 제어할 수 있다. 예컨대, 제1네트워크 장치(200)가 스마트 냉장고이고, 장치(Device2-1)가 차고를 관리하는 제2네트워크 장치(300)에 접속된 CCTV일 때, 상기 스마트 냉장고는 사용자의 입력에 따라 상기 CCTV의 회전 방향을 제어할 수 있는 구동 지시(AI)를 생성할 수 있다. 구동 지시(AI)는 네트워크 장치들(200과 300)을 통해 상기 CCTV로 전송될 수 있다. 상기 CCTV의 회전 방향이 제어되면, 상기 CCTV로부터 출력된 확인 응답(ACK)은 네트워크 장치들(200과 300)을 통해 입출력 인터페이스(201-0)로 전송되고, 상기 CCTV에 의해 촬영된 비디오는 네트워크 장치들(200과 300)을 통해 입출력 인터페이스(201-0)에서 디스플레이될 수 있다.
도 15는 본 발명의 실시 예에 따라 다른 네트워크 장치가 자신의 컴퓨팅 파워를 이용하여 제1네트워크 장치로부터 전송된 데이터를 분석하는 과정을 설명하기 위한 데이터 플로우이다.
우선, 자원 관리 모듈(230A 또는 230B)은 하드웨어 또는 소프트웨어로 구현되고, 제1네트워크 장치(200)에서 실행되는 분석 엔진(AE1)은 소프트웨어로 구현되었다고 가정한다.
제1네트워크 장치(200)가 자신의 소프트웨어 분석 엔진(AE1)과 데이터(DATA)를 제2네트워크 장치(300) 또는 제3네트워크 장치(400)로 전송하는 방법은 도 1g부터 도 12, 및 도 15를 참조하여 설명될 것이다.
제1네트워크 장치(200)의 AP 코어(251)가 CPU일 때, 자원 관리 모듈(230A 또는 230B)은 CPU 사용률(CPU utilization), CPU 사용량(CPU usage), 및 CPU 점유율 (CPU occupancy) 중에서 적어도 하나를 분석할 수 있다. 즉, 자원 관리 모듈(230A 또는 230B)은 데이터(DATA)를 분석하기 위한 하드웨어 자원의 부족 여부를 판단할 수 있다(S601).
예컨대, 제1네트워크 장치(200)에 설치된 펌웨어 또는 소프트웨어의 버전이 업데이트 중일 때, CPU 사용률(CPU utilization)은 증가할 수 있다. 예컨대, CPU 사용률이 높고 장치들(201-1~201-a) 중에서 적어도 하나에 의해 감지된 데이터 (DATA)에 대한 분석이 필요할 때, 제1네트워크 장치(200)에서는 데이터(DATA)를 분석하기 위한 하드웨어 자원의 부족이 발생할 수 있다(S601).
제1네트워크 장치(200)는 제2네트워크 장치(300)의 AP 코어의 사용율(AP Core2_UT2)을 모니터링할 수 있다(S603-1). 또한, 제1네트워크 장치(200)는 제3네트워크 장치(400)의 AP 코어의 사용율(AP Core2_UT3)을 모니터링할 수 있다(S603-2).
실시 예들에 따라, 단계들(S603-1과 S603-2)은 실시간(real time or on-the fly)으로 수행될 수 있다. 실시 예들에 따라, 단계들(S603-1과 S603-2)은 단계 (S601) 이전에 또는 동시(또는 병렬적으로)에 수행될 수 있다. 실시 예들에 따라, 제1네트워크 장치(200)는 각 네트워크 장치(300과 400)로 각 AP 코어의 사용율(AP Core2_UT2과 AP Core2_UT3)을 요청하고, 각 네트워크 장치(300과 400)로부터 전송된 각 AP 코어의 사용율(AP Core2_UT2과 AP Core2_UT3)을 수신할 수 있다.
제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B) 또는 AP 코어 (251)는 네트워크 장치들(300과 400)의 AP 코어들의 사용율율(AP Core2_UT2과 AP Core2_UT3)을 서로 비교할 수 있다(S605).
제2네트워크 장치(300)의 AP 코어의 사용율(AP Core2_UT2)이 제3네트워크 장치(400)의 AP 코어의 사용율(AP Core2_UT3)보다 클 때, 자원 관리 모듈(230A 또는 230B) 또는 AP 코어(251)는 제1네트워크 장치(200)의 분석 엔진(AE1)과 데이터 (DATA)를 제3네트워크 장치(400)로 전송할 수 있다(S607-1). 제3네트워크 장치 (400)의 자원 관리 모듈은 분석 엔진(AE1)과 데이터(DATA)를 제3네트워크 장치 (400)의 AP 코어(AP Core3)로 전송할 수 있다(S609-1). AP 코어(AP Core3)는 분석 엔진(AE1)을 이용하여 데이터(DATA)를 분석하고(S611-1), 제1분석 결과(RLT1)를 제3네트워크 장치(400)의 자원 관리 모듈로 전송하고(S613-1), 상기 자원 관리 모듈은 제1분석 결과(RLT1)를 제1네트워크 장치(200)로 전송할 수 있다(S615-1).
그러나, 제2네트워크 장치(300)의 AP 코어의 사용율(AP Core2_UT2)이 제3네트워크 장치(400)의 AP 코어의 사용율(AP Core2_UT3)보다 크지 않을 때, 자원 관리 모듈(230A 또는 230B) 또는 AP 코어(251)는 제1네트워크 장치(200)의 분석 엔진 (AE1)과 데이터 (DATA)를 제2네트워크 장치(300)로 전송할 수 있다(S607-2). 제2네트워크 장치(300)의 자원 관리 모듈은 분석 엔진(AE1)과 데이터(DATA)를 제2네트워크 장치(300)의 AP 코어(AP Core2)로 전송할 수 있다(S609-2). AP 코어(AP Core2)는 분석 엔진(AE1)을 이용하여 데이터(DATA)를 분석하고(S611-2), 제2분석 결과 (RLT2)를 제2네트워크 장치(300)의 자원 관리 모듈로 전송하고(S613-2), 상기 자원 관리 모듈은 제1분석 결과(RLT2)를 제1네트워크 장치(200)로 전송할 수 있다(S615-2).
제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 분석 결과(RLT1 또는 RLT2)를 AP 코어(251)로 전송할 수 있다. AP 코어(251)는, 분석 결과(RLT1 또는 RLT2)에 기초하여, 제1명령(CMD1)을 장치(Device1-a)를 구동하는 액추에이터 (270-a)로 전송할 수 있다. 따라서, 액추에이터 (270-a)는 제1명령(CMD1)에 기초하여 장치(Device1-a)를 구동할 수 있다.
도 16은 본 발명의 실시 예에 따라 다른 네트워크 장치가 자신의 분석 엔진을 이용하여 제1네트워크 장치로부터 전송된 데이터를 분석하는 과정을 설명하기 위한 데이터 플로우이다.
우선, 각 네트워크 장치(200과 300)에 구현된 자원 관리 모듈과 분석 엔진은 하드웨어 또는 소프트웨어로 구현되었다고 가정한다.
제1네트워크 장치(200)가 데이터(DATA)를 제2네트워크 장치(300)로 전송하는 방법은 도 1a부터 도 12, 및 도 15를 참조하여 설명될 것이다.
제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 데이터(ADATA)를 분석하기 위한 하드웨어 자원의 부족 여부를 판단할 수 있다(S701). 예컨대, 제1네트워크 장치(200)의 분석 엔진의 성능이 제2네트워크 장치(300)의 분석 엔진의 성능보다 낮을 때, 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 장치(Device1-2)로부터 출력된 데이터(ADATA)와 분석 요청(AREQ)을 제2네트워크 장치 (300)로 전송할 수 있다(S703). 예컨대, 각 네트워크 장치(200과 300)에 구현된 분석 엔진은 인코딩과 디코딩을 수행할 수 있는 분석 엔진일 수 있다.
실시 예에 따라, 제2네트워크 장치(300)의 자원 관리 모듈은 데이터(ADATA)와 분석 요청(AREQ)을 제2네트워크 장치(300)의 AP 코어로 전송할 수 있다. 제2네트워크 장치(300)의 AP 코어는, 분석 요청(AREQ)에 응답하여, 데이터(ADATA)를 제2네트워크 장치(300)에 구현된 분석 엔진(Analytic Engine#2)으로 전송할 수 있다 (S705). 실시 예에 따라, 제2네트워크 장치(300)의 자원 관리 모듈은 데이터 (ADATA)와 분석 요청(AREQ)을 분석 엔진(Analytic Engine#2)으로 직접 전송할 수 있다(S705).
분석 엔진(Analytic Engine#2)은 데이터(ADATA)를 분석하고(S707), 분석 결과(RLT3)를 제2네트워크 장치(300)의 자원 관리 모듈로 전송할 수 있다(S709). 제2네트워크 장치(300)의 자원 관리 모듈은 분석 결과(RLT3)를 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다(S711).
자원 관리 모듈(230A 또는 230B)은 분석 결과(RLT3)를 AP 코어(251)로 전송할 수 있다. 자원 관리 모듈(230A 또는 230B) 또는 AP 코어(251)는, 분석 결과 (RLT3)에 기초하여, 제2명령(CMD2)을 생성하고, 제2명령(CMD2)을 장치(Device1-2)를 구동하는 액추에이터(270-2)로 전송할 수 있다(S713). 따라서, 액추에이터(270-2)는 제2명령(CMD2)에 기초하여 장치(Device1-2)를 구동할 수 있다(S715).
예컨대, 제2네트워크 장치(300)의 분석 엔진이 고해상도(high-resolution) 이미지 데이터를 처리할 수 있고, 제1네트워크 장치(200)의 분석 엔진이 저해상도 (low-resolution) 이미지 데이터를 처리할 수 있을 때, 제1네트워크 장치(200)는 장치(Device1-2)로부터 촬영된 데이터(ADATA)를 제2네트워크 장치(300)로 전송할 수 있다.
도 17은 본 발명의 실시 예에 따라 제1네트워크 장치가 제4네트워크 장치에 접속된 장치를 공유 자원으로 설정하는 과정을 설명하기 위한 데이터 플로우이다.
제4네트워크 장치(500)에 접속된 장치(Device4-c)를 공유 자원으로 새롭게 설정(또는 추가)하는 과정은 도 3부터 도 9, 및 도 17을 참조하여 설명된다.
사용자는 모바일 컴퓨팅 장치(800)를 이용하여 장치(Device4-c)를 공유 하드웨어 자원으로 추가하기 위한 추가 요청(REQN)을 제1네트워크 장치(200)로 전송할 수 있다(S801). 도 6 또는 도 10을 참조하여 설명한 바와 같이, 사용자는 입출력 인터페이스(201-0)를 통해 장치(Device4-c)를 공유 하드웨어 자원으로 추가하기 위한 추가 요청(REQN)을 제1네트워크 장치(200)로 전송할 수 있다(S801). 추가 요청(REQN)은 장치(Device4-c)의 식별 정보와 장치 정보 요청(RDI)을 포함할 수 있다.
예컨대, 장치(Device4-c)가 공유 하드웨어 자원으로서 새롭게 설정되거나, 장치(Device4-c)의 하드웨어가 변경되거나, 장치(Device4-c)의 펌웨어의 버전이 업그레이드될 때, 제4네트워크 장치(500)는 변경 지시 신호를 제3네트워크 장치(300)로 전송할 수 있다. 제3네트워크 장치(300)는 제1네트워크 장치(200)로 상기 변경 지시 신호를 전송하고, 제1네트워크 장치(200)의 자원 관리 모듈은 상기 변경 신호를 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)로 전송할 수 있다.
따라서, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)는 도 3의 네트워크 시스템(100A)에 포함된 각 네트워크 장치의 공유 조건과 공유 정보 중에서 적어도 하나의 변경을 지시하는 제1변경 정보 및/또는 상기 각 네트워크 장치에 접속된 장치의 공유 조건과 공유 정보 중에서 적어도 하나의 변경을 지시하는 제2변경 정보를 제1네트워크 장치(200)로부터 수신할 수 있다. 사용자는, 모바일 컴퓨팅 장치(800) 또는 입출력 인터페이스(201-0)를 이용하여, 공유될 하드웨어 자원 및/또는 공유된 하드웨어 자원을 추가하거나 변경할 수 있다.
제1네트워크 장치(200)는 제3네트워크 장치(400)를 통해 추가 요청(REQN)을 제4네트워크 장치(500)로 전송할 수 있다(S803). 제4네트워크 장치(500)의 자원 관리 모듈은 추가 요청(REQN)을 해석하고, 해석 결과에 따라 장치 정보 요청(RDI)을 생성하고, 장치 정보 요청(RDI)을 장치(Device4-c)로 전송할 수 있다(S805). 장치 (Device4-c)는, 장치 정보 요청(RDI)에 응답하여, 장치 정보(DI)를 제4네트워크 장치(500)의 자원 관리 모듈로 전송할 수 있다(S807). 예컨대, 장치 정보(DI)는 도 2에 도시된 조건 정보 및/또는 공유 정보를 포함할 수 있다.
제4네트워크 장치(500)의 자원 관리 모듈은 제3네트워크 장치(400)의 자원 관리 모듈로 장치 정보(DI)를 전송하고, 제3네트워크 장치(400)의 자원 관리 모듈은 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 장치 정보(DI)를 전송할 수 있다(S809).
제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 장치 정보(DI)를 모바일 컴퓨팅 장치(800)로 전송할 수 있다(S811). 사용자는 장치 정보(DI)에 기초하여 장치(Device4-c)를 공유 하드웨어 자원으로 선택할 수 있다(S813). 모바일 컴퓨팅 장치(800)는, 장치(Device4-c)가 공유 하드웨어 자원으로 선택됨을 지시하는 선택 신호(SELI)를 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)로 전송할 수 있다(S815). 제1네트워크 장치(200)의 자원 관리 모듈(230A 또는 230B)은 선택 신호(SELI)에 기초하여 프로파일/환경설정 저장 장치(235)에 저장된 프로파일/환경설정을 업데이트할 수 있다(S817). 따라서, 장치(Device4-c)는 공유된 하드웨어 자원으로 추가될 수 있다.
도 18은 본 발명의 실시 예에 따라 네트워크 장치들 각각의 데이터 저장 장치의 용량에 따라 공유가능한 네트워크 장치를 결정하는 방법을 설명하기 위한 플로우 차트이다.
도 1a부터 도 10, 및 도 18을 참조하면, 제3네트워크 장치(400)의 자원 관리 모듈은 제4네트워크 장치(500)의 사용가능한 메모리 용량과 제5네트워크 장치(600)의 사용가능한 메모리 용량을 판단 또는 모니터링할 수 있다(S910). 예컨대, 제4네트워크 장치(500)의 사용가능한 메모리 용량은 제4네트워크 장치(500) 내부의 데이터 저장 장치의 사용가능한 메모리 용량 및/또는 제4네트워크 장치(500)에 접속된 적어도 하나의 데이터 저장 장치의 사용가능한 메모리 용량을 포함할 수 있다. 또한, 제5네트워크 장치(600)의 사용가능한 메모리 용량은 제5네트워크 장치(600) 내부의 데이터 저장 장치의 사용가능한 메모리 용량 및/또는 제5네트워크 장치(600)에 접속된 적어도 하나의 데이터 저장 장치의 사용가능한 메모리 용량을 포함할 수 있다.
제1네트워크 장치(200)가 제4네트워크 장치(500)의 사용가능한 메모리 용량을 공유 하드웨어 자원으로 사용하고자 할 때, 즉, 제1네트워크 장치(200)가 제4네트워크 장치(500)를 액세스하고자 할 때, 제1네트워크 장치(200)는 제3네트워크 장치(400)로 공유 요청 신호를 전송할 수 있다(S912).
제3네트워크 장치(400)의 자원 관리 모듈은, 상기 공유 요청 신호에 응답하여, S910의 판단 결과에 기초하여 제4네트워크 장치(500)의 사용가능한 메모리 용량이 충분한지를 판단할 수 있다(S914). 제5네트워크 장치(600)의 사용가능한 메모리 용량은 충분하다고 가정한다.
제4네트워크 장치(500)의 사용가능한 메모리 용량이 충분할 때(S914의 YES), 제3네트워크 장치(400)의 자원 관리 모듈은 제1네트워크 장치(200)가 제4네트워크 장치(500)를 액세스하도록 제4네트워크 장치(500)를 제어할 수 있다(S916). 그러나, 제4네트워크 장치(500)의 사용가능한 메모리 용량이 충분하지 않을 때(S914의 NO), 제3네트워크 장치(400)의 자원 관리 모듈은 제1네트워크 장치(200)가 제4네트워크 장치(500) 대신에 제5네트워크 장치(600)를 액세스하도록 제5네트워크 장치 (600)를 제어할 수 있다(S918).
도 19는 본 발명의 실시 예에 따라 네트워크 장치들 각각의 작동 모드에 따라 공유가능한 네트워크 장치를 결정하는 방법을 설명하기 위한 플로우 차트이다.
도 1a부터 도 10, 및 도 19를 참조하면, 제3네트워크 장치(400)의 자원 관리 모듈은 제4네트워크 장치(500)의 작동 모드와 제5네트워크 장치(600)의 작동 모드를 체크 또는 모니터링할 수 있다(S1010). 여기서, 작동 모드는 슬립 모드(sleep mode)와 같은 파워 세이빙 모드(power saving mode) 또는 정상적으로 작동하는 액티브 모드(active mode)일 수 있으나 이에 한정되는 것은 아니다.
제1네트워크 장치(200)가 제4네트워크 장치(500) 및/또는 제4네트워크 장치 (500)에 접속된 적어도 하나의 장치(501-1~501-d)를 공유 하드웨어 자원으로 사용하고자 할 때, 즉, 제1네트워크 장치(200)가 제4네트워크 장치(500)를 액세스하고자 할 때, 제1네트워크 장치(200)는 제3네트워크 장치(400)로 공유 요청 신호를 전송할 수 있다(S1012).
제3네트워크 장치(400)의 자원 관리 모듈은, 상기 공유 요청 신호에 응답하여, S1010의 체크 결과에 기초하여 제4네트워크 장치(500)가 슬립 모드인지를 판단할 수 있다(S1014). 제5네트워크 장치(600)는 슬립 모드가 아니라고 가정한다.
제4네트워크 장치(500)가 슬립 모드일 때(S1014의 YES), 제3네트워크 장치 (400)의 자원 관리 모듈은 제1네트워크 장치(200)가 제4네트워크 장치(500) 대신에 제5네트워크 장치(600)를 액세스하도록 제5네트워크 장치(600)를 제어할 수 있다 (S1016). 그러나, 제4네트워크 장치(500)가 슬립 모드가 아닐 때(S1014의 NO), 제3네트워크 장치(400)의 자원 관리 모듈은 제1네트워크 장치(200)가 제4네트워크 장치(500)를 액세스하도록 제4네트워크 장치(500)를 제어할 수 있다(S1018).
도 20은 네트워크 장치들을 포함하는 네트워크 시스템의 다른 실시 예이다. 도 1a부터 도 20을 참조하면, 네트워크 시스템(100B)은 네트워크 장치들(200, 300, 400, 500, 600, 및 700)을 포함할 수 있다. 네트워크 시스템(100B)은 가정 자동화 네트워크 토폴로지(home automation network topology)에 대응될 수 있다.
예컨대, 제1네트워크 장치(200)는 액세스 포인트이고, 제2네트워크 장치 (300)는 가정 자동화 시스템이고, 제3네트워크 장치(400)는 스마트 TV이고, 제4네트워크 장치(500)는 컴퓨터이고, 제5네트워크 장치(600)는 스마트 냉장고이고, 제6네트워크 장치(700)는 가정 보안 시스템이라고 가정한다.
도 3부터 도 19를 참조하여 설명한 바와 같이, 사용자는, 모바일 컴퓨팅 장치(800)와 제1네트워크 장치(200)를 이용하여, 제2네트워크 장치(300)에 접속된 장치(Device2-1), 예컨대 전등의 온/오프를 제어할 수 있다. 사용자는, 모바일 컴퓨팅 장치(800)와 제1네트워크 장치(200)를 이용하여, 각 네트워크 장치(300, 400, 500, 600, 및 700)를 제어하거나 이용할 수 있다. 또한, 장치(Device6-1)가 CCTV 카메라일 때, 사용자는 모바일 컴퓨팅 장치(800)를 이용하여 액세스 포인트(200)에직접 접속되지 않은 CCTV 카메라의 방향을 제어할 수 있다.
비록, 도 20에서는 각 네트워크 장치(200, 400, 500, 600, 및 700)에 장치가 접속되지 않은 실시 예에 도시되어 있으나, 각 네트워크 장치(200, 400, 500, 600, 및 700)에는 도 3에 도시된 바와 같이 적어도 하나의 장치가 접속될 수 있다.
도 21은 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다. 도 1a부터 도 19, 및 도 21을 참조하면, 네트워크 시스템(100C)에서 각 자동차 (automotive or car) 또는 각 운송 수단(vehicle)은 대응되는 네트워크 장치(200, 300, 400, 500, 600, 및 700)를 포함할 수 있다.
신규 네트워크 장치, 즉 제1네트워크 장치(200)는 본 명세서에서 설명된 방법을 통해 각 네트워크 장치(300과 400)에 접속될 수 있다. 따라서, 제1네트워크 장치(200)는 제5네트워크 장치(600)에 접속된 장치(Device601-1), 예컨대, 자동차 전방 카메라(car front camera)를 공유된 하드웨어 자원으로서 사용할 수 있다. 제1네트워크 장치(200)를 포함하는 자동차의 운전자는 제1네트워크 장치(200)에 접속된 디스플레이를 이용하여 자동차 전방 카메라(Device601-1)로부터 전송된 비디오를 볼 수 있다.
도 22는 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다. 도 1a부터 도 19, 및 도 22를 참조하면, 네트워크 시스템(100D)은 이미 존재하는 네트워크 장치들(300, 400, 500, 600, 및 700)과 신규 네트워크 장치(200)를 포함할 수 있다. 예컨대, 신규 네트워크 장치, 즉 제1네트워크 장치(200)는 본 명세서에서 설명된 방법을 통해 각 네트워크 장치(300과 400)에 접속될 수 있다.
예컨대, 순찰차 또는 구급차는 제1네트워크 장치(200)와 장치들(201-1과 201-2)을 포함하고, 각 네트워크 장치(300, 400, 500, 600, 및 700)는 서로 다른 위치에 설치된 CCTV 시스템이고, 각 CCTV 카메라(301-1, 401-1, 501-1, 601-1, 및 701-1)는 각 네트워크 장치(300, 400, 500, 600, 및 700)에 접속된다고 가정한다.
제1네트워크 장치(200)가 각 네트워크 장치(300과 400)에 접속되면, 제1네트워크 장치(200)는 각 CCTV 카메라(301-1, 401-1, 501-1, 601-1, 및 701-1)를 공유된 하드웨어 자원으로서 사용할 수 있다.
순찰차 또는 구급차에 구현된 제1네트워크 장치(200)에 접속된 모니터(201-1)로 제어 신호가 입력되면, 제1네트워크 장치(200)는 각 공유된 하드웨어 자원((301-1, 401-1, 501-1, 601-1, 및 701-1)을 제어하고 각 공유된 하드웨어 자원((301-1, 401-1, 501-1, 601-1, 및 701-1)으로부터 전송된 비디오를 수신하고, 수신된 비디오를 모니터(201-1)로 전송할 수 있다.
예컨대, 범죄자가 도주하는 경우, 경찰관은 각 공유된 하드웨어 자원((301-1, 401-1, 501-1, 601-1, 및 701-1)으로부터 전송된 비디오를 모니터(201-1)를 통해 볼 수 있으므로 상기 범죄자의 도주 경로를 판단할 수 있다. 또한, 구급 대원은 각 공유된 하드웨어 자원((301-1, 401-1, 501-1, 601-1, 및 701-1)으로부터 전송된 비디오를 모니터(201-1)를 통해 볼 수 있으므로, 사고 현장의 상황을 판단할 수 있다.
도 23은 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다. 도 1a부터 도 19, 및 도 23을 참조하면, 네트워크 시스템(100E)은 네트워크 장치들(200, 400, 500, 및 600)을 포함할 수 있다.
각 네트워크 장치(200, 500, 및 600)는 서로 다른 무선 액세스 포인트이고, 제3네트워크 장치(400)는 디지털 분산 시스템에 포함되고, 상기 디지털 분산 시스템은 각 디지털 플레이어(401-1, 401-2, 및 401-c)를 제어하고, 제4네트워크 장치 (500)는 무선 PC(501-1)와 무선 로봇 청소기(501-2)와 통신하고, 제5네트워크 장치 (600)는 무선 CCTV 시스템(601-1)과 통신한다고 가정한다.
신규 네트워크 장치(200), 즉 제1네트워크 장치(200)가 이미 존재하는 제3네트워크 장치(400)와 공유되면, 제1네트워크 장치(200)는 각 디지털 플레이어(401-1, 401-2, 및 401-c), 무선 PC(501-1), 무선 로봇 청소기(501-2), 및 무선 CCTV 시스템(601-1)을 공유된 하드웨어 자원으로서 제어 또는 사용할 수 있다. 사용자는 모바일 컴퓨팅 장치(800)를 이용하여 제1네트워크 장치(200)에 접속하고, 모바일 컴퓨팅 장치(800)를 이용하여 각 디지털 플레이어(401-1, 401-2, 및 401-c), 무선 PC(501-1), 무선 로봇 청소기(501-2), 및 무선 CCTV 시스템(601-1)을 공유된 하드웨어 자원으로서 제어 또는 사용할 수 있다. 예컨대, 모바일 컴퓨팅 장치(800)는 스마트폰, 태블릿 PC, 또는 무선 PC일 수 있으나 이에 한정되는 것은 아니다.
도 24는 네트워크 장치들을 포함하는 네트워크 시스템의 또 다른 실시 예이다. 도 1a부터 도 19, 및 도 24를 참조하면, 네트워크 시스템(100F)은 네트워크 장치들(200, 300, 및 400)을 포함할 수 있다.
제1네트워크 장치(200)는 스마트 워치(smart watch)이고, 제2네트워크 장치 (300)는 넘어짐 감지 센서(fall detection sensor)이고, 제3네트워크(400)는 혈압 (blood pressure) 센서이고, 장치(301-1)는 스트레스 감지 센서이고, 장치(301-2)는 칼로리 센서이고, 장치(301-b)는 잠을 유도하는 슬립(sleep) 센서이고, 장치 (401-1)는 산소 포화도(oxygen saturation sensor(SpO2)) 센서이고, 장치(401-2)는 피부 온도(skin temperature) 센서이고, 장치(401-c)는 보수계(pedometer)라고 가정한다.
신규 네트워크 장치(200), 즉 제1네트워크 장치(200)가 이미 존재하는 각 네트워크 장치(300과 400)와 공유되면, 제1네트워크 장치(200)는 각 장치(301-1, 301-2, 301-b, 401-1, 401-2, 및 401-c)를 공유된 하드웨어 자원으로서 제어 또는 사용할 수 있다. 예컨대, 제1네트워크 장치(200)의 디스플레이(201-0)를 통해 사용자는 각 장치(301-1, 301-2, 301-b, 401-1, 401-2, 및 401-c)로부터 전송된 데이터를 디스플레이할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
200-1~200-14, 200, 300, 400, 500, 600, 및 700: 네트워크 장치
220A와 220B: 시스템 온 칩
230A; 하드웨어 자원 관리 모듈
230: 소프트웨어 자원 관리 모듈
250-1~250-14: 하드웨어 자원
235, 235-2~235-6: 프로파일/환경설정 저장 장치
251: AP 코어
290: 분석 엔진
253, 253-1, 253-2, 253-3, 253-4, 253-5, 및 253-6: 보안 요소
210: 접속 모듈
231: 하드웨어 자원 매니저
233: 자원 코디네이터
237: 프로파일/환경설정 매니저
270-1~270-a: 액추에이터
800: 모바일 컴퓨팅 장치
201-0: 입출력 인터페이스

Claims (20)

  1. 제2네트워크 장치에서 사용되는 구조를 갖는 시스템 온 칩에서, 상기 시스템 온 칩은,
    제1하드웨어 자원; 및
    상기 제1하드웨어 자원의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 제1하드웨어 자원에 대한 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 현재 공유된 제2하드웨어 자원에 대한 공유 정보를 관리하는 자원 관리 모듈을 포함하는 시스템 온 칩.
  2. 삭제
  3. 제1항에 있어서, 상기 제2하드웨어 자원은,
    상기 제2네트워크 장치와 상기 제3네트워크 장치 중에서 어느 하나에 포함되고,
    상기 제2하드웨어 자원은 프로세서, 데이터 저장 장치, 및 센서 노드 중에서 적어도 하나를 포함하는 시스템 온 칩.
  4. 제1항에 있어서, 상기 자원 관리 모듈은,
    상기 제1하드웨어 자원에 대한 공유와 상기 제2하드웨어 자원에 대한 공유를 관리하는 자원 코디네이터;
    상기 제1하드웨어 자원의 현재 상태를 모니터하고 모니터 결과를 상기 자원 코디네이터로 전송하는 하드웨어 자원 매니저; 및
    상기 자원 코디네이터에 의해 변경된 상기 공유 조건과 상기 공유 정보의 업데이트와 저장을 관리하는 매니저를 포함하는 시스템 온 칩.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 자원 관리 모듈은 상기 제1네트워크 장치부터 전송된 분석 엔진과 데이터를 상기 제1하드웨어 자원으로 전송하고,
    상기 제1하드웨어 자원은 상기 분석 엔진을 이용하여 상기 데이터를 분석하고, 분석 데이터를 상기 자원 관리 모듈을 통해 상기 제1네트워크 장치로 전송하는 시스템 온 칩.
  8. 제1항에 있어서,
    상기 제1하드웨어 자원은 제1CPU이고, 상기 제2하드웨어 자원은 상기 제3네트워크 장치에 포함된 제2CPU일 때,
    상기 자원 관리 모듈은, 상기 제1CPU의 사용률과 상기 제2CPU의 사용률에 기초하여, 상기 제1네트워크 장치부터 전송된 분석 엔진과 데이터를 상기 제1CPU와 상기 제2CPU 중에서 어느 하나로 전송하고,
    상기 어느 하나가 상기 분석 엔진을 이용하여 상기 데이터를 분석하고 분석 데이터를 출력하면, 상기 자원 관리 모듈은 상기 어느 하나로부터 전송된 상기 분석 데이터를 수신하고 수신된 분석 데이터를 상기 제1네트워크 장치로 전송하는 시스템 온 칩.
  9. 제1항에 있어서,
    상기 시스템 온 칩은 구동 장치와 센서 노드 중에서 어느 하나를 작동 (actuate)하는 액추에이터를 더 포함하고,
    상기 자원 관리 모듈은 상기 제1네트워크 장치부터 전송된 작동 지시를 상기 액추에이터로 전송하고,
    상기 액추에이터는, 상기 작동 지시에 응답하여, 상기 어느 하나의 작동을 제어하는 시스템 온 칩.
  10. 제1항에 있어서,
    상기 시스템 온 칩은 분석 엔진을 더 포함하고,
    상기 자원 관리 모듈은 상기 제1네트워크 장치부터 전송된 데이터를 상기 분석 엔진으로 전송하고,
    상기 분석 엔진은 상기 데이터를 분석하여 분석 데이터를 생성하고,
    상기 자원 관리 모듈은 상기 분석 데이터를 상기 제1네트워크 장치로 전송하는 시스템 온 칩.
  11. 제2네트워크 장치에 사용되는 구조를 갖는 시스템 온 칩에서, 상기 시스템 온 칩은,
    자원 관리 모듈을 저장하는 메모리; 및
    상기 자원 관리 모듈을 실행하는 CPU를 포함하고,
    상기 자원 관리 모듈이 상기 CPU에 의해 실행됨에 따라, 상기 자원 관리 모듈은,
    상기 CPU의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 CPU의 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 공유된 하드웨어 자원에 대한 공유 정보를 관리하는 시스템 온 칩.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 제1하드웨어 자원과 자원 관리 모듈을 포함하는 제2네트워크 장치에서, 상기 제2네트워크 장치는,
    상기 자원 관리 모듈을 이용하여,
    상기 제1하드웨어 자원의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 제1하드웨어 자원에 대한 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 공유된 제2하드웨어 자원에 대한 공유 정보를 관리하되,
    상기 공유 조건과 상기 공유 정보를 저장하는 메모리를 더 포함하고,
    상기 자원 관리 모듈은, 상기 제1네트워크 장치로부터 전송된 정보 전송 요구 신호에 응답하여, 상기 메모리로부터 출력된 상기 공유 조건과 상기 공유 정보를 상기 제1네트워크 장치로 전송하는 제2네트워크 장치.
  17. 삭제
  18. 제1하드웨어 자원과 자원 관리 모듈을 포함하는 제2네트워크 장치에서, 상기 제2네트워크 장치는,
    상기 자원 관리 모듈을 이용하여,
    상기 제1하드웨어 자원의 상태를 모니터하고, 제1네트워크 장치와 상기 제2네트워크 장치에 의해 공유될 상기 제1하드웨어 자원에 대한 공유 조건과 상기 제2네트워크 장치와 제3네트워크 장치에 의해 공유된 제2하드웨어 자원에 대한 공유 정보를 관리하되,
    상기 제1하드웨어 자원은 제1CPU이고, 상기 제2하드웨어 자원은 상기 제3네트워크 장치에 포함된 제2CPU일 때,
    상기 자원 관리 모듈은, 상기 제1CPU의 사용률과 상기 제2CPU의 사용률에 기초하여, 상기 제1네트워크 장치부터 전송된 분석 엔진과 데이터를 상기 제1CPU와 상기 제2CPU 중에서 어느 하나로 전송하고,
    상기 어느 하나가 상기 분석 엔진을 이용하여 상기 데이터를 분석하고 분석 데이터를 출력하면, 상기 자원 관리 모듈은 상기 어느 하나로부터 전송된 상기 분석 데이터를 수신하고 수신된 분석 데이터를 상기 제1네트워크 장치로 전송하는 제2네트워크 장치.
  19. 삭제
  20. 삭제
KR1020150063958A 2015-03-13 2015-05-07 시스템 온 칩과 이를 포함하는 장치들 KR102343641B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/066,152 US10313217B2 (en) 2015-03-13 2016-03-10 System on chip (SoC) capable of sharing resources with network device and devices having the SoC

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562132837P 2015-03-13 2015-03-13
US62/132,837 2015-03-13

Publications (2)

Publication Number Publication Date
KR20160109980A KR20160109980A (ko) 2016-09-21
KR102343641B1 true KR102343641B1 (ko) 2021-12-24

Family

ID=57080831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150063958A KR102343641B1 (ko) 2015-03-13 2015-05-07 시스템 온 칩과 이를 포함하는 장치들

Country Status (1)

Country Link
KR (1) KR102343641B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8042122B2 (en) * 2007-06-27 2011-10-18 Microsoft Corporation Hybrid resource manager
US8060891B2 (en) * 2007-06-29 2011-11-15 Microsoft Corporation Management of external hardware appliances in a distributed operating system
US9344335B2 (en) * 2011-09-09 2016-05-17 Microsoft Technology Licensing, Llc Network communication and cost awareness

Also Published As

Publication number Publication date
KR20160109980A (ko) 2016-09-21

Similar Documents

Publication Publication Date Title
US20210343380A1 (en) Location-based healthcare collaboration, data management and access control
EP3131316B1 (en) Method of managing geo-fence and electronic device thereof
EP3308320B1 (en) System, apparatus and method for stateful application of control data in a device
US20160330182A1 (en) Method of sharing key between devices using physical access restriction
JP5989249B2 (ja) コンピューティングデバイスの無線再接続時間削減
US9774597B2 (en) Configurable electronic-device security locking
US11107561B2 (en) Cloud-based distributed healthcare system with biometric devices and associated methods
US9912704B2 (en) System, apparatus and method for access control list processing in a constrained environment
US20210073047A1 (en) Technologies for managing accelerator resources by cloud resource manager
US10484943B2 (en) Power management of a personal area fabric
US20160321125A1 (en) Self-diagnosis device and device including the same
EP1750573A1 (en) Location dependent access control
Ko et al. Sensor virtualization module: virtualizing iot devices on mobile smartphones for effective sensor data management
KR101230917B1 (ko) 확장기능 추가가 용이한 m2m 장치
US10313217B2 (en) System on chip (SoC) capable of sharing resources with network device and devices having the SoC
KR102343641B1 (ko) 시스템 온 칩과 이를 포함하는 장치들
KR101938734B1 (ko) 게이트웨이 기반의 m2m 디바이스들 기능 공유 방법 및 장치
US9124591B2 (en) Automatic resource balancing for multi-device location-based applications
KR20140115901A (ko) 센서 데이터 관리 방법 및 장치
KR102233007B1 (ko) 디바이스 디스크립터를 이용한 사물인터넷 플랫폼 서비스 제공 서버 및 방법
US20210368344A1 (en) Data model visibility in iot network implementations
Singh et al. It’s Time to End Monolithic Apps for Connected Devices
KR102573591B1 (ko) IoT 환경에서의 사용자 중심의 상황 인식 서비스 제공 방법 및 시스템
Rao Adaptive Control Strategies for Task Scheduler Using Internet of Things
Rocha Localization technology in special contexts: a collaborative anti-lost application

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant