KR20070004407A - Method for community computing and community computing system - Google Patents

Method for community computing and community computing system Download PDF

Info

Publication number
KR20070004407A
KR20070004407A KR1020060002853A KR20060002853A KR20070004407A KR 20070004407 A KR20070004407 A KR 20070004407A KR 1020060002853 A KR1020060002853 A KR 1020060002853A KR 20060002853 A KR20060002853 A KR 20060002853A KR 20070004407 A KR20070004407 A KR 20070004407A
Authority
KR
South Korea
Prior art keywords
community
service
situation
services
manager
Prior art date
Application number
KR1020060002853A
Other languages
Korean (ko)
Other versions
KR100884693B1 (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 US12/160,334 priority Critical patent/US7849136B2/en
Priority to PCT/KR2007/000088 priority patent/WO2007081118A1/en
Publication of KR20070004407A publication Critical patent/KR20070004407A/en
Application granted granted Critical
Publication of KR100884693B1 publication Critical patent/KR100884693B1/en

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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Abstract

A method and a system for community computing are provided to design a model collaborating in a community unit by organically combining persons, computing devices, and services, as a community model is applied to a ubiquitous computing environment. A community purpose part contains a final purpose to be attained by the community. A community skin part supports privacy protection/information hiding in the computing environment probably opening excessive information by encapsulating the community. A community policy part supports an operation of the community by being diversely combined as a policy set for functions of the community. A community member part performs mutual collaboration to attain the final purpose by binding the community. A community action part provides context-based action to be taken by the community member part to attain the final purpose.

Description

커뮤니티 컴퓨팅 방법 및 커뮤니티 컴퓨팅 시스템{Method for Community Computing and Community Computing System}Community Computing and Community Computing System

도 1은 본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 커뮤니티의 라이프 사이클을 5개 상태로 나열하여 도시한 도면이다.1 is a diagram illustrating the life cycle of a community in five states for realizing a community computing method according to the present invention.

도 2는 본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 커뮤니티에 대한 정적인 개념 모델을 도시한 도면이다.2 is a diagram illustrating a static conceptual model for a community for realizing a community computing method according to the present invention.

도 3은 본 발명에 따른 커뮤니티를 서비스 커뮤니티, 인프라 커뮤니티, 그리고 사용자 커뮤니티로 구분한 도면이다.3 is a diagram illustrating a community divided into a service community, an infrastructure community, and a user community according to the present invention.

도 4는 자율적 미디어 서비스 시나리오에 관한 예시 도면이다.4 is an exemplary diagram of an autonomous media service scenario.

도 5는 헬스 케어 시나리오에 관한 예시 도면이다.5 is an exemplary diagram of a healthcare scenario.

도 6은 본 발명에 따른 커뮤니티 컴퓨팅 시스템의 구조를 설명하는 도면이다. 6 is a diagram illustrating the structure of a community computing system according to the present invention.

도 7은 커뮤니티가 실행되는 메커니즘을 설명하는 도면이다.  7 is a diagram illustrating a mechanism in which a community is executed.

도 8은 커뮤니티가 실행되는 순서를 설명하는 도면이다. 8 is a diagram illustrating an order in which communities are executed.

본 발명은 커뮤니티 컴퓨팅 시스템 및 방법에 관한 것이다. 보다 상세하게는, 본 발명은, 커뮤니티의 목적, 정책, 멤버, 멤버 상호간의 작동, 커뮤니티 작동 상황, 커뮤니티 휴면 상황 등이 정의되어 하나의 커뮤니티를 형성하는 커뮤니티 형성 단계; 상기 커뮤니티 형성 단계 이후 커뮤니티가 실제 커뮤니티 멤버를 구성하고 동작해야 할 시점을 기다리는 커뮤니티 대기 단계; 상기 커뮤니티 대기 단계 이후 커뮤니티가 상황 정보를 감시하다가 커뮤니티 작동 상황이 되면 스스로 활성화되어 동작을 시작하는 커뮤니티 동작 단계; 상기 커뮤니티 동작 단계 이후 커뮤니티가 커뮤니티의 목적을 만족시키거나 휴면할 상황이 되면 커뮤니티가 스스로 동작을 일시적으로 멈추고 다음 커뮤니티 동작 단계를 대기하는 커뮤니티 휴면 단계; 및 커뮤니티가 더 이상 동작할 필요가 없는 경우에 스스로 모든 동작을 종료하는 커뮤니티 종료 단계를 포함하는 커뮤니티 컴퓨팅 방법에 관한 것이다.The present invention relates to a community computing system and method. In more detail, the present invention, the community forming step of forming a community by defining the purpose of the community, policies, members, the operation of members, community operation situation, community dormancy situation and the like; Waiting for a time for the community to form and operate an actual community member after the community forming step; A community operation step in which the community monitors the status information after the community waiting step and then activates itself to start an operation when the community operation status is reached; A community dormant step in which the community temporarily stops operation on its own and waits for the next community operation step when the community meets the purpose of the community or sleeps after the community operation step; And a community termination step of terminating all operations by itself when the community no longer needs to operate.

유비쿼터스 컴퓨팅(ubiquitous computing)이란 '어떤 사람이라도, 언제 어디서나, 각종 단말기와 사물을 통하여 온라인 네트워크에 접속을 하고 서비스를 받을 수 있는 공간 또는 환경'이라고 정의할 수 있으며, 유비쿼터스 컴퓨팅이 가시화되기 위해서는 컴퓨터 또는 네트워크가 인간 생활공간의 상황을 인식하는 것이 요구된다.Ubiquitous computing can be defined as' a space or environment where anyone, anytime, anywhere, can access an online network and receive services through various terminals and objects.'In order for ubiquitous computing to become visible, It is required that the network be aware of the situation of human living space.

유비쿼터스 컴퓨팅 분야에서는 눈에 보이지 않는 컴퓨팅(invisible computing), 어느 곳에서나 접속할 수 있는 컴퓨팅(everywhere computing), 빈틈없는 네트워크(seamless network)의 3가지 기본 컨셉을 바탕으로 하여 이를 현실화하기 위한 기술들이 계속적으로 발달하고 있다. 그 예로 센싱 기술, 디바이스의 소형 화, RFID(Radio Frequency IDentification) 등을 들 수 있는데 이러한 기술들과 응용 서비스들은 단일 도메인 위주로 개발되고 있다. In the field of ubiquitous computing, technologies for realizing this are continuously based on three basic concepts: invisible computing, everwhere computing, and seamless network. Developing. Examples include sensing technologies, miniaturization of devices, and radio frequency identification (RFID). These technologies and application services are developed around a single domain.

다양하고 복잡한 기기와 서비스가 혼재하게 되는 유비쿼터스 컴퓨팅 환경에서 사용자의 의도를 파악하고 이를 위한 적절한 서비스를 제공하기 위해서는 환경에 속해 있는 개체들이 유기적으로 결합하여 각각의 역할을 분담할 것이 요구되는데, 이때 발생하는 정보와 기기, 서비스 간의 협업 문제를 간과할 수 없다.In order to grasp the user's intention and provide appropriate services in the ubiquitous computing environment where various and complex devices and services are mixed, it is required that the objects in the environment are organically combined and share their respective roles. The problem of collaboration between information, devices, and services cannot be overlooked.

다가오는 유비쿼터스 컴퓨팅 환경에서의 컴퓨팅 이슈가 될 것으로 예측되는 주제들은 이질적 환경의 제어(heterogeneous environment control), 유비쿼터스 컴퓨팅 환경을 구축하는 개체 상호간의 충돌 문제 해결(conflicts resolution among ubiquitous entities), 보안(security), 개별적 컨텍스트 모델(context model)에 요구되는 지능(intelligence) 등이 있다. 이들을 자세히 설명하면 다음과 같다.Topics expected to be computing issues in the upcoming ubiquitous computing environment include heterogeneous environment control, conflict resolution among ubiquitous entities, security, The intelligence required for an individual context model. Detailed description of these is as follows.

첫째, 이질적 환경의 제어 면에서 본다면, 유비쿼터스 컴퓨팅 환경에서는 컴퓨팅 파워, 네트워킹 기능을 갖는 디바이스가 다양할 뿐만 아니라, 서비스를 제공하는 소프트웨어의 형태도 다양하며, 이들의 커뮤니케이션을 지원하는 프로토콜, 네트워크 또한 다양성을 뛰어넘은 이질적 특성(heterogeneity)을 가질 수 있다. 이러한 이질적 특성은 사용자간, 서비스간, 인프라간 또는 네트워크간의 다양한 통합과 협업을 요구하며 기존의 통합 및 협업 모델로는 이러한 이질적 특성을 극복하기가 힘들다.First, in terms of controlling heterogeneous environments, not only devices with computing power and networking functions are available in ubiquitous computing environments, but also various types of software to provide services, and various protocols and networks supporting their communication. It may have heterogeneity beyond that. These heterogeneous characteristics require various integrations and collaborations among users, services, infrastructures, or networks, and it is difficult to overcome these heterogeneous characteristics with existing integration and collaboration models.

둘째, 유비쿼터스 컴퓨팅 환경을 구축하는 개체 상호간의 충돌 문제 해결 면에서 본다면, 유비쿼터스 컴퓨팅 환경에서는 다양한 사물에 컴퓨팅이 이식되기 때 문에 환경을 구성하는 개체는 지능을 갖는 것이 있을 수도 있고 그렇지 않은 것이 있을 수도 있다. 동일한 수준의 지능 및 자율성을 가진 개체들 간의 충돌 해결 모델은 많이 제안되고 있지만, 다른 수준의 지능과 자율성을 갖춘 개체들의 행동을 어떻게 감지하고 그들 간에 발생할 수 있는 충돌을 해소할지에 대한 것은 이슈가 될 수 있다.Second, in terms of solving the conflict problem between the objects that make up the ubiquitous computing environment, in the ubiquitous computing environment, the objects that make up the environment may or may not have intelligence because computing is ported to various things. have. Conflict resolution models between entities with the same level of intelligence and autonomy have been proposed, but the issue of how to detect the behavior of entities with different levels of intelligence and autonomy and resolve conflicts that may arise between them is an issue. Can be.

셋째, 보안 면에서 본다면, 이동하는 환경에서 개인화된 서비스, 자율적 서비스를 위해 많은 정보들이 집결(gathering)되고 공유되어야 하는데, 이 과정에서 개인의 프라이버시에 관계되는 개인 정보 및 다른 정보들이 사용자 의도와 다르게 노출될 수가 있다. 프라이버시 침해 방지와 정보 공유라는 두 가지 다른 요소를 동시에 추구하기 위해서는 새로운 보안 개념이 필요하다.Third, in terms of security, a lot of information needs to be gathered and shared for personalized service and autonomous service in the mobile environment. In this process, personal information and other information related to individual privacy are different from the user's intention. May be exposed. A new security concept is needed to simultaneously pursue two different factors: privacy prevention and information sharing.

넷째, 개별적 컨텍스트 모델(상황(context) 데이터들을 분석하여 이 데이터들 사이의 관계를 정의하는 것)에 요구되는 지능 면에서 본다면, 컨텍스트에 따른 서비스 변화를 위해서는 센싱 데이터를 통해서 컨텍스트를 이해하는 것뿐만 아니라 다양한 사용자, 기기, 서비스들에 대한 다양한 컨텍스트를 이해할 수 있어야 한다. 이를 위해서는 크로스-도메인에서 도메인 중심으로 개발되는 컨텍스트를 이해하고 공유할 수 있어야 한다.Fourth, in terms of the intelligence required for individual context models (analyzing context data to define the relationships between these data), in order to change services according to the context, only context is understood through sensing data. Rather, it should be possible to understand different contexts for different users, devices, and services. This requires understanding and sharing of contexts that are developed around domains in cross-domains.

상기한 바와 같은 이슈 및 요구 사항을 해결하기 위해 커뮤니티 개념을 유비쿼터스 컴퓨팅 환경에 도입하여 유비쿼터스 컴퓨팅 환경에서의 유기적이고 자율적인 집합체로서의 커뮤니티를 재창조할 필요가 있다.In order to solve the above-mentioned issues and requirements, it is necessary to introduce a community concept into the ubiquitous computing environment and recreate the community as an organic and autonomous collective in the ubiquitous computing environment.

커뮤니티는 사전적인 의미로 인근 지역에 사는 사람들의 모임 또는 공통의 관심사를 가진 모임으로 정의되는데, 이는 실제 환경에서의 커뮤니티로부터 인터넷으로 연결되는 온라인 커뮤니티로 진화해 왔다. Communities are defined in a lexical sense as meetings of people living in nearby areas or meetings with common interests, which have evolved from communities in the real world to online communities that connect to the Internet.

본 발명의 제안자는 이러한 커뮤니티 모델을 유비쿼터스 컴퓨팅 환경에 접목하여 사람과 컴퓨팅 디바이스 그리고 서비스들이 유기적으로 결합하여 커뮤니티 단위로 협업하는 모델을 디자인함으로써 상기한 바와 같은 유비쿼터스 컴퓨팅 환경에서의 난제를 해결해 보고자 한다.The proposer of the present invention intends to solve the above-mentioned difficulties in the ubiquitous computing environment by designing a model in which people, computing devices, and services are organically combined and collaborated in community units by incorporating such community models into the ubiquitous computing environment.

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 커뮤니티 모델을 유비쿼터스 컴퓨팅 환경에 접목하여 사람과 컴퓨팅 디바이스 그리고 서비스들이 유기적으로 결합하여 커뮤니티 단위로 협업하는 모델을 디자인하는 것을 목적으로 한다. The present invention has been proposed to solve the above problems, and an object of the present invention is to design a model in which people, computing devices, and services are organically combined to collaborate in a community unit by incorporating a community model into a ubiquitous computing environment.

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 커뮤니티 모델을 유비쿼터스 컴퓨팅 환경에 접목하여 사람과 컴퓨팅 디바이스 그리고 서비스들이 유기적으로 결합하여 커뮤니티 단위로 협업하는 모델을 디자인한 커뮤니티 컴퓨팅 시스템을 제공하는 데 있다. The present invention has been proposed to solve the above problems, by providing a community computing system by designing a model in which people, computing devices and services are organically combined to collaborate in community units by incorporating a community model into a ubiquitous computing environment. There is.

본 발명의 기타 목적 및 장점들은 하기에 설명될 것이며, 이는 본 발명의 청구범위에 기재된 사항 및 그 실시예의 개시 내용뿐만 아니라, 이들로부터 용이하게 추고할 수 있는 범위 내의 수단 및 조합에 의해 보다 넓은 범위로 포섭될 것임을 첨언한다.Other objects and advantages of the present invention will be described below, which are not limited to the matters set forth in the claims and the disclosure of the embodiments thereof, but also to the broader ranges by means and combinations within the range readily recited therefrom. Add that it will be included.

상기한 목적을 달성하기 위하여 본 발명은, 커뮤니티의 목적, 정책, 멤버, 멤버 상호간의 작동, 커뮤니티 작동 상황, 커뮤니티 휴면 상황 등이 정의되어 하나의 커뮤니티를 형성하는 커뮤니티 형성 단계; 상기 커뮤니티 형성 단계 이후 커뮤니티가 실제 커뮤니티 멤버를 구성하고 동작해야 할 시점을 기다리는 커뮤니티 대기 단계; 상기 커뮤니티 대기 단계 이후 커뮤니티가 상황 정보를 감시하다가 커뮤니티 작동 상황이 되면 스스로 활성화되어 동작을 시작하는 커뮤니티 동작 단계; 상기 커뮤니티 동작 단계 이후 커뮤니티가 커뮤니티의 목적을 만족시키거나 휴면할 상황이 되면 커뮤니티가 스스로 동작을 일시적으로 멈추고 다음 커뮤니티 동작 단계를 대기하는 커뮤니티 휴면 단계; 및 커뮤니티가 더 이상 동작할 필요가 없는 경우에 스스로 모든 동작을 종료하는 커뮤니티 종료 단계를 포함하는 커뮤니티 컴퓨팅 방법을 제시한다.In order to achieve the above object, the present invention is a community forming step of forming a community by defining the purpose of the community, policies, members, members of each other, community operation situation, community dormancy situation and the like; Waiting for a time for the community to form and operate an actual community member after the community forming step; A community operation step in which the community monitors the status information after the community waiting step and then activates itself to start an operation when the community operation status is reached; A community dormant step in which the community temporarily stops operation on its own and waits for the next community operation step when the community meets the purpose of the community or sleeps after the community operation step; And a community termination step of terminating all operations by itself when the community no longer needs to operate.

상기 기술적 과제를 달성하기 위하여 본 발명은 유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델로 정의되는 커뮤니티의 컴퓨팅 시스템에 있어서, 상황 정보를 바탕으로 사용자에게 적절한 서비스를 제공하기 위하여 서비스를 위한 목표를 설정하고 서비스 협업을 관리하는 커뮤니티 매니저; 각각의 상황들에 대해 적용되는 룰(rule)을 저장하는 시추에이션 룰 레파지토리; 상기 시추에이션 룰 레파지토리로부터 컨텍스트 데이터의 집합체인 상기 상황 정보를 획득하여 상기 커뮤니티 매니저에 제공하는 시추에이션 매니저; 커뮤니티에 대한 기술(description)을 저장하고 상기 커뮤니티 매니저에 제공하는 커뮤니티 레파지토리; 서비스들을 타입으로 분류하고 각각의 타입에 대한 인터페이스 를 정의하여 저장하는 메타 서비스 레파지토리; 및 상기 메타 서비스 레파지토리를 참조하여 서비스 목표를 달성하기 위한 멤버들을 발견하고 상기 커뮤니티 매니저에 연결시켜주는 커뮤니티 프레임워크를 구비한다. In order to achieve the above technical problem, the present invention provides a community computing system defined as an autonomous collaboration model between entities that are present in a highly distributed form in a ubiquitous computing environment. A community manager for setting goals for the service and managing service collaboration; A situation rule repository for storing rules applied for respective situations; A situation manager which obtains the situation information, which is a collection of context data from the situation rule repository, and provides the situation information to the community manager; A community repository that stores a description of the community and provides it to the community manager; A meta service repository for classifying services into types and defining and storing interfaces for each type; And a community framework that references members of the meta service repository to find and connect members to achieve service goals.

유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델을 커뮤니티로 보고 이를 유비쿼터스 컴퓨팅 환경에 접목시켜 유비쿼터스 컴퓨팅 환경이 가져오는 복잡성 및 컴퓨팅 이슈들을 풀어나가는 것을 커뮤니티 컴퓨팅이라고 정의한다.Community computing defines the autonomous collaboration model among individuals that exist in highly distributed form in ubiquitous computing environment as a community and combines it with ubiquitous computing environment to solve the complexity and computing issues brought by ubiquitous computing environment.

협업 대상인 개체들은 커뮤니티 스킨(community skin)에 의해 커뮤니티 멤버(community member)로 요약(encapsulate)되고, 보안(Security), QOS(QualityofService): 커뮤니티 goal, 또는 커뮤니티 내부 멤버의 role로 그 우선순위를 동적으로 판단하여 차별적 서비스 품질을 보장하고자 함), 사용자 기호(user preference) 등에 대한 정책(policy)과 커뮤니티 멤버간의 액션은 커뮤니티 내부에서 이루어진다.Collaborated entities are encapsulated into community members by community skins, and their priorities can be dynamically assigned to security, quality of service (QOS): community goals, or roles within members of the community. To ensure differentiated service quality), user preferences, and other actions between community members and community members.

유비쿼터스 컴퓨팅 환경에 커뮤니티의 개념을 도입한 커뮤니티 컴퓨팅을 통해 사용자에게 민감할 수 있는 정보들은 외부로 노출되지 않게 되며 커뮤니티 상호간의 의존성은 줄어들게 된다.Community computing, which introduces the concept of community in the ubiquitous computing environment, does not expose information that may be sensitive to users and reduces dependency on the community.

이러한 커뮤니티를 실제 컴퓨팅 환경에서 구현하기 위해 커뮤니티를 사용자 커뮤니티(user community), 서비스 커뮤니티(service community), 인프라 커뮤니티(infra community) 등 세 가지 타입으로 분류하게 된다.In order to implement such a community in an actual computing environment, the community is classified into three types: a user community, a service community, and an infra community.

즉, 유비쿼터스 컴퓨팅 환경 하에서 각각의 이질적 영역(heterogeneous dimension)을 지원하기 위해 추상적 모델로서 커뮤니티 레이어(layer)를 나누고, 각 형태의 커뮤니티 속성에 대해 정의한 후, 디바이스, 인프라, 웹 서비스, 에이전트, 애플리케이션 등 다양한 타입의 소프트웨어 및 하드웨어들을 이들 커뮤니티 레이어에 접목(mapping)한다. 이를 통해 사용자에게 서비스가 제공될 때에는 같은 커뮤니티 레이어 상의 개체들이 하나의 커뮤니티로 유기적으로 결합되어 서비스를 제공할 뿐만 아니라 커뮤니티 레이어 상호간의 접목을 통해서 사용자의 의도와 환경의 변화를 다양하고 원활하게 반영할 수 있다.In other words, in order to support each heterogeneous dimension in the ubiquitous computing environment, the community layer is divided as an abstract model and defined for each type of community property, and then devices, infrastructure, web services, agents, applications, etc. Various types of software and hardware are mapped to these community layers. Through this, when a service is provided to a user, the objects on the same community layer are organically combined into one community to provide a service, and the changes of the user's intention and environment can be smoothly reflected through the interworking between the community layers. Can be.

도 1은 본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 커뮤니티의 라이프 사이클을 5개 상태로 나열하여 도시한 도면이다.1 is a diagram illustrating the life cycle of a community in five states for realizing a community computing method according to the present invention.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 있어서, 커뮤니티라 함은 유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델을 의미한다. 커뮤니티 자체의 속성에 대해서는 뒤에서 상세히 설명한다.In the community computing method according to the present invention, a community refers to an autonomous collaboration model between entities that exist in a highly distributed form in a ubiquitous computing environment. The attributes of the community itself are discussed in detail later.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 있어서 커뮤니티 형성 단계는 커뮤니티의 목적, 정책, 멤버, 멤버 상호간의 작동, 커뮤니티 작동 상황, 커뮤니티 휴면 상황 등이 정의되어 하나의 커뮤니티를 형성하는 단계를 말한다.In the community computing method according to the present invention, the community forming step refers to a step of forming a community by defining a purpose, a policy, a member, an operation between members, a community operating situation, a community dormant situation, and the like.

커뮤니티 형성 단계에서는 유비쿼터스 컴퓨팅 환경 내에서 커뮤니티가 완수해야 할 목적(goal)이 새롭게 설정되고, 이에 따라 당해 목적에 도달하기 위해 필요한 서비스와 디바이스들이 선택되며 이들이 어떤 식으로 협력해야 할 것인지가 결정된다. 이러한 정보는 커뮤니티의 목적이 미치는 영향의 범위에 따라 글로벌 스토리지에 위치할 수도 있고 로컬 스토리지에 위치할 수도 있다. In the community formation stage, a goal to be completed by the community within the ubiquitous computing environment is newly set, and thus, services and devices necessary to reach the goal are selected and how they should cooperate. This information can be located in global storage or local storage, depending on the extent of the impact of the purpose of the community.

그리고 커뮤니티의 목적은 단순히 보관(archive)되는 것으로 그치는 것이 아니라 커뮤니티의 목적이 무엇인지를 알기 원하는 사용자 혹은 개체들이 있을 수 있으므로 커뮤니티의 목적이 미치는 영향의 범위에 따라 그 목적은 공고(announce)될 수도 있다.And because the purpose of the community is not just archived, there may be users or entities who want to know what the purpose of the community is, so that purpose may be announced depending on the extent of the impact of the purpose of the community. have.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 있어서 커뮤니티 대기 단계는 상기 커뮤니티 형성 단계 이후 커뮤니티가 실제 커뮤니티 멤버를 구성하고 동작해야 할 시점을 기다리는 단계를 말한다.In the community computing method according to the present invention, the community waiting step refers to a step in which a community waits for a time when a community should form and operate an actual community member after the community formation step.

커뮤니티 대기 단계에서는 유비쿼터스 컴퓨팅 환경 내에서 커뮤니티가 완수해야 할 목적(goal)에 관한 정보, 당해 목적에 도달하기 위해 필요한 서비스와 디바이스들의 종류 및 이들의 협력 방식에 관한 정보 등이 커뮤니티 스토리지에서 메모리로 로딩되며, 이 순간 커뮤니티는 해당 멤버들을 찾아서 커뮤니티에 참여하도록 요청하여 목적을 수행할 실제 커뮤니티를 조직한다. In the community waiting phase, information about the goals the community needs to complete within the ubiquitous computing environment, the types of services and devices needed to reach those goals, and how they work together is loaded from the community storage into memory. At this moment, the community finds its members and asks them to join the community to organize the actual community to serve its purpose.

이때, 멤버라 함은 커뮤니티 내에서 하나의 공동체로 묶여 커뮤니티가 추구하는 최종 목적을 달성하기 위해 상호간에 협력하는 개체들을 의미한다.At this time, the members are entities that are tied together as a community within the community and cooperate with each other to achieve the end goal pursued by the community.

한편, 커뮤니티는 커뮤니티 대기 단계 이후 커뮤니티 동작(active) 단계(후술함)로 되는 순간에도 새로운 서비스, 디바이스 등에 대한 실시간 발견(discovery)을 통해 재구성될 수도 있다.On the other hand, the community may be reconfigured through real-time discovery of new services, devices, etc., even at the moment when the community becomes active (described later) after the community waiting step.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 있어서 커뮤니티 동작 단계는 상기 커뮤니티 대기 단계 이후 커뮤니티가 상황 정보를 감시하다가 커뮤니티 작동 상황이 되면 스스로 활성화되어 동작을 시작하는 단계를 말한다.In the community computing method according to the present invention, the community operation step refers to a step in which the community monitors the status information after the community waiting step and then activates and starts an operation when the community operation status is reached.

커뮤니티 동작 단계에서는 유비쿼터스 컴퓨팅 환경 내에서 커뮤니티가 완수해야 할 목적(goal)에 관한 정보, 당해 목적에 도달하기 위해 필요한 서비스와 디바이스들의 종류 및 이들의 협력 방식에 관한 정보 등에 기술되어 있는 커뮤니티의 요구 사항을 수행하기 위해 커뮤니티 대기 단계에서 구성된 커뮤니티 멤버들이 커뮤니티 동작 시츄에이션(activate situation)이 되면 스스로 활성화 되어 동작을 시작하게 된다. In the community operation phase, the requirements of the community are described, including information about the goals the community needs to accomplish within the ubiquitous computing environment, information about the types of services and devices needed to reach those goals, and how they work together. When the community members configured in the community waiting phase to perform the community activation situation (activate situation) is activated by itself and starts the operation.

커뮤니티 내에서의 멤버들의 동작 흐름(flow) 및 정보 공유 등은 커뮤니티 내의 정책(policy)에 의해 결정되며, 해당 커뮤니티보다 상위 단계(priority)에 있거나 긴급(emergency)을 요구하는 커뮤니티에 의해 강제로 휴면(deactivate)되지 않는 이상 커뮤니티 멤버들의 상태(state)가 커뮤니티의 최종 상태(final state)에 도달할 때까지 커뮤니티 동작 단계는 지속된다.The flow of information and sharing of information among members in a community is determined by the policies within the community and forced to be dormant by communities that are at a higher level than the community or require an emergency. Unless deactivated, the community operation phase continues until the state of the community members reaches the final state of the community.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 있어서 커뮤니티 휴면 단계는 상기 커뮤니티 동작 단계 이후 커뮤니티가 커뮤니티의 목적을 만족시키거나 휴면할 상황이 되면 커뮤니티가 스스로 동작을 일시적으로 멈추고 다음 커뮤니티 동작 단계를 대기하는 단계를 말한다.In the community computing method according to the present invention, the community dormancy step refers to a step in which the community temporarily stops the operation and waits for the next community operation step when the community meets the purpose of the community or becomes dormant after the community operation step. .

커뮤니티 휴면 단계에서는 커뮤니티가 주변 환경이 커뮤니티가 더 이상 동작하지 않아도 되는 상황으로 변화되었음을 인식하게 되며, 이때 커뮤니티는 스스로 휴면(deactivation) 상태에 돌입한다. In the community dormancy phase, the community recognizes that the surrounding environment has changed to a situation in which the community no longer operates, and the community enters into a deactivation state by itself.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 있어서 커뮤니티 종료 단계는 커뮤니티가 더 이상 동작할 필요가 없는 경우에 스스로 모든 동작을 종료하는 단계를 말한다. In the community computing method according to the present invention, the community terminating step refers to a step of terminating all operations by itself when the community no longer needs to operate.

커뮤니티가 더 이상 동작할 필요가 없는 경우라 함은 커뮤니티가 다른 목적(goal)을 가진 새로운 커뮤니티로 합쳐지거나 진화되어 원래의 커뮤니티가 더 이상 필요 없게 되었을 때를 말한다. When a community no longer needs to operate, it is when the community is merged or evolved into a new community with a different goal and the original community is no longer needed.

커뮤니티 종료 단계는 커뮤니티의 특성에 따라 여러 가지 형식으로 이루어 질 수 있다. 즉, 커뮤니티의 운명을 다하고 완전히 사멸하는(expire) 커뮤니티가 있을 수도 있고, 장기간 휴면(deactivation) 상태로 머무는 커뮤니티가 있을 수도 있다. 한편, 커뮤니티는 커뮤니티를 관리하는 개체에 의해 종료(exterminate)되었다가 다시 재형성(organize)되기도 한다.The termination of the community can take several forms, depending on the nature of the community. That is, there may be a community that fulfills its community's fate and completely exterminates, or there may be a community that stays in a long period of deactivation. On the other hand, a community may be terminated and reorganized by an entity managing the community.

한편, 본 발명에 따른 커뮤니티 컴퓨팅 방법은, 상기 커뮤니티가 사용자에게 제공하는 서비스 타입이 일회성 서비스인 경우에는, 상기 커뮤니티가 상기 커뮤니티 형성 단계, 상기 커뮤니티 대기 단계, 상기 커뮤니티 동작 단계, 그리고 상기 커뮤니티 휴면 단계를 순차적으로 거쳤다가 곧바로 상기 커뮤니티 종료 단계로 가면서 서비스를 제공하게 된다.Meanwhile, in the community computing method according to the present invention, when the service type provided to the user by the community is a one-time service, the community may include the community forming step, the community waiting step, the community operation step, and the community dormancy step. After going through sequentially, the service will be provided while going directly to the community termination step.

또한, 본 발명에 따른 커뮤니티 컴퓨팅 방법은, 상기 커뮤니티가 사용자에게 제공하는 서비스 타입이 미디어 서비스와 같이 특정 상황(또는 요청 시점)에 반복해서 제공되어야 하거나 보안 서비스와 같이 백그라운드로 서비스되다가 특정 상황에서 동작해야 하는 경우처럼 일회성 서비스가 아닌 경우에는, 상기 커뮤니티가 상기 커뮤니티 형성 단계 및 상기 커뮤니티 대기 단계를 거친 후에 특정 상황일 때 커뮤니티 동작 단계로 들어갔다가 특정 상황이 종료하면 커뮤니티 휴면 단계로 들 어가고 다시 또 다른 특정 상황이 발생하는 경우에는 커뮤니티 동작 단계에 반복적으로 들어가면서 서비스를 제공하게 된다. In addition, in the community computing method according to the present invention, a service type provided to a user by the community must be repeatedly provided in a specific situation (or a request point) such as a media service, or operated in a specific situation after being serviced in the background as a security service. If the service is not a one-time service, such as a case should be, after the community has gone through the community forming step and the community waiting step, the community enters into the community operation phase when the specific situation is finished, and enters the community dormancy phase when the specific situation ends. When other specific situations occur, the service repeatedly enters the community operation stage.

본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 주체로서의 커뮤니티에 대해 설명하면 다음과 같다.A community as a subject for realizing a community computing method according to the present invention is as follows.

도 2는 본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 커뮤니티에 대한 정적인 개념 모델을 도시한 도면이다.2 is a diagram illustrating a static conceptual model for a community for realizing a community computing method according to the present invention.

커뮤니티라 함은 유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델을 말한다. Community is an autonomous collaboration model between entities that exist in highly distributed form in ubiquitous computing environment.

커뮤니티는, 커뮤니티가 달성해야 하는 최종 목적을 담고 있는 커뮤니티 목적부; 커뮤니티를 캡슐화하여 지나치게 많은 정보가 공개될 수 있는 컴퓨팅 환경에서 프라이버시 보호 및 보안을 위한 정보 은닉을 지원하며, 커뮤니티 단위로 정의된 복합 서비스를 재사용할 수 있게 하는 커뮤니티 스킨부; 커뮤니티 자체가 갖는 기능들에 대한 정책 집합으로서 다양하게 커뮤니티에 접합되어 커뮤니티의 작동을 지원하는 커뮤니티 정책부; 하나의 공동체로 묶여 커뮤니티가 추구하는 최종 목적을 달성하기 위해 상호간에 협력하는 커뮤니티 멤버부; 및 커뮤니티의 목적을 달성하기 위하여 상기 커뮤니티 멤버부가 취해야 하는 상황 기반의 액션을 제공하는 커뮤니티 액션부를 포함하는 것을 특징으로 한다.The community may include a community purpose unit which contains the final purpose that the community should achieve; A community skin unit encapsulating a community to support information hiding for privacy protection and security in a computing environment in which too much information can be disclosed, and to reuse a complex service defined in a community unit; A community policy unit that is connected to the community as a set of policies for functions of the community itself and supports the operation of the community; A community member unit that is tied together as a community and cooperates with each other to achieve a final goal pursued by the community; And a community action unit providing a context-based action that the community member should take in order to achieve the purpose of the community.

커뮤니티 목적부는 커뮤니티가 달성해야 하는 최종 목적을 담고 있다. Community objectives contain the final goals that the community must achieve.

커뮤니티와 커뮤니티의 목적(Goal)은 일대일로 접목(mapping)되며 이 목적(goal)은 사용자의 기호(preference)에 관한 정보와 주변의 시츄에이션(situation) 에 의해 다르게 해석될 수 있다. 여기서, 시츄에이션(situation)이란 유비쿼터스 컴퓨팅 환경을 구성하는 개체들의 상태를 시간 기준으로 묶은 조합을 의미한다. 한편, 유비쿼터스 컴퓨팅 환경을 구성하는 개체에는 사용자, 서비스, 인프라가 모두 포함된다.The community and the goal of the community are mapped one-to-one, and this goal can be interpreted differently by information about the user's preferences and the surrounding situation. Here, the situation refers to a combination of the states of the entities constituting the ubiquitous computing environment on a time basis. Meanwhile, the objects that make up a ubiquitous computing environment include users, services, and infrastructure.

커뮤니티의 목적은 커뮤니티의 종류와 성격에 따라 단편적으로 생성되었다가 목적 달성 후 사라지는 일시적 타입의 목적과, 특정 상황일 때 활성화되어 동작하다가 다시 특정 상황일 때 비활성화 되는 상태를 반복하며 지속되는 영구적 타입의 목적이 있다. The purpose of a community is to create a temporary type that fragments according to the type and nature of the community and disappears after accomplishing the purpose, and to be a permanent type that is activated and operated in a specific situation and then deactivated in a specific situation. There is a purpose.

커뮤니티의 목적은 커뮤니티의 동작 범주에 따라 이에 맞게 설정되므로 커뮤니티의 동작 범주를 세분화하고 이에 대응할 수 있는 목적의 레벨을 정규화 하여야 한다.Since the purpose of the community is set according to the operation category of the community, it is necessary to subdivide the operation category of the community and normalize the level of the purpose to cope with it.

커뮤니티 스킨부는 커뮤니티를 캡슐화하여 지나치게 많은 정보가 공개될 수 있는 컴퓨팅 환경에서 프라이버시 보호 및 보안을 위한 정보 은닉을 지원하며, 커뮤니티 단위로 정의된 복합 서비스를 재사용할 수 있게 하는 역할을 한다. The community skin unit encapsulates the community, supports information hiding for privacy protection and security in a computing environment where too much information can be disclosed, and enables the reuse of complex services defined at the community level.

커뮤니티 정책부는 커뮤니티 자체가 갖는 기능들에 대한 정책 집합으로서 다양하게 커뮤니티에 접합되어 커뮤니티의 작동을 지원하는 역할을 한다.The community policy unit is a policy set for functions of the community itself, and is connected to various communities to support the operation of the community.

커뮤니티의 정책(policy)은 코어 타입과 옵션 타입(코어타입은 커뮤니티가 제대로 동작되기위한 기본 정책 타입으로 보안, 상황인지등 커뮤니티 개념도에 있는 것들이 코어타입에 속하고 , 옵션 타입은 커뮤니티 특성에 맞게 추가하여 사용할 수 있는 정책타입을 의미한다. 예를 들어 자산관리 커뮤니티에서는 투자 정책, 리스크관리 정책 등이 추가될 수 있다.) 으로 분류되며, 코어 타입의 정책은 커뮤니티의 종류에 상관없이 정의된다. QoS(7페이지와 동일), 보안(security), 사용자 기호(user preference) 등이 정책으로 정의될 수 있다.The policy of the community is the core type and option type (the core type is the basic policy type for the community to operate properly. The ones in the community concept map such as security and status belong to the core type, and the option type is added according to the characteristics of the community. For example, investment policy and risk management policy can be added in asset management community.) Core type policy is defined regardless of community type. QoS (same as page 7), security, user preferences, etc. can be defined as a policy.

커뮤니티 멤버부는 커뮤니티 내에서 하나의 공동체로 묶여 커뮤니티가 추구하는 최종 목적을 달성하기 위해 상호간에 협력하는 개체들을 의미한다.Community members are entities within a community that are tied together as one community and cooperate with each other to achieve the end goal of the community.

커뮤니티 멤버(member)는 커뮤니티의 분류에 따라 원시 타입(primitive type)인 사용자, 서비스, 인프라가 될 수도 있고, 이들 각각이 모여 이루어진 그룹인 커뮤니티가 또 하나의 개별적인 커뮤니티 멤버(member)가 될 수도 있다. Community members can be primitive types of users, services, or infrastructure, depending on the classification of the community, or a community, a group of each of them, can be another individual community member. .

커뮤니티 멤버 상태(state)는 커뮤니티 내에서 활성화되어 동작하는 상태와 비활성화되어 대기하는 상태 두 가지로 구분되며 커뮤니티 클래스에 따라 특정 인스턴스로 기술되기도 하고, 인스턴스 명이 아닌 요구되는 기능에 의해 기술되기도 한다(예를 들어, 거실전화기, 큰방전화기, PDA에서 실행되고 있는 스케쥴 서비스, PC에서 실행되고 있는 스케쥴 서비스로 기술할 수 도있지만, 이를 요구되는 기능으로, 전화기, 스케쥴 서비스, 사운드 기능이 있는 디바이스, 마이크 기능이 있는 디바이스, 디스플레이 기능이 있는 디바이스와 같이 기술할 수 있다는 의미).Community member states can be divided into two states: active and active in the community, and inactive and waiting. They may be described as specific instances by community class, or by required functionality rather than instance names (eg For example, it can be described as a living room phone, a large room phone, a schedule service running on a PDA, a schedule service running on a PC, but as a required function, a phone, a schedule service, a device with a sound function, and a microphone function. Device with display, device with display function).

커뮤니티 액션부는 커뮤니티의 목적을 달성하기 위하여 상기 커뮤니티 멤버부가 취해야 하는 상황 기반의 액션을 제공하는 역할을 한다.The community action unit serves to provide context-based actions that the community member should take in order to achieve the purpose of the community.

액션(Action)은 커뮤니티가 취해야 할 동작을 의미하며, 커뮤니티 액션부는 상황 기반의 커뮤니티 멤버 상태를 기술한다(액션은 커뮤니티 또는 커뮤니티 멤버가 취해야 할 동작을 의미하며, 액션부는 상황 기반의 커뮤니티와 커뮤니티 멤버 액션에 대해 기술한다.). 이는 룰 기반으로 정의될 수도 있고 상태(state)들로 정의되어 계획(planning) 가능한 구조로 기술될 수도 있다(특정 상황일때 커뮤니티 또는 커뮤니티 멤버가 취해야 하는 동작에 대해 룰 기반으로 정의하여 그 룰에 따라 동작이 행해지게 할 수도 있고, 커뮤니티 멤버들의 상태들과 그들간의 이동이 발생할 수 있는 관계를 기술하여 커뮤니티의 액션이 지능적이고 자율적으로 이루어지도록 한다.).Action refers to the action the community should take, and the community action section describes the state-based community member state (action refers to the action the community or community member should take, and the action section describes the context-based community and community member). Describe the action). It may be defined on a rule-based basis or may be described as a planable structure by defining states (depending on the rule by defining a rule-based action on actions taken by a community or a community member in a specific situation). Actions can be made, and the states of community members and the relationships in which movements can occur are described so that community actions can be made intelligently and autonomously.).

한편, 본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 주체로서의 커뮤니티는, 웹 서비스, 애플리케이션, 에이전트 서비스 등이 커뮤니티 멤버부를 구성하며, 커뮤니티 사용자의 선호도와 주변 상황에 기반을 둔 복합 서비스를 지원하기 위해 서비스 간 협업을 가능하게 하는 역할을 하는 서비스 커뮤니티; 인프라를 구성하는 네트워크 장치, 디바이스 등이 커뮤니티 멤버부를 구성하며, 위치 기반으로 디바이스 그룹을 생성하여 자원 관리 및 에러 복구, 품질 관리 등에 대해 지원하는 한편, 상기 서비스 커뮤니티에 대해 적절한 디바이스를 제안하며, 상기 서비스 커뮤니티의 적절한 운영을 위해 서비스 지향적 커뮤니티를 구성하여 주는 역할을 하는 인프라 커뮤니티; 및 가족, 직장 동료 등과 같은 실제 사용자가 커뮤니티 멤버부를 구성하며, 사용자 그룹에 대한 신뢰성, 그룹 작업 등에 대한 프로파일을 관리하여 상기 서비스 커뮤니티와 상기 인프라 커뮤니티에 대해 사용자의 요구 사항을 도출하여 주는 역할을 하는 사용자 커뮤니티로 구분되는 것을 특징으로 한다.On the other hand, in the community as a subject for realizing the community computing method according to the present invention, a web service, an application, an agent service, etc. constitute a community member, and support a complex service based on the preferences and surroundings of the community user. A service community that serves to enable cross-service collaboration; The network devices and devices constituting the infrastructure constitute a community member unit, create a device group based on location to support resource management, error recovery, quality management, etc., and propose an appropriate device to the service community. An infrastructure community that serves to construct a service-oriented community for the proper operation of the service community; And a real user, such as a family member or a coworker, constitutes a community member, and manages a profile of user group reliability, group work, and the like to derive user requirements for the service community and the infrastructure community. Characterized by the user community.

도 3은 본 발명에 따른 커뮤니티를 서비스 커뮤니티, 인프라 커뮤니티, 그리고 사용자 커뮤니티로 구분한 도면이다.3 is a diagram illustrating a community divided into a service community, an infrastructure community, and a user community according to the present invention.

서비스 커뮤니티는 웹 서비스, 애플리케이션, 에이전트 서비스 등이 커뮤니티 멤버부를 구성하며, 커뮤니티 사용자의 선호도와 주변 상황에 기반을 둔 복합 서비스를 지원하기 위해 서비스 간 협업을 가능하게 하는 역할을 한다.In the service community, web services, applications, and agent services constitute community members, and enable service-to-service collaboration to support complex services based on community user preferences and surroundings.

서비스 커뮤니티(service community)는 사용자에게 서비스를 제공하는 웹 서비스, 애플리케이션, 에이전트 서비스 등이 커뮤니티 멤버부를 구성하며, 커뮤니티를 기술할 때에는 멤버를 서비스 인스턴스가아닌(서비스 명 또는) 타입으로 정의하여 동적으로 서비스 및 커뮤니티들이 커뮤니티의 멤버로 참여할 수 있게 한다. (14페이지에 추가한 내용과 동일, 예로, 서비스 타입은 '미디어플레이', 서비스명은 '윈도우 미디어 플레이어', '곰 플레이어', 등이고, 서비스 인스턴스는 '거실 PC에서 실행되고있는 윈도우 미디어 플레이어', '큰방 PDP에서 실행되고있는 윈도우 미디어 플레이어' 로 분류; 커뮤니티 형성단계에서는 멤버를 서비스명 또는 타입으로만 기술했다가, 대기 및 동작단계에서 상황별로 적정 서비스 인스턴스를 찾아내어 커뮤니티 멤버로 구성하게하는 메커니즘으로, 디스커버리되는 서비스 인스턴스들이 매 순간 변경될 수 있는 모바일 adhoc 환경을 지원하기 위함임; 기존의 서비스 디스커버리 및 서비스 동작 기술은 서비스 인스턴스 단위로 이루어졌음)Service community is composed of web members, applications, and agent services that provide services to users, and when describing a community, the members are dynamically defined by defining members as service types or not as service instances. Allows services and communities to participate as members of a community. (Same as what was added on page 14, for example, the service type is 'Media Play', the service name is 'Windows Media Player', 'Bear Player', etc., and the service instance is 'Windows Media Player running on the living room PC', Classified as 'Windows Media Player running in a large room PDP'; In the community formation stage, the member is described only by service name or type, and in the waiting and operation stages, the appropriate service instance is found for each situation and configured as a community member. To support a mobile adhoc environment where discovered service instances can be changed at any moment; the existing service discovery and service operation techniques are made on a per service instance basis.

인프라 커뮤니티는 인프라를 구성하는 네트워크 장치, 디바이스 등이 커뮤니티 멤버부를 구성하며, 위치 기반으로 디바이스 그룹을 생성하여 자원 관리 및 에러 복구, 품질 관리 등에 대해 지원하는 한편, 서비스 커뮤니티에 대해 적절한 디바이스를 제안하며, 서비스 커뮤니티의 적절한 운영을 위해 서비스 지향적 커뮤니티를 구성하여 주는 역할을 한다.The infrastructure community consists of the network members and devices that make up the infrastructure, and the community members are created, and device groups are created based on location to support resource management, error recovery, and quality management, while suggesting appropriate devices to the service community. In other words, it forms a service-oriented community for the proper operation of the service community.

인프라 커뮤니티(infra community)는 물리적인 디바이스로서 컴퓨팅 기능과 네트워킹 능력을 가진 모든 컴퓨터, 가전, 미디어, 센서 등이 인프라 커뮤니티를 구성하는 멤버가 될 수 있다. 이들의 리소스 관리, 자가치료, 자기복구 등의 지원을 위해 위치 기반 커뮤니티가 지역적으로 미리 정의되어 생성될 수 있으며, 상황에 따른 서비스 지향 커뮤니티가 구성될 수도 있다. An infrastructure community is a physical device that allows all computers, appliances, media, and sensors with computing and networking capabilities to be members of the infrastructure community. Location-based communities may be locally defined to support resource management, self-healing, and self-healing, and service-oriented communities may be configured according to circumstances.

즉, 인프라 커뮤니티는 '위치 기반 커뮤니티(location-based community)' 와 '서비스 지향 커뮤니티(service-oriented community)' 두 개의 타입이 존재할 수 있다.That is, the infrastructure community may have two types of 'location-based community' and 'service-oriented community'.

사용자 커뮤니티는 가족, 직장 동료 등과 같은 실제 사용자가 커뮤니티 멤버부를 구성하며, 사용자 그룹에 대한 신뢰성, 그룹 작업 등에 대한 프로파일을 관리하여 서비스 커뮤니티와 인프라 커뮤니티에 대해 사용자의 요구 사항을 도출하여 주는 역할을 한다.User community consists of real users such as family members and co-workers, and constitutes the members of the community, and manages profiles of user group reliability, group work, etc. to derive user requirements for service community and infrastructure community. .

사용자 커뮤니티(user community)는 실제 사용자 그룹에 접목되는 커뮤니티로 가족, 동료 등을 기술하여 서비스 커뮤니티와 인프라 커뮤니티의 요구 사항을 도출하는데 적용될 수 있다. 한편, 사용자 커뮤니티의 멤버들은 서비스 커뮤니티의 서비스나 인프라 커뮤니티의 디바이스에 접목(mapping)될 수도 있다.A user community is a community that is connected to a real user group, and can be applied to deriving requirements of a service community and an infrastructure community by describing a family and a colleague. Meanwhile, members of the user community may be mapped to a service of a service community or a device of an infrastructure community.

상기한 세 개의 커뮤니티는 이질적인 각 기종의 서비스, 디바이스 등을 추상화된 레벨로 각 클래스에 접목되게끔 디자인되며, -예를 들면, 서비스 커뮤니티에는 에이전트만 접목되는 것이 아니라, 애플리케이션, 웹 서비스 등 다양한 형태의 서비스가 위치할 수 있다- 이는 추후 확장성을 고려하여 정의된다.The above three communities are designed to incorporate heterogeneous services, devices, etc. into an abstracted level in each class. For example, the service community is not limited to agents, but various forms such as applications and web services. The service of can be located-it is defined with scalability later.

본 발명에 따른 커뮤니티 컴퓨팅 방법을 실현하기 위한 주체로서의 커뮤니티는, 커뮤니티가 활성화되어 목적(goal)을 달성해 나가는 과정에서 스스로 학습에 의해 변화하고 진화(Evolution)할 수 있다. 본 발명에 따른 커뮤니티가 변화하고 진화하는 측면은 다음과 같다.As a subject for realizing a community computing method according to the present invention, a community can change and evolve by learning itself in the process of activating a community and achieving a goal. Aspects of changing and evolving community according to the present invention are as follows.

첫째, 커뮤니티의 목적(community goal) 면에서의 변화 및 진화이다.First, change and evolution in the community goal.

커뮤니티의 목적(goal)은 사용자 선호도와 환경 컨텍스트에 의해 다르게 해석될 수 있는데, 커뮤니티의 목적(goal)은 이러한 해석의 관점에 의한 단순한 변화뿐만 아니라, 커뮤니티의 구성 요소의 변경 또는 물리적 환경의 변화에 따라 목적(goal) 자체가 보다 더 지능적(intelligent)으로 상황에 조화롭게(adaptive) 변화해 갈 수 있다. 이 경우는 원래의 커뮤니티 목적(community goal)과 전혀 다른 방향으로 발전해 가는 것이 아니기 때문에 새로운 커뮤니티를 생성하지는 않고 기존의 커뮤니티를 기반으로 하여 진화된 형태의 커뮤니티를 구성하게 된다. The goal of the community can be interpreted differently by user preferences and the context of the environment. The goal of the community is not only a simple change from the perspective of this interpretation, but also a change in the components of the community or a change in the physical environment. Thus, the goal itself can be more intelligent and adaptive to the situation. In this case, since it does not develop in a completely different direction from the original community goal, it does not create a new community but forms an evolved community based on the existing community.

둘째, 멤버의 역할(member role) 면에서의 변화 및 진화이다.Second, change and evolution in the role of members.

해당 커뮤니티가 추구하는 목적은 변경되지 않는다 하더라도 유비쿼터스 컴퓨팅 환경의 구성 요소(configuration)의 변경에 따라 커뮤니티에 참여하는 멤버의 역할(role)이 변화할 수 있다. 이러한 멤버 역할(role)의 변화에 따라 커뮤니티가 수행하는 절차와 정책(policy) 또한 같이 변화할 수 있으며, 이러한 과정을 통해 커뮤니티는 스스로 진화한다.Even if the purpose of the community is not changed, the role of members participating in the community may change according to the change of the configuration of the ubiquitous computing environment. As these member roles change, the community's procedures and policies can change as well, and the community evolves itself.

커뮤니티 컴퓨팅은 컴퓨팅 방법론으로서, 커뮤니티 컴퓨팅을 지원하는 다수의 커뮤니티 관리 시스템에 의해 구현될 수도 있고, 디바이스에 미들웨어의 형태로 접속되어 구현될 수도 있으며, 커뮤니티 기술 언어와 커뮤니티 컴파일러 및 개발환경의 지원에 의해 개발 방법론으로 구현될 수도 있다. Community computing is a computing methodology that can be implemented by a number of community management systems that support community computing, or can be implemented by connecting to devices in the form of middleware, supported by community description languages, community compilers, and development environments. It can also be implemented as a development methodology.

커뮤니티 관리 시스템은 메시지 기반의 커뮤니케이션으로 상황 인지 및 커뮤니티 구성원간의 상호 작용이 이루어지며, 서비스 개발자가 커뮤니티 디스크립션을 생성하고 이를 시스템에 로딩시키면 커뮤니티는 생성이 된다. The community management system uses message-based communication for context awareness and interaction among community members. The community is created when a service developer creates a community description and loads it into the system.

커뮤니티 관리 시스템은 사용자 커뮤니티 정보를 사용자 그룹 프로파일 저장소에 가지고 있으며 필요할 때에 저장소로부터 해당 정보를 읽어 와서 사용할 수 있다. 또한 사용자 개개인의 선호도와 스케쥴 정보 등의 개인 정보도 저장소에 따로 저장하고 있어서 커뮤니티의 목적(goal)을 설정하거나, 커뮤니티 액션을 결정할 때 사용한다. The community management system has user community information in the user group profile repository and can read and use the information from the repository when needed. In addition, personal information such as individual user preferences and schedule information is also stored separately in the repository to be used when setting a community goal or determining a community action.

커뮤니티 관리 시스템은 모바일 타입과 도메인 타입으로 나누어져 있는데, 커뮤니티 모니터, 목적(goal) 해석기 등의 핵심 컴포넌트와 개인 정보 저장소만 모바일 타입의 커뮤니티 관리 시스템에 올라가고, 핵심 컴포넌트를 포함한 서비스 디스커버리, 디바이스 디스커버리 등의 컴포넌트와 개인 정보를 제외한 저장소들이 도메인 타입의 커뮤니티 관리 시스템에 올라간다.The community management system is divided into mobile type and domain type. Only core components such as community monitor and goal interpreter and personal information repository are uploaded to mobile type community management system, service discovery including core components, device discovery, etc. Repositories, except components and personal information, are loaded into the domain type community management system.

이하의 시나리오는 첫 번째 방안인 커뮤니티 관리 시스템으로 커뮤니티를 구동시키고 유지시키는 메커니즘을 설명하였다.The following scenario describes the mechanism for driving and maintaining a community with a community management system, the first approach.

첫 번째는 자율적 미디어 서비스 시나리오에 관한 것으로서, 도 4는 이에 관한 예시 도면이다. The first relates to an autonomous media service scenario, and FIG. 4 is an exemplary diagram thereof.

이하에서는 도 4에 따라, 사용자가 거실에서 미디어 서비스를 시청하는 중 전화가 오고, 화장실로 이동하면서 끊김 없이 전화 통화 및 미디어 서비스를 제공받는 상황을 설명한다. Hereinafter, a situation in which a user receives a phone call while watching a media service in a living room and receives a telephone call and a media service without moving while moving to a bathroom will be described with reference to FIG. 4.

[1] 사용자가 소파에 앉자, 현재 시간과 사용자의 스케줄 정보 등을 가지고 서비스 커뮤니티 관리 시스템은 사용자의 상황을 추론한 후 미디어 서비스 시청을 제안한다. 사용자가 미디어 서비스를 시청하겠다고 하자 서비스 커뮤니티 관리 시스템은 사용자 선호도 정보를 검색하여 특정 미디어를 플레이하도록 미디어 서비스에게 알린다.[1] As the user sits on the couch, the service community management system infers the user's situation with the current time and schedule information of the user and suggests viewing the media service. When a user wants to watch a media service, the service community management system retrieves user preference information and notifies the media service to play a particular media.

[2] 인프라 커뮤니티 관리시스템이 서비스 커뮤니티 관리 시스템에게 사용자의 위치에서 가장 가까운 미디어 재생 장치인 TV를 추천하고, 미디어 서비스는 TV에 재생된다. 미디어 서비스 재생 상황에 의해 팔로우-미 미디어 커뮤니티(follow me media community)가 활성화된다.[2] The infrastructure community management system recommends the TV, which is the media playback device closest to the user's location, to the service community management system, and the media service is played on the TV. The follow me media community is activated by the media service playing situation.

[3] 전화가 오자 사용자 위치에서 가장 가까운 전화기의 벨이 울린다.[3] When a call comes in, the phone closest to your location rings.

[4] 소리 감지 센서에 의해 전화벨이 울린 것을 서비스 커뮤니티 관리 시스템이 인지한다.[4] The service community management system recognizes that the phone rings by the sound sensor.

[5] 서비스 커뮤니티 관리 시스템은 소리 발생 근원 서비스인 전화 서비스를 커뮤니티 멤버로 추가하고 미디어 서비스와의 소리 충돌을 해결하기 위해 두 서비스의 우선 순위를 파악하고 우선 순위가 낮은 미디어 서비스에게 소리를 낮춰야 하는 상황임을 알린다. [5] The service community management system needs to add the phone service, the source of the sound source service, as a community member, identify the priorities of the two services, and lower the sound to the low-priority media services to resolve sound conflicts with the media services. Inform the situation.

[6] 미디어 서비스는 현재 미디어가 재생되고 있는 TV의 볼륨을 낮춘다. [6] Media services lower the volume of the TV on which media is currently playing.

[7] 사용자가 통화를 하면서 화장실로 이동하고 화장실로 들어서자 사용자의 위치 변경에 대해 위치 서비스가 알려주고 현재 서비스 중인 미디어 서비스와 전화 서비스가 알림 메시지를 받게 된다. 인프라 커뮤니티 관리 시스템이 화장실 커뮤니티에 의해 관리되고 있는 디바이스들 중 매직 거울과 무선 마이크, 스피커를 서비스에 이용할 것을 추천한다.[7] As the user moves into the toilet and enters the toilet while talking on the phone, the location service notifies the user of the change of location, and the media service and the telephone service currently in service receive a notification message. It is recommended that the infrastructure community management system use magic mirrors, wireless microphones, and speakers for service among the devices managed by the toilet community.

[8] 미디어 서비스는 화장실에서 미디어 재생 가능한 매직 거울을 통해 TV에서 재생되고 있던 미디어를 계속 재생시키고, 전화 서비스는 화장실 내에 있는 무선 마이크와 스피커를 통해 전화 서비스를 계속 지원한다. [8] The media service continues to play media that was being played on the TV through a magic mirror capable of playing media in the bathroom, and the telephone service continues to support telephone service through wireless microphones and speakers in the bathroom.

본 발명에 따른 커뮤니티 컴퓨팅 방법의 적용 없이는 위의 시나리오 서비스를 제공하기 위해서는 각각의 서비스들이 사용자 선호도, 주변 상황들을 파악하여 그에 맞는 서비스를 제공할 수 있게끔 지능적으로 새롭게 개발되어야 하고, 서비스간 충돌을 해결하기 위해서 서비스 시나리오 별로 새로운 통합 시스템 또는 협업 서비스를 개발하여야 한다. In order to provide the above scenario services without applying the community computing method according to the present invention, each service must be newly developed intelligently to grasp user preferences and surrounding conditions and provide a service accordingly, and resolve conflicts between services. To do this, new integrated systems or collaboration services must be developed for each service scenario.

하지만 위의 시나리오와 같이 커뮤니티 컴퓨팅을 적용함으로써 기존에 존재하던 서비스간의 협업을 상황 기반으로 사용자에게 차별화된 서비스를 제공하며 서비스와 디바이스를 고정적으로 바인딩시키지 않고 사용자의 위치가 변경될 때에 가장 최적의 디바이스를 선택하여 서비스가 다이내믹하게 바인딩되도록 할 수 있다. 이로써 상황 기반의 복합 서비스를 손쉽게 개발할 수 있으며 다이내믹한 통합 및 협업을 지원하고 그 안에서 발생할 수 있는 서비스 충돌 문제를 해결할 수 있다.However, by applying community computing as in the above scenario, we provide differentiated services to users based on contextual collaboration between existing services, and are the most optimal device when the user's location changes without fixedly binding services and devices. You can select to allow the service to be dynamically bound. This makes it easy to develop complex, context-based services, support dynamic integration and collaboration, and resolve service conflicts that can occur within them.

두 번째는 헬스 케어 시나리오에 관한 것으로서, 도 5는 이에 관한 예시 도면이다. The second relates to a healthcare scenario, and FIG. 5 is an exemplary diagram thereof.

이하에서는 도 5에 따라, 사용자에게 응급 상황이 발생하여, 병원 및 가족들에게 연락하고 그를 케어하며 응급 상황에 대한 대처가 가능하도록 환경 및 서비스를 구성하여 응급 상황을 해결하는 상황을 설명한다. Hereinafter, according to FIG. 5, a situation in which an emergency occurs in a user, contacts a hospital and family, cares for him, and configures an environment and a service to cope with an emergency will be described.

[1] 사용자가 거실 소파에 앉아 TV를 시청하고 있다. [1] The user is sitting on the living room sofa watching TV.

[2,3] 심박동 측정기에 이상 신호가 감지되자 심박동 감지 서비스는 케어(care) 서비스에 이 상황을 알린다. [2,3] When an abnormal signal is detected by the heart rate monitor, the heart rate detection service informs the care service of the situation.

[4] 가족 커뮤니티(family community) 및 건강관리 커뮤니티(health-care community)의 프로파일 정보가 인프라 커뮤니티 관리 시스템에 전달되면 인프라 커뮤니티 관리 시스템이 해당 프로파일 정보를 이용하여 사용자의 위치에 가장 가까운 네트워크 가능한 디바이스로 건강관리 네트워크를 형성한다.[4] When the profile information of the family community and the health-care community is delivered to the infrastructure community management system, the network community device closest to the user's location by using the profile information is provided by the infrastructure community management system. To form a health care network.

[5] 케어 서비스는 사용자의 심장 정보를 주치의에게 알린다. [5] The care service informs the attending physician of the user's heart information.

[6] 응급 상황을 전달받은 주치의가 이에 대한 대처 방안으로 상비해 놓은 약을 먹고 누워 있을 것과 함께 병원 진료 예약에 관한 스케줄을 정한다. [6] In response to an emergency, your doctor will set a schedule for your appointment as well as lying down with your medication.

[7] 예약 및 진료 담당 서비스가 이 상황을 케어 서비스에 알려준다. [7] Appointment and care services tell this care.

[8] 케어 서비스는 실내의 다른 방에 있는 사용자의 손자의 모니터에 사용자에게 상비약을 먹일 것과 편안히 누울 수 있게 해드리라고 전한다. 그리고 서비스 커뮤니티 관리 시스템이 사용자의 아들과 딸의 위치 정보와 스케줄을 비교하여 현재 사용자의 위치와 가장 가까운 딸에게 예약 시간에 맞춰 병원으로 모시고 갈 것을 요청한다. [8] The care service tells the monitor of the grandson of the user in another room in the room to feed the medicine and to lie down comfortably. And the service community management system compares the location information and schedule of the son and daughter of the user and asks the daughter closest to the current user's location to go to the hospital at the scheduled time.

본 발명에 따른 커뮤니티 컴퓨팅 방법에 의하면, 사용자에게 응급 상황이 발 생했을 때, 사용자 커뮤니티의 정보를 바탕으로 그 구성원들의 위치 및 연락 가능한 장비를 파악하여 건강관리 네트워크를 형성하고 그들에게 응급 상황을 알려서 응급 상황에 대한 대처가 상황 정보를 바탕으로 신속하게 이루어지는 것을 가능하게 한다. According to the community computing method according to the present invention, when a user has an emergency, based on the information of the user community to identify the location of the members and the equipment that can be contacted to form a health care network and inform them of the emergency Responding to emergencies can be made quickly based on situational information.

도 6은 본 발명에 따른 커뮤니티 컴퓨팅 시스템의 구조를 설명하는 도면이다. 6 is a diagram illustrating the structure of a community computing system according to the present invention.

유비쿼터스 지능 공간의 구현을 위해선 공간을 구성하는 디바이스, 시스템, 서비스 등 개개가 사용자의 컨텍스트에 반응하여 지능적으로 동작하는 것도 중요하지만, 그 각각의 분산된 개체들이 사용자에게 효율적인 서비스를 제공하기 위하여 협업하는 것 또한 중요하다. In order to implement the ubiquitous intelligent space, it is important for each device, system, and service that constitutes the space to operate intelligently in response to the user's context, but each distributed entity cooperates to provide efficient services to the user. It is also important.

이러한 협업 서비스는 사용자가 처한 상황과 주변의 환경에 따라 또는 사용자의 특성, 선호도와 같은 컨텍스트에 따라 협업의 대상이 달라질 수 있으며 서비스의 목표 또한 달라질 수 있다. The collaboration service may have different targets depending on the situation and surrounding environment of the user or the context of the user's characteristics and preferences, and the goals of the service may also vary.

이러한 사용자의 이동성, 환경의 다양성에 따라 서비스의 목표와 협업대상의 적절성(adaptability)을 지원하는 다이내믹 협업 서비스 구현을 위해 커뮤니티를 협업 단위의 메타포로 사용하여 고도로 추상화된 레이어인 커뮤니티로 정의하고 이를 물리적 공간의 실질적 서비스 협업 흐름과 연결하여 사용자에게 서비스를 제공할 수 있게 하는 시스템이 필요하다. In order to implement dynamic collaboration services that support service goals and adaptability of collaboration targets according to the mobility and environment of users, communities are defined as communities, which are highly abstracted layers, using metaphors of collaboration units. What is needed is a system that connects with the actual service collaboration flow of the space to provide services to users.

이 시스템의 개발로 인해서 개인 사용자는 자신의 선호도에 맞추어 자신이 인식하지 못하는 중에도, 그리고 이동하는 공간 속에서도 실시간으로 복합서비스들 을 제공 받을 수 있게 된다. The development of this system allows individual users to receive complex services in real time, even in their own space, even when they are not aware of their preferences.

또한 서비스를 제공하는 기업이나 기관들은 기존에 구축된 서비스들을 재사용하여 특정 상황이 인식되었을 때 어떠한 서비스들이 협업대상인지에 대해 커뮤니티로 간단하게 기술하는 것을 통해 실시간으로 사용자의 상황에 맞게끔 서비스들이 유기적으로 조합되어 새로운 서비스를 제공 가능하게 된다. In addition, companies or organizations that provide services reuse existing services and simply describe to the community what services are to be collated when a specific situation is recognized. Can be combined to provide new services.

커뮤니티 컴퓨팅 환경에서 상황인지 복합 서비스를 사용자에게 제공하기 위해서는 컨텍스트에 민감하게 커뮤니티를 생성하고 관리할 수 있는 매니저가 필요하다. 이 매니저는 각각의 서비스 애플리케이션들이 공통된 서비스 목표 달성을 위한 인터랙션을 지원해야 하며, 그 협력 중에 발생할 수 있는 충돌을 조정할 수 있어야 하고, 사용자의 선호도에 따라 adaptive한 서비스를 제공할 수 있어야 한다. 이러한 기능들을 만족하는 매니저를 커뮤니티 매니저라 하며 이하에서는 커뮤니티 매니저를 구비하는 커뮤니티 컴퓨팅 시스템에 대하여 설명한다. To provide context-aware complex services to users in a community computing environment, managers need to be able to create and manage communities in a context-sensitive manner. The manager must support interactions for each service application to achieve common service goals, be able to coordinate conflicts that may occur during the collaboration, and provide adaptive services based on user preferences. A manager that satisfies these functions is referred to as a community manager. Hereinafter, a community computing system including a community manager will be described.

도 6의 커뮤니티 컴퓨팅 시스템(600)은 유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델로 정의되는 커뮤니티의 컴퓨팅 시스템에 있어서, 커뮤니티 매니저(610), 시추에이션 매니저(620), 커뮤니티 레파지토리(630), 메타 서비스 레파지토리(640), 시추에이션 룰 레파지토리(650) 및 커뮤니티 프레임워크(660)를 구비한다. The community computing system 600 of FIG. 6 is a community computing system defined as an autonomous collaboration model between entities existing in a highly distributed form in a ubiquitous computing environment, and includes a community manager 610, a situation manager 620, and a community. It includes a repository 630, a meta service repository 640, a situation rule repository 650, and a community framework 660.

도 6은 커뮤니티 컴퓨팅 시스템(600)의 동작 이해를 위하여 객체에 해당하는 애플리케이션과 멤버들에 대한 정보를 저장하는 룩업 테이블(680) 및 서비스 온톨로지 레파지토리(670)를 함께 개시한다. FIG. 6 discloses a lookup table 680 and a service ontology repository 670 that store information about applications and members corresponding to objects for understanding the operation of the community computing system 600.

커뮤니티 매니저(610)는 상황 정보를 바탕으로 사용자에게 적절한 서비스를 제공하기 위한 서비스 협업을 관리한다. 커뮤니티 매니저(610)는 도메인별, 사용자별 인스턴스로 구성되며 그러한 환경에서 동작하는 매커니즘은 다음과 같다. The community manager 610 manages service collaboration for providing an appropriate service to the user based on the situation information. The community manager 610 is composed of domain-specific and user-specific instances, and the mechanisms that operate in such an environment are as follows.

시추에이션 매니저(Situation Manager)(620)로부터 컨텍스트 데이터의 집합체인 상황 정보를 받아서 사용자 서비스를 위한 목표를 설정하고 그 목표를 달성하기 위한 멤버들을 커뮤니티 프레임워크(660)를 통해 모집한다. The context manager receives the contextual information, which is a collection of context data from the situation manager 620, sets a goal for a user service, and recruits members to achieve the goal through the community framework 660.

이 멤버들의 그룹을 커뮤니티라 부르고 커뮤니티의 목표가 달성될 때까지 정책 삽입기(policy injector), 정책 저장소(policy repository)등의 정책(policy) 모듈을 통해 멤버 액션(member action) 요청, 멤버 호출(member call) 등 다이내믹한 협업 솔루션을 제공한다. These groups of members are called communities, and member actions are requested and members are called through policy modules such as policy injectors and policy repositories until community goals are achieved. dynamic collaboration solutions such as call).

상황 정보로 해당 커뮤니티의 목표가 달성되었다고 판단하면 그 커뮤니티는 소멸되거나 비활성화된다. 커뮤니티 매니저(610)는 개인서비스여부에 따라, 모바일 기기에 장착되는 모바일 커뮤니티 매니저와 도메인 서버에 장착되는 도메인 커뮤니티 매니저로 구분된다. If the context information determines that the community's goal has been achieved, the community is destroyed or deactivated. The community manager 610 is classified into a mobile community manager mounted on a mobile device and a domain community manager mounted on a domain server according to personal service.

모바일 커뮤니티 매니저는 이동성을 지원하는 장치에 장착되어 사용자와 항상 함께 이동한다고 가정하며 사용자 정보(user information), 선호도(preference) 우선순위(job priority), 알려진 커뮤니티 매니저 리스트 등을 담고 있는 사용자 프로필 레파지토리(user profile repository)와 인증(authentication)을 위한 모듈을 함께 가지고 있다. The mobile community manager is installed on a device that supports mobility and assumes that it always moves with the user, and the user profile repository (user information, preference job priority, known community manager list, etc.) It has a module for user profile repository and authentication.

사용자가 특정 장소로 이동할 때마다 해당 장소의 도메인 커뮤니티 매니저를 발견하여 해당 도메인에서 서비스 받을 수 있는 서비스 목록, 서비스되어야 하는 액션(action)들에 대한 조정 작업을 수행하고 그 서비스를 직접 수행하거나 또는 도메인 커뮤니티 매니저를 통해 대행하기도 한다.Every time a user moves to a place, we find the domain community manager for that place and make adjustments to the list of services that can be serviced in that domain, the actions that should be served, and perform the service directly, or It can also be done through a community manager.

도메인 커뮤니티 매니저는 특정 도메인에서의 서비스를 지원하는 서버 프로그램이다. 해당 도메인에서의 상황정보를 모니터링하며, 도메인에서 수행 가능한 커뮤니티와 커뮤니티별로 지켜져야 할 정책(policy)들을 저장하고 있다.Domain Community Manager is a server program that supports services in a specific domain. It monitors the status information in the domain and stores the community that can be executed in the domain and the policies to be followed by each community.

모바일 커뮤니티 매니저에게 커뮤니티 스크립트를 전송하거나, 커뮤니티 실행의 업무를 대행하기도 하며, 도메인에서 실행되는 커뮤니티들을 모니터링 하는 기능도 제공한다.It can also send community scripts to mobile community managers, perform community tasks, and provide monitoring of communities running in the domain.

협업 서비스의 단위인 커뮤니티를 추상화된 레이어로 정의하고 이를 메타서비스로 기술하여 실행시간에 해석가능하며, 이를 물리적인 서비스로 변환할 수 있게끔 하여야 한다. 이를 위해 커뮤니티 컴퓨팅 시스템(600)은 커뮤니티의 개념적인 모델을 도출하고 이를 바탕으로 커뮤니티를 기술할 수 있는 언어를 커뮤니티 스키마로 정의한다. 그리고 정의된 커뮤니티 스키마의 스펙에 맞게 커뮤니티를 기술할 때에 참조하게 될 메타 서비스들을 미리 선언하여 저장해 놓은 메타 서비스 레파지토리(640)를 구비한다. The community, which is a unit of collaboration service, should be defined as an abstraction layer and described as a meta service so that it can be interpreted at runtime and transformed into a physical service. To this end, the community computing system 600 derives a conceptual model of the community and defines a language that can describe the community based on the community schema. It also includes a meta service repository 640 that predeclares and stores meta services to be referred to when describing a community in accordance with a defined community schema specification.

커뮤니티 사양(Specification)에 대해서 설명한다. Describes community specifications.

커뮤니티(Community)는 목적(Goal), 활성 상황(activate Situations), 비활성 상황(deactivate Situations), 멤버(Members), 액션(Actions), 정책(Policies)으로 구성된다. 즉, 커뮤니티를 구성하는 것은 목적(Goal)과 이 목적 달성을 위해 커뮤니티가 활성(activate)되고 비활성(deactivate)되는 상황(situation)조건, 커뮤니티 멤버들, 커뮤니티의 액션과 정책들이다. Community consists of Goal, Activate Situations, Deactivate Situations, Members, Actions, and Policies. In other words, what constitutes a community is the goal and the conditions under which the community is activated and deactivated to achieve that goal, community members, community actions and policies.

커뮤니티와 커뮤니티의 목적은 일대일로 매핑 되며 이 목적은 사용자의 선호도(preference) 정보와 주변의 상황(situation)에 의해 다르게 해석될 수 있는 디스크립션(description)으로 기술한다. Community and community purpose are mapped one-to-one, and this purpose is described as a description that can be interpreted differently by user preference information and surrounding situation.

커뮤니티의 목적(goal)은 커뮤니티 종류와 성격에 따라 단편적으로 생성되었다가 목적 달성 후 사라지는 일시적(temporal) 타입이 있고, 특정 상황일 때 활성화되어 동작하다가, 다시 특정 상황일 때 비활성화 되는 상태를 반복하며 지속되는 영구적(permanent) 타입도 있다. The goal of a community is a temporary type that is fragmented according to the type and nature of the community and disappears after the goal is achieved.It is activated and operated in a specific situation, and then deactivated in a specific situation. There is also a persistent type.

이들 목적 설정은 동작할 수 있는 커뮤니티의 행동에 대한 레벨과 동일하므로 세분화하여 레벨로 정규화 되어야 한다. These goal settings are the same as the levels of community behavior that can operate, so they should be subdivided and normalized to levels.

상황(Situation)이란 환경을 구성하는 개체들의 상태들을 시간 기준으로 묶은 조합을 의미한다. 여기에서 환경 개체란 유저, 서비스, 디바이스를 모두 포함한다. Situation refers to a combination of the states of the objects that make up the environment on a time basis. Environment objects include all users, services, and devices.

멤버(Member) 타입은 커뮤니티의 분류에 따라 초기 타입(primitive type)인 유저, 서비스, 디바이스가 될 수 있으며 이들 각각의 그룹인 커뮤니티가 될 수도 있다. 멤버 상태(state)는 커뮤니티 내에서 활성화되어 동작하는 상태와 비활성화 되어 대기하는 상태 두 가지로 구분되며 커뮤니티 클래스에 따라 특정 인스턴스로 기술되기도 하고, 인스턴스 명이 아닌 요구되는 기능에 의해 타입으로 기술된다.The member type may be a primitive type of user, service, or device according to the classification of the community, or may be a community of each of these groups. The member state is divided into two states, active and operating in the community, and inactive and waiting. The state is described as a specific instance according to the community class, and is described as a type by the required function rather than the instance name.

액션(Action)은 커뮤니티가 취해야 할 동작으로 상황기반의 커뮤니티 멤버의 상태를 기술한다. 이는 룰 기반으로 정의될 수 도 있고 상태(state)들로 정의하여 계획(planning)가능한 구조로 기술할 수도 있다.Actions are actions that a community should take and describe the state of community members based on context. It can be defined on a rule-based basis or can be defined in states and described as a planable structure.

정책(Policy)들은 코어와 옵션 타입으로 분류되며 코어 타입의 정책들은 커뮤니티의 종류에 상관없이 정의되어야 한다. QoS(Quality of Service), 보안(Security), 사용자 선호도(User Preference)등이 정책으로 정의된다. Policies are classified into core and option types, and core type policies should be defined regardless of community type. Quality of Service (QoS), Security, User Preference are defined as policies.

커뮤니티를 기술할 시점에는 어떤 서비스가 멤버가 될지, 그리고 그 서비스의 인터페이스가 어떠한지를 알 수 없으므로 서비스들을 타입으로 분류하여 각각의 타입에 대한 메타 서비스 인터페이스를 미리 정의하고 이를 API(Application Program Interface:응용프로그램 인터페이스) 형태로 참조하여 기술할 수 있게끔 한다. At the time of describing the community, it is impossible to know which service is a member and what the interface of the service is. Therefore, the services are classified into types to predefine the meta service interface for each type, and the API (Application Program Interface) is applied. Program interface).

이렇게 기술된 메타 서비스는 실행시간에 커뮤니티 매니저에 의해 실제 서비스 인스턴스로 대체되게 된다. 메타 서비스는 서비스의 분류 방식과 서비스 도메인에 따라 다양하고 방대한 양으로 정의될 수 있기에 이를 자바 인터페이스로 정의하고 그 시맨틱에 대해서는 자바 API로 웹상에서 참조하여 이해할 수 있게끔 한다. The meta service described in this way is replaced by the community manager at the runtime with the actual service instance. Meta service can be defined in various and huge amounts according to service classification method and service domain, so it is defined as Java interface and its semantics can be understood by referencing on web with Java API.

기존의 서비스 협업 및 통합은 정적인 서비스 디스커버리와 서비스의 실행으로 이루어졌지만, 커뮤니티 매니저 시스템이 동작하게 될 유비쿼터스 지능공간이 내제하고 있는 환경의 다양성, 이동성을 지원하기 위해서, 그리고 사용자에게 최적화된 협업대상의 선택 및 서비스 실행을 목표로 하기에 실행시간에 동적으로 협업 서비스 대상인 커뮤니티 멤버를 디스커버리하고, 이들에게 롤을 부여하여 이들이 이해할 수 있는 인터페이스로 서비스 실행 목표를 전달하는 기술이 필요하다. The existing service collaboration and integration consisted of static service discovery and service execution, but the collaboration target optimized to support the diversity and mobility of the environment inherent in the ubiquitous intelligent space where the community manager system will operate. In order to target the selection and execution of services, there is a need for a technology that discovers community members that are collaborative service targets dynamically at runtime, assigns roles to them, and delivers service execution goals through an interface that they can understand.

이를 위해 기술된 커뮤니티 스크립트를 해석하여, 실행시간에 커뮤니티를 다이내믹하게 구성하고, 커뮤니티 멤버들인 서비스들이 사용하는 각각의 인터페이스와 프로토콜로 필요한 액션을 요청하게끔 하는 커뮤니티 매니저(610)가 필요하다. To this end, a community manager 610 is required to interpret the described community script, to dynamically construct a community at runtime, and to request the necessary actions with each interface and protocol used by services that are community members.

커뮤니티의 구성은 실행시간에 커뮤니티 스크립트를 기반으로 커뮤니티 프레임워크(660)와 미들웨어와의 연동을 통해 이루어진다. 커뮤니티 프레임워크(660)는 미들웨어의 디스커버리 기능을 이용하여 서비스들을 수집하고 이들 서비스가 커뮤니티 멤버로서의 제약에 적절한지에 대해 검사 및 협상을 통해 커뮤니티 매니저(610)에게 멤버로 추천한다. The composition of the community is made through interworking with the community framework 660 and middleware based on community scripts at runtime. The community framework 660 collects services using the discovery function of the middleware and recommends them as members to the community manager 610 through inspection and negotiation as to whether these services are suitable for constraints as community members.

커뮤니티 스크립트에는 구성되어야 할 멤버들에 대한 타입과 제약 조건들이 명시되어 있으며 현재 정의되어 있는 제약조건들은 커뮤니티 스키마에 명시되어 있다. The community script specifies the types and constraints for the members to be configured, and the currently defined constraints are specified in the community schema.

커뮤니티 프레임워크(660)로 커뮤니티 멤버의 추천을 요청할 때 사용하는 프로토콜은 "서비스 타입(service_type)"을 키 값으로 한 xml 메시지를 사용한다. 커뮤니티 프레임워크(660)는 미들웨어의 룩업 테이블을 수집하여 자체적인 서비스 테이블을 가지고 있으며, 수집된 서비스들의 정보들을 바탕으로 각각의 서비스들이 어떠한 "서비스 타입(service_type)"인지를 알고 있다.The protocol used when requesting the recommendation of a community member to the community framework 660 uses an xml message whose key value is "service type (service_type)". The community framework 660 collects the lookup table of the middleware and has its own service table, and knows what service type (service_type) each of the services is based on the collected services.

또한 서비스 룩업 프로토콜에는 "한정(constraints)"을 포함시킬 수 있게끔 되어있다. 이 항목에는 개개의 커뮤니티 스크립트에 기술되어있는 커뮤니티 정책(policy) 중 멤버 구성에 대한 정책을 모아 "한정(constraints)"으로 정리한 것으로 '사용자의 위치에서 가장 가까운 것', '보안 레벨 3 이상' 등 커뮤니티 멤버로 서 가져야 할 제약을 담고 있다. The service lookup protocol also allows for the inclusion of "constraints". This section is a collection of community policies described in the individual community scripts, organized as "constraints," and includes the "closest to user's location" and "security level 3 or higher" policies. Etc. It contains the restrictions that a community member must have.

따라서, 커뮤니티를 구성할 때, 멤버의 선택 기준은 "서비스 타입(service_type)"과 "한정(constraints)"가 되며 커뮤니티 프레임워크(660)가 추천해 준 멤버들로 커뮤니티를 구성하고, 커뮤니티 스크립트에 기술되어있던 서비스 플로우를 구성된 멤버들의 인터페이스에 맞게끔 변환 작업을 해준다. Therefore, when constructing a community, the members' selection criteria are "service_type" and "constraints", and the community framework 660 recommends the members to form the community, and the community script It converts the described service flow to the interface of the configured members.

메타 서비스로 기술된 커뮤니티 디스크립트는 실행시간에 해석되어 물리적 서비스와 매핑되어 동작하여야 한다. 이를 위해 커뮤니티 멤버 구성과 서비스의 목표를 결정짓는 주요 요소인 개인의 컨텍스트를 프로테제를 이용하여 OWL(Ontology Web Language: 웹 온톨로지) 저장소로 구축하고 이를 RDF(Resource Description Framework: 자원 서술구조) 파일로 변화하여 Jena 자바 API를 이용하여 쿼리하여 참조한다. 이 구조를 통해 커뮤니티 스크립트에 '$'로 시작되는 모든 변수가 특정 값으로 대치되고, 서비스의 목표 및 서비스의 인터페이스를 해석하는 시맨틱을 이해할 수 있게 된다. Community scripts described as meta-services must be interpreted at runtime and mapped to physical services. To this end, the context of the individual, which is a key factor in determining community member composition and service goals, is built into the OWL (Ontology Web Language) repository using the protease and changed into a Resource Description Framework (RDF) file. Query by using Jena Java API. This structure ensures that all variables beginning with '$' in community scripts are replaced with specific values, and that you understand the semantics of interpreting the service's goals and the interface of the service.

커뮤니티가 실행되는 메커니즘은 도 7에서 보이는 것처럼 커뮤니티 매니저(710, 720)가 시추에이션 매니저(730)로부터 상황 메시지를 전송 받으면, 로딩하고 있는 커뮤니티 스크립트의 상황 메시지와 비교하여 특정 커뮤니티의 구성을 요청하거나, 멤버의 액션을 요청하는 등의 실행을 하게 된다. As shown in FIG. 7, when the community manager 710 or 720 receives a status message from the situation manager 730, the community execution mechanism requests a configuration of a specific community in comparison with the status message of the loading community script. It will execute the member's action request.

커뮤니티의 실행은 멤버인 서비스들에게 특정 액션을 요청하거나, 정보 전달 등의 커뮤니티 멤버와 관련된 것이 있고, 커뮤니티 매니저(730)가 개개 커뮤니티의 상태를 관리하거나, 자체적인 타이머 생성, 특정 액션 수행 등의 커뮤니티 매니저 (730)가 직접 관련된 것 두 종류가 있다. The execution of a community may be related to community members such as requesting specific actions to members of the service or delivering information, and the community manager 730 manages the state of each community, generates its own timer, and performs specific actions. There are two types of community manager 730 directly involved.

커뮤니티가 실행되는 순서를 살펴보면 아래의 도 8에서 보이는 것처럼 커뮤니티 로우더(Community Loader)가 커뮤니티 스크립트를 로딩하여 해석하고 이를 커뮤니티 오거나이저(Community Organizer)에게 넘기면 커뮤니티 프레임워크(660)의 도움을 받아 커뮤니티를 구성한다. Looking at the order in which the communities are executed, as shown in FIG. 8 below, the Community Loader loads and interprets the community scripts and passes them to the Community Organizer to configure the community with the help of the community framework 660. do.

이 과정에서 커뮤니티의 목표, 서비스 실행 방법에 대한 스크립트가 해석되어 구성된 멤버, 즉 실제 서비스들의 인터페이스 맞게 변경이 되고 개개의 커뮤니티는 자바의 쓰레드 오브젝트로 구동되어 동작하게 된다. In this process, scripts about the goals of the community and how to run the service are interpreted and changed according to the configured members, that is, the interfaces of the actual services, and each community is driven and operated by Java's thread object.

시추에이션 매니저(620)로부터 전달 받은 상황 메시지는 각각의 커뮤니티 쓰레드가 시추에이션 리스너(Situation Listener)를 통해 듣게 되고 이 메시지가 해당 커뮤니티의 동작에 관련 있는 경우에는 해석된 커뮤니티의 액션에 따라 동작하게 된다. 예를 들어 전달받은 메시지가 커뮤니티의 특정 롤을 가진 멤버의 액션을 요구하는 트리거 메시지라면, 그에 따른 액션을 해당 멤버에게 전달한다. 이 과정에서 해당 멤버가 이해할 수 있는 프로토콜로의 전달은 커뮤니티 프레임워크(660)가 수행한다. The situation message received from the situation manager 620 is heard by each community thread through the situation listener (Situation Listener), and when the message is related to the operation of the community, the message is operated according to the interpreted community action. For example, if the message received is a trigger message that requires an action of a member with a specific role in the community, the action is delivered to the member. In this process, the community framework 660 performs the transfer to the protocol that the member can understand.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도 면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications, changes, and substitutions may be made by those skilled in the art without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical spirit of the present invention, but to describe the present invention, and the scope of the technical idea of the present invention is limited by the embodiments and the accompanying drawings. no. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

상술한 바와 같이, 본 발명에 따른 커뮤니티 컴퓨팅 방법으로써 얻을 수 있는 이점은 다음과 같다.As described above, the advantages obtained by the community computing method according to the present invention are as follows.

첫째, 이질적인 영역 상호간의 통합과 협업(collaboration in heterogeneous dimension)이 가능해진다. 유비쿼터스 컴퓨팅 환경에서의 개체 상호간의 이질적 특성은 다양한 영역(dimension)의 통합과 협업을 요구한다. 즉, 사용자에게 특정 서비스가 제공될 때에 사용자의 상황과 사용자 상호간의 작용, 그리고 주변의 디바이스, 네트워크 등의 상황 정보를 바탕으로 서비스들이 조화롭게 통합하고 협동할 수 있어야 한다. 커뮤니티 컴퓨팅은 인문 사회학에서의 '커뮤니티' 모델을 그대로 접목시켜 유비쿼터스 컴퓨팅 환경에서의 이질적 영역(heterogeneous dimension)의 유기적인 결합을 쉽게 유도할 수 있다.First, collaboration and heterogeneous dimensions are possible. The heterogeneous nature of the objects in the ubiquitous computing environment requires the integration and collaboration of various dimensions. That is, when a specific service is provided to the user, the services should be able to integrate and collaborate harmoniously based on the situation of the user, the interaction between the users, and the context information of the surrounding devices and the network. Community computing can easily derive the organic combination of heterogeneous dimensions in the ubiquitous computing environment by integrating the 'community' model in humanities sociology.

둘째, 다양한 정보의 요약화(캡슐화와 추상화)(encapsulation, abstraction)가 가능해진다. 커뮤니티 컴퓨팅은 유비쿼터스 컴퓨팅 환경의 이동성과 단기적 속성에 의해 발생할 수 있는 사용자의 프라이버시 문제, 이동하는 서비스간의 협업, 서비스 우선 순위에 대한 정책, 사용자 선호도간의 충돌 등의 여러 이슈를 협업 단위인 커뮤니티 내의 정책(policy)으로 정의하고, 이를 커뮤니티 안에서 요약(커뮤니티로 감싸진)(encapsulate)된 형태로 풀어간다. 또한 유비쿼터스 컴퓨팅 환경에 서는 상황 인식(situation-aware)을 기반으로 하는 서비스를 제공할 수 있어야 하는데, 이때 투명성(transparency)과 인식(awareness)에 대한 조화를 커뮤니티 요약화(캡슐화 - 정보 공개가 멤버간의 인증, 신뢰 레벨에 따라 커뮤니티 내에서만 공개되므로 투명성과 인식에 대한 조화가 가능함)(encapsulation)로 해결한다.Second, encapsulation and abstraction of various information becomes possible. Community computing addresses various issues such as user privacy issues, collaborations between moving services, policies about service priorities, and conflicting user preferences that can be caused by the mobility and short-term nature of the ubiquitous computing environment. policy, and encapsulate it in a community encapsulated. In addition, in a ubiquitous computing environment, it should be possible to provide services based on situation-aware, where community summarization (encapsulation-disclosure of information between members) This can be solved with encapsulation because transparency and awareness can be harmonized because it is only disclosed within the community according to the level of authentication and trust.

셋째, 재사용(reuse)에 관한 문제가 해결된다. 소프트웨어 개발 패러다임의 진화의 이면에는 재사용이라는 요소가 큰 부분을 차지하고 있다. 이러한 재사용의 단위가 단순 모듈, 오브젝트, 컴포넌트, 서비스로 점차 진화되며 제안되었지만 이러한 모델들은 유비쿼터스 컴퓨팅 환경이 갖는 새로운 특징들을 해결하기에는 부족함이 많았다. 커뮤니티 컴퓨팅은 그 재사용의 단위를 협업 및 상황인지를 내포하고 있는 커뮤니티로 다룸으로써 유비쿼터스 컴퓨팅 환경에서 소프트웨어 개발자들이 새로운 서비스를 생성하고 할 때 커뮤니티 기술 언어를 이용하여 커뮤니티를 기술함으로써 새로운 복합 서비스의 개발을 용이하게 하고 또한 이를 재사용할 수 있도록 하였다.Third, the problem of reuse is solved. Behind the evolution of the software development paradigm, the element of reuse is a big part. Although this unit of reuse has been gradually evolved into simple modules, objects, components, and services, these models have been insufficient to solve the new features of the ubiquitous computing environment. Community computing treats the unit of reuse as a community that incorporates collaboration and contextual awareness, which allows software developers to create new services in a ubiquitous computing environment, using community description language to describe the community to develop new composite services. It is also easy to reuse.

넷째, 의사결정(real-time decision-making) (동적인 재구성(dynamic reconfiguration))이 가능해진다. 커뮤니티를 구체화된 논리로 기술함으로써 실시간에 커뮤니티가 구성되고 개체들이 다양하고 원활하게 커뮤니티 멤버로 영입될 수 있다(영입될 수 있으며 이들의 역할과 액션이 동적으로 결정된다).Fourth, real-time decision-making (dynamic reconfiguration) is possible. By describing communities in concrete logic, communities can be configured in real time and entities can be recruited to community members in a variety of ways (and can be recruited, their roles and actions are dynamically determined).

다섯째, 커뮤니티 상황 공유(community context sharing)가 가능해진다. 커뮤니티와 커뮤니티 멤버를 기술할 때 메타커뮤니티 컨텍스트 모델을 사용함으로써 커뮤니티 구성원간에 또는 커뮤니티간에 동일한 컨텍스트 이해 및 공유를 가능하게 하여 도메인 통합을 컨텍스트 레벨에서 지원할 수 있다. 커뮤니티 컴퓨팅은 유비쿼터스 개체들이 지능적(intelligence) 속성을 갖기 위한 기본 조건인 상기 사항을 충족시킨다.Fifth, community context sharing becomes possible. The use of the metacommunity context model when describing communities and community members enables domain consolidation at the context level, enabling the same context understanding and sharing between community members or between communities. Community computing meets the above, which is the basic condition for ubiquitous entities to have intelligence.

본 발명의 다른 효과는, 이상에서 설명한 실시예 및 본 발명의 청구범위에 기재된 사항뿐만 아니라, 이들로부터 용이하게 추고할 수 있는 범위 내에서 발생할 수 있는 효과 및 산업 발전에 기여하는 잠정적 장점의 가능성들에 의해 보다 넓은 범위로 포섭될 것임을 첨언한다.Other effects of the present invention, as well as those described in the above-described embodiments and claims of the present invention, as well as potential effects that may occur within the range that can be easily estimated therefrom and potential advantages that contribute to industrial development It will be added that it will be covered by a wider scope.

Claims (18)

커뮤니티의 목적, 정책, 멤버, 멤버 상호간의 작동, 커뮤니티 작동 상황, 커뮤니티 휴면 상황 등이 정의되어 하나의 커뮤니티를 형성하는 커뮤니티 형성 단계;A community forming step of defining a purpose, a policy, a member, an operation of members, a community operating situation, a community dormant situation, and the like to form a community; 상기 커뮤니티 형성 단계 이후 커뮤니티가 실제 커뮤니티 멤버를 구성하고 동작해야 할 시점을 기다리는 커뮤니티 대기 단계;Waiting for a time for the community to form and operate an actual community member after the community forming step; 상기 커뮤니티 대기 단계 이후 커뮤니티가 상황 정보를 감시하다가 커뮤니티 작동 상황이 되면 스스로 활성화되어 동작을 시작하는 커뮤니티 동작 단계;A community operation step in which the community monitors the status information after the community waiting step and then activates itself to start an operation when the community operation status is reached; 상기 커뮤니티 동작 단계 이후 커뮤니티가 커뮤니티의 목적을 만족시키거나 휴면할 상황이 되면 커뮤니티가 스스로 동작을 일시적으로 멈추고 다음 커뮤니티 동작 단계를 대기하는 커뮤니티 휴면 단계; 및A community dormant step in which the community temporarily stops operation on its own and waits for the next community operation step when the community meets the purpose of the community or sleeps after the community operation step; And 커뮤니티가 더 이상 동작할 필요가 없는 경우에 스스로 모든 동작을 종료하는 커뮤니티 종료 단계Termination phase of the community to end all actions on its own if the community no longer needs to operate 를 포함하는 커뮤니티 컴퓨팅 방법.Community computing method comprising a. 제 1 항에 있어서,The method of claim 1, 상기 커뮤니티는 유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델로서,The community is an autonomous collaboration model between entities that exist in a highly distributed form in a ubiquitous computing environment. 커뮤니티가 달성해야 하는 최종 목적을 담고 있는 커뮤니티 목적부;Community Goals Department, which contains the final goals the community should achieve; 커뮤니티를 캡슐화하여 지나치게 많은 정보가 공개될 수 있는 컴퓨팅 환경에 서 프라이버시 보호 및 보안을 위한 정보 은닉을 지원하며, 커뮤니티 단위로 정의된 복합 서비스를 재사용할 수 있게 하는 커뮤니티 스킨부;A community skin unit encapsulating a community to support information hiding for privacy protection and security in a computing environment in which too much information can be disclosed, and to reuse complex services defined in community units; 커뮤니티 자체가 갖는 기능들에 대한 정책 집합으로서 다양하게 커뮤니티에 접합되어 커뮤니티의 작동을 지원하는 커뮤니티 정책부;A community policy unit that is connected to the community as a set of policies for functions of the community itself and supports the operation of the community; 하나의 공동체로 묶여 커뮤니티가 추구하는 최종 목적을 달성하기 위해 상호간에 협력하는 커뮤니티 멤버부; 및 A community member unit that is tied together as a community and cooperates with each other to achieve a final goal pursued by the community; And 커뮤니티의 목적을 달성하기 위하여 상기 커뮤니티 멤버부가 취해야 하는 상황 기반의 액션을 제공하는 커뮤니티 액션부Community action unit that provides a context-based action that the community member should take in order to achieve the purpose of the community 를 포함하는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.Community computing method comprising a. 제 1 항 또는 제 2 항에 있어서, The method according to claim 1 or 2, 상기 커뮤니티는The community 웹 서비스, 애플리케이션, 에이전트 서비스 등이 커뮤니티 멤버부를 구성하며, 커뮤니티 사용자의 선호도와 주변 상황에 기반을 둔 복합 서비스를 지원하기 위해 서비스 간 협업을 가능하게 하는 역할을 하는 서비스 커뮤니티;A service community comprising a web member, an application, an agent service, and the like, wherein the web service, an application, and an agent service constitute a community member and enable collaboration between services to support a complex service based on community user preferences and surroundings; 인프라를 구성하는 네트워크 장치, 디바이스 등이 커뮤니티 멤버부를 구성하며, 위치 기반으로 디바이스 그룹을 생성하여 자원 관리 및 에러 복구, 품질 관리 등에 대해 지원하는 한편, 상기 서비스 커뮤니티에 대해 적절한 디바이스를 제안하며, 상기 서비스 커뮤니티의 적절한 운영을 위해 서비스 지향적 커뮤니티를 구성하여 주는 역할을 하는 인프라 커뮤니티; 및The network devices and devices constituting the infrastructure constitute a community member unit, create a device group based on location to support resource management, error recovery, quality management, etc., and propose an appropriate device to the service community. An infrastructure community that serves to construct a service-oriented community for the proper operation of the service community; And 가족, 직장 동료 등과 같은 실제 사용자가 커뮤니티 멤버부를 구성하며, 사용자 그룹에 대한 신뢰성, 그룹 작업 등에 대한 프로파일을 관리하여 상기 서비스 커뮤니티와 상기 인프라 커뮤니티에 대해 사용자의 요구 사항을 도출하여 주는 역할을 하는 사용자 커뮤니티Real users such as family members, coworkers, etc. constitute community members and manage profiles of user group reliability, group work, etc. to derive user requirements for the service community and the infrastructure community. community 로 구분되는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.Community computing method characterized in that divided into. 제 3 항에 있어서, The method of claim 3, wherein 상기 인프라 커뮤니티는 위치 기반 커뮤니티(location-based community) 와 서비스 지향 커뮤니티(service-oriented community) 두 개의 타입으로 존재하는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.The infrastructure community is a community computing method characterized in that there exist two types of location-based community (service-oriented community). 제 2 항에 있어서, The method of claim 2, 상기 커뮤니티의 목적부는,The purpose of the community is 특정 상황일 때 활성화되어 동작하다가 다시 특정 상황일 때 비활성화 되는 상태를 반복하며 지속되는 영구적 타입의 목적을 갖는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.A method of community computing, characterized in that it has a permanent type of purpose, which is activated and operated in a specific situation and then continues to be deactivated in a specific situation. 제 2 항에 있어서, The method of claim 2, 상기 커뮤니티의 목적부는,The purpose of the community is 단편적으로 생성되었다가 목적 달성 후 사라지는 일시적 타입의 목적을 갖는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.A community computing method, characterized in that it has a temporary type of purpose that is created fragmentally and then disappears after accomplishing the purpose. 제 2 항에 있어서, The method of claim 2, 상기 커뮤니티 멤버부는,The community member unit, 사용자, 서비스, 인프라 등이 그 개체가 되거나, 이들 각각이 모여 이루어진 그룹인 커뮤니티가 또 하나의 개체가 되는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.A community computing method, wherein a user, a service, an infrastructure, etc. become an entity, or a community that is a group of each of them becomes another entity. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 커뮤니티가 활성화되어 커뮤니티의 목적을 달성해 나가는 과정에서 스스로 학습에 의해 변화하고 진화하는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.Community computing method characterized by changing and evolving by learning in the process of the community is activated to achieve the purpose of the community. 제 1 항에 있어서,The method of claim 1, 상기 커뮤니티 종료 단계는,The community termination step, 커뮤니티가 자신의 운명을 다하고 완전히 사멸하는 단계인 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.Community computing method, characterized in that the community is at the stage of fulfilling its own fate and completely die. 제 1 항에 있어서,The method of claim 1, 상기 커뮤니티 종료 단계는,The community termination step, 커뮤니티가 사멸하지 않고 장기간 휴면 상태로 머무는 단계인 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.And a community staying dormant for a long time without dying. 제 1 항에 있어서,The method of claim 1, 상기 커뮤니티가 사용자에게 제공하는 서비스 타입이 일회성 서비스인 경우에는, 상기 커뮤니티가 상기 커뮤니티 형성 단계, 상기 커뮤니티 대기 단계, 상기 커뮤니티 동작 단계, 그리고 상기 커뮤니티 휴면 단계를 순차적으로 거쳤다가 곧바로 상기 커뮤니티 종료 단계로 가면서 서비스를 제공하는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법.When the service type provided to the user by the community is a one-time service, the community has sequentially gone through the community forming step, the community waiting step, the community operation step, and the community dormancy step, and then immediately goes to the community termination step. Community computing method characterized in that to provide a service on the go. 제 1 항에 있어서,The method of claim 1, 상기 커뮤니티가 사용자에게 제공하는 서비스 타입이 미디어 서비스와 같이 특정 상황(또는 요청 시점)에 반복해서 제공되어야 하거나 보안 서비스와 같이 백그라운드로 서비스되다가 특정 상황에서 동작해야 하는 경우처럼 일회성 서비스가 아닌 경우에는,When the service type provided to the user by the community must be repeatedly provided in a specific situation (or a request point) such as a media service or in the background such as a security service, but is not a one-time service such as when operating in a specific situation, 상기 커뮤니티가 상기 커뮤니티 형성 단계 및 상기 커뮤니티 대기 단계를 거친 후에 특정 상황일 때 커뮤니티 동작 단계로 들어갔다가 특정 상황이 종료하면 커뮤니티 휴면 단계로 들어가고 다시 또 다른 특정 상황이 발생하는 경우에는 커뮤니티 동작 단계에 반복적으로 들어가면서 서비스를 제공하는 것을 특징으로 하는 커뮤니티 컴퓨팅 방법. After the community has passed through the community forming step and the waiting for the community, it enters the community operation phase when the specific situation ends. When the specific situation ends, the community enters the dormancy phase. When another specific situation occurs, the community operation step is repeatedly performed. Community computing method characterized in that to provide a service as it enters. 유비쿼터스 컴퓨팅 환경에서 고도로 분산된 형태로 존재하는 개체 상호간의 자율적 협업 모델로 정의되는 커뮤니티의 컴퓨팅 시스템에 있어서, In a community computing system defined as an autonomous collaboration model between entities that exist in a highly distributed form in a ubiquitous computing environment, 상황 정보를 바탕으로 사용자에게 적절한 서비스를 제공하기 위하여 서비스를 위한 목표를 설정하고 서비스 협업을 관리하는 커뮤니티 매니저 ;A community manager that sets goals for services and manages service collaboration to provide appropriate services to users based on contextual information; 각각의 상황들에 대해 적용되는 룰(rule)을 저장하는 시추에이션 룰 레파지토리 ;A situation rule repository for storing rules applied for respective situations; 상기 시추에이션 룰 레파지토리로부터 컨텍스트 데이터의 집합체인 상기 상황 정보를 획득하여 상기 커뮤니티 매니저에 제공하는 시추에이션 매니저 ;A situation manager which obtains the situation information, which is a collection of context data from the situation rule repository, and provides the situation information to the community manager; 커뮤니티에 대한 기술(description)을 저장하고 상기 커뮤니티 매니저에 제공하는 커뮤니티 레파지토리 ;A community repository that stores a description of the community and provides it to the community manager; 서비스들을 타입으로 분류하고 각각의 타입에 대한 인터페이스를 정의하여 저장하는 메타 서비스 레파지토리 ; 및A meta service repository that classifies services into types and defines and stores interfaces for each type; And 상기 메타 서비스 레파지토리를 참조하여 서비스 목표를 달성하기 위한 멤버들을 발견하고 상기 커뮤니티 매니저에 연결시켜주는 커뮤니티 프레임워크를 구비하는 것을 특징으로 하는 커뮤니티 컴퓨팅 시스템.And a community framework for identifying and connecting members to the community manager to refer to the meta service repository. 제 13 항에 있어서, 상기 커뮤니티 매니저는,The method of claim 13, wherein the community manager, 모바일 기기에 장착되는 모바일 커뮤니티 매니저와 도메인 서버에 장착되는 도메인 커뮤니티 매니저로 구분되는 것을 특징으로 하는 커뮤니티 컴퓨팅 시스템. Community computing system, characterized in that divided into a mobile community manager mounted on a mobile device and a domain community manager mounted on a domain server. 제 14 항에 있어서, 상기 모바일 커뮤니티 매니저는,The method of claim 14, wherein the mobile community manager, 이동성을 지원하는 기기에 장착되며 사용자 정보, 선호도, 우선순위, 알려진 커뮤니티 매니저 리스트 정보를 구비하는 사용자 프로필 레파지토리 및 인증 모듈을 구비하는 것을 특징으로 하는 커뮤니티 컴퓨팅 시스템. And a user profile repository and authentication module mounted on a device supporting mobility and having user information, preferences, priorities, and known community manager list information. 제 14 항에 있어서, 상기 도메인 커뮤니티 매니저는,The method of claim 14, wherein the domain community manager, 특정한 도메인에서의 서비스를 지원하는 서버 프로그램인 것을 특징으로 하는 커뮤니티 컴퓨팅 시스템. Community computing system, characterized in that the server program that supports services in a specific domain. 제 13 항에 있어서, 상기 메타 서비스 레파지토리는,The method of claim 13, wherein the meta service repository, 상기 커뮤니티를 기술할 수 있는 언어인 커뮤니티 스키마의 스펙에 맞게 커뮤니티를 기술할 때에 참조할 메타 서비스들을 미리 선언하여 저장한 것을 특징으로 하는 커뮤니티 컴퓨팅 시스템. And predeclaring and storing meta services to be referred to when describing a community in accordance with a specification of a community schema, which is a language capable of describing the community. 제 13 항에 있어서, 상기 커뮤니티 매니저는,The method of claim 13, wherein the community manager, 상기 시추에이션 매니저로부터 전달되는 상기 상황 정보를 감시하고 커뮤니티의 트리거 상황과 동일성 여부를 체크하는 시추에이션 옵서버(observer) ;A situation observer that monitors the situation information transmitted from the situation manager and checks whether it is identical to a trigger situation of a community; 런타임시 커뮤니티 스크립트를 로딩하여 커뮤니티를 해석하고 멤버를 구성하는 커뮤니티 오거나이저(organizer) ;A community organizer that loads community scripts at runtime to interpret communities and organize members; 구성된 커뮤니티의 실행과 상태 관리를 제어하는 런너블(runnable) 커뮤니티 ; 및A runnable community that controls the execution and state management of the configured community; And 메타 서비스로 기술된 서비스 실행 메시지를 해당 서비스가 이해할 수 있는 메시지로 전환하여 상기 커뮤니티 프레임워크로 전송하는 컨텍스트 컨버터(converter)를 구비하는 것을 특징으로 하는 커뮤니티 컴퓨팅 시스템. And a context converter for converting a service execution message described as a meta service into a message understandable by the corresponding service and transmitting the converted message to the community framework.
KR1020060002853A 2005-07-04 2006-01-10 Method for Community Computing and Community Computing System KR100884693B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/160,334 US7849136B2 (en) 2006-01-10 2007-01-05 Computer program product and system comprising community management method
PCT/KR2007/000088 WO2007081118A1 (en) 2006-01-10 2007-01-05 Community computing method and community management system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050059624 2005-07-04
KR1020050059624 2005-07-04

Publications (2)

Publication Number Publication Date
KR20070004407A true KR20070004407A (en) 2007-01-09
KR100884693B1 KR100884693B1 (en) 2009-02-18

Family

ID=37870652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060002853A KR100884693B1 (en) 2005-07-04 2006-01-10 Method for Community Computing and Community Computing System

Country Status (1)

Country Link
KR (1) KR100884693B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932608B1 (en) * 2007-10-24 2009-12-17 아주대학교산학협력단 How community members collaborate in community computing
KR100955775B1 (en) * 2007-10-24 2010-04-30 아주대학교산학협력단 Community computing method and community member comprising method
KR101006476B1 (en) * 2008-09-25 2011-01-06 아주대학교산학협력단 Method and device for dynamic community computing and system thereof
KR101147525B1 (en) * 2008-10-27 2012-05-21 경희대학교 산학협력단 The personal financial index-based agent service system
US9489656B2 (en) 2010-11-12 2016-11-08 Samsung Electronics Co. Ltd. Method and apparatus for generating community

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100372951B1 (en) 2000-04-26 2003-02-25 주식회사 로커스디지털서비스 Method to create Community automatically on Internet Community service
KR20010106855A (en) * 2000-05-23 2001-12-07 유성준 The community creating system using network and the method
KR20040069928A (en) * 2003-01-30 2004-08-06 유경식 Community generation and management method using communication network
KR20040078539A (en) * 2003-12-31 2004-09-10 엔에이치엔(주) Method and Server for providing Instant Community Service on Internet Environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932608B1 (en) * 2007-10-24 2009-12-17 아주대학교산학협력단 How community members collaborate in community computing
KR100955775B1 (en) * 2007-10-24 2010-04-30 아주대학교산학협력단 Community computing method and community member comprising method
KR101006476B1 (en) * 2008-09-25 2011-01-06 아주대학교산학협력단 Method and device for dynamic community computing and system thereof
KR101147525B1 (en) * 2008-10-27 2012-05-21 경희대학교 산학협력단 The personal financial index-based agent service system
US9489656B2 (en) 2010-11-12 2016-11-08 Samsung Electronics Co. Ltd. Method and apparatus for generating community

Also Published As

Publication number Publication date
KR100884693B1 (en) 2009-02-18

Similar Documents

Publication Publication Date Title
Chen et al. Intelligent agents meet the semantic web in smart spaces
KR20090000122A (en) Community computing based dynamic service composition system
Stavropoulos et al. A survey of service composition in ambient intelligence environments
Khedr et al. Negotiating context information in context-aware systems
Alkhabbas et al. Architecting emergent configurations in the internet of things
Corredor et al. Knowledge-aware and service-oriented middleware for deploying pervasive services
Tazari et al. The PERSONA service platform for AAL spaces
Anastasopoulos et al. Towards a reference middleware architecture for ambient intelligence systems
Jaroucheh et al. CANDEL: product line based dynamic context management for pervasive applications
KR101009638B1 (en) Reasoning apparatus and method for user adaptive service and context-aware knowledge system using its
KR100884693B1 (en) Method for Community Computing and Community Computing System
US20110231355A1 (en) Intelligent ubiquitous-city middleware apparatus and the u-city system having the same
Fides-Valero et al. The PERSONA framework for supporting context-awareness in open distributed systems
Christopoulou Context as a necessity in mobile applications
Magerkurth et al. An intelligent user service architecture for networiked home environments
Bhardwaj et al. Smart space concepts, properties and architectures
WO2007081118A1 (en) Community computing method and community management system
KR100872303B1 (en) Situation rule registration and application method for community computing based collaboration system
Jih et al. A multi-agent context-aware service platform in a smart space
Sousa et al. Activity-oriented computing
Fraile et al. Hocama: Home care hybrid multiagent architecture
Man et al. The design and implementation of shared ontologies for smart space application
Dhomeja Supporting policy-based contextual reconfiguration and adaptation in ubiquitous computing.
Man et al. Retracted: shared ontology for pervasive computing
Paul-Stueve et al. Towards a social context model and architecture for large-scale pervasive environments

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 12