KR102150785B1 - 선박 데이터 통합 시스템 및 이를 포함하는 선박 - Google Patents

선박 데이터 통합 시스템 및 이를 포함하는 선박 Download PDF

Info

Publication number
KR102150785B1
KR102150785B1 KR1020187037708A KR20187037708A KR102150785B1 KR 102150785 B1 KR102150785 B1 KR 102150785B1 KR 1020187037708 A KR1020187037708 A KR 1020187037708A KR 20187037708 A KR20187037708 A KR 20187037708A KR 102150785 B1 KR102150785 B1 KR 102150785B1
Authority
KR
South Korea
Prior art keywords
data
ship
vdm
model
path
Prior art date
Application number
KR1020187037708A
Other languages
English (en)
Other versions
KR20190006571A (ko
Inventor
박기수
강종구
정영수
박지훈
하성민
이단비
송찬호
Original Assignee
현대글로벌서비스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대글로벌서비스 주식회사 filed Critical 현대글로벌서비스 주식회사
Publication of KR20190006571A publication Critical patent/KR20190006571A/ko
Application granted granted Critical
Publication of KR102150785B1 publication Critical patent/KR102150785B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63JAUXILIARIES ON VESSELS
    • B63J99/00Subject matter not provided for in other groups of this subclass
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B79/00Monitoring properties or operating parameters of vessels in operation
    • B63B79/10Monitoring properties or operating parameters of vessels in operation using sensors, e.g. pressure sensors, strain gauges or accelerometers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B49/00Arrangements of nautical instruments or navigational aids
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B69/00Equipment for shipping not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B71/00Designing vessels; Predicting their performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G3/00Traffic control systems for marine craft
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B79/00Monitoring properties or operating parameters of vessels in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

본 발명은 선박 데이터 통합 시스템 및 이를 포함하는 선박에 관한 것으로, 본 발명에서는 VDM 패스를 포함한 선박 데이터 요청을 수신하고, 수신된 VDM 패스를 이용해, 선박 데이터들을 저장하는 데이터베이스로부터 요청된 선박 데이터를 검색한다. VDM 패스는 VDM 상에서 각 선박 데이터에 이르는 경로를 계층적으로 정의한 식별자일 수 있으며, 각 선박 데이터는 VDM 패스에 의해 식별될 수 있다.
이에 따라, 다양한 제3자 서비스들에게 필요한 선박 데이터를 효율적으로 제공할 수 있다.

Description

선박 데이터 통합 시스템 및 이를 포함하는 선박
본 발명은 선박 데이터 통합 시스템 및 이를 포함하는 선박에 관한 것이다.
선박은 사용 목적, 화물의 형태, 적재 방식에 따라 종류가 구분되는데, 사용 목적에 따라서는 상선, 특수작업선, 군함, 어선 등으로 구분되고, 화물의 형태에 따라서는 컨테이너선(Container Ship), 살물선(Bulk Carrier), 유조선(Tanker), 화학제품 운반선(Chemical Tanker), 액화석유가스 운반선(LPG Carrier), 액화천연가스 운반선(LNG Carrier), 차량운반선(Car Carrier) 등으로 구분될 수 있다.
전술한 바와 같이 다양한 종류의 선박은 각기 그 목적에 맞는 용도로 기능하기 위해 수많은 센서와 장치를 탑재하게 된다.
각 센서와 장치는 통합 장비에 의해 취합되고 가공되며 안전 항해에 필요한 서비스에 제공되는데, 하나 이상의 센서와 장치가 제조사에 따라 각기 다른 규약으로 만들어지므로, 종래에는 데이터의 취합이 쉽지 않고, 데이터를 취합하더라도 수집된 데이터를 통합 관리하는 방법의 부재로 수집된 데이터에 대한 선박 내에서는 물론 육상으로의 전달과 활용에도 제약이 많은 문제점이 있다.
한편, IMO(International Maritime Organization)는 지정한 "해상 항해 및 무선통신 장비와 시스템(Maritime navigation and radiocommunication equipment and systems)"(예를 들어, VDR(Voyage Data Recorder), INS(Integrated Navigation System) 등)이 IEC 61162 기반의 디지털 인터페이스를 따르도록 강제하고 있다. 여기서, IEC(International Electronical Committee) 61162은 "해상 항해 및 무선통신 장비와 시스템" 간의 통신 인터페이스를 위한 통신 표준으로, IEC 61162는 NMEA(National Marine Electronics Association) 표준과 서로 대응된다.
반면, "해상 항해 및 무선통신 장비와 시스템"에 해당되지 않는 장비들(예를 들어, AMS(Alarm Monitoring System), BMS(Bridge Maneuvering System) 등)은 IEC 61162를 따라야 하는 의무가 없다. 그리고 기공지되어 있는 NMEA를 이용한 데이터 표현에도 큰 한계가 존재하므로 주로 다른 산업 표준이나 사실상의 표준(de facto standard)을 선택하여 활용하고 있다.
이로 인해 "해상 항해 및 무선통신 장비와 시스템"에 해당되지 않는 장비들 간의 인터페이스는 공통된 표준이 존재하지 않고 있다.
예를 들어, GPS(Global Positioning System)로부터 위치를 수신하는 NMEA 문장 구조는 도 1과 같다. 이러한 NMEA 문장은 표준 문서를 통해 시스템 개발자끼리 공유되나, 개별적인 변경은 허락되지 않는다.
IEC 61162 표준 상에서 사용하고자 하는 데이터가 NMEA 문장으로 미리 정의된 데이터가 아닌 경우에는, 서로 합의하에 해당 데이터를 NMEA 문장으로 정의하는 작업을 추가적으로 수행하고, 이를 상호 간 인터페이스 합의 문서를 통해 서로 공유해야 한다.
전술한 바와 같이, IEC 61162 표준 상에서 사용하고자 하는 데이터가 NMEA 문장으로 미리 정의되어 있지 않으면, 추가적으로 데이터를 정의하여 이를 문서로 작성하여 서로 공유해야 하는 번거로움이 있다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 각기 다른 규약으로 만들어지는 서로 다른 형식의 선박 데이터를 하나의 통합된 데이터 형식으로 관리할 수 있는 선박 데이터 모델(Vessel Data Model, VDM)에 기반하여, 다양한 제3자 서비스(3rd party service)들에게 필요한 선박 데이터를 효율적으로 제공할 수 있도록 하는 선박 데이터 통합 시스템 및 이를 포함하는 선박을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법은 서비스 요청자로부터, VDM 패스(Vessel Data Model Path, VDM Path)를 포함한 선박 데이터 요청을 수신하는 단계; 및 상기 VDM 패스에 기반하여, 선박 데이터들을 저장하는 데이터베이스로부터 요청된 선박 데이터를 검색하는 단계를 포함한다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법에서, 상기 VDM 패스는 선박 데이터 모델(Vessel Data Model, VDM) 상에서 각 선박 데이터에 이르는 경로를 계층적으로 정의할 수 있으며, 각 선박 데이터는 VDM 패스에 의해 식별될 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법에서, 상기 VDM 패스의 계층 수준에 따라 검색되는 데이터 범위가 계층적으로 변화할 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법은, 상기 서비스 요청자에게 상기 VDM 패스가 지정하는 데이터 범위에 대한 접근 권한이 있는지 여부를 확인하는 단계를 더 포함할 수 있으며, 상기 확인 결과, 접근 권한이 있는 경우 검색을 수행할 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법에서, 상기 VDM은 선박 모델, 시스템 모델 및 데이터 모델을 포함할 수 있다. 이 경우, 상기 선박 모델은 선박, 이큅먼트 그룹, 이큅먼트, 컴포넌트 순의 계층 구조를 정의하고, 상기 시스템 모델은 선박 데이터를 수집하기 위한 시스템, 로지컬 디바이스, 로지컬 노드 순의 계층 구조를 정의하며, 상기 데이터 모델은 선박 데이터의 구조에 대한 데이터 오브젝트, 선박 데이터의 속성에 관한 데이터 어트리뷰트 순의 계층 구조를 정의할 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법에서, 상기 VDM 패스는 이큅먼트 그룹, 이큅먼트, 컴포넌트, 로지컬 디바이스, 로지컬 노드, 데이터 오브젝트, 데이터 어트리뷰트 중 적어도 하나 이상의 이름을 포함할 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법에서, 상기 VDM 패스는 이큅먼트 그룹, 이큅먼트, 컴포넌트, 로지컬 디바이스, 로지컬 노드, 데이터 오브젝트, 데이터 어트리뷰트 중 적어도 하나 이상의 이름이 순차적으로 배열되는 형태일 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법은, 상기 검색된 선박 데이터를 상기 선박 데이터 요청에 대한 응답으로서 상기 서비스 요청자에게 제공하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 방법 중 상기 검색 단계에서, 상기 선박 데이터 요청이 쿼리 API(Application Programming Interface)를 이용한 경우, 상기 요청된 선박 데이터를 풀(Pull) 방식으로 추출하고, 상기 선박 데이터 요청이 푸쉬 API를 이용한 경우, 상기 요청된 선박 데이터를 푸쉬(Push) 방식으로 제공받을 수 있다.
한편, 본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 장치는 서비스 요청자로부터, VDM 패스(Vessel Data Model Path, VDM Path)를 포함한 선박 데이터 요청을 수신하는 통신부; 및 상기 VDM 패스에 기반하여, 선박 데이터들을 저장하는 데이터베이스로부터 요청된 선박 데이터를 검색하는 검색부를 포함한다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 장치에서, 상기 VDM 패스는 선박 데이터 모델(Vessel Data Model, VDM) 상에서 각 선박 데이터에 이르는 경로를 계층적으로 정의할 수 있고, 각 선박 데이터는 VDM 패스에 의해 식별될 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 장치에서, 상기 검색부는, 상기 VDM 패스의 계층 수준에 따라 검색되는 데이터 범위를 계층적으로 변화시킬 수 있다.
본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 데이터 서비스 장치는, 상기 서비스 요청자에게 상기 VDM 패스가 지정하는 데이터 범위에 대한 접근 권한이 있는지 여부를 확인하는 확인부를 더 포함할 수 있고, 상기 확인부의 확인 결과, 접근 권한이 있는 경우, 상기 검색부에서 검색 동작을 수행할 수 있다.
본 발명의 선박 데이터 통합 시스템 및 이를 포함하는 선박에 따르면, 다양한 제3자 서비스(3rd party service)들에게 필요한 선박 데이터를 효율적으로 제공할 수 있게 된다.
도 1은 종래의 NMEA 문장 구조를 예시적으로 보인 도면이다.
도 2는 본 발명에 적용되는 VDM의 구조 체계를 개략적으로 보인 도면이다.
도 3은 본 발명의 일 실시예에 따른 선박 데이터 통합 플랫폼을 탑재한 스마트 쉽의 구성을 개략적으로 보인 도면이다.
도 4는 본 발명의 일 실시예에 따른 선박 데이터 통합 플랫폼의 주요 기능을 개략적으로 보인 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 서비스 장치를 포함하는 선박 데이터 통합 시스템의 구성을 개략적으로 보인 도면이다.
도 6 내지 도 8은 본 발명의 일 실시예에 따른 VDM 패스를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제3자 서비스가 개발되어 선박 데이터 통합 시스템에 등록 및 인증되는 과정을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 선박 데이터 서비스 방법을 설명하기 위한 처리도이다.
본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 확인되는 경우, 그 상세한 설명은 생략될 수 있다.
본 명세서에서 사용되는 "포함한다", "포함할 수 있다" 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성 요소 등을 제한하지 않는다. 또한, 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서 사용되는 주요 용어를 살펴보면 다음과 같다.
선박 데이터 통합 플랫폼(Vessel Data Integration Platform, VDIP)은 다양한 선박 데이터를 수집, 처리, 분석, 저장, 전송하기 위한 것으로, 선박 데이터를 통합 관리하는 소프트웨어, 펌웨어 및 하드웨어 장치들 또는 이들 간 선택적인 조합으로 구성된 임의의 시스템을 지칭하거나, 소프트웨어적 의미로 사용될 수 있다.
본 발명의 실시예에서, VDIP는 선박 데이터 통합 시스템과 동등한 의미로 사용될 수 있다.
선박 데이터 모델(Vessel Data Model, VDM)은 선박에 대한 모든 데이터를 하나의 체계로 정의하기 위한 데이터 모델로, 선박 자체로부터 말단 센서에 이르는 모든 장치를 객체화하고 객체 간 관계와 객체의 속성을 정의한다.
선박 데이터 모델 구성 기술 언어(Vessel data model Configuration description Language, VCL)는 VDM을 기술하기 위한 선박 데이터 모델 구성 파일(Vessel data model configuration description file)을 작성하는 언어이다.
선박 데이터 모델 구성 파일은 VCL에 맞게 VDM을 기술하는 구성 파일이다.
맵핑 설정 파일(Mapping Configuration Description File)은 기자재 출력 데이터를 VDM 기반의 통합 선박 데이터로 변환하기 위한 규칙을 정의하는 파일이다.
맵핑은 기자재 출력 데이터를 VDM으로 연결하는 과정이다.
기자재는 선박에 특수한 목적으로 탑재되는 장비로, 선박 내에서 발생되는 각종 선박 데이터를 수집하고, 수집된 선박 데이터를 VDIP로 전송한다. 기자재는 선박 데이터 변환 장치를 탑재하는 제1기자재와 선박 데이터 변환 장치를 탑재하지 않는 제2기자재로 구분될 수 있다.
제1기자재는 선박 데이터 변환 장치가 직접 탑재되어, 수집한 다양한 형식의 선박 데이터를 분석(parsing)하여 선박 데이터를 식별할 수 있는 키(Key)와 선박 데이터의 내용인 값(Value)을 추출하고, 추출한 키(Key)와 값(Value)(Key:Value)을 선박 데이터 변환 장치를 통해 VDM 기반의 통합 선박 데이터 형식(VDM Path:Value)으로 변환하고, 변환된 통합 선박 데이터를 VDIP로 전송한다.
또한, 상기 키(Key)-값(Value)은 데이터 표현 형식과 관련된 것으로, 유사한 표현 방식으로 이름(Name)-값(Value), 필드(Field)-값(Value) 또는 속성(Attribute)-값(Value) 등이 적용될 수 있다. 따라서, 키(Key) 대신 이름(Name), 필드(Field) 또는 속성(Attribute)이 추출될 수 있다.
제2기자재는 다양한 형식으로 수집된 선박 데이터를 표준화된 형식(예를 들어, NMEA(National Marine Electronics Association) 형식)으로 변환하여 UDP 또는 파일 형태로 VDIP로 전송한다.
제1선박 데이터 변환 장치는 제1기자재에서 출력되는 "키(Key):값(Value)" 형식의 제1선박 데이터를 맵핑 작업을 통해 VDM 기반의 통합 선박 데이터 형식(VDM Path:Value)으로 변환하여 이를 VDIP로 전송한다.
제2선박 데이터 변환 장치는 제2기자재로부터 수신한 제2선박 데이터를 분석하여 키(Key)와 값(Value)을 추출하고, 추출한 키(Key)와 값(Value)(Key:Value)을 맵핑 작업을 통해 VDM 기반의 통합 선박 데이터 형식(VDM Path:Value)으로 변환한다.
원시 데이터(raw data)는 기자재가 센서 또는 디바이스로부터 취합한 다양한 형식의 데이터이다.
기자재 출력 데이터는 기자재에서 선박 데이터 변환 장치로 전달되는 특정 형식의 데이터로, 제1기자재에서 출력되는 데이터는 키(Key)와 값(Value)의 형태(Key:Value)이고, 제2기자재에서 출력되는 데이터는 표준화된 형식(예를 들어, NMEA 형식)일 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들에 대하여 상세히 설명한다.
우선, 본 발명의 실시예들을 구현하기 위하여 선박 내에서 발생되는 모든 형식의 데이터를 하나의 체계로 관리할 수 있도록 선박 데이터 모델(VDM)이 구축된다.
VDM은 3가지 개념적 범주로 구성되며, 3가지 개념은 선박 데이터 표준화 원칙(Principle), 기술 언어(Language), 공통 데이터 구조체(Common Data Structure)이다.
VDM은 선박 데이터를 표현하기 위하여, 도 2에 도시하는 바와 같이 선박 파트를 모델링한 선박 모델(Vessel Model), 시스템 파트를 모델링한 시스템 모델(System Model), 데이터 타입 파트를 모델링한 데이터 모델(Data Model)의 3가지가 결합된 모델을 정의한다.
선박 모델은 선박을 구성하는 장비들에 대한 계층적인 분류 체계이며, 계층별로 정의 가능한 장비 목록의 전체 집합으로, 전체 집합은 확장 가능하다.
선박 모델은 표 1에 나타내는 바와 같이 4개 계층으로 정의될 수 있다.
계 층 명 칭 설 명 비 고
Level 1 Vessel 선박. 최상위 구성
Level 2 Equipment Group 장비들의 개념적인 그룹
Level 3 Equipment 실제 장비 or 추상/논리적 장비
Level 4 Component Equipment의 하위 세부 분류 optional
도 2에 도시하는 바와 같이, 선박(Vessel)에는 이큅먼트 그룹(Equipment Group)이 1개 이상 존재하고, 각각의 이큅먼트 그룹에는 이큅먼트(Equipment)가 0개 이상 존재하며, 각각의 이큅먼트에는 컴포넌트(Component)가 0개 이상 존재한다.
여기서, 최상위 계층인 레벨 1은 선박 자체를 의미하는 선박(Vessel)이다. 선박은 선박을 식별하는 고유 ID에 해당하는 IMO 번호를 포함한다.
레벨 2인 이큅먼트 그룹 계층의 인스턴스들이 모여서 하나의 선박을 구성한다. 여기서, 이큅먼트 그룹은 선박에 종속적인 관계를 갖는다.
레벨 2인 이큅먼트 그룹은 레벨 3인 이큅먼트들의 개념적인 그룹이며, 조선 산업에서 분류를 위해 많이 쓰이는 그룹의 명칭을 활용할 수 있다. 예를 들어, 기관(Machinery), 선장(Hull), 전장(Electrical), 운항(Navigational) 등의 분류가 활용될 수 있다.
레벨 3인 이큅먼트는 실제 장비를 주로 나타내는 계층으로, 가장 많은 가능 목록과 실제 구성에서의 인스턴스를 가진다.
이큅먼트 계층은 실제 장비에만 국한되지 않고 추상적이거나 논리적인 장비를 나타낼 수 있다. 예를 들어, 엔진이나 보일러와 같은 실제 물리적인 장비를 나타내는 것은 물론 안정성 지표, 로딩 상태와 같은 추상/논리적 개념도 적용 가능하다.
레벨 4인 컴포넌트는 이큅먼트를 보다 상세하게 하위 분류할 경우 사용하는 선택 가능한(optional) 계층이며, 컴포넌트 자체적인 독립성으로 인해 분류 및 재사용이 필요할 경우나 이큅먼트 자체가 규모가 클 경우 사용된다. 예를 들어, 엔진의 경우, 여러 개의 실린더, 보조 기계, 파이핑 시스템 등 자체만으로도 거대한 통합 시스템을 이루고 있으므로, 각각을 컴포넌트로 세분화하여 정의하면 필요한 관점으로 분류가 가능하고 별도로 활용도 가능하다.
전술한, 선박 모델의 전체 집합은 지속적으로 확장 가능하다.
한편, 시스템 모델은 선박을 구성하는 장비들에서 발생되는 데이터에 대한 구조화된 논리 모델이다.
선박 내에는 기계, 전기, 유압, 공압, 전자, 통신 또는 S/W(Software) 장비들이 공존하고 있고, 이들에서 발생되는 데이터는 데이터 수집이 가능한 장치(IT(Information Technology), 전자, S/W 장비 등)에 의해 취합된다.
개별 데이터 수집 장치(기자재) 내에서 수집 가능한 데이터에 대한 내부적인 데이터 모델을 정의하기 위해 시스템 모델을 활용한다.
시스템 모델은 데이터 수집 장치 내에서 데이터 모델의 재사용성을 높이고 가변성을 관리하게 해준다. 예를 들어, 데이터 수집 장치인 기자재 A가 엔진과 파이핑 시스템 관련 데이터를 수집하는 장치라 한다면, 이 장치 내에 엔진과 파이핑 시스템에 대한 자체적인 논리 모델을 구축할 수 있다. 그리고 데이터 수집 장치인 기자재 B가 주로 운항 관련 데이터를 수집하는 장치라 하면, 주로 운항 데이터에 대한 논리 모델을 구축할 수 있을 것이다. 추후 기자재 A의 데이터 중 일부를 기자재 B에서도 수집할 필요가 생겼다면, 기자재 B는 기자재 A의 논리 모델을 임포트(import)하여 사용하는 방법으로 모델 재사용이 가능하다.
이러한 시스템 모델은 표 2에 나타내는 바와 같이 4개 계층으로 정의될 수 있다.
계 층 명 칭 설 명 비 고
Level 1 System 시스템
Level 2 Logical Device 논리적 장비 모델링 최상위
Level 3 Logical Node 논리적인 기능의 기본 단위
Level 4 Data Object 데이터 타입의 인스턴스
시스템(System)에는 로지컬 디바이스(Logical Device)가 1개 이상 존재하고, 각각의 로지컬 디바이스에는 로지컬 노드(Logical Node)가 1개 이상 존재하고, 각각의 로지컬 노드에는 데이터 오브젝트(Data Object)가 1개 이상 존재한다.
레벨 1은 시스템 계층으로 데이터 수집 장치(기자재)를 나타내고, 하나 혹은 다수의 로지컬 디바이스를 포함한다.
레벨 2는 로지컬 디바이스 계층으로 논리적인 장비에 대한 모델링의 최상위 개념이며, 하나 혹은 다수의 로지컬 노드를 포함한다.
로지컬 디바이스는 예를 들어 시스템 내부에서 정의한 메인 엔진, 발전 엔진, 보일러, 탱크, 위치 장치 등의 모델이 있을 수 있고, 이들을 결합한 개념의 모델일 수 있다.
레벨 3은 로지컬 노드 계층으로 선박 도메인의 기능 단위를 모델링한 객체들로 구성되며, VDM의 가장 중심이 되는 계층이다. 로지컬 노드는 다음과 같이 3가지 요소로 구성될 수 있다.
- Prefix: 로지컬 노드의 목적이나 용도에 따라 이를 한정하는 접두어 (optional)
- Class: 로지컬 노드의 유형이나 범주를 지칭
- Inst: 복수 개의 객체를 지칭할 때 필요한 숫자
로지컬 노드의 이름(LNName)은 <prefix>+<class>+<inst>로 정의되며, 이 조합은 해당 로지컬 노드가 소속된 로지컬 디바이스 내에서 유일해야 한다. 예를 들어, Central CFW 시스템에 사용되는 세 개의 펌프는 미리 정의된 펌프 클래스(Pump Class)를 활용하여 모델링을 할 수 있고, CentralCFW 접두어를 사용하여 다른 펌프들과 구분 가능한 형태로 각각 CentralCFWPump1, CentralCFWPump2, CentralCFWPump3로 명명할 수 있다. 중복이 없다면 CentralCFW를 생략하여 Pump1, Pump2, Pump3으로 정의할 수도 있다.
로지컬 노드의 클래스는 선박 도메인에 필수적인 기능 단위의 객체를 미리 정의하여 활용하도록 장려하는 표준화의 핵심 요소이다.
레벨 4는 데이터 오브젝트 계층으로 데이터 구성의 가장 기본적인 단위이며, 데이터 모델의 데이터 클래스를 객체화하여 정의한다.
한편, 데이터 모델은 기본적인 데이터 형태부터 이를 조합한 복합 데이터 형태까지 정의할 수 있는 방법을 제공하여 원하는 데이터 객체를 구성할 수 있는 수단을 제공한다.
시스템 모델이 선박을 구성하는 장비들에서 발생되는 데이터에 대한 구조화된 논리 모델이라면, 데이터 모델은 발생되는 데이터 자체를 표현하는 모델로, 데이터 타입은 재귀적으로 구조화하여 정의가 가능하다. 데이터 모델은 데이터 타입의 재사용성을 높이고 가변성을 관리하게 해준다.
이러한 데이터 모델은 다음의 구성 요소로 이루어질 수 있다.
- Data Class
- Data Attribute
- Recursion of Data Attribute (optional)
- Basic Data Type
시스템 모델의 데이터 오브젝트는 데이터 모델의 데이터 클래스(Data Class)를 객체화하여 명명할 수 있도록 ID를 부여한다.
데이터 클래스는 데이터 어트리뷰트(Data Attribute)를 의미가 있는 조합으로 묶어 놓은 데이터 타입이다.
데이터 어트리뷰트는 데이터 모델의 가장 기본적인 단위이고 재귀적으로 정의 가능하며, 최종적으로는 기본 데이터형(Float, Timestamp, String, …) 중 하나를 타입으로 갖는다.
이상에서 설명한 바와 같이 VDM은 선박 모델, 시스템 모델, 데이터 모델로 구성되며, 이 3가지 모델이 결합되어 VDM을 형성한다.
전술한 3가지 모델을 결합하는 결합 모델의 기본 원리를 살펴보면 다음과 같다.
- 선박 모델은 선박을 체계적으로 분류하여 계층적으로 구분한다.
- 시스템 모델은 특정 시스템 내에서 논리적 장비의 로지컬 노드를 정의한다.
- 데이터 모델은 시스템 모델의 데이터 오브젝트의 데이터 클래스를 정의한다.
- 선박 모델의 이큅먼트나 컴포넌트 계층의 인스턴스는 시스템 모델의 로지컬 노드와 연결될 수 있다.
- 선박 모델과 시스템 모델의 로지컬 노드가 연결되기 위한 연결 정보를 설정할 수 있다.
- 연결 정보는 시스템, 로지컬 디바이스를 지칭하여 유일한 로지컬 노드를 연결할 수 있도록 한다.
- 시스템 모델의 데이터 오브젝트는 데이터 모델의 데이터 클래스를 객체화한다.
이상에서 살펴본 바와 같은 VDM에 의해 정의된 각 인스턴스(객체)들은 각각을 유일하게 식별하기 위한 객체 식별자를 할당받고, 데이터의 속성이 정의된다.
VDM은 객체 식별자를 VDM 패스(VDM Path)로 부른다. 즉, VDM 패스는 선박 내에서 특정 데이터에 대한 유일한 식별자로 활용된다. 그리고 VDM 상에서 특정 선박 데이터를 가리키기 위한 경로 지정 규칙으로도 활용된다.
일 예로, VDM 패스의 규칙은 다음과 같다.
<VDM Path> = <Equipment Group Name> / <Equipment Name> / <Component Name> / <Logical Device Name> / <Logical Node Name>.<Data Object Name>.[<Data Attribute Name>]+
여기서, <Logical Node Name>은 <prefix>+<class>+<inst>로 이루어지고, [<Data Attribute Name>] 다음에 오는 +는 1번 이상 반복을 의미한다.
Figure 112018130565418-pct00001
이와 같은 규칙의 VDM 패스는 선박 모델의 이큅먼트, 컴포넌트, 시스템 모델의 로지컬 디바이스, 로지컬 노드의 프리픽스를 필요에 따라 포함할 수도 있고, 포함하지 않을 수도 있다.
데이터 어트리뷰트는 해당 인스턴스의 데이터가 가져야 하는 속성들을 정의한다.
전술한 바와 같이, VDM에 의해 정리된 선박 데이터는 시스템과 이해 관계자 모두에게 이해 가능한 형태로 기술될 수 있어야 하고, 이를 위해 VCL를 정의한다.
VCL는 VDM을 기술하기 위한 선박 데이터 모델 구성 파일(Vessel data model configuration description file)을 작성하는 언어로, VCL은 특정한 형태로 한정되지 않고, 다음 사양을 만족하는 모든 언어를 VCL로 활용할 수 있다.
- 선박 모델, 시스템 모델, 데이터 모델의 엘리먼트에 대한 기술이 모두 가능하다.
- 각 엘리먼트가 가지는 어트리뷰트의 값을 설정할 수 있고, 어트리뷰트 확장이 가능하다.
- 결합 모델에 대한 기술이 가능하다.
전술한 사양을 만족하는 VCL로 본 발명의 일 실시예에서는 XSD(XML(eXtensible Markup Language) Schema Definition)를 활용하여 VCL을 기반으로 선박 데이터 모델 구성 파일(예를 들어, VDM Configuration XML)을 작성할 수 있다.
선박 데이터 모델 구성 파일은 VCL에 맞게 VDM을 기술하는 구성 파일로, 선박(Vessel) 파트, 시스템(System) 파트, 데이터 타입(DataType) 파트에 대한 정의를 포함한다.
따라서, VCL로 VDM을 기술한 선박 데이터 모델 구성 파일로부터 VDM을 추출할 수 있게 되며, 추출된 VDM로부터 VDM 패스와 데이터 어트리뷰트를 추출할 수 있다.
이하에서는 각기 다른 규약으로 만들어지는 다양한 형식의 선박 데이터를 VDM을 기반으로 통합적으로 관리(수집, 저장, 제공)하는 선박 데이터 통합 플랫폼(VDIP)에 대해 설명한다.
도 3은 본 발명의 일 실시예에 따른 선박 데이터 통합 플랫폼을 탑재한 스마트 쉽의 구성을 개략적으로 보인 도면이다.
도 3에서 VDIP는 선내의 각종 데이터를 표준화된 하나의 체계로 수집, 처리 및 분석, 저장, 육상 전송, 선내 타 S/W 데이터 서비스를 수행한다.
육상 서비스 플랫폼은 선박에서 전송된 데이터를 육상에서 수신하여 저장하고 이를 기반으로 전반적인 서비스를 제공한다.
빅데이터 플랫폼은 육상에서 저장된 운항 정보를 대상으로 필요에 따라 데이터를 분석하여 데이터 가치를 추출하고 분석한다.
도 4는 본 발명의 일 실시예에 따른 선박 데이터 통합 플랫폼의 주요 기능을 개략적으로 보인 도면이다.
VDIP는 IT 기자재 또는 장치로부터 수집된 알람 데이터, 센서 데이터, 구성 데이터와 같은 선박 데이터(원시 데이터)를 VDM에 기반하여 하나의 체계화된 형식으로 변환한다.
그리고 하나의 체계화된 형식으로 변환된 VDM 기반의 통합 선박 데이터를 육상 관리 시스템으로 전송하거나, 제3자 서비스로 제공한다.
여기서, 육상 관리 시스템은 도 3의 육상 서비스 플랫폼에 대응되는 개념일 수 있다.
전술한 바와 같이 IT 기자재 또는 장치로부터 수집된 선박 데이터 중에서 센서 데이터는 선박에 설치된 센서에서 발생하는 실제 값이고, 알람 데이터는 선박에서 발생하는 각종 경보 신호를 표현하는 값이며, 구성 데이터는 센서 데이터에서 사용되는 수치에 대한 단위(예를 들어, m, cm, ℃, ° 등), 수치에 대한 최소(Min)값/최대(Max)값 등 센서별 구성 정보이다.
도 5는 본 발명의 일 실시예에 따른 데이터 서비스 장치를 포함하는 선박 데이터 통합 시스템의 구성을 개략적으로 보인 도면이다.
도 5에서 기자재(10)는 선박에 특수한 목적으로 탑재되는 장비로, 선박 내에서 서로 다른 형식으로 발생되는 각종 선박 데이터(원시 데이터), 즉 알람 데이터, 센서 데이터, 구성 데이터 등을 수집한다. 그리고 수집된 선박 데이터(원시 데이터)를 선박 데이터 통합 시스템(100)으로 전송한다.
즉, VDIP(100)는 적어도 하나 이상의 기자재(예를 들어, AMS, INS, 로딩 컴퓨터, VDR 등)(10)를 통해 선박 데이터를 수집한다. 이와 같이, VDIP(100)는 선박 데이터를 직접 수집할 수도 있지만, 기존의 선박 기자재(10)를 데이터 수집을 위한 게이트웨이로 사용할 수도 있다.
여기서, 선박 내에서 발생되는 선박 데이터는 텍스트, 오디오, 이미지, 동영상 등 다양한 종류를 포괄할 수 있다.
기자재(10)는 제1선박 데이터 변환 장치(110)를 탑재하는 제1기자재(11)와, 제1선박 데이터 변환 장치(110)를 탑재하지 않는 제2기자재(13)로 구분될 수 있다.
제1기자재(11)는 제1선박 데이터 변환 장치(110)가 직접 탑재되는 기자재로, 하나 이상의 센서 또는 디바이스로부터 다양한 형식의 선박 데이터를 수집하고, 수집한 다양한 형식의 선박 데이터를 분석하여 키(Key)와 값(Value)(Key:Value)을 추출한다.또한, 제1기자재(11)는 비표준화된 형식의 제1선박 데이터인 키(Key)와 값(Value)(Key:Value)을 제1선박 데이터 변환 장치(110)를 통해 VDM 기반의 통합 선박 데이터 형식(VDM Path:Value)으로 변환하고, 변환된 통합 선박 데이터를 선박 데이터 통합 시스템(100)으로 전송한다.
즉, 제1선박 데이터 변환 장치(110)는 제1기자재(11)로부터 수신한 키(Key)를 VDM을 기초로 할당된 VDM 패스로 대체하여, 비표준화된 형식의 제1선박 데이터인 키(Key)와 값(Value)(Key:Value)을 통합 선박 데이터 형식(VDM Path:Value)으로 변환한다. 여기서, 원시 데이터에서 추출된 키(Key)를 VDM을 기초로 할당된 VDM 패스로 대체하는 연결 작업을 "맵핑" 작업이라 하며, 맵핑 작업을 통해, 추출된 키(Key)를 VDM 패스에 연결하여, 유효성이 검증된 값(Value)을 통합 선박 데이터 형식(VDM Path:Value)으로 변환한다.
키(Key)를 VDM 패스로 대체하여 키(Key)와 값(Value)(Key:Value)을 VDM 기반의 통합 선박 데이터 형식(VDM Path:Value)으로 변환할 때, 키(Key)의 값(Value)은 데이터 어트리뷰트의 속성에 따라 유효성이 검증되어야 한다.
데이터 어트리뷰트는 선박 데이터의 속성 정보로, 선박 데이터의 값(Value)이 가져야 하는 속성들을 정의한다. 따라서, 원시 데이터에서 추출된 키(Key)의 값(Value)은 해당 선박 기자재에 대응하는 데이터 어트리뷰트에서 정의된 속성에 따라 유효성이 검증된다.
제1기자재(11)에는 AMS(Alarm Monitoring System), INS(Integrated Navigation System), 로딩 컴퓨터 등이 포함될 수 있다.
제2기자재(13)는 다양한 형식으로 수집된 선박 데이터를 표준화된 형식(예를 들어, NMEA 형식)의 제2선박 데이터로 변환한 후, 이를 UDP(User Datagram Protocol) 또는 파일 형태로 선박 데이터 통합 시스템(100)으로 전송한다.
제2기자재(13)에는 VDR(Voyage Data Recorder) 등이 포함될 수 있다.
제1선박 데이터 변환 장치(110)는 제1기자재(11)에 탑재되며, 제1기자재(11)에서 출력되는 비표준화된 형식의 제1선박 데이터 즉, 키(Key):값(Value) 형식의 선박 데이터에서 키(Key)를 맵핑 작업을 통해 VDM 패스에 연결하여, 유효성이 검증된 값(Value)을 통합 선박 데이터 형식(VDM Path:Value)으로 변환한다.
전술한, 제1선박 데이터 변환 장치(110)는 프로그램으로 구현되어 제1기자재(11)에 설치될 수도 있다.
전술한, 제1선박 데이터 변환 장치(110)는 에이전트(Agent)로 명명될 수 있다.
제2선박 데이터 변환 장치(120)는 제2기자재(13)로부터 UDP 또는 파일 형태로 표준화된 형식(예를 들어, NMEA 형식)의 제2선박 데이터를 수신한다.
또한, 제2선박 데이터 변환 장치(120)는 제2기자재(13)로부터 수신한 제2선박 데이터를 분석하여 키(Key)와 값(Value)(Key:Value)을 추출하고, 추출한 키(Key)와 값(Value)(Key:Value)을 맵핑 작업을 통해 VDM 기반의 통합 선박 데이터 형식(VDM Path:Value)으로 변환한다.
전술한, 제2선박 데이터 변환 장치(120)는 어댑터(Adapter)로 명명될 수 있다.
전술한, 제1선박 데이터 변환 장치(110)와 제2선박 데이터 변환 장치(120)에서 변환된 통합 선박 데이터는 JSON(JavaScript Object Notation) 형식으로 표현될 수 있다.
데이터 처리부(130)는 제1선박 데이터 변환 장치(110) 또는 제2선박 데이터 변환 장치(120)로부터 통합 선박 데이터를 수신하면, 수신한 통합 선박 데이터의 태그 정보에 의거하여 수신한 데이터가 알람 데이터와 같이 실시간 데이터 전송을 요하는 데이터인 경우에는 수신한 통합 선박 데이터를 CEP(150)로 전송한다. 그리고 실시간 데이터 전송을 요하지 않는 데이터(예를 들어, 센서 데이터, 구성 데이터)인 경우에는 수신한 통합 선박 데이터를 저장 DB(170)에 저장한다.
전술한 데이터 처리부(130)는 메시지 큐를 이용하여 제1선박 데이터 변환 장치(110)가 전송하는 통합 선박 데이터를 수신한다.
룰 엔진(140)은 제1선박 데이터 변환 장치(110) 또는 제2선박 데이터 변환 장치(120)로부터 수신한 통합 선박 데이터의 유효성 검증에 필요한 데이터 유효성 검증 룰을 관리한다. 예를 들어, 룰 엔진(140)은 센서 데이터의 유효성 검증을 위해 각 센서별 최소(Min) 값과 최대(Max) 값을 관리할 수 있다.
또한, 룰 엔진(140)은 제1선박 데이터 변환 장치(110) 또는 제2선박 데이터 변환 장치(120)로부터 수신한 통합 선박 데이터가 저장 DB(170)에 구비된 해당 DB에 저장되도록 한다. 즉, 센서 데이터는 센서 데이터 DB(171)에 저장되도록 하고, 알람 데이터는 알람 데이터 DB(173)에 저장되도록 하고, 구성 데이터는 구성 데이터 DB(175)에 저장되도록 한다.
CEP(Complex Event Processing)(150)는 데이터 처리부(130)로부터 전달받은 통합 선박 데이터 중에서 실시간으로 바로 전송 처리해야 하는 데이터(예를 들어, 알람 데이터)는 육상 통신부(160)를 통해 위성 통신으로 데이터를 실시간 전송한다.
여기서, 위성 통신을 이용한 데이터 전송에 사용되는 통신 프로토콜로는 MQTT(Message Queueing Telemetry Transport), CoAP(Constrained Application Protocol), Mail, FTP(File Transfer Protocol), SCP(Simple Control Protocol), HTTP(HyperText Transfer Protocol) 등이 사용될 수 있다. 바람직하게는 사물 인터넷 응용 프로토콜인 MQTT가 사용될 수 있다.
데이터 전송에 사용될 수 있는 위성 통신 서비스는 용도별 서비스로 1) 정지 위성 서비스(FSS:Fixed Satellite Service), 2) 이동 위성 서비스(MSS:Mobile Satellite Service) 및 3) 방송 위성 서비스(BSS:Broadcast Satellite Service)가 있을 수 있으며, 영역별 서비스로는 4) 국제 위성 서비스(INTELSAT, INMARSAT), 5) 지역 위성 서비스(EUTELSAT, PANAMSAT) 및 6) 국내 위성 서비스(KORESAT, BS)가 있을 수 있다. 또한, 직경이 작은 소형 안테나와 낮은 송신 출력의 지상 장비를 이용하여 제공되는 위성 통신 서비스인 VSAT(Very Small Aperture Terminal)이 이용될 수 있다. 바람직하게는 Inmarsat FB(FleetBroadband), Inmarsat Global Express(Xpress) 또는 Fleet Xpress 등이 이용될 수 있다.
또한, 육상 통신부(160)에 의한 데이터 전송은 위성 통신이 아닌 다른 무선 통신 프로토콜을 통해 이루어질 수 있다. 예를 들어, WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access) 또는 일반적인 이동 통신 방식인 HSDPA(High Speed Downlink Packet Access), 3G(3rd Generation), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 사용될 수 있다. 특히, 선박 데이터 통합 시스템(100)을 포함하는 선박이 연근해에 위치하거나 육상 관리 시스템(200)에 근접하는 경우 위성 통신이 아닌 무선 통신으로 전환되어 데이터 전송이 이루어질 수 있다.
육상 통신부(160)는 선박 데이터 통합 시스템(100)과 육상 관리 시스템(200) 간의 데이터 송수신을 담당한다.
육상 통신부(160)의 실시간 데이터 전송부(161)는 실시간 전송이 필요한 데이터(예를 들어, 알람 데이터)의 전송 처리를 담당한다.
배치 데이터 전송부(163)는 저장 DB(170)에 저장된 데이터를 주기적인 시간 단위로 전송 처리하는 기능을 담당한다.
원격 데이터 검색부(165)는 육상으로부터의 선박 데이터 요청에 따라 저장 DB(170)에서 해당 선박 데이터를 검색(조회)하여 전송하는 기능을 담당한다.
저장 DB(170)는 통합 선박 데이터를 저장·관리하는 것으로, 센서 데이터를 저장하는 센서 데이터 DB(171), 알람 데이터를 저장하는 알람 데이터 DB(173), 구성 데이터를 저장하는 구성 데이터 DB(175), 메타데이터, 설계 제원 데이터 등을 저장하는 선박 데이터 DB(177) 등을 포함하여 이루어진다.
전술한 저장 DB(170)는 수집된 통합 선박 데이터를 일정 기간(예를 들어, 30일) 동안 저장하여 히스토리 추적 등을 육상에서 진행할 수 있도록 하고, 네트워크 단절로 인한 데이터 손실을 예방할 수 있도록 한다.
전술한 저장 DB(170)에 저장되는 선박 데이터는 VDM 체계에 따라 저장되는 것이 바람직하다.
또한, 저장 DB(170)는 데이터 관리의 유연성을 제공하고자 NoSQL(Not only SQL(Structured Query Language)) 중 MongoDB로 구현될 수 있다.
데이터 서비스 장치(180)는 서비스 요청자(300)가 필요로 하는 데이터를 저장 DB(170)에서 검색(조회)하여 제공한다. 서비스 요청자(300)는 VDM에 기반한 VDM 패스를 이용하여 원하는 데이터를 지정하여 검색할 수 있다.
서비스 요청자(300)가 VDM 패스를 이용하여 데이터를 요청하면, 데이터 서비스 장치(180)는 서비스 요청자(300)가 요청한 VDM 패스 기반의 데이터 범위에 대한 접근 권한이 서비스 요청자(300)에게 있는지를 먼저 확인한 후, 확인 결과, 접근 권한이 있는 경우에만 해당 데이터를 검색하여 그 검색 결과를 서비스 요청자(300)에게 제공할 수 있다.
데이터 검색 방식으로는 크게 쿼리(Query) 방식과 푸쉬(Push) 방식이 있다.
데이터 서비스 장치(180)는 서비스 요청자(300)가 필요한 데이터를 수집할 수 있도록 데이터 서비스 API(Application Programming Interface)(쿼리 API, 푸쉬 API)를 제공한다.
이상에서 살펴본 바와 같은 구성의 선박 데이터 통합 시스템은 각기 다른 규약으로 만들어지는 다양한 형식의 선박 데이터를 수집하여 VDM을 기반으로 하는 하나의 체계화된 통합 선박 데이터 형식으로 변환하고, 변환된 통합 선박 데이터를 육상 관리 시스템(200) 또는 서비스 요청자(300)에게 제공한다.
전술한, 데이터 서비스 장치(180)는 통신부(181) 및 검색부(182)를 포함하며, 실시 형태에 따라 확인부(183) 및 관리부(184) 등을 더 포함할 수 있다.
통신부(181)는 서비스 요청자(300)와의 데이터 송수신을 담당하는 부분으로, 서비스 요청자(300)로부터 VDM 패스를 포함한 선박 데이터 요청을 수신하여 검색부(182)로 전달하고, 선박 데이터 요청에 대한 응답으로 검색부(182)에서 반환되는 해당 데이터를 수신하여 서비스 요청자(300)에게 전송한다.
검색부(182)는 수신된 VDM 패스에 의해, 서비스 요청자(300)가 원하는 선박 데이터를 식별하고, 선박 데이터들을 저장하는 저장 DB(170)로부터 해당 데이터를 검색하여 통신부(181)를 통해 서비스 요청자(300)에게 제공한다.
VDM 패스는 VDM 상의 각 선박 데이터에 이르는 경로를 계층적으로 정의한 것으로, 각 선박 데이터를 식별하는데 활용된다.
여기서, 선박 데이터 검색에 이용되는 VDM 패스는 도 6 내지 도 8 부분에서 후술하는 "서비스 데이터 제공을 위한 VDM 패스"일 수 있다.
검색부(182)에서 검색되는 데이터의 범위는 VDM 패스의 계층 수준에 따라 계층적으로 변화될 수 있다.
전술한, 검색부(182)는 제1 검색부(182_1) 및 제2 검색부(182_2)로 구성될 수 있다.
서비스 요청자(300)가 푸쉬 API를 이용해 선박 데이터 요청을 전송한 경우, 제1 검색부(182_1)는 저장 DB(170)로부터 VDM 패스에 기반한 선박 데이터를 푸쉬(Push) 형태로 제공받아 서비스 요청자(300)에게 전달한다.
서비스 요청자(300)가 쿼리 API를 이용해 선박 데이터 요청을 전송한 경우, 제1 검색부(182)는 저장 DB(170)로부터 VDM 패스에 기반한 선박 데이터를 풀(Pull) 방식으로 추출하여 서비스 요청자(300)에게 제공한다.
확인부(183)는 VDM 패스를 기준으로, VDM 패스가 지정하는 데이터 범위에 대한 접근 권한(예를 들어, VDM 패스가 정의하는 특정 계층이나 레벨에 대한 접근 권한)이 서비스 요청자(300)에게 있는지 여부를 확인하여 검색 승인 여부를 결정한다.
확인부(183)의 확인 결과 서비스 요청자(300)에게 데이터 접근 권한이 있는 경우, 검색부(182)에서 해당 데이터를 검색하여 그 검색 결과를 서비스 요청자(300)에게 제공한다.
관리부(184)는 서비스 요청자(300)가 VDIP(100)의 저장 DB(170)에서 필요한 선박 데이터를 검색할 수 있도록 서비스 요청자(300)에 대한 등록 및 인증을 지원한다.
전술한, 서비스 요청자(300)는 선박 데이터를 활용해 다양한 서비스(안전 항해, 경제 운항, 충돌 회피, 엔진 모니터링, 기타 부가/응용 서비스 등)를 제공하는 수단으로서, 선내 타 S/W 데이터 서비스, 제3자 서비스 등으로 명명될 수 있으며, 소프트웨어, 모바일 어플리케이션(앱), 펌웨어나 하드웨어 형태로 구현되거나, 이들을 조합한 형태로 구현될 수 있다.
일 예로, 서비스 요청자(300)가 스마트 기기상에 탑재된 모바일 어플리케이션(앱) 형태로 구현된 경우, 해당 어플리케이션 화면 상에서 VDM 패스를 이용해 원하는 선박 데이터를 지정하여 검색하고 VDIP(100)로부터 해당 데이터를 제공받아 원하는 서비스에 활용할 수 있다.
이하에서는 각기 다른 규약으로 만들어지는 다양한 형식의 선박 데이터를 VDM 기반의 통합 선박 데이터 형식으로 관리(수집, 저장, 제공)하는 과정에 대해 좀 더 자세히 설명한다.
VDM 패스는 앞서 설명한 바와 같이 선박 내에서 특정 데이터에 대한 유일한 식별자로 활용되며, VDM 상에서 특정 선박 데이터를 가리키기 위한 경로 지정 규칙으로도 활용된다.
이에 따라, VDIP은 VDM을 기초로 선박 데이터를 송수신함에 있어서 VDM 패스에 따라 각 선박 데이터를 식별할 수 있다.
VDM 패스는 도 6에 도시하는 바와 같이 "기자재 데이터 수집을 위한 VDM 패스"와 "서비스 데이터 제공을 위한 VDM 패스"로 구분될 수 있다.
"기자재 데이터 수집을 위한 VDM 패스"는 도 7에 도시하는 바와 같이 시스템(System) 파트와 데이터 타입(Data Type) 파트의 계층이 반영된다.
"기자재 데이터 수집을 위한 VDM 패스"의 구조 체계는 다음과 같다(도 7 참조).
<System Name> / <Logical Device Name> / <Logical Node Name>.<Data Object Name>.[<Data Attribute Name>]+
여기서, <Logical Node Name>은 <prefix>+<class>+<inst>로 이루어지고, +는 1번 이상 반복을 의미한다.
이와 같은 구조 체계의 "기자재 데이터 수집을 위한 VDM 패스"는 시스템 파트 계층의 시스템, 로지컬 디바이스, 로지컬 노드의 프리픽스를 필요에 따라 포함할 수도 있고, 포함하지 않을 수도 있다.
또한, "기자재 데이터 수집을 위한 VDM 패스"는 선박(Vessel) 파트, 시스템(System) 파트, 데이터 타입(Data Type) 파트의 계층이 모두 반영될 수도 있다.
이 경우, "기자재 데이터 수집을 위한 VDM 패스"의 구조 체계는 다음과 같다.
<Equipment Group Name> / <Equipment Name> / <Component Name> / <Logical Device Name> / <Logical Node Name>.<Data Object Name>.[<Data Attribute Name>]+
여기서, <Logical Node Name>은 <prefix>+<class>+<inst>로 이루어지고, +는 1번 이상 반복을 의미한다.
이와 같은 구조 체계의 "기자재 데이터 수집을 위한 VDM 패스"는 선박 파트 계층의 이큅먼트, 컴포넌트, 시스템 파트 계층의 로지컬 디바이스, 로지컬 노드의 프리픽스를 필요에 따라 포함할 수도 있고, 포함하지 않을 수도 있다.
한편, "서비스 데이터 제공을 위한 VDM 패스"는 선박(Vessel) 파트, 시스템(System) 파트, 데이터 타입(Data Type) 파트의 계층이 반영된다.
"서비스 데이터 제공을 위한 VDM 패스"의 구조 체계는 다음과 같다(도 8 참조).
<Equipment Group Name> / <Equipment Name> / <Component Name> / <Logical Device Name> / <Logical Node Name>.<Data Object Name>.[<Data Attribute Name>]+
여기서, <Logical Node Name>은 <prefix>+<class>+<inst>로 이루어지고, +는 1번 이상 반복을 의미한다.
이와 같은 구조 체계의 "서비스 데이터 제공을 위한 VDM 패스"는 선박 파트 계층의 이큅먼트, 컴포넌트, 시스템 파트 계층의 로지컬 디바이스, 로지컬 노드의 프리픽스를 필요에 따라 포함할 수도 있고 포함하지 않을 수도 있다.
도 8에 도시하는 바와 같이 서비스 데이터 제공을 위해 사용되는 VDM 패스의 계층 수준에 따라, 제공되는 데이터의 범위가 계층적으로 변화할 수 있다.
예를 들어, 제3자 서비스(3rd party service)로부터 VDM 패스로 'Machinery/Machinery equipment/Diesel engine'을 입력받으면, 제3자 서비스로 디젤 엔진에 대한 모든 정보를 제공하고, 제3자 서비스로부터 VDM 패스로 'Machinery/Machinery equipment/Diesel engine/Pump1'을 입력받으면, 제3자 서비스로 디젤 엔진 중에서 펌프1에 대한 정보를 제공한다.
또한, 제3자 서비스로 특정 서비스를 맞춤으로 제공하기 위하여 필요한 VDM 패스를 집합으로 관리할 수 있다.
육상 서비스를 위해서 선박 데이터를 제공하는 경우에는 VDM 패스 앞에 선박을 식별하는 고유 ID인 선박 IMO 번호(예를 들어, 1111111)가 추가된다.
도 9는 본 발명의 일 실시예에 따른 제3자 서비스가 개발되어 선박 데이터 통합 시스템에 등록 및 인증되는 과정을 설명하기 위한 도면이다.
VDIP가 에이전트 또는 어댑터를 통해 수집/저장한 선박 데이터는 제3자 서비스(S/W)에서 활용될 수 있다.
제3자 서비스는 VDIP에서 필요한 선박 데이터를 검색(조회)할 수 있는데, 제3자 서비스가 VDIP에서 수집된 선박 데이터를 검색하여 활용하기 위해서는 해당 제3자 서비스가 VDIP에 등록되어 인증이 완료된 상태여야 한다.
제3자 서비스가 개발되어 VDIP에 등록되어 인증되는 과정은 도 9와 같다.
우선, (1) 제3자 서비스 개발자는 개발자 지원 사이트에서 접속하여 회원 가입한 후 로그인하고, 제3자 서비스 개발에 필요한 키트를 다운로드한다.
키트 안에는 VDIP을 개발 환경에서 실행할 수 있도록 하는 VDIP 에뮬레이터 VM(Virtual Machine)이 포함되어 있다.
VDIP 에뮬레이터 VM은 시큐어 셸(Secure Shell, SSH), 웹 콘솔을 통해 접근 가능하며, 시큐어 셸을 통해 접속하여 VDIP의 개별 컴포넌트 제어 및 VM 종료를 수행하고, 웹 콘솔을 통해 VDIP 기능 제어 및 주요 정보 모니터링 기능을 수행한다.
제3자 서비스 개발자는 이 VDIP 에뮬레이터를 통해 가상의 선박 데이터를 발생시켜 제3자 서비스를 개발한다.
VDIP 에뮬레이터에서는 등록 없이도 모든 데이터를 자유로이 검색(조회)할 수 있는 테스트 애플리케이션 계정을 다음과 같이 제공한다.
- 앱 별명(App Alias)
- 인증서 : 테스트 애플리케이션에서 사용할 개인키(Private Key), 인증서, CA 인증서
- DPL : 모든 데이터 검색(조회)가 가능한 서명된 DPL
- 데이터 서비스 API 접속 정보
(2) 제3자 서비스 개발자는 VDIP 에뮬레이터 VM에서 동작하는 VDIP 에뮬레이터와 VDIP 에뮬레이터가 발생시키는 샘플 데이터를 활용하여 제3자 서비스를 개발한다. 이때, VDIP가 제공하는 데이터 서비스 API를 통해 검색(조회)하고자 하는 대상 데이터의 범위를 결정한다. 검색하고자 하는 대상 데이터의 범위는 VDM 패스로 결정할 수 있다. VDIP에서는 보안상의 이유로 각 제3자 서비스별로 검색 가능한 데이터 범위를 제한할 수 있다.
(3) 제3자 서비스 개발자는 개발된 제3자 서비스 실행 파일과, 인증서 요청서(X.509 Certificate Signing Request, CSR), 그리고 VDIP에서 수신하고자 하는 데이터들에 대한 데이터 권한 요청서(Data Permission List, DPL)를 개발자 지원 사이트에 제출하여, 개발된 제3자 서비스에 대한 등록 작업과 인증서를 요청한다. 제출 방법은 이메일로 보낼 수 있으며, 제3자 서비스의 이름(Application Name)도 같이 보내야 한다.
전술한 CRS에는 개발된 제3자 서비스에서 사용할 개인키(Private Key)가 있으므로, 지워지지 않도록 주의해야 한다.
CSR을 이용하여 인증서가 발급되었는데, 개인키가 없다면, 제3자 서비스 등록 작업을 다시 수행해야 한다.
DPL은 각각의 제3자 서비스가 사용 가능한 데이터 범위를 지정하는 파일로, 이는 과도한 데이터 접근(검색, 조회) 권한을 막아 시스템 안정성을 높이고, 보안 위험성을 줄이기 위함으로, 제3자 서비스 등록 과정에서 개발자 지원 사이트 담당자가 요청한 권한을 검사하여 문제가 없으면 제3자 서비스 등록을 승인하게 된다. 여기서, 제3자 서비스가 사용 가능한 데이터 범위는 VDM 패스를 이용하여 정의한다.
(4) 제3자 서비스 개발자로부터 제3자 서비스 실행 파일, CRS, DPL을 수신한 개발자 지원 사이트는 제3자 서비스 실행 파일, CRS, DPL을 검토하여 문제가 없으면, 해당 제3자 서비스를 등록하여 해당 제3자 서비스가 VDIP에서 설치될 수 있도록 허용한다. 그리고 제3자 서비스 개발자에게 CSR에 대한 인증서(제3자 서비스 인증서), 최상위 CA 인증서, 서명된 DPL(제3자 서비스 개발자가 제출한 DPL을 암호화하여 위변조를 방지한 것) 등을 제공한다. 이러한 인증서 발급은 이메일을 통해 이루어질 수 있으며, 제3자 서비스의 고유한 ID에 해당하는 앱 별명(App Alias)도 같이 발급되어 전달될 수 있다.
(5) 이후, 개발자 지원 사이트는 인증이 완료된 제3자 서비스 목록(앱 별명들)을 VDIP에 전달하여 설치 가능한 제3자 서비스에 대한 화이트 리스트로 저장한다. 이에 따라, VDIP는 제3자 서비스가 선박 내에 설치되어 접근(제3자 서비스 등록 요청)할 때, 제3자 서비스가 화이트 리스트에 존재하는지 여부를 확인하여 허용 여부를 결정할 수 있게 된다.
(6) 제3자 서비스 개발자는 개발자 지원 사이트로부터 제공받은 인증 정보 즉, 인증서(제3자 서비스 인증서), 최상위 CA 인증서, 서명된 DPL을 제3자 서비스에 추가한다.
(7) 선박 관리자는 제3자 서비스를 선박 내에 설치하고, VDIP 정보를 입력(VDIP는 선박 별로 다른 환경에서 동작하므로 IP가 다를 수 있음)한다.
이와 같이 선박에 설치된 제3자 서비스에 VDIP 정보를 입력하면, 제3자 서비스는 VDIP에 자신을 등록하기 위한 데이터 서비스 API(예를 들어, 제3자 서비스 등록 API)를 호출한다. 여기서, VDIP에 자신을 등록하기 위한 데이터 서비스 API(예를 들어, 제3자 서비스 등록 API)를 호출할 때, 제3자 서비스는 앱 별명, 인증서, 서명된 DPL을 제공해야 한다.
(8) VDIP는 선박에 설치된 후 등록 요청한 제3자 서비스가 설치 가능한 제3자 서비스 목록(화이트 리스트)에 포함되어 있는지 확인하여, 포함되어 있으면 VDIP에 해당 제3자 서비스에 대한 정보를 등록한다.
(9) 이후, VDIP는 등록에 성공한 제3자 서비스에 대해서 데이터 서비스 API(쿼리 API, 푸쉬 API) 호출에 필요한 인증 정보(username, password, cunsumerKey, consumerSecret)를 제공한다.
제3자 서비스는 선박에 최초 설치된 후 VDIP에 등록을 한 번만 요청해야 하므로, 수신한 인증 정보를 없어지지 않고 지속되게 저장하고 있다가 다음 실행시 재사용하는 것이 바람직하다. 이에 따라, VDIP는 제3자 서비스 등록시 등록을 요청한 제3자 서비스에 인증 정보가 존재하는 지를 검사하여, 존재하면 해당 제3자 서비스는 이미 등록된 것으로 간주하고, 존재하지 않으면 새로운 등록 과정을 수행한다.
(10) 제3자 서비스는 저장된 인증 정보를 이용하여 데이터를 검색하기 위한 데이터 서비스 API(예를 들어, 쿼리 API)를 호출한다.
제3자 서비스가 등록이 된 상태에서, 다시 기동되는 경우에는 전술한 (7) 내지 (9)번 과정을 거치지 않고 바로 저장된 인증 정보를 사용한다.
데이터 검색(조회)은 VDM에 기반한 VDM 패스라는 문법을 통해 원하는 데이터를 지정하여 검색할 수 있다.
데이터 검색은 쿼리(Query) 방식과 푸쉬(Push) 방식으로 나뉘며, 검색 대상 데이터로는 센서 데이터, 알람 데이터, 구성 데이터 등이 있다.
(11) VDIP는 제3자 서비스가 요청한 VDM 패스 기반의 데이터 범위가 (3)번의 제3자 서비스 등록 과정에 제출한 DPL에 포함되는지 확인한다.
확인 결과 제3자 서비스가 요청한 VDM 패스 기반의 데이터 범위가 DPL에 포함되어 있지 않으면, 승인 에러를 발생시킨다.
(12) VDIP에서 확인 결과 제3자 서비스에 데이터 접근 권한이 있는 경우, 해당 데이터를 검색하여 검색 결과를 제3자 서비스에 제공한다.
본 발명의 일 실시예에 따른 VDIP에서는 제3자 서비스가 필요한 데이터를 수집할 수 있도록 다음과 같은 데이터 서비스 API들을 제공한다.
- 제3자 서비스 등록 API : VDIP에 제3자 서비스를 최초 등록하는데 필요한 API
- 쿼리 API : VDM 패스 기반으로 원하는 데이터를 풀(Pull) 형식으로 검색할 수 있는 API
- 푸쉬 API : 원하는 데이터를 VDIP로부터 푸쉬 형태로 제공받을 수 있는 API
전술한, API 중에서 제3자 서비스 등록 API를 제외한 다른 API들은 인증 정보가 필요하다.
쿼리 API는 풀(Pull) 형태의 센서, 알람, 구성 데이터 수집을 위한 API로, 가장 최근 데이터를 검색하는 API(latestQuery), 어레이 타입으로 데이터를 검색하는 API(periodArrayQuery), Json 타입으로 데이터를 검색하는 API(periodJsonQuery), XML 타입으로 데이터를 검색하는 API(periodXMLQuery), 지정된 기간에 포함된 데이터를 검색하는 API(periodAllQuery), 레이더 이미지, 음성 녹음 등의 바이너리 데이터를 검색하는 API(binaryQuery), VDM 패스의 구조를 검색하는 API(getStructuredPath), 데이터 셋을 검색하는 API(datasetQuery), 신규 데이터 셋을 생성하는 API(createDataset), 최신 구성 데이터를 검색하는 API(configDataQuery) 등으로 이루어질 수 있다.
전술한 쿼리 API를 호출할 때, VDIP 정보를 이용하여 URL 프리픽스로 사용할 수 있다.
한편, 푸쉬 형태의 센서 및 알람 데이터 수집은 CEP에 센서 및 알람 데이터가 처리될 수 있도록 이벤트 룰이 등록되어 있는 상태에서, 이벤트 룰에 따라 CEP에서 처리된 센서 및 알람 데이터가 이벤트 룰 이름과 동일한 큐에 적재되고, 큐에 적재되는 센서 및 알람 데이터가 실시간으로 수집된다.
그리고 푸쉬 클라이언트는 데이터 서비스 API의 인증 정보를 포함한 상태로 푸쉬 서버에 접속한 후, CEP에서 처리된 센서 및 알람의 실시간 데이터를 전달받기 위해 사용된다.
전술한, 푸쉬 클라이언트를 사용하기 위해서는 사전에 CEP에 제3자 서비스 전용 이벤트 룰이 등록되어 있어야 한다.
전술한 바와 같이 CEP에는 센서 및 알람 데이터가 처리될 수 있는 이벤트 룰이 등록되어 있어야 하는데, 이벤트 룰의 등록 및 삭제에 관한 API는 다음과 같다.
- 센서 데이터용 CEP 이벤트 룰 등록 API : CEP에 센서 데이터 처리에 사용되는 이벤트 룰을 등록
- 센서 데이터용 CEP 이벤트 룰 삭제 API : CEP에 등록된 센서 데이터에 대한 이벤트 룰을 삭제
- 센서 데이터 검색 API : CEP에서 처리된 센서 데이터를 1건 검색
- 알람 데이터용 CEP 이벤트 룰 등록 API : CEP에 알람 데이터 처리에 사용되는 이벤트 룰을 등록
- 알람 데이터용 CEP 이벤트 룰 삭제 API : CEP에 등록된 알람 데이터에 대한 이벤트 룰을 삭제
- 알람 데이터 검색 API : CEP에서 처리된 알람 데이터를 1건 검색
- 건수 검색 API : 큐에 적재된 센서 데이터 또는 알람 데이터의 건수를 검색
전술한 푸쉬 API를 호출할 때, VDIP의 IP 정보와 API 종류를 가리키는 URL 콘텍스트를 사용할 수 있다.
이상의 API들은 오픈 API 형태로 구현되는 것이 바람직하다.
도 10은 본 발명의 일 실시예에 따른 선박 데이터 통합 시스템에서의 선박 데이터 서비스 방법을 설명하기 위한 처리도이다.
우선, 데이터 서비스 장치(180)는 서비스 요청자(300)로부터 VDM 패스를 포함한 선박 데이터 요청을 수신한다(S110).
이후에는, 상기한 단계 S110을 통해 수신한 VDM 패스를 이용해 서비스 요청자(300)에서 요청한 선박 데이터를 식별하여 선박 데이터들을 저장하는 저장 DB(170)로부터 해당 선박 데이터를 검색한다(S150).
전술한 바와 같이, VDM 패스는 VDM 상의 각 선박 데이터에 이르는 경로를 계층적으로 정의한 것으로, 각 선박 데이터를 식별하는데 활용된다.
VDM은 선박 모델, 시스템 모델 및 데이터 모델을 포함할 수 있다. 여기서, 선박 모델은 선박, 이큅먼트 그룹, 이큅먼트, 컴포넌트 순의 계층 구조를 정의한다. 시스템 모델은 선박 데이터를 수집하기 위한 시스템, 로지컬 디바이스, 로지컬 노드 순의 계층 구조를 정의한다. 데이터 모델은 선박 데이터의 구조에 대한 데이터 오브젝트, 선박 데이터의 속성에 관한 데이터 어트리뷰트 순의 계층 구조를 정의한다.
상기한 단계 S150에서 검색되는 데이터의 범위는 VDM 패스의 계층 수준에 따라 계층적으로 변화할 수 있다.
상기한 단계 S150에서 검색된 선박 데이터는 상기한 단계 S110에서 수신된 선박 데이터 요청에 대한 응답으로서 서비스 요청자(300)에게 제공될 수 있다(S160).
상기한 S150 단계의 데이터 검색 방식으로는 크게 쿼리(Query) 방식과 푸쉬(Push) 방식이 있다.
서비스 요청자(300)가 쿼리 API를 이용해 S110의 선박 데이터 요청을 전송한 경우, 데이터 서비스 장치(180)는 저장 DB(170)로부터 VDM 패스에 기반한 선박 데이터를 풀(Pull) 방식으로 추출하여 서비스 요청자(300)에게 전달한다.
서비스 요청자(300)가 푸쉬 API를 이용해 S110의 선박 데이터 요청을 전송한 경우에는, 데이터 서비스 장치(180)가 저장 DB(170)로부터 VDM 패스에 기반한 선박 데이터를 푸쉬(Push) 형태로 제공받아 서비스 요청자(300)에게 전달한다.
상기한 단계 S150의 검색 동작을 수행하기 전에, 데이터 서비스 장치(180)는 해당 서비스 요청자(300)에게 S110의 VDM 패스가 지정하는 데이터 범위에 대한 접근 권한이 있는지 여부를 먼저 확인(S120)하여 검색 승인 여부를 결정할 수 있다(S130).
상기한 단계 S120의 확인 결과 서비스 요청자(300)에게 데이터 접근 권한이 있는 경우에는, 서비스 요청자(300)가 요청한 VDM 패스 기반의 데이터 범위에 대한 검색을 승인(S130)하고 해당 데이터를 검색(S150)하여 검색 결과를 서비스 요청자(300)에게 제공할 수 있다(S160).
상기한 단계 S120의 확인 결과, 서비스 요청자(300)에게 데이터 접근 권한이 없는 경우, 예컨대 서비스 요청자(300)가 원하는 선박 데이터가 S110에서 수신된 VDM 패스로 접근 가능한 데이터 범위를 벗어나는 경우에는, 승인 에러를 발생시킬 수 있다(S130, S140).
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 그리고 본 명세서와 도면에 개시된 실시예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명에 의한 선박 데이터 통합 시스템 및 이를 포함하는 선박에 따르면, 다양한 제3자 서비스(3rd party service)들에게 필요한 선박 데이터를 효율적으로 제공할 수 있게 된다.

Claims (13)

  1. 서비스 요청자로부터, VDM 패스(Vessel Data Model Path, VDM Path)를 포함한 선박 데이터 요청을 수신하는 단계; 및
    상기 VDM 패스에 기반하여, 선박 데이터들을 저장하는 데이터베이스로부터 요청된 선박 데이터를 검색하는 단계를 포함하되,
    상기 VDM 패스는 선박 데이터 모델(Vessel Data Model, VDM) 상에서 각 선박 데이터에 이르는 경로를 계층적으로 정의하고,
    상기 VDM은,
    선박 모델, 시스템 모델 및 데이터 모델이 결합된 결합 모델을 통하여 생성된 것으로서, 선박 장비들의 일부로부터 획득된, 제1 규약을 따른 제1 형식의 선박 데이터와, 선박 장비들의 다른 일부로부터 획득된, 상기 제1 규약과 상이한 제2 규약에 따라 상기 제1 형식과 상이한 제2 형식의 선박 데이터를 단일 형식의 통합 선박 데이터로 변환하여 수집하도록 구성되며,
    상기 데이터베이스는 상기 통합 선박 데이터를 포함하고,
    상기 결합 모델은 상기 선박 모델과 상기 시스템 모델의 로지컬 노드를 연결시키기 위한 연결 정보를 설정하는 것을 특징으로 하는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  2. 제1항에 있어서,
    각 선박 데이터는 VDM 패스에 의해 식별되는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  3. 제1항에 있어서,
    상기 VDM 패스의 계층 수준에 따라 검색되는 데이터 범위가 계층적으로 변화하는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  4. 제1항에 있어서,
    상기 서비스 요청자에게 상기 VDM 패스가 지정하는 데이터 범위에 대한 접근 권한이 있는지 여부를 확인하는 단계를 더 포함하며,
    상기 확인 결과, 접근 권한이 있는 경우 검색을 수행하는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  5. 제2항에 있어서,
    상기 선박 모델은 선박, 이큅먼트 그룹, 이큅먼트, 컴포넌트 순의 계층 구조를 정의하고,
    상기 시스템 모델은 선박 데이터를 수집하기 위한 시스템, 로지컬 디바이스, 상기 로지컬 노드 순의 계층 구조를 정의하며,
    상기 데이터 모델은 선박 데이터의 구조에 대한 데이터 오브젝트, 선박 데이터의 속성에 관한 데이터 어트리뷰트 순의 계층 구조를 정의하는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  6. 제5항에 있어서,
    상기 VDM 패스는,
    이큅먼트 그룹, 이큅먼트, 컴포넌트, 로지컬 디바이스, 상기 로지컬 노드, 데이터 오브젝트, 데이터 어트리뷰트 중 적어도 하나 이상의 이름을 포함하는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  7. 제6항에 있어서,
    상기 VDM 패스는,
    상기 이큅먼트 그룹, 상기 이큅먼트, 상기 컴포넌트, 상기 로지컬 디바이스, 상기 로지컬 노드, 상기 데이터 오브젝트, 상기 데이터 어트리뷰트 중 적어도 하나 이상의 이름이 순차적으로 배열되는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  8. 제1항에 있어서,
    상기 검색된 선박 데이터를 상기 선박 데이터 요청에 대한 응답으로서 상기 서비스 요청자에게 제공하는 단계를 더 포함하는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  9. 제1항에 있어서,
    상기 검색 단계에서,
    상기 선박 데이터 요청이 쿼리 API(Application Programming Interface)를 이용한 경우, 상기 요청된 선박 데이터를 풀(Pull) 방식으로 추출하고,
    상기 선박 데이터 요청이 푸쉬 API를 이용한 경우, 상기 요청된 선박 데이터를 푸쉬(Push) 방식으로 제공받는 선박 데이터 통합 시스템에서의 데이터 서비스 방법.
  10. 서비스 요청자로부터, VDM 패스(Vessel Data Model Path, VDM Path)를 포함한 선박 데이터 요청을 수신하는 통신부; 및
    상기 VDM 패스에 기반하여, 선박 데이터들을 저장하는 데이터베이스로부터 요청된 선박 데이터를 검색하는 검색부를 포함하되,
    상기 VDM 패스는 선박 데이터 모델(Vessel Data Model, VDM) 상에서 각 선박 데이터에 이르는 경로를 계층적으로 정의하고,
    상기 VDM은,
    선박 모델, 시스템 모델 및 데이터 모델이 결합된 결합 모델을 통하여 생성된 것으로서, 선박 장비들의 일부로부터 획득된, 제1 규약을 따른 제1 형식의 선박 데이터와, 선박 장비들의 다른 일부로부터 획득된, 상기 제1 규약과 상이한 제2 규약에 따라 상기 제1 형식과 상이한 제2 형식의 선박 데이터를 단일 형식의 통합 선박 데이터로 변환하여 수집하도록 구성되며,
    상기 데이터베이스는 상기 통합 선박 데이터를 포함하고,
    상기 결합 모델은 상기 선박 모델과 상기 시스템 모델의 로지컬 노드를 연결시키기 위한 연결 정보를 설정하는 것을 특징으로 하는 선박 데이터 통합 시스템에서의 데이터 서비스 장치.
  11. 제10항에 있어서,
    상기 VDM 패스는 선박 데이터 모델(Vessel Data Model, VDM) 상에서 각 선박 데이터에 이르는 경로를 계층적으로 정의하고,
    각 선박 데이터는 VDM 패스에 의해 식별되는 선박 데이터 통합 시스템에서의 데이터 서비스 장치.
  12. 제10항에 있어서,
    상기 검색부는,
    상기 VDM 패스의 계층 수준에 따라 검색되는 데이터 범위를 계층적으로 변화시키는 선박 데이터 통합 시스템에서의 데이터 서비스 장치.
  13. 제10항에 있어서,
    상기 서비스 요청자에게 상기 VDM 패스가 지정하는 데이터 범위에 대한 접근 권한이 있는지 여부를 확인하는 확인부를 더 포함하며,
    상기 확인부의 확인 결과, 접근 권한이 있는 경우, 상기 검색부에서 검색 동작을 수행하는 선박 데이터 통합 시스템에서의 데이터 서비스 장치.
KR1020187037708A 2016-06-09 2016-09-20 선박 데이터 통합 시스템 및 이를 포함하는 선박 KR102150785B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160071685 2016-06-09
KR20160071685 2016-06-09
PCT/KR2016/010485 WO2017213304A1 (ko) 2016-06-09 2016-09-20 선박 데이터 통합 시스템 및 이를 포함하는 선박

Publications (2)

Publication Number Publication Date
KR20190006571A KR20190006571A (ko) 2019-01-18
KR102150785B1 true KR102150785B1 (ko) 2020-09-01

Family

ID=60578237

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020160091819A KR102120519B1 (ko) 2016-06-09 2016-07-20 선박 데이터 통합 시스템 및 이를 포함하는 선박
KR1020187037718A KR102154916B1 (ko) 2016-06-09 2016-07-27 선박 데이터 통합 시스템 및 이를 포함하는 선박
KR1020187037716A KR102154915B1 (ko) 2016-06-09 2016-07-27 선박 데이터 통합 시스템 및 이를 포함하는 선박
KR1020187037708A KR102150785B1 (ko) 2016-06-09 2016-09-20 선박 데이터 통합 시스템 및 이를 포함하는 선박
KR1020187037706A KR102150784B1 (ko) 2016-06-09 2016-09-20 선박 데이터 모델을 활용한 선박 데이터 수집 방법, 수집 장치 및 이를 포함하는 선박

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020160091819A KR102120519B1 (ko) 2016-06-09 2016-07-20 선박 데이터 통합 시스템 및 이를 포함하는 선박
KR1020187037718A KR102154916B1 (ko) 2016-06-09 2016-07-27 선박 데이터 통합 시스템 및 이를 포함하는 선박
KR1020187037716A KR102154915B1 (ko) 2016-06-09 2016-07-27 선박 데이터 통합 시스템 및 이를 포함하는 선박

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187037706A KR102150784B1 (ko) 2016-06-09 2016-09-20 선박 데이터 모델을 활용한 선박 데이터 수집 방법, 수집 장치 및 이를 포함하는 선박

Country Status (4)

Country Link
US (4) US10963511B2 (ko)
EP (5) EP4177768A1 (ko)
KR (5) KR102120519B1 (ko)
WO (4) WO2017213291A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230045769A (ko) * 2021-09-29 2023-04-05 삼성중공업 주식회사 선박의 통신시스템 및 그 제공방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681040B2 (en) 2018-08-21 2023-06-20 Siren Marine, Inc. Marine machine type communication device
US11432126B2 (en) 2018-08-21 2022-08-30 Sirene Marine LLC Marine machine type communication device
CN109948529B (zh) * 2019-03-18 2022-02-15 大连理工大学 一种fMRI数据空间源相位从实数域到复数域的映射方法
KR102101943B1 (ko) * 2019-12-05 2020-04-17 마린웍스 주식회사 육상과 선박 사이의 표준 해사데이터 송수신 방법 및 이를 위한 장치
US10901817B1 (en) * 2020-02-20 2021-01-26 Massachusetts Mutual Life Insurance Company Systems and methods for processing electronic requests
CN111220373A (zh) * 2020-03-18 2020-06-02 北京工业大学 一种离心泵转子系统故障诊断的方法
KR102447985B1 (ko) * 2020-07-17 2022-09-28 트라이콤텍 주식회사 사용자단말 태깅 기반 승하선 관리시스템 및 이를 이용한 승하선 관리방법
US11615039B2 (en) 2020-07-31 2023-03-28 Siren Marine, Inc. Data transmission system
KR102331179B1 (ko) * 2020-11-09 2021-12-01 케이엠씨피 주식회사 선박 통합조종 및 원격모니터링 시스템
CN116894000B (zh) * 2023-05-29 2023-12-08 中国船舶集团有限公司第七〇七研究所 信息转换方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103279B1 (ko) * 2010-01-12 2012-01-10 한국해양대학교 산학협력단 선박용 통합정보처리 시스템 및 메시지 처리 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718409B2 (en) * 2001-04-06 2004-04-06 The United States Of America As Represented By The Secretary Of The Navy National marine electronics association protocol converter
US7805146B1 (en) * 2004-09-21 2010-09-28 Beyer Jr Malcolm K Cell phone PDA/GPS communication network with AIS
TWI282525B (en) * 2005-04-15 2007-06-11 Mitac Int Corp Information integration method for satellite navigation device
US7487015B1 (en) * 2006-07-31 2009-02-03 The United States Of America As Represented By The Secretary Of The Navy Emulator for an inertial navigation unit protocol converter
JP4885759B2 (ja) 2007-02-15 2012-02-29 三井造船株式会社 船舶の情報処理方法及び船舶の情報処理システム
EP2234025A1 (en) * 2009-03-24 2010-09-29 Software AG XML database management system for an XML database comprising access-protected XML data
US20100302095A1 (en) * 2009-06-02 2010-12-02 Mitac Technology Corp. System for sharing gps protocol data and method thereof
EP2280287B1 (en) * 2009-07-28 2012-02-01 Nxp B.V. Integration of positioning and road charging data
US8838985B1 (en) * 2009-08-11 2014-09-16 Vesper Marine Limited Method and apparatus for authenticating static transceiver data and method of operating an AIS transceiver
CN201514701U (zh) * 2009-09-28 2010-06-23 大连海事大学 一种船舶综合数据采集、处理与传输系统
US9220069B2 (en) * 2010-01-07 2015-12-22 Qualcomm Incorporated Method and apparatus for delay-constrained end-to-end energy optimization for wireless services
KR101676355B1 (ko) 2011-11-03 2016-11-16 현대중공업 주식회사 성능 감시가 가능한 선박
JP5881518B2 (ja) 2012-04-17 2016-03-09 古野電気株式会社 自船周囲情報表示装置及び自船周囲情報表示方法
US20140266793A1 (en) * 2013-03-12 2014-09-18 Nicholas F. Velado Nautic alert apparatus, system, and method
KR20150030795A (ko) * 2013-09-11 2015-03-23 현대중공업 주식회사 선박 운용 감시 시스템 및 그것의 경보 방법
KR20150089411A (ko) * 2014-01-27 2015-08-05 한국해양과학기술원 선박 및 해양구조물 정보 분류체계의 구성 방법
KR101527681B1 (ko) * 2014-03-26 2015-06-09 김창영 통합 게이트웨이 및 이를 포함하는 선박 통신시스템
US20160012401A1 (en) * 2014-07-08 2016-01-14 Navico Holding As Methods for Discovering and Purchasing Content for Marine Electronics Device
KR101623896B1 (ko) * 2015-12-16 2016-05-24 (주)썬커뮤니케이션 선박스마트워크 구현을 위한 위성통신 실시간 모바일 푸쉬시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101103279B1 (ko) * 2010-01-12 2012-01-10 한국해양대학교 산학협력단 선박용 통합정보처리 시스템 및 메시지 처리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230045769A (ko) * 2021-09-29 2023-04-05 삼성중공업 주식회사 선박의 통신시스템 및 그 제공방법
KR102605374B1 (ko) 2021-09-29 2023-11-23 삼성중공업 주식회사 선박의 통신시스템 및 그 제공방법

Also Published As

Publication number Publication date
US20190303408A1 (en) 2019-10-03
US20190155825A1 (en) 2019-05-23
EP3459839A4 (en) 2019-12-04
KR20190008383A (ko) 2019-01-23
EP3470324A1 (en) 2019-04-17
KR102150784B1 (ko) 2020-09-01
EP3459840A1 (en) 2019-03-27
US10963511B2 (en) 2021-03-30
KR20190006571A (ko) 2019-01-18
EP3459840A4 (en) 2019-12-25
KR102154915B1 (ko) 2020-09-10
KR102120519B1 (ko) 2020-06-09
KR20190006570A (ko) 2019-01-18
KR20170139432A (ko) 2017-12-19
KR102154916B1 (ko) 2020-09-21
US20190147669A1 (en) 2019-05-16
US11319039B2 (en) 2022-05-03
US20190188225A1 (en) 2019-06-20
WO2017213304A1 (ko) 2017-12-14
EP3470324A4 (en) 2020-01-08
WO2017213303A1 (ko) 2017-12-14
EP3456623A1 (en) 2019-03-20
WO2017213291A1 (ko) 2017-12-14
EP3459839A1 (en) 2019-03-27
KR20190006026A (ko) 2019-01-16
WO2017213292A1 (ko) 2017-12-14
EP3456623A4 (en) 2020-04-15
EP4177768A1 (en) 2023-05-10

Similar Documents

Publication Publication Date Title
KR102150785B1 (ko) 선박 데이터 통합 시스템 및 이를 포함하는 선박
US7865887B2 (en) Context based event handling and execution with prioritization and interrupt management
US8963692B2 (en) Aggregating and routing sensor data at a community sensor-coordinating entity
KR102601511B1 (ko) 선박 데이터 통합 관리 방법 및 장치
US20120109851A1 (en) Providing Sensor-Application Services
US7894952B2 (en) Methods and apparatus for accessing vehicle electronic systems
US20110162063A1 (en) Methods and apparatus for providing access to vehicle electronic systems
CN108809913A (zh) 数据脱敏的方法、装置和设备
KR20200064242A (ko) 시뮬레이터를 활용한 선박장비의 원격 감시 진단 시스템 및 그 방법
US7809673B2 (en) Methods and apparatus for interfacing external systems with vehicle electronic systems
CN111402400A (zh) 管道工程的展示方法、装置、设备及存储介质
US20200184014A1 (en) Internet of everything
KR20200064244A (ko) 모바일 디바이스에 의한 데이터 전송과 시뮬레이터에 의한 진단이 가능한 선박장비의 원격 감시 진단 시스템 및 그 방법
KR20190048335A (ko) 육상환경에서 서비스 공급자가 원하는 해사 서비스를 관리하는 방법과 MMS(Maritime Messaging Service) 통신을 통하여 해상환경에서 서비스 사용자가 해사 서비스의 메타 데이터를 조회하는 방법
KR20220084752A (ko) 해양기상 빅데이터를 활용한 인공지능기반 선박항로추천 서비스 비즈니스 모델
CN111859145B (zh) 信息的搜索方法及装置、电子设备、计算机存储介质
CN114500687B (zh) 反无人机系统的设计方法、装置、计算设备及存储介质
Bartha et al. Specification of the Sensor Service Architecture
CN117331809A (zh) 业务数据处理方法、装置、设备及存储介质
CN116401260A (zh) 物品的nft信息树构建方法、装置、计算机设备及存储介质
CN117615351A (zh) 一种vdes岸基综合管理系统
CN117668109A (zh) 基于区块链的数据检索方法及装置、电子设备及存储介质
Kim et al. System and Its Method for Reusing an Application
Musto et al. Overview of Data Storing Techniques in Citizen Science Applications
Radulescu et al. Sharing AIS-Related Anomalies (SARA)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
N231 Notification of change of applicant
GRNT Written decision to grant