본 발명의 유비쿼터스 지능공간에서의 소프트웨어 프레임워크 구조에서는 USS 구현을 위한 UMO의 지능형 리소스 공유를 위한 소프트웨어 프레임워크를 제안한다. 즉, 지능형 리소스 공유를 위한 소프트웨어 프레임워크는 사용자가 다양한 USS 환경 속에서 이동하면서 사용자의 필요에 따라 적절한 서비스를 제공하는 소프트웨어 프레임워크로서, 주변 환경에 존재하는 다양한 UMO에 탑재된다. UMO는 사용자가 USS 환경을 이동하면서 특정 서비스를 의도할 때 주변의 리소스나 컨텍스트 정보에 기반하여 자율 또는 사용자와 인터렉션을 통해서 서비스를 제공할 수 있도록 하는 것을 기술적 요지로 한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 설명한다.
하기의 설명에서 프레임워크의 전반적인 이해를 돕고자 프레임워크를 근본으로 하여 설명하도록 한다. 그러나, 프레임워크는 유비쿼터스 환경의 지능공간에서 최적의 리소스를 가상 리소스로하여 최적의 유비쿼터스 서비스를 제공받는 단말기의 각 유닛과 대응된다. 이에, 본 발명에 따른 단말기는 프레임워크와 대응되는 유닛으로 구성되어 유비쿼터스 서비스를 제공받을 수 있음은 자명한 사항이다.
우선, UMO 프레임워크에 의해서 제공되는 서비스는 크게 사용자 선호(preference) 기반 상황 인지를 통한 자율 리소스 공유 및 구성 서비스와 자율 환경 제어 서비스로 크게 나뉜다.
자율 리소스 공유 및 구성 서비스는 사용자가 제공받기 원하는 유비쿼터스 컴퓨팅(Ubiquitous Computing) 환경 서비스를 제공하기 위하여 사용자의 프로파일 및 USS 환경 내에서 제공되는 리소스들을 최적의 환경으로 자율적으로 구성하는 서비스이다.
자율 환경 제어 서비스는 사용자의 의도에 따라 사용자의 선호와 주변환경 컨텍스트 정보에 기반하여 UMO 프레임워크내의 자율 서비스 실행 메커니즘을 통해 USS 환경을 사용자 의도대로 제어할 수 있도록 하는 서비스이다.
이에 따라 UMO가 사용자에게 USS 환경 내에서 다양한 서비스를 제공하는 모습을 보여주고 있음을 도 1을 통해 알 수 있다.
다음은 본 발명의 UMO 프레임워크의 구조에 대해서 설명한다.
도 2는 본 발명의 UMO 프레임워크 구조를 보인 예시도이다.
도 2를 참조하면, UMO 프레임워크는 UMO 프레임워크의 중간에 위치한 USS Configuration Layer와 Situation Awareness Support Layer 두 개의 계층으로 이루어진다.
아래에 위치한 USS Configuration Layer는 통신 인프라를 지원하는 USS Interaction Layer 바로 위에 위치하여 USS 환경으로부터 리소스, 컨텍스트 정보를 수입하고, 이를 바탕으로 UMO가 서비스 제공하기 위하여 최적의 상태로 USS 환경을 구성하는 계층이다. USS Configuration Layer 바로 위에 위치하는 Situation Awareness Support Layer는 USS Configuration Layer와 Application Layer로부터 얻어진 정보를 바탕으로 USS에 대한 상황인지를 통한 지능적 서비스를 제공하는 계층이다.
이러한 UMO 프레임워크의 동작에 대해 도 3을 참조하여 기술하면 다음과 같다.
UMO 프레임워크는 사용자에 대한 서비스제공을 USS안에서 사용자 의도의 연 속적인 변화에 따라 UMO의 서비스를 수행 절차로 정의하고, 이러한 서비스의 수행 절차를 UMO 동작 사이클(Action Cycle)이라 정의한다.
UMO 동작 사이클은 사용자의 의도를 분석하고, 이에 따라 적절한 컴퓨팅 환경을 구성하도록 요청하는 Service Broker 블록, 요청된 정보를 기반으로 USS환경에 존재하는 리소스나 서비스를 검색하는 Discovery 블록, 검색된 리소스 및 컨텍스트 정보 등의 리소스 정보를 저장/관리/제공하는 CIB(Context Information Base) 블록, 검색된 정보 및 사용자 의도, 사용자 선호, 컨텍스트 정보에 따라서 서비스 제공에 적합한 리소스 맵을 구성하고 자율 서비스 수행 내용에 대하여 플랜을 만들어 내는 Reasoner 블록, 그리고 Reasoner 블록으로부터 도출된 리소스 맵을 바탕으로 실질적인 리소스를 사용할 수 있도록 하는 가상 디바이스 드라이버들을 이용한 바인딩을 하여 자율 리소스 공유 및 구성 서비스를 제공하는 Resource Composer 블록으로 나뉜다. 여기서 Service Broker는 Reasoner으로부터 만들어진 동작 플랜(Action Plan)을 바탕으로 자율 환경 제어 서비스를 수행한다.
도 2에 도시된 바와 같이 UMO 소프트 프레임워크는 사용자의 동작에 대응하는 UMO 동작 사이클이 일어나고 이러한 하나의 동작 사이클을 통하여 UMO는 사용자 및 환경을 인지를 기반으로 하는 서비스를 제공하게 된다. 사용자의 동작이 발생하게 되고, 이를 인지한 UMO는 Service Broker를 통해서 유저의 동작이 일어났음을 인지하고 서비스에 대한 요구를 받아들이게 된다.
Service Discovery를 통해서 요구사항 발생을 인지하게 되면, 주변 한경에 대한 컨텍스트 정보를 수집하기 위하여 Discovery Engine을 구동한다. Discovery Engine을 통해서 주변 공간에 대한 정보를 수집한 UMO는 수집된 정보를 이용하여 플랜이 가능하도록 적절한 필터링 및 조작한 정보를 CIB에 저장한다. 저장된 컨텍스트 정보를 기반으로 Reasoner는 사용자의 선호와 사용자의 서비스 요구사항에 대한 정보등을 이용하여 최적의 서비스가 가능하도록 리소스에 대한 맵을 생성하여 Resourc Composer에게 전달한다. 그러면 Resource Composer는 최적의 리소스 맵을 수신하여 CIB에 저장되어 있는 정보를 바탕으로 리소스를 적절히 바인딩함으로써, 서비스를 제공할 수 있는 환경을 구축한다.
도 4는 본 발명의 CIB 구조에 대한 예시도이다.
도 4를 참조하면, CIB는 UMO device가 사용할 수 있는 각종 리소스들에 대한 정보를 저장하는 기능, 저장된 정보에 대한 관리 및 질의 기능, 내부 context 정보를 이용하여 주변의 UMO에게 제공 가능한 리소스의 세부 description 정보를 생성하는 기능을 제공한다.
CIB는 CIB 저장소(storage)(41)와, UMO IB 관리부(Manager)(42)와, 리소스 랩퍼/인코더(Wrapper & Encoder)(43)와, 로컬 리소스(44)로 구성된다.
우선 CIB 저장소(storage)(41)는 다단계의 카테고리로 구성되는 리소스 및 서비스 기능, 주변의 UMO 디바이스들이 제공하는 공유 리소스와 컨텍스트 정보들을 저장한다.
UMO IB 관리부(Manager)(42)는 효율적인 데이터 관리 및 질의 기능을 지원하기 위해 저장된 CIB에 대한 다양하고 편리한 방식의 질의 기능과 CIB에 대한 추가/삭제 등 관리 기능을 제공한다.
리소스 랩퍼(Resource Wrapper)(43a)는 내부 컨텍스트 정보를 기반으로 외부 UMO 디바이스의 공유 리소스 정보를 변환 또는 추가하는 기능을 제공한다.
리소스 인코더(Resource Encoder)(43b)는 UMO 디바이스에서 제공할 수 있는 서비스에 대한 상세 정보를 외부의 UMO 디바이스에게 보여 주기 위해 내부 컨텍스트 정보를 기반으로 Resource description 정보(45)를 생성하는 기능을 제공한다. 생성된 정보는 리소스 제공부(Resource Provider)(46)를 통해 다른 UMO 디바이스들에게 전달된다.
이러한 구조의 CIB는 다음과 같은 기능을 제공한다.
- 다계층 데이터 구조: 다단계의 카테고리(category)로 구성되는 주변 리소스 및 서비스들에 대한 정보를 효율적으로 저장할 수 있는 저장소(storage)와 새로운 카테고리의 생성 및 일부 정보의 추가, 삭제에 대한 유연한 저장소 제공.
- 효율적인 데이터관리 및 질의 기능: 저장된 RIB/OIB에 대한 다양한 방식의 질의 기능 및 CIB에 대한 추가/삭제 등 관리 기능 제공.
- 컨텍스트에 따른 CIB 변환 및 추가 기능: 외부에서 수집된 Resource Description 정보를 CIB 저장을 위한 형태로 변환하는 기능 제공 및 CIB에 저장을 위해 내부 컨텍스트 정보와 사용자 선호 정보를 이용하여 Resource Description 정보(45)의 일부 정보를 추가 혹은 수정하는 기능 제공.
- Local Resource Description 정보 생성 기능: 내부 컨텍스트 정보로부터 외부에 제공 가능한 리소스들에 대한 Resource description 정보(45)를 생성하는 기능과, Resource Discovery 요청에 포함된 검색 조건에 따라 리소스 정보를 필터 링해서 요청에 최적화된 Resource Description 정보(45)를 재구성하는 기능 제공.
다음은 Service Reasoner Function 블럭에 대해서 상세히 설명한다.
UMO Service Reasoner는 UMO 사용자의 취향, 사용자 주변의 환경, UMO 디바이스의 내부 컨텍스트 정보를 이용하여 USS 상에서 사용자와 사용자 환경에 최적화된 UMO 서비스를 제공한다.
이러한 UMO 서비스를 위해서 Service Reasoner는 다음과 같은 기능을 제공한다.
- 사용자 선호 기반 서비스: 사용자 Preference 정보를 사용자 Preference 정보와 서비스 프로파일별로 정형화하고 정형화된 정보를 효율적인 형태로 저장하고 관리하는 기능. 사용자 Preference 정보 및 서비스 Profile별 Preference 정보를 수집, 추가, 수정하고 사용자 및 UMO Software Framework에 대한 다양한 사용자 Preference 정보를 검색할 수 있도록 지원하는 기능.
- 사용자 및 상황 인지 기반 서비스: 사용자 및 사용자 주변 환경의 변화를 인지하여 현재 상황에서 사용자에게 유용할 것으로 판단되는 서비스 프로파일을 사용자에게 추천하는 기능
- 자동화된 리소스 조합 생성 기능: 서비스 제공을 위해 검색된 모든 공유 리소스 정보들을 자동화된 방법에 따라 가용한 모든 리소스 조합 목록을 생성하는 기능. 사용자 요구에 부합하는 공유 리소스의 부재 시 대체 리소스를 검색하는 기능.
- 룰 기반 최적의 리소스 조합 선택 기능: 최적의 리소스 조합을 선택하여 서비스를 제공하기 위한 다양한 룰을 정의하고 관리하는 기능. 생성된 모든 리소스 조합 목록들로부터 미리 정의된 룰을 기반으로 해당 서비스 제공에 최적화 된 리소스 조합을 선택하는 기능.
UMO Service Reasoner는 사용자의 preference를 유지하고 추가 및 관리하기 위한 User Preference Manager, 사용자 및 사용자 주변 환경의 변화를 인지하여 현재 상황에서 사용자에게 유용할 서비스를 추천하기 위한 Action Flow Generator, Service Profile을 기반으로 검색된 사용자 주변의 다양한 공유 리소스를 가지고 서비스 제공이 가능한 모든 리소스 조합을 생성하는 Resource Map Generator, 생성된 Resource Map으로부터 최적의 서비스를 제공하기 위한 최종 리소스 목록을 작성하는 Reasoning Engine과 같이 4개의 block으로 구성되어 있다. 그림 5는 UMO Service Reasoner를 보여주고 있다.
- Preference Manager: Preference Manager는 사용자의 일반적인 Preference 정보 및 Service Profile별 사용자 Preference 정보를 정형화된 방법으로 저장하고 관리하는 기능을 제공하며, 학습에 의해 일반적인 Preference 정보 및 서비스 Profile 별 Preference 정보를 수집, 추가 및 수정하는 기능을 제공한다. 또한 사용자 및 UMO Software Platform의 다른 block의 정보 검색 요청에 대한 다양한 검색 기능을 제공한다.
- Action Flow Generator: Action Flow Generator는 사용자 및 사용자 주변 환경의 변화를 인지하여 현재 상황에서 사용자에게 유용할 것으로 판단되는 서비스 프로파일을 검색하여 사용자에게 추천하는 기능을 제공한다. Preference Manager가 제공하는 정보를 이용하여 현재 사용자의 주변 환경에서 광고하는 서비스 중 사용자의 취향 및 현재상태에 기반한 서비스를 추천하는 기능을 제공한다.
- Resource Map Generator: Resource Map Generator는 서비스 제공을 위해 검색된 공유리소스 정보들을 이용하여 자동화된 방법에 따라 가용한 모든 리소스 조합의 목록을 생성하여 Reasoning Engine에게 제공하는 기능을 수행한다. 또한 사용자 요구에 부합하는 공유 리소스가 주변에 존재하지 않는 경우 대체 리소스를 검색하는 기능을 제공한다.
- Reasoning Engine: Reasoning Engine은 Resource Map Generator가 제공한 공유 리소스 조합의 목록으로부터 최적의 리소스 조합을 선택하기 위한 다양한 룰을 정의하고 관리하는 기능을 수행한다. 최적화된 리소스 조합을 선택하기 위하여 다양한 형태의 Reasoning 기법을 장착할 수 있는 유연한 형태의 인터페이스를 제공한다.
다음은 Resource Composer Function 블럭에 대해서 상세히 설명한다.
Resource Composer는 Service Reasoner에 의해 최종적으로 만들어지는 리소스 맵을 전달받아 리소스의 셋(Set)을 구성하고 사용자에게 리소스를 사용할 수 있는 통로를 제공해 준다.
사용자가 요구하는 다양한 리소스들을 검색하고 최적의 조합을 선택하는 일들은 다른 기능 블럭들에서 수행되고, Resource Composer는 그 결과를 받아 리소스들을 조합하고 그 인터페이스를 다른 프로그램에서 사용할 수 있게 하는 역할을 담당한다. Resource Composer는 로컬 리소스가 아닌 원격 UMO에 존재하는 원격 리소 스를 포함한다.
Resource Composer(50)의 내부 구조는 도 5에 도시된 바와 같이 리소스 관리부(source Composition Manager)(51), 리소스 다운로드부(Resource Downloader)(52), 리소스 설치부(Resource Installer)(53)의 세 블록으로 구성된다.
리소스 관리부(Resource Composition Manager)(51)는 외부 블록인 Service Reasoner와 CIB와의 인터페이스를 제공하고 이를 통해 요청되는 리소스들의 리스트를 구성하기 위한 내부 블록인 리소스 다운로드부(Resource Downloader)(52)와 리소스 설치부(resource Installer)(53)에 대한 제어를 관장하여 리소스 구성에 실질적인 역할을 수행한다. Service Reasoner(60)는 리소스 관리부(Resource Composition Manager)(51)에 서비스 프로파일에 따른 리소스들의 ID를 전달하고, 리소스 관리부(Resource Composition Manager)(51)는 그 ID를 가지고 CIB로부터 각 리소스들에 대한 정보, 접근 방법, 공유 자원 등에 대한 정보 등을 얻는다.
리소스 다운로드부(Resource Downloader)(52)는 원격에 있는 리소스에 대한 공유 요청이 왔을 때 원격 UMO와의 통신 연결과 원격 UMO 디바이스에서 제공하는 가상 리소스용 소프트웨어인 Resource Access Provider(RAP) 소프트웨어를 다운로드 하는 기능을 담당한다.
리소스 설치부(Resource Installer)(53)는 Resource Access Provider(RAP) 소프트웨어들을 리소스 다운로드부(Resource Downloader)(52)로부터 전달받아 설치하고, 이들을 구동시키는 역할을 담당한다.
Resource Composer(50)는 이들을 구동함으로써, 가상 리소스(Virtual Resource)를 구성하며 이로써 외부의 UMO에 존재하는 리소스도 공유할 수 있게 된다. 가상 리소스(Virtual Resource)는 Resource Composer(50)에서 제공하는 가상적인 리소스로서 외부의 UMO에 존재하는 리소스가 로컬 리소스로 인식하는 리소스이다. Virtual Resource는 UMO 디바이스 간에 미리 정의된 통신 채널로 연결되어 UMO 디바이스는 로컬 리소스처럼 사용할 수 있게 된다. 이러한 서비스를 제공하기 위해 Resource Composer(50)는 다음과 같은 기능을 제공한다.
- CIB 인터페이스 및 데이터 검색과 분석 기능: UMO 플랫폼(Platform)의 CIB 데이터베이스 인터페이스 기능. 저장된 CIB에 대한 다양한 방식의 질의 기능, 다단계의 카테고리로 구성되는 주변 리소스 및 서비스들에 대한 저장소 검색 및 분석 기능.
- 원격 UMO간 커넥션 기능: UMO가 보유한 다양한 통신 채널을 통해 원격 UMO의 공유 리소스 획득을 위한 커넥션 및 데이터 송수신 기능.
- 원격 UMO로부터 가상 디바이스 드라이버 다운로드 기능: 가상 리소스를 구성할 수 있는 가상 디바이스 드라이버에 대한 신뢰성 있는 다운로드 기능 지원.
- 가상 디바이스 드라이버 설치 기능: 원격 UMO로부터 다운로드 받은 구동기와 제어 소프트웨어를 능동적으로 설치하여 가상 리소스를 장착하는 기능.
다음은 Service Discover에 대해서 상세히 설명하도록 한다.
UMO 서비스 프레임워크를 위한 서비스탐색 엔진은 도 5에 도시된 바와 같이 상위 레이어에 서비스를 제공하기 위한 프리미티브(primitive)와 Message processor, 주변의 리소스 공유 노드에대한 정보를 관리하는 Neighbor Manager, 그리고 서비스와 관련된 주변의 노드와의 상대적 위치를 파악하는 Localization Engine으로 구성되어있다.
- Service Discovery Engine Interface
Service Discovery Engine은 상위 레이어 또는 다른 컴포넌트와 interface하기 위한 primitive들은 다음과 같은 형태를 갖는다.
- Request primitives: 상위 레이어의 요청을 받아 Service Discovery가 요청 받은 기능을 수행한다.
- Confirm primitives: Request primitive에 의한 기능을 수행한 결과를 상위 레이어에게 반환하기 위해 사용된다.
- Indication primitive: Service Discovery가 메시지 수신과 같은 event를 상위 레이어에게 알리기 위해 사용된다.
- Response primitive: 상위 레이어가 Indication primitive의 처리 결과를 상대 device에게 전달하기 위해 사용된다.
- Message Processor
Message Process는 Primitive 호출을 통한 상위 레이어의 요청을 Service Discovery Message로 변환하여 Interaction Adapter를 통해 주변의 디바이스에게 전달하고 전달받은 Service Discovery Message를 해석하여 적절한 Indication Primitive를 호출하는 역할을 수행한다.
-Neighbor Manager
Neighbor Manager는 주변의 디바이스들에 대한 ID, UMO ID, Operation Mode(Directory mode 또는Peer-to-peer mode), 상태, Network address와 같은 정보를 관리한다.
-Localization Engine
Localization Engine은 공유 리소스 사용의 상황인지 기능에 기본적인 데이터로 사용되는 디바이스 간의 위치정보를 계산하는 기능을 수행한다. Localization Engine은 Service Discovery Message를 송수신하는 과정에서 Interaction Adapter에 의해 제공되는 무선 신호의 강도(RSSI)를 이용하여 디바이스간의 상대적인 거리 정보를 상위 레이어에 제공한다.
다음은 UMO 프레임워크 블럭 인터워킹(Inter-working)에 대해서 첨부된 도 6을 참조하여 설명하도록 한다.
UMO 프레임워크는 기능 블록 간에 인터페이스로 SAP(Service Access Point)를 사용한다.
UMO 프레임워크 내부 블록들의 SAP는 각각의 기능 블록들에 정의 되어 있다. UMO 프레임워크에서 사용하는 Primitives는 하기의 표 1과 같다.
USF Primitive |
요청(Request) |
표시(Indication) |
응답(Response) |
확인(Confirm) |
USF-PROFILE |
O |
|
|
O |
USF-RESOURCE |
O |
|
|
O |
USF-PREF-GET |
O |
|
|
O |
USF-PREF-SET |
O |
|
|
O |
USF-CIB-GET |
O |
|
|
O |
USF-CIB-SET |
O |
|
|
O |
RESOURCE-FIND |
O |
|
|
O |
DISCOVERY |
O |
O |
|
O |
ADVERTISE |
O |
|
|
O |
COMPOSITION |
O |
|
|
O |
UMO 프레임워크는 상위 Application Layer로부터 서비스 요청이 오면 도 7에 도시된 바와 같은 흐름으로 UMO 동작 플로우를 수행한다. Service Broker는 Application Layer로부터 PROFILE.Request를 받게 되면, 넘겨 받은 프로파일의 ID에 대해서 Service Reasoner에게 Resource를 구성해줄 것을 요청하게 된다. 요청 받은 Service Reasoner는 CIB.Request를 이용하여 CIB로부터 해당 Resource들 존재하는 지를 확인하게 되며 User Preference Manager로부터 Resource 구성에 대한 선호도를 확인한 후 RESOURCE-FIND.Request를 이용하여Resource Discover & Provider에게 해당 리소스들을 USS 환경에서 검색해 줄 것을 요청하게 된다. 검색 요청을 받은 Resource Discover & Provider는 DISCOVEY.Request를 이용하여 USS Interaction Adapter에게 USS 환경에 요청받은 리소스에 대한 Discovery 명령을 브로드캐스팅 한다.
USS Interaction Adapter를 통해서 검색된 정보는 DISCOVERY.Confirm을 통해서 Resource Discover & Provider는 다시 받게 되고 검색된 정보는 CB-SET.Request를 이용하여 CIB에 저장이 된다. 주어진 Time_out까지 Discovery가 완료되면 Resource Discover & Provider는 검색이 완료 되었음을 RESOURCE-FIND.Confirm을 통해서 Service Reasoner에게 알려준다. RESOURCE-FIND.Confirm을 받은 Service Reasoner는 User Preference Manager로부터 Resource, Context, User의 Preference 정보 및 CIB를 이용하여 적절한 Resource Composition Map을 생성하고 COMPOSITION.Request를 이용하여 Resource Composer에게 전달한다. Composition Map을 받은 Resource Composer는 주어진 Map에 따라 CIB로부터 해당 Resource에 대한 상세 정보를 얻어오고 필요 시 Virtual Resource및 관련 Software를 해당 UMO로부터 다운로드 받아 설치하여 자신의 Local Resource처럼 구성한다. 이러한 과정이 끝난 Resource Composer는 자신의 바뀐 Local Resource 정보를 CIB에 Update를 하게 된다. Update가 끝나면 Resource Composer는 COMPOSITION.Confirm을이용하여 Service Reasoner에게 알려주고 Service Reasoner는 요청 받은 모든 작업이 끝났음을 RESOURCE.Confirm을 통해 Service Broker에게 알려준다. RESOURCE.Confirm을 받은 Service Broker는 Application Layer에게 요청 받은 Profile에 대한 서비스 준비가 완료되었음을 PROFILE.Comfirm을 통해서 알려주게 되어 프로세스가 종료된다. 이러한 프로세스가 종료되면 Application Layer는 UMO Software Framework에 의해서 자율 구성된 서비스 환경을 이용하여 서비스를 제공받게 된다.
3. UMO Software Framework Profile Description
UMO 프레임워크 프로파일은 특정 UMO 서비스를 제공하기 위해 필요한 모든 리소스들에 대한 정의를 포함하며, UMO 프레임워크 프로파일 디스크립션(Description)은 첨부된 도 8과 같은 XML 형태로 표현된다.
UMO 프레임워크 프로파일 디스크립션은 UMO 서비스 프로파일을 근간으로 하여 다음과 같은 항목을 포함한다.
- 프로파일 요소(Profile element): UMO Software Framework Profile에 대한 고유한 ID, 이름 및 프로파일에 대한 설명을 포함한다.
- "Annotation" element: 해당 기능에 대한 설명을 나타낸다. 필요에 따라 "xml:lang" attribute로 구분되는 여러 개의 "Annotation" element를 포함할 수 있다. "xml:lang"의 값은 ISO 639-2[3] 규약을 따른다.
- 리소스 요소(Resource Element): UMO Software Framework Profile을 실행하기 위해 사용되는 개별 리소스에 대한 정보를 포함한다. 리소스 정보는 다단계의 category로 구성될 수 있는 리소스들에 대한 검색을 위해 "그룹(group)", "타입(type)", "아이템(item)" 속성(attribute)을 이용하여 원하는 리소스에 대한 포괄적인 정의를 지원한다.
- 리소스 요소(Resource Element)의 "group", "type", "item" attribute: 해당 리소스에 대한 분류 코드 값을 갖는다. 리소스 분류 코드에 대한 예시는 도 9에 도시된 바와 같다.
이상 전술한 프레임워크는 단말기를 통해서 구현이 가능하다. 즉, 단말기의 각 기능 유닛의 동작 및 작용을 통해 유비쿼터스 기능형 공간에서 최적의 리소스를 이용하여 유비쿼터스 서비스를 제공할 수 있다.
이에 따라, 단말기의 유비쿼터스 환경에서 디바이스와 통신을 수행하는 통신부와; 상기 통신부를 통해 유비쿼터스 지능 공간의 리소들로부터 컨텍스트 정보를 수집하는 컨텍스트 정보 취합부와; 상기 컨텍스트 정보를 저장하는 저장부와; 상기 컨텍스트 정보를 기반으로 최적의 리소스를 선택하는 리소스 선택부와; 상기 최적의 리소스를 가상 리소스로 구성할 수 있도록 통신환경을 설정하는 리소스 환경 설정부를 통해 가능하다.
도 10은 본 발명의 유비쿼터스 지능공간에서의 지능형 서비스 방법을 보인 흐름도이다.
우선, 단말기는 사용자의 요구가 입력되면(S110), 사용자 요구에 따라 유비쿼터스 지능형 공간에서 컨텍스트 정보를 수집한다(S120).
이후, 단말기는 수집된 컨텍스트 정보를 저장하고(S130), 저장된 컨텍스트 정보를 기반으로 최적의 서비스가 가능하도록 리소스 맵을 생성한다(S140).
다음 단말기는 리소스맵과 저장되어 있는 컨텍스트 정보를 이용하여 최적의 리소스와의 통신환경을 설정한다(S150).
이에 의해, 단말기는 최적의 리소스를 이용하여 유비쿼터스 서비스를 실행한다(S160).
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.