본 발명에 따른 이동 임시 네트워크에서의 서비스 탐색 방법은 서비스를 사용하려는 서비스 요청 노드에서 네트워크의 노드 전체로 서비스를 요청한다는 제1 제어 패킷을 전송하는 단계, 서비스를 제공할 수 있는 서비스 제공 노드에서 소정의 전파범위 내에 위치한 노드로 서비스를 제공한다는 제2 제어 패킷을 주기적으로 전송하는 단계 및 제1 및 제2 제어 패킷을 전송받은 전파범위 내에 위치하는 적어도 하나의 노드에서 제2 제어 패킷을 제1 제어 패킷을 전송받은 경로를 통하여 서비스 요청 노드로 전송하는 단계를 포함한다.
제1 제어 패킷의 사용 정도에 비례하여 전파범위를 조절하는 단계를 더 포함하는 것이 바람직하다.
또는 제1 제어 패킷을 전송받은 경로 중 최단경로를 통하여 서비스 요청 노드와 서비스 제공 노드 사이에 데이터를 교환하여 서비스를 사용하는 단계 및 서비스의 사용 정도에 비례하여 전파범위를 주기적으로 조절하는 단계를 더 포함하는 것이 바람직하다.
서비스의 사용 정도는 서비스를 사용하는 서비스 요청 노드의 수, 서비스 제공 노드와 서비스 요청 노드 사이의 세션 수를 포함하는 정보를 고려하여 결정하며, 전파 범위는 홉 수를 이용하여 조절하는 것이 바람직하다.
서비스 요청 노드로 제2 제어 패킷을 제1 제어 패킷을 전송받은 경로를 통하여 서비스 요청 노드로 전송하는 단계는 제2 제어 패킷을 주기적으로 전송하는 것이 바람직하다.
전파범위 내의 노드는 서비스 제공 노드로부터 경로 정보를 전송받아 서비스의 유형, 서비스 제공 노드의 ID, 인접 노드(next hop) 및 홉 카운트를 포함하는 서비스 라우팅 테이블을 작성하여, 서비스 라우팅 테이블을 참조하여 제2 제어 패킷을 서비스 요청 노드로 전송하며, 서비스 라우팅 테이블은 새로운 경로 정보를 전송받을 때마다 재작성되며, 소정 시간이 경과한 서비스 라우팅 테이블의 정보는 이용하지 않는 것이 바람직하다.
제1 제어 패킷은 서비스의 유형, 서비스 요청 노드의 ID, 노드의 ID 및 홉 카운트를 포함하며, 제1 제어 패킷의 노드의 ID 및 홉 카운트를 이용하여 제1 제어 패킷을 전송 받은 경로를 추적하며, 제2 제어 패킷은 서비스의 유형, 서비스 제공 노드의 ID, 노드의 ID 및 홉 카운트를 포함하며, 제2 제어 패킷의 노드의 ID 및 홉 카운트를 이용하여 제2 제어 패킷을 전송 받은 경로를 추적하는 것이 바람직하다.
제1 제어 패킷을 전송하는 단계는 제1 제어 패킷을 풀-베이스드(pull-based) 방식으로 전송하며, 제2 제어 패킷을 주기적으로 전송하는 단계는 제2 제어 패킷을 푸시-베이스드(push-based) 방식으로 전송하는 것이 바람직하다.
서비스 요청 노드가 속한 네트워크의 노드 중 서비스 요청 노드가 아닌 노드로서, 서비스를 사용하려는 제2 서비스 요청 노드에서 네트워크의 노드 전체로 서비스를 요청한다는 제3 제어 패킷를 전송하는 경우, 제2 제어 패킷을 전송 받은 경로상의 노드 중 제3 제어 패킷을 전송받은 중간노드에서 제2 서비스 요청 노드로 제2 제어 패킷을 전송하되, 제2 서비스 요청 노드에 가장 근접한 중간노드에서 제3 제어 패킷을 전송 받은 경로를 통하여 전송하는 단계를 더 포함하는 것이 바람직하다.
제2 서비스 요청 노드에서 제2 제어 패킷을 전송받은 경로 중 최단경로를 통하여 서비스 제공 노드와 데이터를 교환하여 서비스를 사용하는 단계를 더 포함하는 것이 바람직하다.
제2 서비스 요청 노드에 가장 근접한 중간노드에서 제3 제어 패킷을 전송 받은 경로를 통하여 제2 제어 패킷을 전송하는 단계는 서비스 요청 노드와 서비스 제공 노드 사이에 서비스를 사용하는 중에 수행되는 것이 바람직하다.
제2 서비스 요청 노드에 가장 근접한 중간노드에서 제3 제어 패킷을 전송 받은 경로를 통하여 제2 제어 패킷을 전송하는 단계는 제2 제어 패킷을 주기적으로 전송하는 것이 바람직하다.
본 발명에 따른 이동 임시 네트워크 시스템은 서비스를 요청한다는 제1 제어 패킷을 네트워크의 노드 전체로 전송하며, 서비스를 사용하려는 서비스 요청 노드, 서비스를 제공한다는 제2 제어 패킷을 소정의 전파범위 내에 위치한 노드로 주기적으로 전송하며, 서비스를 제공할 수 있는 노드 서비스 제공 노드 및 전파범위 내에 위치하며, 제1 및 제2 제어 패킷을 전송받아 서비스 요청 노드로 제2 제어 패킷을 전송하되, 제1 제어 패킷을 전송받은 경로를 통하여 전송하는 노드를 포함하며, 서비스 요청 노드에서 제2 제어 패킷을 전송받는 경우, 서비스 요청 노드는 제2 제어 패킷을 전송받은 경로 중 최단경로를 통하여 상기 서비스 제공 노드와 데이터를 교환하여 서비스를 사용하는 것이 바람직하다.
서비스 제공 노드는 서비스의 사용 정도에 비례하여 전파 범위를 주기적으로 조절하는 것이 바람직하다.
서비스 요청 노드가 속한 네트워크의 노드 중 서비스를 사용하려는 노드 제2 서비스 요청 노드에서 네트워크의 노드 전체로 서비스를 요청한다는 제3 제어 패킷을 전송하는 경우, 최단경로 및 제2 서비스 요청 노드에 가장 근접하게 위치하며, 제3 제어 패킷을 전송받은 경로를 통하여 제1 제어 패킷을 전송하는 중간 노드를 더 포함하며, 제2 서비스 요청 노드는 서비스 제공 노드와 중간 노드부터 서비스의 응답 메시지를 전송받은 경로 중 최단경로를 통하여 데이터를 교환하여 서비스를 사용하는 것이 바람직하다.
서비스 요청 노드는 제1 제어 패킷을 풀-베이스드(pull-based) 방식으로 전송하며, 서비스 제공 노드는 제2 제어 패킷을 푸시-베이스드(push-based) 방식으로 전송하는 것이 바람직하다.
이하 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
본 발명에 따른 이동 임시 네트워크의 서비스 탐색 방법은 push-based 방식과 pull based 방식을 결합한 하이브리드 방식의 서비스 탐색 프로토콜(protocol)를 제시한다. 본 발명이 적용된 네트워크 내에서는 하나 이상의 서비스 제공 노드 및 서비스 요청 노드를 포함한다.
도 1은 본 발명에 따른 서비스 탐색 방법의 일 예를 설명하기 위한 흐름도이다. 도 2는 도 1에 도시된 서비스 탐색 방법을 설명하기 위한 이동 임시 네트워크의 일 예를 도시한 도면이다. 도 1 및 도 2를 참조하여 본 발명에 따른 서비스 탐색 방법을 설명한다.
본 발명에 따른 이동 임시 네트워크 시스템은 서비스 요청 노드(200), 경계노드(311, 321, 331, 341), 서비스 제공 노드(300)를 포함한다. 도 1에서는 네트워크의 노드 전체 중 본 발명과 관련한 부분에 한정하여 도시하였다.
서비스 제공 노드(서비스를 제공할 수 있는 노드)에서 소정의 전파범위 내에 위치한 노드로 서비스 응답 메시지를 주기적으로 전송한다(S510). 서비스 요청 메시지와 서비스 응답 메시지 등을 포함하여 제어 패킷이라 한다. 서비스 응답 메시지의 일 예를 표 1에 나타내었다. 표 1에 나타낸 서비스 응답 메시지는 노드 B(312)에서 전송받은 제어 패킷의 일 예이다.
서비스 제공 노드 ID |
서비스 유형 |
노드 ID |
홉 카운트(hop count) |
sp |
프린터(printer) |
B |
2 |
표 1에서 노드 ID는 서비스 응답 메시지를 전송받은 노드, 즉 노드 B(312)를 나타내며, 홉 카운트는 노드 SP(300)까지의 노드 수가 2임을 나타낸다. 노드 C(311)에서 전송받은 제어 패킷에서는 노드 ID는 C, 홉 카운트는 1이 된다.
도 1을 참조하면, 서비스 제공 노드(300)는 서비스 응답 메시지를 소정의 전파범위 내에 위치한 노드로 주기적으로 전송하는데, 서비스는 프린터 서비스인 경우를 예로 들었다. 일반적으로 서비스 제공 노드(300)는 네트워크 프린터나 영상기, TV 등과 같은 각종 디바이스나 FTP서버, 스트리밍 서버 등의 서비스를 다른 노드들에게 제공하며, 일반 노드들에 비해 상대적으로 목적지로서의 역할이 크다. 따라서 서비스 제공 노드는 자신의 경로가 담긴 제어 패킷을 주기적으로 네트워크로 전송함으로써 서비스 요청 노드들이 쉽게 접근할 수 있도록 한다. 그러나 제어 패킷을 주기적으로 전체 네트워크로 전송하는 것은, 패킷을 Hop by Hop으로 전송하는 MANET환경의 특성상 네트워크에 상당한 오버헤드를 초래한다. 따라서, 전송되는 제어 패킷의 양을 조절할 필요가 있다. 본 발명에서는 서비스 요청 노드의 서비스 사용 정도를 기초로 제어 패킷의 전송 범위를 동적으로 조절하여 오버헤드르 최소화하고자 한다.
서비스를 사용하려는 노드(서비스 요청 노드)에서 자신이 속한 네트워크의 노드 전체로 서비스의 요청 메시지를 전송한다(S520). S510단계와 S520단계는 그 순서를 바뀌어 수행될 수 도 있다. 도 1을 참조하면, 서비스 요청 노드(200)는 서비스의 요청 메시지를 네트워크의 노드 전체로 전송한다. 서비스 요청 메시지의 일 예를 표 2에 나타내었다. 표 2에 표시된 서비스 요청 메시지는 노드 SD(200)에서 전송받은 제어 패킷의 일 예이다.
서비스 요청 노드 ID |
서비스 유형 |
노드 ID |
홉 카운트 |
SD |
프린터 |
SD |
0 |
표 2에서 노드 ID는 서비스 요청 메시지를 전송하는 노드, 즉 노드 SD(200)를 나타내며, 홉 카운트는 노드 SD(200)까지의 노드 수가 0임을 나타낸다. 노드 A(313)에서의 제어 패킷에서 노드 ID는 A, 홉 카운트는 1이 된다.
본 발명이 적용된 MANET에서, 서비스 요청 노드(200)는 pull-based 방식에 따른 서비스 탐색 동작을 수행한다. 즉, 자신이 특정 서비스를 이용할 필요가 있을 때마다 서비스의 요청 메시지를 전체 네트워크로 전송하며, 그러한 서비스를 제공하는 서비스 제공 노드(300)의 경로 정보가 담긴 서비스 응답 메시지가 전송될 때까지 기다린다. 서비스 제공 노드(300)는 push-based 방식으로 자신의 경로 정보가 담긴 서비스 응답 메시지를 주기적으로 전송한다. 이 때 서비스 제공 노드(300)는 일반적인 Broadcast 방식으로 자신이 속한 모든 이웃노드로 전파하는데, 전체 네트워크로 전송하지 않고, 소정의 전파 범위에 존재하는 노드에게만 전송한다. 서비스 제공 노드(300)는 서비스 응답 메시지를 주기적으로 전송할 때 전파 범위의 크기를 설정하는데, 초기에 1로 설정하는 것이 바람직하다. 서비스 응답 메시지에는 경로 정보가 포함된다. 전파 범위의 설정을 위해 서비스 제공 노드(300)는 홉 리미트(hop limit) 값을 조절하는데, 홉 리미트 값이 다한 서비스 응답 메시지(제어 패킷)은 더 이상 이웃 노드 재전송되지 않고 버려지게 된다. 도 1에서, 전파 범위의 크기를 1(홉 리미트를 1)로 설정한 경우에는 노드 C 내지 F(311 내지 341)에게만 전송되고, 전파 범위의 크기를 2(홉 리미트를 2)로 설정한 경우에는 노드 C 내지 F(311 내지 341)뿐만 아니라 노드 B, G(312, 342)에게도 전송된다. 전파 범위의 홉 리미트를 2로 조절하기 위해 전송되는 노드 SP(300)의 메시지(제어 패킷)의 일 예를 표 3에 나타내었다.
서비스 제공 노드 ID |
서비스 유형 |
노드 ID |
홉 카운트 |
전파 범위 |
SP |
프린터 |
SP |
0 |
2 |
표 3에서 전파 범위는 노드 수를 의미하며, 전파 범위를 서비스 제공 노드에서 2개 노드까지의 범위로 조절하는 것을 의미한다.
전파범위 내에 위치한 노드 중 전파범위를 형성하는 적어도 하나의 노드(이하 '경계노드'라 한다)에서 서비스 요청 노드로 제어 패킷을 전송한다. 경계노드가 아니더라도 전파 범위 내에 존재하는 노드에서 서비스 요청 노드로 제어 패킷을 전송할 수 있다. 이 때 전송 경로는 서비스 요청 노드로부터 서비스 요청 메시지를 전송받은 경로를 통하여 전송한다(S530). 제어 패킷을 전송할 때 주기적으로 전송할 수 있으며, 서비스 제공 노드가 전송하는 주기와 동일하게 할 수도 있다. 서비스 요청 노드로부터 서비스 요청 메시지를 전송받은 경로는 각 노드에서 라우팅 테이블을 이용하여 추적할 수 있다. 예를 들면, B노드(312)는 자신에게 서비스의 요청 메시지를 전송한 노드가 A노드(313)라는 것을 인지하고, A노드(313)는 자신에게 서비스의 요청 메시지를 전송한 노드가 SD노드(200)라는 것을 인지할 수 있다. 따라서 B노드(312)는 서비스의 요청 메시지를 전송받은 경로가 B노드(312), A노드(313), SD노드(200)라는 것을 추적하게 된다.
전파 범위의 크기를 2로 설정한 경우를 들어 설명한다. 서비스 제공 노드(300)로부터 서비스 응답 메시지를 수신한 노드 C 내지 F(311 내지 341), 노드 B, G(312, 342)는 서비스 응답 메시지를 서비스 라우팅 테이블에 저장한다. 도 1을 참조하면, 노드 B에 저장되는 서비스 라우팅 테이블의 일 예(351)가 도시되어 있다. 서비스 라우팅 테이블(351)에는 서비스 유형(service type), 서비스 제공 노드의 ID(provider ID), 이웃 노드(Next hop), 홉 카운트(hop count)가 저장된다. 서비스 유형은 프린터, 서비스 제공 노드의 ID는 서비스 제공 노드, 이웃 노드는 C, 홉 카운트는 2이 된다. 프린터 서비스를 제공하는 provider의 ID가 서비스 제공 노드인 서비스 제공 노드(300)의 경로를 추적할 때, B노드에서 서비스 응답 메시지를 C노드(312)로부터 전송받았고 서비스 제공 노드(300)까지의 홉 카운트(노드 수)는 2인 것을 알 수 있다. 새로운 경로 정보를 수신할 때마다 서비스 라우팅 테이블(351)에서 해당 정보를 갱신하게 된다. 또한 특정 시간을 초과한 경로 정보는 유용성을 보장할 수 없기 때문에 해당 값은 삭제된다. 서비스 제공 노드(300)로부터 서비스 응답 메시지를 수신한 노드 B,G(312,342)에서 서비스 요청 노드(200)로부터 서비스 요청 메시지를 수신하는 경우, 노드 B,G(312,342)는 서비스 제공 노드(300)를 대신하여 응답해 줄 수 있다. 이 경우 노드 B,G(312,342)는 서비스 요청 노드(200)의 경로 정보와 서비스 제공 노드(300)의 경로 정보를 조합하여 서비스 제공 노드(300)로의 완전한 경로 정보를 생성할 수 있다. 이러한 완전한 경로 정보를 포함하는 서비스 응답 메시지는 서비스 요청 노드(200)의 서비스 요청 메시지가 전송된 경로를 역으로 하여 전달된다. 즉, 노드 B(312)에서는 노드 A(313)를 거쳐 노드 SD(200)로, 노드 G(342)에서는 노드 I(343), 노드 H(344)를 거쳐 노드 SD(200)로 경로 정보가 포함된 서비스 응답 메시지가 전송된다. 전파범위 내에 위치하면서, 전파범위를 형성하는 노드를 경계노드라 하면, 홉 리미트 값이 1인 경우 경계 노드는 노드 C 내지 F(311 내지 341)이며, 홉 리미트 값이 2인 경우 경계 노드는 노드 B(312), 노드 G(342)이다.
서비스 응답 메시지를 전송받은 서비스 요청 노드는 서비스 응답 메시지를 전송받은 경로 중 최단경로를 통하여 서비스 제공 노드와 데이터를 교환하여 서비스를 사용한다(S540). 도2를 참조하면, 서비스 요청 노드(200)에서 서비스 응답 메시지(제어 패킷)을 전송받는 경우, 서비스 요청 노드(200)와 서비스 제공 노드(300)는 서비스 응답 메시지를 전송받은 경로 중 최단경로(노드 SD(200), 노드 A(313), 노드 B(312), 노드 C(311), 노드 SP(300))를 통하여 데이터를 교환하여 서비스를 사용한다. 예를 들어 서비스가 프린터인 경우 프린터 작업을 수행한다.
서비스 제공 노드는 서비스의 사용 정도에 비례하여 전파범위를 주기적으로 조절한다(S550). 도 2를 참조하면, 서비스 요청 노드(200)와 서비스 제공 노드(300) 사이에 서비스를 사용하는 경우, 서비스 제공 노드(300)는 서비스 사용 정도를 주기적으로 체크하여 전파 범위를 조절한다. 예를 들면, 서비스 요청 노드(200)와의 세션 수, 자신과 서비스를 사용하는 서비스 요청 노드(200)의 수 정보를 참조하여 사용 정도를 체크하여 전파범위를 조절할 수 있다. 서비스 제공 노드(300)로 접근하고 있는 서비스 요청 노드(200)의 수가 많다면 이는 현재 해당 서비스가 활발히 사용되고 있다는 의미이다. 이러한 경우에는 서비스 제공 노드(300)의 경로 정보가 주기적으로 전파되는 전파범위의 크기를 확장한다. 이는 서비스 요청 노드들이 서비스 요청 메시지를 직접 전송하는 것보다는 경로상에 있는 노드들이 서비스 제공 노드(300)에 경로 정보를 미리 갖고 있는 것이 유리하기 때문이다. 서비스 제공 노드(300)는 서비스 사용 정도(예를 들면 서비스 요청 주기)가 특정 값보다 큰 값을 가지는 경우, 서비스 응답 메지지(제어 패킷)이 전송되는 홉의 범위를 소정 단위(예를 들면 1)씩 증가시켜 전파범위의 크기를 확장함으로써, 더 많은 노드들이 자신의 경로 정보를 알려 줄 수 있다. 반대로 서비스 제공 노드(300)는 서비스 사용 정도(예를 들면 서비스 요청 주기)가 특정 값보다 작은 값을 가지는 경우, 서비스 응답 메지지(제어 패킷)이 전송되는 홉의 범위를 소정 단위(예를 들면 1)씩 감소시켜 전파범위의 크기를 축소함으로써, 제어 패킷의 전송량을 줄일 수 있다.
도 3은 본 발명에 따른 서비스 탐색 방법의 다른 예를 설명하기 위한 흐름도이다. 도 4는 도 3에 따른 서비스 탐색 방법을 설명하기 위한 이동 임시 네트워크의 다른 예를 도시한 도면이다. 도 3 및 도 4를 참조하여 본 발명에 따른 서비스 탐색 방법을 설명한다. 도 1 및 도 2에서의 설명과 중복되는 부분의 설명은 생략한다.
동일한 네트워크의 노드 중 동일한 서비스를 사용하려는 노드(이하 '제2 서비스 요청 노드'라 한다)에서 네트워크의 노드 전체로 서비스 요청 메시지인 제 3제어 패킷을 전송하는 경우가 있다. 이러한 경우 동일한 서비스를 사용하고 있는 서비스 요청 노드와 서비스 제공 노드 경로상의 노드 중 제3 제어 패킷을 전송받은 중간 노드에서 제2 서비스 요청 노드로 서비스 응답 메시지를 전송한다(S542). 서비스 응답 메시지를 전송하는 중간 노드 중 제2 서비스 요청 노드에 가장 근접한 중간 노드에서 제3 제어 패킷을 전송 받은 경로를 통하여 전송하는 것이 바람직하다. 제2 서비스 요청 노드에서는 서비스 응답 메시지를 전송받은 경로 중 최단경로를 통하여 서비스 제공 노드와 데이터를 교환하여 서비스를 사용하게 된다(S544).
도 4를 참조하면, 서비스 요청 노드(200) 외에 다른 서비스 요청 노드(220)에서 서비스 요청 메시지(제어 패킷)를 보낼 수 있다. 이러한 경우 서비스 정보의 효율적인 전달 및 End-to-End 지연를 줄이기 위해 서비스 탐색 과정에 참여하는 노들들은 서비스 제공 노드(300)의 경로 정보를 응답해 줄 수 있다. 도 3을 참조하면, 노드 B(312)에서 서비스 응답 메시지(제어 패킷)를 전송할 수 있다. 노드 C(311)에서도 서비스 응답 메시지를 전송하는 경우에는 노드 B(312)에서 전송하는 것보다 제어 패킷의 양이 증가한다. 따라서 노드 B(312)에서 전송하는 것이 바람직하다. 서비스 요청 노드(200)에서 서비스 탐색 과정을 서비스 제공 노드(300)와의 경로 정보를 획득하여 데이터 패캣이 교환되는 시점에서, 이 경로에 속한 모든 중간 노드들은 서비스 제공 노드(300)로부터의 경로 정보를 주기적으로 수신할 수 있다. 이 경우 서비스 제공 노드(300)에서 전송되는 경로 정보는 전파범위를 벗어날 수 있으며, 홉 리미트 값은 중간 노드에 의해 라우팅 테이블을 참조하여 변경될 수 있다. 또한 서비스 제공 노드(300)에서 주기적으로 전송되는 것과는 달리, 해당 메시지는 서비스 요청 노드까지의 경로 상에 Unicast 형태로 전송된다. 즉, 서비스 제공 노드(300)의 경로 정보를 수신한 노드는 자신을 경유하여 서비스를 제공받는 모든 서비스 요청 노드로의 경로 정보를 라우팅 테이블에서 검색한 뒤, 이 경로에 있는 모든 이웃 노드에게 Unicast 형태로 경로 정보를 재전송된다.
이렇게 서비스 제공 노드(300)의 경로 정보를 캐싱하고 있는 중간 노드는, 도 3의 노드 SD(220)와 같은 임의의 노드가 서비스 요청 메시지에 대하여 응답해 줄 수 있다. 따라서 서비스 요청 노드(220)로의 신속한 응답이 가능하기 때문에 서비스 요청/응답 과정의 지연을 줄일 수 있다. 또한 이를 통해 이동성이 높은 MANET 환경에서 최신의 서비스 정보 경로를 유지할 수 있다. 특히 네트워크 내 특정 영역에서의 서비스 요청이 집중될 경우 상당량의 제어 메시지의 전송 및 End-to-End 지연을 줄일 수 있다.
본 발명에 따르면, 목적지로서 접근되는 빈도가 높은 서비스 제공 노드의 경우에는 push-based 방식에 근접한 서비스 탐색 과정이 이루어진다. 이 경우 자신의 경로 정보가 전송되는 범위가 커지기 때문에, 서비스 제공 노드에 정보를 요청하지 않아도 직접 접근할 수 있는 노드의 수가 많아진다. 따라서 서비스 요청 메시지의 전송이 필요없어 서비스 제공 노드에 접근하기 위한 시간을 획기적으로 줄일 수 있다. 또한 다수의 노드가 특정 서비스 제공 노드로 한꺼번에 접근하고자 할 때, 서비스 요청 메시지가 급격하게 증가하여 전체적인 네트워크 성능을 저하시키는 종래의 pull-based 방식의 문제점을 극복할 수 있다.
반대로 목적지로서 접근되는 빈도가 낮은 서비스 제공 노드의 경우에는 pull-based 방식에 근접한 동작이 이루어진다. 즉, 서비스 제공 노드는 자신의 경로 정보가 전송되는 전파 범위를 축소해 주며, 서비스 요청 노드는 서비스 요청 메시지를 직접 전송하여 서비스 제공 노드를 탐색한다. 이 경우 자신의 경로 정보를 전체 네트워크로 전송하는 push-based 방식에 비하여 불필요한 제어 패킷을 줄일 수 있다. 따라서 본 발명을 적용한 MANET 환경에서는, 서비스 제공 노드로 빠르게 접근할 수 있을 뿐만 아니라 제어 패킷의 수를 줄임으로써 전체 네트워크 성능이 비약적으로 향상된다.
도 5a 내지 5d는 본 발명에 따른 서비스 탐색 방법, push-based 방식에 따른 서비스 탐색 방법 및 pull-based 방식에 따른 서비스 탐색 방법의 성능을 비교한 도면이다. 도 5a 내지 5d의 실험환경은 표 4과 같다.
simulator |
NS-2 |
Mac |
802.11 |
네트워크 크기 |
650 * 650 |
performance metric |
control packet overhead, end-to-end delay |
시뮬레이션 시간 |
1500초 |
사용자 요구 빈도 |
0.05, 0.10, 0.25, 0.5, 1.0 |
노드 수 |
15, 30, 50, 75 |
도 5a 및 5b의 실험조건은 표 5와 같다.
var |
lambda |
pause |
1500 |
node-num |
30 |
service_num |
1 |
advertisement period |
5sec |
도 5a 및 5b는 각각 제어 패킷의 오버헤드가 발생한 총 수 및 End-to-End delay의 평균을 비교한 도면이다. 도 5a를 참조하면, 제어 패킷의 오버헤드가 발생한 총 수는 Lamda값이 어느 범위에 있더라도 본원 발명에 따른 방법의 경우 가장 적게 발생함을 알 수 있다. 표 6는 도 5a의 값을 구체적인 값으로 표시한 것이다.
도 5b를 참조하면, End-to-End delay의 평균은 Lamda값이 어느 범위에 있더라도 본원 발명에 따른 방법의 경우가 가장 작은 것을 알 수 있다. 표 7은 도 5b의 값을 구체적인 값으로 표시한 것이다.
도 5c 및 5d의 실험조건은 표 8과 같다.
var |
node-num |
lambda |
0.1 |
pause |
1500 |
service |
1 |
advertisement |
5sec |
도 5c 및 5d는 각각 제어 패킷의 오버헤드가 발생한 총 수 및 End-to-End delay의 평균을 비교한 도면이다. 도 5c를 참조하면, 실험조건을 달리한 경우에도, 제어 패킷의 오버헤드가 발생한 총 수는 Lamda값이 어느 범위에 있더라도 본원 발명에 따른 방법의 경우 가장 적게 발생함을 알 수 있다. 표 9는 도 5c의 값을 구체적인 값으로 표시한 것이다.
도 5d를 참조하면, End-to-End delay의 평균은 Lamda값이 어느 범위에 있더라도 본원 발명에 따른 방법의 경우가 가장 작은 것을 알 수 있다. 표 10은 도 5d의 값을 구체적인 값으로 표시한 것이다.
또한 이러한 원리는 서비스 탐색과 루트 탐색(route discovery)의 두 가지 체계(scheme)가 결합된 형태로서, 서비스 탐색 뿐만 아니라 라우팅 프로토콜로서도 활동이 가능하다. 본 발명을 라우팅 프로토콜로 활용할 경우, 목적지로서 접근 빈도가 높은 목적지 노드는 접근 빈도에 따라 거리를 조절하면서 자신의 경로 정보를 주기적으로 전달할 수 있다. 이 경우 서비스 탐색으로 활용할 때와 마찬가지로 불필요한 제어 패킷의 방지와 더불어 End-to-End 지연을 줄여 네트워크 성능의 향상을 기대할 수 있다.