KR101488663B1 - Dm 서비스 세션 관리 시스템 및 방법 - Google Patents

Dm 서비스 세션 관리 시스템 및 방법 Download PDF

Info

Publication number
KR101488663B1
KR101488663B1 KR20070124240A KR20070124240A KR101488663B1 KR 101488663 B1 KR101488663 B1 KR 101488663B1 KR 20070124240 A KR20070124240 A KR 20070124240A KR 20070124240 A KR20070124240 A KR 20070124240A KR 101488663 B1 KR101488663 B1 KR 101488663B1
Authority
KR
South Korea
Prior art keywords
service
correlation
container
message transaction
session
Prior art date
Application number
KR20070124240A
Other languages
English (en)
Other versions
KR20090057589A (ko
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 KR20070124240A priority Critical patent/KR101488663B1/ko
Publication of KR20090057589A publication Critical patent/KR20090057589A/ko
Application granted granted Critical
Publication of KR101488663B1 publication Critical patent/KR101488663B1/ko

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

본 발명은 DM(Device Management) 서비스를 위해 이동 단말과 DM 서비스 서버 간의 주고받는 여러 개의 메시지 트랜잭션을 하나의 서비스 세션으로 처리할 수 있도록 하는 DM 서비스 세션 관리 시스템 및 방법을 제시한다.
이를 위해, 본 발명은 DM 서비스를 제공받고자 하는 이동 단말로부터 수신한 메시지 트랜잭션의 헤더에 포함되어 있는 정보를 처리하는 HTTP 서블릿과; 상기 메시지 트랜잭션의 헤더에 상관 ID(Correlate_ID)가 포함되어 있는 지를 확인하여, 상기 상관 ID가 포함되어 있지 않은 경우에는 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악한 후, 파악된 서비스 프로세서로 상기 메시지 트랜잭션을 전달하고, 상기 상관 ID가 포함되어 있는 경우에는 상기 상관 ID를 이용하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악한 후, 파악된 서비스 프로세서로 상기 메시지 트래잭션을 전달하는 세션 처리부와; 상기 세션 처리부의 제어하에 상관 ID가 포함되어 있지 않은 메시지 트랜잭션을 처리하기 위한 서비스 프로세서를 선택하는 프로세스 선택부와; 상기 세션 처리부의 제어하에 DM 서비스 세션에 대한 상관 ID를 생성하고, 생성한 상관 ID와 상기 DM 서비스 세션을 통해 서비스를 처리할 서비스 프로세서 정보를 컨테이너에 설정하여, 이를 컨테이너 레지스터에 저장하는 로컬 컨테이너를 포함하여 이루어지는 것이 바람직하다.
이에 따라, 본 발명은 이동 단말로부터 수신한 메시지 트랜잭션의 바디를 열 어보지 않고도 해당 메시지 트랜잭션을 처리할 서비스 프로세서를 구분할 수 있게 된다.
DM 서비스 세션, 서비스 프로세서, 상관 ID, 컨테이너

Description

DM 서비스 세션 관리 시스템 및 방법{SYSTEM AND METHOD FOR MANAGEMENT DM SERVICE SESSION}
본 발명은 DM 서비스 세션 관리 시스템 및 방법에 관한 것으로서, 특히 DM(Device Management) 서비스를 위해 이동 단말과 DM 서비스 서버 간의 주고받는 여러 개의 메시지 트랜잭션을 하나의 서비스 세션으로 처리할 수 있도록 하는 DM 서비스 세션 관리 시스템 및 방법에 관한 것이다.
이동 통신 기술의 발달로 이동 단말의 고기능/복잡화가 가속화됨에 따라, 이동 단말 제조자들, 서비스 제공자들 및 소프트웨어 개발자들이 출시된 이동 단말들에 대한 이동 단말의 설정 및 소프트웨어 버전을 유지시켜야 할 필요성도 늘어나고 있다.
이에 따라, 이동 단말 제조자들, 서비스 제공자들 및 소프트웨어 개발자들은 이동 단말을 무선으로 원격 제어하여 변화하는 서비스 환경 및 고객 불만에 대해 즉각 대처하고자 한다.
전술한 바와 같이, 이동 단말의 버그에서부터 펌웨어 등 각종 소프트웨어를 무선으로 원격 관리하는 단말 원격 관리(Device Management) 서비스(이하, 'DM 서비스'라 칭함)를 제공하는 경우, DM 서비스 서버와 이동 단말 간의 DM 통신은 HTTP 방식을 사용하는 WAS(Web Application Server) 구조로 HTTP 헤더에 포함되어 있는 HTTP 관련 사항을 처리하는 서블릿 처리 과정과, HTTP 바디에 포함되어 있는 DM 프로토콜을 처리하는 DM 프로토콜 처리 과정으로 구분되어 있다.
한편, DM 서비스는 하나의 서비스 세션이 여러 개의 메시지 트랜잭션으로 구성된다. 이에 따라, 매번 이동 단말로부터 올라오는 메시지 트랜잭션은 서블릿 처리부를 거친 후, DM 프로토콜 처리부에 도달하게 되며, 메시지 트랜잭션이 DM 프로토콜 처리부에 도달했을 때 비로소 해당 메시지 트랜잭션을 처리한 서비스 프로세서를 구분할 수 있게 된다.
즉, 종래에는 DM 프로토콜 처리부에서 메시지 트랜잭션의 HTTP 바디에 포함되어 있는 DM 프로토콜을 분석하여 DM 서비스를 구분하게 된다.
그러나, DM 프로토콜이 포함되어 있는 HTTP 바디는 서비스 프로세서가 열어봐야 하는 것으로, 종래에는 서비스 프로세서가 열어봐야 하는 HTTP 바디를 이동 단말로부터 메시지 트랜잭션을 수신할 때마다 DM 프로토콜 처리부에서도 DM 서비스를 구분하기 위해 열어 보게 됨에 따라, 리드 타임(Lead Time)이 더 걸리게 되는 문제점이 발생하게 된다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 이동 단말로부터 수신되는 메시지 트랜잭션의 헤더에 포함되어 있는 상관 ID를 이용하여 메시지 트랜잭션을 처리할 서비스 프로세서를 바로 구분할 수 있도록 함으로써, HTTP 바디를 열어보지 않고도 메시지 트랜잭션을 처리할 서비스 프로세서를 구분할 수 있도록 하는 DM 서비스 세션 관리 시스템 및 방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 DM 서비스 세션 관리 시스템은, DM 서비스를 제공받고자 하는 이동 단말로부터 수신한 메시지 트랜잭션의 헤더에 포함되어 있는 정보를 처리하는 HTTP 서블릿과; 상기 메시지 트랜잭션의 헤더에 상관 ID(Correlate_ID)가 포함되어 있는 지를 확인하여, 상기 상관 ID가 포함되어 있지 않은 경우에는 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악한 후, 파악된 서비스 프로세서로 상기 메시지 트랜잭션을 전달하고, 상기 상관 ID가 포함되어 있는 경우에는 상기 상관 ID를 이용하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악한 후, 파악된 서비스 프로세서로 상기 메시지 트래잭션을 전달하는 세션 처리부와; 상기 세션 처리부의 제어하에 상관 ID가 포함되어 있지 않은 메시지 트랜잭션을 처리하기 위한 서비스 프로세서를 선택하는 프로세스 선택 부와; 상기 세션 처리부의 제어하에 DM 서비스 세션에 대한 상관 ID를 생성하고, 생성한 상관 ID와 상기 DM 서비스 세션을 통해 서비스를 처리할 서비스 프로세서 정보를 컨테이너에 설정하여, 이를 컨테이너 레지스터에 저장하는 로컬 컨테이너를 포함하여 이루어지는 것이 바람직하다.
나아가, 상기 세션 처리부는, 상기 메시지 트랜잭션의 헤더 내 <LocURI>를 분석하여 상관 ID가 포함되어 있는 지를 판단하는 것이 바람직하다.
또한, 상기 세션 처리부는, 상기 헤더에 상관 ID가 포함되어 있지 않으면, 상기 메시지 트랜잭션의 바디 내 DM 프로토콜에 포함되어 있는 SID(Session ID)를 이용하여, SID별로 서비스 정보를 저장하여 관리하고 있는 DM 세션 테이블에서 상기 SID에 매핑되어 있는 서비스 정보를 조회한 후, 조회한 서비스 정보를 이용하여 상기 프로세스 선택부를 통해 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 선택하고, 상기 선택된 서비스 프로세서에 의해 DM 서비스 세션이 생성되면, 상기 로컬 컨테이너를 제어하여 상기 DM 서비스 세션에 대한 상관 ID를 생성한 후, 생성된 상관 ID와 상기 선택된 서비스 프로세서에 대한 정보를 컨테이너에 설정하여 컨테이너 레지스터에 저장하는 것이 바람직하다.
또한, 상기 세션 처리부는, 상기 헤더에 상관 ID가 포함되어 있으면, 상기 상관 ID를 이용하여 상기 로컬 컨테이너로부터 상기 상관 ID에 매칭되어 있는 컨테이너를 로딩하고, 상기 컨테이너에 설정되어 있는 서비스 프로세서 정보에 의거하여 상기 메시지 트랜잭션을 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서로 전달하는 것이 바람직하다.
그리고, 상기 로컬 컨테이너는, 상관 ID의 중복을 피하기 위해 상기 이동 단말의 IP 정보와 타임 스탬프(Time Stamp)를 조합한 후, 베이스64(Base64)로 인코딩한 값으로 상관 ID를 생성하는 것이 바람직하다.
또한, 상기 로컬 컨테이너는, 상기 컨테이너 레지스터에 TTL(Time To Live)이 지난 컨테이너인, DM 서비스 세션의 비정상 종료로 남아 있는 컨테이너가 존재하는 지를 확인하여, TTL이 지난 컨테이너가 존재하면, 검색된 컨테이너를 상기 컨테이너 레지스터에서 삭제하는 것이 바람직하다.
또한, 상기 로컬 컨테이너는, DM 서비스 세션이 완료되면, 상기 DM 서비스 세션에 대한 상관 ID를 이용하여 상기 상관 ID와 관련한 컨테이너를 상기 컨테이너 레지스터에서 삭제하는 것이 바람직하다.
그리고, 상기 컨테이너 레지스터는, 해시 맵(Hash Map)으로 구성되는 것이 바람직하다.
그리고, 상기 세션 처리부로부터 상기 메시지 트랜잭션을 전달받은 서비스 프로세서는, 상기 세션 처리부로부터 전달받은 메시지 트랜잭션을 처리한 후, 처리 응답으로 생성되는 SyncML 메시지 내 <SyncHder>의 <RespURI>에 상기 상관 ID를 포함시켜 응답하는 것이 바람직하다.
한편, 본 발명의 일 실시예에 따른 DM 서비스 세션 관리 방법은, DM 서비스를 제공받고자 하는 이동 단말로부터 메시지 트랜잭션을 수신하면, 상기 메시지 트랜잭션의 헤더에 상관 ID가 포함되어 있는 지를 판단하는 과정과; 상기 판단결과 상기 헤더에 상관 ID가 포함되어 있지 않은 경우에는, 상기 메시지 트랜잭션의 바 디에 포함되어 있는 DM 프로토콜 분석을 통해 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악하여, 상기 메시지 트랜잭션을 상기 서비스 프로세서로 전달하고, 상기 서비스 프로세서에 의해 생성된 DM 서비스 세션에 대한 상관 ID를 생성하는 최초 메시지 트랜잭션 처리 과정과; 상기 판단결과 상기 헤더에 상관 ID가 포함되어 있는 경우에는, 상기 상관 ID를 이용하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서 정보를 저장하고 있는 컨테이너로부터 상기 서비스 프로세서 정보를 획득한 후, 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서로 상기 메시지 트래잭션을 전달하는 다음 메시지 트랜잭션 처리 과정을 포함하여 이루어지는 것이 바람직하다.
나아가, 최초 메시지 트랜잭션 처리 과정은, 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여, 상기 DM 프로토콜에 포함되어 있는 SID(Session ID)를 이용하여 DM 세션 테이블에서 상기 SID에 매핑되어 있는 서비스 정보를 조회하는 과정과; 상기 서비스 정보에 의거하여 프로세스 선택부에서 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 선택한 후, 상기 선택된 서비스 프로세서로 상기 메시지 트랜잭션을 전달하는 과정과; 상기 서비스 프로세서에서 DM 서비스 세션을 생성하고, 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 이동 단말이 요구하는 서비스를 처리한 후, 상기 이동 단말로 처리 응답을 전송하기 위해 생성하는 응답 메시지의 헤더에 상기 상관 ID를 포함시켜 전송하는 과정과; 상기 서비스 프로세서가 상기 DM 서비스 세션을 생성함에 따라, 세션 처리부에서 로컬 컨테이너를 통해 상기 DM 서비스 세션에 대한 상관 ID를 생 성하는 과정과; 상기 상관 ID와 상기 서비스 프로세서의 정보를 새로 할당된 컨테이너에 설정하여 컨테이너 레지스터에 저장하는 과정을 포함하여 이루어지는 것이 바람직하다.
그리고, 다음 메시지 트랜잭션 처리 과정은, 상기 메시지 트랜잭션의 헤더에 포함되어 있는 상관 ID를 이용하여 컨테이너 레지스터에 상기 상관 ID에 매핑되어 있는 컨테이너가 존재하는 지를 판단하는 과정과; 상기 판단결과 상기 컨테이너 레지스터에 상기 상관 ID에 매핑되어 있는 컨테이너가 존재하지 않는 경우에는, 상기 메시지 트랜잭션을 실패 처리하고, 상기 상관 ID에 관계된 DM 서비스 세션을 종료하는 과정과; 상기 판단결과 상기 컨테이너 레지스터에 상기 상관 ID에 매핑되어 있는 컨테이너가 존재하는 경우에는, 검색된 컨테이너로부터 서비스 프로세서 정보를 획득하는 과정과; 상기 상관 ID에 관계된 DM 서비스 세션이 완료되었는 지를 확인하여, 상기 DM 서비스 세션이 완료된 경우에는, 상기 상관 ID와 관계된 컨테이너를 컨테이너 레지스터에서 삭제하고, 상기 DM 서비스 세션이 완료되지 않은 경우에는, 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서로 상기 메시지 트랜잭션의 처리를 요청하는 과정과; 상기 서비스 프로세서에서 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 이동 단말이 요구하는 서비스를 처리한 후, 상기 이동 단말로 처리 응답을 전송하기 위해 생성하는 응답 메시지의 헤더에 상기 상관 ID를 포함시켜 전송하는 과정을 포함하여 이루어지는 것이 바람직하다.
본 발명의 DM 서비스 세션 관리 시스템 및 방법에 따르면, 서비스 프로세서에 의해 DM 서비스 세션이 생성되면, 해당 DM 서비스 세션에 대한 상관 ID를 생성한 후, 생성한 상관 ID와 서비스 프로세서 정보를 매핑시켜 관리하고 있다가, 이동 단말로부터 수신되는 메시지 트랜잭션의 헤더에 포함되어 있는 상관 ID를 이용하여 메시지 트랜잭션을 처리할 서비스 프로세서를 바로 구분함으로써, HTTP 바디를 열어보지 않고도 DM 서비스를 구분할 수 있게 된다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 DM 서비스 세션 관리 시스템 및 방법에 대해서 상세하게 설명한다.
본 발명을 설명하기에 앞서, 본 발명에 따른 DM 서비스 세션 관리 시스템 및 방법이 구현되기 위해서는 이동 단말에서 DM 서비스 서버로 수신되는 메시지 트랜잭션의 HTTP 헤더 내 <LocURI>에 상관 ID(Correlate_ID:CID)가 포함되어 있어야 한다.
단, 이동 단말로부터 수신한 메시지 트랜잭션이 DM 서비스 세션이 시작되는 최초 메시지 트랜잭션인 경우에는 HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있지 않으며, 이러한 최초 메시지 트랜잭션의 HTTP 헤더 내 <LocURI>를 예시적으로 살펴보면, 'HTTP POST http://dmc.nate.com/dm'와 같다.
그리고, 이동 단말로부터 수신한 메시지 트랜잭션이 최초 메시지 트랜잭션 이후에 수신되는 다음 메시지 트랜잭션인 경우에는 HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있으며, 전술한 바와 같이 상관 ID가 포함되어 있는 다음 메시지 트랜잭션의 HTTP 헤더 내 <LocURI>를 예시적으로 살펴보면, 'HTTP POST http://dmc.nate.com/dm? cid=W0JAZDQ2Yjk1LTExODI0MTA5ODA2Nj '와 같다.
도 1은 본 발명의 일 실시예에 따른 DM 서비스 세션 관리 시스템의 구성을 개략적으로 보인 도이다.
도 1에서, HTTP 서블릿(Http Servlet)(10)은 GET, POST 등 HTTP 커맨드 요청을 처리하는 부분으로, 이동 단말(1)로부터 메시지 트랜잭션을 수신하게 되면, HTTP 바디에 포함된 DM 서비스 세션 처리를 위해, 세션 처리부(20)로 메시지 트랜잭션의 처리 제어를 넘겨준다.
전술한 HTTP 서블릿(10)은 이동 단말(1)로부터 수신한 메시지 트랜잭션의 HTTP 헤더(Header)에 포함되어 있는 정보를 처리하여 세션 처리부(20)로 전달한다.
세션 처리부(Session Handler)(20)는 이동 단말(1)로부터 요청된 DM 서비스 세션을 처리하는 부분으로, DM 프로토콜의 서비스 세션 정보에 따라 HTTP 바디(Body)를 해당 서비스 프로세서(70-1, 70-2, 70-3, …, 70-n)로 분기한다.
전술한, 세션 처리부(20)는 HTTP 서블릿(10)을 통해 이동 단말(1)로부터 수신한 메시지 트랜잭션의 HTTP 헤더 내 <LocURI>에 상관 ID(Correlate_ID)가 포함되어 있는 지를 판단하여, HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있지 않은 경우 즉, 이동 단말(1)로부터 DM 서비스 세션이 시작되는 최초 메시지 트랜잭션이 도달한 경우에는, HTTP 바디에 포함되어 있는 DM 프로토콜의 SID(Session ID)를 키(Key)로 하여 DM 세션 테이블(30)로 서비스 정보를 질의(Query)하여, 서비스 정보를 조회하고, DM 세션 테이블(30)에서 조회한 서비스 정보를 프로세스 선택부(Process Selector)(40)로 전달하여, 프로세스 선택부(40)로 하여금 서비스 정보에 해당하는 서비스 프로세서를 선택하도록 한다.
또한, 세션 처리부(20)는 프로세스 선택부(40)를 통해 서비스 정보에 해당하는 서비스 프로세서를 선택한 후에는, 로컬 컨테이너(50)를 제어하여 DM 서비스 세션(프로세스 선택부에 의해 선택된 서비스 프로세서에서 생성한 DM 서비스 세션)에 대한 상관 ID를 생성한다.
한편, HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있는 경우, 세션 처리부(20)는 HTTP 헤더 내 <LocURI>에 포함되어 있는 상관 ID를 키(Key)로 하여 로컬 컨테이너(Local Container)(50)로부터 해당 상관 ID에 매칭되어 있는 컨테이너를 로딩한 후, 컨테이너에 설정되어 있는 서비스 프로세서 정보에 의거하여 HTTP 바디를 바로 해당 서비스 프로세서로 분기한다.
한편, DM 세션 테이블(30)은 DM 프로토콜의 SID 태그(Tag)에 포함된 세션 정보와 서비스 정보를 매핑하여 관리하되, 세션 처리부(20)가 SID를 키로 하여 서비스 정보를 질의하여 조회할 수 있도록 한다.
프로세스 선택부(40)는 세션 처리부(20)로부터 서비스 정보를 전달받으면, 전달받은 서비스 정보에 해당되는 서비스 프로세서를 선택한다.
전술한 바와 같이, 프로세스 선택부(40)에 의해 선택된 서비스 프로세서는 DM 서비스 세션을 생성한다.
한편, 로컬 컨테이너(50)는 세션 처리부(20)의 제어하에 DM 서비스 세션에 대한 상관 ID를 생성하고, 생성된 상관 ID에 연관된 서비스 정보를 저장하는 컨테이너(Container)를 생성, 저장, 삭제하는 기능을 담당한다.
전술한, 로컬 컨테이너(50)는 세션 처리부(20)의 제어하에 DM 서비스 세션에 대한 상관 ID를 생성하되, 상관 ID의 중복을 피하기 위해 이동 단말(1)의 IP 정보와 타임 스탬프(Time Stamp)를 조합한 후, 베이스64(Base64)로 인코딩한 값으로 상관 ID를 생성한다.
이후, 로컬 컨테이너(50)는 컨테이너 레지스터(60)의 새 인스턴스(New Instance)로 컨테이너를 할당하고, 새 인스턴스로 할당된 컨테이너에 상관 ID와, DM 서비스 세션을 통해 서비스를 처리할 서비스 프로세서 정보를 설정한 후, 상관 ID와 서비스 프로세서 정보가 설정된 컨테이너를 컨테이너 레지스터(60)의 해시 맵에 저장한다.
전술한, 로컬 컨테이너(50)는 컨테이너를 컨테이너 레지스터(60)에 저장하기 전이나, 컨테이너를 컨테이너 레지스터(60)에 저장한 후에, DM 서비스 세션이 비정상적으로 종료됨에 따라 비정상 종료로 남아 있는 컨테이너가 존재하는 지를 확인하여, 비정상 종료로 남아 있는 컨테이너가 존재하는 경우에는 해당 컨테이너에 대해서는 삭제 처리한다. 여기서, 로컬 컨테이너(50)는 TTL(Time To Live)이 지난 컨테이너를 비정상 종료된 컨테이너로 판단한다.
또한, 로컬 컨테이너(50)는 DM 서비스 세션이 완료되면, 해당 DM 서비스 세션과 관련한 컨테이너를 컨테이너 레지스터(60)에서 삭제한다.
한편, 컨테이너 레지스터(Container Register)(60)는 WAS 구동시(즉, 서블릿 초기화시), 해시 맵(Hash Map)으로 생성되며, 로컬 컨테이너(50)의 제어하에 컨테이너를 저장 및 삭제한다.
다수의 서비스 프로세서(70-1, 70-2, 70-3, …, 70-n)는 DM 서비스 세션의 실제 서비스를 처리하는 프로세서로서, 각각 독립된 객체(Object)로 구성된다.
전술한, 각각의 서비스 프로세서(70-1, 70-2, 70-3, …, 70-n)는 이동 단말(1)로부터 요구받은 서비스를 처리한 후, 처리 응답으로 생성되는 SyncML 메시지 내 <SyncHder>의 <RespURI>에 상관 ID를 포함시켜 응답한다.
도 2는 본 발명의 일 실시예에 따른 DM 서비스 세션 관리 방법을 설명하기 위한 처리도이다.
우선, HTTP 서블릿(10)을 통해 이동 단말(1)로부터 메시지 트랜잭션을 수신하면(S10), 세션 처리부(20)는 HTTP 서블릿(10)을 통해 수신한 메시지 트랜잭션의 HTTP 헤더 내 <LocURI>를 분석하여, HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있는 지를 확인한다(S12).
상기한 과정 S12의 확인결과 HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있지 않은 경우, 즉, 이동 단말(1)로부터 수신한 메시지 트랜잭션이 DM 서비스 세션이 시작되는 최초 메시지 트랜잭션인 경우에는, HTTP 바디에 포함되어 있는 DM 프로토콜을 분석하여, DM 프로토콜에 포함되어 있는 SID(Session ID)를 키(Key)로 하여 DM 세션 테이블(30)로 서비스 정보를 질의하여, 서비스 정보를 조회한다(S14).
상기한 과정 S14를 통해 DM 세션 테이블(30)에서 서비스 정보를 조회한 세션 처리부(20)는 조회한 서비스 정보를 이용하여 프로세스 선택부(40)를 통해 이동 단말(1)로부터 수신한 메시지 트랜잭션을 처리할 서비스 프로세서를 선택한 후, 선택된 서비스 프로세서로 이동 단말(1)로부터 수신한 메시지 트랜잭션의 HTTP 바디를 전달한다(S16).
상기한 과정 S16에서, 프로세스 선택부(40)는 세션 처리부(20)로부터 제공받은 서비스 정보에 의거하여 이동 단말(1)로부터 수신한 메시지 트랜잭션을 처리할 서비스 프로세서를 선택한다.
상기한 과정 S16을 통해 프로세스 선택부(40)에 의해 선택된 서비스 프로세서는 DM 서비스 세션을 생성한다(S18).
상기한 과정 S18을 통해 프로세스 선택부(40)에 의해 선택된 서비스 프로세서는 DM 서비스 세션을 생성한 후, 세션 처리부(20)로부터 전달받은 HTTP 바디에 포함되어 있는 DM 프로토콜을 분석하여 이동 단말(1)이 요구하는 서비스를 처리한 후, 이동 단말(1)로 트랜잭션 응답을 전송하기 위해 생성하는 SyncML 메시지 내 <SyncHdr>의 <RespURI>에 상관 ID를 포함하여 응답을 전송한다.
전술한, SyncML 메시지 내 <SyncHdr>의 <RespURI>를 예시적으로 살펴보면, '<RespURI>http://dmc.nate.com/dm? cid=W0JAZDQ2Yjk1LTExODI0MTA5ODA2Nj </RespURI>'와 같다.
상기한 과정 S18을 통해 서비스 프로세서가 DM 서비스 세션을 생성함에 따라, 세션 처리부(20)는 로컬 컨테이너(50)를 제어하여 새로 생성된 DM 서비스 세션 에 대한 상관 ID를 생성한다(S20).
상기한 과정 S20에서 로컬 컨테이너(50)는 DM 서비스 세션에 대한 상관 ID를 생성할 때, 상관 ID의 중복을 피하기 위해 이동 단말(1)의 IP 정보와 타임 스탬프를 조합한 후, 베이스64로 인코딩한 값으로 상관 ID 값을 생성하는 것이 바람직하다.
상기한 과정 S20을 통해 상관 ID를 생성한 후, 로컬 컨테이너(50)는 컨테이너 레지스터(60)의 새 인스턴스로 컨테이너를 할당하고(S22), 할당된 컨텐이너에 상기한 과정 S20을 통해 생성한 상관 ID와 상기한 과정 S16을 통해 선택된 서비스 프로세서 정보를 설정한 후(S24), 상관 ID와 서비스 프로세서 정보로 설정된 컨테이너를 컨테이너 레지스터(60)의 해시 맵에 저장한다(S26).
이후, 로컬 컨테이너(50)는 컨테이너 레지스터(60)에 저장되어 있는 컨테이너들의 TTL을 분석하여 TTL이 지난 컨테이너가 존재하는지 즉, DM 서비스 세션의 비정상 종료로 남아 있는 컨테이너가 존재하는지를 확인하여(S28), DM 서비스 세션의 비정상 종료로 남아 있는 컨테이너가 존재하는 경우에는 검색된 컨테이너를 컨테이너 레지스터(60)에서 삭제한다(S30).
상기한 과정 S28에서 DM 서비스 세션이 비정상적으로 종료하는 경우로는, 이동 단말(1)이 DM 서비스를 제공받고 있는 중에 전원 부족으로 인하여 전원이 오프되는 경우, 음영 지역으로 진입하는 경우 등이 있을 수 있다.
한편, 상기한 과정 S12의 확인결과 HTTP 헤더 내 <LocURI>에 상관 ID가 포함되어 있는 경우에는, HTTP 헤더 내 <LocURI>에 포함되어 있는 상관 ID를 이용하여 컨테이너 레지스터(60)에 해당 상관 ID에 매핑되어 있는 컨테이너가 존재하는지를 판단한다(S32).
상기한 과정 S32의 판단결과 컨테이너 레지스터(60)에 해당 상관 ID에 매핑되어 있는 컨테이너가 존재하지 않는 경우에는, 이동 단말(1)로부터 수신한 메시지 트랜잭션을 실패 처리하고(S34), 해당 상관 ID에 관계된 DM 서비스 세션을 종료한다(S36).
한편, 상기한 과정 S32의 판단결과 컨테이너 레지스터(60)에 해당 상관 ID에 매핑되어 있는 컨테이너가 존재하는 경우에는, 검색된 컨테이너로부터 서비스 프로세서 정보를 획득한다(S38).
상기한 과정 S38을 통해 서비스 프로세서 정보를 획득한 후, 해당 상관 ID에 관계된 DM 서비스 세션이 완료(Complete)되었는 지를 판단한다(S40).
상기한 과정 S40의 판단결과 DM 서비스 세션이 완료된 경우에는, 해당 상관 ID와 관계된 컨테이너를 컨테이너 레지스터(60)에서 삭제한다(S42).
한편, 상기한 과정 S40의 판단결과 DM 서비스 세션이 완료되지 않은 경우에는, 상기한 과정 S38을 통해 획득한 서비스 프로세서 정보에 의거하여 해당 서비스 프로세서로 HTTP 바디의 처리를 요청한다(S44).
상기한 과정 S44를 통해 HTTP 바디 처리를 요청받은 서비스 프로세서는 HTTP 바디에 포함되어 있는 DM 프로토콜을 분석하여 이동 단말(1)이 요구하는 서비스를 처리한 후, 이동 단말(1)로 트랜잭션 응답을 전송하기 위해 생성하는 SyncML 메시지 내 <SyncHdr>의 <RespURI>에 상관 ID를 포함하여 응답을 전송한다(S46).
본 발명의 DM 서비스 세션 관리 시스템 및 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.
본 발명에 따른 DM 서비스 세션 관리 시스템 및 방법은 이동 단말로부터 수신한 메시지 트랜잭션의 바디를 열어보지 않고도 해당 메시지 트랜잭션을 처리할 서비스 프로세서를 구분할 수 있게 됨에 따라, DM 서비스 서버의 부하를 줄일 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 DM 서비스 세션 관리 시스템의 구성을 개략적으로 보인 도면.
도 2는 본 발명의 일 실시예에 따른 DM 서비스 세션 관리 방법을 설명하기 위한 처리도.
*** 도면의 주요 부분에 대한 부호의 설명 ***
1. 이동 단말, 10. HTTP 서블릿, 20. 세션 처리부,
30. DM 세션 테이블, 40. 프로세스 선택부, 50. 로컬 컨테이너,
60. 컨테이너 레지스터, 70-1, 70-2, 70-3, …70-n. 서비스 프로세서

Claims (12)

  1. DM 서비스를 제공받고자 하는 이동 단말로부터 메시지 트랜잭션을 수신하는 HTTP 서블릿과;
    상기 HTTP 서블릿으로부터 상기 메시지 트랜잭션이 전달되면, 상기 메시지 트랜잭션의 헤더에 상관 ID(Correlate_ID)가 포함되어 있는 지를 확인하여, 상기 상관 ID가 포함되어 있지 않은 경우에는 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악하며, 상기 상관 ID가 포함되어 있는 경우에는 상기 상관 ID를 이용하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서 정보를 저장하고 있는 컨테이너로부터 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서를 파악한 후, 파악된 서비스 프로세서로 상기 메시지 트랜잭션을 전달하는 세션 처리부와;
    상기 세션 처리부의 제어하에 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 선택하는 프로세스 선택부와;
    상관 ID에 대응하여 서비스를 처리할 서비스 프로세서 정보를 컨테이너로 설정하여 저장하는 로컬 컨테이너를 포함하여 이루어지는 DM 서비스 세션 관리 시스템.
  2. 제 1항에 있어서, 상기 세션 처리부는,
    상기 메시지 트랜잭션의 헤더 내 <LocURI>를 분석하여 상관 ID가 포함되어 있는 지를 판단하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  3. 제 1항에 있어서, 상기 세션 처리부는,
    상기 헤더에 상관 ID가 포함되어 있지 않으면, 상기 메시지 트랜잭션의 바디 내 DM 프로토콜에 포함되어 있는 SID(Session ID)를 이용하여, SID별로 서비스 정보를 저장하여 관리하고 있는 DM 세션 테이블에서 상기 SID에 매핑되어 있는 서비스 정보를 조회한 후, 조회한 서비스 정보를 이용하여 상기 프로세스 선택부를 통해 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 선택하고,
    상기 선택된 서비스 프로세서에 의해 DM 서비스 세션이 생성되면, 상기 로컬 컨테이너를 제어하여 상기 DM 서비스 세션에 대한 상관 ID를 생성한 후, 생성된 상관 ID와 상기 선택된 서비스 프로세서에 대한 정보를 컨테이너에 설정하여 컨테이너 레지스터에 저장하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  4. 제 1항에 있어서, 상기 세션 처리부는,
    상기 헤더에 상관 ID가 포함되어 있으면, 상기 상관 ID를 이용하여 상기 로컬 컨테이너로부터 상기 상관 ID에 매칭되어 있는 컨테이너를 로딩하고, 상기 컨테이너에 설정되어 있는 서비스 프로세서 정보에 의거하여 상기 메시지 트랜잭션을 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서로 전달하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  5. 제 1항에 있어서, 상기 로컬 컨테이너는,
    상관 ID의 중복을 피하기 위해 상기 이동 단말의 IP 정보와 타임 스탬프(Time Stamp)를 조합한 후, 베이스64(Base64)로 인코딩한 값으로 상관 ID를 생성하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  6. 제 1항에 있어서, 상기 로컬 컨테이너는,
    상기 컨테이너 레지스터에 TTL(Time To Live)이 지난 컨테이너인, DM 서비스 세션의 비정상 종료로 남아 있는 컨테이너가 존재하는 지를 확인하여, TTL이 지난 컨테이너가 존재하면, 검색된 컨테이너를 상기 컨테이너 레지스터에서 삭제하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  7. 제 1항에 있어서, 상기 로컬 컨테이너는,
    DM 서비스 세션이 완료되면, 상기 DM 서비스 세션에 대한 상관 ID를 이용하여 상기 상관 ID와 관련한 컨테이너를 상기 컨테이너 레지스터에서 삭제하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  8. 제 1항에 있어서, 상기 로컬 컨테이너는
    상기 컨테이너를 해시 맵(Hash Map)으로 구성한 컨테이너 레지스터를 포함하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  9. 제 1항에 있어서, 상기 세션 처리부로부터 상기 메시지 트랜잭션을 전달받은 서비스 프로세서는,
    상기 세션 처리부로부터 전달받은 메시지 트랜잭션을 처리한 후, 처리 응답으로 생성되는 SyncML 메시지 내 <SyncHder>의 <RespURI>에 상기 상관 ID를 포함시켜 응답하는 것을 특징으로 하는 DM 서비스 세션 관리 시스템.
  10. DM 서비스를 제공받고자 하는 이동 단말로부터 메시지 트랜잭션을 수신하는 과정과;
    상기 메시지 트랜잭션의 헤더에 상관 ID(Correlate_ID)가 포함되어 있는 지를 판단하는 과정과;
    상기 판단결과 상기 헤더에 상관 ID가 포함되어 있지 않은 경우에는, 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜 분석을 통해 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 파악하여, 상기 메시지 트랜잭션을 상기 서비스 프로세서로 전달하는 최초 메시지 트랜잭션 처리 과정과;
    상기 판단결과 상기 헤더에 상관 ID가 포함되어 있는 경우에는, 상기 상관 ID를 이용하여 상기 메시지 트랜잭션을 처리할 서비스 프로세서 정보를 저장하고 있는 컨테이너로부터 상기 서비스 프로세서 정보를 획득한 후, 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서로 상기 메시지 트래잭션을 전달하는 다음 메시지 트랜잭션 처리 과정을 포함하여 이루어지는 DM 서비스 세션 관리 방법.
  11. 제 10항에 있어서, 최초 메시지 트랜잭션 처리 과정은,
    상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여, 상기 DM 프로토콜에 포함되어 있는 SID(Session ID)를 이용하여 DM 세션 테이블에서 상기 SID에 매핑되어 있는 서비스 정보를 조회하는 과정과;
    상기 서비스 정보에 의거하여 프로세스 선택부에서 상기 메시지 트랜잭션을 처리할 서비스 프로세서를 선택한 후, 상기 선택된 서비스 프로세서로 상기 메시지 트랜잭션을 전달하는 과정과;
    상기 서비스 프로세서에서 DM 서비스 세션을 생성하고, 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 이동 단말이 요구하는 서비스를 처리한 후, 상기 이동 단말로 처리 응답을 전송하기 위해 생성하는 응답 메시지의 헤더에 상기 상관 ID를 포함시켜 전송하는 과정과;
    상기 서비스 프로세서가 상기 DM 서비스 세션을 생성함에 따라, 세션 처리부에서 로컬 컨테이너를 통해 상기 DM 서비스 세션에 대한 상관 ID를 생성하는 과정과;
    상기 상관 ID와 상기 서비스 프로세서의 정보를 새로 할당된 컨테이너에 설정하여 컨테이너 레지스터에 저장하는 과정을 포함하여 이루어지는 것을 특징으로 하는 DM 서비스 세션 관리 방법.
  12. 제 10항에 있어서, 다음 메시지 트랜잭션 처리 과정은,
    상기 메시지 트랜잭션의 헤더에 포함되어 있는 상관 ID를 이용하여 컨테이너 레지스터에 상기 상관 ID에 매핑되어 있는 컨테이너가 존재하는 지를 판단하는 과정과;
    상기 판단결과 상기 컨테이너 레지스터에 상기 상관 ID에 매핑되어 있는 컨테이너가 존재하지 않는 경우에는, 상기 메시지 트랜잭션을 실패 처리하고, 상기 상관 ID에 관계된 DM 서비스 세션을 종료하는 과정과;
    상기 판단결과 상기 컨테이너 레지스터에 상기 상관 ID에 매핑되어 있는 컨테이너가 존재하는 경우에는, 검색된 컨테이너로부터 서비스 프로세서 정보를 획득하는 과정과;
    상기 상관 ID에 관계된 DM 서비스 세션이 완료되었는 지를 확인하여, 상기 DM 서비스 세션이 완료된 경우에는, 상기 상관 ID와 관계된 컨테이너를 컨테이너 레지스터에서 삭제하고, 상기 DM 서비스 세션이 완료되지 않은 경우에는, 상기 서비스 프로세서 정보에 해당하는 서비스 프로세서로 상기 메시지 트랜잭션의 처리를 요청하는 과정과;
    상기 서비스 프로세서에서 상기 메시지 트랜잭션의 바디에 포함되어 있는 DM 프로토콜을 분석하여 상기 이동 단말이 요구하는 서비스를 처리한 후, 상기 이동 단말로 처리 응답을 전송하기 위해 생성하는 응답 메시지의 헤더에 상기 상관 ID를 포함시켜 전송하는 과정을 포함하여 이루어지는 것을 특징으로 하는 DM 서비스 세션 관리 방법.
KR20070124240A 2007-12-03 2007-12-03 Dm 서비스 세션 관리 시스템 및 방법 KR101488663B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20070124240A KR101488663B1 (ko) 2007-12-03 2007-12-03 Dm 서비스 세션 관리 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20070124240A KR101488663B1 (ko) 2007-12-03 2007-12-03 Dm 서비스 세션 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090057589A KR20090057589A (ko) 2009-06-08
KR101488663B1 true KR101488663B1 (ko) 2015-02-02

Family

ID=40988326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070124240A KR101488663B1 (ko) 2007-12-03 2007-12-03 Dm 서비스 세션 관리 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101488663B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230115419A1 (en) * 2021-10-13 2023-04-13 Express Scripts Strategic Development, Inc. Microservice architecture with automated non-intrusive event tracing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101477646B1 (ko) * 2013-06-28 2014-12-30 재단법인대구경북과학기술원 서비스 지향의 dm 세션 관리 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000061007A (ko) * 1999-03-22 2000-10-16 김영환 웹을 이용한 원격 네트워크관리시스템의 실시간 제어방법
KR20050025913A (ko) * 2003-09-08 2005-03-14 마이크로소프트 코포레이션 이동 디바이스 구성 설정들을 관리하기 위한 oma dm확장 시스템 및 방법
US20050228847A1 (en) 2004-03-18 2005-10-13 International Business Machines Corporation Method, system and program product for using open mobile alliance (OMA) alerts to send client commands/requests to an OMA DM server
KR20070003844A (ko) * 2004-01-30 2007-01-05 노키아 코포레이션 기기관리 시스템에서의 노드 정의

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000061007A (ko) * 1999-03-22 2000-10-16 김영환 웹을 이용한 원격 네트워크관리시스템의 실시간 제어방법
KR20050025913A (ko) * 2003-09-08 2005-03-14 마이크로소프트 코포레이션 이동 디바이스 구성 설정들을 관리하기 위한 oma dm확장 시스템 및 방법
KR20070003844A (ko) * 2004-01-30 2007-01-05 노키아 코포레이션 기기관리 시스템에서의 노드 정의
US20050228847A1 (en) 2004-03-18 2005-10-13 International Business Machines Corporation Method, system and program product for using open mobile alliance (OMA) alerts to send client commands/requests to an OMA DM server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230115419A1 (en) * 2021-10-13 2023-04-13 Express Scripts Strategic Development, Inc. Microservice architecture with automated non-intrusive event tracing

Also Published As

Publication number Publication date
KR20090057589A (ko) 2009-06-08

Similar Documents

Publication Publication Date Title
US20060069836A1 (en) Communication system and method for upgrade of user terminal software and user terminal upgraded by the same
US9769801B2 (en) Method and apparatus for updating information regarding specific resource in wireless communication system
US20170215072A1 (en) Method and apparatus for authenticating access authority for specific resource in wireless communication system
CN106301959B (zh) 基于windows和linux平台的网关批量升级方法及系统
CN1939035B (zh) 用于在计算机设备之间传送数据的方法和设备
US7720097B2 (en) Communication apparatus, communication method, communication program and recording medium
CN111327668B (zh) 网络管理方法、装置、设备和存储介质
CN106375442B (zh) 一种跨平台管理设备信息的方法和装置
CN113242272B (zh) 基于mqtt服务集群的会话处理方法及系统
CN114221955B (zh) 设备跨区域访问方法、装置、电子设备和存储介质
CN114398176A (zh) 服务访问方法、装置、电子设备及存储介质
US20220377556A1 (en) Internet-of-things device registration method and apparatus, device, and storage medium
CN104346198A (zh) 信息处理装置、服务器装置、信息处理方法和程序
CN109067936A (zh) 一种域名解析的方法及装置
CN110661673B (zh) 一种心跳检测的方法及装置
CN110365508B (zh) 虚拟网络功能实例化的方法和网络功能虚拟化编排器
KR20110131995A (ko) 단말 관리 서비스를 제공하는 서버 및 방법 그리고 상기 단말 관리 서비스를 제공받는 단말
CN105657055A (zh) 一种面向web网页的局域网设备发现方法及装置
KR101488663B1 (ko) Dm 서비스 세션 관리 시스템 및 방법
CN110417876A (zh) 会话方法、分布式系统中的节点服务器及主控设备
CN112702441B (zh) 基于容器的访问数据处理方法、装置、系统及存储介质
KR20070060991A (ko) 스트리밍 서비스를 위한 컨텐츠 제공 시스템 및 그 방법
CN103138961B (zh) 服务器控制方法、被控服务器及中心控制服务器
CN116980286A (zh) 设备配置方法、设备控制方法、存储介质以及终端
CN110865845B (zh) 提高接口访问效率的方法、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
LAPS Lapse due to unpaid annual fee