KR102559403B1 - System comprising vehicle and data communication method thereof - Google Patents

System comprising vehicle and data communication method thereof Download PDF

Info

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
Application number
KR1020160172767A
Other languages
Korean (ko)
Other versions
KR20180070261A (en
Inventor
김용
Original Assignee
현대자동차주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사 filed Critical 현대자동차주식회사
Priority to KR1020160172767A priority Critical patent/KR102559403B1/en
Publication of KR20180070261A publication Critical patent/KR20180070261A/en
Application granted granted Critical
Publication of KR102559403B1 publication Critical patent/KR102559403B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture 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

차량을 포함하는 시스템 및 그 데이터 통신 방법{SYSTEM COMPRISING VEHICLE AND DATA COMMUNICATION METHOD THEREOF}System including vehicle and data communication method thereof {SYSTEM COMPRISING VEHICLE AND DATA COMMUNICATION METHOD THEREOF}

개시된 발명은 차량을 포함하는 시스템 및 그 데이터 통신 방법에 관한 것으로, 상세하게는 서로 다른 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 system 1 includes a vehicle 10, a first device 20 connected to the vehicle, and several external devices 30, 40, and 50 connected through an Internet network.

구체적으로 차량(10)은 차량(10)을 이동시키는 차륜(2,3)과 차륜(2,3)을 회전시키는 구동 장치(미도시)를 포함하며, 다양한 구성 및 장치를 포함한다. 특히, 차량(10)은 후방의 장애물 내지 다른 차량의 접근을 감지하는 근접 센서, 강수 여부 및 강수량을 감지하는 레인 센서, 차량(10)의 위치 정보를 생성하기 위해 주변 공간에 데이터를 수집하는 라이더(Lidar) 센서 등 다양한 감지 장치를 포함할 수 있다.Specifically, the vehicle 10 includes wheels 2 and 3 for moving the vehicle 10 and a driving device (not shown) for rotating the wheels 2 and 3, and includes various configurations and devices. In particular, the vehicle 10 may include various sensing devices such as a proximity sensor that detects the approach of an obstacle or another vehicle from the rear, a rain sensor that detects whether or not there is precipitation and the amount of precipitation, and a lidar sensor that collects data in the surrounding space to generate location information of the vehicle 10.

차량(10)과 연결된 제 1 디바이스(20)는 무선 통신, 예를 들어 와이파이(WiFi)를 통해 차량(10)과 연결될 수 있거나, 유선 통신, 예를 들어 USB를 통해 차량(10)과 연결될 수 있다.The first device 20 connected to the vehicle 10 may be connected to the vehicle 10 through wireless communication, for example, WiFi, or through wired communication, for example, USB. It may be connected to the vehicle 10.

이렇게 차량(10)과 연결(Connectivity)되는 제 1 디바이스(20)는 시스템(1)의 외부 디바이스(30, 40, 50)와 인터넷 네트워크를 통해 사물 인터넷(IOT)을 구현하는데 사용된다.The first device 20 connected to the vehicle 10 in this way is used to implement the Internet of Things (IOT) through an Internet network with the external devices 30 , 40 , and 50 of the system 1 .

특히, 차량(10) 및 제 1 디바이스(20)는 외부 디바이스(30, 40, 50)가 인터넷 네트워크를 통해 차량(10)의 센서 API(Application Program Interface)에 접근할 수 있는 아키텍처(Architecture)로 설계된다.In particular, the vehicle 10 and the first device 20 are designed with an architecture in which the external devices 30, 40, and 50 can access a sensor application program interface (API) of the vehicle 10 through an Internet network.

구체적으로, 개시된 시스템(1)은 차량(10)의 센서에 접근하기 위한 API를 제 1 디바이스(20)에서 RPC(Remote Procedure Call)하기 위한 구조를 정의하고, 외부 디바이스(30, 40, 50)가 인터넷 네트워크를 통해서 차량(10)의 센서 API로 접근하기 위한 HTTP URP 구조를 정의하며, 여러 프레임워크에서 동작할 수 있는 OS Wrapper layer를 정의한다. 이와 관련된 자세한 설명은 이하의 도면을 통해서 자세히 후술한다.Specifically, the disclosed system 1 defines a structure for RPC (Remote Procedure Call) in the first device 20 of an API for accessing a sensor of the vehicle 10, and an HTTP URP structure for external devices 30, 40, and 50 to access the sensor API of the vehicle 10 through the Internet network, and defines an OS Wrapper layer that can operate in various frameworks. A detailed description related to this will be described later in detail through the following drawings.

한편, 외부 디바이스(30, 40, 50)는 제 1 디바이스(20) 이외의 다른 제 2 디바이스(30), 웹 서버(40) 및 개인용 컴퓨터(Personal Computer 50)를 포함할 수 있다.Meanwhile, the external devices 30 , 40 , and 50 may include a second device 30 other than the first device 20 , a web server 40 , and a personal computer 50 .

먼저 제 2 디바이스(30)는 차량(10)과 연결되지 않은 다른 사용자 단말을 의미한다. 일 예로, 차량(10)에 탑승한 운전자 및 동승자 중 운전자의 사용자 단말이 차량(10)과 USB 포트를 통해 연결되면, 운전자의 사용자 단말은 제 1 디바이스(20)가 되고, 동승자의 사용자 단말은 제 2 디바이스(30)가 된다. First, the second device 30 refers to another user terminal not connected to the vehicle 10 . For example, when the driver's user terminal among the driver and passenger in the vehicle 10 is connected to the vehicle 10 through a USB port, the driver's user terminal becomes the first device 20, and the passenger's user terminal becomes the second device 30.

사용자 단말은 네트워크를 통해 인터넷에 접속할 수 있는 컴퓨터나 휴대용 단말기를 지칭한다. 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 first device 20, the second device 30, and the personal computer 50 shown in FIG. 1 all correspond to user terminals, and are devices that allow the vehicle 10 to implement the Internet of Things by accessing the Internet network.

도 1에서 웹 서버(40)는 HTML(Hypertext Markup Language)로 구성된 웹 페이지를 제공해주는 서버(Server)로 웹 브라우저 간의 데이터 통신에 사용되는 서버를 의미한다.In FIG. 1, the web server 40 is a server that provides a web page composed of HTML (Hypertext Markup Language), and means a server used for data communication between web browsers.

일 예로, 웹 서버(40)는 사용자가 개인용 컴퓨터(50)를 통해 웹 브라우저에서 URL(Uniform Resource Locator)로http:// 및 도메인 주소를 입력하면, 입력된 도메인을 가진 서버에서 웹 페이지를 요청하고, 웹 서버(40)는 index.html 파일을 찾아서 브라우저로 보낸다.For example, the web server 40 requests a web page from the server having the entered domain when a user inputs http:// and a domain address as a URL (Uniform Resource Locator) in a web browser through the personal computer 50. The web server 40 finds the index.html file and sends it to the browser.

한편, 개시된 시스템(1)은 도 1에서 도시한 구성 이에도 여러 다양한 장치 및 구성을 포함할 수 있다. 일 예로 다른 구성은 사용자의 가전기기, 예를 들어 세탁기 또는 냉장고 등을 포함할 수 있으며, 인터넷 네트워크를 통해 데이터를 주고 받을 수 있는 모든 사물을 포함한다.Meanwhile, the disclosed system 1 may include various devices and configurations in addition to the configuration shown in FIG. 1 . As an example, another configuration may include a user's home appliance, for example, a washing machine or a refrigerator, and includes all things capable of transmitting and receiving data through an Internet network.

도 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 system 1, a vehicle 10 and a first device 20 are connected to each other through wired or wireless communication. The first device 20 includes a control module 200 responsible for overall control of operations and the like, and a display 206 that outputs results generated by the module 200 . The vehicle 10 includes a head unit 100 responsible for overall control of the vehicle 10 and other components.

구체적으로 제 1 디바이스(20)는 데이터를 저장하는 메모리(204), 적어도 하나의 칩으로 구성된 CPU(Central Processing Unit, 205)과 시스템 버스(220)에 의해 연결되는 외부 인터페이스(201, 202, 203)를 포함할 수 있다. 외부 인터페이스는 유선 통신에 사용되는 USB 인터페이스(201), 디스플레이(206)와 연결된 디스플레이 어뎁터(202), NIC(Network Interface Connector, 203)를 포함할 수 있다.Specifically, the first device 20 may include a memory 204 for storing data, a central processing unit (CPU) 205 composed of at least one chip, and external interfaces 201, 202, and 203 connected by a system bus 220. The external interface may include a USB interface 201 used for wired communication, a display adapter 202 connected to the display 206, and a network interface connector (NIC) 203.

디스플레이 어뎁터(202)는 제 1 디바이스(20)의 디스플레이(206)가 CPU(201)에서 처리하는 결과를 출력하도록 전기적 신호를 인가한다. NIC(203)는 제 1디바이스(20)가 인터넷 네트워크에 연결될 수 있는 신호를 처리한다. 메모리(204)는 휘발성 소자, 예를 들어 RAM(Random Access Memory) 또는 비 휘발성 메모리 소자, 예를 들어 플래쉬 메모리(Flash memory)를 모두 포함할 수 있다. The display adapter 202 applies an electrical signal so that the display 206 of the first device 20 outputs a result processed by the CPU 201 . The NIC 203 processes signals through which the first device 20 can be connected to the Internet network. The memory 204 may include both a volatile device, such as a random access memory (RAM) or a non-volatile memory device, such as a flash memory.

한편, 모바일 프레임 워크는 CPU(205)에 의해서 처리되어, Andorid, iOS 및 리눅스(Linux)와 같은 운영 시스템(OS)상에 실행되는 여러 앱, 즉 어플리케이션(Application)을 포함한다.Meanwhile, the mobile framework includes several apps, that is, applications, which are processed by the CPU 205 and executed on an operating system (OS) such as Andorid, iOS, and Linux.

차량(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 vehicle 10 may also include a memory 104 for storing data, a central processing unit (CPU) 105 composed of at least one chip, and external interfaces 101 and 103 connected by the system bus 110. The external interface may include a USB interface 101 used for wired communication and a communication unit 203 capable of accessing a wireless network using WiFi.

특히, 통신부(203)는 차량(10) 내 여러 전자제어장치(Electronic Control Unit, ECU)와 헤드 유닛(100)을 차량 내 네트워크로 연결하는 모듈을 의미한다. 차량 내 네트워크는 차량 내 통신버스를 이용하여, CAN(Controller Area Network), LIN(Local Interconnection Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등과 같은 차량의 내부 통신 프로토콜을 통해 신호를 주고 받는다.In particular, the communication unit 203 refers to a module that connects various electronic control units (ECUs) and the head unit 100 in the vehicle 10 through an in-vehicle network. An in-vehicle network uses an in-vehicle communication bus to send and receive signals through an in-vehicle communication protocol such as CAN (Controller Area Network), LIN (Local Interconnection Network), FlexRay, Ethernet, and the like.

한편, 차량(10) 내 헤드 유닛(100)의 프레임워크는 CPU(105)에 의해 처리되어 차량(10) 내 여러 장치를 제어하는 어플레이션을 포함할 수 있다. 일 예로, 헤드 유닛(10)은 차량(10) 마련된 AVN(Audio Video Navigation) 모듈을 동작시키는 인터페이스를 프레임 워크 상에 마련할 수 있다. 일 예에 따른 헤드 유닛(100)의 프레임 워크는 Java와 같은 프로그램 언어로 구현될 수 있다.Meanwhile, the framework of the head unit 100 in the vehicle 10 may include applications that are processed by the CPU 105 and control various devices in the vehicle 10 . For example, the head unit 10 may provide an interface for operating an audio video navigation (AVN) module provided in the vehicle 10 on a framework. The framework of the head unit 100 according to an example may be implemented in a programming language such as Java.

도 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 control module 200 in the first device 20 according to an example in the disclosed system 1 can be divided into a mobile framework 210 including several applications that can be executed on the operating system and an application program interface (API) that connects the actual application and the operating system.

또한, 차량(10)의 헤드 유닛(100)도 마찬가지로 운영 체제 상에 실행될 수 있는 여러 어플리케이션을 포함하는 헤드 유닛 프레임 워크(110)와 운영 체제와 실제 프로그램을 연결시켜 주는 API로 구분할 수 있다.In addition, the head unit 100 of the vehicle 10 can also be divided into a head unit framework 110 including various applications that can be executed on the operating system and an API connecting the operating system and actual programs.

일 예로, 사용자가 제 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 first device 20, specifically change the vibration mode, the signal started by the user's input command must go through a series of processes to the device (hardware) that causes vibration. First, a user clicks a button through a graphical user interface (GUI), a setting program (Application) is executed, and the setting program transmits a signal to an operating system (OS) of a first device through an API. The operating system then operates hardware related to the vibration of the first device through an Operating System Interface (OSI). That is, the OSI, API, and GUI belong to the operating system of the first device 20 and mean software of an intermediate medium that connects the subject of each substantial operation.

개시된 일 예에 따른 시스템(1)은 인터넷 네트워크를 통해 외부의 디바이스(30, 40, 50)가 차량(10)의 센서 API에 접근하기 위한 아키텍처를 설계함으로써 차량과 사물을 연결하는 사물 인터넷을 강화한다.The system 1 according to the disclosed example strengthens the Internet of Things, which connects vehicles and objects by designing an architecture for external devices 30, 40, and 50 to access the sensor API of the vehicle 10 through the Internet network.

다시 도 3을 참조하면, 제 1 디바이스(20)의 제어 모듈(200)은 여러 어플리케이션을 포함할 수 있다. 구체적으로 어플리케이션은 런쳐(launcher, 211), 웹 서버(212), 설정(213) 및 커넥티비티(214)을 포함할 수 있다. 헤드 유닛(100)도 마찬가지로 AVN(111), 공조장치(112), 엔진(113) 및 커넥티비티(114)를 프로그램으로 포함할 수 있다. Referring back to FIG. 3 , the control module 200 of the first device 20 may include several applications. Specifically, the application may include a launcher 211 , a web server 212 , settings 213 , and connectivity 214 . The head unit 100 may also include the AVN 111 , the air conditioner 112 , the engine 113 , and the connectivity 114 as programs.

여기서 커넥티비티(114)는 개시된 시스템(1)의 동작을 위해 필요한 프로그램을 의미한다. 즉, 개시된 시스템(1)은 제 1 디바이스(20)와 차량(10)이 유선 또는 무선으로 연결(connectivity)되면, 제 1 디바이스(20)는 차량(10)에 포함된 센서로부터 데이터를 콜(call)할 수 있다. 이 때, 커넥티비티(114)는 실행되고, 이러한 커넥티비티 프로그램은 도 3의 제 1 디바이스(20)의 API와 같은 형태를 통해 구현될 수 있다.Here, the connectivity 114 means a program necessary for the operation of the disclosed system 1 . That is, in the disclosed system 1, when the first device 20 and the vehicle 10 are wired or wirelessly connected, the first device 20 may call data from a sensor included in the vehicle 10. At this time, the connectivity 114 is executed, and such a connectivity program may be implemented through a form such as the API of the first device 20 of FIG. 3 .

구체적으로 제 1 디바이스(20)의 커넥티비티 어플리케이션(214)는 차량(10)의 센서와 관련된 API를 호출하는 차량 센서 API(200), RPC(Remote Protocol Call)를 위한 프로토콜로 변환하는 RPC API(230) 및 암호화를 수행하는 통신 제어 API(240)를 통해 구현된다.In detail, the connectivity application 214 of the first device 20 is implemented through the vehicle sensor API 200 that calls APIs related to the sensors of the vehicle 10, the RPC API 230 that converts RPC (Remote Protocol Call) into a protocol, and the communication control API 240 that performs encryption.

먼저 차량 센서 API(220)는 제 1 디바이스(20)가 외부, 예를 들어 인터넷 네트워크를 통해 수신한 URL을 파싱(Parsing)하고, 파싱된 내용으로 차량(10)의 센서 API를 호출한다.First, the vehicle sensor API 220 parses the URL received by the first device 20 from the outside, eg, through an Internet network, and calls the sensor API of the vehicle 10 with the parsed content.

여기서 파싱이란 가공되지 않은 데이터에서 원하는 특수한 문자열을 빼내는 작업을 의미한다. 파싱에 관한 자세한 설명은 도 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 vehicle sensor API 220 generates a message for calling the vehicle sensor API, the RPC API 230 converts the generated message into RPC.

여기서 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 communication control API 240 encrypts the converted protocol. In order to implement the Internet of Things, the system 1 implements a communication control API 240 to control access of random devices and performs a data security task of the vehicle 10 .

암호화 작업을 거친 RPC 프로토콜은 유선 또는 무선을 통해 차량(10), 구체적으로 헤드 유닛(100)으로 전달되고, 헤드 유닛(100)은 아래와 같은 소프트웨어의 아키텍처를 통해 동작한다.The encrypted RPC protocol is transmitted to the vehicle 10, specifically the head unit 100, via wire or wireless, and the head unit 100 operates through the following software architecture.

제 1 디바이스(20)와 마찬가지로 개시된 시스템(1)의 동작을 위해서 헤드 유닛(100)은 여러 프로그램 중 커넥티비티(114) 프로그램을 포함할 수 있다. 전술한 암호화된 신호가 전송되면, 커넥티비티(114) 프로그램은 도 3에서 도시된 API를 차례로 실행한다.Like the first device 20 , the head unit 100 may include a connectivity 114 program among several programs for the operation of the disclosed system 1 . When the above-described encrypted signal is transmitted, the connectivity 114 program sequentially executes the API shown in FIG. 3 .

구체적으로 헤드 유닛(100)의 통신 제어 API(140)는 수신된 암호화된 신호를 복호화하거나, 다시 전달할 신호를 암호화한다.Specifically, the communication control API 140 of the head unit 100 decrypts the received encrypted signal or encrypts the signal to be transmitted again.

RPC API(130)는 복호환된 RPC 프로토콜을 분석한다. RPC API(130)는 복호화된 메시지로부터 어떤 멤버 함수를 호출할 것인지 결정한다.The RPC API 130 analyzes the decoded RPC protocol. The RPC API 130 determines which member function to call from the decrypted message.

차량 센서 API(120)를 호출하고, 차량 센서 API(120)는 주어진 명령에 따라 차량(10) 내 네트워크를 통해 차량(10)의 센서로부터 데이터를 요청하는 동작을 실행한다. 즉, 차량 센서 API(120)는 헤드 유닛(100)의 운영 체제가 차량(10)의 센서(하드웨어에 해당)를 제어할 수 있도록 운영 체제와 커넥티비티(114) 프로그램을 연결시켜준다.The vehicle sensor API 120 is called, and the vehicle sensor API 120 executes an operation of requesting data from a sensor of the vehicle 10 through a network within the vehicle 10 according to a given command. That is, the vehicle sensor API 120 connects the operating system and the connectivity 114 program so that the operating system of the head unit 100 can control sensors (corresponding to hardware) of the vehicle 10 .

전술한 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 system 1 , an external device 30 or the like may collect sensor data of the vehicle 10 . In this case, the web server 40 may define the URL 41 as shown in FIG. 4 .

도 4를 참조하면, 일 예에 따라 정의된 URL(41)은 HTTP GET 방식을 사용할 수 있다. 다른 예에 따라 URL은 보안을 위해 HTTPS를 사용할 수도 있다.Referring to FIG. 4 , a URL 41 defined according to an example may use an HTTP GET method. According to another example, the URL may use HTTPS for security.

구체적으로 도 4의 automotive(42)는 차량(10)의 센서 API로 접근을 의미한다. 즉, automotive(42)는 차량 센서 API를 호출하도록 지정하는 명령어이다. 따라서 automotive는 미리 설정되면 충분하고 다양하게 변경될 수 있다.Specifically, the automotive 42 of FIG. 4 means access to the sensor API of the vehicle 10 . That is, automotive (42) is a command specifying to call a vehicle sensor API. Therefore, if automotive is set in advance, it can be changed sufficiently and variously.

도 4의 sensor(43)는 접근하고자 하는 센서를 가리킨다. 즉, sensor(43) 이후에 기재되는 sensor name 은 차량 센서 API의 클래스 네임이 된다.A sensor 43 in FIG. 4 indicates a sensor to be approached. That is, the sensor name described after sensor 43 becomes the class name of the vehicle sensor API.

도 4의 data(44)는 접근하려는 센서의 데이터를 가리킨다. 즉, data(44) 이후에 기재되는 data name 은 차량 센서 API에서 클래스의 맴버 함수가 된다.Data 44 in FIG. 4 indicates data of a sensor to be accessed. That is, the data name described after data(44) becomes a member function of a class in the vehicle sensor 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 system 1 may request data related to a temperature sensor that measures the temperature of the external device 30 or the like that is heated by a hot wire provided in the driver's seat of the vehicle 1 . In this case, in the URL of FIG. 4, the sensor name may be a temperature sensor, the data name may be a temperature of a heating wire, and param1 may be a number corresponding to a seat number corresponding to a driver's seat.

한편, 제 1 디바이스(20)는 웹 서버(40)를 통해 외부에서 전달되는 도 4와 같은 URL의 메시지에서 상기 인자, 예를 들어 sensor(43), data(44) 및 param1(45) 내지 paramN(46)을 파싱한다.Meanwhile, the first device 20 parses the factors, for example, sensor 43, data 44, and param1 45 to paramN 46 in the URL message as shown in FIG. 4 transmitted from the outside through the web server 40.

파싱된 결과를 기초하여 제 1 디바이스(20)는 차량 센서 API를 RPC 방식으로 차량(10)의 헤드 유닛(100)에 호출한다. 즉, 헤드 유닛(100)은 파싱된 automotive라는 명령어에 기초하여 차량 센서 API를 호출하고, 각 인자에 따라 운전석에 마련된 온도 센서가 검출하는 온도 데이터를 차량(10)의 센서에 요구한다.Based on the parsed result, the first device 20 calls the vehicle sensor API to the head unit 100 of the vehicle 10 in the RPC method. That is, the head unit 100 calls the vehicle sensor API based on the parsed automotive command, and requests temperature data detected by a temperature sensor provided in the driver's seat from the sensor of the vehicle 10 according to each factor.

도 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 vehicle 10, and there may be various URLs.

도 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 system 1 , an external device 30 or the like may request data collected by a sensor of the vehicle 10 through an HTTP GET method ( 300 ).

제 1디바이스(20)는 HTTP Request를 수신하고, 수신된URL을 파싱(Parsing)한다(310).The first device 20 receives the HTTP Request and parses the received URL (310).

파싱에 관한 일 예는 도 4에서 설명하여 생략한다.An example of parsing is omitted after being described in FIG. 4 .

제 1 디바이스(20), 구체적으로 제어 모듈(200)은 파싱된 텍스트 및 인자를 기초로 커넥티비티 어플리케이션을 실행시키고, 차량 센서 API를 호출한다(311).The first device 20, specifically the control module 200, executes a connectivity application based on the parsed text and factors and calls a vehicle sensor API (311).

이 후, 제 1 디바이스(20)는 RPC API를 호출한다(312).After that, the first device 20 calls the RPC API (312).

전술한 바와 같이, 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 vehicle 10, specifically the head unit 100. The head unit 100 can know which data of the vehicle 10 needs to be extracted using the RPC protocol. Hereinafter, data collected by sensors provided in the vehicle 10 by the head unit 100 will be described as an example, but various other data may be included.

RPC 프로토콜이 생성되면, 제 1 디바이스(20)는 프로토콜 데이터를 암호화한다(313). 구체적으로 암호화는 도 3에서 통신 제어 API(240)가 실행한다.When the RPC protocol is generated, the first device 20 encrypts the protocol data (313). Specifically, encryption is executed by the communication control API 240 in FIG. 3 .

이후, 제 1 디바이스(20)는 차량(10)으로 암호화된 데이터를 전송한다. 일 예로, 제 1 디바이스(20)는 차량(10)과 USB 포트 등으로 통해서 유선으로 연결될 수 있다. 다른 예로, 제 1 디바이스(20)는 차량(10)과 블루투스 또는 와이파이(WiFi)를 통해 연결될 수도 있다.Then, the first device 20 transmits encrypted data to the vehicle 10 . For example, the first device 20 may be wired to the vehicle 10 through a USB port or the like. As another example, the first device 20 may be connected to the vehicle 10 through Bluetooth or WiFi.

데이터를 수신한 차량(10), 구체적으로 헤드 유닛(100)은 수신한 신호를 복호화한다(320).Upon receiving the data, the vehicle 10, specifically the head unit 100, decodes the received signal (320).

즉, 헤드 유닛(100)은 암호화된 신호를 풀어서 RPC 프로토콜을 수신한다.That is, the head unit 100 decrypts the encrypted signal and receives the RPC protocol.

이후, 헤드 유닛(100)은 RPC 프로토콜에 따라 RPC API(130)를 호출한다(321).Then, the head unit 100 calls the RPC API 130 according to the RPC protocol (321).

RPC API(130)는 프로토콜에 따라 차량센서 API(120)를 호출하고, 센서 데이터를 수집한다(322).The RPC API 130 calls the vehicle sensor API 120 according to the protocol and collects sensor data (322).

구체적으로 차량 센서 API(120)는 헤드 유닛(100)의 운영 체제를 연결시켜, 헤드 유닛(100)이 차량(10)의 센서로 명령을 지시하고, 센서가 수집한 데이터를 전송하도록 요청하게 한다.In detail, the vehicle sensor API 120 connects the operating system of the head unit 100 so that the head unit 100 instructs the sensors of the vehicle 10 with commands and requests to transmit data collected by the sensors.

헤드 유닛(100)이 센서로 제어 명령을 지시하는 것은 차량 내 구비된 네트워크를 통해 이뤄진다. 일 예로, 헤드 유닛(100)는 통신부(103)를 제어하여, CAN을 통해서 제어 명령을 전달하고, 센서 또한, 제어 명령에 따라 수집한 데이터를 헤드 유닛(100)으로 전달할 수 있다.The head unit 100 instructs a control command to the sensor through a network provided in the vehicle. For example, the head unit 100 may control the communication unit 103 to transmit a control command through CAN, and may transmit data collected by a sensor to the head unit 100 according to the control command.

데이터가 수집되면, 헤드 유닛(100)은 센서의 데이터를 다시 RPC 프로토콜로 변환한다(323).When the data is collected, the head unit 100 converts the data of the sensor back to the RPC protocol (323).

RPC 프로토콜은 헤드 유닛(100)의 PRC API(130)가 수행한다.The RPC protocol is performed by the PRC API 130 of the head unit 100.

변환된 PRC 프로토콜은 다시 암호화된다(324). 구체적으로 암호화 작업은 헤드 유닛(100)의 통신 제어 API(140)가 실행한다.The converted PRC protocol is encrypted again (324). Specifically, the encryption task is executed by the communication control API 140 of the head unit 100 .

암화화가 완료되면, 헤드 유닛(100)은 통신부(103)를 통해 센서 데이터를 제 1 디바이스(20)로 전달한다. When encryption is completed, the head unit 100 transmits the sensor data to the first device 20 through the communication unit 103 .

제 1 디바이스(20)는 수신된 신호를 복호화한다(330).The first device 20 decodes the received signal (330).

제 1 디바이스(20)는 복호화가 완료된 RPC 프로토콜을 분석하여 외부로 전송할 센서 데이터를 획득한다(331). 구체적으로 제 1 디바이스의 RPC API(230)가 결과를 반환한다.The first device 20 analyzes the decrypted RPC protocol and obtains sensor data to be transmitted to the outside (331). Specifically, the RPC API 230 of the first device returns a result.

이후, 제 1 디바이스(20)는 얻어진 데이터를 인터넷 네트워크를 통해 외부로 전달한다(332).Thereafter, the first device 20 transfers the obtained data to the outside through the Internet network (332).

소프트웨어적으로 제 1 디바이스(20)에서 인터넷 네트워크를 통해 외부로 센서 데이터를 전달하는 동작은 제 1 디바이스(20)의 차량센서 API(220)를 통해 이뤄질 수 있다.An operation of transmitting sensor data from the first device 20 to the outside via the Internet network in terms of software can be performed through the vehicle sensor API 220 of the first device 20 .

차량센서 API(220)는 종전 HTTP Request에 따라 HTTP Response를 전송한다(340).The vehicle sensor API 220 transmits an HTTP Response according to the previous HTTP Request (340).

도 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 control module 200 of the first device 20 includes a framework including each of the applications 211, 212, 213, and 214, and various APIs 220 and 240 that connect the application and the operating system.

또한, 차량(10)의 헤드 유닛(100)도 각 프로그램(111, 112, 113, 114) 및 운영 체제를 연결하는 여러 API(120, 140)를 포함한다. 도 3과 중복되는 구성에 대한 설명은 생략한다.In addition, the head unit 100 of the vehicle 10 also includes several APIs 120 and 140 that connect each program 111 , 112 , 113 , and 114 and an operating system. A description of a configuration overlapping with that of FIG. 3 will be omitted.

개시된 다른 예에 따른 시스템(1)은 각 구성에 RPC OS Wrapper layer(250, 150)를 포함할 수 있다.System 1 according to another disclosed example may include RPC OS Wrapper layers 250 and 150 in each component.

래퍼(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 first device 20 is a smart phone, the control module 200 may operate based on an operating system such as Android or iOS. Also, in the case of the vehicle 10, the head unit 100 may operate based on JAVA.

제 1 디바이스(20)와 헤드 유닛(100)은 RPC OS Wrapper layer(250, 150)를 각각 마련하고, RPC OS Wrapper layer(250, 150)는 RPC를 수행하고, 암호화를 진행하는 동작을 C++환경에서 수행할 수 있도록 변환한다.The first device 20 and the head unit 100 prepare RPC OS Wrapper layers 250 and 150, respectively, and the RPC OS Wrapper layers 250 and 150 perform RPC and convert operations to perform encryption in a C++ environment.

이를 통해서 제 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 control module 200 of the first device 20 may generate the RPC protocol 231 by the RPC API 230 and perform an encryption process through an Extension Channel Manager (ECM) 260. In addition, a channel data manager (CDM) packetizes encrypted data (packetizer) 262 and serializes the encrypted data (serializer) 263 to transmit the data to the vehicle 10. All of these processes are executed in C or C++ through the RPC OS Wrapper layer (250).

헤드 유닛(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 head unit 100 may generate the RPC protocol 211 through the RPC API 130 and perform an encryption process through an Extension Channel Manager (ECM) 160. In addition, a channel data manager (CDM) packetizes encrypted data (packetizer 162 ), serializes the encrypted data (serializer 163 ), and transmits the data to the first device 20 . All of these processes are executed in C or C++ through the RPC OS Wrapper layer (150).

에러 처리자(232, 132) 및 API 접근 관리자(233)는 상술한 동작을 관리하고, RPC OS Wrapper layer(250, 150)이 C 또는 C++의 코드 변환 시, 발생할 수 있는 에러를 보정하는 역할을 한다.The error handlers 232 and 132 and the API access manager 233 manage the above-described operations, and the RPC OS Wrapper layer 250 and 150 correct errors that may occur when converting C or C++ code.

한편, 개시된 시스템(1)은 RPC OS Wrapper layer(250, 150)를 마련해 서로 다른 운영 체제에서 호환이 가능하도록 설계되면 충분하고, 도 6에서 도시된 여러 블록은 다양한 변형례가 있을 수 있다.On the other hand, the disclosed system 1 suffices if it is designed to be compatible with different operating systems by providing the RPC OS Wrapper layers 250 and 150, and various blocks shown in FIG. 6 may have various modifications.

도 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 system 1 may set an RPC OS Wrapper layer 430 for each configuration and make the sensor API 420 and the RPC API 440 compatible. That is, the RPC OS Wrapper layer 430 configures the wrapper so that the RPC API 440 operating in the Linux kernel can be used in the operating system.

구체적으로 일 예에 따른 센서 API(420)가 JAVA 기반(420)으로 이뤄진 경우, RPC OS Wrapper Layer(430)는 안드로이드를 JNI 인터페이스로 Wrapper를 구성한다. 도 7의 블록 433은 JNI 인터페이스로 Wrapper를 구성하는 일 예를 개략적으로 작성한 것이다. Specifically, when the sensor API 420 according to an example is made of the JAVA-based 420, the RPC OS Wrapper Layer 430 configures Android as a JNI interface wrapper. Block 433 of FIG. 7 is a schematic diagram of an example of configuring a wrapper with a JNI interface.

다른 예로 센서 API(422)가 C++이나 Object C 기반(422)으로 이뤄진 경우, RPC OS Wrapper Layer(430)는 C++ 인터페이스로 Wrapper를 구성한다. 즉, 리눅스, iOS 또는 QNX는 C++ 인터페이스로 Wrapper를 구성하고, 블록 433과 같이 작성될 수 있다.As another example, if the sensor API 422 is based on C++ or Object C 422, the RPC OS Wrapper Layer 430 configures a wrapper with a C++ interface. That is, Linux, iOS, or QNX configures a wrapper with a C++ interface and can be written as in block 433.

만약 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 blocks 433 and 434, getOdometer written in the RPC method is called (441) so that the RPC API (440) operates.

이를 통해서 개시된 시스템(1)은 여러 다른 운영체제를 가진 외부의 디바이스가 차량(10)과 연결되어 데이터를 공유할 수 있다.In the system 1 disclosed through this, external devices having various operating systems may be connected to the vehicle 10 to share data.

1: 시스템, 10: 차량
20: 제 1 디바이스 30: 제 2 디바이스
100: 헤드 유닛, 110, 220: 차량 센서 API
130, 230: RPC API 140, 240: 통신 제어 API
1: system, 10: vehicle
20: first device 30: second device
100: head unit, 110, 220: vehicle sensor API
130, 230: RPC API 140, 240: Communication control API

Claims (20)

외부로부터 미리 설정된 URL(Uniform Resource Locator)을 수신하고, 상기 URL을 파싱하여 인터페이스에 접근하기 위한 프로토콜 데이터를 생성하는 사용자 단말;
데이터를 수집하고, 상기 사용자 단말이 전달하는 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 차량;을 포함하고,
상기 차량은 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.
제 1항에 있어서,
상기 사용자 단말은,
상기 인터페이스를 통해 상기 데이터를 외부로 전달하는 시스템.
According to claim 1,
The user terminal,
A system for transmitting the data to the outside through the interface.
삭제delete 삭제delete 제 1항에 있어서,
상기 사용자 단말은,
상기 생성된 프로토콜 데이터를 암호화하는 시스템.
According to claim 1,
The user terminal,
A system for encrypting the generated protocol data.
제 5항에 있어서,
상기 차량은,
상기 암호화된 프로토콜 데이터를 복호화하고, 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 시스템.
According to claim 5,
the vehicle,
A system for decrypting the encrypted protocol data and calling the interface based on the protocol data.
제 1항에 있어서,
상기 차량은,
상기 데이터를 수집하는 센서; 및
상기 인터페이스 및 상기 센서를 제어하는 제어부;를 더 포함하고,
상기 제어부는, 상기 프로토콜 데이터를 번역하여 상기 인터페이스를 통해 상기 센서로부터 상기 데이터를 전달받는 시스템.
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.
제 7항에 있어서,
상기 센서는,
상기 차량의 네트워크를 통해 상기 제어부로 상기 데이터를 전달하는 시스템
According to claim 7,
The sensor,
A system for transmitting the data to the control unit through the vehicle network
제 1항에 있어서,
상기 차량 및 상기 사용자 단말은,
상기 프로토콜 데이터가 호환될 수 있도록, 래퍼를 실행하는 시스템.
According to claim 1,
The vehicle and the user terminal,
A system that implements a wrapper so that the protocol data is compatible.
제 1항에 있어서,
상기 차량은,
상기 선택된 데이터를 상기 프로토콜 데이터로 변환하여 상기 사용자 단말로 전달하는 시스템.
According to claim 1,
the vehicle,
A system for converting the selected data into the protocol data and delivering it to the user terminal.
제 10항에 있어서,
상기 차량은 상기 변환된 프로토콜 데이터를 암호화하는 시스템.
According to claim 10,
The vehicle encrypts the converted protocol data.
제 11항에 있어서,
상기 사용자 단말은,
상기 변환된 프로토콜 데이터를 복호화하여 상기 데이터를 전달받는 시스템.
According to claim 11,
The user terminal,
A system for receiving the data by decoding the converted protocol data.
외부로부터 사용자 단말이 미리 설정된 URL(Uniform Resource Locator)를 수신하고;
상기 사용자 단말이 상기 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.
제 13항에 있어서,
상기 사용자 단말은 전달받은 상기 데이터를 외부로 전달하는 것;을 더 포함하는 시스템의 데이터 통신 방법.
According to claim 13,
The user terminal transmits the received data to the outside; the data communication method of the system further comprising.
삭제delete 삭제delete 제 13항에 있어서,
상기 차량 및 상기 사용자 단말은,
상기 프로토콜 데이터가 호환될 수 있도록, 래퍼를 실행하는 것;을 더 포함하는 시스템의 데이터 통신 방법.
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.
제 13항에 있어서,
상기 사용자 단말이 상기 생성된 프로토콜 데이터를 차량에 전달하는 것은,
상기 생성된 프로토콜 데이터를 암호화하여 전달하는 것;을 포함하는 시스템의 데이터 통신 방법.
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.
제 18항에 있어서,
상기 호출하는 것은,
상기 차량이 상기 암호화된 프로토콜 데이터를 복호화하고, 복호화된 상기 프로토콜 데이터에 기초하여 상기 인터페이스를 호출하는 것;을 포함하는 시스템의 데이터 통신 방법.
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.
제 13항에 있어서,
상기 선택하는 것은,
상기 차량에 마련된 센서가 차량 내 네트워크를 통해 전달하는 상기 데이터를 기초로 선택하는 것;을 포함하는 시스템의 데이터 통신 방법.
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.
KR1020160172767A 2016-12-16 2016-12-16 System comprising vehicle and data communication method thereof KR102559403B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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