• 검색 결과가 없습니다.

자원인지 디바이스 협업 미들웨어 기술

문서에서 R&D연구결과보고서 (페이지 100-124)

자원인지 디바이스 협업 미들웨어는 스마트 TV, 스마트 폰, 스마트 패드 등 스마트 단말과 IP 기반 홈네트워크 장치가 연동된 스마트 홈 환경에서 단말간 끊김 없는 서비스 이동성과 협업을 통한 N-스크린 서비스를 제공하기 위하여 여러 스마트 단말들의 N-스크린 어플리케이션간의 협 업을 제공하는 미들웨어이다.

디바이스 협업 미들웨어 개발을 위해서 기능단위의 앱(App)을 Clouded Object로 정의하여 구 현하고, 복수개 연관 콘텐츠 앱을 여러 디바이스에서 동적으로 결합, 분할, 이동할 수 있도록 하 는 Clouded Object scheduler 기술을 설계 구현하였다.

자원인지 디바이스 협업 미들웨어를 효율적으로 지원하기 위해 필요한 고려사항으로는 N-스크 린 서비스 어플리케이션을 최소한의 인터페이스를 통해 개발할 수 있도록 플랫폼 외부 인터페이 스의 복잡성을 최소화하여 설계하였다. 설계 과정에서는 아래와 같은 설계 원칙을 적용하였다.

Ÿ 복잡성 최소화: 두 가지 인터페이스인 N-스크린 어플리케이션 인터페이스와 협업 에이 전트 인터페이스만으로 서비스 개발자가 개발할 수 있도록 시스템 복잡성을 최소화한다.

Ÿ 유지 관리의 편리함: 서비스 개발자가 개발한 비즈니스 로직과 독립적으로 하부 협업 미 들웨어를 제공함으로써 유지 관리가 용이하다.

Ÿ 느슨한 결합: 어플리케이션을 위한 인터페이스와 하부 어플리케이션 서비스 이동성 및 스마트 디바이스 입출력 부분을 독립적으로 분리할 수 있는 구조를 제공함으로써 시스 템 구성 컴포넌트간의 느슨한 결합을 제공한다.

Ÿ 확장성: 협업 미들웨어의 협업 위젯을 통해 어플리케이션 시스템이 접근하도록 처리함으 로써 협업 에이전트의 기능 확장이 용이한 구조를 제공한다.

Ÿ 계층화: N-스크린 서비스 플랫폼은 어플리케이션 계층, 서비스 이동성 지원 계층, 하부 협업을 위한 메시징 계층으로 계층화하여 시스템을 특정한 수준을 살펴보고 일관된 뷰 를 얻을 수 있도록 분산 계층을 제공한다. 계층화된 설계가 주는 장점들은 잘못된 어플 리케이션 코드가 가져오는 혼란을 막을 수 있고, 만약 이전 코드를 버리거나 재구성 할 수 있는 여건이 되었을 때 해당 인터페이스 계층을 제외한 어떠한 코드도 변경할 필요 가 없다는 점이다.

Ÿ 재사용성: 스마트 디바이스에 설치되는 두 서브시스템 컴포넌트는 일부를 다른 스마트 디바이스에서도 사용할 수 있으며, 특히 N-스크린 서버 및 미디어 변환서버와의 인터페 이스는 기존 콘텐츠 서버와의 인터페이스에 재사용될 수 있다는 장점이 있다.

나. 시스템 구조

자원인지 디바이스 협업 미들웨어의 연구 개발 목표는 분산된 스마트 디바이스들의 앱간 협업 을 지원하여 최종 서비스 개발자에게 N-스크린 서비스 개발 및 운용 플랫폼을 제공하는 것이며, 산출물의 형태는 각 스마트 디바이스에 탑재되어 실행되는 앱 형태의 시제품으로 제공된다. 자원 인지 디바이스 협업 미들웨어 아키텍처는 아래 그림과 같다.

그림 116 자원인지 디바이스 협업 미들웨어 구조

상기 그림에서 Application Layer는 자원인지 디바이스 미들웨어 API를 사용하여 개발된 응용 서비스들에 해당되며, 자원인지 디바이스 협업 미들웨어는 Middleware Layer에 해당되며, 가상 디바이스 Ensembler (Virtual Device Ensembler), 자원 의존성 관리자(Resource Dependency Manager), 원격 실행 에이전트 (Remote Execution Agent) 3개의 기술들로 구성된다. 각 기술들 에 대한 연구내용은 다음과 같다.

다. 의미 기반 가상 디바이스 앙상블 기술 1) 의미 기반 디바이스 Selection 기술

의미 기반 디바이스 Selection 기술은 N-스크린 협업 서비스를 위해 사용자가 협업 대상 디바 이스를 선택할 경우, 실행을 원하는 앱의 실행환경 정보에 부합하는 스마트 디바이스를 검색하여 제공하는 기술을 의미한다. 이를 수행하기 위해, 홈네트워크 내에 존재하는 스마트 디바이스들에 대한 정보를 정의하여 관리할 필요가 있다. 스마트 TV, 스마트 태블릿, 스마트 폰 등과 같은 스 마트 디바이스의 하드웨어 구성 사양정보와 같은 정적인 속성과 응용프로그램 설치현황 등과 같 은 실행시간에 결정되는 동적 속성 정보로 구분하여 관리하여야 한다. 따라서, N-스크린 서비스 에서 스마트 디바이스들간 상호연동 및 협업을 통해 서비스를 제공하기 위해 필요한 스마트 디바 이스의 프로파일에 대한 규격 정의가 필요하다.

스마트 디바이스 프로파일은 디바이스의 CPU, 메모리, 입력장치, 센서 등과 같은 정적인 속성 을 표현하는 규격과 스마트 디바이스가 임의의 실행 시점에 CPU, 메모리와 저장소 사용량, 전원 사용량, 네트워크 정보, 센서 상태정보, 어플리케이션 정보 등과 같은 스마트 디바이스의 동적 속 성을 표현을 위한 규격들을 포함하고 있다. 또한 홈 네트워크 내 스마트 디바이스가 아닌 다른 홈 오토메이션 디바이스들과의 상호연동을 제공하기 위한 DMAP(Device Management Architecture and Protocol) 상에서 표준적인 디바이스로 연계되어 운영될 수 있는 세부 규격을 정의한다.

그림 117 스마트 디바이스들 간의 디바이스 프로파일 요청/응답 처리

상기 그림은 N-스크린 서비스 플랫폼에서 협업을 하는 스마트 디바이스들 간의 디바이스 프로 파일에 대한 요청 및 응답 처리에 대한 개념도를 보인 것이다.

스마트 디바이스의 하드웨어 구성을 표현하고 있는 정보는 프로파일의 정적 정보를 프로파일 규격을 통해 제공 받을 수 있다. 스마트 디바이스 프로파일의 정적 정보는 아래와 같은 속성을 하 드웨어 구성장치별로 분류하여 정의한다.

Ÿ 시스템 기본정보 (System Information)

Ÿ 스마트 디바이스의 기본 정보: 디바이스명, UUID, 제조사, 모델명, 시리얼번호, 릴리즈 버전, SDK 버전

- 운영체제 정보: 운영체제명, 운영체제 버전 - CPU 정보: CPU명, 제조사, 클럭속도 - 메모리 정보: 메모리용량, 제조사

Ÿ 저장장치 (Storage): 저장장치 개수, 각 저장장치별 타입, 용량, 제조사

Ÿ 네트워크장치 (Network): 네트워크장치 개수, 각 네트워크 장치별 타입, 네트워크명 Ÿ 스크린 (Screen): 스크린 폭/높이, 인치당 픽셀밀집도, 가용 스크린 폭/높이, 가로방향

지원여부, 세로방향 지원여부

Ÿ 입력 장치 (Input Device): 입력장치 개수, 각 입력장치별 입력장치명, 입력장치타입, 지원입력클래스들

Ÿ 미디어 코덱 (Media Codec): 미디어코덱 개수, 각 미디어코덱별 코덱명, 지원타입, 지 원 미디어 프로파일, 인코더 지원여부

Ÿ 카메라 (Camera): 카메라장치 개수, 각 카메라별ID, 부착위치, 방향, 지원되는 비디오 크기 및 사진 크기

Ÿ 센서 (Sensor): 센서장치 개수, 각 센서장치별 센서타입, 센서명, GPS 지원여부

스마트 디바이스 정적 속성 프로파일의 세부 정보 (시스템, 저장장치, 네트워크, 스크린, 입력 장치, 미디어 코덱, 카메라 및 센서 정보 등)들에 대한 상세 규격은 부록 A-3의 1-4-1에 기술되 어 있다.

2) 의미기반 동적 디바이스 바인딩 기술

의미 기반 동적 디바이스 바인딩 기능을 제공하기 위해서는 사용자가 실행시점에서 스마트 앱 의 실행환경 정보에 부합하는 동적 정보를 가진 스마트 디바이스를 바인딩 하는 것이 필요하다.

스마트 앱의 실행에 요구되는 환경정보는 앱별로 스마트 앱 실행환경 스키마를 준수하여 기술한 다. 기술된 스마트 앱 실행환경 정보를 실행 시, Clouded Object 스케쥴러 내의 동적 바인딩 관 리자를 통해 홈네트워크 내 존재하는 스마트 디바이스들의 동적 프로파일 정보와 비교하여 실행 환경에 맞는 스마트 디바이스를 서비스에 바인딩 할 수 있는 기능을 제공한다. 아래 그림은 의미 기반 동적 디바이스 바인딩 기술에 대한 개념도를 보여주고 있다.

그림 118 의미 기반 디바이스 동적 디바이스 바인딩 기술 개념도

스마트 디바이스의 동적 상태정보는 디바이스가 실행시간에 제공되는 속성들을 의미하며, 주요 동적 상태정보의 유형별로 위의 그림과 같이 분류하여 제공한다. 동적 상태정보를 분류에 따라, 사용자가 원하는 유형의 동적 상태정보를 요청하면 해당 시점의 동적 상태정보를 제공해 준다.

Ÿ 자원 (Resource): CPU 및 메모리 사용량 정보

Ÿ 저장공간 (Storage): 외부 저장공간, 어플리케이션 저장공간, 시스템 저장공간에 대한 사용현황 정보

Ÿ 전원 (Power): 스마트 디바이스의 전원상태 정보 Ÿ 네트워크 (Network): 네트워크 상태 정보

Ÿ 센서 (Sensor): GPS 상태 정보

Ÿ 어플리케이션 (Application): 어플리케이션 실행 정보

스마트 디바이스 동적 속성 프로파일의 세부 정보 (자원이용현황, 저장공간현황, 전력사용현황, 네트워크사용현황, 센서현황, 앱실행상태 등)들에 대한 상세 규격은 A-3의 1-4-2에 기술되어 있 다.

라. 연관성 정보 추출 기술

1) 콘텐츠간 연관성 Description 언어 정의 및 구현

N-스크린 서비스 플랫폼을 통해 제공되는 각각의 앱들은 일반적으로 동영상, 정보서비스를 위 한 모델링된 정보, 이미지 등의 다양한 형태의 콘텐츠를 포함하고 사용자가 실행 시 서비스 형태 로 제공되고 있다. 다양한 형태의 콘텐츠 서비스를 N-스크린기반 협업 서비스를 통해 제공받기 위해서는 구축된 개별의 정보를 연결할 수 있는 메타 정보가 필요하다. 또한, 콘텐츠간의 연관성 을 표현할 수 있는 표준화된 형태의 Description 언어를 정의해야 한다. 본 연구에서는 서로 다른 스마트 앱에서 제공하는 다양한 콘텐츠 간의 연관성을 기술할 수 있는 콘텐츠간 연관성 Description 언어 설계 및 스키마를 정의하였다.

그림 119 콘텐츠간 연관성 정보 Description을 통한 서비스 개념도

그림 119 콘텐츠간 연관성 정보 Description을 통한 서비스 개념도

문서에서 R&D연구결과보고서 (페이지 100-124)