OMA-DM

OMA(Open Mobile Alliance)

이동통신 서비스 애플리케이션 표준화 기구이며 일부 애플리케이션 프로토콜을 다루고 있는 산업 포럼의 증진에 응하기 위해 2002년 6월 설립되었다.

Device Management(DM) ?

장치 관리 기술이란 직접 수익을 창출하는 기술은 아니지만, 사업자가 응용 서비스를 시작하고 개선하고 관리하는 과정에서 겪는 문제점들을 해결해 줄 수 있는 효과적인 기술로서 이들 서비스를 통한 수익 창출에 효과적인 솔루션이다.
WAP, 3G Partnership Project(3GPP), Open Service Gateway Initiative(OSGi), Telemanagement Forum(TMF)등은 그들이 개발한 응용 서비스를 관리해 줄 수 있는 기술, 그들이 개발한 서비스 관리 기법을 가능하게 해줄 기술을 필요로 하게 되었다.

OMA-DM

장치(단말기) 안에 존재하는 데이터를 서버가 원격으로 접근할 수 있도록 하는 Technology와 규격을 OMA가 제정함

OMA 장치 관리 기술은 범세계적인 이동 통신 시장의 특별한 Use Case와 요구 사항을 고려하여 개발되고 있으며, 특히 이동 단말기의 종류, 운영체제, 지역, 네트워크 기술에 제한되지 않은 열린 기술이기 때문에 결국 기존의 일부 특정 네트워크와 단말기에 국한된 장치 관리 기술들을 통합하거나 대체할 수 있는 기술이다.

OMA-DM 은 초기 설정, 소프트웨어 및 펌웨어 관리, 원 격 제어, 진단 및 모니터링 등의 기능을 가지고 있으며, 스마트폰 등의 모바일 단말을 대 상으로 관리 서비스를 제공한다.

OMA-DM 프로토콜

두 통신 상대가 장치 관리 서비스를 제공하는 서버와 장치 관리 서비스를 받아 처리하는 클라이언트의 관계를 갖는다는 관점에서 비대칭 구조를 갖는 프로토콜이다.
장치 관리 서버의 역할은 클라이언트에게 장치 관리 명령을 내리는 것이고 클라이언트의 역할은 주어진 명령을 수행하는 것이다. 장치 관리 서버는 장치 관리 명령을 통해 장치에 설치된 응용 서비스의 파라미터를 변경할 수 있으며, 새로운 파라미터를 생성하도록 할 수 있으며, 장치 내부의 정보를 읽어낼 수 있으며, 응용 소프트웨어를 장치에 설치하고, 그것들의 실행을 원격으로 제어할 수 있을 뿐 아니라 운용체제(OS)를 다시 설치할 수도 있다. 결국, OMA Device Management 프로토콜이란 장치의 자원을 장치 관리 서버가 원격으로 접근할 수 있게하는 프로토콜이며, 장치 관리 프로토콜을 통해 관리할 수 있는 이러한 자원을 관리 객체(Management Object) 라고 부른다

서버와 클라이언트간의 장치 관리 명령과 결과는 원격으로 XML에 기반한 마크업(Markup) 언어인 SyncML 메시지를 HTTP, WSP, OBEX 등의 유선, 무선, 또는 적외선 전송 프로토콜을 통해 서로 전송된다. 뿐만 아니라, Device Management(DM) Tree라는 장치 관리 프로토콜만의 파일 시스템을 정의하고 각 노드를 URI를 통해 접근할 수 있도록 하였다. 그리고, 장치 고유의 데이터 베이스 또는 파일 시스템은 DM Tree와 메핑을 통해 장치 관리 서버에게 투사된다. 그러므로 어떤 장치는 결국 장치 관리 서버에게 있어서 하나의 DM Tree로 나타나게 되는 셈이다. 또한 동일한 장치라도 주어진 접근 권한에 따라 서로 다른 서버에게 다른 형태로 나타나게 된다.

OMA Device Management 기술 규격의 구성

아래 그림의 규격 구성에 깔린 의도는 첫째로, 기본 규격(Base Protocol)을 다른“Silo”규격들과 분리함으로써 기본 규격이 오랜 기간동안 변하지 않고 꾸준한 안정화 과정을 지날 수 있도록 한다는 것이다. 안정적인 기본 프로토콜의 바탕 위에 변화하는 이동 통신 시장의 요구를 충족시키기 위한 독립적인“Silo”프로토콜들을 정의하도록 함으로써 최소한의 노력으로 안정된 토대 위에서 시장이 필요로 하는 규격을 공급할 수 있는 방안을 마련하였다. 이것은, 각“Silo”규격들이 오직 기본 프로토콜에만 의존적이면서 서로 간에 독립적인 구조를 갖는 프로토콜이기 때문이기도 하다. 둘째로, 자료 동기 프로토콜과 SyncML 파서와 SyncML Toolkit을 공유함으로써 기존 SyncML Toolkit에 기반한 네트워크 인프라를 보호하고 재활용할 수 있도록 하기 위함이다.

Management Object (MO)

OMA-DA의 관리 서버는 기기 내의 관리 객체(Management Object: MO)를 액세스함으로써 장치를 관리하도록 되어 있다. MO 에는 다음과 같은 것들이 있다.

FUMO(Firmware Update Management Object): 펌웨어 업데이트 관리
SCOMO(Software Management): 소프트웨어 컴포넌트 설치, 삭제, 관리
DiagMon MO(Diagnostics and Monitoring): 배터리, 메모리, 라디오, QoS 파라메터 상태를 수집, 진단
ConnMo(Connectivity): 베어러나 프록시 등 설정
DCMO(Device Capabilities): 카메라, 블루투스, USB 등 주변기기를 원격으로 활성 화/비활성화하는 권한
LAWMO(Lock and Wipe): 분실, 도난시 기기를 잠그거나 완전 삭제
BMO(Browser): 브라우저 설정 관리: VirMO(Virtualization): 원격에 있는 가상 머신을 관리
Management Policy MO: 어떤 이벤트가 발생하면 어떤 동작을 수행할 수 있도록 하는 정책을 배포 및 관리: OMA-DM 은 HTTP RESTful 메소드를 이용하며, XML 및 JSON 기반의 메시지를 이 용하고, SSL/TLS 보안 기술을 이용.

OMA-DM의 가상시나리오

어느 한 통신 사업자의 네트워크 관리자가 신규 가입자가 가입할 때 신청한 서비스 내역을 검토한 후 알맞은 응용 프로그램을 가입자 단말기에게 설치하도록 장치 관리 서버에게 요청한다.
장치 관리 서버는 Connectionless WAP Push방식으로 DM Notification메시지를 가입자 장치로 전송한다.
DM Notification 메시지는 장치 관리 서버의 전자 서명이 포함된 메시지이며 보통 장치 관리 클라이언트에 의해 처리되고 장치 관리 클라이언트가 서버에게 장치 관리 세션을 요청하도록 한다. 장치 관리 세션이 만들어 지면 장치 관리 서버는 응용 프로그램을 장치 관리 명령을 통해 주어진 응용 프로그램을 장치로 다운로드 한 뒤 그 응용 프로그램이 정상적으로 동작할 수 있도록 사용자 계정, 비밀 번호 등 서비스에 필요한 설정값을 구성하여 사용자가 요구한 대로 동작할 수 있도록 한다.
마지막으로, 장치 관리 서버는 역시 장치 관리 명령을 통해 장치의 화면에 앞서 일어난 과정에 대해 설명하는 문구를 나타내어 사용자에게 알려 준다. 사용자는 설치된 응용 프로그램을 이용하여 서비스를 이용한다.

OMA-DM의 ACL

OMA Device Management 프로토콜은 하나의 장치에 대해 여러 장치 관리 서버가 접근할 수 있도록 설계되었다. 예를 들어, 회사 업무용 소프트웨어를 설치한 단말기의 경우 그 회사의 장치 관리 서버를 구축하여 그 소프트웨어에 대한 사용자명, 비밀 번호, 게이트웨이 등 을 설정하여 회사 내 기밀 자원에 접근할 수 있도록 설정할 수 있으며, 다른 일반 서비스 즉, MMS 서비스 등의 관리를 위해선 외부 통신 사업자의 장치 관리 서버를 통해 장치에 접근하도록 하는 경우를 생각할 수 있다. 이를 위해 OMA Device management 프로토콜은 장치 내부에 존재하는 객체에 대한 관리 권한을 Access Control List(ACL)를 통해 제한하고 있다. ACL를 통해 클라이언트는 어떤 장치 관리 서버가 요청한 장치 관리 명령에 대한 수행 여부를 판단할 수 있다. 이러한 판단 기준은 특정 서버의 특정 장치 관리 명령에 대해 명시할 수가 있다.

참고자료

OMA 표준화 동향 - OMA Device Management [LG전자 이동통신기술연구소 김 태 현]
TTA저널 제 96호

Share