KR101847643B1 - 스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법 - Google Patents

스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법 Download PDF

Info

Publication number
KR101847643B1
KR101847643B1 KR1020110125378A KR20110125378A KR101847643B1 KR 101847643 B1 KR101847643 B1 KR 101847643B1 KR 1020110125378 A KR1020110125378 A KR 1020110125378A KR 20110125378 A KR20110125378 A KR 20110125378A KR 101847643 B1 KR101847643 B1 KR 101847643B1
Authority
KR
South Korea
Prior art keywords
sadl
parsing
module
characteristic information
resource
Prior art date
Application number
KR1020110125378A
Other languages
English (en)
Other versions
KR20130059194A (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 KR1020110125378A priority Critical patent/KR101847643B1/ko
Publication of KR20130059194A publication Critical patent/KR20130059194A/ko
Application granted granted Critical
Publication of KR101847643B1 publication Critical patent/KR101847643B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스를 위한 파싱 장치는 SADL(Scalable Application Description Language) 통합 문서로부터 SADL 컴포넌트를 추출하기 위한 SADL 추출 모듈, SADL 추출 모듈에서 추출된 SADL 컴포넌트를 엘리먼트별로 분석하여 체계화하기 위한 SADL 분석 모듈, SADL 분석 모듈에서 분석된 엘리먼트들 중에서 서비스 요청 단말의 특성 정보 조건 수치에 대응하는 유효한 실렉션 아이디를 조사하여 이에 대응하는 리소스를 파싱하기 위한 SADL 파싱 모듈, 및 SADL 통합 문서의 컴포넌트들 중에서 SADL 추출 모듈에서 추출되지 않은 컴포넌트들과 SADL 파싱 모듈에서 파싱한 리소스를 결합하여 맞춤형 컨텐츠 문서를 생성하기 위한 최종 리소스 생성 모듈을 포함한다.

Description

스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법{Parsing apparatus for scalable application service and parsing method using the parsing apparatus}
본 발명은 스케일러블 어플리케이션 서비스(scalable application service)에 관한 것으로, 보다 구체적으로 다양한 사용 환경에 최적화된 컨텐츠를 제공할 수 있도록 SADL(Scalable Application Description Language) 통합 컨텐츠를 파싱하기 위한 장치 및 방법에 관한 것이다.
정보통신 기술의 발전에 따라 전자기기의 종류는 다양해지고 있다. 종류의 다양화는 고정형 전자기기는 물론 모바일 전자기기에도 적용된다. 전자의 경우, 대표적인 고정형 전자기기인 데스크탑 컴퓨터는 그 성능이 계속 향상되면서 성능에 따라서 제품의 유형이 다양화되고 있다. 그리고 종래의 아날로그 전자기기(예컨대, 텔레비젼)는 급속도로 디지털화가 이루어지고 있으며, 다른 가정용 및 사무용 전자기기(예컨대, 세탁기, 냉장고, 에어컨 등과 같은 가정용 전자기기는 물론 팩스나 프린터 등과 같은 사무용 전자기기)도 정보통신 기술이 접목되면서 그 성능이 향상될 뿐만 아니라 성능이나 목적 등에 따라서 제품의 유형도 다양화가 이루어지고 있다.
전자기기의 종류의 다양화는 특히 모바일 기기에 두드러지게 나타난다. 예를 들어, 랩탑 컴퓨터(laptop computer), 휴대 전화(cellular phone), MP3 플레이어, 디지털 카메라, 포터블 멀티미디어 플레이어(Portable Multimedia Player, PMP), 내비게이션(navigation), 휴대용 게임기, 전자 사전(electronic dictionary), 전자책 단말기(E-book reader), 디엠비(DMB) 수신기가 이미 대중화되었다. 그리고 최근에는 스마트 폰(smart phone), 스마트 패드(smart pad), 태블릿 피씨(tablet PC) 등이 새롭게 등장하면서, 관련 산업이 급속도로 팽창하고 있다. 이들 모바일 기기는 그 종류가 다양해질 뿐만 아니라 동일한 모바일 기기도 성능이나 사용 목적 등에 따라서 제품의 유형이 다양해지고 있다.
이러한 고정형 및/또는 모바일 전자기기는 그 종류나 유형이 다양해지는 한편 전자기기에서 사용되는 일부 기능은 서로 통합되어 나가고 있다. 예를 들어, 카메라 기능, 지피에스(GPS) 기능, 멀티미디어 재생 기능 등은 현재 대부분의 전자기기에 채용되고 있으며, 그에 따라서 이러한 기능을 전제로 하는 어플리케이션은 이들 전자기기들 각각에 설치되어 제공되거나 또는 필요에 따라 설치할 수 있도록 환경이 마련되고 있다. 특히, 이들 전자기기들은 대부분 유무선 네트워크를 이용한 통신 기능을 구비하고 있다.
이들 전자기기들의 일부는 동일한 플랫폼과 서비스 프레임워크 환경을 갖지만, 대부분의 전자기기들은 플랫폼과 서비스 프레임워크 환경 등이 서로 상이하다. 그리고 전자기기들은 그 고유의 기능에 따라 특성이나 성능이 다르며, 전자기기 사용자의 연령이나 성별, 선호도 등도 차이가 있다. 뿐만 아니라, 동일한 전자기기의 사용 환경도 주변 환경이나 사용자의 취향, 네트워크 환경 등에 따라서 차이가 있다. 멀티미디어 스트리밍 서비스나 웹 서비스 등과 같이 단순히 멀티미디어 컨텐츠를 제공하는 서비스의 경우에는 다양한 단말의 고유 특성(예컨대, 단말의 성능, 디스플레이 크기, 지원 해상도, 접속 네트워크의 종류 등)을 고려하여 스케일러블 서비스를 제공하기 위한 노력이 이루어져 왔다.
최근에는 인터넷 망을 이용한 아이피티브이(IPTV) 서비스가 활성화되면서, 방송 서비스는 단순히 멀티미디어 컨텐츠를 시청자에게 제공하는 단방향 서비스에서 양방향 서비스로 그 성격이 변화하고 있을 뿐만 아니라 서비스 객체도 그 종류가 다양해지고 있다. 이에 따라서, IPTV 서비스는 비디오, 오디오, 이미지, 웹 컨텐츠는 물론 다양한 단말에서 실행 가능한 어플리케이션도 제공하려는 노력이 이루어지고 있다. 그리고 현재 IPTV 서비스는 이동 통신망을 이용하는 모바일 IPTV 서비스에 대한 기술적 준비가 시작되고 있다. 모바일 IPTV 서비스가 현실화되면, IPTV 서비스는 유무선을 통해 모두 지원이 가능한 IP 융합 서비스로 발전하게 된다. 특히, 모바일 IPTV 서비스는 이동 통신망을 통한 통신 기능이 구비된 모든 단말을 이용하여 제공될 수 있으므로, IPTV 서비스는 다양한 단말에 대하여 동시 지원이 가능한 서비스로 발전될 것으로 예측된다.
그런데, 현재는 단말의 종류나 특성 등에 상관없이 단일의 포맷으로 웹 컨텐츠, 어플리케이션, 광고, 디지털 컨텐츠, 그래픽 유저 인터페이스(Graphic User Interface, GUI) 등이 제공되고 있을 뿐이며, 다양한 사용자 시청 환경 정보(장치의 성능, 사용자 정보, 네트워크 환경 등과 같은 시청 환경, 서비스 정책 등)에 최적화된 어플리케이션 서비스를 제공하는 방법에 대해서는 아직 표준화나 기술 개발이 충분히 이루어지지 않고 있다. 예를 들어, IPTV 서비스를 통해 제공되는 멀티미디어 컨텐츠나 데이터 등을 재생하는 어플리케이션 프로그램은 그 특성(예컨대, 영상의 화질이나 음질, 보안 등급, GUI를 구성하는 컨텐츠의 종류나 개수, 접근 가능 범위 등)이 하나로 결정되어 있으며, IPTV 서비스를 이용하는 다양한 사용자 시청 환경 정보를 개별적으로 반영하여 적응적으로 서비스를 제공하지는 않는다.
다양한 사용자 시청 환경 정보를 반영하여 최적화된 어플리케이션 서비스를 제공하는 하나의 방법은 서비스 제공자가 다양한 사용자 시청 환경을 고려하여 컨텐츠를 복수의 포맷으로 만들어서 저장하고 있다가 요청을 받으면 해당 컨텐츠를 찾아서 제공하는 것이다. 예를 들어, 크기가 작은 디스플레이를 갖는 모바일 기기에서 웹 브라우징을 할 때, 네이버나 다음 등을 비롯한 컨텐츠 제공자들은 각 단말에 맞게 웹을 표현하기 위해 미리 모바일 기기에 맞게 제작한 웹 페이지로 접속하도록 하고 있다. 그러나 이 경우에는 서비스 서버에 다양한 포맷의 컨텐츠가 미리 만들어서 저장되어 있어야 하므로, 서비스 제공자의 부담을 증가시켜서 서비스 비용을 증가시키는 단점이 있다. 또한, 다양한 특성을 갖는 모든 단말에 대하여 최적화된 컨텐츠를 미리 만들어서 저장한다는 것은 현실적으로 불가능하다.
한편, 일부 웹 서비스에서는 전체 컨텐츠 중에서 사용자가 선호하는 컨텐츠만을 선택하여 볼 수 있도록 하고 있다. 예를 들어, 인터넷 포털 사이트인 네이버에서는 메인 화면에서 자신이 선호하는 언론의 기사만을 볼 수 있도록 하는 마이 뉴스(my news) 기능이 제공되고 있다. 하지만, 이러한 서비스를 위해서 서비스 제공자는 사용자가 컨텐츠를 선택할 수 있는 기능과 함께 모든 컨텐츠를 제공해야 할 뿐만 아니라, 사용자는 해당 웹페이지에서 미리 자신이 선호하는 컨텐츠를 선택해야 한다. 뿐만 아니라, 쿠키 등의 삭제로 설정 내용이 지워지면, 사용자는 다시 자신이 선호하는 컨텐츠를 선택해야 하는 번거로움이 있다.
전술한 바와 같이, 최근 디지털 방송 서비스가 본격화가 이루어짐에 따라 디지털 콘텐츠는 기하급수적으로 늘어났다. 이에 따라 디지털 기기들의 종류도 다양하게 발전하였다. 또한 네트워크와 디바이스의 성능이 향상됨에 따라 음성 및 영상 서비스 제공자는 다양한 시청환경을 제공할 수 있게 되었고 사용자는 다양한 멀티미디어 콘텐츠를 이용할 수 있게 되었다. 특히, 본격적으로 방송통신 융합 환경이 조성되고 있는 시점에서 방송 서비스는 인터넷 인프라와 결합하여 새로운 응용 서비스를 제공하기 시작하였다. 이러한 방송 통신융합 서비스가 아이피 티브이(IP TV), 스마트 티브이(Smart TV) 시대의 도래로 대중화되고 방송 제공자의 양방향성 콘텐츠를 제공 및 연동할 수 있는 서비스로의 제공이 중요한 이슈로 다가오고 있다. 방송통신 융합 환경은 기존의 셋탑 박스와 같은 방송 전용 단말기와 PC, 노트북, PDA와 같은 인터넷 단말기기, 그리고 모바일 폰과 같은 통신기기 사이의 벽을 허물고 있다. 이에 따라 다양한 단말기를 통해 엔스크린(N-Screen)이 가능하도록 방송통신 융합 서비스를 제공하고 이를 위한 여러 콘텐츠 제작이 이루어지고 있다.
본 발명이 해결하려는 일 과제는 스케일러블 어플리케이션 서비스를 위하여 고안된 SADL(Scalable Application Description Language) 통합 컨텐츠를 다양한 사용자 시청 환경 정보 또는 특성 정보를 반영하여 적응적으로 사용자에게 제공할 수 있는 파싱 장치와 파싱 방법을 제공하는 것이다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스를 위한 파싱 장치는 SADL(Scalable Application Description Language) 통합 문서로부터 SADL 컴포넌트를 추출하기 위한 SADL 추출 모듈, 상기 SADL 추출 모듈에서 추출된 SADL 컴포넌트를 엘리먼트별로 분석하여 체계화하기 위한 SADL 분석 모듈, 상기 SADL 분석 모듈에서 분석된 엘리먼트들 중에서 서비스 요청 단말의 특성 정보 조건 수치에 대응하는 유효한 실렉션 아이디를 조사하여 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 SADL 파싱 모듈, 및 상기 SADL 통합 문서의 컴포넌트들 중에서 상기 SADL 추출 모듈에서 추출되지 않은 컴포넌트들과 상기 SADL 파싱 모듈에서 파싱한 리소스를 결합하여 맞춤형 컨텐츠 문서를 생성하기 위한 최종 리소스 생성 모듈을 포함한다.
상기 실시예의 일 측면에 의하면, 상기 SADL 분석 모듈에서는 돔 파서(DOM 파서)를 이용하여 엘리먼트들을 트리 형태로 체계화할 수 있다. 그리고 상기 돔 파서는 상기 SADL 컴포넌트를 아이템 엘리먼트, 각 아이템 엘리먼트에 대한 0개 또는 그 이상의 초이스 엘리먼트, 및 각 초이스 엘리먼트에 대한 하나 또는 그 이상의 실렉션 엘리먼트의 형태로 체계화시킬 수 있다.
상기 실시예의 다른 측면에 의하면, 상기 SADL 파싱 유닛은 상기 SADL 분석 유닛의 분석 결과에 상기 서비스 요청 단말의 특성 정보 조건 수치를 적용하여 상기 유효한 실렉션 아이디를 결정하기 위한 아이템 해석 모듈, 및 상기 아이템 해석 모듈에서 결정한 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 리소스 파싱 모듈을 포함할 수 있다. 그리고 상기 아이템 해석 모듈은 상기 서비스 요청자의 특성 정보를 가져오기 위한 특성 정보 조건 기능, 및 상기 특성 정보를 적용하여 상기 SADL 컴포넌트를 구성하는 각 실렉션 엘리먼트의 유효성을 판단하기 위한 스택 기능을 포함할 수 있다. 또한, 상기 리소스 파싱 모듈은 상기 SADL 컴포넌트의 조건이 유효한지를 검사하기 위한 조건 유효성 체크 기능, 및 상기 유효한 실렉션 엘리먼트에 대응하는 리소스가 유효한지를 검사하기 위한 컴포넌트 체크 기능을 포함할 수 있다.하는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
상기 실시예의 또 다른 측면에 의하면, 상기 파싱 장치는 스케일러블 어플리케이션 서비스를 제공하는 서버에 구비되어 있고, 상기 특성 정보는 사용자의 프라이버시와 관련된 것으로서 익명으로 상기 서버에 일시적으로 저장되어 있을 수 있다. 또는, 상기 파싱 장치는 스케일러블 어플리케이션 서비스를 요청하는 단말에 구비되어 있고, 상기 특성 정보는 사용자의 프라이버시와 관련된 정보일 수 있다.
상기한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스를 위한 파싱 방법은 입력된 SADL(Scalable Application Description Language) 통합 문서로부터 SADL 컴포넌트를 추출하기 위한 SADL 추출 단계, 상기 SADL 추출 단계에서 추출된 SADL 컴포넌트를 엘리먼트별로 분석하여 체계화하기 위한 SADL 분석 단계, 상기 SADL 분석 단계에서 분석된 엘리먼트들 중에서 서비스 요청 단말의 특성 정보 조건 수치에 대응하는 유효한 실렉션 아이디를 조사하여 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 SADL 파싱 단계, 및 상기 SADL 통합 문서의 컴포넌트들 중에서 상기 SADL 추출 단계에서 추출되지 않은 컴포넌트들과 상기 SADL 파싱 단계에서 파싱한 리소스를 결합하여 맞춤형 컨텐츠 문서를 생성하기 위한 최종 리소스 생성 단계를 포함한다.
상기 실시예의 일 측면에 의하면, 상기 SADL 파싱 단계는 상기 SADL 분석 단계에서의 분석 결과에 상기 서비스 요청 단말의 특성 정보 조건 수치를 적용하여 상기 유효한 실렉션 아이디를 결정하기 위한 아이템 해석 단계, 및 상기 아이템 해석 단계에서 결정한 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 리소스 파싱 단계를 포함할 수 있다.
본 발명에 따른 파싱 장치와 파싱 방법을 이용하면, 서비스 제공자, 중계기, 및/또는 단말은 SADL 컨텐츠로부터 다양한 사용자 시청 환경에 최적화된 맞춤형 컨텐츠를 효과적으로 생성할 수 있다. 특히, 서비스 제공자는 SADL 컨텐츠만을 이용하여 모든 사용자들에게 맞춤형 컨텐츠를 제공할 수 있기 때문에, 서버의 구성이 간단해질 뿐만 아니라 데이터 저장 부하를 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스가 제공될 수 있는 네트워크 시스템의 구성의 일례를 보여 주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스를 위한 파싱 장치의 동작의 일례를 보여 주는 도면이다.
도 3은 도 2의 파싱 장치의 구성의 일례를 보여 주는 블록도이다.
도 4는 SADL 컴포넌트를 돔 파서로 구조화하기 위하여 고려해야할 엘리먼트 흐름을 도식화한 것의 일례를 나타낸 것이다.
도 5는 도 3의 파싱 장치의 SADL 분석 모듈에서 SADL 문서를 분석하여 구조화하는데 사용될 수 있는 아이템 노드, 초이스 노드, 실렉션 노드의 구조를 일례를 보여 주는 도면이다.
도 6은 도 3의 파싱 장치의 SADL 파싱 유닛의 구성 요소의 일례를 보여 주는 블록도이다.
도 7은 장치 성능, 특히 장치의 디스플레이 크기와 관련된 특성정보(BIG_SIZE와 SMALL_SIZE)와 관련된 SADL 문서의 일부이다.
도 8은 7의 예에 대한 스택 기능의 동작의 일례를 도식화하여 보여 주는 도면이다.
도 9는 도 6의 SADL 파싱 모듈의 리소스 파싱 모듈의 조건 유효성 체크 기능에서 조건 유효성을 판단하는 과정의 일례를 설명하기 위한 도면이다.
도 10은 컴포넌트 체크 기능에서의 동작을 예시적으로 설명하기 위한 도면이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 사용되는 용어들은 실시예에서의 기능을 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 정의된 경우에는 그 정의에 따르며, 구체적인 정의가 없는 경우는 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스를 위한 파싱 장치를 설명하기에 앞서, 본 발명의 실시예에 따른 파싱 장치가 적용될 수 있는 스케일러블 어플리케이션 서비스를 위한 네트워크 시스템의 구성에 관해서 먼저 설명한다. 도 1은 이러한 네트워크 시스템의 일례를 보여 주는 블록도이다. 도 1을 참조하면, 네트워크 시스템은 서버(10) 및 다수의 단말(20_1, 20_2, …, 20_N)을 포함한다. 그리고 네트워크 시스템은 서버(10)와 단말(20_1, 20_2, …, 20_N) 사이의 통신을 중계하는 중계기(30)를 더 포함할 수도 있다. 그리고 서버(10), 단말(20_1, 20_2, …, 20_N), 및 중계기(30) 중에서 적어도 하나에는 파싱 장치(100a, 100b, 100c)가 구비되어 있을 수 있다.
다수의 단말(20_1, 20_2, …, 20_N)은 각각 댁내에서 홈 네트워크 시스템을 구성하거나 또는 이를 통하여 각종 서비스를 이용할 수 있는 다양한 디지털 기기들일 수 있다. 하지만, 본 실시예가 홈 네트워크 시스템에만 한정되는 것은 아니며, 소정의 통신 네트워크(유선 네트워크 또는 무선 네트워크에 제한이 없으며, 이동통신 네트워크, 단거리 통신 네트워크, 모바일 네트워크 등일 수 있다)를 이용하여 구성된 다른 시스템일 수도 있다. 이러한 다수의 단말(20_1, 20_2, …, 20_N)은, 예컨대 스마트 폰(smart phone), 피디에이(Personal Digital Assistant, PDA), 셀룰러 폰, 피씨에스(Personal Communication Service, PCS) 폰, 핸드-헬드 피씨(hand-held PC), 지에스엠(global System for Mobile, GSM) 폰, 더블유씨디엠에이폰(Wideband Code Division Multiple Access, WCDMA) 폰, CDMA200 폰, 및 엠비에스(Mobile Broadband System, MBS) 폰 등과 같은 모바일 디바이스이거나 또는 개인용 컴퓨터(Personal Computer, PC), 랩톱 컴퓨터(laptop computer), 태블릿 피씨(tablet PC) 등과 같은 PC용 디바이스이거나 또는 디지털 티브이(TV) 등과 같은 TV용 디바이스일 수 있다.
다수의 단말(20_1, 20_2, …, 20_N)은 각각 서버(10)와 통신이 가능하도록 서버(10)와 유선 및/또는 무선을 통해 연결되어 있다. 이 때, 다수의 단말(20_1, 20_2, …, 20_N)은 서버(10)와 직접 연결되거나 또는 해당 네트워크 시스템의 중계기(30)를 통해 서버(10)와 연결될 수 있다. 전자의 경우에, 다수의 단말(20_1, 20_2, …, 20_N)과 서버(10) 사이의 통신은 직접 이루어지지만 후자의 경우에 다수의 단말(20_1, 20_2, …, 20_N)과 서버(10) 사이의 통신은 중계기(30)를 경유하여 이루어진다. 그리고 중계기(30)는 하나의 중계기가 모든 단말(20_1, 20_2, …, 20_N)에 대하여 중계 기능을 수행하거나 또는 복수(이 경우에 중계기(30)의 개수는 단말(20_1, 20_2, …, 20_N)의 중계기가 하나 또는 그 이상의 단말에 대하여 나누어져서 중계 기능을 수행할 수도 있다.
서버(10)는 서비스를 요청한 하나 또는 그 이상의 단말(20_1, 20_2, …, 20_N)에게로 해당 단말에 최적화된 컨텐츠(이하, '맞춤형 컨텐츠'라 한다) 또는 파싱 장치(100)를 이용하여 파싱을 함으로써 맞춤형 컨텐츠를 생성할 수 있는 SADL(Scalable Application Description Language) 통합 문서 또는 SADL 통합 컨텐츠를 제공하기 위한 서비스 서버이다. 단말에게로 맞춤형 컨텐츠 또는 SADL 컨텐츠를 제공할 수 있도록, 서버(10)는 어플리케이션 요청 시에 단말(20_1, 20_2, …, 20_N)로부터 직접 수신하거나 또는 중계기(30)를 통해 수신한 단말(20_1, 20_2, …, 20_N)의 사용자 시청환경 정보 또는 특성 정보(Delivery Context, DC)를 적용할 수 있다. 또는, 서버(10)는 수신된 특성 정보(DC)는 물론 기저장되어 있는 단말(20_1, 20_2, …, 20_N)의 특성 정보(DC)도 함께 적용하여 맞춤형 컨텐츠 또는 SADL 통합 문서를 생성할 수도 있다.
서버(10)는 각 단말에 최적화된 컨텐츠를 제공할 수 있도록 기존에 서비스되어지고 있는 멀티미디어 컨텐츠, 어플리케이션, 웹 페이지, 광고, GUI 등의 기존 컨텐츠 또는 레거시 컨텐츠를 이용하여 기존 컨텐츠의 전부 또는 일부 컴포넌트를 SADL 컴포넌트로 대체한 SADL 통합 컨텐츠를 만든다. SADL 통합 컨텐츠는 SADL 통합 문서로 표현될 수 있다. 이를 위하여, 서버(10)에는 저작 장치(authoring tool)가 구비되어 있을 수 있다. 본 발명의 실시예에서는 이러한 저작 장치의 구성에 관해서는 특별한 제한이 없다. 그리고 서버(10)는 내부의 파싱 장치(100a)를 이용하여 SADL 통합 어플리케이션에 다양한 사용자 시청 환경 정보 또는 특성 정보(DC)를 적용하여 각 단말(20_1, 20_2, …, 20_N)에 최적화된 맞춤형 컨텐츠를 생성할 수 있는데, 파싱 장치(100a)의 구체적인 구성 및 동작에 관해서는 후술한다.
계속해서 도 1을 참조하면, 중계기(30)는 단말(20_1, 20_2, …, 20_N)과 서버(10) 사이의 통신을 중계한다. 이 때, 중계기(30)는 단말(20_1, 20_2, …, 20_N)과 서버(10) 사이의 통신을 단순히 중계만 하거나 또는 수신된 데이터에 대한 소정의 처리를 수행한 후에 통신을 중계할 수도 있다.
예를 들어, 중계기(30)는 단말(20_1, 20_2, …, 20_N)로부터 수신된 서비스 요청에 포함된 특성 정보(DC) 중에서 일부는 제외하고 서버(10)로 서비스 요청을 전달할 수 있다. 또는, 중계기(30)는 단말(20_1, 20_2, …, 20_N)로부터의 서비스 요청을 서버(10)로 전달할 때, 자신이 저장하고 있는 특성 정보(DC)를 더 포함시킬 수 있다. 그리고 중계기(30)는 서버(10)로부터 수신된 컨텐츠 또는 SADL 통합 문서를 단순히 단말(20_1, 20_2, …, 20_N)로 전달만 할 수 있다. 또는, 중계기(30)는 내부의 파싱 장치(100c)를 이용하여 자신에게 저장되어 있는 단말의 특성 정보를 적용하여 각 단말에 대하여 최적화된 맞춤형 컨텐츠를 생성하여 전달할 수도 있다. 이러한 파싱 장치(100c)의 구체적인 구성 및 동작에 관해서도 후술한다. 그리고 단말(20_1, 20_2, …, 20_N)과 서버(10) 사이의 통신은 하나의 중계기(30)만을 거치거나 또는 둘 이상의 중계기(30)를 거쳐서 이루어질 수 있다.
네트워크 시스템의 구성에 따라서, 단말(20_1, 20_2, …, 20_N)은 서버(10) 또는 중계기(30)로부터 자신에게 최적화된 컨텐츠를 수신할 수 있다. 이 경우에 단말(20_1, 20_2, …, 20_N)은 수신된 컨텐츠를 그대로 재생하여 실행할 수 있다. 그러나 실시예에 따라서는 단말(20_1, 20_2, …, 20_N)의 전부 또는 일부는 서버(10) 또는 중계기(30)로부터 수신된 SADL 통합 문서에 자신의 특성 정보(DC)를 직접 적용하여, 자신에게 최적화된 컨텐츠를 생성한 다음 이를 재생하여 실행할 수도 있다. 예를 들어, 단말(20_1, 20_2, …, 20_N)은 특성 정보(DC) 중에서 프라이버시와 관련된 특성 정보(DC)는 서버(10)로 전송하지 않고, 수신된 SADL 통합 문서에 특성 정보(DC)를 직접 적용할 수도 있다. 이를 위하여, 단말(20_1, 20_2, …, 20_N)은 내부의 파싱 장치(100b)를 이용하여 SADL 통합 문서에 자신의 특성 정보(DC)를 적용하여 자신에게 최적화된 맞춤형 컨텐츠를 만들 수 있다. 파싱 장치(100b)의 구체적인 구성 및 동작에 관해서도 후술한다.
도 2는 본 발명의 일 실시예에 따른 스케일러블 어플리케이션 서비스를 위한 파싱 장치의 동작의 일례를 보여 주는 도면이다. 전술한 바와 같이, 파싱 장치(100a, 100b, 100c, 이하, 참조 번호 '100'로 칭하기로 한다)는 도 1의 네트워크 시스템의 서버(10), 중계기(30), 및 단말(20_1, 20_2, …, 20_N) 중에서 적어도 하나에 설치되어 있을 수 있다. 파싱 장치(100)가 서버(10), 중계기(30), 및 단말(20_1, 20_2, …, 20_N) 중에서 복수의 장치에 각각 설치되어 있는 경우에, 특성 정보(DC)는 전부가 어느 하나의 장치(예컨대, 서버(10))에서만 적용되거나 또는 일부 특성 정보(DC)는 어느 하나의 장치(예컨대, 서버(10))에서 적용되고 나머지 특성 정보(DC)는 다른 하나의 장치(예컨대, 중계기(30) 및/또는 단말(20_1, 20_2, …, 20_N)에서 적용이 될 수 있다.
이하에서는, SADL 통합 컨텐츠에 대하여 하나의 파싱 장치(100), 예컨대 서버(10)의 파싱 장치에서 모든 특성 정보(DC)를 적용하여 해당 단말에 최적화된 맞춤형 컨텐츠를 생성하는 경우를 중심으로 설명한다. SADL 통합 컨텐츠에 대하여 두 개의 파싱 장치(100) 또는 그 이상의 파싱 장치(100)에서 특성 정보(DC)를 일부씩 적용하는 경우, 마지막 파싱 장치(100)를 제외한 다른 파싱 장치(100)는 일부의 특성 정보(DC)만을 적용하여 중간 SADL 통합 컨텐츠를 생성한다는 점에서만 차이가 있으며, 나머지는 후술하는 파싱 장치(100)의 동작이 동일하게 적용될 수 있다.
그리고 도 2를 참조하면, 파싱 장치(100)는 SADL 통합 문서(SADL 통합 컨텐츠를 기술한 문서)로부터 다양한 단말 각각에 최적화된 컨텐츠, 즉 맞춤형 컨텐츠를 생성하기 위한 도구로서 기능한다. 보다 구체적으로, 파싱 장치(100)는 SADL 통합 문서에 해당 단말의 특성 정보(DC)를 호출하여 적용함으로써 맞춤형 컨텐츠를 생성하고 또한 생성된 맞춤형 컨텐츠를 레거시 장치, 즉 HTML 브라우저, 플래쉬 플레이어(FLASH Player), 자바 가상 기계(JAVA Virtual Machine) 등의 포맷을 재생(rendering) 가능하게 하는 플레이어에서 프리젠테이션 가능한 포맷으로 변환시킨다.
파싱 장치(100)로 입력되는 데이터들 중에서 '특성 정보(DC)'는 사용자 장치인 단말(20, 도 1 참조)의 성능과 관련된 장치 성능(device capability) 정보, 사용자의 연령, 선호도, 직업, 성별, 출신 지역 등 사용자와 관련된 사용자 정보(user information), 스케일러블 어플리케이션 서비스를 제공하는 서비스 제공자의 정책과 관련된 서비스 정책(service policy), 및 네크워크 환경이나 단말의 현재 상태(배터리 잔류양이나 위치 등) 등과 관련된 환경(viewing state) 정보 중에서 하나 또는 그 이상의 정보가 될 수 있다.
그리고 SADL(Scalable Application Description Language)은 마크업 언어의 일종으로서 스케일러블 어플리케이션 서비스를 제공하기 위하여 개발된 기존의 소정 포맷의 마크업 언어 또는 추후 개발될 새로운 마크업 언어일 수 있다. SADL은 MPEG-21 DID(Digital Item Declaration) 엘리먼트 구조에 기반하여 다양한 디지털 기기들 간의 어플리케이션 프로그램을 공유 연동할 수 있도록 서술한 언어이다. SADL 어플리케이션은 기정의된 스키마(pre-defined schema)에 따라 소정의 저작 도구(authoring tool)를 사용하여 작성한다. 스키마는 기존 MPEG-21 DID 스키마와 DID 엘리먼트 중에서 진술 엘리먼트(Statement Element)와 같은 위치에 존재 가능한 특성정보 조건 스키마(DC Condition schema)가 사용될 수 있다. 즉, SADL은 MPEG-21 DID를 기반으로 스택 기능(stack function)을 사용할 수 있는 새로운 엘리먼트인 특성 정보 조건(DC Condition)을 정의하여 추가로 사용함으로써 스케일러블한 어플리케이션이 가능하도록 하는 마크업 언어이다.
원본 SADL 어플리케이션(또는 SADL 통합 컨텐츠)을 기술하는 SADL 통합 문서는 파일 형식이나 URL 형태로서, 파싱 장치(100)의 입력으로 전달된다. 파싱 장치(100)는 입력되는 SADL 통합 문서를 지정한 데이터 형식으로 기본 파싱한 후 유효한 리소스를 걸러내는 작업을 한다. 유효한 실렉션 아이디(selection ID)를 선택하는 것은 실시간으로 전달받는 특성 정보 조건 수치(DC Condition value)에 의해서 결정된다. 특성 정보(DC)는 미리 정의되며, 파싱 장치(100)의 특성 정보 조건 기능(DC Condition Function)은 DC 조건 수치를 호출하여 실시간으로 그 수치를 받아올 수 있다. 스택 기능(Stack Function)은 특성 정보 조건 수치를 받아오는 특성 정보 조건 기능을 직접 제어하며 그 수치를 SADL 통합 문서에 서술된 기준으로 판단하여 현재 상황에 대해 판단하는 역할을 한다. 이와 같은 판단 결과에 따라서 유효한 실렉션 아이디가 결정되고 이것은 데이터베이스(DB)에 저장될 수 있다.
그리고 파싱 장치(100)는 도출한 결과에 의해서 최적의 어플리케이션 프로그램 리소스를 재조합하게 된다. 즉, 파싱 장치(100)를 통해 특성 정보 조건 수치에 따라서 선택된 리소스와 SADL 통합 문서에 포함되어 있는 SADL 컴포넌트가 아닌 다른 컴포넌트의 리소스가 다시 조합된다. 그리고 레거시 장치가 구비되어 있는 단말에서도 제약없이 실행(rendering)이 가능하도록 재조합된 리소스들(즉, 맞춤형 컨텐츠)은 최적의 어플리케이션 프로그램(최종 어플리케이션)을 생성하여 제공할 수 있도록 포매팅한다.
도 3은 도 2의 파싱 장치(100)의 구성의 일례를 보여 주는 블록도이다. 도 3을 참조하면, 파싱 장치(100)는 SADL 추출 모듈(SADL extracting module, 110), SADL 분석 모듈(SADL analyzing module, 120), SADL 파싱 모듈(SADL parsing module, 130), 및 최종 리소스 생성 모듈(final resource producing module, 140)을 포함한다.
SADL 추출 모듈(110)은 SADL 통합 문서 중에서 SADL 컴포넌트를 추출하는 기능을 수행한다. SADL 통합 문서에 포함된 SADL 컴포넌트가 복수 개인 경우에, SADL 추출 모듈(110)은 SADL 컴포넌트를 추출하는 과정을 여러 번 반복하여 수행할 수 있다. 이러한 SADL 추출 모듈(110)에 의한 SADL 컴포넌트의 추출 과정은 SADL 통합 문서의 구조가 기존 어플리케이션 문서(예컨대, HTML 문서)의 일부 컴포넌트를 대체하여 SADL 컴포넌트가 삽입되는 형태로 만들어지기 때문에 필요하다. SADL 통합 문서에 포함되어 있는 컴포넌트 중에서 SADL 추출 모듈(120)에 의하여 추출되지 않은 기존 포맷의 컴포넌트들(예컨대, HTML 컴포넌트들)은 최종 리소스 생성 모듈(140)로 바로 입력된다.
SADL 분석 모듈(120)은 SADL 추출 모듈(110)에 의하여 추출된 SADL 컴포넌트를 분석 또는 해석하는 기능을 수행한다. SADL 분석 모듈(120)은 MPEG-21 DID 엘리먼트 구조에 기반한 SADL 컴포넌트를 후처리가 가능하도록 일차적으로 분석한 후에 SADL 컴포넌트를 구성하는 데이터를 구조화하는 모듈이다. 예를 들어, SADL 분석 모듈(120)은 SADL 컴포넌트의 데이터(예컨대, 아이템, 스택 연산과 관련된 초이스 정보, 실렉션 정보 등)를 트리 형태로 구조화할 수 있다. 그리고 SADL 분석 모듈(120)은 아이템의 아이디와 그 하부의 초이스(choice), 그리고 각 초이스에 속한 실렉션은 몇 개가 있는지 등 관련한 세부 정보들까지 모두 포함된 테이블을 생성할 수 있다.
SADL 분석 모듈(120)에서의 입력 SADL 문서에 대한 분석 및 데이터들의 분류는 소정의 데이터 분석 수단 예컨대, 돔 파서(DOM parser)에서 수행될 수 있다. SADL 분석 모듈(120)은 데이터 분류를 위한 기본 조건(예컨대, 후술하는 실렉션 아이디(select-id))을 미리 저장해 놓고 있을 수 있으며, 또한 필요시에는 질의(query)를 하여 기본 조건을 추가, 보충, 및/또는 업데이트할 수도 있다.
SADL 통합 문서의 SADL 컴포넌트는 기정의된 스키마에 따라 소정의 저작 도구를 사용하여 작성된다. 예를 들어, 스키마는 기존 MPEG-21 DID 스키마와 DID 엘리먼트 중에서 진술 엘리먼트(state element)에 같은 위치에 존재 가능한 특성정보 조건(DC Condition) 스키마가 사용될 수 있다. SADL 분석 모듈(120)은 추출된 SADL 컴포넌트에 대하여 먼저 이 스키마 관련한 엘리먼트에 대해 적절하게 파싱을 수행한다. 예를 들어, SADL 컴포넌트는 먼저 돔 파서(DOM parser)로 분류가 되고, 프로세싱하기 전 단계에서 SADL 파싱 모듈(130)이 처리할 수 있는 포맷으로 구조화될 수 있다.
도 4는 SADL 컴포넌트를 돔 파서로 구조화하기 위하여 고려해야할 엘리먼트 흐름을 도식화한 것의 일례를 나타낸 것이다. 후술하는 바와 같이, SADL 파싱 모듈(130)에서 특성 정보 조건을 적용하여 파싱을 하기 위해서는 각 아이템 엘리먼트에 대한 정보를 구조화해야 한다. SADL 통합 문서에는 여러 개의 아이템 엘리먼트(Item element) 또는 SADL 컴포넌트가 존재할 수 있으며, 각 아이템 얼리먼트 또는 각 SADL 컴포넌트의 하위에 0개 이상의 초이스 엘리먼트(Choice element)가 존재할 수 있다. 그리고 초이스 엘리먼트의 하위에는 1개 이상의 실렉션 엘리먼트(Selection element)가 포함될 수 있다.
도 3 및 도 4를 참조하면, 초이스 엘리먼트는 1개 이상의 실렉션 엘리먼트로 이루어진 실렉션 엘리먼트 리스트를 가질 수 있다. 각각의 실렉션 엘리먼트는 다른 것과 구별하기 위하여 고유의 실렉션 식별자(Select_id)를 가질 수 있다. 초이스 엘리먼트 하위의 실렉션 엘리먼트들 중에서 SADL 파싱 모듈(130)에서 실렉트된 엘리먼트는 파싱 장치(100)에 의한 파싱 결과로 실행되는 최종 어플리케이션의 리소스에 영향을 미치게 된다. 왜냐하면, 리소스의 유효성을 판단하는 특성 정보 조건(DC Condition) 엘리먼트가 실렉션 아이디를 참조하기 때문이다. 그러므로 파싱 장치(100)의 SADL 파싱 모듈(130)이 적절한 리소스를 파싱할 수 있도록, SADL 분석 모듈(120)은 아이템 엘리먼트, 초이스 엘리먼트, 실렉션 엘리먼트 각각의 관계를 구조화하여 SADL 파싱 모듈(130)로 전송해야 한다. 그리고 후술하는 바와 같이, SADL 파싱 모듈(130)은 실렉션 엘리먼트 중에서 실렉트된 엘리먼트에 대응하는 컴포넌트(component)에 대해서는 리소스가 있는지를 판단하고 또한 조건 체크(condition check)를 한 다음 유효한 컴포넌트에 대해서는 리소스 파싱(resource parsing)을 수행한다. SADL 파싱 모듈(130)에서의 이러한 과정은 컴포넌트의 개수만틈 반복하여 수행될 수 있다.
도 5는 이와 같이 SADL 분석 모듈(120)에서 SADL 문서를 분석하여 구조화하는데 사용될 수 있는 아이템 노드, 초이스 노드, 실렉션 노드의 구조를 일례를 보여 주는 도면이다. SADL 분석 모듈(120)은 SADL 파싱 모듈(130)에서 사용할 수 있도록 도 5에 도시된 것과 같은 구조에 기반하여 SADL 컴포넌트의 데이터를 구조화할 수 있다.
계속해서 도 3을 참조하면, SADL 파싱 모듈(130)은 입력되는 특성 정보 조건 수치을 적용하여 각 SADL 컴포넌트에서 유효한 실렉션 아이디를 찾아낸 다음, 유효한 실렉션 아이디에 대응하는 리소스를 파싱하는 기능을 수행한다. 보다 구체적으로, SADL 파싱 모듈(130)은 먼저, SADL 컴포넌트에 기술되어 있는 초이스 엘리먼트 및 각 초이스 엘리먼트의 하위 실렉션 엘리먼트를 해석한다. 그리고 이러한 해석 결과에 기초하여 입력되는 특성 정보 조건 수치를 적용함으로써, 유효한 실렉션 엘리먼트(유효한 실렉션 아이디)를 찾아내는 판단 과정을 수행한다. 그리고 판단 결과로 찾아낸 유효한 실렉션 아이디에 대응하는 리소스를 파싱하여 데이터베이스 또는 리소스 저장소(resource repository)에 파싱된 리소스를 저장할 수 있다.
도 6은 SADL 파싱 유닛(130)의 구성 요소의 일례를 보여 주는 블록도이다. 도 6을 참조하면, SADL 파싱 유닛(130)은 아이템 해석 모듈(132) 및 리소스 파싱 모듈(134)을 포함한다. 그리고 아이템 해석 모듈(132)은 SADL 컴포넌트에 포함되어 있는 각 초이스와 이에 속하는 실렉션의 관계를 파악한 다음, 특성 정보 조건 수치를 적용하여 각 실렉션의 참/거짓을 판단하여 유효한 실렉션 아이디를 결정한다. 이를 위하여, 아이템 해석 모듈(132)은 실렉션 해석 서브 유닛을 포함하는 초이스 해석 유닛(132a)과 실렉션 판단 유닛(132b)을 포함할 수 있다. 그리고 리소스 파싱 모듈(134)은 아이템 해석 모듈(132)로부터 전달받은 유효한 실렉션 아이디에 대응하는 리소스들을 파싱한다.
아이템 해석 모듈(132)은 크게 특성정보 조건 기능(DC Condition Function)과 스택 기능(Stack Function)의 두 기능을 수행한다. 아이템 해석 모듈(132)의 실렉션 판단 유닛(132b)은 특성 정보 조건 수치를 호출하고 또한 호출된 특성 정보 조건 수치에 기초하여 판단을 수행함으로써 유효한 실렉션을 찾아낸다. 이를 위한 전제 조건으로서, 아이템 해석 모듈(132)의 초이스 해석 유닛(132a)과 이에 포함되는 실렉션 해석 서브 유닛은 해당 초이스 및 각 초이스에 포함되는 실렉션에 대한 해석을 수행한다. 예를 들어, SADL 분석 모듈(120)에 의한 분석 결과, 특정 아이템에 대하여 TV, PC, 모바일 기기라는 세 개의 초이스 군이 있는 경우에, 실렉션 판단 유닛(132b)은 호출된 특성 정보 조건 수치 중에서 장치 유형(device type)과 관련된 특성 정보 조건 수치가 이 세 개의 초이스 군 중에서 어떠한 초이스에 해당되는지, 또한 해당 초이스 중에서 어떠한 실렉션이 유효한 실렉션인지를 찾아낼 수 있다. 이와 같이, 실렉션 판단 유닛(132b)은 실시간으로 특성 정보 조건 수치를 받아와서 각 실렉션에 대하여 스택 연산을 실시하여 참/거짓(True/False)을 판단할 수 있다. 그리고 이러한 판단 결과는 SADL 분석 모듈(120)에 의하여 얻어진 데이터에 함께 저장될 수 있다.
SADL 문서를 파싱하는데 필요한 하나 또는 그 이상의 특성정보(DC)의 유효한 값, 즉 특성정보 조건 수치를 불러오는 역할을 수행하는 특성정보 조건 기능(도시하지 않음)이 실렉션 판단 유닛(132b)에 구비되어 있을 수 있다. 스케일러블 어플리케이션 서비스를 요청한 서비스 요청자의 특성정보 조건 수치(DC Condition value)는 파싱 장치(100)의 데이터베이스(도시하지 않음)에 저장되어 있을 수 있다.
이와 같이, 실렉션 판단 유닛(132b)은 데이터베이스로부터 특성정보 조건 수치, 예컨대, 단말의 디스플레이 크기 정보를 불러들인다. 도 7은 장치 성능, 특히 장치의 디스플레이 크기와 관련된 특성정보(BIG_SIZE와 SMALL_SIZE)와 관련된 SADL 문서의 일부이다. 이 SADL 문서의 아이템, 초이스, 실렉션 관련 구조는 SADL 분석 모듈(120)에 의하여 이미 구조화되어 있으므로, 실렉션 판단 유닛(132b)의 특성 정보 조건 기능은 이에 기반하여 필요한 특성정보 조건 수치를 불러들인다. 도 7의 예에서 특성 정보 조건 기능은 SADL 컴포넌트의 DC 조건 하위 스택엔트리(StackEntry) 엘리먼트 타입 중 DC가 포함된 타입을 인식하며, 데이터베이스에 저장되어 있는 사용자의 특성정보 조건 수치 중에서 이와 관련된 특성정보의 값을 호출한다. 도시된 예에서, DC 조건 기능은 특성정보 중에서 단말의 디스플레이 크기와 관련된 특성정보인 디스플레이 수평 해상도(DCDisplayHorizontalResolution)를 해석하여 장치의 가로 해성도 정보에 대한 서브 함수(Subfunction)를 호출하여 유효한 특정정보 조건 수치를 얻어오게 된다.
그리고 실렉션 판단 유닛(132b)에는 DC 조건 기능이 호출한 특성 정보 조건 수치를 이용하여 각 실렉트 엘리먼트(select_id)의 유효성을 검사하기 위한 스택 기능(도시하지 않음)이 포함되어 있을 수 있다. 스택 기능은 스택엔트리(StackEntry)의 속성값(Attribute Value)을 판별하고 이를 연산하여 그 값이 참일 경우에 해당 실렉트 엘리먼트가 유효하다고 판단할 수 있다.
도 7의 예에 대한 스택 기능의 동작의 일례를 도식화하면 도 8과 같다. 만일, DC 조건 기능이 호출한 디스플레이의 가로 해상도(DCDisplayHorizontalResolution)가 800이라면, 스택 기능은 그 다음 스택에 저장되는 1000 오퍼랜드(Operand)와 연산을 수행할 수 있다. 이 때, 오퍼레이터(operator)는 스택에 저장되어 있는 연산자를 불러오는데, 도 8의 예에서는 GTE(≥), LTE(≤)가 사용되었다. 이 때, 스택 기능은 호출된 특성정보(디스플레이의 가로 해상도가 800)에 대하여 연산자가 GTE인 오퍼랜드에 대해서는 유효하지 않다고 판단하고 연산자가 LTE인 오퍼랜드에 대해서는 유효하다고 판단할 수 있다.
이와 같이, 스택 기능에 의하여 도출된 값, 예컨대 각 실렉션 엘리먼트에 대하여 판단한 유효성 값(참/거짓)은 SADL 분석 모듈(120)에 의하여 구조화된 트리 형태의 데이터 구조에 함께 저장될 수 있다. 예를 들어, 유효성 값은 도 5의 실렌션 노드 구조(selection node structure)에 포함되어 있는 "SelectionCheck" 변수에 저장될 수 있으며, 저장된 유효성 값은 리소스 파싱 모듈(134)에서 사용될 수 있다.
계속해서 도 6을 참조하면, 리소스 파싱 모듈(134)은 유효한 실렉션 아이디에 대응하는 리소스를 파싱한다. 이를 위하여, 리소스 파싱 모듈(134)은 조건 유효성 체크 기능(Condition Validation Function)과 컴포넌트 체크 기능(Component Check Function)을 포함할 수 있다. 리소스 파싱 모듈(134)은 최종 어플리케이션의 프리젠테이션/렌더링(Presentation/Rendering)이 가능하도록 각 컴포넌트들의 조건이 유효한지를 검사하고 또한 유효한 컴포넌트들 각각에 대하여 리소스가 유효한지를 검사한다. 이 때, 초이스에 포함되는 하나 또는 그 이상의 실렉션들의 유효성을 판단한 정보, 즉 실렉션 판단 유닛(132b)에서 스택 연산을 통해서 구한 참/거짓 정보를 이용하여, 리소스 파싱 모듈(134)은 각 컴포넌트들의 조건이 유효한지를 판단할 수 있다. 이 경우에, 특성정보 조건이 없는 컴포넌트는 무조건 유효한 것이라고 판단할 수 있으나, 이것은 단지 예시적인 것이다.
그리고 조건 유효성 체크 기능은 각 컴포넌트들의 조건이 유효한지를 판단한다. 예를 들어, 실렉션 판단 유닛(132b)에서 스택 연산을 통해서 구한 참/거짓 정보를 이용하여, 조건 유효성 체크 기능은 해당 컴포넌트의 유효성을 판단할 수 있다. 전술한 바와 같이, 실렉션 판단 유닛(132b)이 스택 연산을 수행하고 나온 결과값은 데이터베이스 또는 구조화된 데이터의 특정 위치(예컨대, 실렉션 노드 구조)에 저장될 있으며, 조건 유효성 체크 기능은 저장되어 있는 실렉션 모듈(120)의 스택 연산 결과값을 이용하여 해당 컴포넌트의 유효성을 판단할 수 있다.
도 9는 리소스 파싱 모듈(134)의 조건 유효성 체크 기능에서 조건 유효성을 판단하는 과정의 일례를 설명하기 위한 도면이다. 조건 유효성을 검사하기 위해서는 먼저 조건 엘리먼트의 성격에 대하여 정의를 해야 한다. 예를 들어, 조건은 개별 조건에 대해서는 하나의 조건만 참이라도(OR) 전체 컴포넌트가 유효하며 이에 종속된 리소스 또한 유효하다고 판단할 수 있다. 조건은 익셉트(except) 또는 리콰이어(require) 속성을 갖는데, 한 속성에서의 실렉션 식별자는 두 개 모두 유효해야만(AND) 컨디션이 유효하다고 판단할 수도 있다.
도 9의 예에서, 만약 SMALL_SIZE만 유효한 실렉션 식별자라고 가정하자. 이 경우에 첫 번째 조건은 SMALL_SIZE와 HIGH_Power 모두 유효하지 않아야 하므로 거짓 조건이 된다. 두 번째 조건은 APPLE 실렉션 식별자가 유효하지 않으므로 또 거짓 조건이 된다. 결과적으로 도 9의 예제에서 컴포넌트들은 모두 거짓이 되므로, 포함되어 있는 리소스는 모두 필터링이 된다. 다른 예로, 만약 APPLE만 유효한 실렉션 식별자인 경우, 첫 번째 조건은 모두 포함하지 않으므로 참인 조건이 되고, 또한 두 개 중에서 하나의 조건만 참이면 컴포넌트가 유효한데, 두 개 모두 참이므로 컴포넌트의 하위 모든 리소스는 파싱이 되게 된다.
리소스 파싱 모듈(134)의 컴포넌트 체크 기능은 조건 유효성 체크 기능의 조사 결과에 의하여 유효한 컴포넌트로 판정된 컴포넌트의 리소스가 유효한지를 판정하고 또한 렌더링이 가능한 포맷으로 만들 수 있도록 유효하다고 판정된 리소스들을 파싱 또는 재조합한다. 도 10은 컴포넌트 체크 기능에서의 동작을 예시적으로 설명하기 위한 도면으로서, 특정 아이템의 하나의 초이스에 대하여 컴포넌트의 하위 조건을 참조할 경우의 일례이다. 도 10을 참조하면, 초이스 1이 4개의 실렉션 엘리먼트를 포함한다면 또한 고유한 4개의 실렉션 식별자(select_id)를 갖게 된다. 그리고 도 10에서는 실렉션 판단 유닛(132b)에 의하여 참으로 판별된 실렉스 식별자가 1_2, 1_4인 경우를 가정하였다. 만약 동일한 아이템을 부모로 하는 컴포넌트 엘리먼트가 있는 경우에, 이 컴포넌트에 의해 리소스 유무와 조건 유무에 따라서 리소스 파싱 모듈(134)에서의 파싱방법은 달라질 수 있다. 만약, 리소스 1-1, 1-2와 같이 조건을 형제 엘리먼트로 갖고 있다면, 조건의 값이 참인지 거짓인지에 따라서 리소스의 유효성이 결정될 수 있다. 반대로, 조건을 형제로 갖고 있지 않은 리소스는 무조건 유효한 것으로 판정하고 최종 프리젠테이션을 위해 파싱을 수행할 수 있다. 이러한 조건의 유효성은 리소스 파싱 모듈(134)의 조건 유효성 체크 기능을 통해 알 수 있다는 것은 전술한 바와 같다.
계속해서 도 3을 참조하면, 최종 리소스 생성 모듈(140)은 특성 정보 조건 수치에 최적화된 맞춤형 컨텐츠를 생성하기 위한 것이다. 이를 위하여, 최종 리소스 생성 모듈(140)은 SADL 파싱 모듈(130)의 리소스 파싱 모듈(134)에서 파싱된 리소스와 SADL 통합 문서 중에서 SADL 컴포넌트가 아닌 기존 포맷의 컴포넌트들(예컨대, HTML 컴포넌트들)의 리소스를 재조합한다. SADL 통합 문서 중에서 SADL 컴포넌트가 아닌 다른 컴포넌트는 SADL 통합 문서에서 SADL 추출 모듈(110)에 의하여 추출되지 않고 남은 컴포넌트들이다.
최종 리소스 생성 모듈(140)에 의하여 재조합된 맞춤형 컨텐츠를 기술하는 문서(재조합된 리소스들)는 프리젠테이션 모듈(도시하지 않음)에 의하여 리소스 파싱 모듈(130)에서 레거시 단말에서도 원활하게 동작하도록 포매팅하는 작업이 수행될 수 있다. 즉, 프리젠테이션 모듈은 최종 리소스 생성 모듈(140)에서 출력되는 리소스 중에서 필요한 정보는 붙이고 또한 불필요한 정보는 제거하는 등의 방법으로 리소스들을 통합하여 프리젠테이션이 가능하도록 포매팅할 수 있다. 예를 들어, 프리젠테이션 모듈은 특성정보 조건에 따라서 각 단말에 최적화된 SADL 어플리케이션을 HTML 브라우저, 플래쉬 플레이어, 자바 가상 기계 등으로 렌더링이 가능한 포맷(XHTML, JAVA, FLASH)으로 만드는 기능을 수행할 수 있다. 이것은 원본 어플리케이션이 손상이 없는 범위 내에서 각 사용자의 특성정보 조건을 반영한 어플리케이션이 최종 사용자의 단말에서 동작이 가능하도록 어플리케이션 특성과 플래폼 특성을 모두 고려하여 각 상황에 맞도록 후처리하는 것이다.
10 : 서버
20_1, 20_2, 20_N : 단말
30 : 중계기

Claims (10)

  1. SADL(Scalable Application Description Language) 통합 문서로부터 SADL 컴포넌트를 추출하기 위한 SADL 추출 모듈;
    상기 SADL 추출 모듈에서 추출된 SADL 컴포넌트를 엘리먼트별로 분석하여 체계화하기 위한 SADL 분석 모듈;
    상기 SADL 분석 모듈에서 분석된 엘리먼트들 중에서 서비스 요청 단말의 특성 정보 조건 수치에 대응하는 유효한 실렉션 아이디를 조사하여 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 SADL 파싱 모듈; 및
    상기 SADL 통합 문서의 컴포넌트들 중에서 상기 SADL 추출 모듈에서 추출되지 않은 컴포넌트들과 상기 SADL 파싱 모듈에서 파싱한 리소스를 결합하여 맞춤형 컨텐츠 문서를 생성하기 위한 최종 리소스 생성 모듈을 포함하고,
    상기 SADL 파싱 모듈은
    상기 SADL 분석 모듈의 분석 결과에 상기 서비스 요청 단말의 특성 정보 조건 수치를 적용하여 상기 유효한 실렉션 아이디를 결정하기 위한 아이템 해석 모듈; 및
    상기 아이템 해석 모듈에서 결정한 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 리소스 파싱 모듈을 포함하는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  2. 제1항에 있어서,
    상기 SADL 분석 모듈에서는 돔 파서(DOM 파서)를 이용하여 엘리먼트들을 트리 형태로 체계화하는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  3. 제2항에 있어서,
    상기 돔 파서는 상기 SADL 컴포넌트를 아이템 엘리먼트, 각 아이템 엘리먼트에 대한 0개 또는 그 이상의 초이스 엘리먼트, 및 각 초이스 엘리먼트에 대한 하나 또는 그 이상의 실렉션 엘리먼트의 형태로 체계화시키는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  4. 삭제
  5. 제1항에 있어서, 상기 아이템 해석 모듈은
    상기 서비스 요청 단말의 특성 정보를 가져오기 위한 특성 정보 조건 기능; 및
    상기 특성 정보를 적용하여 상기 SADL 컴포넌트를 구성하는 각 실렉션 엘리먼트의 유효성을 판단하기 위한 스택 기능을 포함하는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  6. 제1항에 있어서, 상기 리소스 파싱 모듈은
    상기 SADL 컴포넌트의 조건이 유효한지를 검사하기 위한 조건 유효성 체크 기능; 및
    상기 유효한 실렉션 엘리먼트에 대응하는 리소스가 유효한지를 검사하기 위한 컴포넌트 체크 기능을 포함하는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  7. 제1항에 있어서,
    상기 파싱 장치는 스케일러블 어플리케이션 서비스를 제공하는 서버에 구비되어 있고,
    상기 특성 정보는 사용자의 프라이버시와 관련된 것으로서 익명으로 상기 서버에 일시적으로 저장되어 있는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  8. 제1항에 있어서,
    상기 파싱 장치는 스케일러블 어플리케이션 서비스를 요청하는 단말에 구비되어 있고, 상기 특성 정보는 사용자의 프라이버시와 관련된 정보인 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 장치.
  9. 스케일러블 어플리케이션 서비스를 제공하기 위한 파싱 장치가 수행하는 파싱 방법에 있어서,
    입력된 SADL(Scalable Application Description Language) 통합 문서로부터 SADL 컴포넌트를 추출하기 위한 SADL 추출 단계;
    상기 SADL 추출 단계에서 추출된 SADL 컴포넌트를 엘리먼트별로 분석하여 체계화하기 위한 SADL 분석 단계;
    상기 SADL 분석 단계에서 분석된 엘리먼트들 중에서 서비스 요청 단말의 특성 정보 조건 수치에 대응하는 유효한 실렉션 아이디를 조사하여 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 SADL 파싱 단계; 및
    상기 SADL 통합 문서의 컴포넌트들 중에서 상기 SADL 추출 단계에서 추출되지 않은 컴포넌트들과 상기 SADL 파싱 단계에서 파싱한 리소스를 결합하여 맞춤형 컨텐츠 문서를 생성하기 위한 최종 리소스 생성 단계를 포함하고,
    상기 SADL 파싱 단계는
    상기 SADL 분석 단계에서의 분석 결과에 상기 서비스 요청 단말의 특성 정보 조건 수치를 적용하여 상기 유효한 실렉션 아이디를 결정하기 위한 아이템 해석 단계; 및
    상기 아이템 해석 단계에서 결정한 상기 유효한 실렉션 아이디에 대응하는 리소스를 파싱하기 위한 리소스 파싱 단계를 포함하는 것을 특징으로 하는 스케일러블 어플리케이션 서비스를 위한 파싱 방법.
  10. 삭제
KR1020110125378A 2011-11-28 2011-11-28 스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법 KR101847643B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110125378A KR101847643B1 (ko) 2011-11-28 2011-11-28 스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110125378A KR101847643B1 (ko) 2011-11-28 2011-11-28 스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130059194A KR20130059194A (ko) 2013-06-05
KR101847643B1 true KR101847643B1 (ko) 2018-05-25

Family

ID=48858198

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110125378A KR101847643B1 (ko) 2011-11-28 2011-11-28 스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101847643B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513056B1 (ko) 2002-12-03 2005-09-05 한국전자통신연구원 영상 컨텐츠의 적응 변환 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100513056B1 (ko) 2002-12-03 2005-09-05 한국전자통신연구원 영상 컨텐츠의 적응 변환 장치 및 그 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Tae-Beom ET AL: "Scalable application framework to support IPTV client device independence based on MPEG-21", Consumer Electronics (ICCE), 2011 IEEE Int’ Conference on, Jan. 2011(2011.1.9.)
이윤주 외 4인, "홈 네트워크에서 스케일러블 어플리케이션 서비스 방법", 한국멀티미디어학회 2010년도 추계학술발표논문집, 2010.11, pp.490-491(2010.11.30.)

Also Published As

Publication number Publication date
KR20130059194A (ko) 2013-06-05

Similar Documents

Publication Publication Date Title
US11875140B2 (en) Application support for network devices
CN107844586B (zh) 新闻推荐方法和装置
EP1320972B1 (en) Network server
US7921154B2 (en) System and method of live data search on a mobile device
US20080010664A1 (en) Method and System for Providing Interactive Services in Digital Television
KR100725541B1 (ko) 일체형 포탈서비스 시스템 및 방법과, 이를 위한 사용자단말장치
US20100257466A1 (en) Method and system for generating a mini-software application corresponding to a web site
US20060218480A1 (en) Data output method and system
KR101245665B1 (ko) 통합 멀티미디어 컨텐츠를 제공하는 검색 시스템 및 검색 방법
KR101821603B1 (ko) 스케일러블 어플리케이션 서비스 시스템에서의 사용자 맞춤형 광고/뉴스의 제공 방법
CN103618779A (zh) 资源共享的方法及系统
KR20150106479A (ko) 컨텐츠 공유 서비스 시스템, 그의 컨텐츠 공유를 위한 장치 및 컨텐츠 공유 서비스 제공 방법
KR101173946B1 (ko) 홈 네트워크 시스템에서 어플리케이션 서비스 방법 및 어플리케이션 공유 방법
KR101097372B1 (ko) 홈 네트워크 시스템에서 어플리케이션 서비스 방법 및 서버
WO2017050261A1 (zh) 一种云计算方法、云服务器及终端
JP2009211278A (ja) 携帯端末を利用した検索システムおよびその検索方法
KR101847643B1 (ko) 스케일러블 어플리케이션 서비스를 위한 파싱 장치 및 방법
KR20190089384A (ko) 전자 장치 및 이를 이용한 검색어 처리 방법
KR101236481B1 (ko) 홈 네트워크 시스템에서 컨텐츠 공유 방법
KR101834358B1 (ko) 스케일러블 어플리케이션 서비스를 위한 저작 장치 및 방법
KR101158019B1 (ko) 홈 네트워크 시스템에서 어플리케이션 서비스 방법, 어플리케이션 공유 방법및 어플리케이션 서비스 장치
KR101841164B1 (ko) 스케일러블 어플리케이션 서비스를 위한 저작 장치 및 방법
KR101841064B1 (ko) Sadl 통합 문서를 이용한 스케일러블 어플리케이션 서비스 방법
KR101084546B1 (ko) 검색 결과 내 추가 검색 모듈 및 그를 이용한 검색 결과 내 추가 검색 방법
KR100919585B1 (ko) 웹 콘텐츠 송수신 시스템 및 그 제어방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant