상기와 같은 목적을 달성하기 위하여 본 발명은 장치관리 명령의 수행조건 일치여부를 모니터링하는 제 1 모듈과; 상기 장치관리 명령의 수행조건이 일치되는 것으로 확인되면, 상기 장치관리 명령의 수행여부에 대해 사용자 확인을 수행하는 제 2 모듈을 포함하는 것을 특징으로 하는 단말을 제공한다.
또한, 본 발명은 장치관리 스케줄이 포함된 스케줄링 컨텍스트를 생성하여, 단말 내에 설치 요청하는 서버와; 여기서, 상기 장치관리 스케줄은 장치관리 명령과 상기 장치관리 명령의 수행조건을 포함하고, 그리고 상기 스케줄링 컨텍스트의 설치 요청을 처리하는 제 1 모듈과; 상기 장치관리 명령의 수행조건이 매칭되면, 상기 장치관리 명령의 수행여부에 대해 사용자 확인을 수행하는 제 2 모듈을 포함하는 단말을 포함하는 것을 특징으로 하는 시스템을 또한 제공한다.
바람직하게 상기 장치관리 스케줄은 사용자 상호작용(User Interacton) 조건을 더 포함할 수 있다. 여기서, 상기 사용자 상호작용 조건은 상기 장치관리 스케줄 내에서 UI 노드에 지정될 수 있다. 상기 UI 노드는 Notify 엘리먼트, Defer 엘리먼트, 또는 Reschedule 엘리먼트 중 하나 이상을 포함할 수 있다.
또한, 상기 스케줄링 컨텍스트는 상기 사용자의 권한을 지정하는 x/UserControl 노드를 포함할 수 있다.
실 시 예
이하에서는, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따른 장치관리 시스템의 구성도이고, 도 2는 스케줄링 컨텍스트를 장치관리 트리 형태로 예시적으로 나타낸 도이다. 이하, 도 1을 설명하면서, 도 2를 함께 설명하기로 한다.
도 1에 도시된 바와 같이, 본 발명에 따른 장치 관리 시스템은 DM서버(100) 와 단말(200)로 구성된다.
상기 DM 서버(100)는 스케줄링 컨텍스트 관리 모듈(110)과 상태 보고 처리 모듈(120)로 구성된다.
상기 스케줄링 컨텍스트 관리 모듈(110)은 스케줄링 컨텍스트를 생성하여, 상기 단말(200) 내에서 수행되도록, 상기 단말(200)에 설치 요청할 수 있는 유닛(Unit)이다.
이러한, 상기 스케줄링 컨텍스트 관리 모듈(110)은 OMA DM 규격에 따른 장치관리 세션을 상기 단말(200)과 수립한 후, 상기 수립된 장치관리 세션을 통해 상기 생성한 스케줄링 컨텍스트를 상기 단말(200) 내에 장치관리 트리 형태로 설치할 수 있다. 이때, 상기 스케줄링 컨텍스트는 장치관리 스케줄을 포함하여 구성될 수 있다. 상기 장치관리 스케줄은 장치관리 명령(Commands)과, 상기 장치관리 명령의 수행조건(Conditions)과, 그리고 사용자 상호작용(User Interaction) 조건을 포함하여 구성될 수 있으며, 이와 같이 구성되는 상기 장치관리 스케줄을 스케줄 컴포넌트라고도 한다.
한편, 상기 스케줄링 컨텍스트 관리 모듈(110)은 상기와 같이 설치 또는 수정한 상기 스케줄링 컨텍스트가 상기 단말(200) 내에서 변경되었을 때, 또는 오류가 발생하였을 때, 상기 단말(200)로부터 메시지를 수신하여, 처리할 수 있다.
상기 상태 보고 처리 모듈(120)은 상기 단말(200)로부터 상태 보고 예컨대, 장치관리 명령의 처리 결과를 수신하여, 파싱(Parsing)하는 유닛이다.
상기 단말(200)은 도시된 바와 같이 크게 DM 클라이언트 모듈(210)과, 그리 고 DM 스케줄러 모듈(220)로 구성될 수 있다.
상기 DM 클라이언트 모듈(210)은 상기 DM 서버(100)로부터 상기 스케줄링 컨텍스트의 설치 요청을 수신하고, 상기 스케줄링 컨텍스트 내의 장치관리 스케줄에 포함되어진 장치관리 명령을 수행하는 유닛이다. 보다 구체적으로는, 상기 DM 클라이언트 모듈(210)은 상기 스케줄링 컨텍스트의 설치 요청을 수신하여, 후술할 스케줄링 컨텍스트 설치 서브-모듈(221)로 전달한다.
상기 DM 스케줄러 모듈(220)은 보다 세부적으로는 스케줄링 컨텍스트 설치 서브-모듈(221)(Sub-Module)(221)과, 장치관리 명령의 수행조건 매칭 여부 확인 서브-모듈(222)과, 사용자 확인 서브-모듈(223), 장치관리 명령 수행 서브-모듈(224)과, 그리고 로그 관리 서브-모듈(225)로 구성될 수 있다.
먼저, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)은 상기 DM 클라이언트 모듈(210)을 통하여 전달되는, 상기 DM서버(100)의 스케줄링 컨텍스트 설치 요청을 처리하는 유닛이다. 즉, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)은 상기 스케줄링 컨텍스트가 상기 단말(200) 내에 장치관리 트리(DM Tree) 형태로 설치될 수 있도록 한다. 이때, 상기 장치관리 트리는 General 노드와, 하나 이상의 스케줄 컴포넌트와, 그리고, Log 노드를 포함하여 구성될 수 있다.
잠시, 상기 스케줄링 컨텍스트의 설치 형태인 장치관리 트리(DM Tree)에 대해서 설명하기로 한다. 상기 장치관리 트리는 예시적으로 도 2와 같을 수 있다.
구체적으로는, 상기 General 노드는 도 2에 도시된 바와 같이, 상기 설치되는 스케줄링 컨텍스트의 식별자를 나타나내는 ‘x/Id’ 노드와, 상기 스케줄링 컨 텍스트의 명칭을 나타내는 ‘x/Name’ 노드와, 상기 스케줄링 컨텍스트의 버전을 나타내는 ‘x/Version’ 노드와, 상기 스케줄링 컨텍스트의 소유자를 나타내는 ‘x/Server’ 노드와, 그리고 상기 스케줄링 컨텍스트의 현 상태를 반영하여 나타내는 ‘x/OpState’ 노드와, 상기 스케줄링 컨텍스트의 상태에 관한 제어 명령을 나타내는 ‘x/AdmState’ 노드와, 사용자에게 허여된 권한을 지정하는 ‘x/UserControl’ 노드를 포함하여 구성될 수 있다.
그리고, 상기 스케줄 컴포넌트는 상기 장치관리 스케줄의 XML 문서를 지정하는 ‘x/Schedule/x/Operation’ 노드와, 상기 스케줄 컴포넌트의 현 상태를 반영하여 나타내는 ‘x/Schedule/x/State’ 노드와, 상기 스케줄 컴포넌트의 초기 상태를 나타내는 ‘x/Schedule/x/InitState’ 노드와, 스케줄링 동작의 로그 저장을 제어하기 위한 ‘x/Schedule/x/LogControl’ 노드를 포함할 수 있다. 여기서, 상기 ‘x/Schedule/x/Operation’ 노드에서 지정되는 상기 장치관리 스케줄은 장치관리 명령(Commands)과, 상기 장치관리 명령의 수행조건(Conditions)과, 그리고 사용자 상호작용(User Interaction) 조건을 포함하여 구성될 수 있다.
다시 본론으로 돌아가, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)은 상기 DM 서버(100)가 상기 스케줄링 컨텍스트를 설치하려고 할 때, 사용자에게 확인을 할 수 있다. 이때, 상기 사용자 확인은 상기 스케줄링 컨텍스트 내에 포함된 수행조건들의 목록을 사용자가 열람할 수 있게 하는 것일 수 있다. 또는, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)은 상기 사용자 확인 외에 추가적으로 상기 사용자가 수행조건을 변경할 수 있게 하거나, 상기 수행조건을 중지시키거나, 종료시킬 수 할 수도 있다.
한편, 상기 수행조건의 매칭 여부 확인 서브-모듈(222)은 상기 수행조건의 매칭 여부를 모니터링하고, 상기 수행조건이 매칭되면 상기 사용자 확인 서브-모듈(223)에 사용자 확인을 요청하거나, 또는 상기 장치관리 명령 수행 서브-모듈(224)에 상기 수행조건에 해당하는 장치관리 명령을 수행하도록 요청할 수 있는 유닛이다.
한편, 상기 사용자 확인 서브-모듈(223)은 상기 장치관리 명령 수행조건 확인 서브-모듈(222)에 의해 상기 장치관리 명령을 수행할 상기 수행조건이 매칭되는 것으로 판단되면, 사용자 확인을 수행하는 유닛이다. 이러한 상기 사용자 확인은 앞서 설명한 바와 같이, 상기 스케줄링 컨텍스트 내에 포함되어진 상기 사용자 상호작용 정보(User Interaction Information)에 의해서 이루어질 수 있음을 이해하여야 할 것이다.
상기 사용자 확인은 사용자에게 상기 설치된 스케줄링 컨텍스트에 대한 정보를 제공하거나, 해당 장치관리 명령의 수행을 승인 또는 불허하도록 하는 것일 수 있다. 또는, 상기 사용자 확인은 하기의 표 1의 Notification을 통해 알 수 있는 바와 같이, 수행될 해당 장치관리 명령에 대한 정보를 제공하는 것일 수 있다. 또는, 상기 사용자 확인은 사용자의 입력을 받는 것일 수 있다. 즉, 상기 사용자 확인은 하기의 표 1의 Defer와 같이, 사용자가 스케줄링된 장치관리 명령을 연기할 수 있도록 하는 것이거나, 또는 상기 사용자 확인은 하기의 표 1의 Reschedule과 같이, 사용자가 장치관리 명령의 스케줄 즉, 수행조건을 재조정할 수 있도록 하는 것일 수 있다.
또는, 상기 사용자 확인은 하기의 표 2의 Halt and Restart와 같이, 사용자가 스케줄링 컨텍스트의 실행을 중지 또는 재시작할 수 있도록 하거나, 또는 사용자가 스케줄링 컨텍스트의 동작을 일시정지 또는 재개할 수 있도록 하는 것일 수 있다.
사용자 확인 타입 |
설 명 |
Notification |
장치관리 명령에 대한 알림 |
Defer |
스케줄된 장치관리 명령 연기 |
Reschedule |
스케줄의 수정 |
사용자 확인 타입 |
설 명 |
Halt and Restart |
스케줄링 컨텍스트의 실행을 중지 또는 재시작 |
Suspend and Resume |
스케줄링 컨텍스트의 동작을 일시정지 또는 해제 |
지금까지 설명한 바와 같이, 만약 상기 사용자가 상기 수행조건을 변경할 경우에는, 상기 사용자 확인 서브-모듈(223)은 상기 서버(100)의 상기 스케줄링 컨텍스트 관리 모듈(110)가 상기 변경 여부를 인지하도록 할 수 있다.
한편, 상기 장치관리 명령 수행 서브-모듈(224)은 상기 장치관리 명령을 수행할 조건이 매칭되는 것으로 판단되고, 그리고 상기 사용자가 해당 장치관리의 수행을 승인한 경우, 상기 장치관리 명령이 수행될 수 있도록 상기 DM 클라이언트 모듈(110)과 협력하는 유닛이다.
한편, 상기 로그 관리 서브-모듈(225)은 장치관리 스케줄링의 동작에 대한 로그를 저장하는 유닛이다. 이에 대한 예를 들면, 상기 로그 관리 서브-모듈(225)은 상기 장치관리 명령을 수행할 조건이 매칭되거나, 상기 스케줄링된 장치관리 명령이 수행되는 경우, 그 각각에 대한 로그를 저장할 수 있다. 이렇게 상기 로그 관리 서브-모듈(225)에 의해 저장된 로그는 상기 DM 서버(100)가 필요시 액세스할 수 있다.
지금까지는, 본 발명에 따른 장치관리 시스템의 구성에 대해서 설명하면서, 상기 DM 서버(100)는 상기 스케줄링 컨텍스트 관리 모듈(110)과 상기 상태 보고 처리 모듈(120)로 구성되고, 상기 단말(200)는 상기 DM 클라이언트 모듈(210)과; 그리고, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)과, 상기 수행조건 매칭 여부 확인 서브-모듈(222)과, 사용자 확인 서브-모듈(223)과, 상기 장치관리 명령 수행 서브-모듈(224)과, 그리고 상기 로그 관리 서브-모듈(225)을 포함하는 DM 스케줄러 모듈(220)로 구성되는 것으로 설명하였으나, 이들은 프로세서(미도시)와, 네트워크 인터페이스(미도시)와, 저장장치(미도시)의 조합으로 구성될 수도 있다.
이하에서는, 이와 같이 구성된 본 발명에 따른 장치관리 시스템의 동작에 대해서, 도 3 내지 도 4를 참조하여 보다 상세히 설명하기로 한다. 다만, 도 3 내지 도 4는 도면의 복잡성을 줄이기 위해 세부적인 구성 요소들 전부를 도시하지 않았으나, 도면에 나타난 각 동작은 전술한 바와 같이 상기 DM 서버(100) 및 상기 단말(200)의 세부 구성요소에 의해 이루어지는 것을 유념해야 할 것이다.
도 3은 도 1에 도시된 DM 서버(100)에 의한 스케줄링 컨텍스트의 설치 과정을 나타낸 흐름도이다.
이하, 설치 과정을 설명하면 다음과 같다.
1) 먼저, 상기 DM 서버(100)(구체적으로는, 상기 스케줄링 컨텍스트 관리 모듈(110)에 해당)가 장치관리 스케줄을 포함하는 스케줄링 컨텍스트를 생성한다. 이때, 상기 장치관리 스케줄은 전술한 바와 같이, 장치관리 명령과, 상기 장치관리 명령의 수행조건, 상기 사용자 상호작용 정보(User Interaction Information) 등을 포함하여 구성될 수 있다.
2) 그리고, 상기 DM 서버(100)는 상기 단말(200)의 DM 클라이언트 모듈(210)과 장치관리 세션을 연결하고, 장치관리 프로토콜을 이용하여 상기 생성한 장치관리 스케줄링 컨텍스트의 설치 요청을 상기 단말(200)의 상기 DM 클라이언트 모듈(210)로 전달한다.
3) 그러면, 상기 단말(200)의 상기 DM 스케줄러 모듈(220)(구체적으로는, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)에 해당)은 상기 스케줄링 컨텍스트의 설치에 대해 선택적으로 사용자에게 확인을 수행한다.
4) 상기 사용자 확인이 완료되면, 상기 단말(200)의 DM 스케줄러 모듈(220)(구체적으로는, 상기 스케줄링 컨텍스트 설치 서브-모듈(221)에 해당)은 상기 서버(100)가 상기 스케줄링 컨텍스트를 상기 단말(200) 내에 장치관리 트리 형태로 설치하도록 한다.
5) 상기 설치가 완료되면, 상기 단말(200)의 DM 클라이언트 모듈(210)은 상기 스케줄링 컨텍스트의 설치 처리결과를 상기 DM 서버(100)에 보고한다.
한편, 도 4는 본 발명에 따른 장치관리 스케줄링 방법을 나타낸 흐름도이다.
이하, 도 5를 참조하여, 각 과정을 설명하면 다음과 같다.
1) 먼저, 상기 DM 스케줄러 모듈(220)(구체적으로는, 상기 조건 매칭 여부 확인 서브-모듈(222)에 해당)이 상기 설치된 스케줄링 컨텍스트 내의 상기 수행조건을 확인하여, 상기 수행조건이 매칭되는지 여부를 모니터링 한다.
2) 상기 모니터링에 의해, 상기 수행조건이 매칭되는 것으로 확인되면, 상기 DM 스케줄러 모듈(220)(구체적으로는, 사용자 확인 서브-모듈(223)에 해당)은 선택적으로 사용자 확인을 수행한다. 여기서, 상기 사용자 확인은 전술한 바와 같이, 상기 스케줄링 컨텍스트 내에 포함되어진 상기 사용자 상호작용 조건을 통하여 이루어질 수 있다.
3) 상기 사용자 확인이 성공적으로 이루어지면, 이어서 상기 DM 스케줄러 모듈(220)(구체적으로는, 장치관리 명령 수행 서브-모듈(224)에 해당)은 상기 DM 클라이언트 모듈(210)과 협력하여, 상기 장치관리 명령을 수행한다.
한편, 도 4에는 도시되지 않았으나, 상기 단말(200)의 스케줄러 모듈(220)(구체적으로는, 로그 관리 서브-모듈(225)에 해당)은 설명한 각 과정 중에 발생하는 로그를 저장할 수 있다. 예를 들어, 상기 수행조건이 매칭될 때, 또는, 사용자 확인이 수행될 때, 또는 장치관리 명령이 수행될 때, 그에 대한 로그가 상기 단말(200)내의 저장수단에 저장될 수 있다.
여기까지 설명된 본 발명에 따른 방법은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명에 따른 방법은 저장 매체(예를 들어, 이동 단말기 내부 메모리, 플래쉬 메모리, 하드 디스크, 기타 등등)에 저장될 수 있고, 프로세서(예를 들어, 이동 단말기 내부 마이크로 프로세서)에 의해서 실행될 수 있는 소프트웨어 프로그램 내에 코드들 또는 명령어들로 구현될 수 있다.
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시예에만 한정되는 것은 아니므로, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.