학부연구생

현재까지 제시된 Routing protocol based on ML

Beige00 2024. 3. 11. 17:38

기존에 읽었던 IRSML에서 조금 더 나아가 새로운 Routing protocol을 제시해보기로 하였다.

 

다양한 아이디어를 교수님과 이야기 하였고, 현재까지 이야기 된 아이디어는 다음과 같다.


환경은 WMN(Adhoc Network), Centralized dynamic routing을 가정하며, SoftwareDefinedNetwork 이다.

 

1. 각 node들을 주어진 objective (아마 2개의 multiple objective를 돌려야할 것이다.)에 맞게

classification (Unsupervised learning) 해놓는다.

 

2. 1.의 단계에서 임시로 C1,C2,C3,C4의 단계로 노드가 분류되었고, C1<C2<C3<C4의 순으로 성능이 좋다고 가정한다.

이 경우, 모든 패킷들을 C4로 구성된 경로로 라우팅하여 보내는 것이 최상이라고 생각될 수 있지만, 사실은 그렇지 않다.

이렇게 모든 Adhoc node들이 전부 C4 노드로 구성된 루트만 사용하여 통신을 진행할 시, Load balance가 깨지게 되어 성능이 내려갈 여지가 다분하다는 것이다.

따라서, C1,C4는 배제하되, (C2,C3)가 적절히 조합된 루트가 최적의 루트라고 볼 수 있다.

(성능은 최대한 유지하되, Best, Worst route를 빼서 Average route를 사용하는 것이다.)

그러므로, i to j 통신을 할 경우 hop i에서 j를 향하는 가능한 모든 루트를 C2,C3 조합으로 구성시킨다. 

 

3. 2.의 결과로 i to j의 가능한 모든 노드의 조합으로 구성된 루트들이 얻어질 것이다.

이제 실제로 임시 패킷을 1 bit씩 각 루트로 전송시켜 포워딩을 할지, 하지 않을지 결정을 한다.

이때 임시 패킷을 전송시켜 얻어지는 값들을 통해 해당 루트를 사용할지 하지 않을지 학습을 할 것이다.

(Decision Tree 등이 들어갈 수 있다.)


여기서 떠오르는 고민할 점은 다음과 같다.

 

a. 1.에서 어떤 objective를 사용해야하는가?

b. 3.에서 어떤 학습법을 사용할 것인가?

 

이에 따른 현재 진행은 다음과 같다.

 

a.의 문제 해결을 위해 classification을 사용한 다른 routing protocol 관련 논문을 검색해볼 것.

b.의 경우 나는 RL을 떠올렸다. 결국 조합된 route 표에서 특정 route를 골랐을 때(action) 이에 대한 reward를 잘 정의해주면 돌아갈 것 같다고 생각했기 때문이다.

그러나 우리 연구실의 박사과정 선배님의 말에 따르면, routing 쪽에서 Q-learning은 다음 홉을 결정하는 방법으로만 사용이 되고 있다고 하셨다. 따라서 이에 관해 알아볼 것이다.

 

p.s.

교수님과 상담을 하며 추가로 나왔던 아이디어는

a. 에서 2가지의 objective가 아니더라도 충분히 사용가능하다. 따라서 주변 노드의 수, 에너지 수준(배터리 잔량) 뿐이 아니라 상관관계가 있을 것으로 판단되는 연결 지속 시간, 노드 이동성도 고려를 해보자. 

b. 학습 과정중 C4를 배제하는 것이 아닌, C4를 최대한 덜 쓰되, 각 packet의 deadline( m,k firm 등등) 에 따라 우선도를 결정하여 루트를 배정하는 우선도 개념이 들어가도 될 것 같다. 다만, 이 부분은 너무 딥해지는 경향이 있어 나의 수준을 고려했을 때, 아직은 이른 것 같다고 하셨다.