KR102559403B1 - System comprising vehicle and data communication method thereof - Google Patents
System comprising vehicle and data communication method thereof Download PDFInfo
- Publication number
- KR102559403B1 KR102559403B1 KR1020160172767A KR20160172767A KR102559403B1 KR 102559403 B1 KR102559403 B1 KR 102559403B1 KR 1020160172767 A KR1020160172767 A KR 1020160172767A KR 20160172767 A KR20160172767 A KR 20160172767A KR 102559403 B1 KR102559403 B1 KR 102559403B1
- Authority
- KR
- South Korea
- Prior art keywords
- vehicle
- data
- user terminal
- protocol
- interface
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Abstract
개시된 발명의 일 측면은 인터넷 네트워크를 통해 서로 다른 프레임 워크를 가지는 시스템의 디바이스 및 차량이 쌍방으로 접근이 가능하고, 차량에서 수집한 정보를 공유함으로써, 차량용 사물 인터넷을 별도의 통신 요금제 가입 없이 사용하고, 서로 다른 프레임 워크를 가진 디바이스들이 차량에 접근할 수 있도록 호환성을 확보하는 차량을 포함하는 시스템 및 그 데이터 통신 방법에 관한 것이다.
개시된 일 예에 따른 시스템은 외부로부터 신호를 수신하고, 상기 신호에 기초하여 인터페이스에 접근하기 위한 프로토콜을 생성하는 사용자 단말; 데이터를 수집하고, 상기 사용자 단말이 전달하는 상기 프로토콜에 기초하여 상기 인터페이스를 호출하는 차량;을 포함하고, 상기 차량은 RPC(Remote Protocol Call)방식으로 상기 인터페이스를 통해 상기 수집한 데이터를 선택하고, 상기 선택된 데이터를 상기 사용자 단말로 전달한다.An aspect of the disclosed invention relates to a system including a vehicle and a data communication method for the same, in which a device and a vehicle of a system having different frameworks can both access each other through an Internet network, share information collected from the vehicle, use the in-vehicle Internet of Things without subscribing to a separate communication plan, and ensure compatibility so that devices having different frameworks can access the vehicle.
A system according to an example disclosed herein includes a user terminal receiving a signal from the outside and generating a protocol for accessing an interface based on the signal; A vehicle that collects data and calls the interface based on the protocol transmitted by the user terminal, wherein the vehicle selects the collected data through the interface in a Remote Protocol Call (RPC) method, and transmits the selected data to the user terminal.
Description
개시된 발명은 차량을 포함하는 시스템 및 그 데이터 통신 방법에 관한 것으로, 상세하게는 서로 다른 OS 기반의 구성을 포함하는 시스템이 데이터를 공유하는 방법에 관한 것이다.The disclosed invention relates to a system including a vehicle and a data communication method thereof, and more particularly, to a method for sharing data between systems including different OS-based configurations.
최근 인터넷 네트워크를 이용하여 사물끼리 서로 데이터를 공유하고, 공유한 데이터를 분석하고 학습하여 사용자에게 제공하는 인공지능 기술이 개발되고 있다. 이러한 인공지능 기술은 흔히 사물 인터넷(Internet Of Things, IOT)이라고 부른다.Recently, artificial intelligence technology is being developed that uses an Internet network to share data between objects, analyzes and learns the shared data, and provides it to users. This artificial intelligence technology is often referred to as the Internet of Things (IoT).
사물 인터넷을 위해서 각 사물은 주변 데이터를 수집할 수 있는 센서 및 인터넷 네트워크를 통해 수집한 데이터를 전송하는 통신 기능을 갖추고 있어야 한다.For the Internet of Things, each object must have a sensor that can collect surrounding data and a communication function that transmits the collected data through the Internet network.
한편, 차량은 운행 또는 정차 중 주변 데이터를 수집할 수 있는 센서와 차량의 외부와 통신하는 통신 수단을 갖추고 있어, 사물 인터넷을 수행할 수 있는 조건을 갖추고 있다.On the other hand, the vehicle is equipped with a sensor that can collect surrounding data while driving or stopping and a communication means for communicating with the outside of the vehicle, so it has conditions for performing the Internet of Things.
또한, 사용자 단말은 기술 개발에 따라 고속으로 이동 중에도 자유로이 인터넷 네트워크에 접속할 수 있다. 이렇게 차량과 사용자 단말이 연결되어 자유로이 인터넷에 접속할 수 있는 커넥티비티(Connectivity) 환경이 만들어짐에 따라 차량용 사물 인터넷에 관한 연구가 활발히 이뤄지고 있다. In addition, the user terminal can freely access the Internet network while moving at high speed according to technological development. As a connectivity environment is created in which vehicles and user terminals are connected and can freely access the Internet, research on the Internet of Things for vehicles is being actively conducted.
개시된 발명의 일 측면은 인터넷 네트워크를 통해 서로 다른 프레임 워크를 가지는 시스템의 디바이스 및 차량이 쌍방으로 접근이 가능하고, 차량에서 수집한 정보를 공유함으로써, 차량용 사물 인터넷을 별도의 통신 요금제 가입 없이 사용하고, 서로 다른 프레임 워크를 가진 디바이스들이 차량에 접근할 수 있도록 호환성을 확보하는 차량을 포함하는 시스템 및 그 데이터 통신 방법에 관한 것이다.An aspect of the disclosed invention relates to a system including a vehicle and a data communication method for the same, in which a device and a vehicle of a system having different frameworks can both access each other through an Internet network, share information collected from the vehicle, use the in-vehicle Internet of Things without subscribing to a separate communication plan, and ensure compatibility so that devices having different frameworks can access the vehicle.
개시된 일 예에 따른 시스템은 외부로부터 미리 설정된 URL(Uniform Resource Locator)을 수신하고, 상기 URL을 파싱하여 인터페이스에 접근하기 위한 프로토콜 데이터를 생성하는 사용자 단말; 데이터를 수집하고, 상기 사용자 단말이 전달하는 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 차량;을 포함하고, 상기 차량은 RPC(Remote Protocol Call)방식으로 상기 인터페이스를 통해 상기 수집한 데이터를 선택하고, 상기 선택된 데이터를 상기 사용자 단말로 전달한다.The system according to the disclosed example includes a user terminal that receives a preset URL (Uniform Resource Locator) from the outside and parses the URL to generate protocol data for accessing an interface; and a vehicle that collects data and calls the interface based on the protocol data transmitted by the user terminal, wherein the vehicle selects the collected data through the interface in a Remote Protocol Call (RPC) method, and transmits the selected data to the user terminal.
상기 사용자 단말은, 상기 인터페이스를 통해 상기 데이터를 외부로 전달할 수 있다.The user terminal may transfer the data to the outside through the interface.
삭제delete
삭제delete
상기 사용자 단말은, 상기 생성된 프로토콜 데이터를 암호화할 수 있다.The user terminal may encrypt the generated protocol data.
상기 차량은, 상기 암호화된 프로토콜 데이터를 복호화하고, 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출할 수 있다.The vehicle may decrypt the encrypted protocol data and call the interface based on the protocol data.
상기 차량은, 상기 데이터를 수집하는 센서; 및 상기 인터페이스 및 상기 센서를 제어하는 제어부;를 더 포함하고, 상기 제어부는, 상기 프로토콜 데이터를 번역하여 상기 인터페이스를 통해 상기 센서로부터 상기 데이터를 전달받을 수 있다.The vehicle may include a sensor collecting the data; and a control unit controlling the interface and the sensor, wherein the control unit may translate the protocol data and receive the data from the sensor through the interface.
상기 센서는, 상기 차량의 네트워크를 통해 상기 제어부로 상기 데이터를 전달할 수 있다.The sensor may transmit the data to the control unit through the vehicle network.
상기 차량 및 상기 사용자 단말은, 상기 프로토콜 데이터가 호환될 수 있도록, 래퍼를 실행할 수 있다.The vehicle and the user terminal may execute a wrapper so that the protocol data is compatible.
상기 차량은, 상기 선택된 데이터를 상기 프로토콜 데이터로 변환하여 상기 사용자 단말로 전달할 수 있다.The vehicle may convert the selected data into the protocol data and transmit it to the user terminal.
상기 차량은 상기 변환된 프로토콜 데이터를 암호화할 수 있다.The vehicle may encrypt the converted protocol data.
상기 사용자 단말은, 상기 변환된 프로토콜 데이터를 복호화하여 상기 데이터를 전달받을 수 있다.The user terminal may receive the data by decoding the converted protocol data.
개시된 다른 예에 따른 시스템의 데이터 통신 방법은 외부로부터 사용자 단말이 미리 설정된 URL(Uniform Resource Locator)를 수신하고; 상기 사용자 단말이 상기 URL를 파싱하여 인터페이스에 접근하기 위한 프로토콜 데이터를 생성하고; 상기 사용자 단말이 상기 생성된 프로토콜 데이터를 차량에 전달하고; 상기 차량은 데이터를 수집하고, 상기 생성된 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하고; 상기 차량은 상기 인터페이스를 통해 RPC(Remote Protocol Call)방식으로 상기 데이터를 선택하고; 상기 선택된 데이터를 상기 사용자 단말로 전달하는 것;을 포함한다.A data communication method of a system according to another disclosed example includes receiving a URL (Uniform Resource Locator) preset by a user terminal from the outside; the user terminal parses the URL to generate protocol data for accessing the interface; The user terminal transmits the generated protocol data to the vehicle; the vehicle collects data and calls the interface based on the generated protocol data; The vehicle selects the data in a Remote Protocol Call (RPC) method through the interface; and forwarding the selected data to the user terminal.
상기 사용자 단말은 전달받은 상기 데이터를 외부로 전달하는 것;을 더 포함할 수 있다.The user terminal may further include forwarding the received data to the outside.
삭제delete
삭제delete
상기 차량 및 상기 사용자 단말은, 상기 프로토콜 데이터가 호환될 수 있도록, 래퍼를 실행하는 것;을 더 포함할 수 있다.The vehicle and the user terminal may further include executing a wrapper so that the protocol data is compatible.
상기 사용자 단말이 상기 생성된 프로토콜 데이터를 차량에 전달하는 것은, 상기 생성된 프로토콜 데이터를 암호화하여 전달하는 것;을 포함할 수 있다.Transmitting the generated protocol data to the vehicle by the user terminal may include encrypting and transmitting the generated protocol data.
상기 호출하는 것은, 상기 차량이 상기 암호화된 프로토콜 데이터를 복호화하고, 복호화된 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 것;을 포함할 수 있다.The calling may include decrypting the encrypted protocol data by the vehicle and calling the interface based on the decrypted protocol data.
상기 선택하는 것은, 상기 차량에 마련된 센서가 차량 내 네트워크를 통해 전달하는 상기 데이터를 기초로 선택하는 것;을 포함할 수 있다.The selecting may include selecting based on the data transmitted by a sensor provided in the vehicle through an in-vehicle network.
전술한 과제 해결 수단에 의하면, 개시된 차량을 포함하는 시스템 및 그 데이터 통신 방법은 인터넷 네트워크를 통해 서로 다른 프레임 워크를 가지는 시스템의 디바이스 및 차량이 쌍방으로 접근이 가능하고, 차량에서 수집한 정보를 공유함으로써, 차량용 사물 인터넷을 별도의 통신 요금제 가입 없이 사용하고, 서로 다른 프레임 워크를 가진 디바이스들이 차량에 접근할 수 있도록 호환성을 확보한다.According to the above-described means for solving the problems, the disclosed system including a vehicle and its data communication method are accessible to both devices and vehicles of the system having different frameworks through an Internet network, and by sharing information collected from the vehicle, the vehicle Internet of Things is used without a separate communication plan subscription, and compatibility is ensured so that devices with different frameworks can access the vehicle.
도 1은 개시된 일 예에 따른 시스템의 각 구성을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 시스템의 일 구성의 하드웨어 아키텍처의 블록도이다.
도 3은 일 실시예에 따른 시스템의 일 구성의 소프트웨어 아키텍처의 블록도이다.
도 4는 일 예에 따른 파싱 동작을 설명하기 위한 도면이다.
도 5는 일 예에 따른 시스템의 동작을 설명하기 위한 순서도이다.
도 6은 개시된 다른 실시예에 따른 시스템의 소프트웨어 아키텍처의 블록도이다.
도 7은 래퍼가 정의될 수 있는 일 예를 설명하기 위한 도면이다.1 is a diagram for explaining each configuration of a system according to an disclosed example.
2 is a block diagram of the hardware architecture of one component of a system according to one embodiment.
3 is a block diagram of the software architecture of one component of a system according to one embodiment.
4 is a diagram for explaining a parsing operation according to an example.
5 is a flowchart illustrating an operation of a system according to an example.
6 is a block diagram of the software architecture of a system according to another disclosed embodiment.
7 is a diagram for explaining an example in which a wrapper may be defined.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numbers designate like elements throughout the specification. This specification does not describe all elements of the embodiments, and general content or overlapping content between the embodiments in the technical field to which the present invention belongs is omitted. The term 'unit, module, member, or block' used in the specification may be implemented in software or hardware, and according to embodiments, a plurality of 'units, modules, members, or blocks' may be implemented as a single component, or a single 'unit, module, member, or block' may include a plurality of components.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case of being directly connected but also the case of being indirectly connected, and the indirect connection includes being connected through a wireless communication network.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, when a certain component is said to "include", this means that it may further include other components without excluding other components unless otherwise stated.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. Terms such as first and second are used to distinguish one component from another, and the components are not limited by the aforementioned terms.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Expressions in the singular number include plural expressions unless the context clearly dictates otherwise.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. In each step, the identification code is used for convenience of explanation, and the identification code does not describe the order of each step, and each step may be performed in a different order from the specified order unless a specific order is clearly described in context.
이하 첨부된 도면들을 참고하여 개시된 차량을 포함하는 시스템 및 그 데이터 통신 방법의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, working principles and embodiments of a system including a vehicle and a data communication method thereof will be described with reference to the accompanying drawings.
도 1은 개시된 일 예에 따른 시스템의 각 구성을 설명하기 위한 도면이다.1 is a diagram for explaining each configuration of a system according to an disclosed example.
도 1을 참조하면, 개시된 시스템(1)은 차량(10)과 차량과 연결되는 제 1 디바이스(20) 및 인터넷 네트워크를 통해 연결되는 여러 외부 디바이스(30, 40, 50)를 포함한다.Referring to FIG. 1 , the disclosed
구체적으로 차량(10)은 차량(10)을 이동시키는 차륜(2,3)과 차륜(2,3)을 회전시키는 구동 장치(미도시)를 포함하며, 다양한 구성 및 장치를 포함한다. 특히, 차량(10)은 후방의 장애물 내지 다른 차량의 접근을 감지하는 근접 센서, 강수 여부 및 강수량을 감지하는 레인 센서, 차량(10)의 위치 정보를 생성하기 위해 주변 공간에 데이터를 수집하는 라이더(Lidar) 센서 등 다양한 감지 장치를 포함할 수 있다.Specifically, the
차량(10)과 연결된 제 1 디바이스(20)는 무선 통신, 예를 들어 와이파이(WiFi)를 통해 차량(10)과 연결될 수 있거나, 유선 통신, 예를 들어 USB를 통해 차량(10)과 연결될 수 있다.The
이렇게 차량(10)과 연결(Connectivity)되는 제 1 디바이스(20)는 시스템(1)의 외부 디바이스(30, 40, 50)와 인터넷 네트워크를 통해 사물 인터넷(IOT)을 구현하는데 사용된다.The
특히, 차량(10) 및 제 1 디바이스(20)는 외부 디바이스(30, 40, 50)가 인터넷 네트워크를 통해 차량(10)의 센서 API(Application Program Interface)에 접근할 수 있는 아키텍처(Architecture)로 설계된다.In particular, the
구체적으로, 개시된 시스템(1)은 차량(10)의 센서에 접근하기 위한 API를 제 1 디바이스(20)에서 RPC(Remote Procedure Call)하기 위한 구조를 정의하고, 외부 디바이스(30, 40, 50)가 인터넷 네트워크를 통해서 차량(10)의 센서 API로 접근하기 위한 HTTP URP 구조를 정의하며, 여러 프레임워크에서 동작할 수 있는 OS Wrapper layer를 정의한다. 이와 관련된 자세한 설명은 이하의 도면을 통해서 자세히 후술한다.Specifically, the disclosed
한편, 외부 디바이스(30, 40, 50)는 제 1 디바이스(20) 이외의 다른 제 2 디바이스(30), 웹 서버(40) 및 개인용 컴퓨터(Personal Computer 50)를 포함할 수 있다.Meanwhile, the
먼저 제 2 디바이스(30)는 차량(10)과 연결되지 않은 다른 사용자 단말을 의미한다. 일 예로, 차량(10)에 탑승한 운전자 및 동승자 중 운전자의 사용자 단말이 차량(10)과 USB 포트를 통해 연결되면, 운전자의 사용자 단말은 제 1 디바이스(20)가 되고, 동승자의 사용자 단말은 제 2 디바이스(30)가 된다. First, the
사용자 단말은 네트워크를 통해 인터넷에 접속할 수 있는 컴퓨터나 휴대용 단말기를 지칭한다. A user terminal refers to a computer or portable terminal capable of accessing the Internet through a network.
먼저 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함한다.First, a computer includes, for example, a laptop computer, a desktop computer, a laptop computer, a tablet PC, a slate PC, and the like equipped with a web browser.
휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.A portable terminal is, for example, a wireless communication device that ensures portability and mobility, and includes Personal Communication System (PCS), Global System for Mobile communications (GSM), Personal Digital Cellular (PDC), Personal Handyphone System (PHS), Personal Digital Assistant (PDA), International Mobile Telecommunication (IMT)-2000, Code Division Multiple Access (CDMA)-2000, W-Code Division Multiple Access (W-CDMA), and Wire (WiBro). All types of handheld-based wireless communication devices such as less Broadband Internet terminals, smart phones, etc., and wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs).
즉, 도 1에서 도시된 제 1 디바이스(20), 제 2 디바이스(30) 및 개인용 컴퓨터 (50)은 모두 사용자 단말에 해당하며, 인터넷 네트워크에 접속하여 차량(10)가 사물 인터넷을 구현할 수 있는 장치이다.That is, the
도 1에서 웹 서버(40)는 HTML(Hypertext Markup Language)로 구성된 웹 페이지를 제공해주는 서버(Server)로 웹 브라우저 간의 데이터 통신에 사용되는 서버를 의미한다.In FIG. 1, the
일 예로, 웹 서버(40)는 사용자가 개인용 컴퓨터(50)를 통해 웹 브라우저에서 URL(Uniform Resource Locator)로http:// 및 도메인 주소를 입력하면, 입력된 도메인을 가진 서버에서 웹 페이지를 요청하고, 웹 서버(40)는 index.html 파일을 찾아서 브라우저로 보낸다.For example, the
한편, 개시된 시스템(1)은 도 1에서 도시한 구성 이에도 여러 다양한 장치 및 구성을 포함할 수 있다. 일 예로 다른 구성은 사용자의 가전기기, 예를 들어 세탁기 또는 냉장고 등을 포함할 수 있으며, 인터넷 네트워크를 통해 데이터를 주고 받을 수 있는 모든 사물을 포함한다.Meanwhile, the disclosed
도 2는 일 실시예에 따른 시스템의 일 구성의 하드웨어 아키텍처의 블록도이다.2 is a block diagram of the hardware architecture of one component of a system according to one embodiment.
도 2를 참조하면, 개시된 시스템(1)은 차량(10)과 제 1 디바이스(20)가 유,무선 통신을 통해 서로 연결되어 있다. 제 1 디바이스(20)에서 연산 등의 총괄적인 제어를 담당하는 제어 모듈(200)과 모듈(200)이 생성하는 결과를 출력하는 디스플레이(206)를 포함한다. 차량(10)은 차량(10)의 전반적인 제어를 담당하는 헤드 유니(100)과 기타 다른 구성을 포함한다. Referring to FIG. 2 , in the disclosed
구체적으로 제 1 디바이스(20)는 데이터를 저장하는 메모리(204), 적어도 하나의 칩으로 구성된 CPU(Central Processing Unit, 205)과 시스템 버스(220)에 의해 연결되는 외부 인터페이스(201, 202, 203)를 포함할 수 있다. 외부 인터페이스는 유선 통신에 사용되는 USB 인터페이스(201), 디스플레이(206)와 연결된 디스플레이 어뎁터(202), NIC(Network Interface Connector, 203)를 포함할 수 있다.Specifically, the
디스플레이 어뎁터(202)는 제 1 디바이스(20)의 디스플레이(206)가 CPU(201)에서 처리하는 결과를 출력하도록 전기적 신호를 인가한다. NIC(203)는 제 1디바이스(20)가 인터넷 네트워크에 연결될 수 있는 신호를 처리한다. 메모리(204)는 휘발성 소자, 예를 들어 RAM(Random Access Memory) 또는 비 휘발성 메모리 소자, 예를 들어 플래쉬 메모리(Flash memory)를 모두 포함할 수 있다. The
한편, 모바일 프레임 워크는 CPU(205)에 의해서 처리되어, Andorid, iOS 및 리눅스(Linux)와 같은 운영 시스템(OS)상에 실행되는 여러 앱, 즉 어플리케이션(Application)을 포함한다.Meanwhile, the mobile framework includes several apps, that is, applications, which are processed by the
차량(10)의 전반을 제어하는 제어부(100, 이하에서는 헤드 유닛)도 데이터를 저장하는 메모리(104), 적어도 하나의 칩으로 구성된 CPU(Central Processing Unit, 105)과 시스템 버스(110)에 의해 연결되는 외부 인터페이스(101, 103)를 포함할 수 있다. 외부 인터페이스는 유선 통신에 사용되는 USB 인터페이스(101) 및 WiFi 등을 이용하여 무선 네트워크에 접속할 수 있는 통신부(203)를 포함할 수 있다.The controller 100 (hereinafter referred to as a head unit) that controls the entirety of the
특히, 통신부(203)는 차량(10) 내 여러 전자제어장치(Electronic Control Unit, ECU)와 헤드 유닛(100)을 차량 내 네트워크로 연결하는 모듈을 의미한다. 차량 내 네트워크는 차량 내 통신버스를 이용하여, CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등과 같은 차량의 내부 통신 프로토콜을 통해 신호를 주고 받는다.In particular, the
한편, 차량(10) 내 헤드 유닛(100)의 프레임워크는 CPU(105)에 의해 처리되어 차량(10) 내 여러 장치를 제어하는 어플레이션을 포함할 수 있다. 일 예로, 헤드 유닛(10)은 차량(10) 마련된 AVN(Audio Video Navigation) 모듈을 동작시키는 인터페이스를 프레임 워크 상에 마련할 수 있다. 일 예에 따른 헤드 유닛(100)의 프레임 워크는 Java와 같은 프로그램 언어로 구현될 수 있다.Meanwhile, the framework of the
도 3은 일 실시예에 따른 시스템의 일 구성의 소프트웨어 아키텍처의 블록도이다.3 is a block diagram of the software architecture of one component of a system according to one embodiment.
도 3을 참조하면, 개시된 시스템(1)에서 일 예에 따른 제 1 디바이스(20)에서 제어 모듈(200)은 운영 체제 상에 실행될 수 있는 여러 어플리케이션을 포함하는 모바일 프레임 워크(210)와 실제 어플리케이션과 운영 체제를 연결시켜 주는 API(Application Program Interface)로 구분할 수 있다.Referring to FIG. 3, the
또한, 차량(10)의 헤드 유닛(100)도 마찬가지로 운영 체제 상에 실행될 수 있는 여러 어플리케이션을 포함하는 헤드 유닛 프레임 워크(110)와 운영 체제와 실제 프로그램을 연결시켜 주는 API로 구분할 수 있다.In addition, the
일 예로, 사용자가 제 1 디바이스(20)의 설정(setting), 구체적으로 진동 모드 변경을 실행하고자 할 때, 사용자의 입력 명령으로 시작한 신호는 진동을 일으키는 장치(Hardware)까지 일련의 과정을 거쳐야만 동작한다. 먼저 사용자는 GUI(Graphical User Interface)를 통해 버튼을 클릭하고, 설정 프로그램(Application)이 실행되며, 설정 프로그램은 제 1 디바이스의 운영 체제(OS)로 API를 통해 신호를 전달한다. 운영 체제는 이후 OSI(Operating System Interface)를 통해 제 1 디바이스의 진동과 관련된 하드웨어를 동작시킨다. 즉, OSI, API 및 GUI는 제 1 디바이스(20)의 운영체제에 속하면서, 각 실질적인 동작의 주체를 연결시키는 중간 매체의 소프트웨어를 의미한다.For example, when the user wants to set the
개시된 일 예에 따른 시스템(1)은 인터넷 네트워크를 통해 외부의 디바이스(30, 40, 50)가 차량(10)의 센서 API에 접근하기 위한 아키텍처를 설계함으로써 차량과 사물을 연결하는 사물 인터넷을 강화한다.The
다시 도 3을 참조하면, 제 1 디바이스(20)의 제어 모듈(200)은 여러 어플리케이션을 포함할 수 있다. 구체적으로 어플리케이션은 런쳐(launcher, 211), 웹 서버(212), 설정(213) 및 커넥티비티(214)을 포함할 수 있다. 헤드 유닛(100)도 마찬가지로 AVN(111), 공조장치(112), 엔진(113) 및 커넥티비티(114)를 프로그램으로 포함할 수 있다. Referring back to FIG. 3 , the
여기서 커넥티비티(114)는 개시된 시스템(1)의 동작을 위해 필요한 프로그램을 의미한다. 즉, 개시된 시스템(1)은 제 1 디바이스(20)와 차량(10)이 유선 또는 무선으로 연결(connectivity)되면, 제 1 디바이스(20)는 차량(10)에 포함된 센서로부터 데이터를 콜(call)할 수 있다. 이 때, 커넥티비티(114)는 실행되고, 이러한 커넥티비티 프로그램은 도 3의 제 1 디바이스(20)의 API와 같은 형태를 통해 구현될 수 있다.Here, the
구체적으로 제 1 디바이스(20)의 커넥티비티 어플리케이션(214)는 차량(10)의 센서와 관련된 API를 호출하는 차량 센서 API(200), RPC(Remote Protocol Call)를 위한 프로토콜로 변환하는 RPC API(230) 및 암호화를 수행하는 통신 제어 API(240)를 통해 구현된다.In detail, the
먼저 차량 센서 API(220)는 제 1 디바이스(20)가 외부, 예를 들어 인터넷 네트워크를 통해 수신한 URL을 파싱(Parsing)하고, 파싱된 내용으로 차량(10)의 센서 API를 호출한다.First, the
여기서 파싱이란 가공되지 않은 데이터에서 원하는 특수한 문자열을 빼내는 작업을 의미한다. 파싱에 관한 자세한 설명은 도 4에서 후술한다.Here, parsing means the operation of extracting a desired special string from raw data. A detailed description of parsing will be described later with reference to FIG. 4 .
차량 센서 API(220)가 차량의 센서 API를 호출하기 위한 메시지를 생성하면, RPC API(230)가 생성된 메시지를 RPC로 변환한다.When the
여기서 RPC(Remote Procedure Call)는 외부의 다른 디바이스의 프로그램으로부터 서비스를 요청하는데 필요한 프토토콜을 의미하며, RPC로 변환한다는 것은 요청에 필요한 맴버 함수(매소드, method)로 변환한다는 것을 의미한다.Here, RPC (Remote Procedure Call) means a protocol required to request a service from a program of another external device, and converting to RPC means converting to a member function (method) necessary for the request.
통신 제어 API(240)는 변환된 프로토콜을 암호화한다. 사물 인터넷을 구현하기 위해서 시스템(1)은 무작위적인 디바이스의 접근을 통제하기 위해서 통신 제어 API(240)를 구현하고, 차량(10)의 데이터 보안 작업을 수행한다.The
암호화 작업을 거친 RPC 프로토콜은 유선 또는 무선을 통해 차량(10), 구체적으로 헤드 유닛(100)으로 전달되고, 헤드 유닛(100)은 아래와 같은 소프트웨어의 아키텍처를 통해 동작한다.The encrypted RPC protocol is transmitted to the
제 1 디바이스(20)와 마찬가지로 개시된 시스템(1)의 동작을 위해서 헤드 유닛(100)은 여러 프로그램 중 커넥티비티(114) 프로그램을 포함할 수 있다. 전술한 암호화된 신호가 전송되면, 커넥티비티(114) 프로그램은 도 3에서 도시된 API를 차례로 실행한다.Like the
구체적으로 헤드 유닛(100)의 통신 제어 API(140)는 수신된 암호화된 신호를 복호화하거나, 다시 전달할 신호를 암호화한다.Specifically, the
RPC API(130)는 복호환된 RPC 프로토콜을 분석한다. RPC API(130)는 복호화된 메시지로부터 어떤 멤버 함수를 호출할 것인지 결정한다.The
차량 센서 API(120)를 호출하고, 차량 센서 API(120)는 주어진 명령에 따라 차량(10) 내 네트워크를 통해 차량(10)의 센서로부터 데이터를 요청하는 동작을 실행한다. 즉, 차량 센서 API(120)는 헤드 유닛(100)의 운영 체제가 차량(10)의 센서(하드웨어에 해당)를 제어할 수 있도록 운영 체제와 커넥티비티(114) 프로그램을 연결시켜준다.The
전술한 API의 동작과 관련된 자세한 설명은 도 5의 순서도를 참고하여 구체적으로 후술한다.A detailed description related to the operation of the aforementioned API will be described later in detail with reference to the flowchart of FIG. 5 .
한편, 도 3에서 각 API에 붙여진 명칭은 API에서 처리되는 동작을 구분하기 위하여 작성된 것으로 반드시 정해진 명칭에 제한되는 것은 아니다.Meanwhile, the names attached to each API in FIG. 3 are written to distinguish operations processed in the API, and are not necessarily limited to the designated names.
도 4는 일 예에 따른 파싱 동작을 설명하기 위한 도면이다.4 is a diagram for explaining a parsing operation according to an example.
도 3에서 전술한 바와 같이, 개시된 시스템(1)은 외부의 디바이스(30 등)가 차량(10)의 센서 데이터를 수집할 수 있다. 이 경우, 웹 서버(40)는 URL(41)을 도 4와 같이 정의할 수 있다.As described above in FIG. 3 , in the disclosed
도 4를 참조하면, 일 예에 따라 정의된 URL(41)은 HTTP GET 방식을 사용할 수 있다. 다른 예에 따라 URL은 보안을 위해 HTTPS를 사용할 수도 있다.Referring to FIG. 4 , a
구체적으로 도 4의 automotive(42)는 차량(10)의 센서 API로 접근을 의미한다. 즉, automotive(42)는 차량 센서 API를 호출하도록 지정하는 명령어이다. 따라서 automotive는 미리 설정되면 충분하고 다양하게 변경될 수 있다.Specifically, the automotive 42 of FIG. 4 means access to the sensor API of the
도 4의 sensor(43)는 접근하고자 하는 센서를 가리킨다. 즉, sensor(43) 이후에 기재되는 sensor name 은 차량 센서 API의 클래스 네임이 된다.A
도 4의 data(44)는 접근하려는 센서의 데이터를 가리킨다. 즉, data(44) 이후에 기재되는 data name 은 차량 센서 API에서 클래스의 맴버 함수가 된다.
도 4의 param1(45) 내지 paramN(46)은 센서 정보를 얻기 위한 인자값을 가리킨다. 즉, param1 (45)이후의 기재되는 param1 value는 차량 센서 API의 맴버 함수에 전달될 인자값이 된다.Param1(45) to paramN(46) in FIG. 4 indicate factor values for obtaining sensor information. That is, the param1 value described after param1 (45) becomes a factor value to be transmitted to the member function of the vehicle sensor API.
일 예로, 시스템(1)은 외부 디바이스(30 등)가 차량(1)의 운전석에 마련된 열선에 의해 가열되는 온도를 측정하는 온도 센서에 관한 데이터를 요청할 수 있다. 이 경우, 도 4의 URL에서 sensor name은 온도 센서가 될 수 있으며, data name은 열선의 온도가 될 수 있으며, param1은 운전석에 해당하는 좌석의 번호에 해당하는 숫자가 될 수 있다.For example, the
한편, 제 1 디바이스(20)는 웹 서버(40)를 통해 외부에서 전달되는 도 4와 같은 URL의 메시지에서 상기 인자, 예를 들어 sensor(43), data(44) 및 param1(45) 내지 paramN(46)을 파싱한다.Meanwhile, the
파싱된 결과를 기초하여 제 1 디바이스(20)는 차량 센서 API를 RPC 방식으로 차량(10)의 헤드 유닛(100)에 호출한다. 즉, 헤드 유닛(100)은 파싱된 automotive라는 명령어에 기초하여 차량 센서 API를 호출하고, 각 인자에 따라 운전석에 마련된 온도 센서가 검출하는 온도 데이터를 차량(10)의 센서에 요구한다.Based on the parsed result, the
도 4에서 도시한 URL의 정의는 일 예에 불과하다. 즉 URL은 차량(10)에서 데이터를 수집할 수 있는 어떠한 구성의 API를 호출할 수 있으면 충분하고, 다양한 URL이 있을 수 있다.The definition of the URL shown in FIG. 4 is only an example. That is, the URL is enough to call an API of any configuration capable of collecting data from the
도 5는 일 예에 따른 시스템의 동작을 설명하기 위한 순서도이다.5 is a flowchart illustrating an operation of a system according to an example.
도 5를 참조하면, 시스템(1)의 구성 중, 외부 디바이스(30 등)가 HTTP GET 방식을 통해 차량(10)의 센서가 수집하는 데이터를 요청할 수 있다(300).Referring to FIG. 5 , during configuration of the
제 1디바이스(20)는 HTTP Request를 수신하고, 수신된URL을 파싱(Parsing)한다(310).The
파싱에 관한 일 예는 도 4에서 설명하여 생략한다.An example of parsing is omitted after being described in FIG. 4 .
제 1 디바이스(20), 구체적으로 제어 모듈(200)은 파싱된 텍스트 및 인자를 기초로 커넥티비티 어플리케이션을 실행시키고, 차량 센서 API를 호출한다(311).The
이 후, 제 1 디바이스(20)는 RPC API를 호출한다(312).After that, the
전술한 바와 같이, RPC API는 원격으로 차량(10), 구체적으로 헤드 유닛(100)의 차량센서 API를 호출하기 위한 RPC 프로토콜을 생성한다. 헤드 유닛(100)은 RPC 프로토콜을 이용해 차량(10)의 어떤 데이터를 추출해야 하는지 알 수 있다. 이하에서는 헤드 유닛(100)이 차량(10)에 마련된 센서가 수집하는 데이터를 일 예로 설명하지만, 다양한 다른 데이터를 모두 포함할 수 있다.As described above, the RPC API creates an RPC protocol for remotely calling the vehicle sensor API of the
RPC 프로토콜이 생성되면, 제 1 디바이스(20)는 프로토콜 데이터를 암호화한다(313). 구체적으로 암호화는 도 3에서 통신 제어 API(240)가 실행한다.When the RPC protocol is generated, the
이후, 제 1 디바이스(20)는 차량(10)으로 암호화된 데이터를 전송한다. 일 예로, 제 1 디바이스(20)는 차량(10)과 USB 포트 등으로 통해서 유선으로 연결될 수 있다. 다른 예로, 제 1 디바이스(20)는 차량(10)과 블루투스 또는 와이파이(WiFi)를 통해 연결될 수도 있다.Then, the
데이터를 수신한 차량(10), 구체적으로 헤드 유닛(100)은 수신한 신호를 복호화한다(320).Upon receiving the data, the
즉, 헤드 유닛(100)은 암호화된 신호를 풀어서 RPC 프로토콜을 수신한다.That is, the
이후, 헤드 유닛(100)은 RPC 프로토콜에 따라 RPC API(130)를 호출한다(321).Then, the
RPC API(130)는 프로토콜에 따라 차량센서 API(120)를 호출하고, 센서 데이터를 수집한다(322).The
구체적으로 차량 센서 API(120)는 헤드 유닛(100)의 운영 체제를 연결시켜, 헤드 유닛(100)이 차량(10)의 센서로 명령을 지시하고, 센서가 수집한 데이터를 전송하도록 요청하게 한다.In detail, the
헤드 유닛(100)이 센서로 제어 명령을 지시하는 것은 차량 내 구비된 네트워크를 통해 이뤄진다. 일 예로, 헤드 유닛(100)는 통신부(103)를 제어하여, CAN을 통해서 제어 명령을 전달하고, 센서 또한, 제어 명령에 따라 수집한 데이터를 헤드 유닛(100)으로 전달할 수 있다.The
데이터가 수집되면, 헤드 유닛(100)은 센서의 데이터를 다시 RPC 프로토콜로 변환한다(323).When the data is collected, the
RPC 프로토콜은 헤드 유닛(100)의 PRC API(130)가 수행한다.The RPC protocol is performed by the
변환된 PRC 프로토콜은 다시 암호화된다(324). 구체적으로 암호화 작업은 헤드 유닛(100)의 통신 제어 API(140)가 실행한다.The converted PRC protocol is encrypted again (324). Specifically, the encryption task is executed by the
암화화가 완료되면, 헤드 유닛(100)은 통신부(103)를 통해 센서 데이터를 제 1 디바이스(20)로 전달한다. When encryption is completed, the
제 1 디바이스(20)는 수신된 신호를 복호화한다(330).The
제 1 디바이스(20)는 복호화가 완료된 RPC 프로토콜을 분석하여 외부로 전송할 센서 데이터를 획득한다(331). 구체적으로 제 1 디바이스의 RPC API(230)가 결과를 반환한다.The
이후, 제 1 디바이스(20)는 얻어진 데이터를 인터넷 네트워크를 통해 외부로 전달한다(332).Thereafter, the
소프트웨어적으로 제 1 디바이스(20)에서 인터넷 네트워크를 통해 외부로 센서 데이터를 전달하는 동작은 제 1 디바이스(20)의 차량센서 API(220)를 통해 이뤄질 수 있다.An operation of transmitting sensor data from the
차량센서 API(220)는 종전 HTTP Request에 따라 HTTP Response를 전송한다(340).The
도 6은 개시된 다른 실시예에 따른 시스템의 소프트웨어 아키텍처의 블록도이다.6 is a block diagram of the software architecture of a system according to another disclosed embodiment.
도 6을 참조하면, 제 1 디바이스(20)의 제어 모듈(200)는 각 어플리케이션(211, 212, 213, 214)이 포함된 프레임 워크 및 어플리케이션과 운영 체제를 연결하는 여러 API(220, 240)를 포함한다. Referring to FIG. 6 , the
또한, 차량(10)의 헤드 유닛(100)도 각 프로그램(111, 112, 113, 114) 및 운영 체제를 연결하는 여러 API(120, 140)를 포함한다. 도 3과 중복되는 구성에 대한 설명은 생략한다.In addition, the
개시된 다른 예에 따른 시스템(1)은 각 구성에 RPC OS Wrapper layer(250, 150)를 포함할 수 있다.
래퍼(Wrapper)는 다른 프로그램이 성공적으로 실행될 수 있도록 설정하는 프로그램을 의미한다. 즉, RPC OS Wrapper layer(250, 150)는 여러 기반을 가진 다른 종류의 운영 체제를 호환될 수 있도록 중계하는 역할을 한다. A wrapper is a program that configures other programs to run successfully. That is, the RPC OS Wrapper layers (250, 150) play a role of relaying different types of operating systems having various bases to be compatible.
구체적으로 제 1 디바이스(20)이 스마트 폰인 경우, 제어 모듈(200)는 안드로이드(Android) 또는 아이오에스(iOS)등을 운영 체제의 기반으로 동작할 수 있다. 또한, 차량(10)의 경우, 헤드 유닛(100)은 JAVA를 기반으로 동작할 수 있다.Specifically, when the
제 1 디바이스(20)와 헤드 유닛(100)은 RPC OS Wrapper layer(250, 150)를 각각 마련하고, RPC OS Wrapper layer(250, 150)는 RPC를 수행하고, 암호화를 진행하는 동작을 C++환경에서 수행할 수 있도록 변환한다.The
이를 통해서 제 1 디바이스(20)의 제어 모듈(200)는 RPC API(230)가 RPC 프로토콜(231)을 생성하고, ECM(Extension Channel Manager, 260)을 통해서 암호화 과정을 진행할 수 있다. 또한, CDM(Channel Data Manager)은 암호화된 데이터를 패킷(packetizer, 262)시키고, 직렬 변환(serializer, 263)시켜 차량(10)으로 데이터를 전송한다. 이 과정은 모두 RPC OS Wrapper layer(250)을 통해서 C 또는 C++로 실행된다.Through this, the
헤드 유닛(100)도 마찬가지로, RPC API(130)가 RPC 프로토콜(211)을 생성하고, ECM(Extension Channel Manager, 160)을 통해서 암호화 과정을 진행할 수 있다. 또한, CDM(Channel Data Manager)은 암호화된 데이터를 패킷(packetizer, 162)시키고, 직렬 변환(serializer, 163)시켜 제 1 디바이스(20)으로 데이터를 전송한다. 이 과정은 모두 RPC OS Wrapper layer(150)을 통해서 C 또는 C++로 실행된다.Similarly, the
에러 처리자(232, 132) 및 API 접근 관리자(233)는 상술한 동작을 관리하고, RPC OS Wrapper layer(250, 150)이 C 또는 C++의 코드 변환 시, 발생할 수 있는 에러를 보정하는 역할을 한다.The
한편, 개시된 시스템(1)은 RPC OS Wrapper layer(250, 150)를 마련해 서로 다른 운영 체제에서 호환이 가능하도록 설계되면 충분하고, 도 6에서 도시된 여러 블록은 다양한 변형례가 있을 수 있다.On the other hand, the disclosed
도 7래퍼가 정의될 수 있는 일 예를 설명하기 위한 도면이다.7 is a diagram for explaining an example in which a wrapper may be defined.
도 6에서 설명한 바와 같이, 개시된 시스템(1)은 각 구성마다 RPC OS Wrapper layer(430)을 설정하고, 센서 API(420)와 RPC API(440)를 호환시켜 줄 수 있다. 즉, RPC OS Wrapper layer(430)는 리눅스(Linux) 커널(Kernel)에서 동작하는 RPC API(440)를 운영 체제에서 사용할 수 있도록 Wrapper를 구성한다.As described in FIG. 6 , the disclosed
구체적으로 일 예에 따른 센서 API(420)가 JAVA 기반(420)으로 이뤄진 경우, RPC OS Wrapper Layer(430)는 안드로이드를 JNI 인터페이스로 Wrapper를 구성한다. 도 7의 블록 433은 JNI 인터페이스로 Wrapper를 구성하는 일 예를 개략적으로 작성한 것이다. Specifically, when the
다른 예로 센서 API(422)가 C++이나 Object C 기반(422)으로 이뤄진 경우, RPC OS Wrapper Layer(430)는 C++ 인터페이스로 Wrapper를 구성한다. 즉, 리눅스, iOS 또는 QNX는 C++ 인터페이스로 Wrapper를 구성하고, 블록 433과 같이 작성될 수 있다.As another example, if the
만약 RPC OS Wrapper Layer(430)가 블록 433 및 434와 같이 Wrapper를 작성한 경우, RPC 방식으로 작성된 getOdometer를 호출(441)하여 RPC API(440)가 동작하도록 한다.If the RPC OS Wrapper Layer (430) creates a wrapper as shown in
이를 통해서 개시된 시스템(1)은 여러 다른 운영체제를 가진 외부의 디바이스가 차량(10)과 연결되어 데이터를 공유할 수 있다.In the
1: 시스템, 10: 차량
20: 제 1 디바이스 30: 제 2 디바이스
100: 헤드 유닛, 110, 220: 차량 센서 API
130, 230: RPC API 140, 240: 통신 제어 API1: system, 10: vehicle
20: first device 30: second device
100: head unit, 110, 220: vehicle sensor API
130, 230:
Claims (20)
데이터를 수집하고, 상기 사용자 단말이 전달하는 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 차량;을 포함하고,
상기 차량은 RPC(Remote Protocol Call)방식으로 상기 인터페이스를 통해 상기 수집한 데이터를 선택하고, 상기 선택된 데이터를 상기 사용자 단말로 전달하는 시스템.A user terminal that receives a URL (Uniform Resource Locator) set in advance from the outside and parses the URL to generate protocol data for accessing the interface;
A vehicle that collects data and calls the interface based on the protocol data transmitted by the user terminal;
The vehicle selects the collected data through the interface in a Remote Protocol Call (RPC) method, and transmits the selected data to the user terminal.
상기 사용자 단말은,
상기 인터페이스를 통해 상기 데이터를 외부로 전달하는 시스템.According to claim 1,
The user terminal,
A system for transmitting the data to the outside through the interface.
상기 사용자 단말은,
상기 생성된 프로토콜 데이터를 암호화하는 시스템.According to claim 1,
The user terminal,
A system for encrypting the generated protocol data.
상기 차량은,
상기 암호화된 프로토콜 데이터를 복호화하고, 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 시스템.According to claim 5,
the vehicle,
A system for decrypting the encrypted protocol data and calling the interface based on the protocol data.
상기 차량은,
상기 데이터를 수집하는 센서; 및
상기 인터페이스 및 상기 센서를 제어하는 제어부;를 더 포함하고,
상기 제어부는, 상기 프로토콜 데이터를 번역하여 상기 인터페이스를 통해 상기 센서로부터 상기 데이터를 전달받는 시스템.According to claim 1,
the vehicle,
a sensor that collects the data; and
Further comprising a control unit for controlling the interface and the sensor;
The control unit translates the protocol data and receives the data from the sensor through the interface.
상기 센서는,
상기 차량의 네트워크를 통해 상기 제어부로 상기 데이터를 전달하는 시스템 According to claim 7,
The sensor,
A system for transmitting the data to the control unit through the vehicle network
상기 차량 및 상기 사용자 단말은,
상기 프로토콜 데이터가 호환될 수 있도록, 래퍼를 실행하는 시스템.According to claim 1,
The vehicle and the user terminal,
A system that implements a wrapper so that the protocol data is compatible.
상기 차량은,
상기 선택된 데이터를 상기 프로토콜 데이터로 변환하여 상기 사용자 단말로 전달하는 시스템.According to claim 1,
the vehicle,
A system for converting the selected data into the protocol data and delivering it to the user terminal.
상기 차량은 상기 변환된 프로토콜 데이터를 암호화하는 시스템.According to claim 10,
The vehicle encrypts the converted protocol data.
상기 사용자 단말은,
상기 변환된 프로토콜 데이터를 복호화하여 상기 데이터를 전달받는 시스템.According to claim 11,
The user terminal,
A system for receiving the data by decoding the converted protocol data.
상기 사용자 단말이 상기 URL를 파싱하여 인터페이스에 접근하기 위한 프로토콜 데이터를 생성하고;
상기 사용자 단말이 상기 생성된 프로토콜 데이터를 차량에 전달하고;
상기 차량은 데이터를 수집하고, 상기 생성된 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하고;
상기 차량은 상기 인터페이스를 통해 RPC(Remote Protocol Call)방식으로 상기 데이터를 선택하고;
상기 선택된 데이터를 상기 사용자 단말로 전달하는 것;을 포함하는 시스템의 데이터 통신 방법.The user terminal receives a URL (Uniform Resource Locator) preset from the outside;
the user terminal parses the URL to generate protocol data for accessing the interface;
The user terminal transmits the generated protocol data to the vehicle;
the vehicle collects data and calls the interface based on the generated protocol data;
The vehicle selects the data in a Remote Protocol Call (RPC) method through the interface;
Data communication method of a system including; transmitting the selected data to the user terminal.
상기 사용자 단말은 전달받은 상기 데이터를 외부로 전달하는 것;을 더 포함하는 시스템의 데이터 통신 방법.According to claim 13,
The user terminal transmits the received data to the outside; the data communication method of the system further comprising.
상기 차량 및 상기 사용자 단말은,
상기 프로토콜 데이터가 호환될 수 있도록, 래퍼를 실행하는 것;을 더 포함하는 시스템의 데이터 통신 방법.According to claim 13,
The vehicle and the user terminal,
The data communication method of the system further comprising: executing a wrapper so that the protocol data is compatible.
상기 사용자 단말이 상기 생성된 프로토콜 데이터를 차량에 전달하는 것은,
상기 생성된 프로토콜 데이터를 암호화하여 전달하는 것;을 포함하는 시스템의 데이터 통신 방법.According to claim 13,
The user terminal transmits the generated protocol data to the vehicle,
Data communication method of a system including; encrypting and transmitting the generated protocol data.
상기 호출하는 것은,
상기 차량이 상기 암호화된 프로토콜 데이터를 복호화하고, 복호화된 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 것;을 포함하는 시스템의 데이터 통신 방법.According to claim 18,
The calling is
and decrypting the encrypted protocol data by the vehicle and calling the interface based on the decrypted protocol data.
상기 선택하는 것은,
상기 차량에 마련된 센서가 차량 내 네트워크를 통해 전달하는 상기 데이터를 기초로 선택하는 것;을 포함하는 시스템의 데이터 통신 방법.According to claim 13,
Selecting the above
and selecting based on the data transmitted by a sensor provided in the vehicle through an in-vehicle network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160172767A KR102559403B1 (en) | 2016-12-16 | 2016-12-16 | System comprising vehicle and data communication method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160172767A KR102559403B1 (en) | 2016-12-16 | 2016-12-16 | System comprising vehicle and data communication method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180070261A KR20180070261A (en) | 2018-06-26 |
KR102559403B1 true KR102559403B1 (en) | 2023-07-26 |
Family
ID=62788678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160172767A KR102559403B1 (en) | 2016-12-16 | 2016-12-16 | System comprising vehicle and data communication method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102559403B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361419B (en) * | 2018-11-05 | 2020-07-10 | 四川航天神坤科技有限公司 | Satellite communication vehicle-mounted module control unit, vehicle-mounted module and vehicle-mounted system terminal |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100929235B1 (en) * | 2007-12-17 | 2009-12-01 | 한국전자통신연구원 | Dynamic Reconfiguration Method of Wireless Sensor Network and Its System |
-
2016
- 2016-12-16 KR KR1020160172767A patent/KR102559403B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20180070261A (en) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019133208A1 (en) | Platform-independent application publishing to a personalized front-end interface by encapsulating published content into a container | |
CN112399130B (en) | Processing method and device of cloud video conference information, storage medium and communication equipment | |
US20220060558A1 (en) | Systems and Methods for Platform-Independent Application Publishing to a Front-End Interface | |
US20130246504A1 (en) | Method for subscribing to notification, apparatus and system | |
CN109417552B (en) | Method and industrial computing device for performing secure communications | |
KR20160083128A (en) | Method and system for encrypted communications | |
WO2016097822A1 (en) | Method and apparatus for local data monitoring and actuator control in an internet of things network | |
EP2114055A1 (en) | Method of establishing virtual security keypad session from a mobile device using Java virtual machine | |
JP6306606B2 (en) | File sharing method, apparatus and mobile device | |
US11237636B2 (en) | System and method for network configuration and behavior control by proximity enabled devices | |
CA3185763A1 (en) | Systems and methods for portable storage devices | |
US10284422B2 (en) | Resource-limited device interactivity with cloud-based systems | |
US9935846B2 (en) | Synchronized distributed networks with frictionless application installation | |
JP2018518727A (en) | Access to a secure network using a streaming device | |
KR20150137911A (en) | user terminal apparatus, communication system and control method thereof | |
EP3739849B1 (en) | Web-based automation system remote access | |
TW201316216A (en) | System and method for touch device with external input function | |
WO2016079467A1 (en) | Methods of accessing a remote resource from a data processing device | |
KR102559403B1 (en) | System comprising vehicle and data communication method thereof | |
US20130152217A1 (en) | Machine-to-machine apparatus capable of facilitating addition of extension functionalities | |
KR20130072979A (en) | Method and system for providing application service to user terminal | |
JP2016520223A (en) | Method and system for exchanging encrypted messages between computing devices in a communication network | |
CN103701589A (en) | Information transmission method and device based on virtual desktop system and relevant equipment | |
WO2017083203A1 (en) | Optimizing setup for wireless devices | |
US9258436B2 (en) | Method of easily configuring a network camera |
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 |