In Internet-of-Things (IoT) environments, various IoT resources are utilized to provide the services necessary to accomplish users’ tasks. Therefore, IoT resources must be effectively and efficiently allocated so that service providers can successfully generate their service capabilities utilizing IoT resources. Additionally, conflicting resource allocation must be avoided for services supporting multiple user tasks. Furthermore, resource allocation and conflict resolution must be performed dynamically because users perform their tasks spontaneously. To address these issues, we propose an agent-based service-binding approach for efficient resource allocation and conflict resolution through negotiations among resources, service providers, and task agents. Negotiation occurs when a task agent attempts to use a service that is currently occupied by another task agent. The task agent that uses the service is determined in the negotiation process by considering the transfer fee based on the usage price of the service and the availability of a substitute service. Negotiations can occur at the task-service or service-resource levels to support flexible service binding. To evaluate the effectiveness of our approach, we compared its success rate with that of traditional resource allocation methods in terms of allocating resources and services successfully for multiple tasks. We also analyze the execution time to measure the overhead incurred by multilevel negotiation, which is an essential component of our approach. The proposed approach showed an average success rate of 79% which is 1.17%p lower than multi-objective optimization algorithms (MOOA), but the running time of the proposed approach was 98.3 seconds which was 56% of the running time of MOOA.
사물인터넷 환경에서는 다양한 IoT 자원이 활용되어 사용자의 태스크를 수행하는 데 필요한 서비스를 제공한다. 따라서 IoT 자원은 서비스 제공자가 IoT 자원을 활용하여 서비스 캐퍼빌리티를 성공적으로 생성하고 사용자에게 제공할 수 있도록 효과적이고 효율적이게 할당되어야 한다. 또한 다수의 사용자에게 서비스를 제공하기 위한 자원 할당 과정에서 발생할 수 있는 자원 할당 충돌(conflict) 상황을 피해야 한다. 사용자들의 태스크는 미리 예상할 수 없기 때문에 자원 할당 및 자원 할당 충돌 해결은 동적으로 수행되어야 한다. 이러한 문제를 해결하기 위해 우리는 자원 에이전트, 서비스 제공자 에이전트, 태스크 에이전트 간의 협상을 통한 효율적인 자원 할당 및 충돌 해결을 위한 에이전트 기반 서비스 바인딩 방법을 제안하였다. 에이전트간 협상은 태스크 에이전트가 다른 태스크 에이전트에 의해 이미 점유된 서비스를 사용하려고 할 때 발생하며, 어떤 태스크가 서비스를 사용할지에 대한 결정은 서비스의 사용 가격 및 대체 서비스의 가용성을 고려하여 협상 과정에서 결정된다. 유연한 서비스 바인딩을 지원하기 위해 태스크-서비스 간 또는 서비스-자원 간의 수준에서 협상이 이루어 질 수 있다. 제안한 접근 방법의 효과를 평가하기 위해 전통적 자원 할당 방법과 서비스 바인딩의 성공률을 비교하였으며, 서비스 바인딩에 걸리는 실행시간을 측정 및 비교하여 서비스 바인딩 과정에서 발생할 수 있는 협상 과정의 오버헤드에 대한 분석을 실시하였다. 본 연구에서 제안한 접근 방법은 다목적 최적화 방법에 기반한 서비스 바인딩 방법에 비해 약 1.17%p 낮은 평균 79%의 성공률을 보였으나, 다목적 최적화 방법 기반 서비스 방법의 실행 시간의 56%인 98.3초의 실행시간 안에 서비스 바인딩을 수행하였다.