KR20060040117A - 서비스 충돌 감지 및 조정을 위한 장치 및 방법 - Google Patents
서비스 충돌 감지 및 조정을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20060040117A KR20060040117A KR1020040089335A KR20040089335A KR20060040117A KR 20060040117 A KR20060040117 A KR 20060040117A KR 1020040089335 A KR1020040089335 A KR 1020040089335A KR 20040089335 A KR20040089335 A KR 20040089335A KR 20060040117 A KR20060040117 A KR 20060040117A
- Authority
- KR
- South Korea
- Prior art keywords
- service
- cas
- service object
- trigger
- activated
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5022—Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
서비스 충돌 감지 및 조정을 위한 장치 및 방법을 제공한다.
본 발명의 실시예에 따른 서비스 충돌 감지 및 조정 방법은, 일정한 조건이 성취되면 활성화되어 서비스를 제공하는 2 이상의 서비스 객체간의 충돌 여부를 검출하는 단계, 서비스 객체의 활성화 상태에 따라 서비스 객체와 충돌되는 서비스 객체의 우선순위 정보를 갱신하는 단계, 우선순위 정보에 따라 상호 충돌하는 활성화된 서비스 객체 중 우선순위가 높은 서비스 객체의 서비스를 구동시키는 단계를 포함한다.
상황인지 서비스, 충돌 감지, 충돌 조정
Description
도 1은 상황인지 서비스 프레임워크(Context-Aware Service Framework)의 개요를 보여주는 도면이다.
도 2는 본 발명의 실시예에 따른 서비스의 충돌의 개념을 보여주는 도면이다.
도 3은 본 발명의 실시예에 따른 서비스의 충돌을 조정하는 개념을 보여주는 도면이다.
도 4는 본 발명의 실시예에 따른 충돌 감지 및 조정 장치의 구성을 보여주는 블록도이다.
도 5는 본 발명의 실시예에 따른 충돌 감지 과정을 보여주는 순서도이다.
도 6은 서비스 객체가 활성화 될 때 본 발명의 실시예에 따른 충돌 조정 과정을 보여주는 순서도이다.
도 7은 서비스 객체가 비활성화 될 때 본 발명의 실시예에 따른 충돌 조정 과정을 보여주는 순서도이다.
<도면의 주요 부분에 관한 부호의 설명>
400: 충돌 감지 및 조정 장치 410: 센서 관리부
411: 센서 레포지토리 420: CAS 관리부
421: CAS 레포지토리 430: 컨텍스트 관리부
431: 상황정보 레포지토리 432: 추론엔진
433: 질의 프로세서 434: 트리거 관리부
434: 트리거 레포지토리 440: 충돌 감지부
본 발명은 서비스 충돌 감지 및 조정을 위한 장치 및 방법에 관한 것으로서, 더욱 상세하게는 다수의 서비스 객체간에 서비스의 충돌이 일어날 경우 충돌이 일어나는 서비스 객체간의 우선순위 정보에 따라 서비스 객체를 활성화시킴으로써 서비스 개발자의 개입없이 서비스 객체간의 충돌을 감지하고 조정하는 장치 및 방법에 관한 것이다.
일정한 조건이 성취되면 서비스를 제공하는 다수의 서비스 객체를 지원하는 프레임워크에서 서로 모순되는 서비스 객체가 동시에 그 활성화 조건을 충족하여 서비스를 제공하게 될 수 있다. 이렇게 동시에 2 이상의 서비스가 충돌하는 경우 서비스 개발자는 서비스 객체의 충돌을 조정하기 위하여 서비스 객체의 활성화 여부를 직접 조정할 수 있다. 그러나 서비스 개발자가 서비스 객체의 충돌을 직접 조정하는 것은 다양한 서비스 환경을 충족시키지 못하고, 서비스 개발의 어려움을 초래하는 문제점을 야기시킨다. 이에 서비스 개발자의 직접적인 개입이 없이 서비 스 객체간의 충돌을 자동으로 감지하고 조정하는 장치 및 방법이 필요하게 되었다.
본 발명은 상호 충돌하는 서비스 객체를 자동으로 감지하고 조정함으로써 다양한 서비스 환경에 적응적인 충돌 감지 및 조정을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 또 다른 목적은 서비스 개발자로 하여금 서비스 객체의 충돌을 조정하는데 직접 관여하지 않을 수 있도록 함으로써 서비스의 개발을 용이하게 하는 충돌 감지 및 조정을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 서비스 충돌 감지 및 조정 방법은, 일정한 조건이 성취되면 활성화되어 서비스를 제공하는 2 이상의 서비스 객체간의 충돌 여부를 검출하는 단계, 서비스 객체의 활성화 상태에 따라 서비스 객체와 충돌되는 서비스 객체의 우선순위 정보를 갱신하는 단계, 우선순위 정보에 따라 상호 충돌하는 활성화된 서비스 객체 중 우선순위가 높은 서비스 객체의 서비스를 구동시키는 단계를 포함한다.
한편 본 발명의 실시예에 따른 서비스 충돌 감지 및 조정 장치는, 일정한 조건이 성취되면 활성화되어 서비스를 제공하는 서비스 객체를 관리하는 서비스 관리 부, 서비스 객체가 다른 서비스 객체와 충돌하는지 여부를 검출하는 충돌 감지부, 충돌 감지부에 의해 상호 충돌되는 것으로 검출된 서비스 객체의 우선순위에 관한 정보를 저장하는 서비스 객체 레포지토리, 서비스 객체 중 조건이 성취되어 활성화된 서비스 객체의 우선순위에 관한 정보를 관리하는 트리거 관리부, 및 활성화된 서비스 객체의 우선순위에 관한 정보를 저장하는 트리거 레포지토리를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예에 따른 충돌 감지 및 조정 장치는 서비스의 조건과 그 조건이 충족될 경우 제공되는 서비스 행위로 특정되는 모든 서비스 객체의 충돌을 감지하고 조정하는 장치를 포함한다. 서비스 객체간의 충돌이라 함은 동시에 수행될 수 없는2 이상의 서비스의 조건이 모두 충족되는 경우를 의미하는 것으로, 본 발명 은 이러한 충돌의 발생여부를 감지하고, 충돌이 발생한 경우 충돌이 발생된 2 이상의 서비스 객체 중 어느 객체에 의한 서비스를 수행할 것인지를 결정하게 된다. 이러한 충돌 감지 및 조정 장치는 서버에 탑재되어 서비스 객체에 해당하는 시스템간의 충돌을 조정하거나, 각 서비스 객체 시스템에 탑재되어 각 서비스 객체 시스템의 서비스 수행여부를 조정할 수 있다.
이 때 서비스의 조건과 그 조건이 충족될 경우 제공되는 서비스 행위로 특정되는 서비스 객체를 포함하는 프레임워크의 일 실시예로서 컨텍스트에 의해 서비스 여부가 결정되는 상황인지 서비스 프레임워크(Context-Aware Service Framework)를 들 수 있다. 이하 본 명세서에서는 발명의 이해를 용이하게 하기 위하여 본 발명에 따른 충돌 감지 및 조정 장치의 일 실시예로서 상황정보에 따라 서비스가 결정되는 상황인지 서비스 객체(Context-Aware Service object; 이하 CAS라 함)의 충돌 감지 및 조정 장치를 중심으로 설명하도록 한다.
상황인지 서비스 프레임워크(Context-Aware Service Framework)의 설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것으로서 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
- 컨텍스트(Context)
CAS에 의해 정의된 서비스 행위를 결정하는 정보를 의미한다. 여기서 서비스 행위를 결정하는 정보에는 서비스의 제공 시점, 서비스의 제공 여부, 서비스의 제 공 대상, 서비스의 제공 위치 등이 포함된다. 컨텍스트는 서비스 행위의 어떤 특성을 결정하는가에 따라 서비스의 제공 시점을 결정하는 컨텍스트(When-Context), 서비스의 제공 여부를 결정하는 컨텍스트(Why-Context), 서비스의 내용을 결정하는 컨텍스트(How-Context)로 구분될 수 있다. 상황인지 서비스는 When-Context가 만족되는 시점에 Why-Context가 만족되면 How-Context에 해당하는 서비스를 제공한다. 컨텍스트는 클라이언트 객체인 센서가 제공하는 상황정보(Knowledge)에 의해 검사되며, 상황인지 서비스 프레임워크가 결정한다.
- 상황정보(Knowledge)
엔티티(Entity)의 상황(Situation)을 특징지을 수 있는 모든 정보를 의미한다. 엔티티는 사용자와 응용 프로그램간의 상호작용과 관련되었다고 생각되는 사람, 장소, 또는 사물을 말하며, 사용자와 응용 프로그램 자체도 포함한다. 상황정보는 온도, 습도 등과 같이 물리적인 센서가 관측한 값에서부터, 전자우편의 도달 여부, 인터넷 정보 등과 같은 일반 정보까지 확장될 수 있다. 따라서, 모든 서비스 소프트웨어는 상황인지 서비스라고 말할 수 있다.
- 상황인지 서비스(Context-Aware Service)
서비스 객체가 정의하는 컨텍스트가 바뀜에 따라 서비스 여부와 서비스의 내용이 결정되는 서비스를 의미한다. 클라이언트에 의해 제공되는 상황정보를 근거로 판단할 때, When-Context가 만족되는 시점에 Why-Context도 만족되면 How-Contxt를 근거로 서비스를 제공하게 된다. 따라서 동작 환경이나 사용자의 취향에 따라 서비스가 요구하는 관측정보와 컨텍스트가 바뀔 수 있다. 예를 들면, "25도 이상이면 에어컨을 동작시킨다"라는 상황인지 서비스가 있을 때, "25도 이상이다"라는 컨텍스트는 사용자의 취향에 따라 "28도 이상이다" 또는 "25도 이상이고, 습도가 80% 이상이다" 등으로 다양하게 바뀔 수 있다.
도 1은 상황인지 서비스 프레임워크(Context-Aware Service Framework)의 개요를 보여주는 도면이다.
상황인지 서비스는 동작 상황을 인식하는 인식 단계, 인식된 상황정보를 이용하여 서비스 행위를 결정하는 결정 단계 및 결정된 서비스를 실행하는 서비스 단계로 구성된다. 인식 단계에서는 1 이상의 센서(110)가 클라이언트 객체로서 상황정보(131)를 관측하여 결정 단계로 제공하고, 결정 단계에서는 상황정보로 컨텍스트(132)의 만족여부를 결정한다. 서비스 단계에서는 컨텍스트의 내용에 따라 1 이상의 CAS(120)가 서버 객체로서 서비스를 제공하게 된다. 인식 단계는 다수의 CAS에 의해 공유될 수 있고, 결정 단계는 상황인지 서비스 프레임워크(Context-Aware Service Framework)에 의해 일반적인 형태로 지원될 수 있다.
상황인지 서비스 프레임워크(130)는 상황인지 서비스의 결정 단계를 지원하며, 인식 단계를 공유할 수 있도록 하는 미들웨어이다. 즉, When-Context가 만족되는 시점에 Why-Context도 만족되는 CAS로 하여금 서비스 행위를 제공할 수 있도록 알리고 CAS에 How-Context를 제공하는 상황인지 서비스를 위한 미들웨어이다. 상황인지 서비스 프레임워크에서 인식 단계는 센서(110)로, 서비스 단계는 CAS(120)로 모델링 될 수 있다.
상황인지 서비스 프레임워크(130)는 센서(110)로부터 상황정보(131)를 제공 받아 컨텍스트(132)를 결정함으로써 CAS(120)가 서비스를 제공하도록 요청한다. 따라서 센서는 객체지향 미들웨어의 클라이언트 객체이며, CAS는 서버 객체이다. 일반 객체지향 미들웨어와 달리 상황인지 서비스 프레임워크에서는 서버 객체(CAS)가 제공하는 컨텍스트를 결정함으로써 서버 객체(CAS)를 사용한다. 즉, 클라이언트 객체(센서)와 서버 객체(CAS)는 클라이언트 객체가 제공하는 상황정보(131)와 서버 객체가 요청한 컨텍스트(132)에 의해서 연결된다. 상황정보를 근거로 컨텍스트가 결정될 때, 클라이언트 객체(110)는 서버 객체(120)를 사용하는 것이다.
컨텍스트는 단순히 하나의 센서가 제공하는 상황정보에 의해 결정된다기 보다는 다수의 센서들이 제공하는 상황정보와 동작 환경에 관한 지식(동작 환경에 관한 정보, 일반상식, 사용자의 성향 등)에 의해서 결정된다. 즉, 상황인지 서비스 프레임워크(130)에서 센서와 CAS는 센서가 제공하는 상황정보와 CAS가 요구하는 컨텍스트 사이의 결정에 따르는 느슨한 연결구조를 가진다.
도 2는 본 발명의 실시예에 따른 서비스의 충돌의 개념을 보여주는 도면이다.
다음과 같은 CAS가 존재한다고 가정하자.
CAS1: "현재 온도가 30도 이상이면, 에어컨의 냉방기능을 동작시킨다."
CAS2: "거주자가 덥지 않으면, 에어컨의 냉방기능을 종료시킨다."
CAS3: "거주자가 더우면, 에어컨의 냉방기능을 동작시킨다"
CAS1의 컨텍스트는 "현재 온도가 30도 이상이다"라는 사실이며, 서비스 행위는 "에어컨의 냉방기능을 동작시킨다"이다. CAS2의 컨텍스트는 "거주자가 덥지 않 다"이며, 서비스 행위는 "에어컨의 냉방기능을 종료시킨다"이다. CAS3의 컨텍스트는 "거주자가 덥다"이며, 서비스 행위는 "에어컨의 냉방기능을 동작시킨다"이다.
CAS1과 CAS3의 경우는 서비스 행위가 동시에 존재할 수 있는 경우이므로 상호 충돌되지 않는다. 즉, 현재 온도가 30도 이상 올라갈 때도 에어컨의 냉방기능을 동작시키고(CAS1), 거주자가 더워할 때도 에어컨의 냉방기능을 동작시킨다(CAS3). CAS2와 CAS3의 경우는 서비스 행위가 충돌하지만, 컨텍스트가 동시에 발생할 수 없다. "거주자가 덥지 않다(CAS2)"와 "거주자가 덥다(CAS3)"는 동시에 존재할 수 없으므로 CAS2와 CAS3는 조정할 필요가 없다. 그러나 CAS1과 CAS2는 "현재 온도는 30도 이상이지만, 거주자가 덥지 않다"는 상황이 존재할 수 있는데, 이런 경우에 CAS1에 의해서 에어컨을 동작시킬 수도 있고, CAS2에 의해 에어컨을 종료시킬 수도 있음으로써 서비스 행위가 충돌할 수 있다.
두 개의 CAS(CAS1과 CAS2)간의 충돌은 다음의 조건이 만족될 경우로 정의될 수 있다.
조건1. CAS1의 행위 결과와 CAS2의 행위 결과가 공존할 수 없다.
조건2. CAS1의 컨텍스트와 CAS2의 컨텍스트가 공존할 수 있다.
이를 수학적으로 모델링하면 다음과 같다.
CAS X는 현재 상황 s가 컨텍스트 CX를 만족할 때, 행위 X(s)를 수행하며, 수행 결과는 AX가 된다. CAS X는 CX(정의역)에서 AX(치역)으로의 함수로 정의된다.
상기 예에서 CX는 {현재 온도가 30도 이상이다}이며, AX는 {에어컨의 냉방기능이 동작한다}이다.
이를 논리적으로 모델링하면 다음과 같다.
조건1. 두 서비스의 행위 결과의 AND는 항상 FALSE이다.
조건2. 두 서비스의 컨텍스트의 AND는 항상 FALSE인 것은 아니다.
도 2에서 CAS X는 CX를 만족하지 않는 상황(false)에서 만족하는 상황(true)이 되는 경우(210, 230)에 서비스를 제공한다. CAS Y도 CY를 만족하지 않는 상황(false)에서 만족하는 상황(true)이 되는 경우(220, 240)에 서비스를 제공한다. 여기서, 210 또는 240의 경우에는 문제가 없지만, 220의 경우처럼 CX를 만족한다는 전제하에 CY를 만족하지 않는 상황에서 만족하는 상황으로 변하는 경우에는 충돌이 발생할 수 있다. 230의 경우에도 마찬가지이다.
도 3은 본 발명의 실시예에 따른 서비스의 충돌을 조정하는 개념을 보여주는 도면이다.
본 발명의 실시예에 따른 충돌 조정 방법은 충돌이 발생되는 2 이상의 CAS에 우선 순위를 부여함으로써 충돌을 조정하는 것이다.
도 2에 도시된 예의 경우 CAS X의 우선순위가 CAS Y보다 높다면 도 3에 도시된 바와 같이 도 2의 화살표 220은 제거되고 화살표 230은 허용됨으로써 충돌이 조정될 수 있다. 즉, 우선순위가 낮은 CAS Y를 다음과 같이 수정(310)한다.
우선순위가 낮은 CAS Y의 수정된 CAS인 CAS Y+(310)는 CAS Y와 우선순위가 높은 CAS X의 부정을 동시에 만족시키는 경우 서비스 Y(s)를 수행하는 것이다. 도 2에서 상술된 예 CAS1: "현재 온도가 30도 이상이면, 에어컨의 냉방기능을 동작시킨다." 와 CAS2: "거주자가 덥지 않으면, 에어컨의 냉방기능을 종료시킨다."에서 CAS2가 우선순위가 높다면 우선순위가 낮은 CAS1을 다음과 같이 수정함으로써 충돌을 조정할 수 있다.
CAS1+ : "거주자가 덥고 현재 온도가 30도 이상이면, 에어컨의 냉방 기능을 동작시킨다"
도 4는 본 발명의 실시예에 따른 충돌 감지 및 조정 장치의 구성을 보여주는 블록도이다.
본 발명의 실시예에 따른 충돌 감지 및 조정 장치(400)는 크게 센서 관리부(410), CAS 관리부(420), 컨텍스트 관리부(430) 및 충돌 감지부(440)로 구성된다.
센서 관리부(410)는 센서에 관한 정보를 관리한다. 센서에 관한 정보는 센서 의 식별자, 센서의 상태정보, 센서의 통신방법, 또는 센서가 관측할 상황정보에 관한 정보 등을 포함한다. 센서에 관한 정보는 센서 레포지토리(Repository)(411)라는 저장소에 저장될 수 있다. 센서 관리부(410)는 새로운 센서가 추가되는 경우 센서에 관한 정보를 센서 레포지토리에 등록하고, 등록된 센서가 제거되면 그 센서에 관한 정보를 센서 레포지토리에서 삭제한다. 또한, 센서가 관측할 상황정보를 변경하거나, 센서의 이름을 설정 또는 변경하거나, 센서에 관한 정보를 제공하거나, 특정 조건에 해당하는 센서를 검색하는 역할을 수행한다.
CAS 관리부(420)는 CAS에 관한 정보, CAS와 충돌되는 다른 CAS에 관한 정보 및 CAS에 의해 정의된 컨텍스트를 관리한다. CAS에 관한 정보란 CAS의 식별자, CAS의 상태정보 또는 CAS의 통신방법에 관한 정보 등을 포함한다. CAS와 충돌되는 다른 CAS에 관한 정보는 충돌되는 CAS의 식별자, 충돌되는 CAS간의 우선순위 정보 등을 포함한다. CAS에 관한 정보 및 CAS와 충돌되는 다른 CAS에 관한 정보는 CAS 레포지토리(421)라는 저장소에 저장될 수 있다.
CAS 관리부(420)는 새로운 CAS가 추가되거나 등록된 CAS의 컨텍스트가 변경되는 경우 충돌 감지부(440)를 통하여 이미 등록되어 있는 다른 CAS들과의 충돌 여부를 감지하여 충돌되는 CAS들간의 우선순위 등의 정보를 CAS 레포지토리(421)에 저장한다. 등록된 CAS가 제거되는 경우 그에 해당하는 컨텍스트 및 CAS에 대한 정보를 삭제하고, 그와 충돌되는 다른 CAS들의 충돌 정보로부터 제거되는 CAS에 해당하는 사항을 삭제한다.
컨텍스트 관리부(430)는 센서 관리부(410)에 의해 등록된 센서에 관한 정보 에 따라 센서에 의해 관측된 상황정보를 관리하며, 상황정보가 CAS 관리부(420)에 의해 제공된 컨텍스트를 만족시키는 경우, 트리거 관리부(434)를 통하여 CAS 관리부(420)에 해당 CAS를 알린다.
컨텍스트 관리부(430)는 상황정보 레포지토리(431), 추론 엔진(Inference Engine)(432), 질의 프로세서(Query Processor)(433), 트리거 관리부(Trigger Manager)(434), 및 트리거 레포지토리(435)로 세분화될 수 있다. 상황정보 레포지토리(431)는 센서에 의해 관측된 상황정보를 저장하고, 트리거 레포지토리(435)는 활성화된 CAS에 관한 정보, 즉 CAS의 상태, CAS와 충돌되는 다른 CAS들의 우선순위 정보 및 트리거의 구동여부에 관한 정보 등을 저장한다.
컨텍스트 관리부(430)는 센서로부터 상황정보를 제공받으면 이를 상황정보 레포지토리(431)에 저장한다. 상황정보 레포지토리(431)에는 센서가 제공하는 상황정보 뿐만 아니라 동작 환경에 관한 지식도 포함된다. 따라서 동작 환경이 변화하는 경우, 상황정보 레포지토리(431)에 동작 환경에 관한 적절한 정보를 제공함으로써 변화한 동작 환경에 적응할 수 있다.
추론 엔진(432)은 상황정보 레포지토리에 저장되어 있는 상황정보가 CAS 관리부에 의해 제공된 컨텍스트를 만족시키는지 검사한다. 추론 엔진은 기존에 공개되어 있는 추론 엔진을 사용할 수 있다. 추론 엔진(432)이 컨텍스트를 검사하는 과정에서 필요한 상황정보는 질의 프로세서(433)가 상황정보 레포지토리에 질의(Query)를 던짐으로써 얻을 수 있다. 추론 엔진의 검사 결과 When-Context가 만족되는 시점에 Why-Context도 만족되면 트리거 관리부(434)가 CAS 관리부(420)에 해 당 CAS를 알린다.
트리거 관리부(434)는 CAS가 활성화될 때 트리거를 등록하고, 이미 트리거가 등록되어있는 CAS들 중 현재 활성화되는 CAS와 충돌되는 CAS의 우선순위 정보 리스트에 활성화되는 CAS를 추가한다. 트리거 관리부는 CAS가 비활성화될 때 해당 트리거를 제거하고, 비활성화되는 CAS와 충돌되는 이미 트리거가 등록되어있는 CAS들의 우선순위 정보 리스트로부터 비활성화되는 CAS를 제거한다. 이 때 트리거 정보 및 우선순위 정보 리스트는 트리거 레포지토리(435)에 저장된다.
도 4의 각 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 것으로 구현할 수도 있다. 뿐만 아니라, 상기 구성요소들은 시스템 내의 하나 또는 그 이상의 컴퓨터들을 실행시키도록 구현될 수 있다.
상술된 충돌 감지 및 조정 장치의 상세한 동작은 도 5 내지 도 7을 참조하여 설명하도록 한다.
도 5는 본 발명의 실시예에 따른 충돌 감지 과정을 보여주는 순서도이다.
새로운 CAS가 등록되거나 이미 등록된 CAS의 컨텍스트 또는 서비스가 변경되 는 경우 CAS 관리부(420)는 CAS 객체의 컨텍스트와 서비스 행위의 신규사항 및 수정사항을 CAS 레포지토리(421)에 저장(S510)한다. 충돌 감지부(440)는 등록된 모든 CAS와의 충돌여부를 검출(S520)한다. 이 때, 컨텍스트 또는 서비스가 추가되거나 변경된 CAS가 활성화 상태이면 먼저 비활성화 시킨후 S510 내지 S520 단계의 과정을 수행한다. 충돌이 검출되면 충돌 정보를 CAS 레포지토리(421)에 저장한다. 컨텍스트 또는 서비스가 추가되거나 변경된 CAS가 활성화 상태였다면 CAS를 다시 활성화 상태로 복귀시킨다.
충돌 검출 단계(S520)의 일 실시예는 다음과 같이 수행될 수 있다. 충돌 여부를 검출하는 대상 CAS의 컨텍스트 Cx와 CY 의 AND 논리식 및 서비스 행위의 치역 AX 및 AY의 AND 논리식을 CNF(Clause Normal Form)으로 변경하여 각 논리식이 항상 False인지 여부를 검사한다. AX 및 AY의 AND 논리식의 CNF 형태가 항상 False이고 Cx와 CY 의 AND 논리의 CNF 형태가 False가 아닌 경우가 존재할 수 있다면 두 CAS는 충돌이 발생하게 된다.
CAS의 충돌정보는 충돌이 발생하는 CAS들의 리스트인 충돌 CAS 리스트로 관리될 수 있는데, 충돌 CAS 리스트는 등록된 모든 CAS들에 대하여 상호간에 충돌이 발생하는 CAS들의 리스트들의 형태가 될 수도 있고, 등록된 CAS마다 별도로 그와 충돌되는 CAS의 리스트로 관리될 수도 있다. CAS 레포지토리(421)는 상호간에 충돌이 발생하는 CAS 객체의 우선순위 정보를 관리함으로써 도 6 내지 도 7에서 후술될 충돌 조정 과정을 수행할 수 있도록 한다.
도 6은 서비스 객체(CAS)가 활성화 될 때 본 발명의 실시예에 따른 충돌 조정 과정을 보여주는 순서도이다.
트리거 관리부(434)는 활성화되는 CAS의 트리거를 등록(S610)하고, 활성화되는 CAS에 대하여 우선순위에 따른 트리거 리스트를 생성(S620)한다. 트리거 관리부(434)는 모든 트리거를 검사한 후 트리거를 구동하여 적절한 CAS로 하여금 서비스를 수행하게 한다.
트리거 리스트를 생성하는 단계(S620)는 이미 활성화된 CAS 중 활성화되는 CAS보다 우선순위가 낮은 CAS(lowCAS)에 대하여 현재 활성화되는 CAS를 lowCAS의 선행 트리거(prior trigger)로 추가하고, 이미 활성화된 CAS 중 현재 활성화되는 CAS보다 우선순위가 높은 CAS(highCAS)에 대하여 현재 활성화되는 CAS를 highCAS의 후행 트리거(posterior trigger)로 추가함으로써 수행될 수 있다. 트리거 관리부(434)는 선행 트리거 리스트의 CAS의 컨텍스트의 부정을 활성화되는 CAS의 컨텍스트에 추가하고, 현재 활성화되는 CAS의 컨텍스트의 부정을 이보다 우선순위가 낮은 후행 트리거 리스트의 CAS의 컨텍스트에 추가한다.
트리거 검사 및 구동 단계(S630)는 트리거 리스트 생성 결과 트리거 레포지토리(435)에 저장되어 있는 모든 활성화된 CAS의 변형된 컨텍스트를 검사하여 컨텍스트가 만족되는 CAS의 트리거를 구동하여 해당 CAS로 하여금 서비스를 수행하게 한다.
한편 다른 실시예에서는 활성화되는 CAS보다 우선순위가 높은 활성화된 다른 CAS중 트리거가 구동된 CAS가 존재하는 경우 트리거 관리부(434)가 활성화되는 CAS 를 트리거하지 않음으로써 구현될 수 있다. 이 실시예에서 트리거 리스트를 생성하는 단계(S620)는 이미 활성화된 CAS 중 활성화되는 CAS보다 우선순위가 낮은 lowCAS에 대하여 현재 활성화되는 CAS를 lowCAS의 선행 트리거(prior trigger)로 추가하고, 이미 활성화된 CAS 중 현재 활성화되는 CAS보다 우선순위가 높은 highCAS에 대하여 현재 활성화되는 CAS를 highCAS의 후행 트리거(posterior trigger)로 추가함으로써 수행될 수 있다. 이 때 별도로 컨텍스트를 수정하는 과정은 필요없게 된다. 트리거 검사 및 구동 단계(S630)는 트리거 관리부(434)가 모든 등록된 트리거에 대해서 선행 트리거 중 구동된 것이 있는지를 검사하여 구동된 선행 트리거가 없는 트리거만을 구동하여 해당 CAS로 하여금 서비스를 수행하게 하는 단계이다. 이 단계를 의사 코드(Pseudo code)로 표현하면 다음과 같다.
For(all Trigger) {
bOldState = True
for (all prior trigger)
bOldState = bOldState & not(prior trigger.Value)
}
For(all Trigger) { /* 상황정보의 갱신으로 Trigger.Value가 변경되므로 */
Trigger.Value를 다시 계산
}
For(all Trigger) {
bNewState = True
for (all prior trigger)
bNewState = bNewState & not(prior trigger.Value)
}
if bOldState == false and bNewState == true then Trigger 구동
여기서, bOldState 및 bNewState는 현재 검사하는 트리거의 선행 트리거 중 하나라도 이미 구동이 되었다면 false 값을 갖게된다. 따라서 선행 트리거 중 하나라도 구동이 되었다가(bOldState == false) Trigger가 갱신된 후 선행 트리거가 모두 구동되지 않은 상태가 되면(bNewState == true) 해당 트리거를 구동함으로써 서비스를 제공하도록 한다.
도 7은 서비스 객체(CAS)가 비활성화 될 때 본 발명의 실시예에 따른 충돌 조정 과정을 보여주는 순서도이다.
트리거 관리부(434)는 비활성화되는 CAS의 트리거를 제거(S710)하고, 비활성화되는 CAS를 포함하는 선행 트리거 리스트 및 후행 트리거 리스트로부터 비활성화되는 CAS를 제거(S720)한다. 트리거 관리부(434)는 모든 트리거를 검사한 후 트리거를 구동하여 적절한 CAS로 하여금 서비스를 수행하게 한다.
본 발명에 따른 일 실시예에서 트리거 리스트를 수정하는 단계(S720)는 비활성화되는 CAS를 포함하는 선행 트리거 리스트 및 후행 트리거 리스트로부터 비활성화되는 CAS를 제거하고, 후행 트리거 리스트의 CAS의 컨텍스트로부터 추가되었던 비활성화되는 CAS의 컨텍스트의 부정을 제거한다.
이 경우 트리거 검사 및 구동 단계(S630)는 트리거 리스트 수정 결과 트리거 레포지토리(435)에 저장되어 있는 모든 활성화된 CAS의 변형된 컨텍스트를 검사하여 컨텍스트가 만족되는 CAS의 트리거를 구동하여 해당 CAS로 하여금 서비스를 수행하게 한다.
한편 다른 실시예에서는 트리거 리스트를 수정하는 단계(S720)는 비활성화되는 CAS를 포함하는 선행 트리거 리스트 및 후행 트리거 리스트로부터 비활성화되는 CAS를 제거함으로써 충분하고 별도로 컨텍스트를 수정하는 과정은 필요없게 된다. 트리거 검사 및 구동 단계(S630)는 트리거 관리부(434)가 모든 등록된 트리거에 대해서 선행 트리거 중 구동된 것이 있는지를 검사하여 구동된 선행 트리거가 없는 트리거만을 구동하여 해당 CAS로 하여금 서비스를 수행하게 하는 단계이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 충돌 감지 및 조정 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 상호 충돌하는 서비스 객체를 서비스 개발자의 직접적인 관여 없이 감지하고 조정함으로써 다양한 서비스 환경에 적응적인 서비스를 개발할 수 있다는 장점이 있다.
둘째, 서비스 개발자로 하여금 서비스 객체의 충돌을 조정하는데 직접 관여하지 않을 수 있도록 함으로써 서비스의 개발을 용이하게 한다는 장점도 있다.
Claims (5)
- (a) 일정한 조건이 성취되면 활성화되어 서비스를 제공하는 2 이상의 서비스 객체간의 충돌 여부를 검출하는 단계;(b) 상기 서비스 객체의 활성화 상태에 따라 상기 서비스 객체와 충돌되는 서비스 객체의 우선순위 정보를 갱신하는 단계; 및(c) 상기 우선순위 정보에 따라 상호 충돌하는 활성화된 서비스 객체 중 우선순위가 높은 서비스 객체의 서비스를 구동시키는 단계를 포함하는 서비스 충돌 감지 및 조정 방법
- 제 1항에 있어서,상기 (b) 단계는상기 서비스 객체가 활성화되는 경우 이미 활성화된 서비스 객체 중 상기 서비스 객체보다 우선순위가 낮은 서비스 객체에 대하여 상기 서비스 객체를 선행 트리거로 추가하고, 이미 활성화된 서비스 객체 중 사익 서비스 객체보다 우선순위가 높은 서비스 객체에 대하여 상기 서비스 객체를 후행 트리거로 추가하는 서비스 충돌 감지 및 조정 방법
- 제 2항에 있어서,상기 (b) 단계는상기 선행 트리거의 서비스 객체의 조건의 부정을 상기 활성화되는 서비스 객체의 조건에 추가하고, 상기 활성화되는 서비스 객체의 조건의 부정을 상기 후행 트리거의 서비스 객체의 조건에 추가하는 단계를 더 포함하는 서비스 충돌 감지 및 조정 방법
- 일정한 조건이 성취되면 활성화되어 서비스를 제공하는 서비스 객체를 관리하는 서비스 관리부;상기 서비스 객체가 다른 서비스 객체와 충돌하는지 여부를 검출하는 충돌 감지부;상기 충돌 감지부에 의해 상호 충돌되는 것으로 검출된 서비스 객체의 우선순위에 관한 정보를 저장하는 서비스 객체 레포지토리;상기 서비스 객체 중 상기 조건이 성취되어 활성화된 서비스 객체의 우선순위에 관한 정보를 관리하는 트리거 관리부; 및상기 활성화된 서비스 객체의 우선순위에 관한 정보를 저장하는 트리거 레포지토리를 포함하는 서비스 충돌 감지 및 조정 장치
- 제 4항에 있어서,상기 활성화된 서비스 객체의 우선순위에 관한 정보는이미 활성화된 서비스 객체 중 상기 서비스 객체보다 우선순위가 낮은 서비스 객체의 리스트 및 이미 활성화된 서비스 객체 중 상기 서비스 객체보다 우선순 위가 높은 서비스 객체의 리스트를 포함하는 서비스 충돌 감지 및 조정 장치
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040089335A KR100597416B1 (ko) | 2004-11-04 | 2004-11-04 | 서비스 충돌 감지 및 조정을 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040089335A KR100597416B1 (ko) | 2004-11-04 | 2004-11-04 | 서비스 충돌 감지 및 조정을 위한 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060040117A true KR20060040117A (ko) | 2006-05-10 |
KR100597416B1 KR100597416B1 (ko) | 2006-07-06 |
Family
ID=37147150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040089335A KR100597416B1 (ko) | 2004-11-04 | 2004-11-04 | 서비스 충돌 감지 및 조정을 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100597416B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100683172B1 (ko) * | 2005-02-14 | 2007-02-15 | 삼성전기주식회사 | 그룹 상황 정보 관리를 위한 추상적 서비스의 의미를 이용한 응용 프로그램간의 충돌 제어 방법 및 그 시스템 |
KR20070101621A (ko) * | 2006-04-11 | 2007-10-17 | 주식회사 케이티 | 유비쿼터스 플랫폼에서의 내부 시스템 연동 모듈 |
KR100772928B1 (ko) * | 2006-09-27 | 2007-11-02 | 한국전자통신연구원 | 상황-인식 서비스 제공 시스템 및 방법 |
KR100866207B1 (ko) * | 2007-05-15 | 2008-10-30 | 삼성전자주식회사 | 홈 네트워크 서비스 제어를 위한 멀티 에이전트 프레임 웍제공 시스템 및 방법 |
KR101104132B1 (ko) * | 2009-06-01 | 2012-01-13 | 전자부품연구원 | 협업 서비스 장치 및 협업 서비스 제공방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3670131B2 (ja) | 1998-02-27 | 2005-07-13 | 沖電気工業株式会社 | 競合制御回路 |
KR100561671B1 (ko) * | 2003-05-21 | 2006-03-15 | 에스케이 텔레콤주식회사 | 부가 서비스의 우선순위 제어가 가능한 이동통신 시스템및 부가 서비스 우선순위 제어 방법 |
US7409707B2 (en) * | 2003-06-06 | 2008-08-05 | Microsoft Corporation | Method for managing network filter based policies |
KR100593178B1 (ko) * | 2003-06-28 | 2006-06-26 | 삼성전자주식회사 | 데이터 프레임 전송방법 및 장치 |
KR100550072B1 (ko) * | 2003-08-12 | 2006-02-08 | 에스케이 텔레콤주식회사 | 이동 통신 시스템에서 착신 단말의 상태 통보 방법 |
-
2004
- 2004-11-04 KR KR1020040089335A patent/KR100597416B1/ko not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100683172B1 (ko) * | 2005-02-14 | 2007-02-15 | 삼성전기주식회사 | 그룹 상황 정보 관리를 위한 추상적 서비스의 의미를 이용한 응용 프로그램간의 충돌 제어 방법 및 그 시스템 |
KR20070101621A (ko) * | 2006-04-11 | 2007-10-17 | 주식회사 케이티 | 유비쿼터스 플랫폼에서의 내부 시스템 연동 모듈 |
KR100772928B1 (ko) * | 2006-09-27 | 2007-11-02 | 한국전자통신연구원 | 상황-인식 서비스 제공 시스템 및 방법 |
US7725532B2 (en) | 2006-09-27 | 2010-05-25 | Electronics And Telecommunications Research Institute | System and method for providing flexible context-aware service |
KR100866207B1 (ko) * | 2007-05-15 | 2008-10-30 | 삼성전자주식회사 | 홈 네트워크 서비스 제어를 위한 멀티 에이전트 프레임 웍제공 시스템 및 방법 |
KR101104132B1 (ko) * | 2009-06-01 | 2012-01-13 | 전자부품연구원 | 협업 서비스 장치 및 협업 서비스 제공방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100597416B1 (ko) | 2006-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10979288B2 (en) | Distributed rules engine for processing events associated with internet of things devices | |
JP5861228B2 (ja) | 仮想パーティションを監視するためのシステム、装置、プログラムおよび方法 | |
US9280664B2 (en) | Apparatus and method for blocking activity of malware | |
RU2625053C1 (ru) | Устранение ложных срабатываний антивирусных записей | |
US20080104587A1 (en) | Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine | |
US9355005B2 (en) | Detection apparatus and detection method | |
US10476742B1 (en) | Classification of auto scaling events impacting computing resources | |
EP2791793A1 (en) | Providing update notifications on distributed application objects | |
US8935792B1 (en) | System, method, and computer program product for conditionally performing an action based on an attribute | |
JP2019527429A (ja) | システム呼び出しのシーケンスを用いた異常検出 | |
WO2011154215A1 (en) | Anti-virus application and method | |
US11863524B2 (en) | Autotuning a virtual firewall | |
KR100597416B1 (ko) | 서비스 충돌 감지 및 조정을 위한 장치 및 방법 | |
US20230281003A1 (en) | Deployment of new versions of event consumers in an event-driven system | |
US20100205410A1 (en) | Data Processing | |
US20230205516A1 (en) | Software change analysis and automated remediation | |
JP2003029983A (ja) | 侵入監視による起動時間の短縮方法およびシステム | |
US20240127083A1 (en) | Systems and methods for knowledge-based reasoning of an autonomous system | |
US20060206855A1 (en) | System and method for conflict identification and resolution | |
US20060085365A1 (en) | System and method for dependency management | |
US8601489B2 (en) | Automated computer systems event processing | |
CN113935438B (zh) | 基于设备角色的物联网设备异常检测方法、系统及装置 | |
EP3304316A1 (en) | Cross-module behavioral validation | |
WO2023275763A1 (en) | Systems and methods for knowledge-based reasoning of an autonomous system | |
CN108920683A (zh) | 一种云计算平台下载外部资源的方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |