KR102249631B1 - 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법 - Google Patents

동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102249631B1
KR102249631B1 KR1020200030005A KR20200030005A KR102249631B1 KR 102249631 B1 KR102249631 B1 KR 102249631B1 KR 1020200030005 A KR1020200030005 A KR 1020200030005A KR 20200030005 A KR20200030005 A KR 20200030005A KR 102249631 B1 KR102249631 B1 KR 102249631B1
Authority
KR
South Korea
Prior art keywords
vehicle
service
service data
identification information
candidate
Prior art date
Application number
KR1020200030005A
Other languages
English (en)
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 KR1020200030005A priority Critical patent/KR102249631B1/ko
Application granted granted Critical
Publication of KR102249631B1 publication Critical patent/KR102249631B1/ko

Links

Images

Classifications

    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/16
    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Abstract

다양한 실시예들은 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법에 관한 것으로, 차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고, 적어도 하나의 주변 차량으로 후보 서비스의 식별 정보를 전송하고, 주변 차량의 요청에 기반하여, 주변 차량으로 서비스 데이터를 전송하도록 구성될 수 있다.

Description

동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법{ELECTRONIC DEVICE OF VEHICLE FOR DISTRIBUTED SERVICE REGISTRY OF HIGHLY DYNAMIC V2X ENVIRONMENTS AND OPERATING METHOD THEREOF}
다양한 실시예들은 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법에 관한 것이다.
일반적으로 차량-사물 통신 환경에서, 차량들은 도로를 주행하면서, 다양한 서비스들을 이용한다. 여기서, 서비스들은 차량들의 위치들에 따른 지역성(locality)을 나타낸다. 이를 위해, 각 차량은 서버에 서비스 검색을 요청한다. 그리고, 서버는 각 차량에서 이용 가능한 서비스들을 검색하고, 검색 결과를 차량에 제공한다. 그런데, 서버가 많은 수의 차량들에 대해 서비스들을 검색해야 하기 때문에, 각 차량이 서버로부터 검색 결과를 수신하는 데 있어서 시간 지연이 발생된다. 이로 인해, 서비스 검색이 요청된 위치와 검색 결과가 수신된 위치 사이의 거리가 멀어지고, 이에 따라 각 차량이 서비스들을 실질적으로 이용하고자 하는 지역을 벗어날 수 있다. 바꿔 말하면, 각 차량이 검색 결과를 기반으로, 서비스들을 이용하는 데 실패할 수 있다.
다양한 실시예들은, 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 구현하기 위한 차량의 전자 장치 및 그의 동작 방법을 제공한다.
다양한 실시예들은, 차량에서 이용 가능한 서비스들을 검색하는 데 소요되는 시간을 절감하기 위한 차량의 전자 장치 및 그의 동작 방법을 제공한다.
다양한 실시예들에 따른 전자 장치의 동작 방법은, 차량-사물 통신 환경의 차량에서 수행되며, 상기 차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하는 동작, 적어도 하나의 주변 차량으로 상기 후보 서비스의 식별 정보를 전송하는 동작, 및 상기 주변 차량의 요청에 기반하여, 상기 주변 차량으로 상기 저장된 서비스 데이터를 전송하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 전자 장치는, 차량-사물 통신 환경의 차량에 탑재되고, 메모리, 및 상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 상기 차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고, 적어도 하나의 주변 차량으로 상기 후보 서비스의 식별 정보를 전송하고, 상기 주변 차량의 요청에 기반하여, 상기 주변 차량으로 상기 저장된 서비스 데이터를 전송하도록 구성될 수 있다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 컴퓨터 장치에 결합되어, 상기 컴퓨터 장치에 의해 판독 가능한 기록 매체에 저장되며, 차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하는 동작, 적어도 하나의 주변 차량으로 상기 후보 서비스의 식별 정보를 전송하는 동작, 및 상기 주변 차량의 요청에 기반하여, 상기 주변 차량으로 상기 저장된 서비스 데이터를 전송하는 동작을 실행할 수 있다.
다양한 실시예들에 따르면, 전자 장치는 차량에 탑재되어, 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 구현할 수 있다. 즉 차량은 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고, 주변 차량에 후보 서비스의 서비스 데이터를 제공할 수 있다. 이를 통해, 차량은 주변 차량으로부터 수신되는 서비스 데이터를 기반으로, 후보 서비스를 실행할 수 있다. 즉 차량은 서버로부터 서비스 데이터를 직접적으로 수신하지 않고도, 후보 서비스를 실행할 수 있다. 이에 따라, 차량에서 이용 가능한 후보 서비스들을 검색하는 데 소요되는 시간이 절감될 수 있다. 이 때 차량은 후보 서비스의 서비스 데이터를 직접적으로 전송하는 것이 아니라, 블룸 필터 기반의 식별 정보를 기반으로, 후보 서비스의 존재를 알린 후에, 주변 차량의 요청에 기반하여, 후보 서비스의 서비스 데이터를 전송할 수 있다. 이를 통해, 차량과 주변 차량 간 트래픽이 감소될 수 있다. 따라서, 동적인 차량-사물 통신 환경을 구현하는 시스템의 동작 효율성이 향상될 수 있다.
도 1은 다양한 실시예들에 따른 동적인 차량-사물 통신 환경을 도시하는 도면이다.
도 2는 다양한 실시예들에 따른 동적인 차량-사물 통신 환경에서의 신호 흐름을 도시하는 도면이다.
도 3은 다양한 실시예들에 따른 동적인 차량-사물 통신 환경에서의 신호 흐름을 도시하는 도면이다.
도 4는 다양한 실시예들에 따른 전자 장치를 도시하는 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 도면이다.
도 6은 도 5의 서비스 데이터 저장 동작을 도시하는 도면이다.
도 7은 도 5의 서비스 데이터 저장 동작을 도시하는 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 다양한 실시예들에 따른 동적인 차량-사물 통신 환경을 구현하는 시스템(100)을 도시하는 도면이다.
도 1을 참조하면, 다양한 실시예들에 따른 시스템(100)은 동적인 차량-사물(V2X; vehicle to everything) 통신 환경을 구현할 수 있다. 이 때 차량-사물 통신은 차량을 중심으로 수행되는 통신 기술을 나타내며, 차량-차량(V2V; vehicle to vehicle) 통신, 차량-이동 단말(예: 보행자의 이동 단말)(V2P; vehicle to pedestrian) 통신, 차량-인프라(V2I; vehicle to infrastructure) 통신 등을 포함할 수 있다. 이러한 동적인 차량-사물 통신 환경에서, 각 차량(130)은 다양한 서비스를 이용할 수 있다. 예를 들면, 차량(130)은 다른 차량(130)과의 충돌 감지, 도로의 노면 상태 감지, 도로에서의 응급 상황 알림, 실시간 주변 시설 모니터링, 교통 통제 상황 모니터링, 교차로 도로 알림, 도로에서의 잠재적 위험 분석 등을 이용할 수 있다. 여기서, 차량(130)에서 이용 가능한 서비스(이하에서, 후보 서비스라는 용어와 혼용됨)는 지역성(locality)을 가질 수 있다. 즉 차량(130)에서 이용 가능한 서비스는, 차량(130)의 위치를 기반으로 결정될 수 있다. 다양한 실시예들에 따르면, 시스템(100)은 복수 개의 노변 장치(roadside unit)(110)들, 적어도 하나의 서버(120) 또는 복수 개의 차량(130)들을 중 적어도 어느 하나를 포함할 수 있다.
노변 장치(110)들은 도로의 노변 상에서 고정된 위치들에 각각 설치되며, 상호로부터 이격되어 있을 수 있다. 이 때 노변 장치(110)들에 대해, 커버리지 영역(coverage region)(111)들이 각각 정의될 수 있다. 여기서, 각 커버리지 영역(111)은 각 노변 장치(110)의 위치로부터 미리 설정된 반경 이내로 정의될 수 있다. 일 예로, 커버리지 영역(111)들은 상호에 부분적으로 중첩될 수 있다. 다른 예로, 도시되지는 않았으나, 커버리지 영역(111)들은 상호로부터 완전히 분리되어 있을 수 있다. 각 노변 장치(110)는 그의 커버리지 영역(111) 내의 적어도 하나의 차량(130)과 통신할 수 있다. 여기서, 각 노변 장치(110)는 그의 커버리지 영역(111) 내의 적어도 하나의 차량(130)과 서버(120) 간 통신을 중계할 수 있다.
서버(120)는 동적인 차량-사물 통신 환경의 서비스 레지스트리(service registry)로서 동작하여, 다양한 후보 서비스들을 관리할 수 있다. 즉 서버(120)는 각 커버리지 영역(111)에 대해, 적어도 하나의 차량(130)이 이용 가능한 적어도 하나의 후보 서비스를 관리할 수 있다. 이 때 서버(120)는 후보 서비스의 서비스 데이터를 저장하고, 이를 적어도 하나의 차량(130)에 제공할 수 있다. 이를 위해, 서버(120)는 노변 장치(110)들과 각각 연결되어 있을 수 있다. 그리고, 서버(120)는 노변 장치(110)들을 통해, 각 노변 장치(110)의 커버리지 영역(111) 내의 적어도 하나의 차량(130)을 검출하고, 검출된 차량(130)에 후보 서비스의 서비스 데이터를 제공할 수 있다. 일 예로, 서버(120)는 직접적으로 검출된 차량(130)에 후보 서비스의 서비스 데이터를 제공할 수 있다. 다른 예로, 서버(120)는 각 노변 장치(110)를 통해 검출된 차량(130)에 후보 서비스의 서비스 데이터를 제공할 수 있다.
차량(130)들은 도로 상에서 다양한 후보 서비스들을 이용할 수 있다. 이 때 각 차량(130)은 노변 장치(110)들 중 적어도 어느 하나와 접속하고, 접속된 노변 장치(110)의 커버리지 영역(111)에 속할 수 있다. 이를 통해, 각 차량(130)이 도로 상에서 주행 시, 각 차량(130)과 접속되는 노변 장치(110)는 변할 수 있으며, 각 차량(130)이 속하는 커버리지 영역(111)도 변할 수 있다. 각 차량(130)은 각 커버리지 영역(111)에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 서버(120)로부터 수신하고, 서비스 데이터를 기반으로, 후보 서비스를 실행할 수 있다.
다양한 실시예들에 따르면, 차량(130)들은 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리(distributed service registry)들로 동작할 수 있다. 이를 위해, 각 차량(130)은 적어도 하나의 후보 서비스의 서비스 데이터를 저장할 수 있다. 이 때 각 차량(130)은 서버(120)로부터 수신되는 서비스 데이터를 저장할 수 있다. 그리고, 각 차량(130)은 주변 차량(130)과 서비스 데이터를 공유할 수 있다. 이를 통해, 각 차량(130)은 서버(120) 또는 주변 차량(130) 중 적어도 어느 하나로부터 수신되는 서비스 데이터를 저장할 수 있다.
도 2는 다양한 실시예들에 따른 동적인 차량-사물 통신 환경에서의 신호 흐름을 도시하는 도면이다.
도 2를 참조하면, 차량(130)은 211 동작에서 후보 서비스의 검색을 위한 사용자 요청을 감지할 수 있다. 이에 대응하여, 차량(130)은 213 동작에서 노변 장치(110)에 서비스 검색을 요청할 수 있다. 일 예로, 차량(130)은 서비스 검색을 요청하기 위한 신호를 방사(broadcasting)할 수 있다. 다른 예로, 차량(130)은 노변 장치(110)의 커버리지 영역(111)으로 진입 시, 노변 장치(110)를 검출하고, 노변 장치(110)에 서비스 검색을 요청하기 위한 신호를 전송할 수 있다. 이를 통해, 노변 장치(110)가 커버리지 영역(111) 내의 차량(130)으로부터 서비스 검색을 요청하기 위한 신호를 수신할 수 있다. 노변 장치(110)는 215 동작에서 차량(130)을 위해, 서버(120)에 서비스 검색을 요청할 수 있다. 예를 들면, 차량(130)으로부터 서비스 검색을 요청하기 위한 신호가 수신되면, 노변 장치(110)는 서버(130)에 신호를 전달할 수 있다. 이 때 노변 장치(110)는 차량(130)의 고유 정보, 및 노변 장치(110) 또는 커버리지 영역(110) 중 적어도 어느 하나의 고유 정보를 서버(120)에 전송할 수 있다.
서버(120)는 217 동작에서 차량(130)에 적어도 하나의 후보 서비스의 서비스 데이터를 전송할 수 있다. 이를 위해, 서버(120)는 차량(130)을 위해 후보 서비스를 검색할 수 있다. 이 때 서버(120)는, 차량(130)이 속하는 커버리지 영역(111)을 식별할 수 있다. 여기서, 서버(120)는 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나의 고유 정보를 기반으로 커버 리지 영역(111)을 식별할 수 있다. 그리고, 서버(120)는 커버리지 영역(111)에 대해, 차량(130)에서 이용 가능한 후보 서비스를 결정할 수 있다. 이 후, 서버(120)는 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 여기서, 서버(120)는 차량(130)의 고유 정보를 이용하여, 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 일 예로, 서버(120)는 직접적으로 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 다른 예로, 서버(120)는 노변 장치(110)를 통해 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다.
차량(130)은 219 동작에서 후보 서비스의 서비스 데이터를 저장할 수 있다. 즉 차량(130)은 서버(120)로부터 후보 서비스의 서비스 데이터를 수신할 수 있다. 그리고, 차량(130)은 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 차량(130)은 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 일 예로, 차량(130)은 노변 장치(110)와 통신하여, 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 위치를 결정할 수 있다. 다른 예로, 차량(130)은 서버(120)로부터 수신되는 서비스 데이터를 기반으로, 위치를 결정할 수 있다.
차량(130)은 221 동작에서 후보 서비스의 식별 정보를 생성할 수 있다. 이 때 식별 정보는 블룸 필터(bloom filter) 구조를 가질 수 있다. 블룸 필터는, 원소가 집합에 속하는 지 여부를 검사하는 데 사용되는 확률적 자료 구조를 나타낸다. 블룸 필터는 검색된 후보 서비스를 저장하고 주변 차량(130)과 공유하기 위해 사용된다. 이를 위해 블룸 필터의 크기는 차량(130)이 사용하는 서비스 타입의 수와 각 서비스 타입에 대해 캐시하고자 하는 최대 후보 서비스의 개수를 고려하여 결정된다. 예를 들어, 차량(130)이 사용하는 서비스의 타입이 5개이며, 각 서비스 타입에 대해 캐시하고자 하는 서비스의 최대 수가 10개이면 블룸 필터 배열의 크기는 50이다. 캐시하고자 하는 서비스 후보의 수가 블룸 필터에 저장 용량을 넘으면 블룸 필터를 초기화하고 새롭게 생성한다. 그리고, 차량(130)은 후보 서비스의 서비스 데이터와 함께, 식별 정보를 저장할 수 있다.
차량(130)은 223 동작에서 주변 차량(130)에 후보 서비스의 식별 정보를 전송할 수 있다. 이 때 차량(130)는 미리 설정된 시간 간격을 주기로, 식별 정보를 전송할 수 있다. 일 예로, 차량(130)은 식별 정보를 방사할 수 있다. 다른 예로, 차량(130)은 커버리지 영역(111) 내에서 주변 차량(130)을 검출하고, 주변 차량(130)에 식별 정보를 전송할 수 있다. 이를 통해, 주변 차량(130)이 차량(130)으로부터 식별 정보를 수신할 수 있다.
주변 차량(130)은 225 동작에서 식별 정보를 기반으로, 차량(130)에 적어도 하나의 후보 서비스의 서비스 데이터를 요청할 수 있다. 이 때 주변 차량(130)은 식별 정보를 기반으로, 차량(130)에 서비스 데이터를 요청할 지의 여부를 판단할 수 있다. 여기서, 주변 차량(130)은 식별 정보를 기반으로, 후보 서비스의 서비스 데이터가 이미 저장되어 있는 지의 여부를 판단할 수 있다. 그리고, 후보 서비스의 서비스 데이터가 저장되어 있지 않으면, 주변 차량(130)이 차량(130)에 서비스 데이터를 요청할 수 있다.
차량(130)은 227 동작에서 주변 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 즉 주변 차량(130)으로부터 후보 서비스의 서비스 데이터가 요청되면, 차량(130)이 주변 차량(130)에 서비스 데이터를 전송할 수 있다.
주변 차량(130)은 229 동작에서 후보 서비스의 서비스 데이터를 저장할 수 있다. 즉 주변 차량(130)은 차량(130)으로부터 후보 서비스의 서비스 데이터를 수신할 수 있다. 그리고, 주변 차량(130)은 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 주변 차량(130)은 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 일 예로, 주변 차량(130)은 노변 장치(110)와 통신하여, 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 위치를 결정할 수 있다. 다른 예로, 주변 차량(130)은 차량(130)으로부터 수신되는 서비스 데이터를 기반으로, 위치를 결정할 수 있다.
도 3은 다양한 실시예들에 따른 동적인 차량-사물 통신 환경에서의 신호 흐름을 도시하는 도면이다.
도 3을 참조하면, 차량(130)은 319 동작에서 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고 있을 수 있다. 이 때 차량(130)은 각 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 차량(130)은 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 그리고, 차량(130)은 후보 서비스의 서비스 데이터와 함께, 후보 서비스의 식별 정보를 저장하고 있을 수 있다. 여기서, 식별 정보는 블룸 필터 구조를 가질 수 있다.
차량(130)은 323 동작에서 주변 차량(130)에 후보 서비스의 식별 정보를 전송할 수 있다. 이 때 차량(130)는 미리 설정된 시간 간격을 주기로, 식별 정보를 전송할 수 있다. 일 예로, 차량(130)은 식별 정보를 방사할 수 있다. 다른 예로, 차량(130)은 커버리지 영역(111) 내에서 주변 차량(130)을 검출하고, 주변 차량(130)에 식별 정보를 전송할 수 있다. 이를 통해, 주변 차량(130)이 차량(130)으로부터 식별 정보를 수신할 수 있다.
주변 차량(130)은 325 동작에서 식별 정보를 기반으로, 차량(130)에 적어도 하나의 후보 서비스의 서비스 데이터를 요청할 수 있다. 이 때 주변 차량(130)은 식별 정보를 기반으로, 차량(130)에 서비스 데이터를 요청할 지의 여부를 판단할 수 있다. 여기서, 주변 차량(130)은 식별 정보를 기반으로, 후보 서비스의 서비스 데이터가 이미 저장되어 있는 지의 여부를 판단할 수 있다. 그리고, 후보 서비스의 서비스 데이터가 저장되어 있지 않으면, 주변 차량(130)이 차량(130)에 서비스 데이터를 요청할 수 있다.
차량(130)은 327 동작에서 주변 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 즉 주변 차량(130)으로부터 후보 서비스의 서비스 데이터가 요청되면, 차량(130)이 주변 차량(130)에 서비스 데이터를 전송할 수 있다.
주변 차량(130)은 329 동작에서 후보 서비스의 서비스 데이터를 저장할 수 있다. 즉 주변 차량(130)은 차량(130)으로부터 후보 서비스의 서비스 데이터를 수신할 수 있다. 그리고, 주변 차량(130)은 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 주변 차량(130)은 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 일 예로, 주변 차량(130)은 노변 장치(110)와 통신하여, 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 위치를 결정할 수 있다. 다른 예로, 주변 차량(130)은 차량(130)으로부터 수신되는 서비스 데이터를 기반으로, 위치를 결정할 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치(400)를 도시하는 도면이다.
도 4를 참조하면, 다양한 실시예들에 따른 전자 장치(400)는 카메라 모듈(410), 센서 모듈(420), 통신 모듈(430), 입력 모듈(440), 출력 모듈(450), 구동 모듈(460), 메모리(470) 또는 프로세서(480) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 전자 장치(400)의 구성 요소들 중 적어도 어느 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서, 전자 장치(400)의 구성 요소들 중 적어도 어느 두 개가 하나의 통합된 회로로 구현될 수 있다. 이 때 전자 장치(400)는 차량(130)에 탑재되어, 구동할 수 있다. 이하에서, 전자 장치(400)는, 차량(130)이라는 용어와 혼용될 수 있다.
카메라 모듈(410)은 전자 장치(400)에서 영상을 촬영할 수 있다. 이 때 카메라 모듈(410)은 전자 장치(400)의 미리 정해진 위치에 설치되어, 영상을 촬영할 수 있다. 그리고, 카메라 모듈(410)은 영상 데이터를 생성할 수 있다. 예를 들면, 카메라 모듈(410)은 렌즈, 적어도 하나의 이미지 센서, 이미지 시그널 프로세서 또는 플래시 중 적어도 어느 하나를 포함할 수 있다.
센서 모듈(420)은 전자 장치(400)의 상태 또는 전자 장치(400)의 외부 환경을 감지할 수 있다. 그리고 센서 모듈(420)은 전자 장치(400)의 상태 또는 전자 장치(100)의 외부 환경에 대한 센싱 데이터를 생성할 수 있다.
통신 모듈(430)은 전자 장치(400)에서 외부 장치와 통신을 수행할 수 있다. 통신 모듈(430)은 전자 장치(400)와 외부 장치 간 통신 채널을 수립하고, 통신 채널을 통해, 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 위성, 기지국(예: 노변 장치(110)), 서버(예: 서버(120)) 또는 다른 전자 장치(예: 주변 차량(130)) 중 적어도 어느 하나를 포함할 수 있다. 통신 모듈(430)은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 유선 통신 모듈은 외부 장치와 유선으로 연결되어, 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 장치와 근거리 통신 방식으로 통신할 수 있다. 예를 들면, 근거리 통신 방식은, 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 중 적어도 어느 하나를 포함할 수 있다. 원거리 통신 모듈은 외부 장치와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크를 통해 외부 장치와 통신할 수 있다. 예를 들면, 네트워크는 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 중 적어도 어느 하나를 포함할 수 있다.
입력 모듈(440)은 전자 장치(400)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 예를 들면, 입력 모듈(440)은 마이크로폰(microphone), 마우스(mouse) 또는 키보드(keyboard) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 입력 모듈(440)은 터치를 감지하도록 설정된 터치 회로(touch circuitry) 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 어느 하나를 포함할 수 있다.
출력 모듈(450)은 전자 장치(400)의 외부로 정보를 출력할 수 있다. 출력 모듈(450)은, 정보를 시각적으로 출력하도록 구성되는 표시 모듈 또는 정보를 오디오 신호로 출력할 수 있는 오디오 모듈 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 표시 모듈은 디스플레이, 홀로그램 장치 또는 프로젝터 중 적어도 어느 하나를 포함할 수 있다. 일 예로, 표시 모듈은 입력 모듈(440)의 터치 회로 또는 센서 회로 중 적어도 어느 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 예를 들면, 오디오 모듈은 스피커 또는 리시버 중 적어도 어느 하나를 포함할 수 있다.
구동 모듈(460)은 차량(130)의 구동을 위해 제공될 수 있다. 일 실시예에 따르면, 구동 모듈(460)은 전자 장치(400)와 연결될 수 있다. 다른 실시예에 따르면, 구동 모듈(460)은 전자 장치(400)의 구성 요소로 구성될 수 있다. 구동 모듈(460)은 각종 부품들을 포함할 수 있다. 예를 들면, 부품들은 엔진 모듈, 가속 모듈, 브레이킹 모듈, 조향 모듈 또는 네비게이션 모듈 중 적어도 어느 하나를 포함할 수 있다.
메모리(470)는 전자 장치(400)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(470)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(470)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있으며, 운영 체제, 미들 웨어 또는 어플리케이션 중 적어도 어느 하나를 포함할 수 있다.
프로세서(480)는 메모리(470)의 프로그램을 실행하여, 전자 장치(400)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(480)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때 프로세서(480)는 메모리(470)에 저장된 명령을 실행할 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는 적어도 하나의 후보 서비스의 서비스 데이터를 저장할 수 있다. 이 때 후보 서비스 중 적어도 어느 하나의 서비스 데이터는 서버(120)로부터 수신된 것일 수 있다. 한편, 후보 서비스 중 적어도 어느 하나의 서비스 데이터는 적어도 하나의 주변 차량(130)으로부터 수신된 것일 수 있다. 이 때 프로세서(480)는 메모리(470)에, 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터가 저장될 수 있다. 그리고, 후보 서비스의 서비스 데이터와 함께, 후보 서비스의 식별 정보가 저장될 수 있다. 여기서, 식별 정보는 블룸 필터 구조를 가질 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는 적어도 하나의 주변 장치(130)에 후보 서비스의 식별 정보를 전송할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 적어도 하나의 주변 장치(130)에 후보 서비스의 식별 정보를 전송할 수 있다. 이 때 프로세서(480)는 미리 설정된 시간 간격을 주기로, 식별 정보를 전송할 수 있다. 이에 대응하여, 프로세서(480)는 적어도 하나의 주변 차량(130)으로부터 후보 서비스의 서비스 데이터에 대한 요청을 수신할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)으로부터 후보 서비스의 서비스 데이터에 대한 요청을 수신할 수 있다. 주변 차량(130)은 식별 정보를 기반으로, 전자 장치(400)에 적어도 하나의 후보 서비스의 서비스 데이터를 요청할 수 있다. 그리고, 프로세서(480)는 주변 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 이를 통해, 전자 장치(400)가 탑재된 차량(130)과 주변 차량(130) 사이에서, 후보 서비스의 서비스 데이터가 공유될 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치(400)의 동작 방법을 도시하는 도면이다. 이 때 전자 장치(400)는 차량(130)에 탑재되어, 구동할 수 있다. 여기서, 전자 장치(400)는, 차량(130)이라는 용어와 혼용될 수 있다.
도 5를 참조하면, 전자 장치(400)는 511 동작에서 적어도 하나의 후보 서비스의 서비스 데이터를 저장할 수 있다. 이 때 후보 서비스 중 적어도 어느 하나의 서비스 데이터는 서버(120)로부터 수신된 것일 수 있다. 한편, 후보 서비스 중 적어도 어느 하나의 서비스 데이터는 적어도 하나의 주변 차량(130)으로부터 수신된 것일 수 있다. 이 때 메모리(470)에는, 후보 서비스의 서비스 데이터가 위치에 대응하여, 저장될 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터가 저장될 수 있다. 그리고, 후보 서비스의 서비스 데이터와 함께, 후보 서비스의 식별 정보가 저장될 수 있다. 여기서, 식별 정보는 블룸 필터 구조를 가질 수 있다. 이에 대해, 도 6 및 도 7을 참조하여, 보다 상세하게 후술될 것이다.
도 6은 도 5의 서비스 데이터 저장 동작을 도시하는 도면이다.
도 6을 참조하면, 전자 장치(400)는 611 동작에서 사용자 요청을 감지할 수 있다. 프로세서(480)는 입력 모듈(440)을 통해, 사용자의 요청을 감지할 수 있다. 일 예로, 사용자 요청은 임의의 후보 서비스를 검색하기 위한 것일 수 있다. 다른 예로, 사용자 요청은 사용자에 의해 선택된 적어도 하나의 후보 서비스를 검색하기 위한 것일 수 있다.
전자 장치(400)는, 613 동작에서 미리 저장된 후보 서비스가 존재하는 지의 여부를 판단할 수 있다. 이를 위해, 프로세서(480)는 차량(130)의 위치, 예컨대 현재 속해 있는 커버리지 영역(111) 또는 그 커버리지 영역(111)을 위한 노변 장치(110) 중 적어도 어느 하나를 검출할 수 있다. 일 예로, 프로세서(480)는 통신 모듈(430)을 통해, 위성으로부터 전자 장치(400)의 위치를 검출하고, 이를 기반으로 커버리지 영역(111) 또는 노변 장치(110) 중 적어도 어느 하나를 검출할 수 있다. 다른 예로, 프로세서(480)는 노변 장치(110)의 커버리지 영역(111)으로 진입 시, 노변 장치(110)로부터 커버리지 영역(111) 또는 노변 장치(110) 중 적어도 어느 하나를 검출할 수 있다. 그리고, 프로세서(480)는 차량(130)의 위치에 대해, 미리 저장된 후보 서비스가 존재하는 지의 여부를 판단할 수 있다. 일 예로, 프로세서(480)는 커버리지 영역(111)에 대해, 임의의 후보 서비스가 미리 저장되어 있는 지의 여부를 판단할 수 있다. 다른 예로, 프로세서(480)는 커버리지 영역(111)에 대해, 사용자에 의해 선택된 후보 서비스가 미리 저장되어 있는 지의 여부를 판단할 수 있다.
613 동작에서 미리 저장된 후보 서비스가 존재하지 않는 것으로 판단되면, 전자 장치(400)는 615 동작에서 서버(120)에 서비스 검색을 요청할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 노변 장치(110)에 서비스 검색을 요청하기 위한 신호를 전송할 수 있다. 이를 통해, 노변 장치(110)가 전자 장치(400)를 위해, 서버(120)에 서비스 검색을 요청하기 위한 신호를 전달할 수 있다.
전자 장치(400)는 617 동작에서 서버(120)로부터 적어도 하나의 후보 서비스의 서비스 데이터를 수신할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 서버(120)로부터 후보 서비스의 서비스 데이터를 수신할 수 있다. 일 예로, 프로세서(480)는 서버(120)로부터 직접적으로 후보 서비스의 서비스 데이터를 수신할 수 있다. 다른 예로, 서버(120)가 노변 장치(110)로 후보 서비스의 서비스 데이터를 전송하고, 프로세서(480)는 노변 장치(110)로부터 후보 서비스의 서비스 데이터를 수신할 수 있다.
전자 장치(400)는 619 동작에서 후보 서비스의 서비스 데이터를 저장할 수 있다. 프로세서(480)는 메모리(470)에, 후보 서비스의 서비스 데이터를 저장할 수 있다. 프로세서(480)는 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 프로세서(480)는 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 일 예로, 프로세서(480)는 노변 장치(110)와 통신하여, 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 위치를 결정할 수 있다. 다른 예로, 프로세서(480)는 서버(120)로부터 수신되는 서비스 데이터를 기반으로, 위치를 결정할 수 있다.
전자 장치(400)는 621 동작에서 후보 서비스의 식별 정보를 생성할 수 있다. 이 때 식별 정보는 블룸 필터 구조를 가질 수 있다. 블룸 필터는, 원소가 집합에 속하는 지 여부를 검사하는 데 사용되는 확률적 자료 구조를 나타낸다. 블룸 필터는 검색된 후보 서비스를 저장하고 주변 차량(130)과 공유하기 위해 사용된다. 이를 위해 블룸 필터의 크기는 차량(130)이 사용하는 서비스 타입의 수와 각 서비스 타입에 대해 캐시하고자 하는 최대 후보 서비스의 개수를 고려하여 결정된다. 예를 들어, 차량(130)이 사용하는 서비스의 타입이 5개이며, 각 서비스 타입에 대해 캐시하고자 하는 서비스의 최대 수가 10개이면 블룸 필터 배열의 크기는 50이다. 캐시하고자 하는 서비스 후보의 수가 블룸 필터에 저장 용량을 넘으면 블룸 필터를 초기화하고 새롭게 생성한다. 그리고, 프로세서(480)는 후보 서비스의 서비스 데이터와 함께, 식별 정보를 저장할 수 있다. 이 후, 전자 장치(400)는 도 5로 리턴하여, 513 동작으로 진행할 수 있다.
한편, 613 동작에서 미리 저장된 후보 서비스가 존재하는 것으로 판단되면, 전자 장치(400)는 도 5로 리턴하여, 513 동작으로 진행할 수 있다. 도시되지는 않았으나, 프로세서(480)는 사용자의 요청에 대응하여, 미리 저장된 후보 서비스를 제공할 수 있다. 이 때 프로세서(480)는 출력 모듈(450)을 통해, 후보 서비스의 목록을 출력할 수 있다. 그리고, 프로세서(480)는 입력 모듈(440)을 통해, 후보 서비스 중 어느 하나에 대한 사용자의 선택을 감지하고, 선택된 후보 서비스를 실행할 수 있다.
도 7은 도 5의 서비스 데이터 저장 동작을 도시하는 도면이다.
도 7을 참조하면, 전자 장치(400)는 711 동작에서 적어도 하나의 주변 차량(130)으로부터 적어도 하나의 후보 서비스의 식별 정보를 수신할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)으로부터 후보 서비스의 식별 정보를 수신할 수 있다. 이 때 식별 정보는 블룸 필터 구조를 가질 수 있다. 블룸 필터는, 원소가 집합에 속하는 지 여부를 검사하는 데 사용되는 확률적 자료 구조를 나타낸다.
전자 장치(400)는, 713 동작에서 식별 정보가 미리 저장된 후보 서비스의 것인 지의 여부를 판단할 수 있다. 프로세서(480)는 식별 정보를 메모리(470)에 저장된 식별 정보와 비교할 수 있다. 일 예로, 프로세서(480)는 식별 정보를 분석하고, 분석된 결과를 기반으로, 식별 정보가 미리 저장된 후보 서비스의 것인 지의 여부를 판단할 수 있다. 다른 예로, 프로세서(480)는 식별 정보를 별도로 분석하지 않고, 식별 정보가 미리 저장된 후보 서비스의 식별 정보와 동일한 지의 여부를 판단할 수 있다.
713 동작에서 식별 정보가 미리 저장된 후보 서비스의 것이 아닌 것으로 판단되면, 전자 장치(400)는 715 동작에서 주변 차량(130)에 후보 서비스의 서비스 데이터를 요청할 수 있다. 여기서, 주변 차량(130)은 후보 서비스의 식별 정보를 전송한 차량(130)일 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)에 서비스 데이터를 요청할 수 있다.
전자 장치(400)는 717 동작에서 주변 차량(130)으로부터 후보 서비스의 서비스 데이터를 수신할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)으로부터 후보 서비스의 서비스 데이터를 수신할 수 있다.
전자 장치(400)는 719 동작에서 후보 서비스의 서비스 데이터를 저장할 수 있다. 프로세서(480)는 메모리(470)에, 후보 서비스의 서비스 데이터를 저장할 수 있다. 프로세서(480)는 위치에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 여기서, 위치는 후보 서비스의 이용 가능 지역을 나타낼 수 있다. 이 때 프로세서(480)는 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 후보 서비스의 서비스 데이터를 저장할 수 있다. 일 예로, 프로세서(480)는 노변 장치(110)와 통신하여, 노변 장치(110) 또는 커버리지 영역(111) 중 적어도 어느 하나에 대응하여, 위치를 결정할 수 있다. 다른 예로, 프로세서(480)는 서버(120)로부터 수신되는 서비스 데이터를 기반으로, 위치를 결정할 수 있다. 그리고, 프로세서(480)는 후보 서비스의 서비스 데이터와 함께, 식별 정보를 저장할 수 있다. 이 후, 전자 장치(400)는 도 5로 리턴하여, 513 동작으로 진행할 수 있다.
한편, 713 동작에서 식별 정보가 미리 저장된 후보 서비스의 것인 것으로 판단되면, 전자 장치(400)는 도 5로 리턴하여, 513 동작으로 진행할 수 있다. 즉 프로세서(480)는 주변 장치(130)로부터 수신된 식별 정보를 무시할 수 있다.
다시 도 5를 참조하면, 전자 장치(400)는 513 동작에서 적어도 하나의 주변 장치(130)에 후보 서비스의 식별 정보를 전송할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 적어도 하나의 주변 장치(130)에 후보 서비스의 식별 정보를 전송할 수 있다. 이 때 프로세서(480)는 미리 설정된 시간 간격을 주기로, 식별 정보를 전송할 수 있다. 일 예로, 프로세서(480)는 식별 정보를 방사할 수 있다. 다른 예로, 프로세서(480)는 커버리지 영역(111) 내에서 주변 차량(130)을 검출하고, 주변 차량(130)에 식별 정보를 전송할 수 있다. 이를 통해, 주변 차량(130)이 차량(130)으로부터 식별 정보를 수신할 수 있다.
전자 장치(400)는 515 동작에서 적어도 하나의 주변 차량(130)으로부터 후보 서비스의 서비스 데이터에 대한 요청을 수신할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)으로부터 후보 서비스의 서비스 데이터에 대한 요청을 수신할 수 있다. 주변 차량(130)은 식별 정보를 기반으로, 전자 장치(400)에 적어도 하나의 후보 서비스의 서비스 데이터를 요청할 수 있다. 이 때 주변 차량(130)은 식별 정보를 기반으로, 전자 장치(400)에 서비스 데이터를 요청할 지의 여부를 판단할 수 있다. 여기서, 주변 차량(130)은 식별 정보를 기반으로, 후보 서비스의 서비스 데이터가 이미 저장되어 있는 지의 여부를 판단할 수 있다. 그리고, 후보 서비스의 서비스 데이터가 저장되어 있지 않으면, 주변 차량(130)이 전자 장치(400)에 서비스 데이터를 요청할 수 있다.
전자 장치(400)는 517 동작에서 주변 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 프로세서(480)는 통신 모듈(430)을 통해, 주변 차량(130)에 후보 서비스의 서비스 데이터를 전송할 수 있다. 이를 통해, 전자 장치(400)가 탑재된 차량(130)과 주변 차량(130) 사이에서, 후보 서비스의 서비스 데이터가 공유될 수 있다.
한편, 515 동작에서 주변 차량(130)으로부터 후보 서비스의 서비스 데이터에 대한 요청이 수신되지 않으면, 전자 장치(400)는 후보 서비스의 서비스 데이터를 전송하지 않을 수 있다.
다양한 실시예들에 따른 전자 장치(400)의 동작 방법은, 차량-사물 통신 환경의 차량(130)에서 수행되며, 차량(130)에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하는 동작, 적어도 하나의 주변 차량(130)으로 후보 서비스의 식별 정보를 전송하는 동작, 및 주변 차량(130)의 요청에 기반하여, 주변 차량(130)으로 저장된 서비스 데이터를 전송하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 식별 정보는 블룸 필터(bloom filter) 구조를 가질 수 있다.
다양한 실시예들에 따르면, 서비스 데이터를 저장하는 동작은, 서버(120)로부터 서비스 데이터를 수신하는 동작, 및 수신된 서비스 데이터를 저장하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 식별 정보를 전송하는 동작은, 후보 서비스의 식별 정보를 생성하는 동작, 및 주변 차량(130)으로 생성된 식별 정보를 전송하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 서비스 데이터를 저장하는 동작은, 적어도 하나의 다른 주변 차량(130)으로부터 후보 서비스의 식별 정보를 수신하는 동작, 수신된 식별 정보를 기반으로, 다른 주변 차량(130)으로 서비스 데이터를 요청하는 동작, 다른 주변 차량(130)으로부터 서비스 데이터를 수신하는 동작, 및 수신된 서비스 데이터를 저장하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 서비스 데이터를 요청하는 동작은, 수신된 식별 정보를 분석하여, 서비스 데이터가 저장되어 있는 지의 여부를 판단하는 동작, 및 서비스 데이터가 저장되어 있지 않으면, 다른 주변 차량(130)으로 서비스 데이터를 요청하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 서비스 데이터를 수신하는 동작은, 노변 장치(110)를 통해, 서버(120)에 서비스 검색을 요청하는 동작, 및 서버(120)에서의 서비스 검색을 기반으로, 서버(120)로부터 서비스 데이터를 수신하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(400)의 동작 방법은, 후보 서비스 중 어느 하나의 선택을 기반으로, 선택된 서비스의 서비스 데이터를 이용하여, 선택된 서비스를 실행하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 후보 서비스는 차량(130)의 위치를 기반으로 결정될 수 있다.
다양한 실시예들에 따른 전자 장치(400)는, 차량(130)-사물 통신 환경에서 차량(130)에 탑재되며, 메모리(470), 및 메모리(470)와 연결되고, 메모리(470)에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서(480)를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 차량(130)에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고, 적어도 하나의 주변 차량(130)으로 후보 서비스의 식별 정보를 전송하고, 주변 차량(130)의 요청에 기반하여, 주변 차량(130)으로 저장된 서비스 데이터를 전송하도록 구성될 수 있다.
다양한 실시예들에 따르면, 식별 정보는 블룸 필터 구조를 가질 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 서버(120)로부터 서비스 데이터를 수신하고, 수신된 서비스 데이터를 저장하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 후보 서비스의 식별 정보를 생성하고, 주변 차량(130)으로 생성된 식별 정보를 전송하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 적어도 하나의 다른 주변 차량(130)으로부터 후보 서비스의 식별 정보를 수신하고, 수신된 식별 정보를 기반으로, 다른 주변 차량(130)으로 서비스 데이터를 요청하고, 다른 주변 차량(130)으로부터 서비스 데이터를 수신하고, 수신된 서비스 데이터를 저장하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 수신된 식별 정보를 분석하여, 서비스 데이터가 저장되어 있는 지의 여부를 판단하고, 서비스 데이터가 저장되어 있지 않으면, 다른 주변 차량(130)으로 서비스 데이터를 요청하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 노변 장치(110)를 통해, 서버(120)에 서비스 검색을 요청하고, 서버(120)에서의 서비스 검색을 기반으로, 서버(120)로부터 서비스 데이터를 수신하도록 구성될 수 있다.
다양한 실시예들에 따르면, 프로세서(480)는, 후보 서비스 중 어느 하나의 선택을 기반으로, 선택된 서비스의 서비스 데이터를 이용하여, 선택된 서비스를 실행하도록 구성될 수 있다.
다양한 실시예들에 따르면, 후보 서비스는 차량(130)의 위치를 기반으로 결정될 수 있다.
본 문서의 다양한 실시예들은 컴퓨터 장치(예: 차량(130), 전자 장치(400))에 의해 읽을 수 있는 기록 매체(storage medium)(예: 메모리(470))에 저장된 하나 이상의 명령들을 포함하는 컴퓨터 프로그램으로서 구현될 수 있다. 예를 들면, 컴퓨터 장치의 프로세서(예: 프로세서(480))는, 기록 매체로부터 저장된 하나 이상의 명령들 중 적어도 하나를 호출하고, 그것을 실행할 수 있다. 이것은 컴퓨터 장치가 호출된 적어도 하나의 명령에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 하나 이상의 명령들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 컴퓨터 장치로 읽을 수 있는 기록 매체는, 비일시적(non-transitory) 기록 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 기록 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 기록 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 차량(130)에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하는 동작, 적어도 하나의 주변 차량(130)으로 후보 서비스의 식별 정보를 전송하는 동작, 및 주변 차량(130)의 요청에 기반하여, 주변 차량(130)으로 저장된 서비스 데이터를 전송하는 동작을 실행할 수 있다.
다양한 실시예들에 따르면, 식별 정보는 블룸 필터 구조를 가질 수 있다.
다양한 실시예들에 따르면, 전자 장치(400)는 차량(130)에 탑재되어, 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 구현할 수 있다. 즉 차량(130)은 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고, 주변 차량(130)에 후보 서비스의 서비스 데이터를 제공할 수 있다. 이를 통해, 차량(130)은 주변 차량(130)으로부터 수신되는 서비스 데이터를 기반으로, 후보 서비스를 실행할 수 있다. 즉 차량(130)은 서버로부터 서비스 데이터를 직접적으로 수신하지 않고도, 후보 서비스를 실행할 수 있다. 이에 따라, 차량(130)에서 이용 가능한 후보 서비스들을 검색하는 데 소요되는 시간이 절감될 수 있다. 이 때 차량(130)은 후보 서비스의 서비스 데이터를 직접적으로 전송하는 것이 아니라, 블룸 필터 기반의 식별 정보를 기반으로, 후보 서비스의 존재를 알린 후에, 주변 차량(130)의 요청에 기반하여, 후보 서비스의 서비스 데이터를 전송할 수 있다. 이를 통해, 차량(130)과 주변 차량(130) 간 트래픽이 감소될 수 있다. 따라서, 동적인 차량-사물 통신 환경을 구현하는 시스템(100)의 동작 효율성이 향상될 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 차량-사물 통신 환경의 차량에 탑재되는 전자 장치의 동작 방법에 있어서,
    상기 차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하는 동작;
    적어도 하나의 주변 차량으로 상기 후보 서비스의 식별 정보를 전송하는 동작; 및
    상기 주변 차량의 요청에 기반하여, 상기 주변 차량으로 상기 저장된 서비스 데이터를 전송하는 동작을 포함하고,
    상기 식별 정보는 블룸 필터(bloom filter) 구조를 갖고,
    상기 서비스 데이터를 저장하는 동작은,
    서버로부터 상기 서비스 데이터를 수신하는 동작; 및
    상기 수신된 서비스 데이터를 저장하는 동작을 포함하고,
    상기 식별 정보를 전송하는 동작은,
    상기 후보 서비스의 식별 정보를 생성하는 동작; 및
    상기 주변 차량으로 상기 생성된 식별 정보를 전송하는 동작을 포함하는 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서, 상기 서비스 데이터를 저장하는 동작은,
    적어도 하나의 다른 주변 차량으로부터 상기 후보 서비스의 식별 정보를 수신하는 동작;
    상기 수신된 식별 정보를 기반으로, 상기 다른 주변 차량으로 상기 서비스 데이터를 요청하는 동작;
    상기 다른 주변 차량으로부터 상기 서비스 데이터를 수신하는 동작; 및
    상기 수신된 서비스 데이터를 저장하는 동작을 더 포함하는 방법.
  6. 제 5 항에 있어서, 상기 서비스 데이터를 요청하는 동작은,
    상기 수신된 식별 정보를 분석하여, 상기 서비스 데이터가 저장되어 있는 지의 여부를 판단하는 동작; 및
    상기 서비스 데이터가 저장되어 있지 않으면, 상기 다른 주변 차량으로 상기 서비스 데이터를 요청하는 동작을 포함하는 방법.
  7. 제 1 항에 있어서, 상기 서비스 데이터를 수신하는 동작은,
    노변 장치를 통해, 상기 서버에 서비스 검색을 요청하는 동작; 및
    상기 서버에서의 상기 서비스 검색을 기반으로, 상기 서버로부터 상기 서비스 데이터를 수신하는 동작을 포함하는 방법.
  8. 제 1 항에 있어서,
    상기 후보 서비스 중 어느 하나의 선택을 기반으로, 상기 선택된 서비스의 서비스 데이터를 이용하여, 상기 선택된 서비스를 실행하는 동작을 더 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 후보 서비스는 상기 차량의 위치를 기반으로 결정되는 방법.
  10. 차량-사물 통신 환경에서 차량에 탑재되는 전자 장치에 있어서,
    메모리; 및
    상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고,
    상기 프로세서는,
    상기 차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하고,
    적어도 하나의 주변 차량으로 상기 후보 서비스의 식별 정보를 전송하고,
    상기 주변 차량의 요청에 기반하여, 상기 주변 차량으로 상기 저장된 서비스 데이터를 전송하도록 구성되고,
    상기 식별 정보는 블룸 필터 구조를 갖고,
    상기 프로세서는,
    서버로부터 상기 서비스 데이터를 수신하고,
    상기 수신된 서비스 데이터를 저장하고,
    상기 후보 서비스의 식별 정보를 생성하고,
    상기 주변 차량으로 상기 생성된 식별 정보를 전송하도록 구성되는 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 제 10 항에 있어서, 상기 프로세서는,
    적어도 하나의 다른 주변 차량으로부터 상기 후보 서비스의 식별 정보를 수신하고,
    상기 수신된 식별 정보를 기반으로, 상기 다른 주변 차량으로 상기 서비스 데이터를 요청하고,
    상기 다른 주변 차량으로부터 상기 서비스 데이터를 수신하고,
    상기 수신된 서비스 데이터를 저장하도록 구성되는 장치.
  15. 제 14 항에 있어서, 상기 프로세서는,
    상기 수신된 식별 정보를 분석하여, 상기 서비스 데이터가 저장되어 있는 지의 여부를 판단하고,
    상기 서비스 데이터가 저장되어 있지 않으면, 상기 다른 주변 차량으로 상기 서비스 데이터를 요청하도록 구성되는 장치.
  16. 제 10 항에 있어서, 상기 프로세서는,
    노변 장치를 통해, 상기 서버에 서비스 검색을 요청하고,
    상기 서버에서의 상기 서비스 검색을 기반으로, 상기 서버로부터 상기 서비스 데이터를 수신하도록 구성되는 장치.
  17. 제 10 항에 있어서, 상기 프로세서는,
    상기 후보 서비스 중 어느 하나의 선택을 기반으로, 상기 선택된 서비스의 서비스 데이터를 이용하여, 상기 선택된 서비스를 실행하도록 구성되는 장치.
  18. 제 10 항에 있어서,
    상기 후보 서비스는 상기 차량의 위치를 기반으로 결정되는 장치.
  19. 컴퓨터 장치에 결합되어, 상기 컴퓨터 장치에 의해 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
    차량에서 이용 가능한 적어도 하나의 후보 서비스의 서비스 데이터를 저장하는 동작;
    적어도 하나의 주변 차량으로 상기 후보 서비스의 식별 정보를 전송하는 동작; 및
    상기 주변 차량의 요청에 기반하여, 상기 주변 차량으로 상기 저장된 서비스 데이터를 전송하는 동작을 실행하고,
    상기 식별 정보는 블룸 필터 구조를 갖고,
    상기 서비스 데이터를 저장하는 동작은,
    서버로부터 상기 서비스 데이터를 수신하는 동작; 및
    상기 수신된 서비스 데이터를 저장하는 동작을 포함하고,
    상기 식별 정보를 전송하는 동작은,
    상기 후보 서비스의 식별 정보를 생성하는 동작; 및
    상기 주변 차량으로 상기 생성된 식별 정보를 전송하는 동작을 포함하는 컴퓨터 프로그램.
  20. 삭제
KR1020200030005A 2020-03-11 2020-03-11 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법 KR102249631B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200030005A KR102249631B1 (ko) 2020-03-11 2020-03-11 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200030005A KR102249631B1 (ko) 2020-03-11 2020-03-11 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR102249631B1 true KR102249631B1 (ko) 2021-05-10

Family

ID=75917058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200030005A KR102249631B1 (ko) 2020-03-11 2020-03-11 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법

Country Status (1)

Country Link
KR (1) KR102249631B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101321080B1 (ko) * 2012-06-22 2013-10-23 순천향대학교 산학협력단 Vanet 환경에서 블룸필터를 이용한 메시지 일괄검증 방법
KR20140016467A (ko) * 2012-07-30 2014-02-10 주식회사 케이티 차량 위치 기반의 실시간 컨텐츠 정보 서비스 방법 및 시스템
KR20160112553A (ko) * 2015-03-19 2016-09-28 현대자동차주식회사 차량, 차량의 통신 방법 및 차량에 포함된 무선 통신 장치
KR20190031214A (ko) * 2019-03-07 2019-03-25 삼성전자주식회사 정보 제공 방법 및 이를 위한 정보 제공 차량
KR20190067764A (ko) * 2016-07-12 2019-06-17 유니움 엘엘씨 차량 기반 무선 네트워크에서 컨텐츠를 분배하는 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101321080B1 (ko) * 2012-06-22 2013-10-23 순천향대학교 산학협력단 Vanet 환경에서 블룸필터를 이용한 메시지 일괄검증 방법
KR20140016467A (ko) * 2012-07-30 2014-02-10 주식회사 케이티 차량 위치 기반의 실시간 컨텐츠 정보 서비스 방법 및 시스템
KR20160112553A (ko) * 2015-03-19 2016-09-28 현대자동차주식회사 차량, 차량의 통신 방법 및 차량에 포함된 무선 통신 장치
KR20190067764A (ko) * 2016-07-12 2019-06-17 유니움 엘엘씨 차량 기반 무선 네트워크에서 컨텐츠를 분배하는 시스템 및 방법
KR20190031214A (ko) * 2019-03-07 2019-03-25 삼성전자주식회사 정보 제공 방법 및 이를 위한 정보 제공 차량

Similar Documents

Publication Publication Date Title
KR102263395B1 (ko) 외부 이동 수단의 움직임과 관련된 데이터에 기반하여, 식별 정보가 변경된 외부 이동 수단을 확인하는 전자 장치 및 그 동작 방법
KR102464898B1 (ko) 차량과 관련된 영상 정보를 공유하는 방법 및 장치
US20180109915A1 (en) Systems, methods and devices for virtual fencing
KR20210063134A (ko) V2x 메시지를 처리하기 위한 전자 장치 및 그의 동작 방법
CN115696185A (zh) 定位信息获取方法、辅助驾驶方法及车端传感器检测方法
CN111882907A (zh) 交通工具的导航预警方法、装置、设备和存储介质
CN110874920A (zh) 一种路况监测方法及装置、服务器、电子设备
KR20210056632A (ko) 메시지 기반의 영상 처리 방법 및 이를 구현하는 전자 장치
JP5762160B2 (ja) 案内情報生成装置、案内情報生成方法および案内情報生成プログラム
KR102249631B1 (ko) 동적인 차량-사물 통신 환경의 분산 서비스 레지스트리를 위한 차량의 전자 장치 및 그의 동작 방법
JP6663824B2 (ja) ナビゲーションシステム及びコンピュータプログラム
KR20120099981A (ko) 전자 기기 및 전자 기기의 제어 방법
JP2019053438A (ja) 情報処理装置、情報提供システム、情報提供方法、及びプログラム
KR101939096B1 (ko) 궤적서비스제공장치 및 그 장치의 구동방법
JP2009002784A (ja) ナビゲーションシステム、及びその検索方法及び検索プログラム
US10864889B2 (en) Vehicle operating method and vehicle operating apparatus
KR102244892B1 (ko) 단말에서 주차 정보를 제공하는 방법
JPH10267683A (ja) ナビゲーション装置
KR102076489B1 (ko) 위치 정보에 기반하여 타 모바일 단말들의 동작 상태를 모니터링하는 방법 및 이를 이용한 특정 모바일 단말
KR101956008B1 (ko) 궤적서비스제공장치 및 그 장치의 데이터구축방법
JP2018041382A (ja) 通信装置、通信プログラム、通信プログラムを記録した記録媒体及び通信システム
JP4561044B2 (ja) データファイルの送信方法および送信プログラム
KR20210120641A (ko) 위험차량 실시간 추적 시스템 및 추적 방법
JP7082588B2 (ja) プログラム、ナビゲーションシステム、ナビゲーション装置
JP2019215193A (ja) 表示制御装置及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant