KR101148364B1 - 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법 - Google Patents

사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법 Download PDF

Info

Publication number
KR101148364B1
KR101148364B1 KR1020100123378A KR20100123378A KR101148364B1 KR 101148364 B1 KR101148364 B1 KR 101148364B1 KR 1020100123378 A KR1020100123378 A KR 1020100123378A KR 20100123378 A KR20100123378 A KR 20100123378A KR 101148364 B1 KR101148364 B1 KR 101148364B1
Authority
KR
South Korea
Prior art keywords
control
message
middleware
operating device
control device
Prior art date
Application number
KR1020100123378A
Other languages
English (en)
Inventor
김성조
박상오
강경진
도태훈
이형수
김진성
최정도
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020100123378A priority Critical patent/KR101148364B1/ko
Priority to PCT/KR2011/009362 priority patent/WO2012077949A2/ko
Application granted granted Critical
Publication of KR101148364B1 publication Critical patent/KR101148364B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

사이버 물리 시스템을 위한 동적 제어 관리 시스템의 제어 및 관리 장치에 관한 것으로서, 이질적은 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 및 방법에 관한 것이다.
지역망에 접속하는 제어장치를 등록하며, 상기 제어 장치의 기능정보를 저장하며, 미들웨어에 따라 상기 제어장치에 작동장치를 연결하는 제어 및 관리 장치; 제어 장치들간의 기능 정보를 상기 제어 및 관리 장치로 요청하며 상기 기능정보에 따라 제어 명령을 생성하고 적어도 하나의 작동장치를 제어하는 제어장치; 상기 제어 장치 또는 제어 및 관리장치에 등록되며, 상기 제어장치 또는 제어 및 관리장치의 명령에 따라 제어되는 작동장치를 포함한다.

Description

사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법{A Dynamic Integration among Heterogeneous Middleware, Memory Management System and the Method for Controller in cyber-Physical System}
본 발명은 사이버 물리 시스템을 위한 동적 제어 관리 시스템의 제어 및 관리 장치에 관한 것으로서, 이질적인 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 및 방법에 관한 것이다.
사이버 물리 시스템을 위한 동적 제어 관리 시스템은 언제든지 상대방으로부터 정보를 얻어오거나, 제어를 하는 측과 제어를 받는 측의 역할이 역전될 수 있는 제어 구조를 개발하였다.
하지만, 서로 다른 미들웨어 간의 이질성을 극복하지 못하였다. 따라서 서로 다른 미들웨어가 동적 제어 관리 시스템에 동적으로 통합/해제하는 기술이 필요하다.
기존에는 시스템 또는 망에 존재하는 모든 장치들의 정보를 서로가 저장함으로써, 시스템 통합을 시도하고 있다. 그러나, 이는 장치의 개수가 증가함에 따라 저장해야 할 정보의 양도 증가하여 메모리 상의 오버헤드가 발생하며, 모든 장치들이 모든 정보를 보유하는 것은 실질적으로 불가능하다.
또한 시스템 유지에 따른 새로운 장치의 추가/제거 시 데이터 교환 및 관리 따른 모듈이 요구됨으로 사용되지 않는 에이전트로 인한 불필요한 메모리의 소비가 발생할 수 있다.
따라서, 상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 시스템들 또는 망들 사이의 이질성을 극복하고, 통합을 이루기 위하여 완충역할을 하는 제어 구조를 제공할 수 있는 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법을 제공한다.
제안된 실시 예에 따르면, 지역망에 접속하는 제어장치를 등록하며, 상기 제어 장치의 기능정보를 저장하며, 미들웨어에 따라 상기 제어장치에 작동장치를 연결하는 제어 및 관리 장치; 제어 장치들간의 기능 정보를 상기 제어 및 관리 장치로 요청하며 상기 기능정보에 따라 제어 명령을 생성하고 적어도 하나의 작동장치를 제어하는 제어장치; 상기 제어 장치 또는 제어 및 관리장치에 등록되며, 상기 제어장치 또는 제어 및 관리장치의 명령에 따라 제어되는 작동장치를 포함한다.
제어 및 관리장치는 고유한 미들웨어를 사용하는 제어장치가 접속하고 있는 지역망에 통합 미들웨어를 사용하는 제어장치가 접속하면 상기 고유한 미들웨어를 사용하는 제어장치를 인지하고, 상기 고유한 미들웨어를 사용하는 제어장치를 작동장치로 등록한다.
통합 미들웨어를 사용하는 제어장치는 지역망 내에 존재하는 제어장치를 검색 및 제어하도록 한다.
통합 미들웨어는 제어 및 관리장치 또는 제어장치가 수신한 메시지를 파악하는 메시지 인지 커널모듈; 제어 장치들간의 통신 시 제어장치들의 메시지 형식에 따른 통신 메시지를 생성하는 메시지 생성 커널모듈; 수신한 메시지를 파싱하여 메시지에 포함되는 정보를 통합 미들웨어에 적용되는 메시지 구조로 변환하는 메시지 파싱 커널모듈로 구성된다.
제어장치는 기 연결된 작동장치의 동작이 종료되면, 상기 작동장치가 사용하는 미들웨어의 메시지 인지, 메시지 생성 및 메시지 파싱 커널모듈의 커널모듈을 메모리에서 해제 한다.
제어장치는 기 연결된 작동장치의 동작이 종료되면, 상기 제어장치에 연결된 다른 작동장치의 연결여부를 확인하고, 상기 동작이 종료된 작동장치를 제외한 작동장치가 연결이 유지된 상태에서 메시지 인지 커널모듈을 제외한 메시지 생성, 메시지 파싱 커널모듈의 동작을 해제하도록 한다.
제어 및 관리장치는 지역망 내에서 하드웨어의 성능 기준이 최상위인 제어장치로 선정되도록 한다.
제어장치는 기 연결된 작동장치와 상이한 미들웨어를 사용하는 작동장치를 제어 시 상기 상이한 미들웨어를 사용하는 작동장치를 기 연결하고 있는 제어장치로부터 상기 작동장치에 대한 정보를 전달받아 상기 작동장치를 제어하기 위한 메시지를 생성하도록 한다.
제어장치에서 생성된 메시지는 상기 제어하고자 하는 작동장치를 기 연결하고 있는 제어장치로 전송되어, 상기 메시지에 따라 상기 작동장치가 제어되도록 한다.
작동장치가 지역망에 접속을 감지하는 단계; 상기 지역망 내에 상기 감지된 작동장치의 미들웨어를 사용하는 제어장치를 검색하는 단계; 상기 제어장치에 상기 작동장치 미들웨어의 메시지 인지, 생성, 파싱 커널모듈을 메모리에 탑재하는 단계; 상기 메시지 생성 커널 모듈에서 상기 작동장치에 기능정보를 요청하는 메시지를 생성하는 단계; 상기 인지 및 파싱 커널모듈을 통해 작동장치로부터 기능 정보를 수신하는 단계; 상기 기능정보에 따라 상기 작동장치를 제어장치에 등록하는 단계;로 된다.
작동장치가 지역망 내의 제어장치에 기 등록되어 있지 않으면, 기 연결된 제어장치들 중 하드웨어 성능기준이 최상위인 제어장치를 선정하여 상기 작동장치를 등록하도록 한다.
작동장치의 동작이 종료되면, 상기 작동장치가 연결된 제어장치의 메시지 인지, 생성, 파싱 커널모듈을 상기 메모리에서 해제하도록 한다.
작동장치가 제어 및 관리장치에 등록되어 있다면 상기 제어 및 관리 장치는 상기 인지 커널 모듈을 제외한 상기 생성, 파싱 커널모듈만을 해제한다.
제어장치가 상기 작동장치와 상이한 미들웨어를 사용하는 경우 상기 작동장치를 기 연결하고 있는 제어장치로부터 상기 작동장치의 정보를 획득하는 단계; 상기 획득된 정보에 따라 상기 작동장치를 제어하기 위한 메시지를 생성하는 단계; 상기 생성된 메시지를 상기 작동장치를 기 연결하고 있는 제어장치로 전송하는 단계; 상기 전송된 메시지를 상기 작동 장치가 사용하는 미들웨어의 메시지로 변환하여 상기 작동장치를 제어하도록 하는 단계;로 구성된다.
상기 정보는 상기 작동장치를 등록하고 있는 제어장치의 IP주소, 상기 작동장치의 기능, 미들웨어 종류이다.
제안되는 실시 예에 따르면 동적 제어 관리 시스템을 기반으로 기존의 이질적 미들웨어 간 동적 통합 기술에 따라 특정 분야에 한정하지 않고 상이한 응용분야를 통합할 수 있도록 할 수 있다.
또한 통합 미들웨어에서 이질적인 메시지들을 처리하기 위한 모듈 및 제어 장치를 관리하는 모듈을 동적으로 메모리에 탑재하거나 해제할 수 있도록 하여 필요 시 제어 장치의 메모리를 효율적으로 사용할 수 있도록 한다.
도 1은 본 발명에서 제안하는 제어 장치의 메모리 관리를 위한 동적 모듈의 구조 블록도.
도 2는 위한 사이버 물리 시스템의 구성 요소들을 도식화한 예시도.
도 3은 본 발명의 실시 예에 따른 제어 및 관리장치 및 제어장치의 연결 구성 블록도.
도 4는 도 3에 도시된 블록도에서 미들웨어 장치들이 동적 제어 관리 시스템에 작동 장치로 등록된 상태의 구성 블록도.
도 5는 상기 도 4에 도시된 블록 구성도에 도시된 커널 모듈의 메모리 탑재 과정을 나타낸 흐름도.
도 6은 상기 도 5에 도시된 커널모듈의 탑재된 메모리의 해제 동작 흐름도.
도 7은 이질적인 미들웨어를 사용하는 작동장치의 등록에 따른 블록 구성도.
도 8은 상기 도 7에 도시된 블록도에 따라 이질적인 미들웨어를 사용하는 장치의 등록 과정 흐름도.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에서 제안하는 제어 장치의 메모리 관리를 위한 동적 모듈의 구조 블록도이다.
동적 통합 미들웨어는 제어 장치나 제어 및 관리장치들 간에 있어서 언제든지 상대방으로부터 정보를 얻어오거나, 제어하는 측과 제어를 받는 측의 역할이 역전될 수 있는 동적인 제어 관계를 형성할 수 있다. 이런 동적 통합 미들웨어를 사용하는 제어장치들은 이질적인 미들웨어를 사용하는 장치들을 작동 장치로 등록하여 제어할 수 있게 된다.
이질적인 미들웨어를 사용하는 장치는 동적 통합 미들웨어를 사용하는 제어 장치나 제어 및 관리 장치들의 작동 장치로서 등록된다. 작동장치가 수행할 수 있는 기능 정보들을 제어 장치나 제어 및 관리 장치들이 저장하고 있게 되며, 제어 장치나 제어 및 관리 장치들 간의 제어 요청을 통해 작동 장치의 각 기능을 수행할 수 있다.
특정 미들웨어를 사용하고 있는 장치들이 접속하고 있는 지역망에 통합 미들웨어를 사용하는 제어 장치가 접속하면 통합 미들웨어는 특정 미들웨어를 사용하는 장치를 인지하고 이 장치를 자신의 작동 장치로서 등록한다. 등록과정에서 작동 장치의 기능 정보를 제어 및 관리 장치가 저장하게 되며, 제어 장치들은 제어 및 관리장치들에게 이 기능 정보들을 검색하거나 제어 요청을 통해 이질적인 미들웨어의 장치들을 제어할 수 있게 된다.
또한 통합 미들웨어를 사용하는 어떠한 제어 장치도 글로벌 망에서 다른 미들웨어를 사용하는 장치를 동적으로 통합하여 제어할 수 있다. 통합 미들웨어를 사용하는 제어 장치가 존재하는 모든 지역망 간 제어 장치의 검색이 가능하다. 또한 이질적인 미들웨어를 사용하는 장치가 제어 장치에 작동 장치로서 등록되면 글로벌 망에서 작동 장치간 제어가 가능하다.
정적 모듈은 응용 프로그래밍 인터페이스(110)로 제공되는 모듈과 라이브러리(120)로 제공되는 모듈 중 정적 라이브러리로 제공되는 모듈로 구성된다.
응용 프로그래밍 인터페이스(110)는 제어 장치 인터페이스(111), 외부 제어장치 인터페이스(112), 메시지 인터페이스(115) 및 제어 및 관리 장치 인터페이스(114)로 구성된다. 제어장치 인터페이스(111)는 제어 장치를 초기화 하거나 종료, 제어장치의 정보를 관리 및 제어 장치에 연결된 작동장치를 제어하는 인터페이스를 제공한다.
외부 제어 장치 인터페이스(112)는 내부 네트워크에 접속된 다른 제어 장치를 검색하고 제어 장치에 연결된 작동 장치의 상태 정보를 요청하는 인터페이스를 제공한다.
메시지 인터페이스(113)는 메시지 통신을 위해 사용하는 프로토콜들을 가상화 하는 인터페이스를 제공한다.
정적 라이브러리로 제공되는 모듈은 작동장치 관리(121), 네트워크 관리(122), 그리고 메시지 관리(123)이다. 작동장치관리(121)는 제어 장치에 작동 장치를 등록하거나 제거하고 작동 장치의 기능의 수행 및 상태정보를 관리하는 기능을 제공한다. 네트워크 관리(122)는 제어 장치의 네트워크 접속 및 해제, 메시지를 보내거나 수신하는 기능을 제공한다. 메시지관리(123)는 수신한 메시지에 포함된 명령을 분석하거나 메시지 송신 시 네트워크 프로토콜을 가상화하여 서로 다른 프로토콜 간 통신이 이루어지도록 한다.
사용자 공간의 라이브러리(120)들 중 제어 장치 관리 모듈(124)는 동적 라이브러리로 제공된다. 이 모듈은 제어 및 관리장치만 사용하는 모듈로 제어 및 관리 장치에 제어 장치를 등록시키거나 해제, 등록된 제어 장치를 검색, 제어 및 관리장치 교체, 제어 및 관리장치의 비정상적인 종료 상황에서의 복구, 그리고 다른 미들웨어를 사용하는 작동장치를 어떤 제어 장치에게 등록할 것인가를 선택하는 제어 장치 선택기능을 제공하는 동적 라이브러리를 제공한다.
제어 및 관리장치는 제어 장치면서 동시에 자신에게 등록된 제어 장치들을 관리하는 장치이다. 제어 및 관리장치는 제어 장치 관리 동적 라이브러리를 사용하여 같은 로컬 네트워크 접속해 있는 다른 제어 장치들을 자신에게 등록시키거나 해제한다. 또한 제어 및 관리장치는 등록된 제어 장치들이 수행할 수 있는 기능(등록된 제어 장치들에 연결된 작동장치의 기능) 정보들을 저장한다. 만일 제어장치가 다른 제어 장치를 검색하는 메시지를 제어 및 관리장치에 보내면 제어 및 관리장치는 정보들 중에 해당 정보들을 찾아 제공하게 된다.
제어 장치 관리 모듈(124)을 동적 라이브러리로 제공하는 것은 항상 메모리에 탑재되는 정적 라이브러리와 달리 동적 라이브러리는 사용할 때 메모리에 탑재되고 사용이 종료되면 메모리에서 해제된다. 그러므로 제어 장치 관리 모듈(124)을 사용하지 않는 제어장치는 이 모듈을 메모리에 탑재하지 않아도 된다.
커널공간(150)에는 메시지인지(153), 메시지 생성(151) 그리고 메시지 파싱(152)이 커널모듈로 제공된다. 이 세가지 커널모듈은 서로 다른 미들웨어를 통합하는데 있어서, 이질적인 메시지들을 처리하는 핵심적인 기능을 수행한다. 어플리케이션은 응용 프로그램 인터페이스(110)를 통해 라이브러리를 사용하며, 라이브러리는 시스템 호출을 통해 커널모듈을 호출한다.
메시지 인지 커널모듈(153)은 제어 및 관리 장치나 제어 장치가 수신한 메시지가 어떤 미들웨어의 메시지 형식을 파악하는 기능을 수행한다. 메시지 생성 모듈(151)은 제어 장치들간의 통신 시, 각 제어 장치들이 사용하는 메시지 형식에 맞춰 메시지를 생성하는 기능을 제공한다. 메시지 파싱(152)은 수신한 메시지를 파싱하여 메시지에 담긴 정보들을 통합 미들웨어에서 사용하는 메시지 구조로 변환시켜주는 기능을 수행한다.
제어 및 관리장치나 제어 장치들은 기본적으로 통합 미들웨어의 메시지인지, 생성, 파싱 모듈(151, 152, 153)을 항상 메모리에 탑재하여 통합 미들웨어의 기능을 수행한다. 특히, 제어 및 관리 장치는 다른 미들웨어를 사용하는 작동 장치가 보내는 메시지를 인식하여 자신 또는 제어 장치에 등록시키기 위해 모든 미들웨어의 메시지 인지 커널모듈을 항상 메모리에 탑재한다. 작동장치가 등록되면 작동 장치가 보내는 메시지를 처리하기 위하여 해당 미들웨어의 메시지 인지 커널 모듈, 메시지 생성 커널모듈 메시지 파싱 커널모듈을 탑재한다.
도 2는 통합을 위한 사이버 물리 시스템의 구성 요소들을 도식화한 것이다. 통합 시스템은 제어 장치와 제어 및 관리장치, 그리고 작동 장치로 구성된다. 제어 장치와 제어 및 관리장치는 통합 미들웨어를 사용하여 작동 장치들을 제어하게 된다.
제어 장치는 다른 제어 장치의 기능 정보를 요청하고 그 정보를 바탕으로 제어 명령을 내리는 장치이다. 제어 장치는 각자가 수행할 수 있는 기능 정보를 보유하고 있는데, 이 기능 정보는 제어 장치에 등록된 작동 장치가 수행하는 기능을 말한다. 제어장치는 자신에게 등록된 작동장치의 기능 요청을 받게 되면 이 작동 장치를 동작 시키는 일을 수행한다.
제어 및 관리 장치는 한 지역 망에 하나 이상 존재하며, 최초로 지역망에 접속하는 제어 장치가 제어 및 관리장치가 된다. 이후에 접속하는 제어 장치들은 제어 및 관리 장치에 등록 요청을 한다. 등록요청을 받은 제어 및 관리장치는 제어 장치를 등록하고 제어 장치의 기능 정보를 저장 및 관리한다. 이 외에도 제어 및 관리장치의 교체 및 복구, 그리고 특정 미들웨어를 사용하는 장치를 어떤 제어 장치에게 등록시킬지를 결정한다. 제어 및 관리장치는 한 지역망에서 등록된 제어 장치들의 기능 정보를 유지시키기 위해 여러 개 존재할 수 있으며, 등록된 제어 장치들 중에서 하드웨어 성능이 우수한 제어 장치를 선별하여 제어 및 관리 장치 역할을 수행한다.
작동 장치는 제어 장치 또는 제어 및 관리 장치에 등록되어 실질적인 물리력을 능동적으로 행사하는 장치이다. 작동 장치의 특성에 따라 다양한 기능 및 속성을 가지며 제어 장치 및 제어 및 관리 장치의 명령을 통해 기능을 수행한다.
이질적인 미들웨어를 사용하는 장치들은 통합 미들웨어를 사용하는 제어 장치나 제어 및 관리장치에게 작동장치로서 등록되게 된다. 이질적인 미들웨어를 사용하는 장치들은 제어 장치 또는 제어 및 관리 장치들을 통해서 제어가 가능하다. 또한 각 미들웨어에서 사용하는 메시지 형식을 통합 미들웨어에서 사용하는 메시지 형식으로 변환해주는 모듈이 필요하며 이와 관련된 모듈들은 메시지 인지, 메시지 생성, 메시지 파싱이 있다. 이 모듈은 제어 장치와 제어 및 관리장치들이 사용하게 된다.
통합 미들웨어는 제어 장치나 제어 및 관리 장치들 간에 있어서, 언제든지 상대방으로부터 정보를 얻어오거나, 제어하는 측과 제어를 받는 측의 역할이 역전될 수 있는 동적인 제어 관계를 형성할 수 있다. 이런 통합 미들웨어를 사용하는 제어 장치들은 이질적인 미들웨어를 사용하는 장치들을 작동 장치로 등록하여 제어할 수 있게 된다.
특정 미들웨어를 사용하고 있는 장치들이 접속하고 있는 지역망에 통합 미들웨어를 사용하는 제어 장치가 접속하면 통합 미들웨어는 특정 미들웨어를 사용하는 장치를 인지하고 이 장치를 자신의 작동 장치로 등록한다. 등록 과정에서 자동 장치의 기능 정보를 제어 및 관리 장치가 저장하게 되며, 제어 장치들은 제어 및 관리 장치들에게 이 기능 정보들을 검색하거나 제어 요청을 통해 이질적인 미들웨어의 장치들을 제어할 수 있게 된다.
또한 통합 미들웨어를 사용하는 어떠한 제어 장치도 글로벌 망에서 이질적인 미들웨어를 사용하는 장치를 동적으로 통합하여 제어할 수 있다. 통합 미들웨어를 사용하는 제어 장치가 존재하는 모든 지역망 간 제어 장치의 검색이 가능하다. 또한 이질적인 미들웨어를 사용하는 장치가 제어 장치에 작동 장치로서, 등록되면, 글로벌 망에서 작동 장치간 제어가 가능하다.
도 3은 본 발명의 실시 예에 따른 제어 및 관리장치 및 제어장치의 연결 구성 블록도이다.
제어장치(213, 223, 224, 225, 233, 234, 235)는 물리 세상에서 영향을 미치는 작동 장치와 모니터링이 가능한 센서를 보유하고 있다. 또한 보유한 작동 장치와 센서들의 현재 상태에 대한 정보를 수집한다. 제어 및 관리장치(212, 222, 232)는 제어 장치(213, 223, 224, 225, 233, 234, 235)와 동일한 구조를 가진다. 제어 및 관리장치(212, 222, 232)는 지역망(211, 221, 231)에서 자신의 하위 제어장치 정보만을 추가로 저장하고 제어 및 관리장치로의 전환이 가능하다.
제1 지역망(211)에는 제1 제어 및 관리장치(212)와 제1 제어장치(213)가 위치하며, 제2 지역망(221)에는 제2 제어 및 관리장치(222)와 제2 내지 제4 제어장치(223, 224, 225)가 위치하며, 제3 지역망(231)에는 제3 제어 및 관리장치(232)와 제5 내지 제7 제어장치(233, 234, 235)가 위치한다.
도 4는 도 3에 도시된 블록도에서 미들웨어 장치들이 동적 제어 관리 시스템에 작동 장치로 등록된 상태의 구성 블록도이다.
도 4를 참조하면 제1 지역망(211)에는 제1 제어 및 관리장치(212)와 제1 제어장치(213) 및 제1 작동장치(214)가 위치하며, 제2 지역망(221)에는 제2 제어 및 관리장치(222)와 제2 내지 제4 제어장치(223, 224, 225)와 제 2작동장치(321)가 위치하며, 제3 지역망(231)에는 제3 제어 및 관리장치(232)와 제5 내지 제7 제어 장치(233, 234, 235) 및 제3 내지 제4 작동장치(331, 332)가 위치한다.
제 1 내지 제4 작동장치(214, 321, 331, 332)는 제어장치의 하위에 위치하며 제어장치에 의해 제어된다.
도 5는 상기 도 4에 도시된 블록 구성도에 도시된 커널 모듈의 메모리 탑재 과정을 나타낸 흐름도이다.
미들웨어 A를 사용하는 작동장치 a가 지역망에 접속되면, (505단계) 통합 미들웨어를 사용하는 제어 및 관리 장치들은 작동장치 a가 송신하는 메시지를 미들웨어 A의 메시지 인지 커널 모듈을 통해 인식한다. 제어 및 관리장치들은 작동 장치 a를 등록하기 전에 이미 등록되어 있는지를 확인한다. (510단계)
지역망에 작동장치 a가 이미 등록되어 있는 지의 여부를 판단하고(515단계) 등록되어 있지 않으면 제어 및 관리 장치는 등록 시키기 위한 절차를 수행한다.
제어 및 관리장치에 등록되어 있는 제어 장치들 중 하드웨어 성능이 우선인 제어장치를 선정한다.(520단계) 선정된 제어 장치는 작동 장치 a를 등록시키기 위해 미들웨어 A의 메시지 인지, 생성, 파싱 커널모듈이 필요하게 된다.
따라서, 이미 등록된 제어장치에 미들웨어 A를 사용하는 다른 작동장치의 기 연결여부를 확인하게 된다.(525단계)
예를 들어 미들웨어 A를 사용하는 또 다른 작동장치를 이미 등록하고 있다면 제어장치는 메모리상에서 커널모듈들이 탑재되어 있겠지만 등록되지 않았다면 상기 3가지 커널모듈들을 메모리에 탑재한다.(530단계)
이후 선정된 제어장치는 미들웨어 A의 메시지 생성 커널모듈을 사용하여 작동장치 a의 기능 정보를 요청하는 메시지를 생성한다. 미들웨어 A의 메시지 인지 및 파싱 커널 모듈을 통해 작동 장치 a로 부터 기능 정보가 담긴 메시지를 수신한 후 그 메시지를 분석하고 등록과정을 완료한다. (535단계)
등록된 작동장치 a의 기능 정보들은 제어 및 관리 장치로 전송되어(540단계) 저장하게 된다. (545단계)
도 6은 상기 도 5에 도시된 커널모듈의 탑재된 메모리의 해제 동작 흐름도이다.
도 6을 참조하면 미들웨어 A를 사용하는 작동장치 a가 종료된다고 하면, 작동장치 a를 등록하고 있던 제어장치는 등록 해제 과정을 거치게 된다.(605단계)
제어장치는 미들웨어 A를 사용하고 있는 다른 작동장치가 자신에게 등록되어 있는지를 확인하고(610단계) 미들웨어 A를 사용하고 있는 다른 작동장치가 존재하는 경우 미들 웨어 A의 메시지 인지, 생성, 파싱 커널모듈이 요구됨에 따라 메모리에서 해제할 수가 없게 된다. 따라서, 제어장치는 해제하고자 하는 작동장치a의 등록을 해제한다.(620단계)
하지만 작동장치 a가 미들웨어 A를 사용하는 마지막 장치였다면 제어 장치는 더 이상 미들웨어 A의 메시지 인지, 생성, 파싱 커널모듈을 메모리 상에 탑재하고 있을 필요가 없어진다. 따라서, 제어장치는 이 세가지 커널모듈들을 메모리 상에서 해제하게 된다.(625단계)
도 7은 이질적인 미들웨어를 사용하는 작동장치의 등록에 따른 블록 구성도이다.
도 7을 참조하면, 이질적인 미들웨어를 사용하는 작동장치(704, 705)가 통합 미들웨어를 사용하는 제어 장치(702, 703)에 각각 등록된 상황을 나타낸다.
본 발명의 실시 예에서는 통합 대상이 되는 미들웨어는 제1 미들웨어와 제2 미들웨어 두 가지가 있다고 가정한다.
제어 및 관리장치(701)와 제어장치(702, 703)은 기본적으로 통합 미들웨어의 메시지 인지 커널모듈(711, 714, 717)과 메시지 파싱 커널모듈(712, 715, 718), 그리고 메시지 생성 커널모듈(713, 716, 719)을 항상 메모리에 탑재하여 통합 미들웨어의 기능을 수행하도록 한다.
제어 및 관리장치(701)는 제어장치(702, 703)를 등록, 등록된 제어 장치 관리, 이질적인 미들웨어를 사용하는 작동장치를 인식, 인식된 작동장치를 어떤 제어 기능이 있는 장치(701, 702, 703)의 작동 장치로 등록 시킬 것인가를 결정하기 위해 장치 관리 동적 라이브러리를 사용한다. 또한, 다른 모든 미들웨어의 메시지 인지 커널 모듈(721, 731)를 항상 메모리에 탑재하여 새로운 제어 장치를 발견하고 등록 시킨다.
제1 제어 장치(702)는 제1 미들웨어를 사용하는 제1 작동장치(704)를 등록하기 위해 제5 메시지 인지 커널모듈(722)과 제3 메시지 파싱 커널모듈(723), 그리고 제3 메시지 생성 커널모듈(724)을 메모리에 적재하여 메시지를 처리할 수 있도록 한다.
마찬가지로, 제2 제어장치(703)는 제2 미들웨어를 사용하는 제2 작동장치(705)를 등록하기 위해 제7 메시지 인지 커널모듈(732), 제5 메시지 파싱 모듈(733), 그리고 제5 메시지 생성 커널 모듈(734)을 메모리에 탑재한다.
제1 작동장치(704)가 제1 제어장치(702)로부터 접속을 끊는다면, 제1 제어장치(702)에 더 이상 제1 미들웨어를 사용하는 작동장치가 없기 때문에 제5 메시지 인지 커널모듈(722)과 제3 메시지 파싱 커널모듈(723), 그리고 제3 메시지 생성 커널 모듈(724)을 메모리에서 해제하게 된다.
도 8은 상기 도 7에 도시된 블록도에 따라 이질적인 미들웨어를 사용하는 장치의 등록 과정 흐름도이다.
도 8은 이질적인 미들웨어를 사용하는 작동 장치를 특정 제어 장치가 제어하기 위해 작동 장치의 정보를 요청하고 제어 메시지를 생성 및 송신하여 작동 장치가 제어 하는 과정을 도식화 한 것이다.
도 8을 참조하면, 제어 장치 B가 작동 장치 a를 제어하고자 하면 자동장치 a에 대한 정보가 요구된다. 작동장치 a에 대한 정보란, 작동 장치가 수행할 수 있는 기능 및 상태정보 그리고 작동장치 a를 등록하고 있는 제어장치 A의 IP주소 등이다.
제어 장치 B는 통합 미들웨어의 메시지 생성 모듈을 사용하여 작동 장치 a를 검색하는 메시지를 생성한다. 제어 장치 B는 생성된 검색 메시지를 지역망에 존재하는 제어 및 관리장치들에게 송신한다.(805단계) 제어 및 관리 장치들은 자신에게 등록되어 있는 제어 장치들의 정보 및 그 제어 장치에 등록되어 있는 작동 장치들의 정보를 보유하고 있다.
검색 메시지를 수신한 제어 및 관리 장치들은 기 저장된 제어 장치 및 작동장치의 정보를 검색하여(810단계) 작동 장치 a의 존재여부를 확인한다. (815단계) 상기 확인 결과 제어 및 관리 장치들이 작동 장치 a에 대한 정보가 검색되지 않으면 작동 장치 a의 정보를 요청한 제어 장치 B에게 정보가 존재하지 않음을 알린다.(820단계)
작동장치 a의 정보가 검색되면 제어 및 관리 장치는 작동 장치 a를 등록하고 있는 제어 장치 A와 관련된 정보들(작동장치 a의 기능, 작동장치 a가 사용하는 미들웨어 종류, 작동 장치a가 등록된 제어 장치 A의 IP주소 등)을 제어 장치 B에게 전달한다.(825단계)
제어 장치 B는 제어 및 관리 장치로부터 제어 장치 A에 대한 정보를 수신한 후 작동 장치 a의 기능 정보들을 바탕으로 작동 장치 a를 제어하기 위한 메시지를 생성한다. (830단계) 생성된 제어 메시지는 제어장치 A로 보내진다.(835단계)
제어 장치 A는 제어 메시지를 수신한 후 작동 장치 a가 사용하는 미들웨어의 메시지 형식으로 변환하기 위해 작동 장치 a가 사용하고 있는 미들웨어 종류를 파악한다. 파악된 미들웨어의 메시지 생성 모듈을 사용하여 제어 메시지를 변환시킴으로써 작동 장치 a가 제어 메시지를 인식할 수 있도록 한다. (840단계)
메시지 생성 모듈을 통해 변환된 메시지는 작동장치A로 전송되고(845단계) 작동장치 a는 제어 메시지를 수신한 후 제어 메시지에 따라 자신의 기능을 수행함으로써(850단계) 이질적인 미들웨어 간의 제어가 완료된다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110 : 응용 프로그래밍 인터페이스
120 : 라이브러리
150 : 커널 모듈
200 : 전역망 211, 221, 231 : 지역망
213, 223, 224, 225, 233, 234, 235, 702, 703 : 제어장치
212, 222, 232, 701 : 제어 및 관리장치
214, 321, 331, 332, 704, 705 : 작동장치

Claims (15)

  1. 지역망에 접속하는 제어장치를 등록하며, 상기 제어 장치의 기능정보를 저장하며, 미들웨어에 따라 상기 제어장치에 작동장치를 연결하는 제어 및 관리 장치;
    제어 장치들간의 기능 정보를 상기 제어 및 관리 장치로 요청하며 상기 기능정보에 따라 제어 명령을 생성하고 적어도 하나의 작동장치를 제어하는 제어장치;
    상기 제어 장치 또는 제어 및 관리장치에 등록되며, 상기 제어장치 또는 제어 및 관리장치의 명령에 따라 제어되는 작동장치를 포함하는
    사이버 물리 시스템에서 메모리 관리 시스템.
  2. 제1항에 있어서,
    제어 및 관리장치는
    고유한 미들웨어를 사용하는 제어장치가 접속하고 있는 지역망에 통합 미들웨어를 사용하는 제어장치가 접속하면 상기 고유한 미들웨어를 사용하는 제어장치를 인지하고, 상기 고유한 미들웨어를 사용하는 제어장치를 작동장치로 등록하는
    사이버 물리 시스템에서 메모리 관리 시스템.
  3. 제2항에 있어서,
    상기 통합 미들웨어를 사용하는 제어장치는 지역망 내에 존재하는 제어장치를 검색 및 제어하도록 하는
    사이버 물리 시스템에서 메모리 관리 시스템.
  4. 제2항에 있어서,
    상기 통합 미들웨어는 제어 및 관리장치 또는 제어장치가 수신한 메시지를 파악하는 메시지 인지 커널 모듈;
    제어 장치들간의 통신 시 제어장치들의 메시지 형식에 따른 통신 메시지를 생성하는 메시지 생성 커널모듈;
    수신한 메시지를 파싱하여 메시지에 포함되는 정보를 통합 미들웨어에 적용되는 메시지 구조로 변환하는 메시지 파싱 커널모듈로 구성되는
    사이버 물리 시스템에서 메모리 관리 시스템.
  5. 제4항에 있어서,
    제어장치는 기 연결된 작동장치의 동작이 종료되면, 상기 작동장치가 사용하는 미들웨어의 메시지 인지, 메시지 생성 및 메시지 파싱 커널모듈을 메모리에서 해제하도록 하는
    사이버 물리 시스템에서 메모리 관리시스템.
  6. 제4항에 있어서,
    상기 제어장치는 기 연결된 작동장치의 동작이 종료되면, 상기 제어장치에 연결된 다른 작동장치의 연결여부를 확인하고, 상기 동작이 종료된 작동장치를 제외한 작동장치가 연결이 유지된 상태에서 메시지 인지 커널모듈을 제외한 메시지 생성, 메시지 파싱 커널모듈의 동작을 해제하는
    사이버 물리 시스템에서 메모리 관리 시스템.
  7. 제1항에 있어서,
    상기 제어 및 관리장치는 지역망 내에서 하드웨어의 성능 기준이 최상위인 제어장치로 선정되는
    사이버 물리 시스템에서 메모리 관리 시스템.
  8. 제1항에 있어서,
    제어장치는 기 연결된 작동장치와 상이한 미들웨어를 사용하는 작동장치를 제어 시 상기 상이한 미들웨어를 사용하는 작동장치를 기 연결하고 있는 제어장치로부터 상기 작동장치에 대한 정보를 전달받아 상기 작동장치를 제어하기 위한 메시지를 생성하는
    사이버 물리 시스템에서 메모리 관리 시스템.
  9. 제8항에 있어서,
    상기 제어장치는 생성된 메시지가 상기 제어하고자 하는 작동장치를 기 연결하고 있는 제어장치로 전송되어, 상기 메시지에 따라 상기 작동장치가 제어되는
    사이버 물리 시스템에서 메모리 관리 시스템.
  10. 작동장치가 지역망에 접속을 감지하는 단계;
    상기 지역망 내에 상기 감지된 작동장치의 미들웨어를 사용하는 제어장치를 검색하는 단계;
    상기 제어장치에 상기 작동장치 미들웨어의 메시지 인지, 생성, 파싱 커널 모듈을 메모리에 탑재하는 단계;
    상기 메시지 생성 커널 모듈에서 상기 작동장치에 기능정보를 요청하는 메시지를 생성하는 단계;
    상기 인지 및 파싱 커널모듈을 통해 작동장치로부터 기능 정보를 수신하는 단계;
    상기 기능정보에 따라 상기 작동장치를 제어장치에 등록하는 단계;로 구성되는
    사이버 물리 시스템에서 메모리 관리 방법.
  11. 제10항에 있어서,
    상기 작동장치가 지역망 내의 제어장치에 기 등록되어 있지 않으면, 기 연결된 제어장치들 중 하드웨어 성능기준이 최상위인 제어장치를 선정하여 상기 작동장치를 등록하는
    사이버 물리 시스템에서 메모리 관리 방법.
  12. 제10항에 있어서,
    상기 작동장치의 동작이 종료되면, 상기 작동장치가 연결된 제어장치의 메시지 인지, 생성, 파싱 커널모듈을 상기 메모리에서 해제하는
    사이버 물리 시스템에서 메모리 관리 방법.
  13. 제12항에 있어서,
    작동장치가 제어 및 관리장치에 등록되어 있다면 상기 제어 및 관리장치는 상기 인지 커널 모듈을 제외한 상기 생성, 파싱 커널 모듈만을 해제하는
    사이버 물리 시스템에서 메모리 관리 방법.
  14. 제10항에 있어서,
    상기 제어장치가 상기 작동장치와 상이한 미들웨어를 사용하는 경우 상기 작동장치를 기 연결하고 있는 제어장치로부터 상기 작동장치의 정보를 획득하는 단계;
    상기 획득된 정보에 따라 상기 작동장치를 제어하기 위한 메시지를 생성하는 단계;
    상기 생성된 메시지를 상기 작동장치를 기 연결하고 있는 제어장치로 전송하는 단계;
    상기 전송된 메시지를 상기 작동 장치가 사용하는 미들웨어의 메시지로 변환하여 상기 작동장치를 제어하도록 하는 단계;로 구성되는
    사이버 물리 시스템에서 메모리 관리 방법.
  15. 제14항에서,
    상기 정보는 상기 작동장치를 등록하고 있는 제어장치의 IP주소, 상기 작동장치의 기능, 미들웨어 종류인
    사이버 물리 시스템에서 메모리 관리 방법.
KR1020100123378A 2010-12-06 2010-12-06 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법 KR101148364B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100123378A KR101148364B1 (ko) 2010-12-06 2010-12-06 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법
PCT/KR2011/009362 WO2012077949A2 (ko) 2010-12-06 2011-12-05 사이버 물리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100123378A KR101148364B1 (ko) 2010-12-06 2010-12-06 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법

Publications (1)

Publication Number Publication Date
KR101148364B1 true KR101148364B1 (ko) 2012-05-23

Family

ID=46272478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100123378A KR101148364B1 (ko) 2010-12-06 2010-12-06 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법

Country Status (1)

Country Link
KR (1) KR101148364B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417904B2 (en) 2013-09-13 2016-08-16 Electronics And Telecommunications Research Institute Cyber-physical system and method of monitoring virtual machine thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020021237A (ko) * 2000-09-14 2002-03-20 유찬영 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
KR20050000864A (ko) * 2003-06-25 2005-01-06 삼성전자주식회사 복수의 댁내망을 포함하는 지역망내 가전기기를 관리하는장치 및 방법
KR20070058178A (ko) * 2005-12-01 2007-06-08 성균관대학교산학협력단 Corba 기반 적응적 브리지 폴 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020021237A (ko) * 2000-09-14 2002-03-20 유찬영 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
KR20050000864A (ko) * 2003-06-25 2005-01-06 삼성전자주식회사 복수의 댁내망을 포함하는 지역망내 가전기기를 관리하는장치 및 방법
KR20070058178A (ko) * 2005-12-01 2007-06-08 성균관대학교산학협력단 Corba 기반 적응적 브리지 폴 시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417904B2 (en) 2013-09-13 2016-08-16 Electronics And Telecommunications Research Institute Cyber-physical system and method of monitoring virtual machine thereof

Similar Documents

Publication Publication Date Title
CN105939365B (zh) 主控板用户态从业务板内核态获取数据的方法及装置
US9244817B2 (en) Remote debugging in a cloud computing environment
US10838890B2 (en) Acceleration resource processing method and apparatus, and network functions virtualization system
CN1902585B (zh) 用于与支持多个设备的网络适配器接口的方法、***和程序
US9503957B2 (en) Low cost mesh network capability
US10298435B2 (en) Server link state detection and notification
US10841397B2 (en) Methods, apparatus, and systems to dynamically discover and host services in fog servers
US20120303746A1 (en) Dynamically subscribing to management information and method and system for dispensing thereof
US20080109828A1 (en) Application component communication apparatus of sca-based system and method thereof
CN103164256A (zh) 一种实现单机支持高并发处理方法及***
US10313282B1 (en) Flexible middleware messaging system
KR20110114264A (ko) 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법
US7966394B1 (en) Information model registry and brokering in virtualized environments
WO2016082078A1 (zh) 路径管理的***、装置和方法
US7159010B2 (en) Network abstraction of input/output devices
CN110740145A (zh) 消息消费方法、装置、存储介质及电子设备
JP6195465B2 (ja) 同期サーバ側スクリプティングを用いた遠隔カードコンテンツ管理
US20060190764A1 (en) System for providing an alternative communication path in a SAS cluster
JP2005346573A (ja) Webサービス提供方法、Webサービスシステムにおけるサーバ装置およびクライアント端末、Webサービスシステム、ならびに、Webサービスプログラムおよび記録媒体
CN102111436B (zh) 一种通过iSCSI访问存储设备的方法和一种存储设备
US20170185546A1 (en) Remote Resource Access Method and Switching Device
KR101148364B1 (ko) 사이버 물리 시스템에서 이질적 미들웨어 간의 동적 통합과 제어장치를 위한 메모리 관리 시스템 그 방법
KR20210044281A (ko) 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
JP3730545B2 (ja) サービス制御アプリケーション実行方法及びシステム
KR20160039382A (ko) 네트워크 특성을 반영한 서비스 지향 아키텍처 프로토콜 동적 구성 시스템 및 이의 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee