22 정보과학회논문지 : 컴퓨팅의실제및레터제 14 권제 1 호 (2008.2) RFID 기반물류창고시스템을위한센서네트워크구축 (Sensor Network Deployment for Warehouse Management System based on RFID) 이신형 이치영 김동신 이찬행 (ShinHyoung Lee) (ChiYung Lee) (DongShin Kim) (ChanHaeng Lee) 이원준 민성기 유혁 (WonJun Lee) (SungGi Min) (Hyuck Yoo) 요약물류창고는수시로많은물류가입고 / 출고됨에따라수시로재고현황이변화하고이를빠르고정확하게관리하는것은물류관리에있어서매우중요하다. 이를위해 RFID 기반의센서네트워크를구축하여기존의수작업으로하던작업을빠르게수행할수있도록한다. 센서네트워크를구축하기위해에너지기반으로클러스터링을하고이를기반으로계층적라우팅을통해데이타전송을가능하게하였다. 또한클러스터간이동성을지원하여각노드가이동하여도연결성이보장되도록하였다. 이렇게구축된네트워크는실제 RFID 리더와함께연동되어물류창고에서사용되었다. 키워드 :RFID, 센서네트워크, 클러스터, 이동성, 주소지정, IPv6, 라우팅, 물류창고 Abstract Warehouse has many changes for the stocks by entering and taking. Management about the stocks is important. To manage, sensor network based on RFID is deployed in warehouse. Sensor network uses cluster based on energy and hierarchical routing. Supporting mobility between clusters makes guarantee connectivity for mobile nodes. Key words :RFID, Sensor Network, Cluster, Mobility, Addressing, IPv6, Routing, Warehouse 1. 서론 본연구는산업자원부의성장동력사업지원으로수행되었음 ( 과제번호 10016756) 학생회원 : 고려대학교컴퓨터학과 shlee@os.korea.ac.kr cylee@os.korea.ac.kr dongshin@korea.ac.kr darklee@hcl.korea.ac.kr 종신회원 : 고려대학교컴퓨터학과교수 wlee@korea.ac.kr hxy@os.korea.ac.kr 정회원 : 고려대학교컴퓨터학과교수 sgmin@korea.ac.kr 논문접수 : 2007년 9월 6일심사완료 : 2008년 1월 8일 Copyright@2008 한국정보과학회ː개인목적이나교육목적인경우, 이저작물의전체또는일부에대한복사본혹은디지털사본의제작을허가합니다. 이때, 사본은상업적수단으로사용할수없으며첫페이지에본문구와출처를반드시명시해야합니다. 이외의목적으로복제, 배포, 출판, 전송등모든유형의사용행위를하는경우에대하여는사전에허가를얻고비용을지불해야합니다. 정보과학회논문지 : 컴퓨팅의실제및레터제14권제1호 (2008.2) RFID는 Radio Frequency Identification의약자로많은응용분야를지니고있다. RFID의특징은 RFID 리더에서비접촉식으로 RFID tag의정보를읽어올수있음으로해서 Line of Sight가보장되지않는환경에서도원하는정보를정확히가져올수있다 [1]. 이러한 RFID 기술이가장크게활용될수있는분야는물류이다. 기존의물류시스템에서는입고, 출고및재고정리시에모든물류를사람이직접손으로계산함으로현황을파악함으로인해시간이많이소요되었다. 반면 RFID를이용한물류시스템에서는이용하여물류의이동및재고현황을실시간으로확인하고그에따른정책을빠르게결정할수있다. 특히물류창고시스템에서가장많은시간을차지하는재고파악을빠르게수행함으로써인력을최소화하고효율적으로정책을결정할수있다 [2]. RFID 물류시스템을위해서는 RFID Tag와 Reader,
RFID 기반물류창고시스템을위한센서네트워크구축 23 그리고서버가필요하다. 또한리더와서버의통신을위한네트워크구축이필요하다. 사람이나지게차에장착되어있는리더는 RFID Tag를읽고그와함께네트워크를통해서버에게데이타를전달하여야한다. 따라서에너지의효율적인사용이매우중요하다. 또한사람이가지고다니는리더의크기는많은제한을갖는다. 리더에다양한센서를장착함으로써리더주위의환경정보를수집할수있고, 이는다양한물류의특성에맞도록환경을조절할수있도록한다. 따라서에너지효율적이고단말기의자원을많이사용하지않는센서네트워크프로토콜이적합하다. 본논문에서는 RFID기반물류창고시스템을위한네트워크를제안하고이를실제로구축한내용을설명한다. 본논문은다음과같이구성되어있다. 1장의서론에이어 2장에서는전체시스템의모습을설명하고, 3장에서는기본이되는클러스터기법, 4장에서는 IPv6[3] 기반의주소지정기법및클러스터간이동기법에대해설명한다. 5장에서는클러스터를이용한계층적라우팅기법에대해설명하고 6장에서결론을통해마무리짓겠다. 2. 시스템구성물류창고를위한센서네트워크프로토콜은리더와연결된단말기에서실행된다. 리더가읽은태그정보는단말기에저장되고단말기는센서네트워크를통해중앙의서버에게정보를저장한다. 네트워크가초기화되면클러스터알고리즘에의해클러스터헤더및노드가정해지고클러스터에따라주소가정해진다. 주소가정해지면라우팅프로토콜이실행되어경로가설정되고단말간통신이가능해진다. 각부분의메시지흐름은먼저클러스터헤더선출알고리즘에의해헤더가선출되고멤버노드가정해지면각클러스터구성서비스는메시지를통해주소를지정하도록한다. 주소지정서비스가주소지정알고리즘에의해주소를지정하고, 지정된주소를라우팅프로토콜에게메시지를통해넘겨준다. 그리고, 중앙서버로자신의주소를전송한다. 이때중앙서버까지의경로를알지못하기때문에라우팅프로토콜이동작하여중앙서버까지의경로를찾는다. 중앙서버까지의경로를구 한후에는주소업데이트작업이완료된다. 네트워크구축환경은윈도XP 기반으로개발하였고사용한 MAC은 802.11[4] 을사용하였다. 3. 클러스터구성기법기존의클러스터구성기법으로는노드클러스터헤더적합도를통해클러스터를구성하는 Distributed Clustering Algorithm(DCA)[5], 클러스터반경내에서가장낮은식별자가클러스터헤더가되는 Linked Cluster Algorithm(LCA)[6], 그리고노드에일정한가중치를두어클러스터를구성하는 Weighted Clustering Algorithm(WCA)[7] 등이있다. 본논문에서사용되는클러스터구성기법은서로의통신및연산을최소화하여클러스터를구성한다. 클러스터는처음네트워크가초기화될때, 그리고클러스터헤더의에너지가정해진양이하로떨어질때구성및재구성된다. 3.1 동작방식모든노드는클러스터헤더가주기적으로송신하는비콘메시지를일정시간동안기다린다. 일정시간비콘을받지못한노드중일정한에너지이상갖고있는노드는임의로헤더가된다. 헤더가된노드는 4장에서설명하는주소생성알고리즘에의해자신의주소를생성하고즉시클러스터헤더비콘을송신한다. 비콘을받은노드는클러스터멤버로써동작한다. 클러스터헤더는에너지가일정수준이하로떨어지기전까지계속헤더로동작한다. 클러스터헤더의에너지가일정수준이하로떨어지면클러스터헤더로써의동작을멈추고더이상비콘을송신하지않는다. 일정시간동안비콘을받지못한주변의멤버노드들은다시헤더선출알고리즘에의해헤더를선출한다. 전체클러스터구성기법에대한순서도는그림 2와같다. 그림 1 시스템전체구성도 그림 2 클러스터구성기법의순서도
24 정보과학회논문지 : 컴퓨팅의실제및레터제 14 권제 1 호 (2008.2) 3.2 클러스터헤더선출알고리즘무선리더의에너지를고려하여클러스터헤더선출메커니즘을설계한다. 클러스터의반경이너무넓으면클러스터헤더는통신에많은에너지를소모하므로 1-hop으로클러스터의범위를한정한다. 1-hop 반경의클러스터를생성할때필요한사항들을설계한다. 헤더로선출된무선리더는트래픽이자신에게몰리게되므로다른리더보다더많은에너지를소비하게된다. 무선리더의에너지는한정되어있으므로헤더리더의에너지소모를최소화하여클러스터의재구성을최소화한다. 따라서무선리더기의에너지잔량에따라클러스터헤더를선출하는기법을설계해야한다. 또한클러스터헤더를동적으로변경하여모든노드가균등하게에너지를소비하는메커니즘이필요하다. 클러스터헤더선출시고려할사항은다음과같다. 클러스터헤더의에너지잔량 : 클러스터헤더는멤버노드로부터끊임없이데이타를받고이를통합하는역할을한다. 또한노드들이서로충돌하지않도록스케쥴링을관리하는기능을수행해야하므로많은에너지의소모가예상된다. 이러한에너지소모를전체네트워크에서균형적으로소비하기위해서가능한잔량이많은노드를클러스터헤더로선출해야하겠다. Cover할수있는 member들의수및분포 : 클러스터헤더가지나치게많은노드를관리하게되면노드들이데이타를보낼수있는슬롯이줄어들게되고따라서데이타를원활히보낼수없는상황이발생할수있다. 또한노드의개수가많아질수록헤더가데이타를받아야되는시간과양이늘어나게되므로에너지의소모가많아지게된다. 따라서전체네트워크를원활히운영하기위해서클러스터헤더간노드의개수를조정하는메커니즘이필요하다. 부하정도 : 물류시스템의특성상특정위치에있는멤버노드는특별히이벤트가많이발생하여데이타를많이보내는현상이나타날수있다. 이러한지역의클러스터는클러스터헤더가범위를줄여서클러스터내에서데이타가일정량이하로교환하도록헤더선출에서고려해야한다. 헤더선출알고리즘이동작하면먼저전체네트워크상에클러스터헤더의비율을결정한다. 너무작은에너지를갖는헤더가선출되는것을막기위해클러스터헤더가갖는최소에너지값을정한다. 클러스터헤더가될수있는후보노드들은최소에너지값이상을갖는노드들로이루어지고, 에너지값이높을수록헤더가될확률이높아진다. 클러스터헤더선출확률은클러스터헤더비율에따라 0에서 1 사이의값으로정해진다. 클러스터헤더선출확률이 1이되면클러스터헤더로선출되어비콘을송신한다. 클러스터헤더선출확률은일정한시간동안기다려서주위에다른클러스터로부터의비콘이없으면기존의클러스터헤더선출확률 *2를하여 1과비교하여작은수를선택한다. 그결과나온값을새로운클러스터헤더선출확률로정한다. 그리고이동작을클러스터멤버가되거나클러스터헤더가되기전까지반복한다. 헤더선출알고리즘에대한수도코드는다음그림 3 과같다. 그림 3 헤더선출기법알고리즘의수도코드본기법에의하면클러스터헤더선출기법이간단하기때문에헤더선출에따른오버헤드가적고주변과의데이타교환이필요없다. 헤더선출과정에서주변노드와어떠한정보교환도없으므로에너지를많이절약할수있다. 4. IPv6[3] 기반의주소지정기법및클러스터간이동기법 4.1 IPv6 기반의주소지정기법이동성지원을위해서는전체네트워크에서노드를구분할수있는고유한 ID와현재위치한네트워크에따른네트워크 ID가필요하다. RFID 시스템에서 RFID 리더의 ID는리더를구분하는고유한식별자이다. 따라
RFID 기반물류창고시스템을위한센서네트워크구축 25 서클러스터환경에서리더의 ID를사용하여고유한노드 ID를가질수있게된다. 노드가현재속한클러스터에서부여받는임시주소는클러스터헤더의정보와클러스터노드자체정보를혼합하여생성한다. 클러스터헤더도클러스터노드와마찬가지로 RFID 리더와연결되므로, 고유한 ID를갖고있다. 클러스터노드는클러스터헤더의 ID에노드의고유 ID를더하여, 클러스터에서의네트워크주소를생성하게된다. 네트워크주소를위한주소체계는 IPv4나 IPv6가사용될수있다. 임시주소는클러스터헤더의 ID와노드의 ID를더하여구성하게되므로, IPv4나 IPv6 주소중일부비트를두 ID에할당하여사용하게된다. IPv6의경우는 128비트의길이를갖고있기때문에, ID를그대로사용할수있는반면, IPv4의경우는 32비트에 ID를넣기위하여매핑테이블을추가로구성하여야가능하다. 따라서네트워크주소는 IPv6 기반의주소체계를이용한다. IPv6는 64비트의프리픽스와 64비트의포스트픽스로구성된다. 프리픽스는클러스터주소를나타내고포스트픽스는노드주소를나타낸다. 클러스터헤더는 RFID 리더의시리얼을통해클러스터주소를생성하고포스트픽스는 1로지정된다. 클러스터멤버노드는클러스터주소를프리픽스로갖고자신의 RFID 리더시리얼을통해노드주소를생성한다. 4.2 이동성지원을위한위치관리기법을위한구성기존의위치관리기법으로는 MobileIPv6[8][9] 가대표적이다. 본논문에서사용하는이동성지원을위한위치관리기법은특별한에이전트가없이클러스터헤더및서버와의통신을통해이동성을지원하고위치를관리한다. 위치관리를위한주요구성요소로는위치관리서버, 클러스터헤더, 클러스터노드가있다. 위치관리서버 : 위치관리서버는각노드의고유 ID와현재클러스터에서부여받은임시주소를관리해주는서버이다. 이러한위치관리테이블은노드가새로운클러스터에이동할때마다갱신되며, 노드와통신하고자하는노드에게정보가제공된다. 클러스터헤더 : 클러스터헤더는자신의고유 ID를노드에전달하여클러스터노드가클러스터헤더의 ID를포함하는클러스터임시주소를생성하도록한다. 클러스터헤더는자신의 ID 정보를주기적으로브로드캐스트한다. 또한, 모든클러스터노드는클러스터헤더를통하여서버로패킷을전달하도록된다. 따라서위치관리에관련된메시지역시클러스터헤 더에서서버로전달하는기능을수행한다. 클러스터노드 : 클러스터노드는클러스터헤더에서전달되는헤더 ID를받아클러스터영역을인식하고, 새로운영역으로이동한경우헤더 ID와자신의고유 ID를사용하여주소를생성한다. 그리고새로운주소를서버에알리는위치갱신절차를거친다. 그림 4 IPv6를사용한위치관리절차그림 4는클러스터노드, 클러스터헤더, 위치관리서버가 IPv6를사용하여위치관리를하는절차를나타내고있다. 클러스터헤더는자신의헤더정보를브로드캐스트한다. 클러스터노드는헤더에서보낸정보를사용하여자신의 ID와합하여노드의임시주소를생성하고, 그것을클러스터헤더에전달한다. 클러스터헤더는클러스터노드를대신하여위치관리서버에노드의정보를갱신한다. 그림 5, 그림 6, 그림 7은각각위치관리서버, 클러스터헤더, 클러스터노드에서의처리알고리즘을나타내고있다. 위치관리서버에서는클러스터노드의 ID와노드의현재주소를갖는 addr_table이라는전역테이블을유지한다. 이테이블의각엔트리는유효시간 (lifetime) 을갖고있다. 만약이시간이 0이되면, 엔트리는유효하지않은것으로간주하여 addr_table에서지워지게된다. 이것은클러스터노드가오동작에의하여사라진경우잘못된정보가계속남아있는것을방지하기위한것이다. 위치갱신메시지를수신하면, addr_table에서 ID를검색하게되고, 만약존재하지않으면새로운엔트리를추가하게된다. 그리고클러스터노드가정상적으로동작하고있으므로유효시간을갱신하여엔트리가
26 정보과학회논문지 : 컴퓨팅의실제및레터제 14 권제 1 호 (2008.2) 그림 5 이동성지원알고리즘 ( 위치관리서버 ) 그림 6 이동성관리알고리즘 ( 클러스터헤더 ) 지워지는것을방지한다. 이와같은절차가모두정상적으로수행되면 ack 메시지를클러스터헤더로전송한다. 클러스터헤더는클러스터헤더의존재를알리는메시지를주기적으로전송한다. 클러스터노드는이메시지를수신하여클러스터영역정보를얻고그에따른핸드오프를하게된다. 위치등록메시지를클러스터노드로부터수신하게되면, 서버에위치갱신메시지를전송하게된다. 클러스터노드가직접서버로위치갱신메시지를전송하지않는이유는모든클러스터노드의패킷은클러스터헤더를통하여전달되기때문이다. 클러스터노드는자신이현재속한클러스터영역을클러스터헤더로부터수신한클러스터헤더 ID 정보를통하여인식하고, 새로운클러스터영역으로이동한것을감지하면, 위치갱신절차를수행하게된다. 새로운클러스터영역을감지하지않더라도, 위치관리서버에서유효시간에의하여정보가삭제되는것을방지하기위하여일정한갱신주기가되면새로운영역에이동한것과마찬가지로위치갱신절차를수행한다. 4.3 클러스터노드의위치정보제공클러스터노드가새로운클러스터로이동하는경우갱신되는위치관리테이블은노드간통신또는 RFID 서버와노드간통신에서사용된다. 그림 8은노드간통신시에위치정보제공절차를나타내고있다. 노드 A는노드 B와통신하려한다. 이경우노드 A는노드 B의고유 ID인 2를알고있다. 노드 A는노드 B의현재주소를얻기위하여위치관리서버에요청을하게된다. 클러스터링환경하이기때문에노드의모든전송은클러스터헤더를통과하게된다. 클러스터헤더는노드의요청을위치관리서버에전달하고, 위치관리서버는노드 ID 2에대한주소값인 3ffe:101::2를노드 A에전달한다. 노드 A는노드 B의현재주소를알고있으므로노드 B와통신하여데이타를주고받을수있게된다. 그림 7 이동성지원알고리즘 ( 클러스터노드 ) 그림 8 노드간통신을위한위치정보제공절차
RFID 기반물류창고시스템을위한센서네트워크구축 27 5. 클러스터를이용한계층적라우팅프로토콜 5.1 클러스터를이용한계층적라우팅기법 [10] 무선 ad-hoc 네트워크에는 proactive 라우팅프로토콜과 reactive 라우팅프로토콜이있다. Proactive 라우팅프로토콜에는 OLSR(Optimized Link State Routing Protocol)[11], DSDV(Destination Sequenced Distance Vector)[12] 등이있고, reactive 라우팅프로토콜에는 AODV(Ad-hoc On-demand Distance Vector)[13,14], DSR(Dynamic Source Routing)[15] 등이있다. 기존의무선 ad-hoc 라우팅프로토콜은경로탐색및라우팅정보유지를위해기본적으로브로드캐스트전송을필요로한다. 그러나브로드캐스트는네트워크을구성하는모든노드에게메시지를전송함으로써큰오버헤드를갖는다. 이런이유로네트워크전체에걸리는오버헤드를줄이기위해클러스터링기법을사용한다. 클러스터에기반의대표적인라우팅프로토콜로는 CBRP(Cluster Based Routing Protocol)[16] 가있다. 본논문에서는그림 9와같이클러스터기반의계층적라우팅기법을사용한다. CBRP는기본적인경로구성은동일하지만 CBRP에서제공하는클러스터멤버간통신은지원하지않는다. 이는물류창고시스템에서모든통신은클러스터멤버와서버사이에서이루어지는특성때문이다 [17]. 클러스터헤더와클러스터멤버사이에멀티홉으로구성할경우, 헤더와멤버노드사이에도라우팅프로토콜이필요하게된다. 그러므로 3장에서언급한바와같이클러스터와멤버노드는 1 홉으로통신이가능하도록한다. 이로인해헤더와멤버사이에라우팅프로토콜이불필요하게된다. 헤더와멤버가 1 홉으로통신이가능하기때문에헤더와헤더간의통신은최대 3 홉으로가능하다. 즉, 헤더와헤더간에는통신을위한라우팅프로토콜이필요하다. 만약헤더가상대적으로장거리의통신이가능한 MAC을사용한다면인접클러스터헤더와 1 홉으로통신이가능하다. 하지만이는클러스터헤더가될수있는후보노드의수를줄이는결과를초래하여, 클러스터구성의유연성이떨어지는단점이있다. 반드시장거리통신이가능한 MAC을사용하는노드만이헤더가될수있기때문이다. 따라서라우팅프로토콜의사용으로인한오버헤드를줄이면서사용하는 MAC의종류에관계없이유연하게클러스터를구성할수있도록헤더와멤버간에는 1 홉, 헤더와헤더간에는최대 3 홉이되도록한다. 구성한클러스터구조는그림 9와같이상 하위계층으로나뉜다. 각클러스터헤더는인접클러스터헤더와통신한다. 앞서말한바와같이, 클러스터헤더와클러스터멤버는 1 홉으로통신을하는반면, 헤더간의 그림 9 계층적클러스터기반의라우팅경로통신은최대 3 홉으로가능하다. 그러므로클러스터의하위계층에서는인접클러스터헤더와통신하기위해메시지의 TTL 값을 3으로설정하여전체네트워크에브로드캐스트되는것을막을수있다. 하위계층에서만들어진라우팅경로는실제로클러스터헤더사이에 3 홉이지만, 클러스터의상위계층에서는 1 홉의라우팅경로로간주한다. 따라서상위계층의라우팅경로는그림 1에나타난형태로구성된다. 이로써하위계층에서만든경로에포함되지않는노드들은통신하지않도록하여전체네트워크의오버헤드를줄일수있다 [4]. 또한, 라우팅경로를유지하기위해서는주기적인컨트롤메시지전송이요구된다. 그러나이는네트워크에컨트롤메시지전송으로인한오버헤드를발생시킨다. 이오버헤드를줄이기위해 on-demand 방식으로동작하는 AODV[13,14] 라우팅프로토콜을기반으로한다. 즉, 데이타를보내질때에만컨트롤메시지를전송하여라우팅경로를생성하고유지하여네트워크의효율성을향상시키고자하였다. 5.2 라우팅프로토콜의구현 [18] 라우팅프로토콜은윈도우플랫폼기반의유저레벨의응용프로그램형태로구현하였다. 이를위해응용계층에서오버레이네트워크를구성하여이용한다. 구성된네트워크에서프로토콜과커널의관계는그림 10과같다. 구현된프로토콜은인접클러스터테이블과이웃노드정보를가진테이블을유지하며, 두테이블의정보를이용하여윈도우의라우팅테이블을수정하는방식으로동작한다. 프로토콜의전체프로세스는그림 11과같이 3 가지로구분할수있다. - 데이타구조체및장치초기화 - 경로탐색 (path discovery) 루틴 - 이벤트 (event) 처리루틴
28 정보과학회논문지 : 컴퓨팅의실제및레터제 14 권제 1 호 (2008.2) 그림 10 라우팅프로토콜과커널그림 11 라우팅프로토콜의전체프로세스초기화루틴은그림 11에나타난초기화함수들을통해라우팅프로세스에필요한데이타구조와각데이타를관리하기위한리스트, 그리고클러스터헤더와멤버노드를비롯한장치에대한데이타를초기화한다. 이벤트처리루틴은태스크큐에작업을할당하고, 프로세스가 wakeup 할때마다큐에있는작업을수행하는방식으로동작한다. 각태스크는라우팅컨트롤메시지의처리작업과라우팅정보를유지하기위한각종테이블관리작업들을정의한다. 경로탐색루틴은메시지를전송할때라우팅테이블에해당경로가존재하지않을경우수행된다. 우선, 전송하려는메시지를저장한후, RREQ(Route REQuest) 메시지를생성하고전송한다. 이후의재전송등의작업을위해태스크큐에 RREQ 재전송태스크를저장한다. RREQ 메시지의응답인 RREP 메시지처리는이벤트처리루틴을따른다. 또한, 클러스터기반의라우팅을위해서는클러스터간의인접한노드의주소가요구된다. 이를위해서주기적인 HELLO 메시지를이용한다. Ad-hoc 네트워크에서는특성상노드의이동이잦기때문에, 주기적인 HELLO 메시지를이용하여자신의위치를주변노드에게알리게된다. 이때, 자신의주소외에인접한클러스터노드의주소를전달하여클러스터헤더가다른클러스터와연결될수있게한다. 인접노드의주소를전 달하는오버헤드를고려하여전송되는주소는클러스터주소를가리키는 prefix만을포함한다. 프로토콜에서사용하는메시지에는목적지까지의경로를요청하기위한 RREQ, RREQ에대한응답으로경로를알려주기위한 RREP, 경로상의에러를알려주기위한 RERR, 그리고앞에서언급한자신의위치와인접노드의주소를알려주기위한 HELLO 메시지가있다. 이들메시지를수신하면각각의메시지타입에따라앞서말한 9 가지의태스크중해당되는태스크가태스크큐에저장되고, 이벤트처리루틴에따라이를수행한다. 라우팅프로세스는해당노드의역할에따라다르게동작한다. 클러스터헤더는실질적인라우팅프로세스의주체가되어대부분의라우팅프로세스를수행하지만, 클러스터멤버는인접노드의정보를전달하는역할만을수행하게된다. 라우팅프로토콜은크게세부분으로나뉘어동작한다. 실제구현에서는 3 개의쓰레드를이용하여각부분에대해작업을수행한다. 먼저, 응용프로그램으로부터온데이타를전송할때, 목적지 (destination) 에해당하는엔트리가라우팅테이블에존재하지않는경우, 즉목적지까지의경로가확보되지않는경우에응용프로그램으로부터전송받은데이타는경로가확보될때까지큐에저장되고경로생성을위한경로탐색작업을수행한다. 두번째로다른노드로부터 RREQ나 RREP, RERR 과같은라우팅컨트롤메시지를받은경우에해당메시지에따른처리를수행한다. 이경우메시지타입에따라태스크를생성하여이벤트큐에추가하고, Sleep 상태의메인쓰레드를깨워서큐에저장된작업을바로처리하게한다. 마지막으로주기적인 HELLO 메시지의전송으로자신의위치를주변노드에게알리고, 자신의주소와자신의인접노드들의주소를클러스터헤더에알린다. 또한, 라우팅테이블과이웃노드테이블을비롯한각종테이블과리스트의관리를수행한다. 최종완성된프로그램의수행화면은그림 12와같다. 6. 결론 RFID 기반의물류창고시스템은 RFID 기술을이용하여복잡한물류창고의작업을간편하고빠르게만들어준다. 이를더효율적으로지원하기위해본논문에서는클러스터링, IPv6 기반의주소지정및이동성지원, 그리고클러스터기반의계층적라우팅프로토콜의 3가지부분으로나누어무선센서네트워크를구축하였다. 본논문은클러스터링, 주소지정및이동성, 그리고라우팅의 3부분을각각구현함으로써센서네트워크를
RFID 기반물류창고시스템을위한센서네트워크구축 29 그림 12 프로그램실행화면 실제로구축하였다는데그의의를둔다. 현재 802.11을사용하여구축되어있는네트워크를좀더다양한 MAC을사용할수있도록실험하고수정할예정이다. 참고문헌 [1] Weinstein. R., "RFID: a technical overview and its application to the enterprise," IT Professional Volume 7, Issue 3, May-June 2005 Page(s): 27-33, 2005. [2] Yang Dayu and Zou Peng, "Event Driven RFID Reader for Warehouse Management," sixth Internation conference on PDCAT 2005, Pages(s): 895-899, 2005. [3] S. Deering and R. Hinden, "Internet Protocol, version 6 (IPv6) specification," IETF RFC2460, December 1998. [4] IEEE Std. 802.11, IEEE Standard for Wireless LAN Medium Access Control (MAC) and Physical Layer Specifications (With Amendment 1-4), 2003. [5] S. Basagni, "Distributed Clustering for Ad Hoc Networks," International shymposium on Parallel Architectures, Algorithems and Networks, Page(s): 310-315, June 1999. [6] D. J. Baker and A. Ephremides, "The Architectural Organization of a Mobile Radio Network via a Distributed Algorithm," IEEE Transaction on Communications, Vol.29, No.11, Page(s): 1694-1701, November 1981. [7] M. Chartterjee, s. K. Das, and D. Turgut, "WCA: A Weighted clustering Algorithm for Mobile Ad hoc Networks," Journal of Cluster Computing, Special issue on Mobile Ad hoc Networking, No. 5, Page(s): 193-204, 2002. [8] C. E. Perkins, "Mobility Support in IPv6," in Proceedings of the Second Annual International Conference on Mobile Computing and Networking (MOBICOM 96), November 1996. [9] D. Johnson, C. Perkins, J. Arkko, "Mobility Support in IPv6," Draft-ietf-mobileip-ipv6-24.txt, IETF Mobile IP Working Group, December 2003. [10] 이신형, 우수창, 유혁, RFID 물류창고시스템을위한재구성가능한클러스터기반의라우팅기법, 한국정보처리학회추계학술대회, 2005 년 11 월. [11] T. Clausen, P. Jacquet, A. Laouiti, P. Muhlethaler, A. Qayyum et L. Viennot, "Optimized Link State Routing Protocols for Ad Hoc Networks," IEEE INMIC Pakistan, 2001. [12] C. E. Perkins and P. Bhagwat, "Highly Dynamic Destination-Sequenced Distance Vector (DSDV) for Mobile Computers," Proc. of the SIGCOMM 1994 Conference on Communications Architectures, Protocols and Applications, Aug 1994, pp. 234-244. [13] C. E. Perkins and E. M. Royer, "Ad-hoc On- Demand Distance Vector Routing," Proc. of 2nd IEEE Workshop on Mobile Computing Systems and Applications, 1999. [14] C. E. Perkins, E. M. Royer, and S. Das, "Ad hoc On-demand Distance Vector (AODV) Routing,"
30 정보과학회논문지 : 컴퓨팅의실제및레터제 14 권제 1 호 (2008.2) RFC 3561, July 2003, Category: Experimental, work in progress. http://www.ietf.org/rfc/rfc3561.txt [15] D. B. Johnson and D. A. Maltz, "Dynamic Source Routing in Ad Hoc Wireless Networks," Mobile Computing (Kluwer Academic, 1996) chapter 5, pp.153-181. [16] M. Jiang, J. Li and Y. C. Tay, "Cluster based routing protocol (CBRP)," IETF MANET Working Group, Internet-Draft, July 1999. [17] 우수창, 이신형, 유혁, RFID 물류창고시스템을위한애드혹라우팅프로토콜에관한연구, 한국정보처리학회추계학술대회, 2005 년 11 월. [18] 이치영, 이신형, 유혁, RFID 물류시스템을위한계층적클러스터기반의라우팅프로토콜의설계및구현. 이신형 2001 년고려대학교지구환경과학과학사 2005 년고려대학교컴퓨터학과석사. 2007 년고려대학교컴퓨터학과박사수료. 관심분야는센서네트워크, RFID, 네트워크프로토콜, 운영체제 이치영 2006 년 2 월충남대학교전기정보통신공학부컴퓨터전공학사. 2008 년 2 월고려대학교컴퓨터학과석사. 관심분야는 IP 네트워크, 다중경로라우팅, 운영체제 이원준 1989 년서울대학교컴퓨터공학과학사 1991 년서울대학교컴퓨터공학과석사 1998 년 Stanford Research Institute (SRI), Research Associate. 1999 년 University of Minnesota 컴퓨터공학박사. 2002 년 ~ 현재고려대학교정보통신대학컴퓨터학과부교수. 관심분야는네트워크, 무선이동통신 민성기 1988년고려대학교컴퓨터학과학사. 1989 년런더대학교컴퓨터학과석사. 1994년런던대학교컴퓨터학과박사. 1994년~ 2000년 LG 정보통신중앙연구소책임연구원. 2001년~현재고려대학교컴퓨터학과부교수. 관심분야는분산시스템, 모바일네트워킹, 라우팅프로토콜, 모바일핸드오버, 광대역통합망, Enhanced QoS 유혁 1982년고려대학교전자공학과학사. 1984 년서울대학교전자공학과석사. 1986년 University of Michigan 전산학석사. 1990년 University of Michigan 전산학박사. 1990년~1995년 Sun Microsystems Lab. 1995년~현재고려대학교정보통신대학컴퓨터학과교수. 관심분야는운영체제, 멀티미디어, 네트워크 김동신 2003년 2월고려대학교컴퓨터학과졸업 2003년 3월~현재고려대학교컴퓨터학 과석박사통합과정. 관심분야는 QoS provisioning, RFID system, Pervasive Computing in Wireless Sensor Networks 이찬행 2004년한신대학교정보시스템공학과학사. 2006년한신대학교대학원컴퓨터정보학과석사. 2006년~현재고려대학교컴퓨터학과박사과정. 관심분야는 802.11 LAN, 무선네트워크, 모바일애드혹네트워크, 매체접근제어기술, 라우팅프로토콜, 에너지효율성