KR20100035037A - 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체 - Google Patents

커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체 Download PDF

Info

Publication number
KR20100035037A
KR20100035037A KR1020080094330A KR20080094330A KR20100035037A KR 20100035037 A KR20100035037 A KR 20100035037A KR 1020080094330 A KR1020080094330 A KR 1020080094330A KR 20080094330 A KR20080094330 A KR 20080094330A KR 20100035037 A KR20100035037 A KR 20100035037A
Authority
KR
South Korea
Prior art keywords
community
members
society
role
manager
Prior art date
Application number
KR1020080094330A
Other languages
English (en)
Inventor
김희수
이정태
김민구
Original Assignee
아주대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아주대학교산학협력단 filed Critical 아주대학교산학협력단
Priority to KR1020080094330A priority Critical patent/KR20100035037A/ko
Publication of KR20100035037A publication Critical patent/KR20100035037A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

커뮤니티의 동적인 멤버 구성 방법 및 모델이 개시된다. 본 발명의 일측면에 따른 커뮤니티의 멤버를 구성하는 방법은, 소사이어티에 미리 등록된 멤버 어플리케이션 장치들 중 커뮤니티의 목표를 달성하기 위해 요구되는 역할의 속성 및 행동에 상응하는 속성 및 기능을 갖는 가용 멤버를 인식하고, 가용 멤버 중 현재 상황에 적합한 멤버를 커뮤니티의 멤버로 캐스팅하는 것을 특징으로 한다. 본 발명에 따르면, 커뮤니티 컴퓨팅 방법에서 신규 멤버의 추가 및 기존 멤버의 제거 또는 변경이 있을 경우에도, 커뮤니티에 대한 별도의 수정을 요하지 않으며, 현재 상황에 따라 커뮤니티의 멤버를 동적으로 구성할 수 있는 효과가 있다.
유비쿼터스, 커뮤니티, 동적구성, 멤버, 소사이어티

Description

커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체{Method for dynamic constituting members of community and record-medium for recording method thereof}
본 발명은 유비쿼터스 컴퓨팅에 관한 것으로서, 좀 더 상세하게는 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체에 관한 것이다.
유비쿼터스 컴퓨팅(ubiquitous computing)이란 ‘어떤 사람이라도, 언제 어디서나, 각종 단말기와 사물을 통하여 온라인 네트워크에 접속을 하고 서비스를 받을 수 있는 공간 또는 환경’이라고 정의할 수 있다. 유비쿼터스 컴퓨팅이 가시화되기 위해서는 컴퓨터 또는 네트워크가 인간 생활공간의 상황을 인식하는 것이 요구된다.
유비쿼터스 컴퓨팅 분야에서는 눈에 보이지 않는 컴퓨팅(invisible computing), 어느 곳에서나 접속할 수 있는 컴퓨팅(everywhere computing), 빈틈없는 네트워크(seamless network)의 세 가지 기본 개념(concept)을 바탕으로, 이를 현실화하기 위한 기술들이 계속 개발되고 있다. 그 예로 센싱 기술, 디바이스의 소형화, RFID(Radio Frequency IDentification) 등을 들 수 있는데 이러한 기술들과 응용 서비스들은 단일 도메인 위주로 개발되고 있다.
다양하고 복잡한 기기와 서비스가 혼재하게 되는 유비쿼터스 컴퓨팅 환경에서는, 사용자의 의도를 파악하고 이를 위한 적절한 서비스를 제공하기 위해서 환경에 속해 있는 개체들을 유기적으로 결합하여 각각의 역할을 분담할 것이 요구된다. 따라서 이 때 발생하는 정보와 기기, 서비스 간의 협업 문제를 고려하여야 한다.
커뮤니티는 사전적인 의미로 인근 지역에 사는 사람들의 모임 또는 공통의 관심사를 가진 모임으로 정의되는데, 이는 실제 환경에서의 커뮤니티로부터 인터넷으로 연결되는 온라인 커뮤니티로 진화해 왔다.
이러한 커뮤니티를 유비쿼터스 컴퓨팅 환경에 접목하여 사람과 컴퓨팅 디바이스 그리고 서비스들이 유기적으로 결합하여 커뮤니티 단위로 협업하는 모델을 디자인함으로써 상기한 바와 같은 유비쿼터스 컴퓨팅 환경에서의 난제를 해결하는 노력이 이루어지고 있다.
유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업으로 제공되는 서비스를 커뮤니티로 보고 이를 유비쿼터스 컴퓨팅 환경에 접목시켜 유비쿼터스 컴퓨팅 환경이 가져오는 복잡성 및 컴퓨팅 이슈들을 풀어나가는 것을 커뮤니티 컴퓨팅이라고 정의한다.
이러한 유비쿼터스 컴퓨팅 환경에 속한 컴퓨팅 장치들 및 개체들 상호간의 자율적 협업(상호작용)에 의해 제공되는 서비스들을 체계적이고 효율적으로 관리하는 시스템이 요구된다. 커뮤니티 컴퓨팅은 유비쿼터스 컴퓨팅 환경을 다음과 같이 추상화한다. 다양한 컴퓨팅 장치들로 구성되는 유비쿼터스 컴퓨팅 환경은 소사이어 티(사회)로 추상화되고, 다양한 컴퓨팅 장치들의 협업에 의해 제공되는 서비스는 커뮤니티로 추상화된다. 마지막으로 각각의 컴퓨팅 장치들은 멤버로 추상화된다.
도 1은 종래 커뮤니티 컴퓨팅 방식의 커뮤니티 모델에서 커뮤니티가 요구하는 역할과 멤버와의 관계를 표현한 개념도이다.
도 1을 참조하면, 기존의 커뮤니티 컴퓨팅에서 커뮤니티 모델은 커뮤니티가 목표를 달성하기 위해 요구되는 역할들을 정의하고 각 역할을 수행할 수 있는 멤버들을 명시적으로 표현함으로써, 커뮤니티에 표현된 역할과 멤버의 관계를 사용하여 소사이어티 멤버를 커뮤니티 멤버로 선택할 수 있었다. 바꾸어 말하면, 내부적으로 커뮤니티가 포함하고 있는 역할들과 각 역할을 수행할 수 있는 멤버의 타입이 무엇들이 있는지에 대한 정보를 포함하고 있었다. 이것은 정적으로 각 역할을 수행할 수 있는 멤버의 타입이 커뮤니티에 미리 정의되어 있는 것을 의미한다.
이것은 유비쿼터스 컴퓨팅 환경과 같이 다양한 컴퓨팅 장치에 의해서 동적으로 구성되는 개방형 시스템에서 미리 예상된 컴퓨팅 장치들로만 커뮤니티를 구성할 수 있다는 문제점을 가지고 있다. 즉, 새로운 컴퓨팅 장치가 개발되거나 또는 시스템 구축 시에 예상하지 못한 장치가 시스템으로 유입될 때, 그 장치는 결코 커뮤니티에 참여할 수 없게 된다. 이를 해결하기 위한 방법은 커뮤니티 모델을 수정하는 것이다. 하지만, 유비쿼터스 컴퓨팅 환경에서 빈번하게 발생하는 멤버의 추가 및 삭제, 수정가 이루어질 때마다 커뮤니티 모델을 수정하고 이를 기반으로 커뮤니티를 만들어 설치하는 것은 거의 불가능하다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 새로운 멤버의 추가에도 커뮤니티 모델과 커뮤니티를 수정하지 않아도 되도록 모델 수준에서 멤버와 커뮤니티를 엄격하게 분리함으로써, 소사이어티에 포함되어 있는 멤버들을 이용하여 동적으로 커뮤니티의 멤버를 구성할 수 있는 방법 및 그 방법을 실행하기 위한 기록매체를 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
본 발명의 일측면에 따르면, 커뮤니티의 멤버를 구성하는 방법에 있어서, 소사이어티에 미리 등록된 멤버 어플리케이션 장치들 중 커뮤니티의 목표를 달성하기 위해 요구되는 역할의 속성 및 행동에 상응하는 속성 및 기능을 갖는 가용 멤버를 인식하고, 상기 가용 멤버 중 현재 상황에 적합한 멤버를 상기 커뮤니티의 멤버로 캐스팅하는 것을 특징으로 하는 동적 커뮤니티 멤버 구성 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
여기서, 상기 가용 멤버에 따른 멤버 어플리케이션 장치로 상황 정보(castCondition)를 전송하고, 자신의 상태가 상기 상황 정보에 만족함에 따라 상기 커뮤니티에 참여를 결정하여 응답한 멤버 어플리케이션 장치 중에서 캐스팅할 멤버를 결정할 수 있다.
또한, 상기 커뮤니티의 멤버로 결정된 멤버 어플리케이션 장치에게 역할로써 수행해야 하는 협업 계획을 전송할 수 있다.
또한, 상기 멤버 어플리케이션 장치의 속성 및 기능은 상기 역할의 속성 및 행동 보다 하위 개념일 수 있다.
그리고, 커뮤니티 매니저가 커뮤니티의 멤버를 구성하는 방법에 있어서, 커뮤니티의 목표를 달성하기 위해 요구되는 역할의 속성 및 행동에 대한 커뮤니티 정보를 소사이어티 매니저로 전송하는 단계; 상기 소사이어티 매니저에 미리 등록된 멤버 어플리케이션 장치들 중 상기 커뮤니티 정보에 상응하는 속성 및 기능을 갖는 하나 이상의 멤버 어플리케이션 장치에 따른 가용 멤버 정보를 상기 소사이어티 매니저로부터 수신하는 단계; 및 상기 가용 멤버 정보에 따른 멤버 어플리케이션 장치들 중 현재 상황에 적합한 멤버를 상기 커뮤니티의 멤버로 캐스팅하는 단계를 포함하는 동적 커뮤니티 멤버 구성 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
본 발명에 따르면, 시스템 내 신규 컴퓨팅 장치의 추가 및 기존 컴퓨팅 장치의 제거에 따른 커뮤니티의 수정을 요하지 않으며, 현재 상황에 따라 커뮤니티의 멤버(컴퓨팅 장치)를 동적으로 구성할 수 있는 효과가 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 2는 본 발명의 일 실시예에 따른 커뮤니티 컴퓨팅의 개략적인 진행 과정을 도시한 흐름도이다.
도 2를 참조하면, 소사이어티에 참여하기 위해 각 멤버(즉, 어플리케이션 장치)들은 소사이어티에 멤버로서 등록해야 한다(s210). 멤버 등록 시, 각 멤버 장치들은 자신이 수행 가능한 능력에 대한 정보로서 속성(attribute) 및 기능(action)에 대한 정보를 커뮤니티 시스템에 제공한다.
이후, 커뮤니티가 생성되면(s220), 커뮤니티를 담당하는 장치가 커뮤니티의 수행을 위해 상기한 등록된 멤버들 중 현 상황 및 역할에 따른 멤버를 모집(casting)한다.
즉, 해당 커뮤니티가 요구하는 역할에 따른 속성(attribute) 및 행동(behavior)에 상응하는 속성 및 기능을 가진 커뮤니티에 가용한 멤버를 인식하고(s230), 해당 멤버 중 현재 상황에 적합한 멤버를 선택하여(s240) 커뮤니티의 멤버로 캐스팅한다(s250).
커뮤니티의 각 역할에 멤버의 구성이 정적으로 이루어진 종래와는 달리, 본 실시예에 따르면 커뮤니티의 생성시에 동적으로 역할에 상응하는 멤버를 구성함으로써, 시스템 내 신규 멤버 장치의 추가 및 기존 멤버 장치의 제거에 따른 커뮤니티의 수정을 요하지 않는 효과가 있다.
이하, 상기한 바와 같이 현재 요구되는 역할에 상응하는 멤버를 동적으로 구성하는 본 발명에 따른 커뮤니티 멤버 구성 방법에 대해 더욱 상세하게 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 커뮤니티 컴퓨팅 모델과 그것을 실현하는 시스템을 개략적으로 나타낸 구성도이다.
도 3을 참조하면, 본 실시예에 따른 커뮤니티 컴퓨팅 모델은 시스템 개발 및 유지보수 시에 작성, 변경되며, 온톨로지(30)와 소사이어티 모델(10), 멤버 모델(70-1, 70-2,…,70-n), 커뮤니티 모델(50-1, 50-2,…,50-n)로 이루어진다. 상기 커뮤니티 컴퓨팅 모델을 기반으로 실현된 시스템은 일 예로 온톨로지 저장소(40)와 소사이어티 매니저(20), 커뮤니티 매니저(60-1, 60-2,…,60-n) 및 멤버 장치(80-1, 80-2,…,80-n)를 포함한다. 물론, 이는 하나의 실시예에 불과하며, 상기한 소사이어티 매니저(20) 및 커뮤니티 매니저(60)는 하나의 장치(예를 들어, 메인 홈서버 등)로 구현될 수도 있다. 즉, 하나의 장치가 상기한 소사이어티 모델(10) 및 커뮤니티 모델(50)의 기능을 수행할 수 있으며, 이 경우 소사이어티 모델(10) 및 커뮤니티 모델(50)은 프로그램과 같은 소프트웨어로 구현되어 하나의 장치에 의해 구동될 수 있다.
각 구성요소들의 기능을 간략히 소개하자면, 소사이어티 모델(10)은 개발하고자 하는 유비쿼터스 컴퓨팅 시스템의 표현 모델이며, 소사이어티를 개발하기 위한 설계를 의미한다. 커뮤니티 모델(50-1, 50-2,…,50-n)은 유비쿼터스 컴퓨팅 시스템에서 다양한 컴퓨팅 장치의 협업을 통해 제공되는 하나의 서비스를 표현한다. 멤버 모델(70-1, 70-2,…,70-n)은 유비쿼터스 컴퓨팅 시스템을 구성하는 컴퓨팅 장치들을 나타낸다. 온톨로지(30)는 커뮤니티가 그것의 목적을 달성하기 위해 요구하는 역할의 속성(역할을 수행하는 대상, 즉 멤버가 제공해야 하는 정보)와 역할의 행동, 그리고 소사이어티에 참여할 수 있는 멤버의 속성과 멤버의 행동을 개념적으로 표현한다.
커뮤니티 컴퓨팅 모델의 실현 시스템을 설명하자면, 온톨로지 저장소(40)는 시스템 설계 시에 작성된 온톨로지를 저장하는 기능을 수행한다. 소사이어티 매니저(20)는 멤버 장치(80)의 출입을 관리하고 커뮤니티(50)의 생성(활성화)을 지원하는 기능을 수행한다.
커뮤니티 매니저(60)는 사용자에게 협업 서비스를 제공하기 위해 필요한 역할들을 정의하고 있으며, 각 역할을 수행할 수 있는 소사이어티에 참여하고 있는 멤버들을 통해 실질적인 서비스를 제공한다. 본 실시예에 따른 커뮤니티 매니저(60)는 특정 기능을 위한 멤버들을 캐스팅하여 각 멤버들이 현 상황에 따른 각각의 기능을 실행하도록 하여 전체적인 커뮤니티의 기능을 제어한다.
멤버 장치(80)는 컴퓨팅 장치들로서 환경에 대한 물리적 또는 논리적 행동을 하는 기능을 제공한다. 홈 네트워크를 예로 들면, 온도센서, 습도센서, 난방기, TV 등이 멤버 장치(80)일 수 있다.
온톨로지 저장소(40, Ontology Repository)는 커뮤니티 컴퓨팅 시스템에 대한 배경 지식(멤버가 제공하는 정보 및 기능, 역할이 요구하는 정보 및 기능)을 저장하고, 필요 시 소사이어티 매니저(20)에게 해당 정보를 제공한다. 온톨로지 저장소(40)는 인터넷 등의 통신망을 통해 소사이어티 매니저(20)에 연결될 수 있으며, 예를 들어 임의의 서버에 데이터베이스화되어 구현될 수 있다.
도 4 내지 도 6은 본 발명의 실시예에 따른 각 모델의 메타모델을 도시한 블록도이다.
소사이어티 모델을 표현하기 위한 메타모델을 도시한 도 4를 참조하면, 소사이어티 모델은 개발되는 소사이어티의 이름과 상기 소사이어티가 제공할 수 있는 서비스를 의미하는 커뮤니티의 이름에 의해서 표현된다.
도 5는 커뮤니티 모델(50-1, 50-2,…,50-n)을 표현하기 위한 메타모델이다. 도 5를 참조하면, 커뮤니티 모델은 개발되는 커뮤니티의 목적을 달성하기 위해 요구되는 역할(Role)들과 커뮤니티의 상황(Situation), 커뮤니티의 상황에 따른 역할들의 행동을 나타내는 상황행동(SituationalBehavior)를 포함한다. 역할(Role)은 커뮤니티의 상황(Situation)을 구성하는 정보로 사용되는 속성(RAttribute)과 역할이 제공해야 하는 기능을 나타내는 행동(Behavior), 역할을 멤버에게 할당하기 위한 조건(castCondition)으로 표현된다. 커뮤니티의 상황(Situation)은 역할의 속성(RAttribute)으로 표현된다. 마지막으로, 상황행동(SituationalBehavior)은 커뮤니티의 상황(Situation)과 역할(Role)의 행동(Behavior)으로 표현되며, 이는 특정 커뮤니티의 상황이 발생할 경우, 각 역할이 수행해야 하는 행동을 의미한다.
도 6은 멤버 모델(70-1, 70-2,…,70-n)을 표현하기 위한 메타모델이다. 도 6을 참조하면, 멤버 모델은 개발되는 멤버 장치를 표현하기 위해, 멤버가 제공할 수 있는 정보를 나타내는 속성(MAttribute)과 멤버가 제공할 수 있는 기능(Action)을 포함한다. 멤버 모델에 포함된 속성(MAttribute)과 기능(Action)은 커뮤니티가 생성될 때, 커뮤니티에 포함된 역할의 속성(RAttribute)과 행동(Behavior)과 각각 대응됨으로써, 커뮤니티에 참여할 수 있는 가능성을 가지게 된다.
도 7은 본 발명의 일 실시예에 따른 커뮤니티 컴퓨팅 모델의 메타모델의 구성을 도시한 테이블이다.
이하, 전체 시스템에서의 커뮤니티 컴퓨팅 과정에 따른 멤버 구성 과정을 설명하기로 한다.
도 8은 본 발명의 일 실시예에 따른 도 3에 도시된 커뮤니티 컴퓨팅 시스템에서의 커뮤니티 컴퓨팅 과정을 개략적으로 나타낸 흐름도이다.
도면을 참조하기에 앞서, 본 실시예에 따른 커뮤니티 컴퓨팅 시스템이 동작하는 과정은 소사이어티와 커뮤니티의 레벨에서 정의된다. 소사이어티 레벨의 동작은 소사이어티 멤버의 등록과, 멤버와 커뮤니티의 커뮤니티 생성요청 및 소사이어티의 커뮤니티 생성의 세 가지 과정으로 구분될 수 있다. 커뮤니티 레벨에서의 동작은 커뮤니티 매니저(60)의 멤버 캐스팅과, 커뮤니티 매니저(60)의 상황인식, 커뮤니티 상황에 따른 멤버의 역할 수행 및 커뮤니티 매니저(60)의 종료(즉, 커뮤니티 매니저(60)의 비활성화)와 같이 네 가지 과정으로 이루어진다.
이에 따른 커뮤니티 컴퓨팅 과정을 도시한 도 8을 참조하면, 멤버 장치(80)는 소사이어티 매니저(20)에 등록을 요청한다(s310). 멤버 장치(80)가 커뮤니티 컴퓨팅 시스템으로 들어오게 되면(소사이어티에 참여를 의미), 멤버 장치(80)는 자신의 식별자 및 능력(Capability)과 관련된 정보를 소사이어티 매니저(20)에 알림으로써 등록이 이루어진다. 이때 멤버 장치(80)의 능력은 그것이 수행할 수 있는 기능(Action)과 제공할 수 있는 정보인 속성(MAttribute)으로 표현된다. 이 과정을 통해 시스템은 동적으로 구성된다. 멤버 장치(80)는 등록 요청 시, 자신의 아이디와 속성 및 기능에 대한 정보를 소사이어티 매니저(20)로 제공한다. 여기서, 멤버 장치(80)의 속성 및 기능은 하나 이상일 수 있음은 당연하다.
소사이어티 매니저(20)는 등록을 요청한 멤버 장치(80)의 아이디, 속성 및 기능 정보를 저장함으로써, 멤버의 등록을 처리한다(s315).
상기한 s310 및 s315의 과정을 거쳐 소사이어티에 참여하는 모든 멤버 장치(80)의 등록 과정이 수행된다.
차후, 소사이어티 매니저(20), 임의의 커뮤니티 매니저(60) 또는 임의의 멤버 장치(80) 중 어느 하나로부터의 요청에 따라 커뮤니티가 생성된다(s320). 소사이어티를 구성하는 커뮤니티와 멤버는 새로운 커뮤니티를 생성할 수 있으며, 이를 위해 소사이어티 매니저(20)에게 새로운 커뮤니티의 생성(즉, 해당 커뮤니티를 실행하는 커뮤니티 매니저(60)의 활성화)을 요청할 수 있다. 또한, 소사이어티 매니저(20)는 그것의 운영을 위해 필요한 커뮤니티를 기본 커뮤니티로 설정함으로써, 커뮤니티 매니저(60)의 생성 요청을 대신할 수 있다.
이때 도면에 도시된 바와 같이, 소사이어티 매니저(20)는 커뮤니티의 생성을 요청한 자에 대한 식별정보(requestor ID)를 생성된 커뮤니티 매니저(60)에 제공할 수 있다. 이는 커뮤니티가 목표를 달성했는지의 여부를 상기 요청한 자에게 알려주기 위함이다.
활성화된 커뮤니티 매니저(60)는 해당 커뮤니티를 수행하기 위해 필요한 멤버를 구성하기 위해 소사이어티(60)로 커뮤니티에 참여할 수 있는 멤버 장치(80)에 대한 정보를 요청한다(s330). 여기서, 커뮤니티 매니저(60)는 그것의 커뮤니티 모델에 정의된 역할에 상응하는 속성(RAttribute) 및 행동(Behavior)에 대한 정보를 소사이어티 매니저(20)로 제공한다. 여기서, 멤버의 속성/기능은 커뮤니티가 요구하는 속성/행동에 비해 하위 개념을 가지며, 이에 대한 설명은 관련 도면(도 10)을 참조하여 상세히 후술하기로 한다.
소사이어티 매니저(20)는 커뮤니티 매니저(60)로부터 요청된 속성/행동에 적합한 속성/기능을 가진 멤버를 검색하여 그 가용 멤버를 인식하고(s335), 가용 멤버에 대한 정보를 커뮤니티 매니저(60)로 전송한다(s340).
커뮤니티 매니저(60)는 수신된 가용 멤버 중 커뮤니티를 수행할 멤버를 선택하고(s345, 물론 복수의 멤버를 선택할 수도 있음), 해당 멤버 장치(80)로 역할(Role)을 통보하며, 이 때 커뮤니티 상황에 따라 상기 역할이 수행해야 할 일이 전달된다(s350).
멤버 장치(80)가 해당 역할에 상응하는 기능을 수행(s355)함으로써, 커뮤니티의 상황이 변하게 되며, 커뮤니티 매니저(60)는 목표로 하는 상황이 발생하면 커 뮤니티를 종료한다(s360). 도면에 도시되지는 않았으나, 커뮤니티 매니저(60)가 종료되면, 해당 커뮤니티의 생성을 요청한 요청자(repuester)에게 커뮤니티의 종료를 알릴 수 있다. 물론, 요청자에게 커뮤니티의 종료를 먼저 알려진 후, 커뮤니티가 종료될 수도 있음은 당연하다.
여기서, 커뮤니티 매니저(60)와 멤버 장치(80)에 의한 커뮤니티 실행과정을 간략히 설명하자면, 커뮤니티 매니저(60)는 실행하고자 하는 커뮤니티가 목표로 하는 상황이 발생될 때까지, 현 상황에 맞는 멤버 장치(80)들이 각 역할에 따른 기능을 실행하도록 각 멤버들과 통신한다. 각 멤버들이 커뮤니티의 상황(situation)과 특정한 커뮤니티의 상황에서 멤버 자신이 해야 할 행동(action)들은 역할 통보(s350) 과정에서 전송된다. 멤버들에 의해 감지된 감지 정보를 기초로 커뮤니티의 상황이 결정되면, 결정된 커뮤니티의 상황에 대해 멤버들 자신이 알고 있는 행동들을 수행함으로써 커뮤니티의 목표가 달성된다.
즉, 커뮤니티의 멤버들은 그들이 수행하는 역할에서 요구하는 정보를 커뮤니티 매니저(60)에게 전송하고, 커뮤니티 매니저(60)는 이 정보를 바탕으로 커뮤니티의 상황을 판단한다. 그리고, 커뮤니티의 상황이 멤버들에게 전달되고, 각 멤버는 이 정보를 기반으로 자신이 수행하고 있는 역할에 따른 행동을 결정하고 수행하게 된다. 이렇게 수행되는 역할에 따른 행동은 다시 커뮤니티의 상황 변화를 유도한다.
이하, 상기한 커뮤니티 매니저(60)가 소사이어티의 멤버를 자신의 멤버로 구성하는 방법에 대해 상세히 설명하기로 한다.
도 9는 본 발명의 일 실시예에 따른 커뮤니티 멤버를 구성하는 과정을 도시한 흐름도이다.
도 9를 참조하면, 먼저 커뮤니티가 생성되면(즉, 해당 커뮤니티를 관장하는 커뮤니티 매니저가 활성화됨을 의미), 해당 커뮤니티 매니저(60)는 자신의 커뮤니티 모델에 정의된 역할을 수행할 멤버를 찾기 위해 소사이어티 매니저(20)에게 커뮤니티 모델에서 정의한 역할(Role)의 속성(RAttribute(s))과 행동(Behavior(s))에 대한 정보를 전송한다(s610). 이 시점에서 소사이어티 매니저(20)는 도 8에 도시된 바와 같이 ‘소사이어티 멤버의 등록 과정’을 통해 이미 현재 참여하고 있는 멤버들에 대한 정보를 가지고 있다.
소사이어티가 멤버 검색에 대한 요청을 수신하면, 상기한 바와 같은 역할과 멤버의 대응 방법을 통해 역할을 수행할 수 있는 속성(MAttribute) 및 기능(Action)을 가진 멤버를 검색하고(s620), 수행 가능한 멤버(즉, 상기한 바와 같은 가용 멤버)의 목록을 포함한 응답을 커뮤니티 매니저(60)에게 전송한다(s630).
여기서, 커뮤니티의 역할과 멤버의 대응 방법은 커뮤니티에 정의된 역할과 그것을 수행하는 멤버의 개념적 관계로부터 정의된다. 커뮤니티 컴퓨팅 모델에서 역할은 커뮤니티에 참여하는 멤버가 제공해야 하는 정보와 기능들의 집합을 의미하는 논리적 개체로 정의되며, 커뮤니티가 멤버를 구성하여 동작하게 될 때, 실재 멤버에 의해서 제공된다. 역할과 멤버와의 관계는 객체지향 프로그래밍에서의 상속 관계와 유사하다. 하지만, 이 관계를 단순히 상속 관계로 정의하는 것은 멤버를 커뮤니티에 종속적이게 한다. 즉 멤버가 역할을 수행하기 위해서는 멤버의 정보와 기 능이 커뮤니티에 정의된 역할의 그것과 일치하여야 한다. 하지만, 유비쿼터스 컴퓨팅 시스템과 같은 개방형 시스템에서 멤버들은 독립적으로 개발되기 때문에, 멤버의 개발자들에게 이러한 종속성을 강요하기 어렵다.
본 발명에 따른 멤버와 커뮤니티의 독립성을 보장하기 위한 방법으로, 멤버와 역할의 관계를 커뮤니티 컴퓨팅 모델에서 그들을 구성하는 정보(Member의 MAttribute와 Role의 RAttribute)와 기능(Member의 Action과 Role의 Behavior)의 관계로 정의하며 이를 위하여 OWL과 같은 온톨로지를 한다. 즉, 멤버가 커뮤니티에 정의된 역할을 수행하기 위해서는 멤버가 제공하는 정보가 역할이 요구하는 정보의 하위 개념이어야 하며, 멤버가 제공하는 정보는 역할에 정의된 모든 정보를 포함할 수 있어야 한다.
멤버와 역할의 기능 측면에서는 그것들의 정보가 형성하는 관계보다 더 복잡한 양상을 보인다. 멤버가 제공하는 기능(Action)의 단위는 역할이 요구하는 기능 (Behavior)의 단위보다 상대적으로 작을 수 있으며, 멤버의 기능을 작게 쪼개서 정의하는 것은 다양한 기능의 조합을 통해 멤버의 재사용성을 늘리는 좋은 방법이 될 수 있다. 반면에, 이 둘의 단위를 동일하게 정의하여 단순히 상속 관계로 명시하는 것은 앞서 설명한 멤버와 역할의 관계를 상속 관계로 정의하는 것과 동일한 문제를 발생시킨다. 멤버의 기능과 역할의 기능을 정의하기 위해서 SOA(Service-Oriented Architecture)의 원리 중에서 서비스 추상화와 서비스 조합의 개념이 사용될 수 있다. 즉, 멤버에 정의된 기능들의 다양한 조합으로 역할이 요구하는 기능을 수행할 수 있으면, 역할이 멤버에게 할당될 수 있다. 하기의 표 1은 이와 같은 가정하에 멤버에게 역할을 할당하기 위한 조건을 보여준다. 소사이어티 매니저(10)는 이 조건 검사를 통해 커뮤니티가 요구하는 역할을 수행할 수 있는 멤버를 검색한다.
Figure 112008067547630-PAT00001
도 10은 멤버의 속성(MAttribute)과 기능(Action), 역할의 속성(RAttribute)과 행동(Behavior)을 나타내는 개념(Concept)과 개념들 사이의 관계가 온톨로지 저장소에 저장된 모습을 보여준다. 온톨로지 저장소에 저장되는 개념들은 도 3에서 커뮤니티 모델과 멤버 모델을 정의하는 시스템 설계 시에 정의된다.
멤버의 속성(MAttribute)과 기능(Action), 역할의 속성(RAttribute)과 행동(Behavior) 사이에 정의되는 일예가 도 10에 도시되어 있다. 도 10을 참조하면, 속성 A는 속성 A' 와 A" 상위 개념이다. 이 예에서 역할이 속성 A를 가지고 있을 때, 속성 A' 또는 속성 A" 를 가지고 있는 멤버들은 그 역할을 수행할 수 있다. 또한, 도 9는 행동 B가 행동 B' 의 상위 개념이고, B' 는 다시 기능 B1과 기능 B2로 구성될 수 있음을 보여준다. 앞서 설명한 속성의 비교와 마찬가지로, 역할이 행동 B를 가지고 있고, 어떤 멤버가 기능 B1과 B2를 가지고 있다면, 이 멤버는 상기 역할을 수행할 수 있다. 결과적으로, 멤버는 역할에 정의된 속성과 행동을 모두 만족할 수 있을 때, 그 역할을 수행할 수 있다.
다시 도 9를 참조하면, 커뮤니티 매니저(60)는 캐스팅할 멤버들을 선택하기 위한 과정으로 그 역할의 상황 정보인 캐스트컨디션(castCondition)을 상기한 응답에 포함된 목록에 따른 멤버 장치(80)들에게 전송한다(s640).
이 메시지를 수신한 멤버들은 상황 정보(castCondition)와 자신의 상태를 비교하고(s650), 만일 만족할 경우 커뮤니티에 참여여부를 결정하여 요청한 커뮤니티 매니저(60)에게 알린다(s660).
커뮤니티 매니저(60)는 최종적으로 참여 여부를 밝힌 멤버들 중에서 캐스팅할 멤버를 결정하고(s670), 결정된 멤버에게 역할로써 수행해야 하는 협업 계획을 전송한다(s680). 여기서, 캐스팅할 멤버를 결정하는 방법으로는, 참여 의사를 밝힌 멤버들 중 가장 빠른 응답을 보낸 멤버 장치(80)를 선택하는 방법, 또는 가장 빠른 시간에 해당 역할을 수행할 수 있는 멤버 장치(80)를 선택하는 방법이 이용될 수 있다. 물론, 상기한 방법 이외에도, 커뮤니티에 따라 필요한 멤버의 수, 역할을 수행하기 위해 필요한 실행 시간, 현재 상황 등 여러 가지 항목에 따라 커뮤니티의 멤버가 선택될 수 있음은 당업자에게는 자명할 것이다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
본 발명은 상기한 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
도 1은 종래 커뮤니티 컴퓨팅 방식의 커뮤니티를 표현한 개념도.
도 2는 본 발명의 일 실시예에 따른 커뮤니티 컴퓨팅의 개략적인 진행 과정을 도시한 흐름도.
도 3는 본 발명의 일 실시예에 따른 커뮤니티 컴퓨팅 모델과 실현 시스템을 개략적으로 나타낸 구성도.
도 4 내지 도 6는 본 발명의 실시예에 따른 소사이어티, 커뮤니티 및 멤버 모델의 메타 모델을 도시한 블록도.
도 7는 본 발명의 일 실시예에 따른 커뮤니티 컴퓨팅 메타 모델의 구성요소를 도시한 테이블.
도 8은 본 발명의 일 실시예에 따른 도 3에 도시된 커뮤니티 컴퓨팅 시스템에서의 커뮤니티 컴퓨팅 과정을 개략적으로 나타낸 흐름도.
도 9는 본 발명의 일 실시예에 따른 커뮤니티 멤버를 구성하는 과정을 도시한 흐름도.
도 10은 본 발명의 일 실시예에 따른 온톨로지 저장소의 개념도.

Claims (6)

  1. 커뮤니티의 멤버를 구성하는 방법에 있어서,
    소사이어티에 미리 등록된 멤버 어플리케이션 장치들 중 커뮤니티의 목표를 달성하기 위해 요구되는 역할의 속성 및 행동에 상응하는 속성 및 기능을 갖는 가용 멤버를 인식하고, 상기 가용 멤버 중 현재 상황에 적합한 멤버를 상기 커뮤니티의 멤버로 캐스팅하는 것을 특징으로 하는 동적 커뮤니티 멤버 구성 방법.
  2. 제 1항에 있어서,
    상기 가용 멤버에 따른 멤버 어플리케이션 장치로 상황 정보(castCondition)를 전송하고, 자신의 상태가 상기 상황 정보에 만족함에 따라 상기 커뮤니티에 참여를 결정하여 응답한 멤버 어플리케이션 장치 중에서 캐스팅할 멤버를 결정하는 것을 특징으로 하는 동적 커뮤니티 멤버 구성 방법.
  3. 제 2항에 있어서,
    상기 커뮤니티의 멤버로 결정된 멤버 어플리케이션 장치에게 역할로써 수행해야 하는 협업 계획을 전송하는 것을 특징으로 하는 동적 커뮤니티 멤버 구성 방법.
  4. 제 1항에 있어서,
    상기 멤버 어플리케이션 장치의 속성 및 기능은 상기 역할의 속성 및 행동 보다 하위 개념인 것을 특징으로 하는 동적 커뮤니티 멤버 구성 방법.
  5. 커뮤니티 매니저가 커뮤니티의 멤버를 구성하는 방법에 있어서,
    커뮤니티의 목표를 달성하기 위해 요구되는 역할의 속성 및 행동에 대한 커뮤니티 정보를 소사이어티 매니저로 전송하는 단계;
    상기 소사이어티 매니저에 미리 등록된 멤버 어플리케이션 장치들 중 상기 커뮤니티 정보에 상응하는 속성 및 기능을 갖는 하나 이상의 멤버 어플리케이션 장치에 따른 가용 멤버 정보를 상기 소사이어티 매니저로부터 수신하는 단계; 및
    상기 가용 멤버 정보에 따른 멤버 어플리케이션 장치들 중 현재 상황에 적합한 멤버를 상기 커뮤니티의 멤버로 캐스팅하는 단계를 포함하는 동적 커뮤니티 멤버 구성 방법.
  6. 제1항 내지 5항 중 어느 한 항의 방법을 수행하기 위한 명령어들의 조합이 유형적으로 구현되어 있으며 디지털 정보 처리 장치에 의해 판독 가능한 프로그램이 기록된 기록 매체.
KR1020080094330A 2008-09-25 2008-09-25 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체 KR20100035037A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080094330A KR20100035037A (ko) 2008-09-25 2008-09-25 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080094330A KR20100035037A (ko) 2008-09-25 2008-09-25 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체

Publications (1)

Publication Number Publication Date
KR20100035037A true KR20100035037A (ko) 2010-04-02

Family

ID=42213035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080094330A KR20100035037A (ko) 2008-09-25 2008-09-25 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체

Country Status (1)

Country Link
KR (1) KR20100035037A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2638517A4 (en) * 2010-11-12 2016-05-11 Samsung Electronics Co Ltd METHOD AND DEVICE FOR COMMUNITY PRODUCTION

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2638517A4 (en) * 2010-11-12 2016-05-11 Samsung Electronics Co Ltd METHOD AND DEVICE FOR COMMUNITY PRODUCTION
US9489656B2 (en) 2010-11-12 2016-11-08 Samsung Electronics Co. Ltd. Method and apparatus for generating community

Similar Documents

Publication Publication Date Title
KR100683172B1 (ko) 그룹 상황 정보 관리를 위한 추상적 서비스의 의미를 이용한 응용 프로그램간의 충돌 제어 방법 및 그 시스템
Pahl et al. Distributed smart space orchestration
Song et al. Interactive middleware architecture for lifelog based context awareness
Costa et al. Swarm os control plane: an architecture proposal for heterogeneous and organic networks
Chang et al. An adaptive mediation framework for mobile P2P social content sharing
Loke Service-oriented device ecology workflows
Corredor et al. Bringing pervasive embedded networks to the service cloud: A lightweight middleware approach
De Nicola et al. AErlang: Empowering Erlang with attribute-based communication
KR20100035037A (ko) 커뮤니티의 동적인 멤버 구성 방법 및 그 방법을 실행하기 위한 기록매체
Shiang et al. Ontology reuse for multiagent system development through pattern classification
KR101006476B1 (ko) 동적 커뮤니티 컴퓨팅 방법, 장치 및 시스템
Modoni et al. Semantic knowledge management and integration services for AAL
Al-Karkhi Task Recovery in Self-Organised Multi-Agent Systems for Distributed Domains
Li et al. A decentralized agent framework for dynamic composition and coordination for autonomic applications
Dimakis et al. Agent-based architectural framework enhancing configurability, autonomy and scalability of context-aware pervasive services
Kampik et al. Implementing argumentation-enabled empathic agents
Yilmaz et al. Exploring agent-supported simulation brokering on the semantic web: foundations for a dynamic composability approach
Wang et al. On constructing environment ontology for semantic web services
JP2004199349A (ja) 通信システムおよび方法、情報管理装置および方法、情報処理装置および方法、並びにプログラム
Roblek Decentralized Discovery and Execution for Composite Semantic Web Services
Montané-Jiménez et al. Context-aware groupware systems and video games: State of the art
Dhomeja Supporting policy-based contextual reconfiguration and adaptation in ubiquitous computing.
Park et al. An effective model and management scheme of personal space for ubiquitous computing applications
Srinivasan et al. A Two-Level Distribured Interactive Simulation Architecture for Radar Frequency Assignment
Althagafi Designing a framework for restful multi-agent systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application