KR102003878B1 - 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치 - Google Patents

디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR102003878B1
KR102003878B1 KR1020170065865A KR20170065865A KR102003878B1 KR 102003878 B1 KR102003878 B1 KR 102003878B1 KR 1020170065865 A KR1020170065865 A KR 1020170065865A KR 20170065865 A KR20170065865 A KR 20170065865A KR 102003878 B1 KR102003878 B1 KR 102003878B1
Authority
KR
South Korea
Prior art keywords
data
data map
packet
map
client device
Prior art date
Application number
KR1020170065865A
Other languages
English (en)
Other versions
KR20180130155A (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 KR1020170065865A priority Critical patent/KR102003878B1/ko
Publication of KR20180130155A publication Critical patent/KR20180130155A/ko
Application granted granted Critical
Publication of KR102003878B1 publication Critical patent/KR102003878B1/ko

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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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]

Abstract

본 발명은 디바이스들 간 데이터 맵을 이용한 데이터 전송 방법에 관한 것으로, 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 생성하는 단계; 상기 생성된 데이터 맵을 적어도 하나의 클라이언트 디바이스로 전송하는 단계; 상기 생성된 데이터 맵 상에서 상기 클라이언트 디바이스로 전송할 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 생성하는 단계; 및 상기 생성된 패킷을 상기 클라이언트 디바이스로 전송하는 단계;를 포함하는 것을 특징으로 한다.

Description

디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING DATA USING A DATA MAP BETWEEN DEVICES}
본 발명은 디바이스 간의 데이터 전송 방법에 관한 것으로, 디바이스 간에 공유된 데이터 맵을 통해 원하는 명령을 실행할 수 있는 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치에 관한 것이다.
일반적으로 데이터 통신 시스템은 터미널(Terminal) 및 컴퓨터(Computer)와 이들을 연결하는 통신회선으로 구성된다. 컴퓨터와 인터넷 서비스의 관련 기술 발달 및 보급 확장에 힘입어 회사, 학교, 관공서 등에서의 인터넷 사용은 매우 일반화되고 각 가정에서도 인터넷 사용은 대중화되어 있다.
최근 들어, 유무선 데이터 통신 기술의 급격한 발달과 그 기반이 되는 통신 네트워크의 확대 보급은 인터넷 등과 같은 초고속 통신 서비스의 대중화를 가져왔다. 특히, 가정 내로 초고속 인터넷이 보급됨에 따라 기존에 이루어지던 PC 기반의 네트워크 구축 기술은 가정 내의 디지털 정보가전들을 원격지에서 제어할 수 있도록 하기 위한 홈 네트워크 기술로 진화하고 있다.
한편, 이러한 네트워크 시스템을 구성하기 위해서는 유선 또는 무선 네트워킹 기술이 사용된다. 또한, 이러한 네트워크 시스템은 해킹이나 도청 등의 악의적인 보안 위협의 가능성이 존재한다. 즉, 보안 체계가 제대로 갖추어 지지 않은 경우, 인증되지 않은 사용자가 통신망을 통해 다른 가정의 가전기기들을 마음대로 조작할 수도 있고, 댁내에서 이루어지고 있는 가전기기의 동작 상태를 도청(eavesdrop)하여 재공격(replay attack) 등을 시도할 수도 있다.
IoT(internet on things) 제품들의 경우 명령어가 담겨진 패킷을 호스트 디바이스에서 클라이언트 디바이스로 전송하고, 이를 수신한 클라이언트 디바이스에서는 수신된 패킷에 포함된 명령을 수행할 수 있다. 종래의 상기 호스트 디바이스에서 전송되는 패킷은 보안을 위해 미리 설정된 패킷 생성 방식에 따라 정해진 패킷 정보를 암호화하여 전송하게 된다.
그러나, 상기 패킷 정보를 암호화시키는 코드가 노출되면 패킷 내에 포함된 실제 명령어 데이터가 그대로 해킹될 수 있는 위험성이 있다. 이와 같이 패킷 정보가 노출될 경우 악의의 사용자에 의해 클라이언트 디바이스에서는 해당 명령이 실행되는 문제점이 있다.
[문헌 1] 대한민국등록특허공보 제10-1161585호 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법(한국과학기술원) 2012.06.26
따라서 본 발명의 목적은 호스트 디바이스와 클라이언트 디바이스가 데이터 맵을 공유하고, 그에 따라 생성되는 패킷 정보를 전송함으로써 패킷 정보가 노출되어도 클라이언트로 하여금 해당 명령을 실행하지 않도록 할 수 있는 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치를 제공함에 있다.
상기와 같은 목적을 달성하기 위한 디바이스들 간의 데이터 맵을 이용한 데이터 전송 방법에 있어서, 호스트 디바이스에서 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 생성하는 단계; 상기 호스트 디바이스에서 생성된 데이터 맵을 적어도 하나의 클라이언트 디바이스로 전송하는 단계; 상기 호스트 디바이스에서 생성된 데이터 맵 상에서 상기 클라이언트 디바이스로 전송할 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 생성하는 단계; 및 상기 호스트 디바이스에서 생성된 패킷을 상기 클라이언트 디바이스로 전송하는 단계;를 포함하여, 상기 호스트 디바이스에서 상기 데이터 맵을 주기적으로 생성하여 갱신하며, 상기 호스트 디바이스에서 새로 생성된 데이터 맵은 상기 클라이언트 디바이스로 전송하고, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며, 상기 호스트 디바이스에서 상기 데이터 맵의 사용 기간을 설정하거나 사용 횟수를 설정하고, 상기 데이터 맵의 사용에 따라 상기 설정된 사용 기간 또는 사용 횟수에 도달하면, 기 배포된 데이터 맵을 유효하지 않는 데이터 맵으로 판단하고, 폐기하는 것을 특징으로 한다.
바람직하게는, 상기 경로 정보는, 상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함한다.
바람직하게는, 상기 패킷은, 데이터를 읽는 방향에 대한 정보를 더 포함한다.
바람직하게는, 상기 패킷은, 패킷의 시작을 나타내는 정보, 상기 클라이언트 디바이스의 식별 정보, 상기 경로 정보에 대한 시작 지점과 도착 지점의 최단 거리값, 데이터 검증 필드, 및 패킷의 마지막을 나타내는 정보 중 적어도 하나를 포함한다.
다른 측면에서 상기와 같은 목적을 달성하기 위한 본 발명의 수신 방법은, 클라이언트 디바이스에서 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 호스트 디바이스로부터 수신하는 단계; 클라이언트 디바이스에서 상기 데이터 맵 상에서 상기 매핑된 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 상기 호스트 디바이스로부터 수신하는 단계; 클라이언트 디바이스에서 상기 수신된 패킷에 포함된 경로 정보를 기반으로, 상기 수신된 데이터 맵에 매핑된 적어도 하나의 데이터를 검색하는 단계; 및 상기 검색된 데이터를 기반으로 명령을 실행하는 단계;를 포함하며, 상기 호스트 디바이스에서 상기 데이터 맵을 주기적으로 생성하여 갱신하며, 상기 호스트 디바이스에서 새로 생성된 데이터 맵은 상기 클라이언트 디바이스로 전송하고, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며, 상기 클라이언트 디바이스는 상기 호스트 디바이스로부터 전송된 데이터 맵을 저장하고 상기 저장된 데이터 맵의 사용 기간 또는 사용 횟수를 카운트하여, 미리 설정된 사용 기간이 만료하거나 사용 횟수에 도달하면 해당 데이터 맵을 폐기하는 것을 특징으로 한다.
바람직하게는, 상기 경로 정보는, 상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함한다.
바람직하게는, 상기 패킷은, 데이터를 읽는 방향에 대한 정보를 더 포함한다.
바람직하게는, 상기 패킷은, 패킷의 시작을 나타내는 정보, 상기 클라이언트 디바이스의 식별 정보, 상기 경로 정보에 대한 시작 지점과 도착 지점의 최단 거리값, 데이터 검증 필드, 및 패킷의 마지막을 나타내는 정보 중 적어도 하나를 포함한다.
다른 측면에서 상기와 같은 목적을 달성하기 위한 본 발명의 전송 장치는, 디바이스들 간 데이터 맵을 이용한 데이터 전송 장치로, 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 생성하는 데이터 맵 생성부; 상기 생성된 데이터 맵을 적어도 하나의 클라이언트 디바이스로 전송하는 데이터 맵 송신부; 상기 생성된 데이터 맵 상에서 상기 클라이언트 디바이스로 전송할 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 생성하는 패킷 생성부; 및 상기 생성된 패킷을 상기 클라이언트 디바이스로 전송하는 패킷 송신부;를 포함하여, 상기 데이터 맵을 주기적으로 생성하여 갱신하며, 상기 새로 생성된 데이터 맵을 상기 클라이언트 디바이스로 전송하고, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며, 상기 데이터 맵의 사용 기간을 설정하거나 사용 횟수를 설정하고, 상기 데이터 맵의 사용에 따라 상기 설정된 사용 기간 또는 사용 횟수에 도달하면, 기 배포된 데이터 맵을 유효하지 않는 데이터 맵으로 판단하고, 폐기하는 것을 특징으로 한다.
바람직하게는, 상기 경로 정보는, 상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함한다.
바람직하게는, 상기 패킷은, 데이터를 읽는 방향에 대한 정보를 더 포함한다.
바람직하게는, 상기 패킷은, 패킷의 시작을 나타내는 정보, 상기 클라이언트 디바이스의 식별 정보, 상기 경로 정보에 대한 시작 지점과 도착 지점의 최단 거리값, 데이터 검증 필드, 및 패킷의 마지막을 나타내는 정보 중 적어도 하나를 포함한다.
다른 측면에서 상기와 같은 목적을 달성하기 위한 본 발명의 수신 장치는, 디바이스들 간 데이터 맵을 이용한 데이터 수신 장치로, 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 호스트 디바이스로부터 수신하여 저장하는 데이터 맵 저장부; 상기 데이터 맵 상에서 상기 매핑된 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 상기 호스트 디바이스로부터 수신하는 패킷 수신 모듈; 상기 수신된 패킷에 포함된 경로 정보를 기반으로, 상기 수신된 데이터 맵에 매핑된 적어도 하나의 데이터를 검색하는 데이터 검색부; 및 상기 검색된 데이터를 기반으로 명령을 실행하는 명령 데이터 실행부;를 포함하여, 상기 호스트 디바이스는 데이터 맵을 주기적으로 생성하여 갱신하며, 상기 새로 생성된 데이터 맵을 전송하고, 상기 호스트 디바이스로부터 상기 새로 생성된 데이터 맵을 수신하면 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며, 상기 호스트 디바이스로부터 전송된 데이터 맵을 저장하고 상기 저장된 데이터 맵의 사용 기간 또는 사용 횟수를 카운트하여, 미리 설정된 사용 기간이 만료하거나 사용 횟수에 도달하면 해당 데이터 맵을 폐기하는 것을 특징으로 한다.
바람직하게는, 상기 경로 정보는, 상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함한다.
바람직하게는, 상기 패킷은, 데이터를 읽는 방향에 대한 정보를 더 포함한다.
본 발명에 따르면, 호스트 디바이스에서 클라이언트 디바이스의 구성 정보를 기반으로 구성된 데이터 맵을 전송하여 미리 공유하고, 상기 구성된 데이터 맵에 따라 생성되는 패킷 정보를 전송함으로써 호스트 디바이스에서 클라이언트 디바이스의 정보를 변경할 수 있다.
또한, 본 발명에 따르면, 호스트 디바이스에서 클라이언트 디바이스의 구성 정보를 기반으로 구성된 데이터 맵을 전송하여 미리 공유하고, 상기 구성된 데이터 맵 주기적으로 변경 함으로써, 상기 호스트 디바이스에서 클라이언트 디바이스로 전송되는 패킷 정보가 노출되어도 클라이언트 디바이스는 해당 명령을 실행하지 않을 수 있다. 즉, 호스트 디바이스에서에서 클라이언트 디바이스로 명령 데이터를 전송할 때 패킷이 스니핑 되어도 클라이언트 디바이스에 대한 직접적인 실행 명령이 추출되지 않는 장점이 있다.
또한, 본 발명에 따르면, 호스트 디바이스에서 클라이언트 디바이스로 명령어를 전송하고자 할 때, 상기 전송하는 명령어를 포함한 패킷을 직접 만들지 않아도 되므로 패킷의 크기가 줄어드는 장점이 있다.
또한, 본 발명에 따르면, 호스트 디바이스와 클라이언트 디바이스 간에 공유되는 데이터 맵을 주기적으로 변경함으로써 패킷을 스니핑 하여도 데이터 맵이 변경되면 스니핑한 패킷은 사용할 수 없게 된다. 또한, 호스트 디바이스와 클라이언트 디바이스 간의 데이터 맵이 다르면 해당 명령어를 수행할 수 없으므로 전송하는 패킷에 대한 보안성을 확보할 수 있는 장점이 잇다.
도 1은 본 발명의 실시 예에 따른 데이터 맵을 이용한 데이터 송수신 시스템을 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 호스트 디바이스 및 클라이언트 디바이스의 세부 구조를 나타내는 블록도이다.
도 3은 본 발명의 실시 예에 따른 패킷의 세부 구조를 나타내는 도면이다.
도 4는 본 발명의 실시 예에 따른 데이터 맵의 구성 예를 나타내는 도면이다.
도 5는 본 발명의 실시 예에 따른 패킷 생성 시 참조하는 데이터 맵의 예를 나타내는 도면이다.
도 6은 본 발명의 실시 예에 따른 패킷을 구성하는 각 데이터 필드의 값을 나타내는 도면이다.
도 7은 본 발명의 실시 예에 따라 생성된 패킷 데이터를 비트 값으로 나타내는 도면이다.
도 8은 본 발명의 실시 예에 따라 전송된 패킷 데이터에 대응하는 값을 데이터 맵에서 검색하는 예를 나타내는 도면이다.
도 9는 본 발명의 실시 예에 따라 호스트 디바이스에서 데이터 맵을 전송하는 절차를 나타내는 흐름도이다.
도 10은 본 발명의 실시 예에 따라 호스트 디바이스에서 패킷을 생성하여 전송하는 절차를 나타내는 흐름도이다.
도 11은 본 발명의 실시 예에 따라 클라이언트 디바이스에서 패킷을 수신하여 처리하는 절차를 나타내는 흐름도이다.
도 12는 본 발명의 실시 예에 따른 전자 장치의 세부 구성을 나타내는 도면이다.
이하, 도면을 참조하여 본 발명을 실시하기 위한 구체적인 내용을 실시 예에 기초하여 설명한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있는 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백히 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 데이터 맵을 이용한 데이터 송수신 시스템을 나타내는 도면이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 시스템은, 호스트 디바이스(110), 통신 네트워크(120), 적어도 하나의 클라이언트 디바이스(130)를 포함하여 구성될 수 있다.
본 발명의 실시 예에 따라 호스트 디바이스(110)에서는 클라이언트 디바이스(130)의 구성 정보를 기반으로 데이터 맵을 생성하고, 상기 생성된 데이터 맵을 통신 네트워크(120)를 통해 적어도 하나의 클라이언트 디바이스(130)로 전송한다.
상기 데이터 맵은 후술하는 실시 예에서와 같이 2차원 배열 형태로 구성될 수 있으며, 상기 2차원 배열의 각 좌표값에 상기 클라이언트 디바이스(130)의 설정 또는 명령을 위한 데이터가 매핑될 수 있다.
상기 호스트 디바이스(110)에서는 상기 데이터 맵을 주기적으로 생성하여 갱신할 수 있다. 상기 호스트 디바이스(110)에서 새로 생성된 데이터 맵은 상기 클라이언트 디바이스(130)로 전송될 수 있으며, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스(130)는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하게 된다.
또한, 본 발명의 실시 예에 따라 상기 호스트 디바이스(110)에서는 상기 데이터 맵의 사용 기간을 설정하거나 사용 횟수를 설정하고, 상기 데이터 맵의 사용에 따라 상기 설정된 사용 기간 또는 사용 횟수에 도달하면, 기 배포된 데이터 맵을 유효하지 않는 데이터 맵으로 판단하고, 폐기시킬 수 있다. 이에 대한, 상세한 설명은 후술하기로 한다.
상기 클라이언트 디바이스(130)는 상기 호스트 디바이스(110)로부터 전송된 데이터 맵을 저장하고, 이후 상기 호스트 디바이스(110)로부터 전송된 패킷에 대해 상기 저장된 데이터 맵을 참조하여 분석한다. 상기 클라이언트 디바이스(130)는 상기 저장된 데이터 맵의 사용 기간 또는 사용 횟수를 카운트하고, 상기 미리 설정된 사용 기간이 만료하거나 사용 횟수에 도달하면 해당 데이터 맵을 폐기시키게 된다.
상기 호스트 디바이스(110)는 상기 클라이언트 디바이스(130)로 설정 정보 또는 명령 정보를 전송하고자 할 때, 상기 생성된 데이터 맵을 기반으로 패킷을 생성하여 전송할 수 있다. 예컨대, 본 발명의 실시 예에 따라, 상기 호스트 디바이스(110)는 상기 생성된 데이터 맵 상에서 상기 클라이언트 디바이스(130)로 전송할 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 생성할 수 있다. 상기 호스트 디바이스(110)는 상기 생성된 패킷을 클라이언트 디바이스(130)로 전송한다.
상기 클라이언트 디바이스(130)는 상기 호스트 디바이스(110)로부터 패킷을 수신하고, 상기 수신된 패킷에 대해 상기 기수신된 데이터 맵을 참조하여 분석한다. 이에 대한 상세한 실시 예의 설명은 후술하기로 한다.
상기 통신 네트워크(120)는 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 포함할 수 있다. 또한, 상기 통신 네트워크(120)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 통신 네트워크(120)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.
도 2는 본 발명의 실시 예에 따른 호스트 디바이스 및 클라이언트 디바이스의 세부 구조를 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 호스트 디바이스(110)는 패킷 생성 모듈(210) 및 데이터 맵 처리 모듈(220)을 포함하여 구성될 수 있다. 상기 패킷 생성 모듈(210)은 패킷 생성부(211) 및 패킷 송신부(212)를 포함하여 구성될 수 있으며, 상기 데이터 맵 처리 모듈(220)은 데이터 맵 송신부(221) 및 데이터 맵 생성부(222)를 포함하여 구성될 수 있다.
상기 데이터 맵 생성부(222)는 미리 설정된 방법에 따라 데이터 맵을 생성하고 데이터 맵 저장부(230)에 저장한다. 상기 데이터 맵 저장부(230)는 다양한 유형의 메모리 또는 저장 매체를 포함할 수 있다. 상기 데이터 맵 생성부(222)를 통해 생성된 데이터 맵은 데이터 맵 송신부(221)를 통해 클라이언트 디바이스(130)로 전송될 수 있다. 상기 클라이언트 디바이스(130)에서는 상기 호스트 디바이스(110)로부터 전송된 데이터 맵을 데이터 맵 저장부(260)에 저장한다. 상기 데이터 맵 생성부(222)는 기 생성된 데이터 맵이 만료되거나 새로운 데이터 맵 생성 주기가 도래할 때 새로운 데이터 맵을 생성할 수 있다.
상기 데이터 맵 생성 방법은 다양하게 구현될 수 있으며, 후술하는 바와 같이 2차원 배열 형태로 구성될 수 있다. 이때, 상기 2차원 배열의 각 좌표값에는 상기 클라이언트 디바이스(130)의 설정 또는 명령을 위한 데이터가 매핑될 수 있다.
한편, 호스트 디바이스(110)에서 클라이언트 디바이스(130)로 전송할 데이터가 있을 경우, 상기 패킷 생성부(211)는 클라이언트 디바이스(130)로 전송할 데이터를 본 발명의 실시 예에 따른 패킷으로 생성하여 전송할 수 있다.
상기 패킷 생성부(211)는 상기 데이터 맵 생성부(222)에 의해 생성된 데이터 맵 상에서 상기 클라이언트 디바이스(130)로 전송할 데이터를 찾기 위한 경로 정보를 포함하여 패킷을 생성할 수 있다. 이에 대한, 상세한 설명은 후술하기로 한다.
상기 패킷 송신부(212)는 상기 패킷 생성부(211)를 통해 생성된 패킷을 클라이언트 디바이스(130)로 전송한다.
상기 클라이언트 디바이스(130)의 패킷 수신 모듈(240)에서는 상기 호스트 디바이스(110)로부터 전송된 패킷을 수신하고, 수신된 패킷을 검증 및 분석할 수 있다. 상기 패킷 수신 모듈(240)의 패킷 검증부(241)는 수신된 패킷의 유효성 여부를 검사할 수 있다. 본 발명의 실시 예에 따라 상기 패킷 검증부(241)의 패킷 검증 방법은 다양한 형태로 구현될 수 있다.
예컨대, 상기 패킷 검증부(241)는 패킷 내에 포함된 토큰 정보를 참조하여 상기 토큰 정보가 상기 클라이언트 디바이스(130)의 식별 정보에 대응하는 지 확인하여 검증할 수 있다. 또한, 상기 패킷 검증부(241)는 상기 패킷 내에 포함된 CRC(cyclic redundancy check) 필드를 통해 패킷 데이터가 유효한 지 검사할 수 있다.
또한, 본 발명의 실시 예에 따라 상기 패킷 검증부(241)는 상기 패킷 내에 포함된 최단 거리 필드를 참조하여 상기 패킷 내에 포함된 경로 정보의 최단 거리를 계산함으로써 데이터를 검증할 수 있다. 상기 최단 거리 계산을 위한 알고리즘에는 길찾기 알고리즘인 A*(A Star)알고리즘 또는 다익스트라(Dijkastra) 알고리즘 등이 사용될 수 있다. 상기 A* 알고리즘은 시작 지점과 목적 지점을 알고 있는 상태에서 2차원의 맵에서 가중치를 더해 최단거리를 찾는 알고리즘이다. 또한, 상기 다익스트라 알고리즘은 시작 지점과 목적 지점 사이의 경로에 비용을 지정하여 최단거리를 찾는 알고리즘이다. 상기 최단 거리 계산 알고리즘을 통해 호스트 디바이스(110)와 클라이언트 디바이스(130)가 동일한 계산방식으로 데이터를 검증할 수 있다.
상기 패킷 검증부(241)를 통해 수신된 패킷이 유효한 패킷으로 검증되면, 패킷 분석부(242)에서는 수신된 패킷의 각 데이터 필드를 분석하여 데이터 맵상에서 찾고자 하는 데이터가 시작되는 지점의 좌표(예컨대, x좌표 및 y좌표)를 산출하고, 데이터의 독출 방향을 확인한다.
상기 패킷 분석부(242)의 분석 결과(예컨대, 데이터가 시작되는 지점의 좌표 및 데이터의 독출 방향)는 명령어 실행 모듈(250)로 제공된다. 상기 명령어 실행 모듈(250)의 데이터 검색부(252)는 상기 패킷 분석부(242)의 분석 결과를 데이터 맵 저장부(260)에 저장된 데이터 맵에 적용함으로써 해당 명령 또는 상태 데이터를 검색할 수 있다. 상기 데이터 검색부(252)를 통해 검색된 데이터는 명령 데이터 실행부(251)를 통해 실행된다.
명확하게 도시하지 않았으나, 도 2에 도시된 장치는 도 2에 도시되지 않은 구성요소를 더 포함하거나 또는 도 2에 도시된 일부 구성요소를 포함하지 않을 수 있다. 또한, 도 2에 도시된 바와 다르게, 일부 구성요소가 복수의 세부적인 구성요소로 분리되거나, 복수의 구성요소가 하나의 구성요소로 결합되어 제공될 수도 있다.
명확하게 도시하지 않았으나, 도 2에 도시된 바와 다르게, 각 장치는 물리적으로, 공간적으로 또는 기능적으로 구분된 복수의 서버로 분리되어 제공될 수 있다. 이 경우, 각각의 서버는 도 2에 도시된 일부 구성요소를 포함하거나 포함하지 않을 수 있다.
한편, 상기 장치의 각각의 구성요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.
그리고 본 명세서에서 각 기능부(또는 모듈)라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 각 기능부는 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
또한, 본 명세서에서 저장부 또는 데이터베이스라 함은, 각각의 데이터베이스에 대응되는 정보를 저장하는 소프트웨어 및 하드웨어의 기능적 구조적 결합을 의미할 수 있다. 데이터베이스는 상기 데이터베이스에 대응되는 정보를 저장할 수 있는 모든 데이터 저장매체 및 데이터 구조를 포함한다.
이하, 도 3 내지 도 8을 참조하여 본 발명의 실시 예에 따라 구성되는 패킷 및 데이터 맵의 실시 예를 상세히 설명하기로 한다.
도 3은 본 발명의 실시 예에 따른 패킷의 세부 구조를 나타내는 도면이다. 도 3을 참조하면, 본 발명의 실시 예에 따라 패킷 생성부(211)에서 구성되는 패킷은 STX(start of text)(310), 토큰(token)(320), 데이터(330), 최단 거리(minimun distance)(340), CRC(350), EXT(end of text)(360) 중 적어도 하나의 데이터 필드를 포함하여 구성될 수 있다.
상기 STX(310)는 패킷의 시작을 나타내는 데이터 필드이며, EXT(360)는 패킷의 마지막을 나타내는 데이터 필드이다. 상기 토큰(320)은 각 클라이언트 디바이스(130)의 식별 정보 또는 고유 정보에 대응할 수 있으며, 상기 토큰(320) 데이터 필드에 포함된 정보를 기반으로 클라이언트 디바이스(130)를 식별 또는 인증할 수 있다.
상기 데이터(330)는 본 발명의 실시 예에 따라 기전송된 데이터 맵 상에서 매핑된 실제 데이터의 시작 지점을 찾기 위한 경로 정보를 포함할 수 있다. 예컨대, 상기 데이터(330)는 시작 X좌표(331), 시작 Y좌표(332), X축(333), Y축(334), X축 거리(335), Y축 거리(336), 리드 방향(ReadCourse)(337) 중 적어도 하나의 데이터 필드를 포함할 수 있다.
상기 시작 X좌표(331) 및 시작 Y좌표(332)는 데이터의 시작 지점을 찾아가기 위한 기준이 되는 좌표를 의미한다. 상기 X축(333) 및 Y축(334)은 상기 기준이 되는 좌표로부터 데이터의 시작 지점을 찾아가는 경로의 방향을 의미한다. 예컨대, 상기 X축(333)의 값이 0이면 위쪽 방향을 의미하며, 1이면 아래쪽 방향을 의미한다. 또한, 상기 Y축(334)의 값이 0이면 왼쪽 방향을 의미하며, 1이면 오른쪽 방향을 의미한다.
X축 거리(335)는 X축 방향으로 이동하는 거리를 의미하며, Y축 거리(336)는 Y축 방향으로 이동하는 거리를 의미한다. 상기 리드 방향(337)은 상기 경로 정보를 통해 찾은 데이터의 시작 지점으로부터 데이터를 독출하는 방향을 의미한다.
상기 패킷의 각 데이터 필드는 하기 <표 1>과 같이 정의하여 사용될 수 있다.
Bit 설명 결과
0~2 Start X Index 000~111 0~7
3~5 Start Y Index 000~111 0~7
6
X axis
0 Left
1 Right
7
Y axis
0 Up
1 Down
8~10 X Distance 000~111 0~7
11~13 Y Distance 000~111 0~7
14~15
Read Course
00 정방향
01 역방향
후술하는 설명에서는 상기 데이터 필드의 이해를 돕기 위해 구체적인 데이터를 예를 들어 설명하기로 한다.
도 4는 본 발명의 실시 예에 따른 데이터 맵의 구성 예를 나타내는 도면이다. 도 4를 참조하면, 본 발명의 실시 예에 따른 데이터 맵은 2차원 배열 형태로 구성될 수 있다. 예컨대, 도시된 바와 같이 가로축(X축)으로 8, 세로축(Y축)으로 8의 8X8 매트릭스 형태로 구성될 수 있다. 이에 따라, 상기 각 X축 또는 Y축 좌표 값은 3개의 비트로 나타낼 수 있다. 상기 도 4에 도시된 데이터 맵은 실시 예로서 상기 도시된 데이터 맵의 크기 또는 형태로 본 발명이 제한되는 것은 아니다.
상기 데이터 맵의 각 좌표에는 적어도 하나의 데이터 값(예컨대, 상태 데이터) 또는 명령 값이 포함될 수 있다. 또한, 상기 데이터 맵의 특정 좌표들에는 어떠한 데이터 값 또는 명령 값도 매핑되지 않음을 나타내는 값(0xFF)이 설정될 수 있다.
상기 도 4의 예에서는, (0, 1), (0, 5), (0, 7), (1, 1), (1, 3), (7, 5), (7, 7) 등에 상태 데이터 값이 매핑되어 있음을 알 수 있다. 또한, 상기 도 4의 예에서는 (4, 4)에서 순방향으로 (7, 3)까지 영역에 명령 값이 매핑되어 있음을 알 수 있다. 또한, 상기 상태 데이터 값 또는 명령 값이 매핑되지 않은 좌표에는 '0xFF' 값이 매핑되어 있음을 알 수 있다.
도 5는 본 발명의 실시 예에 따른 패킷 생성 시 참조하는 데이터 맵의 예를 나타내는 도면이며, 도 6은 본 발명의 실시 예에 따른 패킷을 구성하는 각 데이터 필드의 값을 나타내는 도면이다.
도 5 및 도 6을 참조하면, 상기 도 6의 데이터 필드 값을 분석하면, 도 5에 도시된 데이터 맵에서의 경로를 확인할 수 있다.
상기 도 6의 데이터 필드는 상기 도 5의 데이터 맵 상에서 임의의 위치를 경로 정보의 시작 지점으로 지정하고 클라이언트 디바이스가 수행할 목적 지점의 데이터까지 이동하는 경로 정보를 나타낸다.
예컨대, 도 6을 참조하면, 데이터 맵상에서 (6, 1) 지점에서 시작하여 왼쪽으로 2칸 아래쪽으로 3칸 이동한 지점으로서 (4, 4) 지점이 데이터의 시작 지점임을 나타내고 있다. 또한, 클라이언트 디바이스가 실제로 명령을 수행할 데이터는 상기 (4, 4) 지점으로부터 정방향으로 데이터 독출을 시작하여 최초로 0xFF가 나오는 좌표까지 데이터를 독출하는 것을 의미한다. 즉, 상기 도 5에서는 (4, 4)로부터 데이터를 읽어 들여, 최초로 0xFF가 나오는 (7, 4) 전까지 독출한 데이터를 검색하여 명령을 실행하게 된다.
상기 도 6을 비트 값으로 나타내면 도 7에 도시된 바와 같이 '1100010101001100'과 같이 표현될 수 있다.
도 8은 본 발명의 실시 예에 따라 전송된 패킷 데이터에 대응하는 값을 데이터 맵에서 검색하는 예를 나타내는 도면이다. 도 8을 참조하면, 호스트 디바이스와 클라이언트 디바이스 간에 전술한 도 4의 데이터 맵이 공유된 상태에서 도 7의 패킷이 전송될 경우, 클라이언트 디바이스에서는 상기 공유된 데이터 맵을 참조하여 도 8과 같은 방법에 의해 데이터를 검색할 수 있다.
예컨대, 클라이언트 디바이스에서 도 7의 패킷을 수신하고 분석하면, 도 8에 도시된 바와 같이, (4, 4)로부터 데이터를 읽어 들여, 최초로 0xFF가 나오는 (7, 4) 전까지 독출한 데이터를 검색하여 명령을 실행하게 된다. 그 결과로 검색된 최종 데이터는 "1000150012434B4339373420"가 될 수 있다.
상기 클라이언트 디바이스에서는 상기 검색된 최종 데이터에 대응하는 명령을 실행하거나, 상태 정보를 변경시킬 수 있다.
이하, 도 9 내지 도 11을 참조하여, 본 발명의 실시 예에 따라 호스트 디바이스 및 클라이언트 디바이스에서 수행되는 절차를 설명하기로 한다.
도 9는 본 발명의 실시 예에 따라 호스트 디바이스에서 데이터 맵을 전송하는 절차를 나타내는 흐름도이다. 도 9를 참조하면, 호스트 디바이스에서는 데이터 맵을 검사(910)하고, 적어도 하나의 클라이언트 디바이스로부터 새로운 데이터 맵 요청을 수신(920)할 경우, 사용 가능한 데이터 맵이 존재하는지 판단(930)할 수 있다.
상기 판단 결과 사용 가능한 데이터 맵이 존재하지 않으면 전술한 바와 같은 방법으로 새로운 데이터 맵을 생성(940)할 수 있다. 상기 요청에 따라 상기 생성된 데이터 맵을 해당 클라이언트 디바이스에 전송(950)하고, 상기 데이터 맵의 상태를 사용 가능한 상태로 변경(960)할 수 있다.
도 10은 본 발명의 실시 예에 따라 호스트 디바이스에서 패킷을 생성하여 전송하는 절차를 나타내는 흐름도이다. 도 10을 참조하면, 호스트 디바이스는 상기 도 9에서와 같이 데이터 맵을 생성하여 클라이언트 디바이스와 공유할 수 있으며, 패킷 전송 요청을 수신(1010)함에 따라 상기 공유된 데이터 맵에 기반하여 패킷을 생성할 수 있다.
호스트 디바이스에서 패킷 전송 요청을 수신(1010)하면, 현재 사용 가능한 데이터 맵이 존재하는지 판단(1020)한다. 상기 판단 결과, 사용 가능한 데이터 맵이 존재하면 현재 데이터 맵을 이용하여 패킷을 생성(1030)한다. 상기 데이터 맵 사용에 따라 데이터 맵 사용 횟수를 증가(1040)시키고, 상기 생성된 패킷을 해당 클라이언트 디바이스로 전송(1050)한다.
상기 판단 결과, 사용 가능한 데이터 맵이 존재하지 않으면, 새로운 데이터 맵 생성을 요청(1060)하고, 상기 새롭게 생성된 데이터 맵에 의해 패킷을 생성한다.
도 11은 본 발명의 실시 예에 따라 클라이언트 디바이스에서 패킷을 수신하여 처리하는 절차를 나타내는 흐름도이다. 도 11을 참조하면, 상기 도 10에 따라 호스트 디바이스에서 생성된 패킷이 클라이언트 디바이스로 전송될 수 있다.
상기 클라이언트 디바이스에서는 상기 호스트 디바이스로부터 전송된 패킷을 수신하고, 사용 가능한 데이터 맵이 존재하는지 판단(1120)한다. 상기 판단 결과, 사용 가능한 데이터 맵이 존재하지않으면, 호스트 디바이스로 새로운 데이터 맵 생성을 요청(1180)하고, 수신된 패킷에 대한 오류 발생 처리(1190)를 수행한다.
상기 판단 결과, 사용 가능한 데이터 맵이 존재하면, 수신된 패킷을 분석 및 검증(1130)한다.
상기 수신된 패킷에 대한 분석 및 검증을 수행한 후, 상기 분석 결과를 현재 사용 가능한 데이터 맵에 적용하여 해당 명령어를 추출(1140)한다. 상기 데이터 맵 사용에 따라, 데이터 맵 사용 횟수를 증가(1150)시킨다.
상기 데이터 맵에 의해 추출된 명령어가 사용 가능한 명령어인지 판단(1160)하고, 상기 판단 결과 사용 가능한 명령어이면 해당 명령을 수행(1170)한다. 상기 판단 결과 사용 가능한 명령어가 아니면 오류 발생 처리(1190)를 한다.
한편, 본 발명의 일 실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상으로, 본 발명의 실시 예에 따른 시스템, 장치 및 방법을 상세히 설명하였다. 전술한 본 발명의 실시 예에서는 호스트 디바이스 또는 클라이언트 디바이스를 예를 들어 설명하였으나 어떠한 전자 장치에도 동일하게 적용할 수 있다. 이하, 본 발명의 실시 예에 따른 디바이스들을 포함하여 변형 가능한 다양한 전자 장치의 구현 예를 설명한다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
도 12는 본 발명의 실시 예에 따른 전자 장치의 세부 구성을 나타내는 도면이다. 도 12를 참조하면, 전자 장치(1200)(예컨대, 호스트 디바이스 또는 클라이언트 디바이스)는, 프로세서(1210), 메모리(1220), 버스(1230), 입출력 인터페이스(1240), 디스플레이(1250), 통신 인터페이스(1260) 중 적어도 하나를 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(1200)는, 상기 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
상기 버스(1230)는, 예를 들면, 상기 구성요소들(1210 내지 1270)을 서로 연결하고, 상기 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
상기 프로세서(1210)는, 중앙처리장치(central processing unit(CPU)), 애플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서(1210)는, 예를 들면, 상기 전자 장치(1200)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(1220)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 상기 메모리(1220)는, 예를 들면, 상기 전자 장치(1200)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 상기 메모리(1220)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 상기 프로그램은, 예를 들면, 커널(1224), 미들웨어(1223), 애플리케이션 프로그래밍 인터페이스(application programming interface(API))(1222), 및/또는 애플리케이션 프로그램(또는 "애플리케이션")(1221) 등을 포함할 수 있다. 상기 커널(1224), 미들웨어(1223), 또는 API(1222)의 적어도 일부는, 운영 체제(operating system(OS))라 불릴 수 있다.
상기 커널(1224)은, 예를 들면, 다른 프로그램들(예: 미들웨어(1223), API(1222), 또는 애플리케이션 프로그램(1221))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(1230), 프로세서(1210), 또는 메모리(1220) 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널(1224)은 상기 미들웨어(1223), 상기 API(1222), 또는 상기 애플리케이션 프로그램(1221)에서 상기 전자 장치(1200)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(1223)는, 예를 들면, 상기 API(1222) 또는 상기 애플리케이션 프로그램(1221)이 상기 커널(1224)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(1223)는 상기 애플리케이션 프로그램(1221)으로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 애플리케이션 프로그램(1221) 중 적어도 하나의 애플리케이션에 상기 전자 장치(1200)의 시스템 리소스(예: 버스(1230), 프로세서(1210), 또는 메모리(1220) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)를 수행할 수 있다.
상기 API(1222)는, 예를 들면, 상기 애플리케이션(1221)이 상기 커널(1224) 또는 상기 미들웨어(1223)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
상기 입출력 인터페이스(1240)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 전자 장치(1200)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스(1240)는 상기 전자 장치(1200)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
상기 디스플레이(1250)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 상기 디스플레이(1250)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)를 표시할 수 있다. 상기 디스플레이(1250)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
상기 통신 인터페이스(1260)는, 예를 들면, 상기 전자 장치(1200)와 외부 장치 간의 통신을 설정할 수 있다. 예를 들면, 상기 통신 인터페이스(1260)는 무선 통신 또는 유선 통신을 통해서 통신 네트워크에 연결되어 상기 외부 장치와 통신할 수 있다.
상기 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나를 사용할 수 있다. 상기 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 상기 통신 네트워크(telecommunications network)는, 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치(1200)는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시 예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시 예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시 예는 여기에 설명된 하나 이상의 실시 예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시 예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110 : 호스트 디바이스 120 : 통신 네트워크
130 : 클라이언트 디바이스 210 : 패킷 생성 모듈
211 : 패킷 생성부 212 : 패킷 송신부
220 : 데이터 맵 처리 모듈 221 : 데이터 맵 송신부
222 : 데이터 맵 생성부 230 : 데이터 맵 저장부
240 : 패킷 수신 모듈 241 : 패킷 검증부
242 : 패킷 분석부 250 : 명령어 실행 모듈
251 : 명령 데이터 실행부 252 : 데이터 검색부
260 : 데이터 맵 1200 : 전자 장치
1210 : 프로세서 1220 : 메모리
1221 : 애플리케이션 1222 : API
1223 : 미들웨어 1224 : 커널
1230 : 버스 1240 : 입출력 인터페이스
1250 : 디스플레이 1260 : 통신 인터페이스

Claims (15)

  1. 디바이스들 간의 데이터 맵을 이용한 데이터 전송 방법에 있어서,
    호스트 디바이스에서 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 생성하는 단계;
    상기 호스트 디바이스에서 생성된 데이터 맵을 적어도 하나의 클라이언트 디바이스로 전송하는 단계;
    상기 호스트 디바이스에서 생성된 데이터 맵 상에서 상기 클라이언트 디바이스로 전송할 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 생성하는 단계; 및
    상기 호스트 디바이스에서 생성된 패킷을 상기 클라이언트 디바이스로 전송하는 단계;를 포함하여,
    상기 호스트 디바이스에서 상기 데이터 맵을 주기적으로 생성하여 갱신하며, 상기 호스트 디바이스에서 새로 생성된 데이터 맵은 상기 클라이언트 디바이스로 전송하고, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며,
    상기 호스트 디바이스에서 상기 데이터 맵의 사용 기간을 설정하거나 사용 횟수를 설정하고, 상기 데이터 맵의 사용에 따라 상기 설정된 사용 기간 또는 사용 횟수에 도달하면, 기 배포된 데이터 맵을 유효하지 않는 데이터 맵으로 판단하고 폐기하는 것을 특징으로 하는, 데이터 맵을 이용한 데이터 전송 방법.
  2. 제1항에 있어서, 상기 경로 정보는,
    상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 전송 방법.
  3. 제1항에 있어서, 상기 패킷은,
    데이터를 읽는 방향에 대한 정보를 더 포함하는, 데이터 맵을 이용한 데이터 전송 방법.
  4. 제1항에 있어서, 상기 패킷은,
    패킷의 시작을 나타내는 정보, 상기 클라이언트 디바이스의 식별 정보, 상기 경로 정보에 대한 시작 지점과 도착 지점의 최단 거리값, 데이터 검증 필드, 및 패킷의 마지막을 나타내는 정보 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 전송 방법.
  5. 디바이스들 간 데이터 맵을 이용한 데이터 수신 방법에 있어서,
    클라이언트 디바이스에서 각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 호스트 디바이스로부터 수신하는 단계;
    클라이언트 디바이스에서 상기 데이터 맵 상에서 상기 매핑된 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 상기 호스트 디바이스로부터 수신하는 단계;
    클라이언트 디바이스에서 상기 수신된 패킷에 포함된 경로 정보를 기반으로, 상기 수신된 데이터 맵에 매핑된 적어도 하나의 데이터를 검색하는 단계; 및
    상기 검색된 데이터를 기반으로 명령을 실행하는 단계;를 포함하며,
    상기 호스트 디바이스에서 상기 데이터 맵을 주기적으로 생성하여 갱신하며, 상기 호스트 디바이스에서 새로 생성된 데이터 맵은 상기 클라이언트 디바이스로 전송하고, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며,
    상기 클라이언트 디바이스는 상기 호스트 디바이스로부터 전송된 데이터 맵을 저장하고 상기 저장된 데이터 맵의 사용 기간 또는 사용 횟수를 카운트하여, 미리 설정된 사용 기간이 만료하거나 사용 횟수에 도달하면 해당 데이터 맵을 폐기하는 것을 특징으로 하는, 데이터 맵을 이용한 데이터 수신 방법.
  6. 제5항에 있어서, 상기 경로 정보는,
    상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 수신 방법.
  7. 제5항에 있어서, 상기 패킷은,
    데이터를 읽는 방향에 대한 정보를 더 포함하는, 데이터 맵을 이용한 데이터 수신 방법.
  8. 제5항에 있어서, 상기 패킷은,
    패킷의 시작을 나타내는 정보, 상기 클라이언트 디바이스의 식별 정보, 상기 경로 정보에 대한 시작 지점과 도착 지점의 최단 거리값, 데이터 검증 필드, 및 패킷의 마지막을 나타내는 정보 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 수신 방법.
  9. 디바이스들 간 데이터 맵을 이용한 데이터 전송 장치에 있어서,
    각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 생성하는 데이터 맵 생성부;
    상기 생성된 데이터 맵을 적어도 하나의 클라이언트 디바이스로 전송하는 데이터 맵 송신부;
    상기 생성된 데이터 맵 상에서 상기 클라이언트 디바이스로 전송할 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 생성하는 패킷 생성부; 및
    상기 생성된 패킷을 상기 클라이언트 디바이스로 전송하는 패킷 송신부;를 포함하여,
    상기 데이터 맵을 주기적으로 생성하여 갱신하며, 새로 생성된 데이터 맵을 상기 클라이언트 디바이스로 전송하고, 상기 새로 생성된 데이터 맵을 수신한 클라이언트 디바이스는 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며,
    상기 데이터 맵의 사용 기간을 설정하거나 사용 횟수를 설정하고, 상기 데이터 맵의 사용에 따라 상기 설정된 사용 기간 또는 사용 횟수에 도달하면, 기 배포된 데이터 맵을 유효하지 않는 데이터 맵으로 판단하고, 폐기하는 것을 특징으로 하는, 데이터 맵을 이용한 데이터 전송 장치.
  10. 제9항에 있어서, 상기 경로 정보는,
    상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 전송 장치.
  11. 제9항에 있어서, 상기 패킷은,
    데이터를 읽는 방향에 대한 정보를 더 포함하는, 데이터 맵을 이용한 데이터 전송 장치.
  12. 제9항에 있어서, 상기 패킷은,
    패킷의 시작을 나타내는 정보, 상기 클라이언트 디바이스의 식별 정보, 상기 경로 정보에 대한 시작 지점과 도착 지점의 최단 거리값, 데이터 검증 필드, 및 패킷의 마지막을 나타내는 정보 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 전송 장치.
  13. 디바이스들 간 데이터 맵을 이용한 데이터 수신 장치에 있어서,
    각각의 2차원 좌표값에 데이터가 매핑되는 데이터 맵을 호스트 디바이스로부터 수신하여 저장하는 데이터 맵 저장부;
    상기 데이터 맵 상에서 상기 매핑된 적어도 하나의 데이터를 찾기 위한 경로 정보를 포함하는 패킷을 상기 호스트 디바이스로부터 수신하는 패킷 수신 모듈;
    상기 수신된 패킷에 포함된 경로 정보를 기반으로, 상기 수신된 데이터 맵에 매핑된 적어도 하나의 데이터를 검색하는 데이터 검색부; 및
    상기 검색된 데이터를 기반으로 명령을 실행하는 명령 데이터 실행부;를 포함하여,
    상기 호스트 디바이스는 데이터 맵을 주기적으로 생성하여 갱신하며, 새로 생성된 데이터 맵을 전송하고,
    상기 호스트 디바이스로부터 상기 새로 생성된 데이터 맵을 수신하면 기존 수신된 데이터 맵을 폐기하고 새로 수신된 데이터 맵을 사용하며,
    상기 호스트 디바이스로부터 전송된 데이터 맵을 저장하고 상기 저장된 데이터 맵의 사용 기간 또는 사용 횟수를 카운트하여, 미리 설정된 사용 기간이 만료하거나 사용 횟수에 도달하면 해당 데이터 맵을 폐기하는 것을 특징으로 하는, 데이터 맵을 이용한 데이터 수신 장치.
  14. 제13항에 있어서, 상기 경로 정보는,
    상기 데이터 맵에서 시작점의 좌표값, x축 이동 방향, y축 이동 방향, x축 이동 거리, 및 y축 이동 거리 중 적어도 하나를 포함하는, 데이터 맵을 이용한 데이터 수신 장치.
  15. 제13항에 있어서, 상기 패킷은,
    데이터를 읽는 방향에 대한 정보를 더 포함하는, 데이터 맵을 이용한 데이터 수신 장치.
KR1020170065865A 2017-05-29 2017-05-29 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치 KR102003878B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170065865A KR102003878B1 (ko) 2017-05-29 2017-05-29 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170065865A KR102003878B1 (ko) 2017-05-29 2017-05-29 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180130155A KR20180130155A (ko) 2018-12-07
KR102003878B1 true KR102003878B1 (ko) 2019-10-01

Family

ID=64669573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170065865A KR102003878B1 (ko) 2017-05-29 2017-05-29 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102003878B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101667240B1 (ko) * 2012-10-09 2016-10-18 알까뗄 루슨트 안전하고 손실 없는 데이터 압축

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101161585B1 (ko) 2009-12-17 2012-07-04 한국과학기술원 네트워크 코딩을 이용한 망에서의 데이터 전송 시스템 및 방법
KR102065075B1 (ko) * 2013-06-24 2020-01-10 한국전자통신연구원 소프트웨어 정의 네트워킹 기반 네트워크 제어 방법 및 이를 수행하는 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101667240B1 (ko) * 2012-10-09 2016-10-18 알까뗄 루슨트 안전하고 손실 없는 데이터 압축

Also Published As

Publication number Publication date
KR20180130155A (ko) 2018-12-07

Similar Documents

Publication Publication Date Title
US10922244B1 (en) Secure storage of data through a multifaceted security scheme
US10705894B2 (en) Electronic device for authenticating application and operating method thereof
CN107689869B (zh) 用户口令管理的方法和服务器
CN107979461B (zh) 秘钥找回方法、装置、终端、秘钥托管服务器及可读介质
EP3391616B1 (en) Device management with tunneling
WO2018149292A1 (zh) 一种对象聚类方法和装置
US20140093079A1 (en) Securely joining a secure wireless communications network
US10803189B2 (en) Location-based access control of secured resources
EP3491808B1 (en) Interchangeable retrieval of content
CN107548493B (zh) 保护有向无环图
Lin et al. Mobile application security
CN114788220A (zh) 针对动态用户群组的秘密数据的增强安全性
KR20170136406A (ko) 어플리케이션을 인증하는 전자 장치 및 그것의 동작 방법
US11159568B2 (en) Account management using account activity usage restrictions
CN105827583A (zh) 一种接入移动数据网络的方法和装置
CN105306485A (zh) 上网认证方法、认证服务器及其所在认证系统
CN105101203A (zh) 无线局域网络信息的处理方法及装置
US9503420B2 (en) Logical network separation method and apparatus
KR102003878B1 (ko) 디바이스 간의 데이터 맵을 이용한 데이터 전송 방법 및 장치
JP2016503527A (ja) 位置に基づくソーシャルネットワーキングシステムおよび方法
US9461882B1 (en) Gesture-based network configuration
KR102071281B1 (ko) 통합 인증 방법
CN105245507A (zh) 通信链路的建立方法与装置
KR101445121B1 (ko) M2m 서비스 시스템 및 이에 적용되는 통신 방법
KR20240040338A (ko) 가변형 멀티 프로토콜을 내장한 저전력/초소형 센서 디바이스 및 이를 이용한 사물의 위치 추적 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right