센서 데이터 처리

Download Report

Transcript 센서 데이터 처리

박사 학위 논문 – 예비 심사
RFID 및 센서 데이터 처리를 위한
미들웨어와 EPCIS 시스템
설계 및 구현
현승렬
지도교수 : 이상정 교수님
컴퓨터학과
0
목차
1. 서론
2. 이론적 배경
3. 통합시스템 구성 및 데이터베이스 설계
4. ALE 기반 미들웨어 설계 및 구현
5. EPCIS 저장소 설계 및 구현
6. 실험 및 성능 평가
7. 결론
컴퓨터학과
1
1. 서론
컴퓨터학과
2
배경
• 유비쿼터스 컴퓨팅 환경
– 자동식별, 센서 네트워크, 홈 네트워크
• RFID 시스템 도입 확산
– 국방, 제조, 건설, 교통, 의료, 환경, 교육, 물류, 유통, 농축산업
• EPCglobal
– ALE (Application Level Events)
– EPCIS (Electronic Product Code Information Services)
• RFID와 센서 데이터
– 시간, 위치, 대용량
컴퓨터학과
3
목표
• RFID와 센서 데이터 통합 처리
• 통합시스템
– 캡처링 응용을 포함하는 ALE 기반 미들웨어
– EPCIS 저장소
• 특징
– 실시간 객체 검색
– 환경 변화에 따른 객체 검색
컴퓨터학과
4
2. 이론적 배경
컴퓨터학과
5
EPCglobal
컴퓨터학과
6
ALE(Application Level Events) 기반 미들웨
어
Intranet
Internet
컴퓨터학과
7
ALE 인터페이스
<<interface>> ALE
define(specName : String, spec : ECSpec) : void
undefine(specName : String) : void
getECSpec(specName : String) : ECSpec
getECSpecNames() : List<String>
subscribe(specName : String, notificationURI : String) : void
unsubscribe(specName : String, notificationURI : String) : void
poll(specName : String) : ECReports
immediate(spec : ECSpec) : ECReports
getSubscribers(specName : String) : List<String>
getStandardVersion() : String
getVendorVersion() : String
컴퓨터학과
8
요청에 대한 조건 정의 자료형
ECReportSpec
ECSpec
logicalReaders : List<String>
reportName : String
reportSet : ECReportSetSpec
boundarySpec : ECBoundarySpec filterSpec : ECFilterSpec
groupSpec : ECGroupSpec
reportSpecs : List<ECReportSpec>
includeSpecInReports : Boolean
primaryKeyFields : List<String>
output : ECReportOutputSpec
reportIfEmpty : Boolean
reportOnlyOnChange : Boolean
statProfileNames : List<ECStatProfileN
<<extension point>>
<<extension poin
컴퓨터학과
9
결과 자료형
ECReports
specName : String
date : dateTime
ALEID : String
totalMilliseconds : long
initiationCondition : ECInitiationCondition
initiationTrigger : ECTrigger
terminationCondition : ECTerminationCondition
terminationTrigger : ECTrigger
ECSpec : ECSpec
reports : List<ECReport>
<<extension point>>
컴퓨터학과
10
EPCIS(Electronic Product Code Information Services)
컴퓨터학과
11
캡처 서비스
<<interface>>
CoreCaptureService
capture(event : List<EPCISEvent>) : void
<<extension point>>
컴퓨터학과
12
EPCIS Events
컴퓨터학과
13
비즈니스 스텝과 디스포지션 상태
Business Step
Disposition
picking
sellable_accessible
shipping
sellable_not_accessible
shipped
not_sellable
arrived
processing
receiving
sold
received
unknown
storing
stocking
destroyed
other
출처 : FMCG(Fast Moving Customer Goods) Working Group
컴퓨터학과
14
질의 인터페이스
<<interface>>
EPCISQueryControlInterface
subscribe(queryName : String, params : QueryParams, dest : URI,
controls : SubscriptionControls, subscriptionID : String)
unsubscribe(subscriptionID : String)
poll(queryName : String, params : QueryParams) : QueryResults
getQueryNames() : List // of names
getSubscriptionIDs(queryName : String) : List // of Strings
getStandardVersion() : string
getVendorVersion() : string
컴퓨터학과
15
질의 인수 : QueryParams (
QueryParam[])
SimpleEventQuery
인수명
eventType
GE_eventTime
QueryParam
GE_recordTime
EQ_action
name : String // Parameter name
value : String // Parameter value
EQ_bizStep
EQ_disposition
EQ_readPoint
EQ_bizLocation
EQ_bizTransaction_type
MATCH_epc
MATCH_parentID
MATCH_epcClass
컴퓨터학과
EQ_quantity
eventCountLimit
16
질의 결과
QueryResults
queryName : string
subscriptionID : string
resultsBody : QueryResultsBody
<<extension point>>
컴퓨터학과
17
3. 통합 시스템 구성 및 DB 설계
컴퓨터학과
18
통합 시스템 구현 목표
• RFID와 센서 데이터를 동시에 처리
• 특정 장소에 도달 시 실시간으로 EPCIS 이벤트를
발생
• 실시간 객체의 위치 파악이 가능
• 객체의 포함 관계를 유연하게 표현 가능
• 자료의 저장 공간을 최소한으로 유지
컴퓨터학과
19
전체 시스템 구성도
컴퓨터학과
20
데이터베이스 구성
컴퓨터학과
21
뷰 목록
뷰
V_AleTags
V_AleTagsAddCur
설명
모든 태그와 센서 측정값에 대한 일시별 위치
V_AleTags 중에서 상태가 Additions 와 Current 인 자료만 선택
V_AleTagsDel
V_AleTags 중에서 현재 삭제된 자료만 선택
V_AleTagsOld
V_AleTags 중에서 과거의 자료만 선택
V_ItemMaster
V_ObjItem
회사 식별번호와 객체 번호 구분
(아래 3개의 뷰에서 사용)
일반적인 Object Event 질의에 사용
V_TransItem
Transaction 질의 요청시 사용
V_AggItem
포함 관계 질의시 사용 (WITH 를 이용해서 Recursive 하게 처리)
V_ObjItemSensor
V_Sensor
V_DevAntLoc
센서 정보를 포함한 질의에 사용
V_ObjItemSensor에서 사용
장치 ID와 안테나 번호를 이용해서 위치 파악
컴퓨터학과
22
전체 모듈과 클래스 구조
컴퓨터학과
23
4. ALE 기반 미들웨어 설계 및 구현
컴퓨터학과
24
ALE 기반 미들웨어 구현 목표
•
•
•
•
EPCglobal ALE 표준을 준수
새로운 장치의 추가를 용이
센서 장치를 사용 가능
실시간 처리를 위해 장치에 대한 지속적인 모니터
링을 수행 (Capturing Application)
• 특정 장소에 EPCIS 이벤트를 설정하고 객체가 도
착하는 즉시 EPCIS 이벤트 자료를 생성
컴퓨터학과
25
ALE 읽기 서비스 작업 흐름
컴퓨터학과
26
새로운 장치의 추가
컴퓨터학과
27
태그 자료 정제
컴퓨터학과
28
센서 자료 정제
컴퓨터학과
29
Select 구문 생성 알고리즘
컴퓨터학과
30
장치 관리자 실행
컴퓨터학과
31
위치 및 경로 설정
컴퓨터학과
32
읽기서비스 제공 화면
컴퓨터학과
33
5. EPCIS 저장소 설계 및 구현
컴퓨터학과
34
EPCIS 저장소 구현 목표
• EPCglobal EPCIS 표준을 준수
• 포함 관계의 물품에 대한 위치 지정 시 상위 물품에
대한 정보만 저장함으로써 저장 공간의 효율을 높
인다.
• 센서 데이터 처리를 위한 확장 모델을 구현
• 환경 정보 변화에 따른 객체 질의가 가능
컴퓨터학과
35
EPCIS 서비스 작업 흐름
컴퓨터학과
36
Select 구문 생성 알고리즘
컴퓨터학과
37
센서 데이터 처리
• EPCIS 이벤트 타입은 저장소와 응용 프로그램 간
에 인수로 주고받는 자료 형
• 표준 외의 부가적인 정보는 이벤트 타입의
<<Extension Point>> 부분에 추가 가능
• EQ_Sensor.Type 형식을 추가
– Temperature, Humidity, Illumination
• 이 이름은 DevAntenna 테이블의 DevSubName
필드에 이미 저장
<Sensor Name="Humidity">72.92</Sensor>
컴퓨터학과
38
캡처 서비스 실행
컴퓨터학과
39
질의 인터페이스 실행 (웹 서비스)
컴퓨터학과
40
6. 적용 실험 및 성능 평가
컴퓨터학과
41
실험 시나리오
Action : Add,
bizStep : Stocking
Disposition : Stocking, P/O : ‘9’
컴퓨터학과
42
실험의 종류
1.
2.
3.
4.
RFID와 센서 장치에서 ALE를 이용한 읽기
트랜잭션과 디스포지션 관련 EPCIS 질의
포함 관계 EPCIS 질의
센서 포함 EPCIS 질의
컴퓨터학과
43
ALE 미들웨어 실험 프로그램
컴퓨터학과
44
1. RFID와 센서 장치에서 ALE를 이용한 읽
기
RFID 장치 “RFID 1”과
센서 장치 “Humidity-1”,
“Temperature-1”,
“Illumination-1”로부터
15초 마다 자료를 전송해주는
subscribe 메서드를 실행
컴퓨터학과
45
ECSpec : 실행 조건
<?xml version="1.0" encoding="utf-8"?>
<ECSpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.or
g/2001/XMLSchema" schemaVersion="1.1" creationDate="2011-07-12T13:34:14.0185546+09:00">
<logicalReaders>
<logicalReader>RFID 1</logicalReader>
<logicalReader>Humidity - 1</logicalReader>
<logicalReader>Temperature - 1</logicalReader>
<logicalReader>Illumination - 1</logicalReader>
</logicalReaders>
<boundarySpec>
<repeatPeriod unit="MS">15</repeatPeriod>
</boundarySpec>
<reportSpecs>
<reportSpec reportName="Report 1">
<reportSet set="CURRENT" />
<output includeEPC="true" />
</reportSpec>
</reportSpecs>
<extension>
<primaryKeyFields />
</extension>
</ECSpec>
컴퓨터학과
46
생성된 SQL 구문
SELECT * FROM V_AleTagsAddCur
WHERE ( LogicalReader = 'RFID 1'
OR LogicalReader = 'Humidity - 1'
OR LogicalReader = 'Temperature - 1'
OR LogicalReader = 'Illumination - 1' )
컴퓨터학과
47
ECReports : 실행 결과
<groupList>
<member>
<tag>urn:epc:id:sgtin:000001.0000003.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000003.2</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000004.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000004.2</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000005.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000090.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000091.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000001.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000001.2</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000001.3</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000001.4</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000092.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000002.1</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000002.2</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000002.3</tag>
</member>
<member>
<tag>urn:epc:id:sgtin:000001.0000002.4</tag>
</member>
<member>
<tag>urn:Sensor:Temperature:23.26</tag>
</member>
<member>
<tag>urn:Sensor:Illumination:4.76</tag>
</member>
<member>
<tag>urn:Sensor:Humidity:72.92</tag>
</member>
</groupList>
컴퓨터학과
48
EPCIS 저장소 실험 프로그램
컴퓨터학과
49
4. 센서 포함 EPCIS 질의
창고의 조도가 50 이상이고
Action이 ‘Add’이거나 ‘Observe’이면서
회사코드가 1이고 물품코드가 4이면서
비즈니스 스텝이 ‘Storing’인
물품을 검색해서
1시간에 한번 씩 결과를 반환하는
subscribe 질의
컴퓨터학과
50
EPCISQueryDocument : 질의 인수
…
<dest xmlns="">http://localhost:8888/Callback/</dest>
<params>
<controls xmlns="">
<param>
<schedule>
<name>EQ_action</name>
<second />
<value xsi:type="xsd:string">ADD OBSERVE</value>
<minute />
</param>
<hour>1</hour>
<param>
<dayOfMonth />
<name>MATCH_epc</name>
<month />
<value xsi:type="xsd:string">urn:epc:id:sgtin:000001.00000
<dayOfWeek />
04.*</value>
</schedule>
</param>
<trigger />
<param>
<reportIfEmpty>false</reportIfEmpty>
<name>EQ_bizStep</name>
</controls>
<value xsi:type="xsd:string">Storing</value>
<subscriptionID xmlns="">Subscription ID 1</subscriptio
</param>
nID>
<param>
</Subscribe>
<name>GE_Sensor.Illumination</name>
<value xsi:type="xsd:float">50</value>
</param>
</params>
컴퓨터학과
51
생성된 SQL 구문
SELECT * FROM V_ObjItemSensor
WHERE ( Action = 'ADD' OR Action = 'OBSERVE' ) AND ( Co =
'000001' AND Item = '0000004' ) AND ( BizStep = 'Storing' ) AND
( (DevSubName = 'Illumination' AND SensorData >= 50) )
컴퓨터학과
52
QueryResults : 실행 결과
<EventList>
<ObjectEvent>
<eventTime>2011-07-12T00:00:00</eventTime>
<recordTime>2010-01-01T00:00:00</recordTime>
<eventTimeZoneOffset>+09:00</eventTimeZoneOffset>
<epcList>
<epc>urn:epc:id:sgtin:000001.0000004.3</epc>
</epcList>
….
<SensorName="Illumination">
57.130000000000000000
</Sensor>
</ObjectEvent>
</EventList>
</resultsBody>
</QueryResults>
컴퓨터학과
53
성능 비교 대상
• 제안 시스템 : 제안 시스템의 자료 수집 형태인
Filtering.dll을 이용해서 직접 데이터베이스에 저
장
• 개별 캡처 서비스 : 미들웨어와 EPCIS 저장소가 분
리되어 있을 때 일반적으로 사용하는 방식으로서,
이벤트 자료를 캡처 서비스를 이용해서 저장소에
전달하며, 자료 1건에 대하여 하나의 ObjectEvent
를 발생시켜서 개별적으로 전송
• 묶음 캡처 서비스 : 캡처 서비스를 이용하며, 다수
의 자료를 하나의 ObjectEvent 안의 epcList 에 모
두 담아서 한 번에 전송하지만 동일 장소, 동일 시
간, 동일한 비즈니스 스텝일 경우에만 사용 가능
컴퓨터학과
54
로컬시스템 성능 평가
컴퓨터학과
55
원격시스템 성능 평가
컴퓨터학과
56
7. 결론
컴퓨터학과
57
특징
• EPCglobal 표준 통합 시스템
– 캡처링 응용을 포함한 ALE 기반 미들웨어
– EPCIS 저장소
• 실시간 객체 검색
• 환경정보를 고려한 객체 검색
컴퓨터학과
58
논문 실적
• 현승렬, 이상정, “교육과정체계 수립을 위한 직무
분석 시스템 구현 및 적용사례 분석”, 한국컴퓨터
정보학회 논문지, 제14권 제9호, 127-134쪽,
2009년 9월
• 현승렬, 이상정, “RFID와 센서 데이터 처리를 위
한 EPCIS 저장소 설계 및 구현,” 한국컴퓨터정보
학회 논문지, 제15권, 제12호, 151-162쪽, 2010
년 12월.
• 현승렬, 이상정, “RFID와 센서 데이터 처리를 위
한 미들웨어와 EPCIS 통합 설계,” 한국컴퓨터정
보학회 논문지, 2011년 9월 21일 제출, 심사 중.
컴퓨터학과
59
Q&A
감사합니다.
컴퓨터학과
60