KR20180118853A - 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치 - Google Patents

차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR20180118853A
KR20180118853A KR1020170051801A KR20170051801A KR20180118853A KR 20180118853 A KR20180118853 A KR 20180118853A KR 1020170051801 A KR1020170051801 A KR 1020170051801A KR 20170051801 A KR20170051801 A KR 20170051801A KR 20180118853 A KR20180118853 A KR 20180118853A
Authority
KR
South Korea
Prior art keywords
data
unit
category
space
communication network
Prior art date
Application number
KR1020170051801A
Other languages
English (en)
Other versions
KR101930160B1 (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 KR1020170051801A priority Critical patent/KR101930160B1/ko
Publication of KR20180118853A publication Critical patent/KR20180118853A/ko
Application granted granted Critical
Publication of KR101930160B1 publication Critical patent/KR101930160B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

본 발명에 따른 차량 데이터 수집용 단말 장치는, 차량에서 발생된 데이터를 저장하기 위한 저장부와, 차량에서 발생되는 데이터를 취득하여 이를 지정된 원격지로 전송하기 위한 데이터 유니트로 구성하고, 그 구성된 데이터 유니트에 범주를 할당하여 상기 저장부에 저장하는 획득부와, 서로 다른 통신 방식의 제 1통신망과 제 2통신망을 선택적으로 사용하여 데이터 통신을 수행할 수 있으며, 상기 저장부에 저장된 데이터 유니트를 원격지로 전송하기 위한 전송부를 포함하여 구성된다. 그리고, 상기 전송부는, 제 1통신망만이 사용 가능한 상태이면, 상기 저장부에 있는 미전송 데이터 유니트들 중에서, 정해진 기준치 이상의 우선순위를 갖는 범주가 할당되어 있는 데이터 유니트에 대해서는 제 1통신망을 사용하여 원격지로 전송하고, 제 2통신망이 사용 가능한 상태이면, 상기 미전송 데이터 유니트들 중에서, 상기 기준치 미만의 우선순위를 갖는 범주가 할당되어 있는 데이터 유니트에 대해서도 상기 제 2통신망을 사용하여 상기 원격지로 전송한다.

Description

차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치 {Method for providing an outisde entity with vehicle data based on property of the vehicle data and availabe networks, and an apparatus for said method}
본 발명은, 차량에서 운행 중 발생하는 다양한 유형의 데이터를 취득하여 차량 외부의 통신망, 예를 들어 공중의 무선 통신망을 통해서 특정의 서버에 제공하는 방법과 장치에 관한 것이다.
최근 출시되고 있는 승용차, SUV 등의 차량에는 운전자의 편의성 및 안전성을 향상시키기 위한 각종의 전자 제어장치( ECU: Electronic Control Unit )가 탑재되고 있으며, 이들 전자 제어장치간의 상호 통신과 이들 전자 제어장치와 각종의 센서들간의 신호 전달은 차량에 탑재된 통신망, 예를 들어 CAN (Controller Area Network)을 통해서 주로 이루어진다.
차량에 채택된 이 CAN과 같은 특화된 통신망은, 차랑의 운행 상태나 진단 결과, 안전 및 편의 장치의 상태, 그리고 운행 제어를 위한 엔진 및 변속기 등의 제어신호의 통신을 위해 사용되고 있다.
그런데, 오늘날에는 위와 같은 유형의 차량의 상태나 운행과 관련된 데이터 외에 다양한 유형의 데이터가 차량 내에서 발생하고 있다. 예를 들면, 차량 내에 설치된 AV 기기가 저장장치의 멀티미디어 컨텐츠를 플레이하기도 하고, 블랙박스 기기가 운행 중에 차량 주변을 촬영하고 있기도 하며, 네비게이션 기기가 TPEG 데이터를 수신하여 이를 화면 상에 표시하고 있기도 한다.
또한, 차량의 향상된 운전편의 기능, 예를 들어 오토 크루즈 기능 등에 의해 종래의 차량에 비해 더 많은 양의 데이터가 발생되고 있다. 예를 들어, 차량이 주행하고 있는 전방이나 도로의 차선 등을 지속적으로 촬영함에 따른 데이터가 발생된다.
이와 같이, 이전에 비해 현저히 많은 양의 데이터가 차량내에서 발생하고 있고, 이러한 유형의 데이터도 또한 제어장치 들간에 통신에 의해 상호 공유되거나 또는 해당 데이터를 처리하는 단말기기에 통신망을 통해 전송될 필요가 있다. 하지만, 이러한 종류의 데이터를 수용하기에는, 현재 차량에 채택되어 사용되고 있는 CAN의 전송속도가 충분치 않다.
이러한 이유로, 일부 모델의 차량들에는, 보다 고속의 새로운 방식의 통신망, 예를 들어 이더넷(Ethernet)과 같은 LAN을 차량용 통신망으로서 추가적으로 탑재시키고 있다.
이러한 경향과 더불어, 차량의 제조사나 판매사는, 판매된 차량의 제조상의 결함의 조사, 사후 관리, 또는 차량 편의 기능에 대한 사용빈도 또는 선호도 조사, 다양한 운전 상황 등에 따른 각종 차량 기능의 대응방식 검증 및 개선 등을 위해, 차량에서 발생되는 데이터의 수집을 도모하고 있고, 진단이나 사후 조사를 위해 필요한 일부 특성의 데이터에 대해서는 이미 무선 통신망을 통해 수집하고 있기도 하다.
그런데, 차량내에서 발생되는 다양한 유형의 데이터( 이하, '차량 데이터'라고 함. )를 기 지정된 외부의 데이터 수집/분석 서버로 전송하기 위해서는, 공중의 무선 통신망, 예를 들어 3G 또는 4G 등의 셀룰러 망을 사용하여야 하는데, 이는 통신망 사용에 따른 비용을 발생시킨다. 그리고, 차량 데이터의 수집은 차량 운전자의 필요성보다는 차량 제조사나 판매사의 빅데이터 구축을 위해 필요한 것이어서 이렇게 발생되는 통신 비용의 전체를 차량 제조사나 판매사가 부담할 수 밖에 없다.
따라서, 신뢰성이 높은 빅데이터의 구축을 위해, 다양한 유형의 차량 데이터의 많은 양을 수집하고자 하면 차량 제조사 등이 부담해야 할 통신 비용은 그에 비례하여 증가하게 될 것이다. 이러한 이유로, 차량 데이터에 대한 효율적인 수집 방법의 필요성이 제기되고 있다.
본 발명은, 보다 경제적인 방식으로 차량 데이터가 획득될 수 있게 하는 차량 데이터의 외부로의 제공 방법 및 장치를 제공하는 것에 일 목적이 있다.
본 발명의 다른 목적은, 통신망 사용에 제한이 있는 상황에서 최적의 방식으로 차량 데이터를 외부로 제공하는 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 통신망 사용에 제한이 있는 상황에서도 중요하거나 또는 긴급성이 높은 차량 데이터에 대해서는 그 소실이 발생되지 않게 하는 방법 및 장치를 제공하는 것이다.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.
본 발명의 일 측면에 따른, 차량 데이터 수집용 단말 장치는, 차량에서 발생된 데이터를 저장하기 위한 저장부와, 차량에서 발생되는 데이터를 취득하여 이를 지정된 원격지로 전송하기 위한 데이터 유니트로 구성하고, 복수의 범주 중에서 하나를 그 구성된 데이터 유니트에 할당하여 상기 저장부에 저장하는 획득부와, 서로 다른 통신 방식의 제 1통신망과 제 2통신망을 선택적으로 사용하여 데이터 통신을 수행할 수 있으며, 상기 저장부에 저장되어 있는 상기 데이터 유니트를 상기 원격지로 전송하기 위한 전송부를 포함하여 구성된다. 그리고, 상기 전송부는, 상기 제 1통신망만이 사용 가능한 상태이면, 상기 저장부에 저장되어 있는 미전송 데이터 유니트들 중에서, 정해진 기준치 이상의 우선순위를 갖는 범주가 할당되어 있는 데이터 유니트에 대해서는 상기 제 1통신망을 사용하여 상기 원격지로 전송하고, 상기 제 2통신망이 사용 가능한 상태이면, 상기 미전송 데이터 유니트들 중에서, 상기 기준치 미만의 우선순위를 갖는 범주가 할당되어 있는 데이터 유니트에 대해서도 상기 제 2통신망을 사용하여 상기 원격지로 전송한다.
본 발명에 따른 일 실시예에서는, 상기 전송부는, 상기 제 2통신망을 사용하여 상기 미전송 데이터 유니트들을 전송함에 있어서, 해당되는 범주의 우선순위가 높은 순서대로 전송한다.
본 발명에 따른 다른 일 실시예에서는, 상기 전송부는, 상기 미전송 데이터 유니트를 전송함에 있어서, 할당된 범주 외에 각 미전송 데이터 유니트에 추가적으로 할당된 속성 값에 근거하여 그 전송순서를 결정한다. 본 실시예에서는, 상기 전송부는, 상기 속성 값이 동일한 미전송 데이터 유니트들에 대해서는 할당된 범주의 우선순위에 따라 그 전송순서를 결정한다. 여기서, 임의의 미전송 데이터 유니트에 할당된 상기 속성 값은, 그 임의의 미전송 데이터 유니트가 취득된 시점으로부터 경과된 시간, 또는 그 임의의 미전송 데이터 유니트에 실린 차량 데이터가 나타내는 차량의 상태 정보에 근거하여 결정된 것이거나, 그 경과된 시간과 그 임의의 미전송 데이터 유니트에 할당된 범주에 대해 설정된 한계시간과의 차이에 근거하여 결정된 것일 수 있다. 여기서, 한계시간은, 상기 복수의 범주에 대해 적어도 2개의 범주 간에는 달라지는 방식으로 상기 복수의 범주 각각에 대해 설정될 수 있다. 또한, 본 실시예에서, 상기 전송부는, 상기 제 1통신망만이 사용 가능한 상태일 때, 상기 기준치 미만의 우선순위를 갖는 범주가 할당된 미전송 데이터 유니트이더라도 그 데이터 유니트에 할당된 상기 속성 값이 정해진 기준치 이상이면, 그 데이터 유니트에 대해서는 상기 제 1통신망을 사용하여 상기 원격지로 전송한다.
본 발명에 따른 일 실시예에서는, 상기 전송부는, 상기 제 2통신망을 사용하여 상기 미전송 데이터 유니트들 중 하나의 유니트를 상기 원격지로 전송하는 도중에 상기 제 2통신망의 사용이 불가해 진 경우에, 그 하나의 유니트에 할당된 범주가 상기 기준치 이상의 우선순위를 갖는 것이면 상기 제 1통신망을 사용하여 그 하나의 유니트에 대해 미전송된 잔여 데이터를 이어서 전송한다. 그리고, 상기 하나의 유니트에 할당된 범주가 상기 기준치 미만의 우선순위를 갖더라도, 상기 잔여 데이터의 크기가 지정된 제한치 이하인 경우일 때는 상기 제 1통신망을 사용하여 상기 잔여 데이터를 이어서 전송할 수 있다. 하지만, 상기 잔여 데이터의 크기가 상기 제한치 이하인 경우라도, 상기 하나의 유니트에 할당된 범주가 상기 기준치보다 낮은 하위 기준치 미만의 우선순위를 가질 때는, 상기 제 1통신망을 사용하여 이어서 전송하는 동작을 보류한다.
본 발명에 따른 일 실시예에서는, 상기 기준치는, 상기 제 1통신망을 사용하는데 따른 비용이 높아지면 더 높은 우선순위에 해당하는 값으로 변경 설정된다. 이를 위해, 상기 기준치는, 현재 일시가 속하는 요일 또는 시간대에 따라 적응적으로 설정될 수 있다.
본 발명에 따른 다른 일 실시예에서는, 상기 기준치는, 원격지의 특정 서버에 요청하여 수신되는 정보에 의해 설정될 수 있다.
본 발명에 따른 일 실시예에서는, 상기 획득부는, 데이터 유니트로 구성한 차량 데이터의 특성에 근거하여 그 데이터 유니트의 범주를 할당한다. 여기서, 특성은, 그 차량 데이터를 수송한 메시지의 구분자(ID), 그 차량 데이터가 나타내는 차량의 상태 정보, 또는 그 차량 데이터를 전달한 기기의 식별자에 의해 구분되어진다.
본 발명에 따른 일 실시예에서는, 상기 획득부는, 취득한 차량 데이터로부터 구성한 새 데이터 유니트를 저장할 공간이 부족하면, 그 새 데이터 유니트에 할당한 제 1범주보다 낮은 우선순위의 제 2범주가 할당된 상기 저장부에 저장되어 있는 기존 데이터 유니트를 상기 새 데이터 유니트로써 오버라이트(overwrite)한다. 여기서, 상기 제 2범주는, 우선순위에 있어 상기 제 1범주와 지정된 기준격차 이상 차이가 나고 또한 상기 저장부에 저장되어 있는 데이터 유니트들의 범주 중에서 가장 낮은 우선순위의 범주이다. 또한, 본 실시예에서는, 상기 저장부에 저장되어 있는 상기 제 2범주가 할당된 데이터 유니트가 복수개일 때는, 상기 획득부는, 그 복수개의 유니트들 중에서 취득 일시가 가장 오래된 데이터 유니트를 상기 새 데이터 유니트로써 오버라이트할 수도 있다. 그리고, 상기 제 1범주보다 지정된 기준격차 이상의 차이로 우선순위가 낮은 범주가 할당된 상기 저장부에 저장되어 있는 기존 데이터 유니트가 없으면, 상기 획득부는, 상기 새 데이터 유니트를 버린다.
본 발명에 따른 일 실시예에서는, 상기 단말 장치가, 상기 획득부가 구성하는 데이터 유니트를 저장할 수 있는 상기 저장부의 여유 공간이 지정된 임계치 이하이면, 상기 저장부에 저장되어 있는 데이터 유니트들의 적어도 일부에 대하여 해당 데이터를 축약하여 재저장함으로써 상기 저장부의 저장 공간을 더 확보하도록 구성된 제어부를 더 포함한다. 본 실시예에서는, 상기 획득부는, 상기 저장부의 데이터 유니트들이 축약되어 있는 경우에는, 차량에서 발생되는 데이터로부터 구성한 새 데이터 유니트의 데이터도 축약한 후에 상기 저장부에 저장한다. 다르게는, 그 구성한 새 데이터 유니트에 할당한 범주에 속하는, 상기 저장부에 저장된 데이터 유니트들이 축약되어 있을 때에, 그 새 데이터 유니트에 대해서 축약하여 저장한다. 그리고, 상기 전송부는, 축약되어 저장되어 있는 데이터 유니트에 대해서는 해당 데이터를 축약 해제한 후 전송하거나, 아니면 데이터가 축약되었음을 나타내는 정보를 부가하여 상기 원격지로 전송한다.
본 발명에 따른 일 실시예에서는, 상기 획득부는, 차량에서 발생되는 데이터로부터 구성하는 데이터 유니트들에 대해서, 그 유니트들에 할당한 범주가 상기 기준치 이상의 우선순위를 갖는 지의 여부에 근거하여 상기 저장부 상에서 저장 공간이 나뉘어져 저장한다. 여기서, 상기 저장 공간은, 적어도, 상기 기준치 이상의 우선순위를 갖는 범주가 할당된 데이터 유니트들이 저장되는 제 1공간과, 상기 기준치 미만의 우선순위를 갖는 범주가 할당된 데이터 유니트들이 저장되는 제 2공간으로 구획되어져 있다. 본 실시예에서는, 상기 전송부는, 상기 제 1공간에는 새로이 구성된 데이터 유니트를 저장할 공간이 없는 경우에, 그 새 데이터 유니트를 상기 제 1통신망을 사용해 바로 전송한다. 다르게는, 상기 새 데이터 유니트에 할당된 범주와 동일한 또는 그 범주보다 우선순위가 높은 범주가 할당되어 있는, 상기 제 1공간에 저장되어 있는 기존 데이터 유니트를 상기 제 1통신망을 사용해 바로 전송한다. 그리고, 상기 획득부는, 상기 기존 데이터 유니트가 저장되어 있던 곳에 상기 새 데이터 유니트를 저장하게 된다. 그리고, 상기 새 데이터 유니트 또는 기존 데이터 유니트를 전송한 후에, 상기 전송부는, 상기 제 1공간에 저장되어 있는 다른 데이터 유니트들에 대해서도 그 일부를 상기 제 1통신망을 사용해 전송함으로써 상기 제 1공간에 여유 공간을 확보한다. 또한, 본 실시예에서는, 상기 단말 장치가, 상기 제 1공간의 여유 공간이 지정된 임계치 이하가 될 때, 상기 제 2공간의 일부 영역을 상기 제 1공간으로 재할당함으로써 상기 제 1공간을 확장하도록 구성된 제어부를 더 포함하여 구성될 수도 있다. 그리고, 상기 일부 영역을 상기 제 1공간으로 재할당할 때, 상기 제어부는, 상기 제 2공간에 저장되어 있는 데이터 유니트들 증에서 우선순위가 상대적으로 낮은 범주에 속하는 데이터 유니트들의 적어도 일부를 삭제할 수도 있고, 재할당하기 전의 상기 제 2공간의 빈 영역의 크기를 넘어서지 않는 범위내에서 상기 일부 영역의 크기를 결정하여 재할당할 수도 있다.
또한, 상기 저장 공간을 상기 제 1공간과 상기 제 2공간으로 구획한 실시예에 있어서, 상기 획득부는, 상기 제 2공간에 저장해야 할 새 데이터 유니트를 구성하였으나 상기 제 2공간에는 그 새 데이터 유니트를 저장할 공간이 없으면, 상기 새 데이터 유니트에 할당한 범주보다 우선순위가 낮은 범주가 할당된 기 저장되어 있는 데이터 유니트를 상기 새 데이터 유니트로써 오버라이트하여 저장한다.
본 발명에 따른 일 실시예에서는, 상기 전송부는, 상기 제 2통신망이 사용 가능한 상태여도, 상기 차량이 특정 상태에 있는 경우에 한하여 데이터 유니트의 전송에 상기 제 2통신망을 사용한다. 여기서, 특정 상태는, 브레이크가 걸린 상태, 기어가 중립인 상태, 또는 파킹(parking) 상태일 수 있다.
본 발명에 따른 일 실시예에서는, 상기 구성된 데이터 유니트에 대하여 범주를 할당하는 것은, 차량 데이터의 중요도를 나타내는 값을 할당하는 것이다.
본 발명의 다른 일 측면에 따른, 차량 데이터를 취득하여 통신망을 통해 원격지로 전송하는 일 방법은, 차량에서 발생되는 데이터를 취득하여 이를 지정된 원격지로 전송하기 위한 데이터 유니트로 구성하고, 복수의 범주 중에서 하나를 그 구성된 데이터 유니트에 할당하여 저장하는 1단계와, 상기 저장된 데이터 유니트에 할당된 범주와, 서로 다른 통신 방식의 제 1통신망과 제 2통신망의 개별적인 사용가능 여부에 근거하여 통신망을 선택하여 상기 저장된 데이터 유니트를 상기 원격지로 전송하는 2단계를 포함하여 이루어진다. 여기서, 상기 2단계는, 상기 제 1통신망만이 사용 가능한 상태이면, 상기 저장된 데이터 유니트에 할당된 범주가 정해진 기준치 이상의 우선순위를 가질 때 상기 제 1통신망을 사용하여 상기 저장된 데이터 유니트를 상기 원격지로 전송하고, 상기 제 2통신망이 사용 가능한 상태이면, 상기 저장된 데이터 유니트에 할당된 범주가 상기 기준치 이상의 우선순위를 갖는 지와 무관하게 상기 저장된 데이터 유니트를 상기 제 2통신망을 사용하여 상기 원격지로 전송한다.
전술한 바의 단말 장치, 방법, 그리고 다양한 실시예들에서, 상기 제 1통신망은 셀룰러(cellular) 방식의 이동통신을 지원하는 통신망이고, 상기 제 2통신망은 제한된 장소내에서 국부적으로(locally) 무선 서비스를 제공하는 통신망일 수 있다.
전술한 본 발명 또는, 하기에서 첨부된 도면과 함께 상세히 설명되는 본 발명의 적어도 일 실시예는, 차량에서 취득되는 다양한 특성과 유형의 많은 데이터를 가능한 적은 비용이 드는 통신망을 이용하여 외부의 수집용 서버에 제공할 수 있게 함으로써, 빅 데이터 구축과 같은 목적으로 차량 데이터를 수집할 때의 비용에 대한 부담을 경감시킨다.
또한, 본 발명은, 차량 데이터 수집에 따른 통신비용의 절감을 도모하면서도 중요도나 긴급도가 높은 차량 데이터를 결코 소실없이 수집용 서버에 제공할 수 있으므로, 차량 데이터를 수집코자 하는 차량의 제조사 또는 판매사 등은 데이터 수집에 본 발명의 적용함으로써 경제성과 함께 데이터 수집의 신뢰성을 보장받을 수 있다.
도 1은, 본 발명에 따른, 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법의 실시예가 구현된, 차량 내의 전체 통신 시스템의 예를 개략적으로 도시한 것이고,
도 2는, 본 발명의 일 실시예에 따른, 도 1의 지능형 데이터 수집 단말기의 구성을 예시적으로 도시한 것이고,
도 3a 및 3b는, 본 발명의 일 실시예에 따른, 차량 데이터의 특성 및 가용 통신망에 따라 그 차량 데이터를 외부에 제공하는 방식을 적응적으로 선택하는 과정을 보여주는 흐름도이고,
도 4는, 본 발명의 일 실시예에 따라 구축한 데이터 저장공간의 구조와 기록관리를 위한 시스템을 도식적으로 나타낸 것이고,
도 5는, 본 발명의 일 실시예에 따른, 취득되는 차량 데이터를 그 범주와 긴급도에 따라 전송하는 방식을 도식적으로 나타낸 것이고,
도 6은, 본 발명의 일 실시예에 따른, Wi-Fi 망을 통한 데이터 전송 시에 Wi-Fi 망이 사용이 불가해질 때 전송 중인 데이터의 범주에 따라 그 데이터를 처리하는 방식을 도식적으로 나타낸 것이고,
도 7은, 본 발명의 일 실시예에 따른, 취득한 차량 데이터를 저장할 공간이 부족한 경우에 그 데이터의 범주에 따라 처리하는 방식을 도식적으로 나타낸 것이고,
도 8은, 본 발명의 일 실시예에 따라, 취득한 차량 데이터를 저장할 공간이 부족할 때, 저장되어 있는 데이터를 축약하여 저장공간을 확보할 수 있는 저장공간의 구조와 축약에 따른 결과를 함께 보여주는 것이고,
도 9는, 본 발명의 일 실시예에 따라, 취득된 차량 데이터의 범주에 근거하여 저장영역을 구분하여 저장할 수 있도록 구축되는 저장공간의 구조와 시스템을 예시적으로 보여주는 것이고,
도 10은, 도 9의 실시예에서, 분할된 하나의 저장영역이 부족해 질 때 그 저장영역을 타 저장 영역의 일부까지 확장하는 저장공간 재할당을 도식적으로 나타낸 것이고,
도 11은, 본 발명의 일 실시예에 따라, 임의 범주에 속하는 데이터 유니트들이 저장된 셀들에 대한 정보를 관리하는 셀 맵에서 하나의 정보요소를 삭제하는 과정을 도식적으로 보여주는 것이다.
이하에서는, 본 발명에 따른 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.
도 1은, 본 발명에 따른, 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법의 실시예가 구현된, 차량 내의 전체 통신 시스템의 예를 개략적으로 도시한 것이다.
도면에 도시된 전체 통신 시스템은, 차량내에서 각기 로컬(local) 통신망을 구축하고 있는 CAN과 LAN, 그리고 그 로컬 통신망에 연결된 기기들( 각종의 센서, 구동장치, AV 기기 등 )과 ECU를 보여주고 있다. 그리고, 각 로컬 통신망에는 게이트 웨이(20k, k=1,..,N)가 연결되어 있으며, 이 게이트 웨이들은 지능형 데이터 수집 단말기(100)( IDCT: Intelligent Data Collecting Terminal )에도 연결되어, 해당 로컬 통신망의 각 기기 또는 ECU에서 보고하는, 그 통신망에서 채택된 통신규약에 따라 구성된 데이터 프레임을 처리하여 기 정해진 방식에 부합하는 데이터 프레임으로 변환하여 상기 지능형 데이터 수집 단말기(100)로 전달하는 기능을 수행한다.
도 2는, 본 발명의 일 실시예에 따른, 차량 데이터를 취득하여 원격지의 서버로 제공하기 위한 장치인 상기 지능형 데이터 수집 단말기(100)( 이하, '지능형 단말기'로 약칭한다. )의 구성을 예시적으로 도시한 것이다.
상기 지능형 단말기(100)는, 크게, 차량 데이터를 획득하는 획득부와, 획득된 차량 데이터의 저장부인 버퍼(113)와, 차량 데이터를 원격지로 전송하는 전송부와, 그리고 제어부(110)를 포함하여 구성된다.
상기 획득부에는, 상기 게이트 웨이들(20k, k=1,..,N)로부터 보고되는 다양한 특성의 차량 데이터를 실은 데이터 프레임에서 데이터를 추출하여 취득하는 데이터 취득부(111)와, 그 취득된 차량 데이터를 그 특성에 따라 범주화(categorize)하여 저장하는 데이터 분류부(112)가 포함되고, 상기 버퍼(113)에는 취득된 차량 데이터가 외부로의 전송을 위한 형태로 구성되어 저장된다.
상기 전송부에는, 상기 버퍼(113)에 저장된 데이터를 통신 상황에 따라 선택적으로 외부로 전송하는 데이터 통신부(114)와, 광역의 이동통신 서비스가 제공되는 공중의 이동 통신망, 예를 들어 3G 또는 4G 등의 셀룰러 망에서 지정한 방식에 따라 데이터를 부호화(encoding)하거나 부호화된 데이터를 복호(decoding)하는 셀룰러 코덱(122)과, 셀룰러 망에서 채택된 통신규약에 따라 데이터를 RF 신호로 변조 또는 RF신호를 복조함으로써 해당 망과 송수신하는 셀룰러 모뎀(121)과, 국소적인 영역에 대해 무선 데이터 서비스를 제공하는 통신망, 예를 들어 Wi-Fi 망의 지정된 방식에 따라 데이터를 부호화하거나 부호화된 데이터틀 복호하는 Wi-Fi 코덱(132)과, Wi-Fi 망의 지정된 방식에 따라 데이터를 RF신호로 변조 또는 RF신호를 복조함으로써 Wi-Fi 망과 송수신하는 Wi-Fi 모뎀(131)이 포함된다.
상기 제어부(110)는, 데이터의 범주화, 통신망을 통한 차량 데이터의 외부로의 전송 등에 대한 제어와 차량 데이터의 저장공간의 관리 등에 필요한 동작을 수행한다.
상기 제어부(110)는, 자신에게 구비된 펌웨어(firmware) 등의 기 저장된 명령코드들을 중앙처리장치(CPU)가 실행함으로써, 이하에서 상세히 설명하는 다양한 동작들을 수행하는 형태로 구성될 수 있으며, 다른 구성요소들(111,112,114)들도 마찬가지이다. 또한, 본 발명의 개념과 주제에 대한 이해를 돕기 위해, 상기 지능형 단말기(100)를 예시된 바와 같이 기능적으로 구분하여 구성한 것이지만, 이들 구성은 필요에 따라 더 분해되어 각기 별개의 하드웨어 요소가 될 수도 있고 또는 서로 선택적으로 조합되어 하나의 하드웨어 요소가 될 수도 있다.
이하에서는, 도 2에 예시된 바와 같은 구성을 갖는 상기 지능형 단말기(100)에 의해 도 3a 및 3b에 예시된 바와 같은 과정에 따라 이루어지는, 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법에 대해 상세히 설명한다.
먼저, 상기 데이터 취득부(111)는, 연결되어 있는 게이트 웨이들(20k)에서 데이터 프레임이 수신될 때마다 그 프레임에서, 정해진 규약에 따라 프레임에 실린 데이터를 추출함으로써 차량 데이터를 취득하고(S310) 이를 상기 데이터 분류부(112)에 전달한다.
그러면, 상기 데이터 분류부(112)는 그 수신된 차량 데이터의 특성을 확인하고, 그 확인된 특성에 따라 해당 데이터를 범주화한다(S312). 범주화하는 하나의 예는, 해당 데이터에 대해 중요도를 할당하는 것이다. 즉, 상기 데이터 분류부(112)는, 확인된 데이터 특성에 따라 그 데이터의 중요도를 할당하고 동일 중요도의 차량 데이터들을 그룹핑하게 된다.
범주화하는 다른 예는, 해당 데이터에 대해 긴급도를 할당하는 것이다. 즉, 상기 데이터 분류부(112)는, 확인된 데이터 특성에 따라 그 데이터의 긴급도를 할당하고 동일 긴급도의 차량 데이터별로 그룹핑하게 된다. 데이터의 긴급도란, 그 데이터에 대한 수집이 신속하게 이루어져야 하는 정도를 나타내는 값으로서, 예를 들어, 차량의 사고, 또는 비상 운전 상태, 고장 등을 나타내는 데이터에 대해서는 상대적으로 높은 긴급도가 부여될 수 있다.
범주화하는 또 다른 예는, 데이터의 중요도와 긴급도를 함께 고려하여 하나의 범주로 결정할 수도 있다. 즉, 해당 특성의 데이터에 대해 할당되어 있는 중요도와 긴급도에 각기 가중치를 곱하여 얻은 값을 기준으로 하여 범주화할 수도 있다.
데이터의 특성은, 해당 차량 데이터에 포함된 데이터 식별자로부터 파악할 수도 있고, 그 차량 데이터가 어떤 게이트 웨이로부터 수신되었는지로부터 파악할 수도 있다. 예를 들어, 차량 데이터가 CAN 메시지로 수송(carry)된 경우 선두의 11비트의 구분자(ID)를 확인하여 그 메시지 전체를 단일 범주의 데이터로 취급할 수도 있고, 또는 8바이트의 메시지 데이터를 정해진 포맷에 따라 해석함으로써 데이터를 세분하여 범주화할 수도 있다. 예를 들어, 단일 메시지내에 '엔진RPM', '현재 기어상태', '배터리 정보', 'ABS Enable 여부' 등에 대한 운행상태 특성정보가 있는 경우 이들을 개별적으로 또는 부분적으로 그룹핑하여 다수의 범주로 나누어 취급할 수도 있다.
그리고, 앞서 언급한 바와 같이, 수신된 차량 데이터가 어떤 게이트 웨이를 통해 전달된 것인 지에 따라 그 특성을 확인할 수도 있는데, 예를 들어, 현재 수신된 데이터가, AV 데이터의 송수신을 위해 사용되는 이더넷(Ethernet)에 연결된 게이트 웨이로부터 수신된 것이면, 그 차량 데이터는 멀티미디어 특성으로 간주하고 그에 맞게 범주화한다.
한편, 상기 데이터 분류부(112)가 수신된 데이터의 특성에 따라 분류하는 규칙은 상기 제어부(110)에 의해 미리 설정될 수 있다. 보다 구체적으로는, 상기 제어부(110)는, 차량데이터 외부 전송모드가 활성화되면( 예를 들어, 상시 전원이 ON 되면 ), 데이터의 발신지( CAN 메시지의 ID 등 ), 메시지 유형에 따른 데이터 포맷에서의 각 필드에 대한 중요도 할당방식, 및/또는 수신된 게이트 웨이에 따른 범주화 방식을 정한 규칙을 상기 데이터 분류부(112)에 설정하게 되고, 상기 데이터 분류부(112)는, 그 설정된 규칙을 참조하여, 수신된 차량 데이터를 범주화하게 된다. 즉, 해당 차량 데이터에 대해 설정된 규칙에서 정의되어 있는 범주 종류에서 하나를 선택하여 할당하게 된다.
상기 데이터 분류부(112)는, 현재 수신된 차량 데이터에 대하여 그 범주를 단일 또는 복수로 정한 후에는, 예를 들어 단일의 중요도 또는 긴급도를 그 차량 데이터 전체에 또는 서로 다른 중요도 또는 긴급도를 그 차량 데이터에 세분하여 할당한 후에는, 동일한 중요도 또는 긴급도가 부여된 차량 데이터별로 기 정해진 상한 크기( 이 상한 크기에 대해서는 이하에서 설명된다 ) 이하의 크기를 갖는 데이터 유니트(unit)로 구성하게 된다.
데이터 유니트를 구성함에 있어서, 앞서 수신되어 임시 저장되어 있는 동일 범주의 데이터에 현재 수신된 데이터를 조합하여 구성할 수도 있고, 현재 수신된 데이터를 분할하여 복수의 데이터 유니트로 구성할 수도 있다. 전자와 같이, 앞서 수신된 데이터에 조합하여 데이터 유니트를 구성할 때는, 서로 조합되는 데이터 사이에 미리 약속된 구분자(delimeter)를 삽입할 수도 있다. 예를 들어, 동일 범주의 데이터이지만, 서로 조합되는 차량 데이터의 특성이 서로 다른 메시지( e.g., 동일 중요도 또는 긴급도로 할당된 '편의장치 상태 변경 정보'와 '차량 정기진단 정보' 등 )의 데이터인 경우, 차량 데이터를 수집하는 특정의 외부 서버와 약속된 구분자를 그 차량 데이터 간에 삽입할 수도 있는 것이다.
또한, 상기 데이터 분류부(112)는, 수신된 차량 데이터의 특성을 알 수 있는 정보, 예를 들어, CAN 메시지의 ID 및/또는 게이트 웨이의 식별정보 등을 그 차량 데이터 전단에 부가할 수도 있다.
취득된 차량 데이터를 위와 같이 데이터 유니트로 구성함에 있어서, 그 데이터 유니트가 하나의 유니트로 구성하기에는 부족하면(S313), 상기 데이터 분류부(112)는 그 차량 데이터를 임시로 저장하고 다음의 차량 데이터가 수신될 때까지 대기한다. 만약, 데이터 유니트로 구성할 수 있는 경우에는(S313), 그 선두에 '데이터 취득일시'를 부가하여 완전한 데이터 유니트로 구성하여 상기 버퍼(113)에 확보되어 있는 저장공간에 저장하게 된다(S314). 데이터 취득일시 외에 차량의 모델명, 또는 차대번호 등을 데이터 유니트의 헤더(header) 정보로서 부가할 수도 있다. 물론, 이러한 정보는 상기 제어부(110)에 의해 상기 데이터 분류부(112)에 미리 설정된다.
본 발명에 따른 일 실시예에서는, 완전한 데이터 유니트를 구성하지 못해 동일 범주의 다음 차량 데이터의 수신을 대기하는 경우에, 그 데이터의 취득시점으로부터의 대기 시간이 지정된 제한시간을 초과하게 되면, 현재 수신된 데이터만으로 데이터 유니트를 구성하여 상기 버퍼(113)에 저장할 수도 있다.
상기 데이터 분류부(112)가 데이터 유니트를 상기 버퍼(113)에 저장할 때는, 상기 제어부(110)가 구축한 저장공간의 구조 및 시스템에 맞게 기록하게 되는데, 이하에서는 상기 제어부(110)가 구축한 저장공간의 구조 및 시스템에 대해 설명한다.
도 4는, 본 발망의 일 실시예에 따라, 상기 제어부(110)가 상기 버퍼(113)에 구축한 저장공간의 구조와 기록관리를 위한 시스템을 도식적으로 나타낸 것이다.
상기 제어부(110)는, 먼저, 상기 버퍼(113)에서 가용할 수 있는 공간을 확보하고, 그 공간에 대해 일정 크기의 기록단위(401)( 이하, '셀'이라 약칭한다. )로 구획함으로써 저장공간(400)( 이하, '유니트 공간'이라 칭한다. )을 구축한다. 그리고, 그 유니트 공간(400)에 확보된 셀들에서 현재 가용할 수 있는 빈 셀의수(411)를 나타내는 필드(Cs_#)와, 유니트 공간에 확보된 셀들과 일대일 대응하는 플래그들로 구성되어 각 셀이 비어있는 지의 여부를 나타내는 셀 점유표(410)를 구성한다. 즉, 도시된 바와 같이 유니트 공간(400)의 NxK 개의 셀들에 대해 각기 대응하는 NxK 개의 1비트 또는 1바이트의 셀 플래그(412)들로 구성된 표를 구성한다.
상기 셀 점유표(410)의 셀 플래그들은, 도시된 바와 같이, 비어있음을 나타내는 값( 예를 들어, 0 )으로써 초기화되고, 가용셀의 수 필드(Cs_#)에는 초기 할당된 빈 셀들의 수(NxK)가 기록된다.
또한, 상기 제어부(110)는, 기 설정된 범주화 규칙에서 정의되어 있는 범주 종류의 전체에 대해서, 예를 들어 모든 중요도에 대해서 셀 탐색표(420)를 작성한다.
상기 셀 탐색표(420)의 각 범주 엔트리(421k, k=1,2,..,M)는, 도시된 바와 같이, 해당 범주를 식별케 하는 범주 정보(C_Info), 데이터 유니트들이 기록된 셀들의 위치정보( 즉, 그들의 유니트 공간 상의 인덱스 값 )가 기록되는 셀 맵(Cell Map), 셀 맵의 크기를 나타내는 맵 용량(MpCap), 현재 기록된 셀들( 아직 외부 서버로 전송되지 않은 데이터 유니트가 기록된 셀들 )의 수를 가리키는 기록셀 개수(RC_#), 새로이 완성된 데이터 유니트가 저장된 셀의 인덱스가 기록될 상기 셀 맵(Cell Map)상의 지점을 가리키는 기록 포인터(i_ptr), 그리고, 외부로 전송될 데이터 유니트가 저장된 셀의 인덱스가 기록된 상기 셀 맵(Cell Map)상의 지점을 가리키는 읽기 포인터(o_ptr)의 필드(field)들로 구성된다.
이와 같은 구조의 셀 탐색표(420)를 구축한 후에는, 상기 제어부(110)는, 각 범주 엔트리에 대해서 각 필드에 필요한 초기 정보를 기입하게 된다. 맵 용량 필드(MpCap)에는 메모리 공간을 할당받은 셀 맵(Cell Map)의 요소들(elements)의 수를 기입하고, 셀 맵의 각 요소에는 점유한 셀이 없음을 나타내는 특정 값( 예를 들어, '-1' )을 기록한다. 그리고, 초기에는 유니트 공간(400)에 저장한 데이터 유니트가 없으므로 기록셀의 수(RC_#)의 필드에 0을, 그리고, 기록 포인터(i_ptr)와 읽기 포인터(o_ptr)의 필드에는 셀 맵의 첫번째 맵요소(431)의 셀 맵상의 오프셋인 0을 기록해 둔다.
각 범주 엔트리(421k, k=1,2,..,M)에 대해 셀 맵의 크기를 모두 동일하게 할당할 수도 있고( 즉, 각 맵 용량 필드(MpCap)의 초기값이 모두 동일할 수도 있고 ), 서로 다르게 할당할 수도 있다. 후자의 경우에는, 발생되는 차량 데이터의 범주별 양을 통계적으로 측정하여 서로의 비율에 맞게 셀 맵의 크기를 할당한다. 물론, 이 경우에 충분한 크기의 여유 공간이 확보되도록 할당해 둔다. 예를 들어, 어떤 임의의 범주에 해당하는 차량 데이터의 발생량이 전체 범주의 데이터 양의 약 10%에 해당하는 경우, 상기 유니트 공간(400)의 전체 셀 수가 CNToT라고 할 때, 맵 요소들의 수가 0.1xCNToT가 아닌 그의 두배(0.2xCNToT) 이상이 되도록 셀 맵을 할당할 수 있다.
본 발명에 따른 다른 일 실시예에서는, 각 범주 엔트리에 대해서, 유니트 공간의 전체 셀의 수와 동일한 수의 요소를 갖도록 셀 맵(Cell Map)의 크기를 할당할 수도 있다. 본 실시예에서는, 전술한 바의 맵 용량 필드(MpCap)가 불필요하며, 특별한 상황에서, 단일 범주에 해당하는 차량 데이터들만으로 유니트 공간이 모두 채워질 수도 있는 경우라면 본 실시예를 적용하는 것이 바람직하다.
전술한 바와 같이, 유니트 공간(400), 셀 점유표(410) 그리고 셀 탐색표(420)를 구축하고, 이들에 대해 필요한 정보 초기화를 수행한 후에는, 상기 제어부(110)는, 이들의 상기 버퍼(113) 상의 물리적 위치를 참조할 수 있는 위치정보를 상기 데이터 분류부(112)와 상기 데이터 통신부(114)에 통지한다. 이와 함께, 구획한 셀의 크기에 대해서도 앞서 언급한 상한 크기로서 상기 데이터 분류부(112)에 통지하게 된다.
상기 데이터 분류부(112)는, 이와 같이 통지된 정보를 참조하여, 앞서 구성한 데이터 유니트를 저장하게 되는데, 이에 대해서 구체적으로 설명한다.
먼저, 상기 데이터 분류부(112)는, 상기 가용셀의 수 필드(Cs_#)의 값을 확인하고 그 값이 0이 아니면, 상기 셀 점유표(410)를 탐색하여 현재 비어있는 셀의 인덱스를 확인한다. 즉, 셀 점유표(410)의 선두부터 검색하여 비어있는 값이 기록된 셀 플래그의 첫번째로부터의 오프셋(offset)을 계산한다. 이렇게 계산된 오프셋이 셀 인덱스가 된다. 이렇게 셀 인덱스가 결정되면, 상기 데이터 분류부(112)는, 상기 유니트 공간(400)에서 그 셀 인덱스에 해당하는 위치의 셀에, 자신이 구성한 데이터 유니트를 저장한다. 해당 셀의 위치는, 셀 인덱스에 앞서 통지받은 상한 크기( 즉, 셀 크기 )를 곱함으로써 얻게 된다. 한편, 가용셀의 수 필드(Cs_#)의 확인 때 그 값이 0일 수도 있는데, 이에 대한 처리는 이후에 상세히 설명한다.
데이터 유니트를 빈 셀에 저장한 후에는, 상기 가용셀의 수 필드(Cs_#)의 값을 1감소시킨다. 그리고, 상기 셀 탐색표(420)에서 그 저장한 데이터 유니트의 범주에 해당하는 범주 엔트리를 특정하고, 그 특정된 엔트리에서 기록 포인터(i_ptr)의 값을 읽어서 그 포인터 값, 즉 맵요소 인덱스( 맵요소의 맵 상에서의 오프셋 )가 가리키는 맵요소에, 앞서 확인하여 결정한 오프셋( 즉, 방금 데이터 유니트를 저장한 셀의 인덱스 )을 기록한다.
마지막으로, 기록 포인터(i_ptr)와 기록셀 개수(RC_#)의 필드에 대해 그 값을 각각 1씩 증가시킴으로써, 새로이 구성한 데이터 유니트를 상기 유니트 공간(400)에 저장함에 따른 관리정보의 갱신 기록을 종료한다. 이 때, 만약, 증가된 기록 포인터(i_ptr)의 값이 맵 용량(MpCap)의 값 이상이 되면 셀 맵(Cell Map)의 초기 위치로 되돌린다. 즉, 다시 0으로 설정한다.
이상에서 상세히 설명한, 차량 데이터의 취득과 그 취득된 데이터의 데이터 유니트로의 구성, 그리고 그 구성된 데이터 유니트의 저장과 그에 따른 관리정보의 기록 또는 갱신은, 차량 데이터를 취득하여 외부로 전송하는 '전송모드'가 오프될 때(S315)까지 지속적으로 진행된다. 상기 전송모드가 오프되는 경우는, 차량의 '상시전원'이 오프될 때일 수 있다.
한편, 상기 데이터 분류부(112)가 전술한 바와 같은 동작을 하고 있을 때, 상기 데이터 통신부(114)는, 도 3b에 예시된 바와 같은 과정을 수행함으로써, 상기 유니트 공간(400)에 저장된 데이터 유니트를, 기 지정된 특정의 외부 서버로 선택적으로 전송하는 동작을 수행하는데, 이하에서는 이에 대해 상세히 설명한다.
먼저, 상기 데이터 통신부(114)는, 외부의 특정 서버에 제공할 데이터 유니트가 있는 지를 확인한다(S320). 보다 구체적으로는, 상기 제어부(110)로부터 통지된 상기 버퍼(113) 상의 위치정보를 참조하여, 상기 셀 탐색표(420)에서 기록셀 개수 필드(RC_#)의 값이 0이 아닌 범주 엔트리(421i)가 하나라도 있는 지 확인한다. 즉, 외부로 전송할 임의 범주에 속하는 데이터 유니트가 하나라도 있는 지를 확인한다.
이와 같이 지정된 원격지의 특정 서버에 제공( 이하에서는, 이러한 제공을 '업로드'(upload)라고 칭할 수도 있다. )할 데이터 유니트가 있는 지를 확인하는 과정은 지속적으로 수행될 수도 있고, 다르게는, 일정 주기로( 예를 들어, 1분, 10분, 또는 1시간 등 ) 수행될 수도 있다.
만약, 지정된 원격지 서버에 업로드할 데이터 유니트가 하나라도 있으면, 다음으로 현재 사용가능한 통신망이 있는 지를 확인한다(S321). 가용 통신망이 없으면 대기한다.
만약, 현재 가용할 수 있는 통신망이 셀룰러 망 밖에 없다면, 업로드해야 할 데이터 유니트의 범주가 우선순위에 있어서 기 설정된 기준범주 이상에 해당하는 지를 확인한다(S322). 예를 들어, 데이터 유니트에 할당된 중요도가 기 설정된 중요 기준치 이상인 지를 확인한다. 이 기준범주에 대한 정보는 상기 제어부(110)로부터 초기에 상기 데이터 통신부(114)에 설정된다.
기록셀 개수의 필드(RC_#)가 0이 아닌 값의 해당 범주 엔트리의 범주 정보가 기준범주의 우선순위 이상이면, 상기 데이터 통신부(114)는 그 범주 엔트리에 속하는 저장된 데이터 유니트들을 다음의 과정을 따라 셀룰러 망을 통해 기 지정된 원격지의 특정 서버로 전송하게 된다(S323). 물론 그 특정 서버로의 업로드를 위해 필요한 세션 개설 등의 원격지와의 상호 통신은 상기 데이터 통신부(114)가 데이터 유니트의 전송 시작 전에 셀룰러 망을 통해 수행한다. 본 명세서에서는, 범주 간의 비교에 있어서 상대적으로 높다 또는 낮다라고 표현하는 것은, 비교되는 범주 간에 그 우선순위가 높다 또는 낮다라는 것을 의미한다.
상기 데이터 통신부(114)는, 업로드할 것으로 결정된 데이터 유니트가 속하는 범주 엔트리의 읽기 포인터 필드(o_ptr)의 값, 즉 맵요소 인덱스를 확인하고, 그 맵요소 인덱스가 가리키는 맵요소에 기록된 값, 즉 셀 인덱스를 확인한다. 그리고, 상기 유니트 공간(400)에서 그 셀 인덱스가 지시하는 셀에 저장되어 있는 데이터 유니트를 읽어서 상기 특정 서버로 전송한다.
이와 같이 하나의 데이터 유니트에 대해서 업로드하고 원격지로부터 해당 유니트의 데이터 모두에 대해 수신 ACK가 응답됨으로써 업로드가 성공적으로 완료되면, 상기 데이터 통신부(114)는, 해당 범주 엔트리의 읽기 포인터(o_ptr)의 값을 1증가시키고 기록셀 개수는 1감소시키며, 상기 셀 점유표(410) 상에서 그 셀 인덱스에 대응되는 셀 플래그를 블랭크(blank)로 마크하여 해당 셀에 다시 데이터 저장될 수 있도록 하며, 상기 가용셀의 수 필드(Cs_#)의 값도 1증가시킨다.
그리고, 기록셀 개수가 여전히 0이 아니면, 앞서 설명한 바와 같은 데이터 유니트의 업로드와 관리정보의 갱신을 기록셀 개수가 0이 될 때까지 반복적으로 수행한다. 이 과정에서 증가된 읽기 포인터(o_ptr)의 값이 맵 용량(MpCap)의 값 이상이 되면 셀 맵(Cell Map)의 선두 요소를 가리키는 0으로 되돌리게 된다. 그리고, 기록셀 개수가 0이 되면, 상기 데이터 통신부(114)는, 해당 범주 엔트리에 대한 데이터 유니트의 업로드 동작은 종료하고, 기록 포인터와 읽기 포인터의 값을 초기화시킨다. 즉, 각 포인터의 필드(i_ptr, o_ptr)에 해당 셀 맵의 첫번째 맵요소의 인덱스를 나타내는 0으로 기록한다.
만약, 기록셀 개수가 0이 아닌 범주 엔트리가 복수개라면, 상기 데이터 통신부(114)는 우선순위가 높은 범주 정보의 엔트리부터, 예를 들어 할당된 중요도 또는 긴급도가 높은 엔트리부터 차례대로 전술한 바와 같은 업로드 동작을 수행하게 된다. 물론, 그 복수개의 엔트리들 중에서, 범주 정보가 기준범주보다 낮은 엔트리에 대해서는 셀룰러 망을 통한 업로드 동작은 수행하지 않는다.
만약, 가용 통신망의 확인단계(S321)에서 셀룰러 망외에도 Wi-Fi 망도 현재 사용 가능한 상태로 확인되면( 또는 Wi-Fi 망만이 사용 가능한 상태로 확인되면 ), 상기 데이터 통신부(114)는, 기록셀 개수가 1이상인 모든 범주 엔트리들에 대해 그 엔트리들의 범주가 기준범주보다 높은 지의 여부와 무관하게, 셀룰러 망이 사용 가능할 때 수행했던, 각 범주 엔트리에 속하는 데이터 유니트들의 외부의 특정 서버로의 업로드 동작을 Wi-Fi망을 통해 수행한다(S331). 물론, 이러한 업로드 동작에서, 상기 데이터 통신부(114)는, 범주 엔트리들에 대해서 그 우선순위가 높은 순서대로 전송하게 된다.
한편, 상기 데이터 통신부(114)는, 전술한 바의 업로드할 데이터 유니트의 존재 확인과 그에 따른 업로드 동작의 수행과 병행하여, 물리적으로 접속 가능한 통신망의 현시점에서의 사용 가능 여부를 확인한다. 즉, 본 명세서에서 예시하고 있는 셀룰러 망과 Wi-Fi 망, 각각에 대해 사용 가능한 지를 확인한다.
이를 위해서, 상기 데이터 통신부(114)는, 상기 셀룰러 모뎀(121)과 상기 Wi-Fi 모뎀(131)이, 각기 자신에게 할당된 신호대역을 탐색하여 유효한 신호를 검출하였을 때 그 신호를 복조하여 전달하는 정보를 이용하여 IP 주소를 할당받는 절차를 수행한다. 즉, 발견된 셀룰러망 기지국 또는 Wi-Fi 망의 AP와의 접속절차를 수행함으로써, 그 기지국 또는 그 AP로부터 IP주소를 할당받는다. 상기 데이터 통신부(114)는, 이런 과정을 거쳐 IP주소가 할당되면 그 통신망은 가용 통신망으로 지정해 둔다.
따라서, 전술한 바와 같이 데이터 유니트를 지정된 원격지로 전송하고자 할 때, 현재 IP주소가 할당되어 있는 통신망이 하나도 없으면 가용 통신망이 없는 것으로, 셀룰러 망으로부터만 IP주소가 할당되어 있으면 셀룰러망은 사용 가능하고 Wi-Fi 망은 사용 불가한 것으로 확인하게 된다.
상기 데이터 통신부(114)는, 셀에 저장되어 있는 데이터 유니트를 셀룰러망 또는 Wi-Fi 망으로 전송할 때는, 상기 셀룰러 코덱(122)/상기 셀룰러 모뎀(121) 또는 상기 Wi-Fi 코덱(132)/상기 Wi-Fi 모뎀(131)을 통해, 지정된 주소의 특정 서버와 TCP 커넥션을 개설하고 그 개설된 TCP 커넥션을 사용하여 데이터 유니트를 송신하게 된다. 이 송신에서, 셀룰러망을 사용할 때는 그 데이터 유니트는 상기 셀룰러 코덱(122)으로 인가되고, Wi-Fi 망을 사용할 때는 상기 Wi-Fi 코덱(132)으로 인가된다.
그러면, 그 데이터 유니트는 상기 셀룰러 코덱(122)/상기 셀룰러 모뎀(121) 또는 상기 Wi-Fi 코덱(132)/상기 Wi-Fi 모뎀(131)에 의해 해당 통신망의 송신에 부합하는 신호로 변환되어 기지국 또는 AP로 전송되고, 그 후단의 백본망 등에 의해 상기 지정된 특정 서버로 라우팅(routing)됨으로써, 최종적으로 그 특정 서버로 전달된다.
한편, 상기 데이터 통신부(114)가 셀룰러 망만 사용가능한 상태에서 우선순위가 기준범주 이상인 범주의 데이터 유니트들을 셀룰러 망을 통해 외부의 특정 서버로 업로드하고 있는 상태에서, Wi-Fi 망이 사용가능한 상태로 전환되면, 상기 데이터 통신부(114)는, 셀룰러 망을 통한 업로드는 중단하고, 미전송한 나머지의 데이터 유니트들에 대해서는 Wi-Fi 망을 통해 상기 특정 서버로 업로드한다.
본 발명에 따른 다른 실시예에서는, 기준범주 이상인 범주의 데이터 유니트들에 대해서는 계속하여 셀룰러 망을 통해 상기 특정 서버로 전송하고, 새로이 사용 가능해진 Wi-Fi 망을 통해서는, 상기 기준범주보다 낮은 범주의 데이터 유니트들에 대해서 범주가 갖는 우선순위에 따라 Wi-Fi 망을 통해서 상기 특정 서버로 업로드할 수도 있다.
본 발명에 따른 일 실시예에서는, 외부 서버로 차량 데이터를 업로드하는 순서에 있어서의 우선순위가, 차량 데이터의 범주가 아닌 다른 속성에 의해 정해질 수도 있다. 예를 들어, 취득되는 차량 데이터로써 구성한 데이터 유니트에 대해 그 데이터의 특성에 따라 중요도를 할당함으로써 그 중요도에 근거하여 범주화한 경우, 각 데이터 유니트에 부여되는 긴급도에 근거하여 전송 순서가 정해질 수도 있다.
데이터 유니트에 대한 긴급도는 다양한 요소 또는 차량의 상태 등에 의해 정해질 수 있다. 예를 들어, 상기 유니트 공간(400)에 미전송 상태로 저장되어 있는 시간이 정해진 한계시간, 예를 들어 24시간에 근접할수록 단계적으로 긴급도가 높아진 것으로 볼 수 있다. 상기 한계시간은 범주별로 설정될 수도 있다. 예를 들어, 우선순위가 높은 범주의 한계시간은 우선순위가 낮은 범주의 한계시간에 비해서 더 짧게 설정될 수 있는 것이다. 이와 같은 방식으로 적어도 2개의 범주 간에는 한계시간이 다르도록 설정하면, 동일한 시점에 구성된 서로 다른 범주의 데이터 유니트들의 경우, 해당 한계시간이 경과할 때까지 남은 시간이 높은 범주일수록 짧기 때문에 높은 범주의 데이터 유니트의 긴급도가 높아져 낮은 범주의 데이터 유니트에 비해서 업로드하는 순서가 빨라지게 된다.
한편, 데이터 유니트에 대한 긴급도의 결정은, 데이터 유니트의 취득일시를 확인할 수 있는 상기 데이터 통신부(114)에 의해 이루어진다.
또한, 데이터 유니트에 대한 긴급도는, 앞서 언급하였던 바와 같이, 해당 차량 데이터가 나타내는 차량의 상태, 예를 들어 차량의 이상 상태( 비정상적 엔진 온도, 브레이크 패드 마모 등 )나 운전 상의 비상 상황( 일정세기 이상의 충격량 감지, 에어백 작동, 타이어 펑크 등 ) 등에 의해 정해질 수도 있다. 즉, 이상 상태나 비상 상황 등을 나타내거나 암시하는 차량 데이터, 또는 그러한 상태나 상황일 때 획득되는 블랙박스가 촬영한 차량 데이터 등에 대해서는 긴급도를 최고로 높게 부여할 수 있다. 그리고, 이러한 긴급도 부여는 상기 데이터 분류부(112)에 의해 이루어지며, 이렇게 부여되는 긴급도는, 전술한 바와 같이 완성한 데이터 유니트의 전단에 부가하여 상기 유니트 공간(400)에 저장함으로써 상기 데이터 통신부(114)가 참조할 수 있게 한다.
본 발명의 일 실시예에 따라, 데이터 유니트의 긴급도를 참조하여 순서를 정하여 업로드할 때는, 상기 데이터 통신부(114)는, 가장 높은 긴급도부터 시작하여 각 긴급도에 해당하는 업로드할 데이터 유니트를 검색할 때, 높은 우선순위를 갖는 범주부터 시작하여 각 범주 엔트리에 속하는 데이터 유니트들을 검색하고, 그 검색에서 해당 긴급도의 데이터 유니트가 있으면 그 긴급도의 데이터 유니트를 모두 전송한 후 다음 긴급도에 대해서 동일한 동작을 수행한다.
이러한 방식에 따라 데이터 유니트들을 전송하면, 도 5에 예시된 바와 같이, 긴급도가 부여된 데이터 유니트들(51)이 범주화되어 상기 유니트 공간(400)에 저장되어 있다고 가정할 때, 상기 데이터 통신부(114)에 의해서, 긴급도가 높은 순서대로 그리고 긴급도가 동일할 때는 우선순위가 높은 범주의 순서대로 데이터 유니트들이 기 지정된 특정 서버로 업로드된다(52).
본 발명에 따른 일 실시예에서는, 긴급도가 부여되어 있거나 또는 긴급도가 기 지정된 기준치 이상인 데이터 유니트들에 대해서는, 셀룰러 망을 사용해 업로드할 수 있는 기준범주 이상에 해당하는 지에 무관하게 셀룰러 망을 사용하여 외부의 특정 서버로 전송할 수 있다. 물론, 현재 Wi-Fi 망이 사용가능한 상태이면 Wi-Fi 망을 사용하여 전송할 수도 있다.
한편, 본 발명에 따른 일 실시예에서는, 현재 Wi-Fi 망이 사용가능한 상태일지라도 차량이 특정 상태에 있지 않으면 해당 통신망을 사용하지 않을 수도 있다. 예를 들어, 운전자가 브레이크를 밝고 있거나, 기어상태가 중립 또는 파킹(parking) 상태가 아니면, Wi-Fi 망은 사용불가와 마찬가지로 간주하여 그 망을 사용하지 않는다.
차량이 특정 상태에 있는 지의 여부는, 상기 제어부(110)로부터 통지받게 되는데, 이를 위해, 상기 데이터 분류부(112)는 취득된 차량 데이터에서 특별한 특성의 메시지 데이터, 예를 들어, 운전상태를 나타내는 CAN 메시지에 대해서는 이를 상기 제어부(110)에 전달하고, 상기 제어부(110)는, 그 전달된 메시지의 데이터를 분석하여 차량이 브레이크로 제동된 상태인지, 기어가 중립 또는 파킹 상태인 지, 또는 그러한 상태가 해제되었는 지를 확인하여 그 확인된 상태를 상기 데이터 통신부(114)에 통지하게 된다.
본 발명에 따른 일 실시예에서는, 현재 Wi-Fi 망이 사용가능한 상황에서 저장되어 있는 데이터 유니트들을 Wi-Fi 망을 통해 전송하고 있는 도중, Wi-Fi 망과의 접속이 해제되는 등의 이유로 Wi-Fi 망의 사용이 불가능해지면, 상기 데이터 통신부(114)는, 현재 업로드 중이던 데이터 유니트에 대해서, 셀룰러 망을 사용해 이어서 업로드하는 동작을 선택적으로 할 수도 있다.
본 실시예에서는, Wi-Fi 망을 통한 업로드 도중 전송 중단된 데이터 유니트( 이하, '사고 유니트'라 칭함. )에 대해서, 셀룰러 망을 통해 이어서 전송하기로 결정하게 되면, 상기 데이터 통신부(114)는, 전송이 완료된 부분( 데이터 유니트의 조각(segment)을 수송하는 패킷들에 대해 원격지로부터 ACK가 있었던 패킷까지 실렸던 데이터 )의 다음 지점을 가리키는 위치정보와 '전송 미완료'를 가리키는 정보, 그리고 그 데이터 유니트의 업로드를 위해 개설한 세션(session)의 정보 등을 해당 사고 유니트에 연계하여 기록해 둔다.
도 6은 본 발명의 일 실시예에 따른, 사고 유니트에 대해서 셀룰러 망을 사용해 이어서 업로드할 것인 지 여부를 결정하는 하나의 규칙을 예시한 것이다.
상기 데이터 통신부(114)는, 예시된 규칙에 따라, 사고 유니트의 범주가 전술한 바의 기준범주(61) 이상의 범주인 지를 확인한다. 만약, 기준범주 이상의 범주이면, 상기 데이터 통신부(114)는 '전송 미완료'가 표시된 그 사고 유니트의 미전송 잔여 데이터를 셀룰러 망을 통해 이어서 업로드하게 된다(P61). 이를 위해, 셀룰러 망을 통해 상기 특정 서버에 커넥션을 개설하여 앞서 저장된 세션 정보를 전달하여 어떤 데이터 유니트에 대해 이어서 업로드되는지를 원격지에 통지한 다음, 사고 유니트에서 앞서 저장했던 위지정보가 가리키는 지점부터 데이터를 업로드하게 된다.
만약, 확인한 사고 유니트의 범주가 기준범주보다 낮으면, 기 지정된 분기범주(62) 이상인 지 여부를 확인하고, 우선순위가 분기범주(62) 이상이면, 전송 미완료된 잔여 데이터의 크기가 기 설정된 제한치 이하인 지를 확인한다(P62). 제한치 이하면, 상기 데이터 통신부(114)는 그 잔여 데이터를 전술한 바와 마찬가지로 셀룰러 망을 사용하여 바로 이어서 업로드하고(P61), 만약, 제한치보다 더 크면, 그 사고 데이터에 대해서는 이어서 업로드하는 것을 일단 보류한다(P63).
그리고, 사고 유니트의 범주가 상기 분기범주(62)보다 낮은 우선순위일 때도 이어서 업로드하는 것을 일단 보류한다(P63).
이어서 업로드하는 것이 보류된 사고 데이터에 대해서는, Wi-Fi 망이 다시 사용가능해 졌을 때, 업로드 중단으로부터 경과된 시간에 근거하여 이어서 업로드하거나 아니면 처음부터 새로이 전송하게 된다. 경과된 시간의 기준은 상기 특정 서버와 사전에 약속된다.
한편, 본 발명에 따른 일 실시예에서는, 셀룰러 망의 사용에 기준이 되는 전술한 바의 기준범주를 적응적으로 조정할 수도 있다. 물론, 분기범주(62)도 적응적으로 조정할 수 있다. 이하의 기준범주의 적응적 조정에 대한 설명은 분기범주에도 당연히 적용될 수 있다.
기준범주를 적응적으로 설정하는 본 발명에 따른 실시예에서는, 상기 제어부(110)가 조건에 따라 기준범주를 조정하여 상기 데이터 통신부(114)에 설정하게 된다. 여기서 조건은 일정량의 데이터를 셀룰러 망을 통해 전송하는데 소요되는 비용의 변동이 될 수 있다. 즉, 일정량의 데이터를 전송하는데 소요되는 비용의 변동이 있게 되면, 상기 제어부(110)는 그 변동에 따라 기준범주를 변경하여 상기 데이터 통신부(114)에 설정함으로써, 셀룰러 망을 통한 업로드의 가능 여부를 결정하는데 그 변경된 기준범주가 사용되게 한다.
일정량의 데이터의 셀룰러망을 통한 전송에 지불되어야 하는 비용은 시간대에 따라 또는 요일에 따라 달라질 수 있다. 따라서, 이러한 시간/요일에 따른 통신비용 조견표가 상기 제어부(110)에 기 설정되고, 상기 제어부(110)는 일정 주기로 그 조견표를 참조하여 현재의 시간/요일에 의해 통신비용이 증가하는 것으로 확인되면 기준범주를 더 높게 재설정하고, 즉, 우선순위가 더 높은 범주정보를 기준범주로 재설정하고, 반대로 통신비용이 감소하는 것으로 확인되면 기준범주를 더 낮게 재설정한다.
본 실시예에 따라 기준범주가 더 높게 설정되면, 셀룰러 망을 사용해 차량 데이터를 업로드할 수 있는 범주의 수가 적어지므로 셀룰러 망을 통한 데이터 전송량도 확률적으로 감소하게 되므로, 통신망 사용료가 높아진 상황에서, 차량 제조사 또는 판매사, 또는 차량 소유자 등이 차량 데이터의 특정 서버로의 제공을 위해 지불해야 하는 통신비용이 증가하는 것을 방지하게 된다.
본 발명에 따른 일 실시예에서는, 전술한 바와 같은 통신료 정보가 담긴 조견표가 상기 제어부(110)에 미리 설정되지 않고 외부로부터 획득될 수도 있다. 본 실시예에서는, 상기 제어부(110)가 상기 데이터 통신부(114)에 기 설정된 주소의 서버와의 커넥션을 요청하고, 그 요청에 따라 개설된 커넥션을 통해 미리 약속된 조견표를 요청하여 수신하여 새로이 갱신된 조견표를 적용함으로써, 현재 시점에서 기준범주를 조정하여야 할 지를 판별할 수 있다.
본 발명에 따른 다른 일 실시예에서는, 전술한 바의 조견표대신, 외부 서버에서 정하는 현 시점에 적용할 기준범주에 대한 정보를 바로 요청하여 수신함으로써, 이를 상기 데이터 통신부(114)에 재설정할 수도 있다. 이러한 기준범주의 재설정은 일정한 주기로 이루어질 수 있다.
지금까지 설명한 차량 데이터를 취득하여 외부의 특정 서버로 제공하는 과정에 있어서, 특별한 상태, 예를 들어 가용 통신망이 없는 상태가 상당 시간 지속되거나 또는 통신망을 통해 외부로 업로드하는 속도보다 더 빠른 속도로 차량 데이터가 취득되는 상태가 상당 시간 지속되는 경우 등에 의해 상기 유니트 공간(400)에 확보된 데이터 유니트의 저장공간이 모두 채워질 수 있다. 도 7은, 이러한 예외적 상태에서, 취득된 차량 데이터로부터 상기 데이터 분류부(112)가 새로운 신규 데이터 유니트를 생성하였을 때 그 유니트를 처리하는 방법을 예시적으로 도시한 것이다. 이하에서는 이 처리 방법에 대해 구체적으로 설명한다.
상기 데이터 분류부(112)는, 신규 데이터 유니트를 생성하고, 이의 저장을 위해 상기 가용셀의 수 필드(Cs_#)를 확인하였을 때 그 값이 0으로서 빈(blank) 셀이 없는 것을 나타내고 있으면(S710), 현재 생성한 신규 데이터 유니트( 이하, '새 유니트'로 약칭한다. )의 범주에 비해 기 정해진 기준격차 이상의 차이로 낮은 범주에 해당하는 데이터 유니트가 저장되어 있는 지를 확인한다(S711).
예를 들어, 새 유니트의 범주정보( e.g., 중요도 )가 3이고 상기 기준격차가 2이며, 범주 정보의 값이 작을수록 우선순위가 높다고 가정할 때, 상기 데이터 분류부(112)는, 범주정보가 5보다 큰 데이터 유니트들이 상기 유니트 공간(400)에 저장되어 있는지를 확인한다. 범주정보의 범위가 1에서 6까지라고 가정하면, 상기 데이터 분류부(112)는, 범주정보가 5와 6의 범주 엔트리의 기록셀 개수 필드(RC_#)의 값이 0보다 큰 지를 확인한다.
이러한 확인 과정에 의해, 상기 기준격차 이상의 차이로 낮은 범주에 할당되어 저장된 데이터 유니트가 없는 것으로 확인되면(S711), 상기 데이터 분류부(112)는 자신이 생성한 새 유니트를 버리고(S731), 그러한 데이터 유니트가 있는 것으로 확인되면, 그 데이터 유니트가 저장된 셀에 새 유니트를 겹쳐씀으로써, 저장되어 있던 기존 유니트를 버리고 새 유니트를 보존한다(S712).
만약, 새 유니트의 범주에 비해 상기 기준격차 이상의 차이로 낮은 범주가 복수개이고 그 각 범주에 모두 저장된 데이터 유니트들이 있을 때는, 그 중 가장 낮은 우선순위의 범주를 선정하여 그 범주에 속하는 데이터 유니트에 대해 새 유니트를 겹쳐쓰게 된다. 또한, 그 선정된 범주에 속하는 데이터 유니트들이 복수개 저장되어 있을 때는 취득일시가 가장 오래된 유니트를 선택하여 그 유니트에 겹쳐쓰게 된다.
이를 위해, 상기 데이터 분류부(112)는, 도 7에 예시된 바와 같이, 그 선정된 범주(71)의 엔트리의 읽기 포인터(o_ptrD)가 현재 가리키고 있는 맵요소에 기록된 셀 인덱스 'nnnn'을 읽어서, 그 인덱스가 가리키는 셀에 새 유니트를 저장함으로써 기존 데이터 유니트를 오버라이트한다(P71). 그리고, 그 엔트리의 기록셀 개수의 값을 1감소시키고, 읽기 포인터에 대해서는 그 값을 1증가시킨다(73).
새 유니트가 속하는 범주(72)에 대해서는, 그 엔트리의 기록 포인터(i_ptrC)가 현재 가리키고 있는 맵요소에 새 유니트를 기록한 셀의 인덱스 'nnnn'을 기록하고, 기록 포인터(i_ptrC)의 값을 1증가시키며(74), 기록셀 개수의 값도 1증가시킨다. 이 때 증가된 기록셀 개수의 값이 맵 용량(MpCap)의 값 이상이 되면 선두 맵요소를 가리키는 것으로 초기화시킨다.
전술한 실시예에서는, 새 유니트를 버릴 것인 지 저장되어 있는 기존 데이터 유니트에 오버라이트할 것인 지를, 현재 데이터 유니트가 저장되어 있는 범주들 중에서 가장낮은 우선순위의 범주와의 차이가 기 지정된 기준치 이상인 지에 근거하여 결정하였다.
본 발명에 따른 다른 실시예에서는, 새 유니트를 위한 오버라이트 여부를 범주 간의 상대적 격차가 아닌 절대적인 기준치에 근거하여 결정할 수도 있다. 즉, 새 유니트의 범주가 지정된 기준치 이상의 우선순위이면, 그 기준치보다 낮은 우선순위의 범주들 중에서 최하위 순위의 범주에 속하는 데이터 유니트를 새 유니트로써 오버라이트할 수도 있다.
한편, 본 발명에 따른 일 실시예에서는, 상기 유니트 공간(400)에 가용할 수 있는 빈 셀이 없거나 또는 빈 셀의 수가 지정된 임계치 이하이면 저장된 데이터 유니트를 압축하여 기록공간을 더 확보할 수도 있다.
본 실시예에서는, 상기 제어부(110)는 상기 가용셀의 수 필드(Cs_#)의 값이 0이거나 또는 기 지정된 임계치 이하이면, 상기 유니트 공간(400)에 저장된 데이터 유니트들에 대한 축약(compress) 동작을 수행한다.
이 축약 동작을 수행할 때는 상기 데이터 분류부(112)와 데이터 통신부(114)에 통지하여 유니트 공간(400)에 대한 데이터 쓰기와 읽기가 중단되게 한다. 본 실시예에서는, 도 8에 예시된 바와 같이, 셀 점유표(810)와 연계하여, 셀의 데이터가 축약되었는 지 여부를 지시하는 팩 플래그(Pflg)와, 셀의 크기가 기록되는 셀크기(C_Sz)의 필드가 상기 제어부(110)의 저장공간의 구조 및 시스템의 구축을 위한 초기화때 확보되며, 축약되어 있지 않음을 나타내는 값('No')과, 구획된 셀의 크기 값(SINIT )이 해당 필드에 각기 기록된다.
데이터를 축약할 때는, 유니트 공간(800)의 각 데이터 유니트를 읽어서 그 데이터를 알려진 공지의 방법들 중 적절한 방식을 선택하여 그 방식으로 압축한다. 이 때 선택되는 압축 방식은 공지된 방법들 중의 하나인 무손실 압축(lossless compression)일 수도 있고 특별한 손실 압축(lossy compression)일 수도 있다.
손실 압축을 적용할 때는, 예를 들어, 데이터 유니트에 실린 데이터가 촬영된 영상의 데이터이면, 그 영상 데이터를 디코딩한 후 픽처를 더 낮은 비율로 샘플링(sampling)하거나 픽처 크기를 축소하여 다시 엔코딩하는 방식으로 그 데이터를 압축하고, 차량 상태나 운전 상태 등을 수송하는 데이터 유니트이면, 그 데이터 유니트에 포함되어 있는 데이터 블록의 일부를 제거하여 유니트를 재구성하게 된다. 예를 들어, 데이터 유니트에 실린, 10초 단위마다 취득된 차량 데이터 블록들에서 2개의 블록마다 하나씩 삭제하여 20초 단위마다 취득된 차량 데이터 블록들의 데이터 유니트로 재구성할 수 있는 것이다.
이렇게 데이터 유니트가 축약되면, 초기의 셀 크기(SINIT)보다 작은 크기의 셀의 영역을 확보하여 그 영역에 축약된 데이터 유니트를 기록한다. 축소되는 셀의 크기에 대해서는, 적용된 데이터 축약 알고리즘을 차량 데이터에 대해 실험적으로 적용함으로써 미리 파악해 둔 값을 적용하게 된다. 예를 들어, 적용되는 축약 알고리즘에 의해 차량 데이터가 평균적으로 35%~25% 범위에서 축약된다면, 축소되는 셀의 크기(SRED)를 0.8*SINIT로 지정해 둔다. 물론, 데이터 유니트에 대해 1차로 축약을 행한 결과 그 크기가 축소셀의 크기(SRED)보다 더 크면, 축약 강도를 더 높여서 2차로 축약한다. 이는, 상기 데이터 분류부(112)가 데이터 유니트를 상기 유니트 공간에 저장하기 전에 데이터 축약을 해야 하는 경우에도 마찬가지이다.
상기 제어부(110)는, 서로 연속된 셀들의 데이터 유니트들에 대해서 순차적으로 축약하면서 축소된 셀 단위로 인접하여 기록하고, 빈 셀이 있으면 그 셀에 대해서는 축소된 셀 크기만큼 비워둠으로써 데이터 축약과 동시에 유니트 공간을 재구획한다.
이와 같은 방식으로 데이터 유니트들을 축약함으로써 가용셀들이 유니트 공간(820)의 후미에 추가로 확보(821)되는데, 상기 제어부(110)는 그 증가된 셀들(821)의 수만큼 셀 점유표에 셀 플래그 영역(831)을 부가하여 확장 셀 점유표(830)를 구축한다. 물론, 추가로 부가된 영역(831)의 셀 플래그들에는 비어있음을 나타내는 값( 예를 들어, 0 )이 기록된다.
그리고, 셀 크기 필드(C_Sz)에는 축소된 셀의 크기(SRED)를 기록하고, 가용셀의 수 필드(Cs_#)에는 기존의 값(α)에서 추가로 확보된 셀들의 수(LxN)를 더한 값을 기록하며(841), 마지막으로 팩 플래그(Pflg)에는 데이터가 축약되었음을 나타내는 값( e.g., 'Yes' )을 기록함으로써, 유니트 공간에 대한 데이터 축약 동작을 종료하고, 그 사실을 상기 데이터 분류부(112)와 데이터 통신부(114)에 통지한다.
본 실시예에서는, 상기 데이터 분류부(112)는, 수신된 차량 데이터로써 데이터 유니트를 구성하여 상기 유니트 공간에 저장하기 전에, 상기 팩 플래그(Pflg)의 값을 확인하고, 그 값이 축약 상태를 나타내고 있으면, 자신이 구성한 데이터 유니트에 대해서 그 데이터를 축약한 후 유니트 공간(820)의 빈 셀에 저장하게 된다.
빈 셀의 실제 위치는, 셀 점유표(810,830)에서 찾은 블랭크로 마킹된 셀의 첫번째로부터의 오프셋( 즉, 셀 인덱스 )에 셀 크기 필드(C_Sz)에 기록된 값(SINIT 또는 SRED)을 곱하여 얻은 값으로써 정해진다.
상기 데이터 통신부(114)는, 임의의 범주에 속하는 데이터 유니트를 업로드하고자 할 때, 상기 팩 플래그(Pflg)의 값을 확인하고 그 값이 축약 상태를 나타내고 있으면, 셀에서 읽은 데이터 유니트를 압축 해제하여 업로드하게 된다. 만약, 데이터 유니트를 제공받는 특정 서버와 기 약속된 경우에는, 데이터가 축약되었음을 나타내는 플래그를 데이터 유니트의 헤더에 추가로 기입하여 압축 해제없이 그대로 전송할 수도 있다.
만약, 유니트 공간의 데이터 유니트들에 대해 손실 압축의 방식을 적용한 경우라면, 상기 데이터 통신부(114)는, 데이터 유니트의 헤더에 데이터 축약을 알리는 정보를 추가할 필요없이 그대로 원격지로 업로드할 수 있다.
상기 데이터 통신부(114)는, 임의의 범주 엔트리의 셀 맵에서 하나의 셀 인덱스를 읽었을 때, 상기 데이터 분류부(112)와 마찬가지로, 그 셀 인덱스에 셀 크기 필드(C_Sz)에 기록된 값(SINIT 또는 SRED)을 곱하여 상기 유니트 공간(800,820)에서 읽을 위치를 결정하게 된다.
본 발명에 따른 일 실시예에서는, 상기 유니트 공간(400)에 가용할 수 있는 공간의 크기와 무관하게 저장된 데이터 유니트들에 대해 무손실 압축을 수행하여 가용할 수 있는 기록공간을 더 확보할 수도 있다.
또한, 본 발명에 따른 일 실시예에서는, 유니트 공간의 데이터 유니트들에 대한 손실 또는 무손실 압축에 있어서, 범주별로 선택적으로 수행할 수도 있다. 예를 들어, 우선순위가 낮은 범주에 속하는 유니트들에 대해서만 압축을 수행할 수도 있다. 본 실시예에서는, 데이터가 축약되었음을 나타내는 팩 플래그가, 셀 점유표가 아닌 셀 탐색표의 범주 엔트리의 필드로서 할당된다. 본 실시예에서는, 상기 데이터 분류부(112)는, 수신된 차량 데이터로써 데이터 유니트를 구성하여 상기 유니트 공간에 저장하기 전에, 그 유니트에 할당한 범주에 해당하는 셀 탐색표 상의 범주 엔트리의 팩 플래그의 값을 확인하고, 그 값이 축약 상태를 나타내고 있으면, 자신이 구성한 데이터 유니트에 대해서 그 데이터를 축약한 후 유니트 공간에 저장하고, 그렇지 않으면 구성한 데이터 유니트 그대로 저장하게 된다.
본 발명에 따른 일 실시예에서는, 전술한 바의 기준범주에 근거하여 유니트 공간에 저장하는 영역이 서로 구분되어 저장되도록 관리할 수 있다. 이를 위해, 상기 제어부(110)는, 초기에 상기 버퍼(113)에 저장공간의 구조와 시스템을 구축할 때, 도 9에 예시된 바와 같이, 2개의 셀 점유표, 즉 제 1셀 점유표(910)와 제 2셀 점유표(920)를 작성한다. 그리고, 각 셀 점유표에 연계하여 가용셀의 수(Cs_#C, Cs_#W)와, 선두셀 인덱스(sCIdxC, sCIdxW) 필드도 각각 할당한다. 본 실시예가 전술한 실시예들 중 어느 하나와 결합되어 실시되는 경우에는, 앞서 언급한 다른 필드들도 각 셀 점유표와 연계하여 할당될 수 있다.
그리고, 상기 버퍼(113)에 가용할 수 있는 저장공간을 확보하고 그 확보된 저장공간을 기 정해진 셀의 크기로 구획하여 유니트 공간(900)을 구축하고, 그 유니트 공간(900)을 기 정해진 할당 비율에 따라 제 1유니트 공간(901)과 제 2유니트 공간(902)으로 분할한다. 여기서, 제 1유니트 공간(901)은 기준범주 이상의 범주들로 할당된 데이터 유니트들을 저장할 공간히고, 제 2유니트 공간(902)는 그 보다 낮은 범주들에 속하는 데이터 유니트들을 저장할 공간이다. 달리 표현하면, 원칙적으로 상기 제 1유니트 공간(901)은 셀룰러 망을 사용해 업로드할 차량 데이터를 저장하기 위한 공간이고, 상기 제 2유니트 공간(902)은 Wi-Fi 망을 통해 업로드할 차량 데이터를 저장하기 위한 공간이다. 여기서 '원칙적'이란 용어를 사용한 이유는, 그 통신망의 사용을 의도한 차량 데이터를 위한 저장 공간이지만, 전술한 바의 조건이나 상황( 데이터 유니트에 할당되는 긴급도, 업로드 도중 Wi-Fi 망 사용 불가, 셀룰러 망과 Wi-Fi 망이 동시에 사용가능한 경우 등 )에 따라서는, 그 저장 공간의 데이터가 그 의도된 통신망이 아닌 다른 통신망을 사용하여 전송될 수도 있기 때문이다. 즉, 전술한 다양한 실시예들의 설명에서와 같이, 셀룰러 망의 사용이 의도된 차량 데이터의 저장공간이지만 Wi-Fi 망을 사용해 전송될 수도 있고, 그 역으로, Wi-Fi 망의 사용이 의도된 차량 데이터의 저장공간이지만 셀룰러 망을 사용해 전송될 수도 있기 때문이다.
상기와 같이 유니트 공간(900)을 분할한 후에는, 각 분할 공간(901,902)의 선두 셀의 유니트 공간의 시작점으로부터의 오프셋에 대해서, 제 1유니트 공간(901)의 선두셀 오프셋은 제 1셀 점유표(910)와 연계된 선두셀 인덱스 필드(sCIdxC)에, 제 2유니트 공간(902)의 선두셀 오프셋은 제 2셀 점유표(920)와 연계된 선두셀 인덱스 필드(CIdxW)에 각각 기록하고, 각 분할공간(901,902)에 확보된 셀의 개수도 동일한 방식으로 가용셀의 수 필드(Cs_#C, Cs_#W)에 각각 기록하며, 마지막으로 서로 구분되는 각 셀 점유표(910,920)의 모든 셀 플래그들을 블랭크로 마킹함으로써, 저장공간의 구축작업을 완료한다.
도 9에 따른 실시예에서는, 상기 데이터 분류부(112)가 구성한 데이터 유니트를 저장하고자 할 때, 그 유니트에 할당한 범주가 기준범주보다 낮은 지의 여부에 따라 저장할 공간을 결정하여 그 공간의 빈 셀에 저장하게 된다. 이를 위해서, 상기 데이터 분류부(112)는, 현재 저장할 유니트의 범주, 예를 들어 중요도가 기준범주( 예를 들어, 중요 기준치 ) 이상이면 상기 제 1셀 점유표(910)에서 블랭크로 마크된 셀 플래그를 찾고, 기준범주보다 낮으면 상기 제 2셀 점유표(920)에서 블랭크로 마크된 셀 플래그를 찾은 다음, 그 찾은 셀 플래그의 해당 점유표에서의 오프셋에 해당 점유표와 연계되어 있는 선두셀 인덱스 필드(sCIdxC 또는 sCIdxC)의 값(0 또는 PxN)을 더한 값의 인덱스가 가리키는 셀에 데이터 유니트를 저장하게 된다.
이러한 방식으로, 상기 데이터 분류부(112)가 구성한 데이터 유니트를 상기 제 1유니트 공간(901) 또는 상기 제 2유니트 공간(902)에 저장함으로써, 기준범주를 기준으로, 다르게 표현하면 원칙적으로 어떤 통신망을 사용하여 전송할 것인 지를 기준으로 유니트 공간에서 영역이 서로 나뉘어져 저장된다.
본 발명에 따른 일 실시예에서는, 도 9에서와 같이 원칙적으로 사용할 통신망을 기준으로 데이터 유니트들을 영역을 구분하여 저장하는 경우에, 제 1유니트 공간(901)에 저장할 데이터 유니트가 생성되었지만, 그 공간(901)에는 더 이상의 빈 셀이 없는 경우가 발생하면, 상기 데이터 분류부(112)는 그 데이터 유니트를 상기 데이터 통신부(114)에 직접 전달하면서 긴급 전송을 요청할 수도 있다.
본 발명에 따른 다른 일 실시예에서는, 제 1유니트 공간(901)에 저장할 새 데이터 유니트를 생성하였지만, 그 공간(901)에는 더 이상의 빈 셀이 없는 경우에, 그 새 데이터 유니트에 할당한 범주와 동일하거나 그 범주보다 높은 범주의 앞서 저장되어 있는 데이터 유니트를 찾아서 셀룰러 망을 사용하여 외부 서버로 바로 업로드시키고, 그에 따라 비워진 셀에 상기 새 데이터 유니트를 저장한다. 이를 위해, 상기 데이터 분류부(112)는, 상기 찾은 데이터 유니트를 가리키는 정보, 예를 들어 셀 인덱스를 상기 데이터 통신부(114)에 전달하면서 그 데이터 유니트의 긴급 전송을 요청하게 된다.
만약, 상기 새 데이터 유니트의 범주 이상의 범주가 복수이면 그 중 가장 높은 범주를 선택하고, 그 범주의 데이터 유니트가 복수개이면 그 중에서는 저장된 시간이 가장 오래된 데이터 유니트를 긴급 전송할 유니트로 선택하여 그 셀 인덱스 정보를 상기 데이터 통신부(114)에 전달한다.
전술한 바와 같은 긴급 전송 요청이 있게 되면, 상기 데이터 통신부(114)는, 그 전달된 데이터 유니트, 또는 전달된 셀 인덱스가 가리키는 셀로부터 읽어 낸 데이터 유니트를 셀룰러 망을 사용해 외부의 특정 서버로 바로 업로드한다. 이에 더하여, 상기 제 1유니트 공간(901)에 저장되어 있는 데이터 유니트들에 대하여 일정 비율( 예를 들어, 1%, 2%, 5% 등 )의, 우선순위가 기준범주 이상인 범주들에 속하는 데이터 유니트들도 바로 셀룰러 망을 사용하여 외부의 서버로 업로드하게 된다.
본 발명에 따른 일 실시예에서는, 제 1유니트 공간(901)의 여유 공간이 부족한 경우에, 예를 들어 현재 구성된 데이터 유니트를 저장할 셀이 없거나, 또는 가용셀의 수가 지정된 임계치 이하가 되면, 상기 제 2유니트 공간(902)의 일부 영역까지 상기 제 1유니트 공간(901)을 확장함으로써 저장공간을 증가시킬 수도 있다. 도 10은, 본 실시예에 따라 각 유니트 공간을 재할당함으로써 셀 점유표를 재구성하는 것을 보여준다. 도 10의 예시는, 제 2유니트 공간의 2N 개의 셀들을 제 1유니트 공간으로 재할당하는 것을 가정한 것이다.
본 실시예에서는, 상기 제 1유니트 공간(901)이 부족한 것으로 확인되면, 상기 데이터 분류부(112)는 그 사실을 상기 제어부(110)에 통지한다. 이 통지가 있게 되면, 상기 제어부(110)는, 저장공간 재할당을 수행하여, 기 정해진 확장크기의, 제 1유니트 공간과 이어져 연속된 상기 제 2유니트 공간(902)의 영역(1001)( 도 10의 예에서, 선두 2N 개의 연속된 셀들 )을 상기 제 1유니트 공간으로 재할당하게 된다.
이 재할당을 위해서, 상기 제어부(110)는, 먼저, 그 영역(1001)에 저장되어 있는 데이터 유니트들을 제 2유니트 공간의 빈 셀들로 이동시키고, 그에 따라 제 2셀 점유표(1020)에서 대응되는 셀 플래그들의 값도 변경시키며, 이동 전의 셀의 인덱스를 기록하고 있는 맵요소를 셀 맵에서 찾아서 그 맵요소에 이동 후의 셀의 인덱스로 대체 기록한다. 이러한 동작에 의해 상기 영역(1001)이 비워지면, 상기 제어부(110)는 그 영역(1001)에 대해 위치 매핑되고 있는 상기 제 2셀 점유표(1020)의 선두 부분(1021)을 제거하고, 그 제거된 부분만큼의 셀 플래그들을 제 1셀 점유표(1010)에 추가 할당하여 부가하고(1011), 그 추가 셀 플래그들에 블랭크로 마킹해 둔다.
그리고, 상기 제 2셀 점유표와 연계된 선두셀 인덱스 필드(sCIdxW)의 값을, 재할당에 의해 축소된 제 2유니트 공간의 선두 셀의 인덱스를 기록하고(1022), 가용셀의 수 필드(Cs_#W)에는 재할당에 의해 사라진 셀들의 수만큼 차감하여 기록한다(1023). 마지막으로, 상기 제 1셀 점유표와 연계된 가용셀의 수 필드(Cs_#C)에 재할당에 의해 새로이 추가된 셀들의 수만큼 가산하여 기록함으로써 저장공간에 대한 재할당 동작을 완료한다. 재할당 동작이 완료되면, 이 사실을 상기 데이터 분류부(112)와 상기 데이터 통신부(114)에 통지하여 정상적인 저장 및 업로드 동작이 이루어지게 한다.
전술한 실시예에서, 만약, 상기 제 2유니트 공간에서 상기 확장크기에 해당하는 빈 공간을 확보하기에는 현재의 가용셀의 수가 부족하면, 상기 제어부(110)는, 그 가용셀의 수만큼만 상기 제 1유니트 공간을 제 2유니트 공간으로 확장한다. 다르게는, 그 부족한 수만큼의 셀들을 선정하여 그 셀들을 빈 셀로 만든 후에, 전술한 바와 같이 재할당을 수행할 수도 있다.
데이터 유니트가 저장되어 있는 셀을 빈 셀로 만들 때는, 그 셀에 대응되는 셀 플래그를 블랭크로 표시함과 함께 그 셀의 인덱스를 기록하고 있는 맵요소를 셀 맵을 찾아서 그 맵요소도 삭제한다.
도 11은 맵 요소의 삭제 과정을 보다 구체적으로 보여주는 도면이다. 도시된 바와 같이, 삭제할 맵요소(1101)가 정해지면, 그 맵요소(1101)보다 앞선 위치의, 유효한 셀 인덱스가 기록되어 있는 맵요소들의 값을 한칸씩 앞으로( 읽기/기록 포인터가 진행하는 방향으로 ) 이동시켜 기록하고(P1110), 읽기 포인터(o_ptrO)도 1을 증가시켜 다음의 맵요소를 가리키도록 한다(o_ptrN). 여기서, 유효한 셀 인덱스란, 원격지로 아직 업로드되지 않은 데이터 유니트가 기록되어 있는 셀의 인덱스를 의미한다.
맵요소를 삭제할 때, 그 맵요소의 다음의 맵요소들을 한칸씩 뒤로 이동시켜 기록한 후 기록 포인터를 1감소시킬 수도 있다.
확장 공간을 확보하기 위해 부족한 수만큼의 셀들을 선정할 때, 그 선정은 우선순위가 가장 낮은 범주의 데이터 유니트에 할당된 셀들부터 선정하게 된다. 즉, 현재 확보해야 할 셀들의 수가, 가장 낮은 우선순위의 범주에 해당하는 범주 엔트리의 기록셀 개수 필드(RC_#)에 기록된 값보다 크면, 그 범주에 속하는 데이터 유니트들이 기록된 셀들은 모두 선정하고, 그 보다 높은 우선순위의 범주에 해당하는 데이터 유니트들이 기록된 셀들에서 더 필요한 수의 셀들을 선정하는 방식으로 빈 셀로 만들 셀들을 선정하게 된다.
한편, 본 발명에 따른 일 실시예에서는, 도 9에서와 같이 원칙적으로 사용할 통신망을 기준으로 데이터 유니트들을 영역 구분하여 저장하는 경우에, 제 2유니트 공간(902)에 저장할 새 데이터 유니트가 구성되었지만, 그 공간(902)에 더 이상의 빈 셀이 없는 경우가 발생하면, 도 7을 참조로 설명한 바와 같이, 그 새 데이터 유니트를 버리거나, 또는 저장되어 있는 유니트들 중에서 우선순위가 가장 낮은 범주에 속하면서 취득일시가 가장 오래된 데이터 유니트를 새 데이터 유니트로써 오버라이트할 수도 있다. 이와 함께, 데이터 유니트들을 상기 제 2유니트 공간(902)에서 추가적으로 더 삭제함으로써 빈 공간을 더 확보할 수도 있다. 예를 들어, 가장 낮은 순위의 범주에 해당하는 데이터 유니트들을 모두 삭제하거나, 또는 취득일시가 일정 시간( 예를 들어, 24시간 ) 경과된 데이터 유니트들을 모두 삭제할 수도 있다.
원칙적으로 사용할 통신망을 기준으로 데이터 유니트들을 영역 구분하여 저장하는 실시예들에 대한 앞서의 설명에서, 서로 구분된 저장 영역이 연속적인 것을 전제하였으나, 이는 설명의 편의를 위한 것일 뿐, 서로 구분된 저장 영역이 물리적으로 반드시 연속적이지 않아도 전술한 실시예의 원리와 개념은 그대로 적용될 수 있다.
예를 들어, 전술한 바와 같은 기능을 하는 제 1셀 점유표와 제 2셀 점유표의 각각에 대해 유니트 공간에서 확보된 총 셀들의 수와 동일한 수의 셀 플래그를 갖도록 그 크기를 구축한 후, 각 셀 점유표에서 사용하지 않을 셀들에 대해서는 불사용의 특별한 표기( 예를 들어, '-1' )를 함으로써, 해당 셀 점유표에서 사용할 셀들을 할당할 수 있다. 이렇게 하면, 각 셀 점유표에서 사용할 셀들이 연속적일 필요가 없이 임의적으로 산포된 셀들이 논리적으로 하나의 영역( 전술한 바의 제 1유니트 공간과 제 2유니트 공간에 대응되는 영역 )을 이루게 된다. 본 실시예에서는, 제 1 또는 제 2유니트 공간에서 빈 셀을 찾을 때, 해당 셀 점유표 상에서, 불사용 표기가 있는 셀 플래그는 무시하고, 블랭크로 표기된 셀 플래그를 찾게 된다.
그리고, 본 실시예에서는, 제 1유니트 공간이 부족하여 제 2유니트 공간의 일부 영역을 재할당하여 제 1유니트 공간을 확장할 때, 제 2유니트 공간에 저장되어 있는 데이터 유니트들을 다른 셀로 이동시킬 필요없이, 확보하고자 하는 크기에 해당하는 현재 비어있는 셀들의 셀 인덱스에 각기 대응되는, 제 2셀 점유표 상의 셀 플래그들에 불사용 표기를 마크하고 제 1셀 점유표 상의 셀 플래그들에 대해서는 불사용 표기에서 블랭크로 변경하면 된다. 따라서, 본 실시예에서는, 재할당에 의해서 제 1유니트 공간으로 편입되는 제 2유니트 공간의 영역이 연속적일 필요도 없으며, 또한 그 영역이 제 1유니트 공간과 이어져 있을 필요도 없다.
전술한 실시예들에서 상세히 설명된, 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법에 적용된 다양한 방식들은 상호 양립할 수 없는 경우가 아니라면 적절히 선택 결합되어 함께 실시될 수 있다.
지금까지, 셀룰러 망으로 칭한 이동 통신망외에, 차량에서 원격지로 데이터 전송을 위해 함께 사용되는 무선 통신망으로서 고속의 무선랜인 Wi-Fi 망을 예로 하여 본 발명의 원리와 개념을 구체적으로 예시하여 설명하였다. 하지만, 본 발명의 원리와 개념은, Wi-Fi 망외의, 데이터 서비스의 이용시 비용이 없거나 상기 셀룰러 망보다 적게 드는( 즉, 이용자에게 비용적 부담을 덜 지우는 ) 다른 종류의 비(非) 셀룰러 방식의 무선 통신망 또는 차량의 정차 시에 유선으로 연결되는 통신망, 또는 데이터 서비스 영역이 제한적이고 그 서비스 영역 또한 국부적으로(locally) 산포되어 있는 무선 또는 유선 통신망이 있다면 그 통신망과 셀룰러 망을 포함하는 복수의 통신망의 사용에 대해서 그대로 적용할 수 있으므로, 적용하는 데이터 통신망이 본 명세서에서 예시된 통신망과 다르다는 이유로써는 본 청구범위에 의한 권리범위가 배척될 수 없다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
20i: 게이트 웨이 100: 지능형 데이터 수집 단말기
110: 제어부 111: 데이터 취득부
112: 데이터 분류부 113: 버퍼
114: 데이터 통신부 122: 셀룰러 모뎀
122: 셀룰러 코덱 131: Wi-Fi 모뎀
132: Wi-Fi 코덱 400: 유니트 공간
410: 셀 점유표 420: 셀 탐색표

Claims (34)

  1. 차량 데이터 수집용 단말 장치에 있어서,
    차량에서 발생된 데이터를 저장하기 위한 저장부와,
    차량에서 발생되는 데이터를 취득하여 이를 지정된 원격지로 전송하기 위한 데이터 유니트로 구성하고, 복수의 범주 중에서 하나를 그 구성된 데이터 유니트에 할당하여 상기 저장부에 저장하는 획득부와,
    서로 다른 통신 방식의 제 1통신망과 제 2통신망을 선택적으로 사용하여 데이터 통신을 수행할 수 있으며, 상기 저장부에 저장되어 있는 상기 데이터 유니트를 상기 원격지로 전송하기 위한 전송부를 포함하여 구성되되,
    상기 전송부는, 상기 제 1통신망만이 사용 가능한 상태이면, 상기 저장부에 저장되어 있는 미전송 데이터 유니트들 중에서, 정해진 기준치 이상의 우선순위를 갖는 범주가 할당되어 있는 데이터 유니트에 대해서는 상기 제 1통신망을 사용하여 상기 원격지로 전송하고, 상기 제 2통신망이 사용 가능한 상태이면, 상기 미전송 데이터 유니트들 중에서, 상기 기준치 미만의 우선순위를 갖는 범주가 할당되어 있는 데이터 유니트에 대해서도 상기 제 2통신망을 사용하여 상기 원격지로 전송하도록 구성된 것인 단말 장치.
  2. 제 1항에 있어서,
    상기 전송부는, 상기 제 2통신망을 사용하여 상기 미전송 데이터 유니트들을 전송함에 있어서, 해당되는 범주의 우선순위가 높은 순서대로 전송하도록 구성된 것인 단말 장치.
  3. 제 1항에 있어서,
    상기 전송부는, 상기 미전송 데이터 유니트를 전송함에 있어서, 할당된 범주 외에 각 미전송 데이터 유니트에 할당된 속성 값에 근거하여 그 전송순서를 결정하도록 구성된 것인 단말 장치.
  4. 제 3항에 있어서,
    상기 전송부는, 상기 미전송 데이터 유니트들의 전송순서를 결정함에 있어서, 상기 속성 값이 동일한 미전송 데이터 유니트들에 대해서는 할당된 범주의 우선순위에 따라 그 전송순서를 결정하도록 구성된 것인 단말 장치.
  5. 제 3항에 있어서,
    임의의 미전송 데이터 유니트에 할당된 상기 속성 값은, 그 임의의 미전송 데이터 유니트가 취득된 시점으로부터 경과된 시간, 또는 그 임의의 미전송 데이터 유니트에 실린 차량 데이터가 나타내는 차량의 상태 정보에 근거하여 결정된 것인 단말 장치.
  6. 제 3항에 있어서,
    임의의 미전송 데이터 유니트에 할당된 상기 속성 값은, 그 임의의 미전송 데이터 유니트가 취득된 시점으로부터 경과된 시간과, 그 임의의 미전송 데이터 유니트에 할당된 범주에 대해 설정된 한계시간과의 차이에 근거하여 결정된 것이되,
    상기 한계시간은, 상기 복수의 범주에 대해 적어도 2개의 범주 간에는 달라지는 방식으로 상기 복수의 범주 각각에 대해 설정되는 것인 단말 장치.
  7. 제 3항에 있어서,
    상기 전송부는, 상기 제 1통신망만이 사용 가능한 상태일 때, 상기 기준치 미만의 우선순위를 갖는 범주가 할당된 미전송 데이터 유니트이더라도 그 데이터 유니트에 할당된 상기 속성 값이 정해진 기준치 이상이면, 그 데이터 유니트에 대해서는 상기 제 1통신망을 사용하여 상기 원격지로 전송하도록 구성된 것인 단말 장치.
  8. 제 1항에 있어서,
    상기 전송부는, 상기 제 2통신망을 사용하여 상기 미전송 데이터 유니트들 중 하나의 유니트를 상기 원격지로 전송하는 도중에 상기 제 2통신망의 사용이 불가해 진 경우에, 그 하나의 유니트에 할당된 범주가 상기 기준치 이상의 우선순위를 갖는 것이면 상기 제 1통신망을 사용하여 그 하나의 유니트에 대해 미전송된 잔여 데이터를 이어서 전송하도록 구성된 것인 단말 장치.
  9. 제 8항에 있어서,
    상기 전송부는, 상기 하나의 유니트에 할당된 범주가 상기 기준치 미만의 우선순위를 갖더라도, 상기 잔여 데이터의 크기가 지정된 제한치 이하인 경우일 때는 상기 제 1통신망을 사용하여 상기 잔여 데이터를 이어서 전송하도록 구성된 것인 단말 장치.
  10. 제 9항에 있어서,
    상기 전송부는, 상기 잔여 데이터의 크기가 상기 제한치 이하인 경우라도, 상기 하나의 유니트에 할당된 범주가 상기 기준치보다 낮은 하위 기준치 미만의 우선순위를 가질 때는, 상기 제 1통신망을 사용하여 잔여 데이터를 이어서 전송하는 동작을 보류하도록 구성된 것인 단말 장치.
  11. 제 1항에 있어서,
    상기 기준치는, 상기 제 1통신망을 사용하는데 따른 비용의 변화에 따라 적응적으로 변경 설정되되, 그 비용이 높아지면 더 높은 우선순위에 해당하는 값으로 변경 되는 것인 단말 장치.
  12. 제 11항에 있어서,
    상기 기준치는, 현재 일시가 속하는 요일 또는 시간대에 따라 적응적으로 설정되는 것인 단말 장치.
  13. 제 1항에 있어서,
    상기 기준치는, 원격지의 특정 서버에 요청하여 수신되는 정보에 의해 설정되는 것인 단말 장치.
  14. 제 1항에 있어서,
    상기 획득부는, 데이터 유니트로 구성한 차량 데이터의 특성에 근거하여 그 데이터 유니트의 범주를 할당하도록 구성되되,
    상기 특성은, 그 차량 데이터를 수송한 메시지의 구분자(ID), 그 차량 데이터가 나타내는 차량의 상태 정보, 또는 그 차량 데이터를 전달한 기기의 식별자에 의해 구분되어지는 것인 단말 장치.
  15. 제 1항에 있어서,
    상기 획득부는, 취득한 차량 데이터로부터 새 데이터 유니트를 구성하였지만, 상기 저장부에 그 새 데이터 유니트를 저장할 공간이 부족하면, 그 새 데이터 유니트에 할당한 제 1범주보다 낮은 우선순위의 제 2범주가 할당된 상기 저장부에 저장되어 있는 기존 데이터 유니트를 상기 새 데이터 유니트로써 오버라이트(overwrite)하도록 구성된 것인 단말 장치.
  16. 제 15항에 있어서,
    상기 제 2범주는, 우선순위에 있어 상기 제 1범주와 지정된 기준격차 이상 차이가 나고 또한 상기 저장부에 저장되어 있는 데이터 유니트들의 범주 중에서 가장 낮은 우선순위의 범주인 것인 단말 장치.
  17. 제 15항에 있어서,
    상기 획득부는, 상기 저장부에 저장되어 있는 상기 제 2범주가 할당된 데이터 유니트가 복수개일 때는, 그 복수개의 유니트들 중에서 취득 일시가 가장 오래된 데이터 유니트를 상기 새 데이터 유니트로써 오버라이트하도록 구성된 것인 단말 장치.
  18. 제 15항에 있어서,
    상기 획득부는, 상기 새 데이터 유니트에 할당한 제 1범주보다 지정된 기준격차 이상의 차이로 우선순위가 낮은 범주가 할당된 상기 저장부에 저장되어 있는 기존 데이터 유니트가 없으면 상기 새 데이터 유니트를 버리도록 구성된 것인 단말 장치.
  19. 제 1항에 있어서,
    상기 획득부가 구성하는 데이터 유니트를 저장할 수 있는 상기 저장부의 여유 공간이 지정된 임계치 이하이면, 상기 저장부에 저장되어 있는 데이터 유니트들의 적어도 일부에 대하여 해당 데이터를 축약하여 재저장함으로써 상기 저장부의 저장 공간을 더 확보하도록 구성된 제어부를 더 포함하여 구성된 것인 단말 장치.
  20. 제 19항에 있어서,
    상기 획득부는, 상기 저장부의 데이터 유니트들이 축약되어 있는 경우에는, 차량에서 발생되는 데이터로부터 구성한 새 데이터 유니트의 데이터도 축약한 후에 상기 저장부에 저장하도록 구성된 것인 단말 장치.
  21. 제 19항에 있어서,
    상기 획득부는, 차량에서 발생되는 데이터로부터 구성한 새 데이터 유니트에 할당한 범주에 속하는, 상기 저장부에 저장된 데이터 유니트들이 축약되어 있는 지의 여부에 근거하여, 상기 새 데이터 유니트에 대해서 선택적으로 축약하도록 구성된 것인 단말 장치.
  22. 제 19항에 있어서,
    상기 전송부는, 상기 저장부의 임의의 데이터 유니트가 축약되어 있는 경우에는, 그 임의의 데이터 유니트에 대해 해당 데이터를 축약 해제한 후 전송하거나, 아니면 데이터가 축약되었음을 나타내는 정보를 부가하여 상기 원격지로 전송하도록 구성된 것인 단말 장치.
  23. 제 1항에 있어서,
    상기 획득부는, 차량에서 발생되는 데이터로부터 구성하는 데이터 유니트들에 대해서, 그 유니트들에 할당한 범주가 상기 기준치 이상의 우선순위를 갖는 지의 여부에 근거하여 상기 저장부 상에서 저장 공간이 나뉘어져 저장하되,
    상기 저장 공간은, 적어도, 상기 기준치 이상의 우선순위를 갖는 범주가 할당된 데이터 유니트들이 저장되는 제 1공간과, 상기 기준치 미만의 우선순위를 갖는 범주가 할당된 데이터 유니트들이 저장되는 제 2공간으로 구획되어져 있는 것인 단말 장치.
  24. 제 23항에 있어서,
    상기 전송부는, 상기 획득부가 상기 제 1공간에 저장해야 할 새 데이터 유니트를 구성하였으나 상기 제 1공간에는 그 새 데이터 유니트를 저장할 공간이 없는 경우에, 상기 새 데이터 유니트를 상기 제 1통신망을 사용해 바로 전송하도록 구성된 것인 단말 장치.
  25. 제 23항에 있어서,
    상기 전송부는, 상기 획득부가 상기 제 1공간에 저장해야 할 새 데이터 유니트를 구성하였으나 상기 제 1공간에는 그 새 데이터 유니트를 저장할 공간이 없는 경우에, 상기 새 데이터 유니트에 할당된 범주와 동일한 또는 그 범주보다 우선순위가 높은 범주가 할당되어 있는, 상기 제 1공간에 저장되어 있는 기존 데이터 유니트를 상기 제 1통신망을 사용해 바로 전송하고,
    상기 획득부는, 상기 기존 데이터 유니트가 저장되어 있던 곳에 상기 새 데이터 유니트를 저장하도록 구성된 것인 단말 장치.
  26. 제 24항 또는 제 25항에 있어서,
    상기 전송부는, 상기 제 1공간에 상기 새 데이터 유니트를 저장할 공간이 없어서 하나의 데이터 유니트를 바로 전송한 후에는, 상기 제 1공간에 저장되어 있는 다른 데이터 유니트들에 대해서도 그 일부를 상기 제 1통신망을 사용해 전송함으로써 상기 제 1공간에 여유 공간을 확보하도록 구성된 것인 단말 장치.
  27. 제 23항에 있어서,
    상기 제 1공간의 여유 공간이 지정된 임계치 이하가 되면, 상기 제 2공간의 일부 영역을 상기 제 1공간으로 재할당함으로써 상기 제 1공간을 확장하도록 구성된 제어부를 더 포함하여 구성된 것인 단말 장치.
  28. 제 27항에 있어서,
    상기 제어부는, 상기 일부 영역을 상기 제 1공간으로 재할당함에 있어서, 상기 제 2공간에 저장되어 있는 데이터 유니트들 증에서 우선순위가 상대적으로 낮은 범주에 속하는 데이터 유니트들의 적어도 일부를 삭제하도록 구성된 것인 단말 장치.
  29. 제 27항에 있어서,
    상기 재할당되는 일부 영역은 그 크기가, 재할당하기 전의 상기 제 2공간의 빈 영역의 크기를 넘어서지 않는 것인 단말 장치.
  30. 제 23항에 있어서,
    상기 획득부는, 상기 제 2공간에 저장해야 할 새 데이터 유니트를 구성하였으나 상기 제 2공간에는 그 새 데이터 유니트를 저장할 공간이 없으면, 상기 새 데이터 유니트에 할당한 범주보다 우선순위가 낮은 범주가 할당된 기 저장되어 있는 데이터 유니트를 상기 새 데이터 유니트로써 오버라이트하여 저장하도록 구성된 것인 단말 장치.
  31. 제 1항에 있어서,
    상기 전송부는, 상기 제 2통신망이 사용 가능한 상태여도, 상기 차량이 특정 상태에 있는 경우에 한하여 데이터 유니트의 전송에 상기 제 2통신망을 사용하도록 구성되되,
    상기 특정 상태는, 브레이크가 걸린 상태, 기어가 중립인 상태, 또는 파킹(parking) 상태인 것인 단말 장치.
  32. 제 1항에 있어서,
    상기 구성된 데이터 유니트에 대한 범주의 할당은, 차량 데이터의 중요도를 나타내는 값을 상기 구성된 데이터 유니트에 할당함을 통해 이루어지는 것인 단말 장치.
  33. 제 1항에 있어서,
    상기 제 1통신망은 셀룰러(cellular) 방식의 이동통신을 지원하는 통신망이고,
    상기 제 2통신망은 제한된 장소내에서 국부적으로(locally) 무선 서비스를 제공하는 통신망인 것인 단말 장치.
  34. 차량 데이터를 취득하여 통신망을 통해 원격지로 전송하는 방법에 있어서,
    차량에서 발생되는 데이터를 취득하여 이를 지정된 원격지로 전송하기 위한 데이터 유니트로 구성하고, 복수의 범주 중에서 하나를 그 구성된 데이터 유니트에 할당하여 저장하는 1단계와,
    상기 저장된 데이터 유니트에 할당된 범주와, 서로 다른 통신 방식의 제 1통신망과 제 2통신망의 개별적인 사용가능 여부에 근거하여 통신망을 선택하여 상기 저장된 데이터 유니트를 상기 원격지로 전송하는 2단계를 포함하여 이루어지되,
    상기 2단계는, 상기 제 1통신망만이 사용 가능한 상태이면, 상기 저장된 데이터 유니트에 할당된 범주가 정해진 기준치 이상의 우선순위를 가질 때 상기 제 1통신망을 사용하여 상기 저장된 데이터 유니트를 상기 원격지로 전송하고, 상기 제 2통신망이 사용 가능한 상태이면, 상기 저장된 데이터 유니트에 할당된 범주가 상기 기준치 이상의 우선순위를 갖는 지와 무관하게 상기 저장된 데이터 유니트를 상기 제 2통신망을 사용하여 상기 원격지로 전송하는 것인 방법.
KR1020170051801A 2017-04-21 2017-04-21 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치 KR101930160B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170051801A KR101930160B1 (ko) 2017-04-21 2017-04-21 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170051801A KR101930160B1 (ko) 2017-04-21 2017-04-21 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180118853A true KR20180118853A (ko) 2018-11-01
KR101930160B1 KR101930160B1 (ko) 2018-12-19

Family

ID=64398362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170051801A KR101930160B1 (ko) 2017-04-21 2017-04-21 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101930160B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242131A1 (ko) * 2019-05-28 2020-12-03 주식회사 엘지화학 배터리 관리 시스템 및 상위 시스템으로 데이터를 송신하는 방법
WO2022080633A1 (ko) * 2020-10-12 2022-04-21 주식회사 에스위너스 냉동 컨테이너 용 원격 관제 모듈 및 원격 관제 모듈의 제어 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100686635B1 (ko) * 2004-11-24 2007-02-23 한국전자통신연구원 버퍼 용량을 고려한 비디오 데이터 전송 방법
KR101074698B1 (ko) * 2011-01-26 2011-10-18 (주)와이브로텍 통신 사업자 서버와 연계되는 블랙박스 내장 obe 단말기 및 이를 포함하는 통신 사업자 시스템
KR101441403B1 (ko) * 2012-08-29 2014-09-18 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 시스템, 그의 장치 및 컨텐츠 전송 서비스 지원 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242131A1 (ko) * 2019-05-28 2020-12-03 주식회사 엘지화학 배터리 관리 시스템 및 상위 시스템으로 데이터를 송신하는 방법
WO2022080633A1 (ko) * 2020-10-12 2022-04-21 주식회사 에스위너스 냉동 컨테이너 용 원격 관제 모듈 및 원격 관제 모듈의 제어 방법

Also Published As

Publication number Publication date
KR101930160B1 (ko) 2018-12-19

Similar Documents

Publication Publication Date Title
CN111010415B (zh) 针对车联网的数据传输方法和装置
JP4990647B2 (ja) グローバルスイッチリソースマネージャ
CN105245842B (zh) 基于行车记录仪的海量视频数据共享方法
KR101930160B1 (ko) 차량 데이터의 특성 및 가용 통신망에 근거하여 그 차량 데이터를 외부에 제공하는 방법 및 장치
US20100020175A1 (en) Video-recording and transfer apparatus, and video-recording and transfer method
JP7225753B2 (ja) 情報収集装置、情報収集システム、情報収集方法及びコンピュータプログラム
US11349903B2 (en) Vehicle data offloading systems and methods
JP2021007269A (ja) ネットワークハブ、転送方法及び車載ネットワークシステム
CN110874929A (zh) 数据收集装置、数据收集系统、数据收集方法和车载设备
CN106394621B (zh) 一种列车车载数据传输方法及系统
JPWO2019235366A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
KR20150076194A (ko) 동적 기능 분할
WO2021141117A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JPWO2019240167A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP2021129212A (ja) 無線通信装置及びサーバ装置
WO2020251019A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JPH10307779A (ja) 状態情報の管理方法及び通信システム
WO2021256559A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020175588A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2022075428A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN111694766B (zh) 一种can数据采集方法及装置
CN112087715A (zh) 基于北斗车联网智能大数据监控管理云平台系统
WO2022075301A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2022004682A1 (ja) 三次元データ符号化方法及び三次元データ符号化装置
KR101924732B1 (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
GRNT Written decision to grant