KR20110088274A - 단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법 - Google Patents

단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법 Download PDF

Info

Publication number
KR20110088274A
KR20110088274A KR1020100008107A KR20100008107A KR20110088274A KR 20110088274 A KR20110088274 A KR 20110088274A KR 1020100008107 A KR1020100008107 A KR 1020100008107A KR 20100008107 A KR20100008107 A KR 20100008107A KR 20110088274 A KR20110088274 A KR 20110088274A
Authority
KR
South Korea
Prior art keywords
terminal
web service
web
event
script
Prior art date
Application number
KR1020100008107A
Other languages
English (en)
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 KR1020100008107A priority Critical patent/KR20110088274A/ko
Priority to US12/967,240 priority patent/US20110185038A1/en
Publication of KR20110088274A publication Critical patent/KR20110088274A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

리치 인터넷 애플리케이션 방식을 사용하면서, 단말의 데이터나 단말 고유 기능과 연동이 가능한 단말 웹 서비스를 제공하는 장치 및 방법이 제공된다. 단말 장치는 웹 애플리케이션 제공부 및 단말 웹 서비스 제공부를 포함한다. 웹 애플리케이션 제공부는 외부의 웹 서버로부터 수신된 클라이언트 스크립트를 이용하여, 단말 장치에서 제공하는 단말 웹 서비스와 연동하도록 제어하는 단말 웹 서비스 제어 스크립트를 발견하고, 단말 웹 서비스 제어 스크립트를 이용하여 단말 웹 서비스 제공을 요청하는 HTTP 요청 메시지를 생성한다. 단말 웹 서비스 제공부는 HTTP 요청 메시지의 수신에 따라서, 단말 웹 서비스에 의한 응답 정보를 제공하는 HTTP 응답 메시지를 웹 애플리케이션 제공부에 전송하여 단말 웹 서비스를 제공한다.

Description

단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법{Apparatus for providing terminal web service and method thereof}
리치 인터넷 애플리케이션 기반의 웹 정보 제공 기술에 관한 것이다.
이동통신망의 속도가 고속화됨에 따라, 무선 인터넷 및 모바일 기술의 성장과 함께 휴대 단말의 성능 향상이 가속화되고 있다. 또한, PMP(portable multimedia player), MP3 플레이어, 내비게이터, 휴대형 게임기, PDA(personal digital assistant), UMPC(ultra mobile personal computer), 스마트 폰과 같이 인터넷이 가능한 다양한 휴대 단말의 비율이 늘어남에 따라, 방대한 양의 웹 정보를 모바일 환경에서도 효과적으로 접근할 수 있는 방안에 대한 사용자 요구사항이 증대되고 있다.
그 방안 중 하나로, 리치 인터넷 애플리케이션 방식은 통상의 PC에서 풀 브라우징을 기반으로 동작하는 웹 애플리케이션을 모바일 단말에서 그대로 사용하는 방식이다. 풀 브라우징이란, WML(wireless markup language)로 작성된 WAP(wireless application protocol) 기반으로 작성된 웹 페이지가 아닌, HTML(hyper text markup language)로 작성된 웹 페이지를 PC의 인터넷 익스플로러나 파이어폭스(Firefox) 등에서와 같이 자유롭게 사용할 수 있도록 지원하는 브라우징을 의미한다. 이 방식은 서비스 제공자가 모바일 단말을 위해 별도의 웹 서비스를 개발하여 배포하거나 별도의 프로그램을 모바일 단말에 설치할 필요가 없다.
리치 인터넷 애플리케이션 방식을 사용하면서, 단말의 데이터 또는 단말 고유 기능과 연동이 가능한 단말 웹 서비스를 제공하는 장치 및 방법이 제공된다.
일 측면에 따른 단말 장치는 웹 애플리케이션 제공부 및 단말 웹 서비스 제공부를 포함할 수 있다. 웹 애플리케이션 제공부는 외부의 웹 서버로부터 수신된 클라이언트 스크립트를 이용하여, 단말 장치에서 제공하는 단말 웹 서비스와 연동하도록 제어하는 단말 웹 서비스 제어 스크립트를 발견하고, 단말 웹 서비스 제어 스크립트를 이용하여 단말 웹 서비스 제공을 요청하는 HTTP 요청 메시지를 생성한다. 단말 웹 서비스 제공부는 HTTP 요청 메시지의 수신에 따라서 단말 웹 서비스에 의한 응답 정보를 제공하는 HTTP 응답 메시지를 웹 애플리케이션 제공부에 전송하여 단말 웹 서비스를 제공한다.
다른 측면에 따른 단말 장치의 단말 웹 서비스 제공 방법은, 웹 애플리케이션 제공부는 네트워크를 통해 연결된 외부의 웹 서버로부터 단말 웹 서버에서 제공하는 단말 웹 서비스와 연동하도록 구성된 클라이언트 스크립트를 수신하는 동작과, 웹 애플리케이션 제공부는 클라이언트 스크립트를 이용하여 단말 웹 서비스와 연동하도록 제어하는 단말 웹 서비스 제어 스크립트를 발견하는 동작과, 웹 애플리케이션 제공부는 단말 웹 서비스 제어 스크립트를 이용하여 단말 웹 서비스 제공을 요청하는 HTTP 요청 메시지를 생성하는 동작과, 웹 애플리케이션 제공부는 생성된 HTTP 요청 메시지를 단말 웹 서비스 제공부에 전송하는 동작과, 단말 웹 서비스 제공부는 HTTP 요청 메시지의 수신에 따라서, 단말 웹 서비스를 제공하는 HTTP 응답 메시지를 웹 애플리케이션 제공부에 전송하는 동작을 포함한다.
서비스 제공자는, 단말 고유의 데이터 및 기능과 효과적 상호 연동이 가능한 웹 애플리케이션을 별도의 복잡한 배포 과정없이 손쉽게 사용자에게 제공할 수 있다.
단말 제조 업체는, OS나 플랫폼과 관계없이, 자사의 단말의 고유 데이터나 기능을 공개함으로써, 오픈 마켓 활성화를 유도할 수 있을 뿐만 아니라, 자사 단말과 연동 가능한 웹 서비스가 늘어남에 따라 단말에 대한 경쟁력이 추가로 확보될 수 있다. 또한, 자사 단말 웹 서비스에 호환되는 웹 애플리케이션이 많아질수록, 동종 또는 유사 단말의 웹 서비스 표준화를 주도할 수 있다.
단말 장치의 사용자는, 단말 데이터를 서버에 전달하지 않고도 개인화 서비스를 제공받을 수 있으므로, 단말 데이터의 프라이버시를 보장할 수 있을 뿐만 아니라, 고가의 무선 인터넷에서의 불필요한 네트워크 트래픽을 감소시킬 수 있다.
도 1은 모바일 매시업 서비스를 제공하는 시스템 구조의 일 예를 나타내는 도면이다.
도 2a 및 도 2b는 도 1의 단말 장치에 포함된 제어부의 구성의 일 예를 나타내는 도면이다.
도 3은 단말 장치로 다운로드된 웹 애플리케이션에 포함되는 클라이언트 스크립트의 구조의 일 예를 나타내는 도면이다.
도 4는 단말 장치에서 제공하는 단말 웹 서비스 제어 스크립트의 구조의 일 예를 나타내는 도면이다.
도 5는 단말 장치에서 제공하는 단말 웹 서비스의 구조의 일 예를 나타내는 도면이다.
도 6은 단말 장치에서 제공하는 단말 이벤트 관리자의 구조의 일 예를 나타내는 도면이다.
도 7은 단말 웹 서비스 제공 방법의 일 예를 나타내는 순서도이다.
도 8은 단말 웹 서비스 연동을 위한 초기 과정의 일 예를 나타내는 순서도이다.
도 9는 단말 데이터 제공 웹 서비스를 제공하는 방법의 일 예를 나타내는 순서도이다.
도 10은 단말 애플리케이션 실행 웹 서비스를 제공하는 방법의 일 예를 나타내는 순서도이다.
도 11은 단말 이벤트 웹 서비스를 제공하는 방법의 일 예를 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 모바일 매시업 서비스를 제공하는 시스템 구조의 일 예를 나타내는 도면이다.
모바일 매시업 서비스를 제공하는 시스템(100)은 웹 서버(110) 및 단말 장치(120)를 포함할 수 있다.
웹 서버(110)는 웹 사이트를 제공하는 웹 애플리케이션(112)을 구동한다. 웹 서버(110)는 웹 애플리케이션을 그대로 모바일 단말에서 사용할 수 있는 리치 인터넷 애플리케이션(Rich Internet Application, RIA로 약칭함) 방식으로 개발된 웹 애플리케이션(112)을 제공할 수 있다.
단말 장치(120)는 PMP, MP3 플레이어, 내비게이터, 휴대형 게임기, PDA, UMPC, 스마트 폰과 같이 인터넷이 가능한 다양한 휴대 단말 장치일 수 있다. 단말 장치(120)는 통신부(122), 제어부(124) 및 저장부(126)를 포함할 수 있다. 통신부(122)는 웹 서버(110)와 네트워크를 통해 통신하도록 구성된다. 제어부(124)는 단말 장치(120)의 동작 전반을 제어하도록 구성될 수 있다. 제어부(124)는 웹 애플리케이션(112)를 다운로드받아 실행하는 웹 브라우저를 실행하고 단말 웹 서비스를 제공할 수 있다. 저장부(126)는 단말 장치(120)의 장치 정보, 운영체제, 애플리케이션, 사진, 동영상, 오디오 파일, 문서 등과 같은 각종 데이터를 저장한다. 단말 장치(120)는 오디오 출력 장치, 디스플레이, 사용자 입력 장치 등을 더 포함하여 구성될 수 있다.
단말 장치(120)는 웹 서버(110)에 방문하여, 웹 서버(110)가 제공하는 웹 애플리케이션(112)를 이용하여, 다양한 콘텐츠 및 웹 기능을 이용할 수 있다. 또한, 단말 장치(120)는 무선인터넷을 이용하여, 일반 인터넷 사이트와 동일한 형태로 문서와 동영상을 볼 수 있는 풀 브라우징 서비스를 이용할 수 있다.
통상의 리치 인터넷 애플리케이션 기반의 웹 서비스에서는 단말 장치(120)가 가지고 있는 데이터나 단말 고유 기능과는 전혀 연동될 수 없었다. 이에 비해, 단말 장치(120)는 풀 브라우징 서비스를 통해 제공되는 리치 인터넷 애플리케이션 기반의 웹 애플리케이션이 단말의 데이터나 단말 고유 기능과 연동이 가능하도록 하는 단말 웹 서비스를 제공하여 모바일 매시업 서비스를 구현할 수 있다. 단말 웹 서비스는 단말 장치(120)에 저장된 데이터, 단말 장치(120)에서 실행가능한 애플리케이션 및 단말 장치(120) 내부에서 발생되는 각종 이벤트 중 적어도 하나와 관련될 수 있다.
일 예로, 웹 서버(110)가 웹 애플리케이션(112)을 통해 음원 사이트를 제공하고, 단말 장치(120)는 오디오 파일 및 오디오 파일 재생 프로그램을 저장하고 있다고 가정한다. 사용자가 단말 장치(120)에 탑재된 오디오 파일 재생 프로그램을 통해서 그룹 A의 B곡을 듣고 있다가, 사용자가 그룹 A의 다른 곡을 찾아보기 위하여 웹 브라우저를 구동하여 웹 서버(110)가 제공하는 음원 사이트를 방문할 수 있다. 이 경우, 단말 장치(120)는 단말 웹 서비스를 이용하여 저장하고 있던 음원 사이트의 로그인을 위한 정보 및 그룹 A의 B곡에 대한 재생 정보를 웹 서버(110)로 전달하여, 사용자가 별도의 로그인을 거치지 않아도, 웹 서버(110)는 단말 장치(120)의 사용자를 확인하고, 재생 정보를 참조하여 단말 장치(120)에 그룹 A의 다른 C곡을 추천할 수 있다. 사용자가 C곡을 미리듣기하던 중에, 사용자가 단말 장치(120)를 좌우로 흔들면, 단말 웹 서비스를 이용하여 웹 서버(110)로 단말 장치(120)의 흔들림에 대응하는 이벤트가 전달되어, 웹 서버(110)는 그룹 A의 D곡으로 미리듣기 곡을 변경할 수 있다. 그런 다음, 웹 서버(110)는 변경된 미리듣기 곡을 단말 장치(120)에 전달하고, 단말 장치(120)는 오디오 파일 재생 프로그램을 이용하여 변경된 미리듣기 곡을 재생할 수 있다. 따라서, 사용자는 단말 장치(120)를 흔드는 동작으로, 변경된 곡을 미리듣기할 수 있다.
다른 예로, 사용자의 선호 정보나 음원 재생 내역과 같은 개인 정보를 웹 서버(110)로 전달하지 않고도 사용자는 단말 장치(120)의 웹 서비스를 이용하여 음원 추천 서비스를 이용할 수 있다. 사용자가 단말 장치(120)에 웹 브라우저를 구동하여 웹 서버(110)가 제공하는 음원 사이트를 방문할 수 있다. 웹 애플리케이션(112)은 단말 장치(120)가 제공하는 단말 웹 서비스 정보를 이용하여, 단말 장치(120)가 단말 웹 서비스로서 추천 음악 웹 서비스를 보유하고 있음을 확인할 수 있다. 또한, 웹 애플리케이션(112)은 음원 사이트에서 제공하는 음원 가운데 금주의 인기 차트를 단말 장치(120)로 다운로드하여, 다운로드된 인기 차트가 추천 음악 웹 서비스로 전달되도록 할 수 있다. 그러면, 추천 음악 웹 서비스는 다운로드된 인기 차트에 포함된 음원 중에서 사용자의 선호도에 맞는 곡을 하나 추천하여, 단말 장치(120)에 탑재된 음악 재생 프로그램을 통해 재생할 수 있다.
또 다른 예로, 단말 장치(120)는 단말 웹 서비스를 이용하여, 단말 장치(120)에 저장된 데이터를 웹 서버(110)로 업로드하는데 이용되는 특별한 업로드 프로그램을 다운로드받아서 설치하지 않고도, 저장된 사진, 동영상 등 데이터를 웹 애플리케이션(112)을 통해 웹 서버(110)로 업로드할 수 있다.
이 외에도, 단말 장치(120)에서 제공하는 단말 웹 서비스와, 단말 웹 서비스를 이용하는 웹 애플리케이션(112)을 어떻게 구성하는지에 따라서, 모바일 매시업 서비스가 다양한 예로 구현될 수 있다.
이와 같은 모바일 매시업 서비스를 통하여, 서비스 제공자는 단말 고유의 데이터 및 기능과 효과적 상호 연동이 가능한 웹 애플리케이션을 별도의 복잡한 배포 과정없이 손쉽게 사용자에게 제공할 수 있다. 또한, 단말 제조자는, OS나 플랫폼과 관계없이, 자사의 단말의 고유 데이터나 기능을 공개함으로써, 오픈 마켓 활성화를 유도할 수 있을 뿐만 아니라, 자사 단말과 연동 가능한 웹 서비스가 늘어남에 따라 단말에 대한 경쟁력이 추가로 확보될 수 있다. 또한, 자사 단말 웹 서비스에 호환되는 웹 애플리케이션이 많아질수록, 동종 또는 유사 단말의 웹 서비스 표준화를 주도할 수 있다. 또한, 단말 장치(120)의 사용자는, 단말 데이터를 서버에 전달하지 않고도 개인화 서비스를 제공받을 수 있으므로, 단말 데이터의 프라이버시를 보장할 수 있을 뿐만 아니라, 고가의 무선 인터넷에서의 불필요한 네트워크 트래픽을 감소시킬 수 있다.
도 2a 및 도 2b는 도 1의 단말 장치에 포함된 제어부의 구성의 일 예를 나타내는 도면이다.
제어부(124)는 OS 및 모바일 플랫폼(210), 웹 애플리케이션 제공부(220) 및 단말 웹 서비스 제공부(230)를 포함할 수 있다. OS 및 모바일 플랫폼(210)은 윈도우 모바일, 안드로이드, LiMo(Linux Mobile), 심비안 등과 같은 모바일 플랫폼 및 모바일 운영 체제를 나타낸다. 웹 애플리케이션 제공부(220) 및 단말 웹 서비스 제공부(230)는 OS 및 모바일 플랫폼(210)상에서 동작될 수 있다.
단말 장치(120)는 웹 애플리케이션 제공부(220)가 웹 서버(110)의 웹 애플리케이션(112)을 다운로드하여 실행하는 것에 의해, 단말 장치(120)의 로컬 데이터나 단말 고유 기능과 연동하기 위한 단말 웹 서비스를 제공한다. 웹 애플리케이션 제공부(220)와 단말 웹 서비스 제공부(230)는 HTTP(hypertext transfer protocol)에 따라서 통신을 수행할 수 있다. 즉, 웹 애플리케이션 제공부(220)는 단말 웹 서비스 제공부(230)에 단말 웹 서비스의 응답을 요청하는 HTTP 요청 메시지를 전송하고, 단말 웹 서비스 제공부(220)는 HTTP 요청 메시지의 수신에 따라서 단말 웹 서비스에 의한 응답을 제공하는 HTTP 응답 메시지를 웹 애플리케이션 제공부(220)에 전송할 수 있다.
웹 애플리케이션 제공부(220)는 단말 웹 서비스 제공부(230)로부터 제공되는 HTTP 응답 메시지에 포함된 정보를 통신부(122)를 통해 웹 서버(110)로 전송할 수 있다. 웹 서버(110)의 웹 애플리케이션(112)은 수신된 정보에 따른 동작을 수행할 수 있다. 예를 들어, 웹 서버(110)는 HTTP 응답 메시지에 포함된 정보에 따라 콘텐츠 및/또는 특정 동작을 수행하도록 작성된 자바 스크립트를 단말 장치(120)로 전송할 수 있다. 또는, 웹 서버(100)는 HTTP 응답 메시지에 포함된 정보를 웹 서버(110)의 특정 저장 공간에 저장하여 관리하는 등 특정 동작을 수행할 수 있다. 또한, 웹 애플리케이션 제공부(220)는 웹 서버(110)로부터 수신된 정보를 단말 웹 서비스 제공부(230)로 전달할 수 있다.
웹 애플리케이션 제공부(220)는 웹 브라우저(222), HTML 문서(224) 및 클라이언트 스크립트(226)를 포함할 수 있다. 단말 장치(120)가 웹 서버(110)에 접속하면, 웹 서버(110)로부터 웹 애플리케이션(112)이 제공하는 웹 페이지의 데이터가 다운로드된다. HTML 문서(224) 및 클라이언트 스크립트(226)는 도 1의 웹 서버(110)에서 구동되는 웹 애플리케이션(112) 중 단말 장치(120)에 다운로드된 데이터를 나타낸다.
웹 브라우저(222)는 다운로드된 HTML 문서(224) 및 다운로드된 클라이언트 스크립트(226)를 실행한다. 웹 브라우저(222)는 모바일 단말에서 동작하는 모바일 웹 브라우저일 수 있다. 모바일 웹 브라우저는 예를 들어, 인터넷 익스플로러, 오페라, 크롬 라이트 등과 같이 풀 브라우징을 지원할 수 있다.
HTML 문서(224)는 웹 서버(110)로부터 단말 장치(120)로 다운로드되어, 웹 브라우저(222)에서 실행된다. 클라이언트 스크립트(226)는 HTML 문서(224)에 포함되어 다운로드되거나, HTML 문서(224)와 함께 다운로드될 수 있다. 클라이언트 스크립트(226)는 자바 스크립트일 수 있다.
클라이언트 스크립트(226)는 단말 웹 서비스와 연동하도록 구성될 수 있다. 클라이언트 스크립트(226)의 실행에 따라서, 웹 브라우저(222)는 단말 웹 서버스 제공부(230)에 포함된 단말 웹 서버(234)에서 제공하는 단말 웹 서비스 제어 스크립트(231)를 발견할 수 있다. 클라이언트 스크립트(226)는 발견된 웹 서비스 제어 스크립트(231)는 웹 애플리케이션 제공부(220)에 임베드하여 연동하는 기능을 포함한다.
단말 웹 서비스 제공부(230)는 웹 애플리케이션 제공부(220)에 단말의 데이터 및 단말 고유 기능을 제공한다. 단말의 데이터는 문자 메시지, 일정 정보, 위치 정보, 콘텐츠 재생 이력 정보, 사진, 음악 파일, 동영상 등 단말 장치(120)에 저장되어 이용되는 각종 데이터를 나타낸다. 단말의 데이터는 다른 장치와 공유 가능한 데이터로 단말 장치(120)상에 표준화된 포맷으로 저장되어 있을 수 있다. 단말 고유 기능은 단말 장치(120)에서 실행되는 각종 애플리케이션 예를 들어, 사진 촬영 프로그램, 음악 재생 프로그램, 전화 연결 프로그램 등의 실행에 따라 제공되는 기능을 나타낸다.
단말 웹 서비스 제공부(230)는 단말 웹 서비스 제어 스크립트(231), 단말 웹 서비스(232), 단말 이벤트 관리자(233), 단말 웹 서버(234) 및 단말 고유 기능 실행 모듈(235)을 포함할 수 있다.
단말 웹 서비스 제어 스크립트(231)는 단말 웹 서버(234)를 통해 제공되며, 도 2b에 도시된 바와 같이, 다운로드된 클라이언트 스크립트(226)에 의해서 웹 애플리케이션 제공부(220)에 임베딩되어, 단말 데이터 및 단말 고유의 기능과의 연동을 제어하기 위한 기능을 제공할 수 있다.
단말 웹 서비스(232)는 단말 웹 서버(234)를 통해 제공되는 HTTP 기반의 서비스이다. 단말 웹 서비스(232)는 웹 서버(110)로부터 다운로드된 클라이언트 스크립트(226)의 실행에 따라, 단말 장치(120)의 데이터나 고유 기능과 연동되도록 한다. 단말 웹 서비스(232)는 HTTP 요청에 대해 JSON, SOAP(Simple Object Access Protocol), XML 등의 공개 표준 프로토콜로 단말 웹 서비스 응답을 제공할 수 있다.
단말 이벤트 관리자(233)는 단말 고유 실행 모듈(235)로부터 단말 장치(120)에서 발생하는 각종 이벤트를 수신하고, 이벤트의 상태 정보를 저장 및 관리한다. 단말 장치(120)에서 발생되는 이벤트는 단말 장치(120)의 하드웨어에서 발생되는 하드웨어 이벤트 및 단말 장치(120)에서 실행되는 애플리케이션의 특정 동작에 대응하는 소프트웨어 이벤트를 포함할 수 있다. 단말 이벤트 관리자(233)에는 클라이언트 스크립트(226)의 실행에 의해 미리 조회를 위한 이벤트가 등록될 수 있다. 단말 이벤트 관리자(233)는 수신된 이벤트 중 등록된 이벤트에 대한 상태 정보를 웹 애플리케이션 제공부(220)가 단말 웹 서비스(232)를 통해 조회할 수 있도록 제공할 수 있다.
단말 웹 서버(234)는 OS 및 모바일 플랫폼(210)에서 구동되는 단말용 마이크로 웹 서버일 수 있다. 단말 웹 서버(234)는 아파치(Apache) 등과 같은 일반적인 웹 서버의 최소 기본 기능을 포함할 수 있다.
단말 고유 기능 실행 모듈(235)은 단말이 보유한 프로그램, 예를 들어, 사진 촬영 프로그램, 동영상 재생 프로그램, 음악 재생 프로그램, 전화 연결 프로그램 을 구동시키거나, 하드웨어 또는 소프트웨어적인 기능을 실행하고 관리한다. 단말 고유 기능 실행 모듈(235)은 단말 웹 서비스를 통한 요청에 대응하여 단말의 고유 기능을 실행시킬 수 있다. 단말 고유 기능 실행 모듈(235)은 단말 고유 기능의 실행에 따라 발생되는 각종 이벤트를 단말 이벤트 관리자(233)에 제공할 수 있다.
단말 장치(120)에 클라이언트 스크립트(226)가 다운로드되면, 웹 애플리케이션 제공부(220)는 웹 브라우저(222)가 클라이언트 스크립트(226)를 실행하도록 하여, 단말 웹 서비스 제공부(230)에 보유하고 있던 자바 스크립트인 단말 웹 서비스 제어 스크립트(231)를 발견하여, 이를 임베드한다. 웹 애플리케이션 제공부(220)는 임베드된 단말 웹 서비스 제어 스크립트(231)를 통해서, 단말 웹 서버(234)에서 제공되고 있는 단말 웹 서비스(232)를 조회하고, 필요한 단말 웹 서비스(232)를 호출할 수 있다.
도 3은 단말 장치로 다운로드된 웹 애플리케이션에 포함되는 클라이언트 스크립트의 구조의 일 예를 나타내는 도면이다.
클라이언트 스크립트(226)는 단말 웹 서비스 발견 스크립트(310), 단말 정보 조회 스크립트(320), 단말 서비스 연동 스크립트(330) 및 단말 이벤트 등록 및 수신 스크립트(340)를 포함할 수 있다. 클라이언트 스크립트(226)에 포함된 각 스크립트(310, 320, 330, 340)는 웹 브라우저(222)에 의해 실행되어, 각 스크립트(310, 320, 330, 340)에 정의된 동작이 수행된다.
단말 웹 서비스 발견 스크립트(310)는, 단말 장치(120)가 단말 웹 서비스(232)를 제공하는 장치인지 확인하기 위해서, 단말 웹 서비스(232)와의 연동 기능을 제공하는 단말 웹 서비스 제어 스크립트(231)를 발견하기 위한 스크립트이다. 단말 웹 서비스 제어 스크립트(231)는 단말 웹 서비스 발견 스크립트(310)의 실행에 의해, 웹 애플리케이션 제공부(210)에 임베딩되어 실행될 수 있다. 단말 웹 서비스 제어 스크립트(231)는 소정의 포트의 소정의 파일명을 나타내는 스크립트 태그를 이용하여, 간단하게 임베드될 수 있다. 스크립트 태그는 단말 웹 서비스 제어 스크립트(231)의 저장 주소를 나타내는 URL(uniform resource locator)을 가리키도록 구성될 수 있다. 일 예로, 스크립트 태그는 <script src = "http://localhost:1234/mobilewebservice.js"/> 일 수 있다.
단말 정보 조회 스크립트(320)는 단말 웹 서비스 발견 스크립트(310)를 통해서, 단말 웹 서비스 제어 스크립트(231)가 임베드된 후, 단말 웹 서비스 제어 스크립트(231)에서 제공하는 단말에 대한 정보를 조회하는 스크립트이다. 단말 정보 조회 스크립트(320)는 단말 정보를 제공하는 미리 정해진 스키마의 JSON(Java Script Object Notation) 파일을 조회하거나, 또는 정해진 스키마의 자바 스크립트 API(Application Programming Interface) 등을 통해서 단말 조회가 수행되도록 작성될 수 있다. 조회하는 단말 정보는, 단말에 대한 다양한 표준 메타데이터와 단말이 제공하고 있는 서비스 메타데이터를 선택적으로 포함할 수 있다. 단말 정보의 포맷은 JSON, RDF(Resource Description Framework), WSDL(Web service Description Language) 등과 같은 XML 표준 등이 활용될 수 있다.
단말 서비스 연동 스크립트(330)는 실제 단말이 제공하는 웹 서비스와의 연동을 수행하도록 작성된 스크립트이다. 단말 서비스 연동 스크립트(330)의 실행으로, 단말이 제공하는 웹 서비스 가운데 필요한 서비스가 호출될 수 있다. 이에 따라, 단말 장치(120)가 제공하는 고유 데이터가 웹 애플리케이션 제공부(220)로 전달되거나, 단말 고유 기능이 호출될 수 있으며, 웹 서버(110)로부터 다운로드된 데이터 중 일부가 단말 웹 서버(234)로 전달되어 이용될 수 있다.
단말 이벤트 등록 및 수신 스크립트(340)는 단말 고유의 이벤트를 조회하기 위하여 소정의 단말 이벤트 조회를 등록하기 위한 단말 이벤트 등록 스크립트 및 등록된 이벤트의 감지에 따른 핸들러를 제공하는 단말 이벤트 수신 스크립트를 포함할 수 있다. 단말 이벤트 수신 스크립트는 핸들러가 동작하기 위하여 만족되어야 하는 등록된 이벤트의 조건을 나타내는 정보를 포함할 수 있다.
일 예로, 웹 서버(110)의 웹 애플리케이션(112)이 단말 장치(120)의 흔들림 이벤트가 감지되면 현재 서비스되고 있는 음악의 실행을 중지하고 다른 음악이 재생되는 서비스를 제공하는 경우를 가정한다. 이 경우, 단말 이벤트 등록 및 수신 스크립트(340)에는 단말 장치(120)의 흔들림 이벤트를 등록하고, 흔들림 이벤트가 실행되었는지를 감지하는 동작을 실행하기 위한 스크립트가 포함될 수 있다.
도 4는 단말 장치에서 제공하는 단말 웹 서비스 제어 스크립트의 구조의 일 예를 나타내는 도면이다.
단말 웹 서비스 제어 스크립트(231)는 장치 및 서비스 설명 스크립트(410), 단말 웹 서비스 연동 스크립트(420), 크로스 도메인 스크립트(430), 이벤트 모니터 스크립트(440)를 포함할 수 있다.
장치 및 서비스 설명 스크립트(410)는 단말 장치(120)에 대한 단말 장치 설명과 단말 장치(120)가 제공하고 있는 웹 서비스 목록에 대한 설명을 포함한다. 단말 정보 조회 스크립트(320)의 실행으로, 장치 및 서비스 설명 스크립트(410)가 호출될 수 있다. 전술한 바와 같이, 단말 정보 즉, 장치 설명 및 웹 서비스 목록에 대한 설명은 JSON 또는 RDF, WSDL 등과 같은 XML 표준 등의 형태를 가질 수 있다.
단말 웹 서비스 연동 스크립트(420)는 단말 웹 서버(234)에서 제공되는 단말 웹 서비스(232)에 대해서 REST(Representational State Transfer) 또는 SOAP 기반의 단말 웹 서비스 호출을 담당하는 자바 스크립트 함수의 목록을 제공할 수 있다. 현재 페이지의 스크립트에서 다른 서버로 Ajax(Asynchronous JavaScript and XML) 호출을 시도하는 것은 허용되지 않으므로, 임베드된 단말 웹 서비스 연동 스크립트(420)에서, 실제 다른 서버로 인식되는 단말 웹 서버(234)에 의해 제공되는 단말 웹 서비스를 호출하기 위해서 크로스 도메인 스크립트(430)가 사용될 수 있다.
크로스 도메인 스크립트(430)는 다른 웹 서버에서 제공하는 웹 서비스와 자바 스크립트를 통해서 HTTP 통신으로 연동하기 위해서, 크로스 도메인을 원하는 지원하는 스크립트이다. 대표적인 방식으로 JSONP 등의 방법이 사용된다.
이벤트 모니터 스크립트(440)는 이벤트 등록 및 수신 스크립트(340)에서 등록된 이벤트에 대응하는 이벤트를 모니터링하도록 작성된 스크립트이다. 이벤트 모니터 스크립트(440)의 실행에 따라서, 이벤트가 감지되면, 등록된 콜백 함수의 호출에 의해 등록된 이벤트가 감지되었음을 나타내는 정보가 클라이언트 스크립트(226)의 단말 이벤트 등록 및 수신 스크립트(340)에 의해 처리될 수 있다.
도 5는 단말 장치에서 제공하는 단말 웹 서비스의 구조의 일 예를 나타내는 도면이다.
단말 웹 서비스(232)는 단말 데이터 제공 웹 서비스(510), 단말 애플리케이션 실행 웹 서비스(520), 단말 이벤트 웹 서비스(530) 및 원격 제어 웹 서비스(540)를 포함할 수 있으나, 이에 한정되는 것은 아니다.
단말 데이터 제공 웹 서비스(510)는 SMS, MMS, 일정 정보, 위치 정보, 재생 이력 정보 등의 단말 장치(120)의 각종 데이터를 웹 애플리케이션 제공부(220)에 제공하는 웹 서비스이다. 단말 데이터 제공 웹 서비스(510)에 의해 단말 장치(120)에 저장된 데이터 중 개인 데이터가 선택적으로 웹 애플리케이션 제공부(220)에 제공될 수 있다.
또한, 단말 데이터 제공 웹 서비스(510)의 실행으로, HTML 문서(224)에 포함된 데이터 중 소정의 데이터가 단말 웹 서버(234)로 전달되어, 도 1의 저장부(126)에 저장될 수 있다. 이때, HTML 문서(224)에서 선택된 데이터는 데이터의 타입에 따라 특정 애플리케이션에 대한 데이터 저장 영역에 저장될 수 있다. 예를 들어, 단말 장치(120)가 유명한 음식점 정보를 제공하는 블로그에 방문한 경우, 유명한 음식점 정보를 포함하는 웹 페이지가 웹 애플리케이션 제공부(220)의 HTML 문서(222)로 저장될 수 있다. 이 경우, HTML 문서(222)에서 해당 음식점의 전화번호가 단말 장치(120)의 전화번호 관리 애플리케이션에서 관리되는 전화번호목록에 추가되어 등록될 수 있다.
단말 애플리케이션 실행 웹 서비스(520)는, 포토뷰어, mp3 재생 프로그램과 같이, 단말 장치(120)에 설치된 프로그램을 호출하거나, 전화 걸기, 사진 찍기 등과 같이 단말 장치(120) 고유의 기능을 실행시킬 수 있게 하는 웹 서비스이다.
단말 이벤트 웹 서비스(530)는 단말 장치(120)에서 발생한 이벤트를 기록하며, 기록된 사항을 외부에서 조회할 수 있도록 하는 웹 서비스이다. 단말 이벤트 웹 서비스(530)는 단말 이벤트 등록 웹 서비스 및 단말 이벤트 조회 웹 서비스를 포함할 수 있다.
원격 제어 웹 서비스(514)는 단말 장치(120)가 UPnP 등과 같은 외부 장치에 대한 원격 제어 기능을 가지고 있을 때, 원격 제어 프로토콜과 연동할 수 있게 제공하는 웹 서비스이다.
도 6은 단말 장치에서 제공하는 단말 이벤트 관리자의 구조의 일 예를 나타내는 도면이다.
단말 이벤트 관리자(233)는 이벤트 생명 주기 관리부(610), 이벤트 정보 갱신부(620), 이벤트 수신부(630) 및 이벤트 정보 저장부(640)를 포함할 수 있다.
이벤트 생명 주기 관리부(610)는 단말 이벤트 등록 및 수신 스크립트(340)에 의해서 등록된 이벤트의 생명 주기를 관리한다. 이벤트 생명 주기 관리부(610)는 등록된 이벤트의 조회를 요청을 한 웹 페이지가 이벤트를 조회하지 않고 닫히거나, 일정 시간 이상 이벤트를 조회하지 않을 경우 등록된 이벤트 정보를 제거할 수 있다. 등록된 이벤트 정보가 제거되면, 더 이상 이벤트 조회가 이루어지지 않게 된다.
이벤트 정보 갱신부(620)는 단말 고유 기능 실행 모듈(235)로부터 각종 이벤트를 수신한 후, 수신된 이벤트가 조회되기 위해 등록된 이벤트일 경우, 해당 이벤트에 대한 상태 정보를 갱신한다.
이벤트 수신부(630)는 단말 웹 서비스 제공부(230)의 단말 고유 기능 실행 모듈(235)로부터 수신된 단말 장치(120)의 이벤트를 수신한다.
이벤트 정보 저장부(640)는 이벤트 수신부(630)에 의해 수신되는 이벤트 중에서, 단말 이벤트 등록 및 수신 스크립트(340)에 의해서 등록된 이벤트에 대한 상태 정보를 저장한다. 예를 들어, 웹 애플리케이션 제공부(220)에서 단말 이벤트 등록 및 수신 스크립트(340)의 실행에 따라서, 단말 장치(120)의 흔들림에 대응하는 이벤트가 조회되도록 이벤트 등록이 이루어진 경우, 이벤트 정보 저장부(640)에 저장된 등록된 이벤트에 대한 상태 정보가 단말 이벤트 웹 서비스(530)를 통해 조회될 수 있다.
도 7은 단말 웹 서비스 제공 방법의 일 예를 나타내는 순서도이다.
웹 애플리케이션 제공부(220)는 네트워크를 통해 연결된 외부 웹 서버(110)로부터 단말 웹 서버(234)에서 제공하는 단말 웹 서비스(232)와 연동하도록 구성된 클라이언트 스크립트(226)를 수신한다(710).
웹 애플리케이션 제공부(220)는 클라이언트 스크립트(226)를 이용하여 단말 웹 서비스(232)와 연동하도록 제어하는 단말 웹 서비스 제어 스크립트(231)를 발견한다(720).
웹 애플리케이션 제공부(220)는 단말 웹 서비스 제어 스크립트(231)를 이용하여 단말 웹 서비스(232)의 제공을 요청하는 HTTP 요청 메시지를 생성한다(730).
웹 애플리케이션 제공부(220)는 생성된 HTTP 요청 메시지를 단말 웹 서비스 제공부(230)에 전송한다(740).
단말 웹 서비스 제공부(230)는 HTTP 요청 메시지의 수신에 따라서, 단말 내부의 데이터, 애플리케이션 및 이벤트 중 적어도 하나와 관련된 웹 서비스를 제공하는 HTTP 응답 메시지를 웹 애플리케이션 제공부(220)에 전송한다(750). 웹 애플리케이션 제공부(220)는 HTTP 응답 메시지에 포함된 정보 예를 들어, 단말 장치(120)에 저장된 데이터, 애플리케이션 실행 완료를 나타내는 정보, 소정의 이벤트가 감지되었음을 나타내는 정보 등을 웹 서버(110)로 전달할 수 있다.
도 8은 단말 웹 서비스 연동을 위한 초기 과정의 일 예를 나타내는 순서도이다.
단말 장치(120)는 웹 브라우저(222)를 통해 웹 서버(110)를 방문한다(810). 웹 브라우저(222)는 웹 서버(110)의 웹 애플리케이션(112)에 의해 제공되는 웹 페이지의 HTML 문서(224) 및 클라이언스 스크립트(226)를 다운로드하여 실행한다(812).
클라이언트 스크립트(226)가 도 3에 도시된 바와 같이 단말 웹 서비스와 연동이 가능하도록 구성된 경우, 단말 웹 서비스 발견 스크립트(310)가 실행되어, 단말 장치(120)의 단말 웹 서비스를 발견하는 동작이 수행된다(814).
단말 웹 서비스 발견 스크립트(310)의 실행으로, 단말 웹 서비스가 발견되면, 단말 웹 서비스 제어 스크립트(231)가 웹 애플리케이션 제공부(220)에 임베딩된다(816).
웹 브라우저(222)가 단말 정보 조회 스크립트(320)를 실행하여, 단말 웹 서비스 제어 스크립트(231)의 장치 및 서비스 설명 스크립트(410)가 조회되어 단말 정보 및 단말 웹 서비스의 정보가 확인된다(818).
조회한 정보를 바탕으로, 웹 브라우저(222)는 단말 및 단말 웹 서비스와의 호환성을 검사한다(820). 단말 정보 조회 스크립트(320)에 포함된 이용가능한 단말 및 단말 웹 서비스의 정보와, 장치 및 서비스 설명 스크립트(410)에서 포함된 단말 및 단말 웹 서비스의 정보를 비교하여 호환 여부가 결정될 수 있다. 호환되는 경우 단말 웹 서비스 연동 모드로 동작한다(822). 단말 웹 서비스가 발견되지 않거나(814), 호환되지 않는 경우(820), 동작이 종료된다.
도 9는 단말 데이터 제공 웹 서비스를 제공하는 방법의 일 예를 나타내는 순서도이다.
도 9에서 설명한 바와 같은 절차로 웹 서비스 연동 모드로 동작하게 될 경우, 클라이언트 스크립트(226)의 단말 서비스 연동 스크립트(330)가 실행되어, 임베드된 단말 웹 서비스 제어 스크립트(231)의 단말 웹 서비스 연동 스크립트(420)가 호출된다(910).
단말 웹 서비스 연동 스크립트(420) 중 단말 데이터 제공 웹 서비스(510)를 요청하기 위한 스크립트가 실행되면, 단말 웹 서비스(232) 중 단말 데이터 제공 웹 서비스(510)를 호출하기 위한 HTTP 요청 메시지가 작성된다(912).
HTTP 요청 메시지는 크로스 도메인 스크립트(430)의 실행에 의해 단말 웹 서버(234)에 전달된다(914).
단말 웹 서버(234)는 HTTP 요청 메시지를 수신하고 분석하여, 단말 데이터 제공 웹 서비스(510)를 구동한다(916).
단말 데이터 제공 웹 서비스(510)의 실행으로, HTTP 요청 메시지가 분석되어(918), HTTP 요청 메시지에 의해 요청된 데이터가 단말 장치(120)의 로컬 데이터로부터 획득된다(920).
단말 데이터 제공 웹 서비스(510)의 실행으로, 단말 웹 서버(234)는 획득된 데이터를 SOAP, XML, JSON 등의 공개 표준 포맷으로 패키징할 수 있다(922).
단말 웹 서버(234)는 패키징된 데이터를 HTTP 응답 메시지로 생성하여 웹 애플리케이션 제공부(220)에 전송한다(924).
웹 애플리케이션 제공부(220)에서 HTTP 응답 메시지를 수신하고(926), 크로스 도메인 스크립트(430)의 실행으로, HTTP 응답 메시지가 단말 웹 서비스 연동 스크립트(420)에 의해 처리된다.
단말 웹 서비스 연동 스크립트(420)의 실행으로, 응답 결과가 JSON 포맷이 아닐 경우, 응답 결과는 자바스크립트에서 접근가능하도록 JSON 포맷으로 패키징될 수 있다(928).
웹 애플리케이션 제공부(220)에서 단말 웹 서비스 연동 스크립트(420)의 실행으로, 패키징된 JSON 데이터가 웹 서버(110)의 웹 애플리케이션(112)로 반환될 수 있다. 웹 애플리케이션(112)은 전달된 데이터를 사용하여 추가적인 동작을 수행할 수 있다. 이와 같은 방법을 통해, 예를 들어, 사용자가 저장된 데이터를 웹 서버(110)로 업로드하는데 이용되는 특별한 업로드 프로그램을 다운로드받아서 설치하지 않더라도, 단말 데이터 제공 웹 서비스(510)의 실행으로 저장된 사진, 동영상 등 데이터가 웹 애플리케이션(112)을 통해 웹 서버(110)로 업로드될 수 있다.
도 10은 단말 애플리케이션 실행 웹 서비스를 제공하는 방법의 일 예를 나타내는 순서도이다.
웹 애플리케이션 제공부(220)에서, 클라이언트 스크립트(226)의 단말 서비스 연동 스크립트(330)가 실행되어, 임베드된 단말 웹 서비스 제어 스크립트(231)의 단말 웹 서비스 연동 스크립트(420)가 호출된다(1010).
단말 서비스 연동 스크립트(330) 중 단말 애플리케이션 실행 웹 서비스(520)를 요청하기 위한 스크립트가 실행되면, 단말 웹 서비스(232) 중 단말 애플리케이션 실행 웹 서비스(520)를 호출하기 위한 HTTP 요청 메시지가 작성된다(1012).
HTTP 요청 메시지는 크로스 도메인 스크립트(430)의 실행에 따라, 단말 웹 서버(234)에 전달된다(1014).
단말 웹 서버(234)는 HTTP 요청 메시지를 분석하여, 단말 애플리케이션 실행 웹 서비스(520)를 구동한다(1016). 단말 애플리케이션 실행 웹 서비스(520)의 구동에 따라, 단말 고유 기능 실행 모듈(235)을 통해서 단말 애플리케이션이 실행된다(1018).
HTTP 요청 메시지에, 단말 애플리케이션 및 해당 단말 애플리케이션에서 실행될 콘텐츠 정보가 포함된 경우, 해당 콘텐츠가 요청된 단말 애플리케이션에서 실행될 수 있다. 예를 들어, 단말 장치(120)가 금주의 인기 음악 차트에 포함된 음악을 제공하는 웹 페이지를 방문하면, 해당 웹 페이지가 제공하는 음악 파일이 단말 장치(120)로 다운로드될 수 있다. 또한, 단말 장치(120)에 다운로드된 음악 파일 중에서 단말 장치(120)의 이전 재생 목록을 참조하여 선호되는 음악을 선택하여 재생하도록 작성된 단말 서비스 연동 스크립트(330)가 단말 장치(120)에 다운로드될 수 있다. 다운로드된 단말 서비스 연동 스크립트(330)의 실행으로, 단말 장치(120)는 웹 페이지를 표시하고 있다가, 음악 재생 프로그램을 실행하고, 실행된 음악 재생 프로그램에서 선호되는 음악을 재생하여 제공할 수 있다.
동작 1018과 동시에 단말 이벤트 관리자(234)를 통해서 현재 실행한 단말 애플리케이션 구동 상태에 대한 이벤트가 등록될 수 있다(1020). 이벤트 등록 및 조회에 대한 상세한 동작은 도 11을 참조하여 설명한다.
단말 애플리케이션 실행 웹 서비스(520)의 호출이 동기 모드로 동작하도록 요청된 것이면, 단말 웹 서버(234)는 단말 이벤트 관리자(234)를 통해 해당 애플리케이션의 실행이 완료되었는지 확인하고(1024), 미완료시 해당 애플리케이션의 실행이 완료될 때까지 계속 대기하며 확인한다.
애플리케이션의 실행이 완료되었음이 확인되면(1024), 단말 웹 서버(234)는 애플리케이션 실행 완료를 나타내는 HTTP 응답 메시지를 웹 애플리케이션 제공부(220)로 전송한다(1026).
단말 애플리케이션 실행 웹 서비스(520)가 비동기 모드로 호출된 경우, 단말 애플리케이션의 실행이 완료되지 않은 경우에도, 단말 웹 서버(234)는 애플리케이션을 실행하였음을 나타내는 HTTP 응답 메시지를 웹 애플리케이션 제공부(220)로 전송할 수 있다. 이 경우, 웹 애플리케이션 제공부(220)의 단말 이벤트 등록 및 수신 스크립트(340)가 실행되어, 호출된 단말 애플리케이션의 실행이 완료되었는지를 나타내는 이벤트가 단말 이벤트 관리자(233)에 등록될 수 있다. 또한, 호출된 애플리케이션의 실행이 완료되었음을 나타내는지를 확인하기 위해 이벤트가 조회될 수 있다.
웹 애플리케이션 제공부(220)에 HTTP 응답 메시지가 수신되면(1030), 크로스 도메인 스크립트(430)의 실행에 따라 HTTP 응답 메시지가 단말 웹 서비스 연동 스크립트(420)에 의해 처리될 수 있다. 단말 웹 서비스 연동 스크립트(420)의 실행으로, 웹 서버(110)의 웹 애플리케이션(112)에 단말 애플리케이션의 실행이 완료되었음이 통지될 수 있다.
도 11은 단말 이벤트 웹 서비스를 제공하는 방법의 일 예를 나타내는 순서도이다.
클라이언트 스크립트(226)의 단말 이벤트 등록 및 수신 스크립트(340)의 실행으로, 단말 웹 서비스 제어 스크립트(231)의 이벤트 모니터 스크립트(440)가 호출된다(1110). 단말 이벤트 웹 서비스(530) 중 조회될 단말 이벤트 등록을 요청하는 단말 이벤트 등록 웹 서비스를 요청하는 HTTP 요청 메시지가 작성되고, 작성된 HTTP 요청 메시지가 단말 웹 서버(234)로 전달됨으로써, 단말 이벤트 웹 서비스(530)가 호출될 수 있다(1112).
단말 웹 서버(234)는 단말 이벤트 웹 서비스(530) 중 단말 이벤트 등록 웹 서비스를 실행하여, 단말 이벤트 관리자(233)의 이벤트 생명 주기 관리부(610)에 조회할 소정의 이벤트를 등록한다(1114).
단말 장치(120)에서 이벤트가 발생되면(1122), 단말 이벤트 관리자(233)의 이벤트 수신부(630)를 통해서 이벤트가 수신된다(1122). 수신된 이벤트가 등록된 이벤트라면, 이벤트 정보 갱신부(620)는 이벤트의 상태 정보를 이벤트 정보 저장부(640)에 갱신 및 기록한다(1124).
이벤트 조회를 위한 등록이 완료되면, 클라이언트 스크립트(226)의 이벤트 등록 및 수신 스크립트(340)의 실행으로, 이벤트 조회가 별도의 프로세스 또는 쓰레드와 같은 이벤트 조회기 구동으로 처리될 수 있다(1116). 예를 들어, Ajax, 즉, XmlHttpRequest를 통해서 비동기 조회를 수행하는 방식이 사용될 수 있다.
이벤트 등록 및 수신 스크립트(340)의 실행으로 이벤트 모니터 스크립트(440)가 호출되고, 이벤트 모니터 스크립트(440)의 실행으로, 단말 이벤트 웹 서비스(530) 중 단말 이벤트 조회 웹 서비스가 호출된다(1120).
단말 웹 서버(234)는 단말 이벤트 웹 서비스(530)를 구동하여, 단말 이벤트 관리자(233)의 상태 정보 저장부(640)에 기록된 상태 정보를 조회하여 이벤트 상태 정보를 포함한 HTTP 응답 메시지를 웹 애플리케이션 제공부(220)로 전달한다(1126).
웹 애플리케이션 제공부(220)에서 이벤트 등록 및 수신 스크립트(340)의 실행으로, HTTP 응답 메시지로부터 이벤트 상태 정보가 확인되고, 이벤트 상태 정보가 변경되어 등록된 이벤트 조건을 만족하는지 확인될 수 있다(1128). 이벤트 상태 정보가 등록된 이벤트 조건을 만족하는 경우(1128), 이벤트 모니터 스크립트(440)의 실행으로, 콜백 함수가 호출되어, 이벤트 등록 및 수신 스크립트(340)가 실행되고, 이벤트 조건 만족시 수행되도록 설정된 핸들러가 실행된다(1130).
이벤트의 생명 주기가 지나지 않은 경우, 일정시간 대기하였다가 다시 동작 1118이 수행될 수 있다. 이벤트 상태 정보가 등록된 이벤트 조건을 만족하지 않은 경우, 일정시간 대기하다가 다시 동작 1118이 수행될 수 있다. 조회가 정지되면(1132), 이벤트 연동 동작이 종료된다.
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (17)

  1. 외부의 웹 서버로부터 수신된 클라이언트 스크립트를 실행하여, 단말 장치에서 제공하는 단말 웹 서비스와 연동하도록 제어하는 단말 웹 서비스 제어 스크립트를 발견하고, 상기 단말 웹 서비스 제어 스크립트를 이용하여 상기 단말 웹 서비스 제공을 요청하는 HTTP 요청 메시지를 생성하는 웹 애플리케이션 제공부; 및
    상기 HTTP 요청 메시지의 수신에 따라서 상기 단말 웹 서비스에 의한 응답 정보를 제공하는 HTTP 응답 메시지를 상기 웹 애플리케이션 제공부에 전송하여 상기 단말 웹 서비스를 제공하는 단말 웹 서비스 제공부를 포함하는 단말 장치.
  2. 제1항에 있어서,
    상기 클라이언트 스크립트는, 풀 브라우저를 기반으로 동작하는 리치 인터넷 애플리케이션에 포함되어 수신되는 단말 장치.
  3. 제1항에 있어서,
    상기 웹 애플리케이션 제공부는, 상기 클라이언트 스크립트를 이용하여, 상기 단말 웹 서비스 제어 스크립트를 상기 웹 애플리케이션 제공부로 임베딩하고, 상기 단말 웹 서비스 제어 스크립트를 이용하여 상기 단말 웹 서비스 제공부와 통신하는 단말 장치.
  4. 제1항에 있어서,
    상기 웹 애플리케이션 제공부는, 상기 클라이언트 스크립트를 이용하여, 상기 외부의 웹 서버로 상기 HTTP 응답 메시지에 포함된 정보를 전송하고, 외부의 웹 서버로부터 수신된 정보를 상기 단말 웹 서비스 제공부로 전송하는 단말 장치.
  5. 제4항에 있어서,
    상기 단말 웹 서비스 제어 스크립트는, 상기 단말 장치 정보 및 상기 단말 장치가 제공하는 웹 서비스 정보를 나타내는 장치 및 서비스 설명 스크립트, 상기 단말 웹 서비스를 호출하도록 작성된 단말 웹 서비스 연동 스크립트, 상기 단말 웹 서비스 와 자바 스크립트를 통해 HTTP 통신을 가능하게 하는 크로스 도메인 스크립트, 상기 단말 웹 서비스 제공부에서 발생되는 이벤트를 감지하는 이벤트 모니터 스크립트 중 적어도 하나를 포함하는 단말 장치.
  6. 제1항에 있어서,
    상기 단말 웹 서비스 제공부는, 단말 장치에 저장하고 있는 데이터를 HTTP 응답 메시지로 생성하여 상기 웹 애플리케이션 제공부로 제공하는 단말 데이터 제공 웹 서비스를 제공하는 단말 장치.
  7. 제1항에 있어서,
    상기 단말 웹 서비스 제공부는, 단말 장치에서 실행가능한 애플리케이션을 실행시키는 단말 애플리케이션 실행 웹 서비스를 제공하는 단말 장치.
  8. 제1항에 있어서,
    상기 웹 애플리케이션 제공부가, 상기 클라이언트 스크립트를 이용하여, 단말 장치에서 발생하는 이벤트 중 적어도 하나의 이벤트의 조회를 등록함에 따라,
    상기 단말 웹 서비스 제공부는, 상기 웹 애플리케이션 제공부가 상기 이벤트의 상태 정보를 조회하도록 하는 단말 이벤트 웹 서비스를 제공하는 단말 장치.
  9. 제8항에 있어서,
    상기 단말 웹 서비스 제공부는,
    단말 장치에서 발생하는 이벤트를 관리하고, 상기 이벤트의 상태 정보를 저장하는 단말 이벤트 관리부를 더 포함하고,
    상기 웹 애플리케이션 제공부는, 상기 단말 이벤트 웹 서비스를 통해 상기 저장된 이벤트의 상태 정보를 조회하는 단말 장치.
  10. 제8항에 있어서,
    상기 이벤트는 단말 장치의 하드웨어에서 발생되는 하드웨어 이벤트 및 상기 단말 장치에서 실행되는 애플리케이션의 특정 동작에 대응하는 소프트웨어 이벤트를 포함하는 단말 장치.
  11. 제8항에 있어서,
    상기 웹 애플리케이션 제공부는, 상기 클라이언트 스크립트를 이용하여 상기 조회된 이벤트의 상태 정보가 미리 설정된 조건을 만족하는지 결정하고, 만족하면, 미리 설정된 핸들러를 동작시키는 단말 장치.
  12. 웹 애플리케이션 제공부는 네트워크를 통해 연결된 외부의 웹 서버로부터, 단말 웹 서버에서 제공하는 단말 웹 서비스와 연동하도록 구성된 클라이언트 스크립트를 수신하는 단계;
    상기 웹 애플리케이션 제공부는 상기 클라이언트 스크립트를 이용하여 상기 단말 웹 서비스와 연동하도록 제어하는 단말 웹 서비스 제어 스크립트를 발견하는 단계;
    상기 웹 애플리케이션 제공부는 상기 단말 웹 서비스 제어 스크립트를 이용하여 단말 웹 서비스 제공을 요청하는 HTTP 요청 메시지를 생성하는 단계;
    상기 웹 애플리케이션 제공부는 상기 생성된 HTTP 요청 메시지를 단말 웹 서비스 제공부에 전송하는 단계; 및
    상기 단말 웹 서비스 제공부는 상기 HTTP 요청 메시지의 수신에 따라서, 단말 웹 서비스를 제공하는 HTTP 응답 메시지를 상기 웹 애플리케이션 제공부에 전송하는 단계를 포함하는 단말 장치의 단말 웹 서비스 제공 방법.
  13. 제12항에 있어서,
    상기 웹 애플리케이션 제공부는 상기 클라이언트 스크립트를 이용하여, 상기 단말 웹 서비스 제어 스크립트를 상기 웹 애플리케이션 제공부로 임베딩하는 단계를 더 포함하는 단말 장치의 단말 웹 서비스 제공 방법.
  14. 제12항에 있어서,
    웹 서비스를 제공하는 HTTP 응답 메시지를 상기 웹 애플리케이션 제공부에 전송하는 단계는,
    단말 장치에 저장하고 있는 데이터를 HTTP 응답 메시지로 생성하여 전송하는 단말 데이터 제공 웹 서비스를 제공하는 단계를 포함하는 단말 장치의 단말 웹 서비스 제공 방법.
  15. 제12항에 있어서,
    웹 서비스를 제공하는 HTTP 응답 메시지를 상기 웹 애플리케이션 제공부에 전송하는 단계는,
    단말 장치에서 실행가능한 애플리케이션을 실행시키는 단말 애플리케이션 실행 웹 서비스의 실행 결과를 제공하는 단계를 포함하는 단말 장치의 단말 웹 서비스 제공 방법.
  16. 제12항에 있어서,
    웹 서비스를 제공하는 HTTP 응답 메시지를 상기 웹 애플리케이션 제공부에 전송하는 단계는,
    상기 웹 애플리케이션 제공부가 상기 이벤트의 상태 정보를 조회하도록 하는 단말 이벤트 웹 서비스를 제공하는 단계를 포함하는 단말 장치의 단말 웹 서비스 제공 방법.
  17. 제12항에 있어서,
    상기 단말 웹 서비스 제공부가 단말 장치에서 발생하는 이벤트를 관리하고, 상기 이벤트의 상태 정보를 저장하는 단계를 더 포함하고,
    웹 서비스를 제공하는 HTTP 응답 메시지를 상기 웹 애플리케이션 제공부에 전송하는 단계는,
    상기 단말 이벤트 웹 서비스의 실행에 따라 상기 저장된 이벤트의 상태 정보를 조회하고, 상기 조회된 상태 정보를 상기 웹 애플리케이션 제공부에 전달하는 단계를 포함하는 단말 장치의 단말 웹 서비스 제공 방법.
KR1020100008107A 2010-01-28 2010-01-28 단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법 KR20110088274A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100008107A KR20110088274A (ko) 2010-01-28 2010-01-28 단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법
US12/967,240 US20110185038A1 (en) 2010-01-28 2010-12-14 Apparatus and method for providing a terminal web service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100008107A KR20110088274A (ko) 2010-01-28 2010-01-28 단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법

Publications (1)

Publication Number Publication Date
KR20110088274A true KR20110088274A (ko) 2011-08-03

Family

ID=44309795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100008107A KR20110088274A (ko) 2010-01-28 2010-01-28 단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법

Country Status (2)

Country Link
US (1) US20110185038A1 (ko)
KR (1) KR20110088274A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025992A (ko) * 2012-08-24 2014-03-05 에스케이플래닛 주식회사 웹 브라우저를 이용한 멀티미디어 플레이어 제공 시스템 및 방법
KR101453988B1 (ko) * 2013-05-10 2014-10-28 슈어소프트테크주식회사 Dlna 장치들 사이의 상호운용성 시험 방법
KR20200061898A (ko) * 2018-11-26 2020-06-03 주식회사 코비젼 다국어 웹문서 브라우징 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075877B2 (en) 2012-06-29 2015-07-07 Citrix Systems Inc. System and method for transparent in-network adaptation of rich internet applications
US20140019517A1 (en) * 2012-07-16 2014-01-16 Neopost Technologies Web-hosted shipping system and method of use thereof
WO2014021877A1 (en) * 2012-07-31 2014-02-06 Hewlett-Packard Development Company, L.P. Computing device with script execution application
WO2014021878A1 (en) * 2012-07-31 2014-02-06 Hewlett-Packard Development Company, L.P. Computing device with automatic download and installation of a new plug-in
US9503501B2 (en) * 2012-09-17 2016-11-22 Salesforce.Com, Inc. Cross domain in-browser proxy
US20150052256A1 (en) * 2013-08-15 2015-02-19 Unisys Corporation Transmission of network management data over an extensible scripting file format
CN107016450A (zh) * 2017-04-01 2017-08-04 上海理工大学 实验室管理系统
CN116192672A (zh) * 2022-12-16 2023-05-30 中国联合网络通信集团有限公司 脚本查看方法和相关设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793966A (en) * 1995-12-01 1998-08-11 Vermeer Technologies, Inc. Computer system and computer-implemented process for creation and maintenance of online services
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7890961B2 (en) * 2003-08-29 2011-02-15 Yahoo! Inc. Method and apparatus for providing desktop application functionality in a client/server architecture
US20060167981A1 (en) * 2005-01-04 2006-07-27 Microsoft Corporation Web application architecture
US7317394B2 (en) * 2005-01-04 2008-01-08 Rfcyber Corp. System for developing and deploying radio frequency identification enabled software applications
US7805728B2 (en) * 2007-03-16 2010-09-28 Microsoft Corporation Browser elements for communicating with other browser elements and with external applications
US20090217241A1 (en) * 2008-02-22 2009-08-27 Tetsuro Motoyama Graceful termination of a web enabled client
US8645916B2 (en) * 2008-12-03 2014-02-04 Microsoft Corporation Crunching dynamically generated script files

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140025992A (ko) * 2012-08-24 2014-03-05 에스케이플래닛 주식회사 웹 브라우저를 이용한 멀티미디어 플레이어 제공 시스템 및 방법
KR101453988B1 (ko) * 2013-05-10 2014-10-28 슈어소프트테크주식회사 Dlna 장치들 사이의 상호운용성 시험 방법
KR20200061898A (ko) * 2018-11-26 2020-06-03 주식회사 코비젼 다국어 웹문서 브라우징 방법

Also Published As

Publication number Publication date
US20110185038A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
KR20110088274A (ko) 단말 웹 서비스 제공 장치 및 단말 웹 서비스 제공 방법
KR101850582B1 (ko) 정보 처리 단말, 정보 처리 단말의 제어 방법, 및 컴퓨터 판독가능 기억 매체
US7853674B2 (en) System and method for provisioning component applications
US8446911B2 (en) System and method for managing communication for component applications
KR100728025B1 (ko) UPnP 네트워크에서 외부의 유료 컨텐트를 획득하기위한 방법 및 장치
EP1872523B1 (en) System and method of device-to-server registration
US8438287B2 (en) System and method for management of mobile device
US20060282516A1 (en) System and method for discovering component applications
CA2533608C (en) System and method for provisioning component applications
EP2254302A2 (en) Method and apparatus for restoring state information of remote user interface
CN101502079A (zh) 在移动网络终端上安装和配置软件应用程序的系统和方法
WO2011069470A1 (zh) 客户端和服务器动态协助的业务聚合方法、服务器和客户端
US20230205503A1 (en) Method for dynamically integrating application programs, and software system and machine using the same
CN103023870A (zh) 一种消息中数据的输出方法、装置和设备
CA2533543C (en) System and method for managing communication for component applications
JP2013206007A (ja) 携帯端末、情報表示システムおよび情報表示方法
KR20050094372A (ko) 멀티미디어 콘텐츠 서비스 시스템과 방법 및 그 기록매체
WO2006111002A1 (en) System and method for discovering wireless mobile applications
KR20130090923A (ko) 자동 매칭으로 실제 객체들의 세트상에 서비스들의 배치
CN102904935A (zh) 基于家庭网关的下载方法、设备和系统
EP1734443A1 (en) Access to a mobile device from another device
WO2014107956A1 (zh) 一种资源共享方法及装置
Huang et al. Design and implementation of an adaptive Web2. 0 QoS‐based home appliance control service platform
US20060291456A1 (en) Control interface selection
KR101536206B1 (ko) 응용 서비스 제공 서버 및 그 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid