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