KR101393140B1 - 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치 - Google Patents

웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101393140B1
KR101393140B1 KR1020120080075A KR20120080075A KR101393140B1 KR 101393140 B1 KR101393140 B1 KR 101393140B1 KR 1020120080075 A KR1020120080075 A KR 1020120080075A KR 20120080075 A KR20120080075 A KR 20120080075A KR 101393140 B1 KR101393140 B1 KR 101393140B1
Authority
KR
South Korea
Prior art keywords
web
web page
secondary device
mobility
rendering
Prior art date
Application number
KR1020120080075A
Other languages
English (en)
Other versions
KR20140013353A (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 KR1020120080075A priority Critical patent/KR101393140B1/ko
Priority to US13/624,140 priority patent/US9442687B2/en
Publication of KR20140013353A publication Critical patent/KR20140013353A/ko
Application granted granted Critical
Publication of KR101393140B1 publication Critical patent/KR101393140B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치가 제공된다. 주 디바이스는 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시킨다. 주 디바이스는 웹 페이지의 전체적인 레이아웃을 유지한 채 이동성을 지원하는 앱 객체를 제외하고 웹 페이지를 주 디바이스의 웹 브라우저 내에서 재-랜더링한다. 이동성을 지원하는 웹 객체의 영역은 이미지로 대체된다.

Description

웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치{METHOD AND APPARATUS FOR RE-RENDERING WEB PAGE OF WHICH WEB OBJECT IS MOVED}
아래의 실시예들은 웹 서비스를 제공하는 방법, 장치 및 시스템에 관한 것으로, 특히 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치에 관한 것이다.
웹 객체(web object)는 웹을 통해 접근될 수 있는 객체를 의미한다. 웹 서비스는 하나 이상의 웹 객체들을 제공할 수 있다. 웹 서비스의 사용자는 자신의 디바이스(device)에 설치된 웹 브라우저를 통해 제공되는 웹 객체에 접근함으로써 웹 서비스를 제공받을 수 있다.
개인용 컴퓨터(Personal Computer; PC), 스마트폰(smartphone), 태블릿(tablet) 및 스마트 텔레비전(television; TV) 등과 같은 웹 브라우징이 가능한 다양한 디바이스들이 보급됨에 따라, 사용자는 여러 개의 디바이스들을 통해 웹 서비스를 제공받을 수 있다. 사용자는 N-스크린 서비스를 사용하여 여러 개의 디바이스들을 통해 웹 서비스와 관련된 다수의 스크린들을 제공받을 수 있다. 이때, 다수의 스크린들은 서로 연관된 내용을 표시할 수 있다.
사용자가 여러 개의 디바이스들을 통해 웹 서비스를 제공받을 때, 하나의 디바이스의 웹 브라우저의 스크린을 주(primary) 스크린으로 명명할 수 있고, 다른 하나의 디바이스의 웹 브라우저의 스크린을 2차(second) 스크린으로 명명할 수 있다. 또한, 여러 개의 디바이스들 중 주 스크린을 출력하는 디바이스를 주 디바이스로 명명할 수 있고, 2차 스크린을 출력하는 디바이스를 보조 디바이스로 명명할 수 있다.
웹 서비스의 제공을 위해, 주 스크린 및 2차 스크린 간의 연동이 요구될 수 있다. 말하자면, 주 스크린 상에서 표시되는 정보 및 2차 스크린 상에서 표시되는 정보가 서로 연관될 수 있다. 여기서, 정보는 웹 객체를 비롯하여 웹 객체를 통해 표현되는 영상, 동영상, 음성 및 음악 등의 콘텐츠를 포함할 수 있다. 예컨대, 주 디바이스가 출력하는 주 스크린은 콘텐츠를 표시할 수 있으며, 보조 디바이스가 출력하는 2차 스크린은 제목, 장르 및 출연진과 같은 상기의 콘텐츠의 메타데이터를 출력할 수 있다.
웹 서비스의 제공자는 여러 개의 디바이스들을 통해 연관된 정보를 사용자에게 제공하는 웹 서비스를 구축할 수 있다. 예컨대, 주 스크린을 출력하는 주 디바이스가 웹 서버에 접속하여 서비스를 제공받을 때, 2차 스크린을 출력하는 보조 디바이스 또한 상기의 웹 서버에 접속할 수 있고, 주 디바이스에게 제공되는 서비스와 연관된 정보를 상기의 웹 서버로부터 제공받을 수 있다.
일 실시예는 웹 페이지의 전체적인 레이아웃을 유지한 채 이동성을 지원하는 앱 객체를 제외하고 웹 페이지를 재-랜더링하는 방법 및 장치를 제공할 수 있다.
일 실시예는 이동성을 지원하는 웹 객체의 영역을 이미지로 대체하는 방법 및 장치를 제공할 수 있다.
일 측에 따르면, 주 디바이스가 웹 객체가 이동한 웹 페이지를 랜더링하는 방법에 있어서, 웹 페이지를 로드하는 단계, 상기 웹 페이지를 웹 브라우저 내에서 랜더링하는 단계, 상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키는 단계 및 상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 단계를 포함하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법이 제공될 수 있다.
상기 재-랜더링하는 단계는, 상기 이동성을 지원하는 웹 객체의 영역을 이미지로 대체함으로써 상기 웹 페이지의 전체적인 레이아웃을 유지할 수 있다.
상기 웹 페이지 내에서 상기 이미지가 차지하는 영역은 상기 웹 객체가 이동전에 차지하던 영역에 대응할 수 있다.
상기 재-랜더링하는 단계는, 상기 웹 브라우저 내에서 상기 웹 객체가 표시되지 않게 하는 단계 및 상기 웹 객체에 대응하는 영역에 이미지를 표시하는 단계를 더 포함할 수 있다.
상기 영역은 상기 웹 객체의 콘텐츠가 상기 웹 브라우저 내에서 차지하는 부분일 수 있다.
상기 웹 객체는 상기 웹 객체의 가시도(visibility) 스타일(style)의 값이 히든(hidden)으로 설정됨으로써 상기 웹 브라우저 내에서 표시되지 않을 수 있다.
상기 웹 객체가 이동한 웹 페이지의 랜더링 방법은, 상기 웹 객체에 대응하는 영역을 상기 이미지로서 캡춰하는 단계를 더 포함할 수 있다.
상기 웹 객체가 이동한 웹 페이지의 랜더링 방법은, 상기 이미지에 상기 2차 디바이스의 사용자의 명칭을 추가하는 단계를 더 포함할 수 있다.
상기 웹 객체가 이동한 웹 페이지의 랜더링 방법은, 상기 이미지에 상기 2차 디바이스의 명칭을 추가하는 단계를 더 포함할 수 있다.
상기 웹 객체가 이동한 웹 페이지의 랜더링 방법은, 상기 이미지에 상기 웹 객체의 타입을 추가하는 단계를 더 포함할 수 있다.
상기 주 디바이스 및 상기 2차 디바이스는 상기 웹 페이지를 제공하는 웹 서비스의 N-스크린 디바이스들일 수 있다.
다른 일 측에 따르면, 주 디바이스가 웹 객체가 이동한 웹 페이지를 랜더링하는 방법을 제공하는 프로그램이 기록된 기록 매체에 있어서, 웹 페이지를 로드하는 코드, 상기 웹 페이지를 웹 브라우저 내에서 랜더링하는 코드, 상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키는 코드 및 상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 코드를 포함하는 프로그램이 기록된 전자 장치에서 판독 가능한 기록 매체가 제공될 수 있다.
또 다른 일 측에 따르면, 웹 객체가 이동한 웹 페이지를 랜더링하는 주 디바이스에 있어서, 웹 페이지를 로드하는 송수신부 및 상기 웹 페이지를 웹 브라우저 내에서 랜더링하고, 상기 송수신부를 통해 상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키고, 상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 처리부를 포함하는, 주 디바이스가 제공될 수 있다.
웹 페이지의 전체적인 레이아웃을 유지한 채 이동성을 지원하는 앱 객체를 제외하고 웹 페이지를 재-랜더링하는 방법 및 장치가 제공된다.
이동성을 지원하는 웹 객체의 영역을 이미지로 대체하는 방법 및 장치가 제공된다.
도 1은 일 예에 따른 인텐트를 설명한다.
도 2는 일 예에 따른 웹 인텐트를 설명한다.
도 3은 일 실시예에 따른 웹 객체의 이동성을 지원하고, 이동된 웹 객체를 사용하는 시스템을 나타낸다.
도 4는 일 실시예에 따른 웹 서버의 블록도이다.
도 5는 일 실시예에 따른 주 디바이스의 블록도이다.
도 6은 일 실시예에 따른 2차 디바이스의 블록도이다.
도 7은 일 실시예에 따른 주 디바이스가 웹 객체를 이동시키는 방법의 신호 흐름도이다.
도 8은 일 실시예에 따른 2차 디바이스가 2차 디바이스로 이동하는 웹 객체를 처리하는 방법의 신호 흐름도이다.
도 9는 일 예에 따른 복수 개의 연결 가능한 2차 디바이스들을 표시하는 스크린을 나타낸다.
도 10은 일 예에 따른 복수 개의 연결 가능한 2차 디바이스들 중 웹 객체를 전송할 2차 디바이스를 선택하는 방법을 나타내는 흐름도이다.
도 11은 일 예에 따른 복수 개의 웹 객체들 중 이동할 웹 객체를 선택하는 화면을 나타낸다.
도 12는 일 예에 따른 복수 개의 웹 객체들 중 2차 디바이스로 전송할 웹 객채를 선택하는 방법을 나타내는 흐름도이다.
도 13은 일 예에 따른 웹 객체의 이동의 요청에 대한 사용자의 승인을 입력 받는 스크린을 나타낸다.
도 14는 일 예에 따른 2차 디바이스로 이동된 웹 객체를 조작하는 스크린을 나타낸다.
도 15는 일 실시예에 따른 웹 객체의 이동 후 랜더링된 웹 페이지를 나타낸다.
도 16은 일 실시예에 따른 예에 따른 웹 객체의 이동 후 웹 페이지를 랜더링하는 방법의 흐름도이다.
도 17은 일 실시예에 따른 웹 서버가 웹 객체의 이동을 처리하는 방법의 흐름도이다.
도 18은 일 예에 따른 인텐트의 호출을 위해 사용되는 코드를 나타낸다.
도 19는 일 예에 따른 인텐트의 등록을 위해 사용되는 코드를 나타낸다.
도 20은 일 예에 따른 주 디바이스의 정보를 나타내는 페이지이다.
도 21은 일 예에 따른 2차 디바이스를 발견하는 방법의 흐름도이다.
도 22는 일 예에 따른 2차 디바이스의 능력을 나타내는 페이지이다.
도 23은 일 실시예에 따른 푸쉬 서버의 블록도이다.
도 24는 일 실시예에 주 디바이스가 푸쉬 서버를 이용하여 웹 객체를 이동하는 방법의 신호 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서, 용어 "유일 자원 지시기(Uniform Resource Locator; URL)" 및 "통합 자원 식별자(Uniform Resource Identifier; URI)"는 동일한 의미로 사용될 수 있으며, 상호 대체될 수 있다.
이하에서, "요청"은 요청을 나타내는 메시지를 의미할 수 있다. "응답"은 요청에 대한 응답을 나타내는 메시지를 의미할 수 있다. "웹 페이지"는 웹 페이지의 데이터를 의미할 수 있다.
이하에서, "스크립트"는 자바(JAVA) 스크립트 등 웹 페이지 내에서 사용되는 임의의 스크립트를 포함할 수 있다.
이하에서, "웹 객체"는 웹 서비스의 콘텐츠를 나타내는 객체일 수 있다.
2차 스크린은 웹 객체의 이동을 통해 활용될 수 있다. 웹 객체의 이동은, 주 디바이스의 주 스크린을 통해 접근되는 웹 객체가, 보조 디바이스의 2차 스크린을 통해 접근될 수 있도록 이동하는 것을 의미할 수 있다.
2차 스크린의 활용에 있어서, 하기와 같은 문제점들이 검토될 필요가 있다.
우선, 사용자에게 제공될 수 있는 웹 서비스들 중 2차 스크린을 통해 접근 또는 제어될 수 있는 웹 서비스가 사용자에 의해 식별될 수 있어야 한다. 2차 스크린을 통해 접근 또는 제어될 수 있는 웹 서비스가 존재하는 경우, 연결된 2차 스크린이 식별될 수 있어야 한다. 말하자면, 웹 서비스를 제공하는 웹 서버에 연결된 2차 스크린을 제공할 수 있는 보조 디바이스가 사용자에 의해 식별될 수 있거나, 보조 디바이스의 목록이 사용자에게 제공될 수 있어야 한다.
또한, 2차 스크린 상에서 접근 또는 제어될 수 있는 웹 서비스의 웹 객체들 중 2차 스크린 상에서 동작할 수 있는 웹 객체가 사용자에 의해 식별될 수 있어야 한다. 여기서, 동작할 수 있는 웹 객체는 웹 서버에 연결된 2차 스크린 또는 보조 디바이스의 종류, 특성 및 사양 등에 의해 결정될 수 있다.
또한, 주 스크린에서 동작하는 웹 객체를 사용자가 원하는 2차 스크린으로 이동시키는 방법이 제공될 수 있어야 한다. 웹 객체가 이동될 때, 2차 스크린을 제공하는 보조 디바이스가 웹 객체의 이동의 요청을 수신하는 방법 및 웹 객체의 이동의 요청을 사용자에게 표현하는 방법이 제공될 수 있어야 한다.
하기에서, 웹 객체의 이동성의 지원에 관련된 실시예들이 설명된다.
도 1은 일 예에 따른 인텐트를 설명한다.
하나의 어플리케이션 또는 어플리케이션의 컴포넌트가 다른 어플리케이션 또는 어플리케이션의 컴포넌트를 호출(invoke)하기 위해서는, 어플리케이션 또는 컴포넌트에 대한 정보가 운영체제, 시스템 또는 플랫폼에 등록될 필요가 있다.
인텐트(intent)는 피호출될 어플리케이션 또는 컴포넌트를 운영 체제(Operating System; OS), 시스템 또는 플랫폼(Platform)에 등록하고, 특정한 상황에서 등록된 어플리케이션 또는 컴포넌트가 호출(invocation)을 통해 사용될 수 있게 하는 서비스 또는 기능을 지칭할 수 있다. 또한, 인텐트는 이러한 서비스를 위해 사용되는 객체를 지칭할 수 있다.
도 1에서, 인텐트로서 사용되기 위해 이동 단말 플랫폼에 등록된 어플리케이션 또는 컴포넌트들이 열거되었다. "Google Buzz", "Google+" 및 "Mail" 등은 각각 등록된 어플리케이션 또는 컴포넌트의 명칭이다.
인텐트는 어플리케이션들 또는 컴포넌트들 간의 호출 또는 상기의 호출에 대한 결과 값의 반환을 위해 사용될 수 있다.
인텐트는 어플리케이션 또는 컴포넌트를 호출하기 위한 정보를 포함할 수 있다. 상기의 정보는 호출되는 어플리케이션 또는 컴포넌트의 명칭을 포함할 수 있으며, 호출되는 어플리케이션 또는 컴포넌트의 특성을 포함할 수 있다. 또한, 인텐트는 호출된 어플리케이션 또는 컴포넌트가 자신을 호출한 어플리케이션 또는 컴포넌트에게 결과 값을 전달하기 위한 정보를 포함할 수 있다.
도 2는 일 예에 따른 웹 인텐트를 설명한다.
웹 인텐트는 웹 환경 또는 웹 서비스 환경으로 확장된 인텐트를 의미할 수 있다. 웹 인텐트는 웹에 기반한 어플리케이션들 간의 연동 및 사용 가능한 웹 서비스의 발견을 위한 프레임위크일 수 있다.
웹 인텐트는 웹 브라우징 환경에서 등록된 웹 서비스로의 연결을 제공할 수 있다. 말하자면, 웹 인텐트는 웹 페이지의 이벤트 및 등록된 웹 서비스 간의 연결을 제공할 수 있다. 웹 인텐트에 의해, 특정한 이벤트가 발생하였을 때 상기의 특정한 이벤트에 연결된 웹 서비스가 반응하게 할 수 있다.
도 2에서, 웹 인텐트에 의해 사용되기 위해 등록된 웹 서비스들이 열거되었다. "Delicious", "Twitter", "Blinklist" 및 "Digg"은 각각 웹 서비스의 명칭일 수 있다. 명칭 아래에는 웹 서비스의 설명이 표시되었다.
웹 액션(web action)은 방문자들이 방문된 웹 사이트 또는 웹 어플리케이션에서 취한, 다른 웹 사이트 또는 어플리케이션으로의 액션(action)일 수 있다. (web actions are actions visitors take on a visited site or application to another site or application.) 예컨대, 웹 액션의 일 예는 블로그의 글(article) 아래의 "트위터" 버튼을 클릭함으로써 상기의 글을 트위터 서비스 상에서 공유하는 것일 수 있다. 여기서, 블로그를 제공하는 웹 사이트가 상기의 방문된 웹 사이트일 수 있다 또한, 트위터 서비스를 제공하는 웹 사이트가 상기의 다른 웹 사이트일 수 있다.
웹 서비스의 설명 아래에 있는 "제거(remove)" 버튼, "불능(disable)" 버튼 및 "가능(enable)" 버튼을 사용하여 웹 서비스에 대한 액션을 제거하거나, 비활성화시키거나, 활성화시킬 수 있다.
웹 인텐트는 웹 어플리케이션들 간의 풍부한(rich) 통합을 가능하게 한다. 웹 상에서 가용한 서비스들은, 자신들의 작업(job)을 수행하기 위해, 풍부한 데이터를 주고 받을 필요가 있다.
웹 인텐트를 제공하는 웹 페이지는 서비스 페이지로 명명할 수 있다. 웹 인텐트를 호출(invocation) 및 사용하는 페이지를 클라이언트 페이지로 명명할 수 있다.
이하에서, 웹 인텐트는 인텐트로 약술될 수 있다. 용어 "웹 인텐트" 및 "인텐트"는 서로 교체되어 사용될 수 있다.
도 3은 일 실시예에 따른 웹 객체의 이동성을 지원하고, 이동된 웹 객체를 사용하는 시스템을 나타낸다.
웹 객체의 이동성을 지원하는 시스템(300)은 웹 서버(310), 주 디바이스(320), 이동성 등록 서버(movability registration server)(330), 알림 서버(notification server)(340) 및 2차 디바이스(350)를 포함할 수 있다.
웹 서버(310)는 주 디바이스(320) 및 2차 디바이스(350) 각각으로부터 웹 콘텐츠를 요청받을 수 있다. 여기서 웹 콘텐츠는 웹 서비스의 웹 페이지일 수 있다. 또는, 웹 페이지는 웹 콘텐츠를 포함할 수 있다. 웹 서버(310)는 주 디바이스(320) 및 2차 디바이스(350) 각각으로 웹 페이지를 제공할 수 있다. 웹 페이지는 웹 콘텐츠를 포함할 수 있다.
주 디바이스(320)는 주 스크린을 제공할 수 있다. 주 디바이스(320)는 웹 서버(310)가 제공하는 웹 서비스가 처음으로 실행되는 디바이스일 수 있다. 주 디바이스(320)는 전술된 웹 인텐트를 등록할 수 있고, 웹 인텐트를 호출함으로써 웹 객체를 2차 디바이스(350)로 이동시킬 수 있다. 따라서, 주 디바이스(320)을 웹 인텐트 디바이스로 명명할 수 있다.
주 디바이스(320)는 웹 페이지 내의 웹 객체의 이동성 정보를 이동성 등록 서버(330)에 등록할 수 있다. 주 디바이스(320)의 웹 브라우저는 웹 페이지를 로드한 후, 웹 페이지가 웹 객체의 이동성 또는 인텐트를 지원하는지 여부를 판단할 수 있다. 웹 브라우저는 이동성 또는 인텐트가 지원될 경우, 이동성 또는 인텐트에 대한 정보를 이동성 등록 서버(330)에 등록할 수 있다.
이동성 등록 서버(330)은 어플리케이션 서버일 수 있다. 이동성 등록 서버(330)는 사용자의 웹 서비스의 이용에 따라 실시간으로 이동성에 대한 정보 또는 인텐트에 대한 정보를 등록할 수 있고, 이동성에 대한 정보 또는 인텐트에 대한 정보를 주 디바이스(320) 및 2차 디바이스(350) 등에게 제공할 수 있다. 또한, 이동성 등록 서버(330)는 주 디바이스(320) 및 2차 디바이스(350) 각각의 능력의 등록 및 상기의 등록된 능력에 대한 조회 기능을 제공할 수 있다.
2차 디바이스(350)는 2차 스크린을 제공할 수 있다. 주 디바이스(320) 및 2차 디바이스(350)는 웹 서버(310)에 의해 제공되는 웹 서비스의 N-스크린 디바이스들일 수 있다.
2차 디바이스(350)는 2차 디바이스(350)의 능력을 이동성 등록 서버(330)에 등록할 수 있다. 이동성 등록 서버(330)는 2차 디바이스(350)의 능력의 정보를 주 디바이스(320)에게 제공할 수 있다. 주 디바이스(320)는 웹 객체가 2차 디바이스(350)로 이동될 수 있는지 여부를 판단하기 위해 2차 디바이스(350)의 능력의 정보를 사용할 수 있다.
주 디바이스(320)는 알림 서버(340)에게 웹 객체의 이동을 요청할 수 있다. 알림 서버(340)는 2차 디바이스(350)에게 상기의 요청을 전달할 수 있다.
알림 서버(340)는 2차 디바이스(350)에게 인텐트의 정보에 기반하여 웹 서비스를 호출하거나, 웹 페이지 또는 웹 객체를 수신하는 기능을 제공할 수 있다.
웹 서버(310), 주 디바이스(320), 이동성 등록 서버(330), 알림 서버(340) 및 2차 디바이스(350)의 이종 디바이스들은 디엘엔에이(DLNA) 또는 종점 발견 프로토콜(Endpoint Discovery Protocol) 등을 활용함으로써 서로 간에 연동될 수 있다.
주 디바이스(320)의 주 스크린 상에 웹 서비스가 제공될 때, 상기의 웹 서비스에 2차 디바이스(350)를 연결하기 위해서는 하기의 절차가 요구될 수 있다.
우선, 웹 서비스에 대한 등록이 요구될 수 있다. 이동성 등록 서버(330) 또는 어플리케이션 서버에 서비스가 등록될 수 있다. 예컨대, 주 디바이스(320)의 주 스크린 상에서 제공되는 웹 서비스 중 2차 디바이스(350)의 2차 스크린 상에서 지원될 수 있는 웹 서비스 기능에 대한 정보가 등록될 수 있다. 여기서, 웹 서비스 기능은 웹 서비스를 제공하는 웹 페이지 내의 웹 객체일 수 있다. 또한, 2차 디바이스(350)의 이용 가능성이 등록될 수 있다. 여기서, 2차 디바이스(350)의 이용 가능성은 2차 디바이스(350)의 웹 서비스에 대한 접속 가능성일 수 있다.
다음으로, 디바이스 발견이 요구될 수 있다. 디바이스 발견은 주 디바이스(320)가 이동 가능한 웹 객체를 이동시킬 수 있는 2차 디바이스(350)를 발견하는 것일 수 있다. 디바이스 발견을 위해, 1) 특정 어플리케이션 연동 타입, 2) 어플리케이션 서버 연동 타입 및 3) 네트워크 프로토콜 연동 타입이 사용될 수 있다.
특정 어플리케이션 연동 타입의 예로, 범용 플래그-앤-플레이(Universal Plug-and-Play; UPNP) 및 DLNA 등이 있다. 특정 어플리케이션 연동 타입에서, 2차 디바이스(350) 내에는 특정한 어플리케이션을 설치될 수 있다. 주 디바이스(320)는 홈 네트워크 서버 또는 지정된 어플리케이션 서버에 접속해서 2차 디바이스(350)의 접속 여부를 판단할 수 있다. 2차 디바이스(350)는 홈 네트워크 서버 또는 지정된 어플리케이션 서버에 접속하고, 정의된 기능에 대한 연결을 제공할 수 있다..
어플리케이션 서버 연동 타입은 어플리케이션 서버와 연동되어 제공되는 특정한 서비스를 위해 사용될 수 있다.
네트워크 프로토콜 연동 타입은 엔트리 포인트(entry point)로부터 구성(configuration) 문서 타입 정의(Document Type Definition; DTD) 요소(element)를 수신하고, 구성 DTD 요소가 나타내는 정보로 연결하는 방법일 수 있다. 구성 DTD 요소를 수신하기 위해 인터넷 프로토콜 텔레비전(Internet Protocol Television; IPTV)의 서비스 발견 표준인 네트워크된 프로비져닝 옵션(networked provisioning option)이 이용될 수 있다. 또는, 네트워크 프로토콜 연동 타입은 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol; DHCP) 옵션 15를 사용하여 도메인 네임 스페이스(Domain Name Space; DNS) 매커니즘(mechanism)을 이용하는 방법일 수 있다. 또는, 네트워크 프로토콜 연동 타입은 인터넷 할당 번호 관리기관(Internet Assigned Numbers Authority; IANA)에 등록된 멀티캐스트(multicast) 주소를 이용하는 방법일 수 있다.
디바이스 선택은, 웹 서비스의 웹 객체를 연결할 2차 디바이스(350)의 2차 스크린을 선택하기 위한 방식일 수 있다. 웹 객체는 주 디바이스(320)의 주 스크린 상에 출력된 것일 수 있다.
도 4는 일 실시예에 따른 웹 서버의 블록도이다.
웹 서버(310)는 송수신부(410), 처리부(420) 및 저장부(430)를 포함할 수 있다.
송수신부(410)는 네크워크(network) 인터페이스(interface) 카드(card), 네트워크 인터페이스 칩(chip) 및 네트워킹 인테페이스 포트(port) 등와 같은 하드웨어(hardware) 모듈(module)일 수 있고, 네트워크 디바이스(device) 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어(software) 모듈일 수 있다. 송수신부(410)는 웹 서버(310)로 전송되는 정보 또는 데이터를 수신할 수 있고, 웹 서버(310)가 전송하는 정보 또는 데이터를 송신할 수 있다. 또한, 송수신부(410)는 사용자로부터 입력되는 신호 또는 정보를 수신할 수 있다.
처리부(420)는 적어도 하나의 프로세서(processor) 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다. 처리부(420)는 웹 서버(310)의 동작에 필요한 동작을 수행할 수 있다. 여기서, 동작의 수행은 저장부 내에 저장된 프로그램 코드(program code)를 실행하는 것을 의미할 수 있다.
저장부(430)는 웹 서버(310)의 동작에 필요한 데이터를 저장할 수 있다. 예컨대, 저장부(430)는 웹 페이지를 저장할 수 있다. 저장부(430)는 하드 디스크 드라이브(Hard Disk Drive; HDD), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 램(Random Access Memory; RAM) 및 플래시(flash) 등과 같은 정보 저장을 위한 하드웨어 모듈일 수 있고, 데이터베이스(Database; DB), 파일(file) 시스템 및 테이블(table) 등과 같은 정보 저장을 위한 소프트웨어 모듈일 수 있다.
도 5는 일 실시예에 따른 주 디바이스의 블록도이다.
주 디바이스(320)는 송수신부(510) 및 처리부(520)를 포함할 수 있다.
송수신부(510)는 네크워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인테페이스 포트 등와 같은 하드웨어 모듈일 수 있고, 네트워크 디바이스 드라이버 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다. 송수신부(510)는 주 디바이스(320)로 전송되는 정보 또는 데이터를 수신할 수 있고, 주 디바이스(320)가 전송하는 정보 또는 데이터를 송신할 수 있다. 또한, 송수신부(510)는 사용자로부터 입력되는 신호 또는 정보를 수신할 수 있다.
처리부(520)는 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어일 수 있다. 처리부(520)는 주 디바이스(320)의 동작에 필요한 동작을 수행할 수 있다.
도 6은 일 실시예에 따른 2차 디바이스의 블록도이다.
2차 디바이스(350)는 송수신부(610) 및 처리부(620)를 포함할 수 있다.
송수신부(610)는 네크워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인테페이스 포트 등와 같은 하드웨어 모듈일 수 있고, 네트워크 디바이스 드라이버 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다. 송수신부(610)는 2차 디바이스(350)로 전송되는 정보 또는 데이터를 수신할 수 있고, 2차 디바이스(350)가 전송하는 정보 또는 데이터를 송신할 수 있다. 또한, 송수신부(610)는 사용자로부터 입력되는 신호 또는 정보를 수신할 수 있다.
처리부(620)는 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어일 수 있다. 처리부(620)는 2차 디바이스(350)의 동작에 필요한 동작을 수행할 수 있다.
도 7은 일 실시예에 따른 주 디바이스가 웹 객체를 이동시키는 방법의 신호 흐름도이다.
단계(710)에서, 주 디바이스(320)의 처리부(520)는 송수신부(510)를 통해 웹 서버(310)로부터 웹 페이지를 로드할 수 있다. 단계(710)는 단계들(712, 714 및 716)을 포함할 수 있다. 웹 페이지는 웹 서버(310)에 의해 제공되는 웹 서비스의 서비스 페이지일 수 있다.
단계(712)에서, 주 디바이스(320)의 송수신부(510)는 웹 페이지의 요청을 웹 서버(310)의 송수신부(410)로 전송할 수 있다. 상기의 웹 페이지의 요청은 주 디바이스(320)의 처리부(520)에 의해 생성될 수 있다.
단계(714)에서, 웹 서버(310)의 처리부(420)는 요청된 웹 페이지를 저장부(430)로부터 독출할 수 있으며, 저장부(430)로부터 읽혀진 웹 페이지를 주 디바이스(320)의 송수신부(510)로 전송하기 전에 주 디바이스(320)에게 제공하기에 적합하도록 편집 또는 가공할 수 있다. 상기의 편집 또는 가공의 일 예가 하기에서 도 17을 참조하여 상세히 설명된다.
단계(716)에서, 주 디바이스(320)의 송수신부(510)는 웹 서버(310)의 송수신부(410)로부터 요청된 웹 페이지를 수신할 수 있다.
단계(718)에서, 주 디바이스(320)의 처리부(520)는 수신된 웹 페이지를 웹 브라우저 내에서 랜더링할 수 있다.
단계(720)에서, 주 디바이스(320)의 처리부(520)는 로드된 웹 페이지 내의 웹 객체들 중 이동성을 지원하는 웹 객체를 식별할 수 있다. 이동성을 지원하는 웹 객체는 하나 이상일 수 있다.
처리부(520)는 웹 페이지 내의 웹 객체의 특성을 표현하는 이동성 태그에 기반하여 이동성을 지원하는 웹 객체를 식별할 수 있다. 이동성 태그는 이동성을 지원하는 웹 객체에 대한 추가적인 정보를 웹 페이지 또는 웹 콘텐츠 내에서 정의할 수 있다. 즉, 이동성 태그는 웹 객체의 표현을 위해 사용되는 기존의 HTML 코드 외에, 웹 객체가 이동가능함을 나타내기 위해 웹 페이지 또는 웹 콘텐츠 내에 추가적으로 삽입된 정보일 수 있다.
이동성 태그는 웹 객체의 인텐트 태그일 수 있다. 웹 객체의 인텐트 태그는 웹 객체가 이동성을 지원한다는 것 또는 웹 객체가 이동성을 지원하는 콘텐츠의 영역에 포함된다는 것을 나타낼 수 있다.
인텐트 태그는 웹 페이지 내에서 중복되어 사용될 수 있다. 따라서, 복수 개의 인텐트 태그들이 복수 개의 웹 객체들의 특성을 표현할 수 있다.
주 디바이스(320)의 처리부(520)는 로드된 웹 페이지 내의 웹 객체들 중 인텐트 태그를 갖는 웹 객체를 이동성을 지원하는 웹 객체로서 식별할 수 있다.
단계(730)에서, 주 디바이스(320)의 송수신부(510)는 1) 식별된 웹 객체의 이동성 정보 및 2) 주 디바이스(320)에 대한 정보를 이동성 등록 서버(330)에 등록할 수 있다. 여기서, 웹 객체의 이동성 정보는 웹 객체가 인텐트를 지원하는 내역을 나타내는 웹 객체의 인텐트 지원 내역 정보일 수 있다. 주 디바이스(320)에 대한 정보는 웹 서버(310)에 의해 제공되는 웹 서비스의 식별자(identifier; ID), 주 디바이스(320)의 인터넷 프로토콜(Internet Protocol; IP) 주소 및 2차 디바이스(350)의 주소 중 하나 이상을 포함할 수 있다.
상기의 등록을 위해, 주 디바이스(320)의 송수신부(510)는 1) 식별된 웹 객체의 이동성 지원에 대한 정보 및 2) 주 디바이스(320)에 대한 정보의 등록의 요청을 이동성 등록 서버(330)로 전송할 수 있다.
전술된 단계(720) 및 단계(730)는 웹 페이지 내의 스크립트에 기반하여 수행될 수 있다. 즉, 주 디바이스(320)의 처리부(520)는 웹 페이지 내의 스크립트를 처리함으로써 웹 페이지 내에 이동성 태그가 사용되었는지 여부를 확인할 수 있고, 이동성 태그가 존재하는 경우 이동성 태그가 나타내는 웹 객체의 이동성 정보를 이동성 등록 서버(330)에 등록할 수 있다. 또한, 주 디바이스(520)는 스크립트에 의해 후술될 단계(735)가 수행되기 전까지 이벤트를 대기할 수 있다. 여기서, 이벤트는 웹 -체의 이동에 대한 사용자의 요청일 수 있다.
단계(735)에서, 주 디바이스(320)의 송수신부(510)는 웹 객체의 이동에 대한 사용자의 요청을 수신할 수 있다. 주 디바이스(320)의 처리부(520)는 웹 객체의 이동에 대한 사용자의 요청을 인식할 수 있다.
단계(740)에서, 주 디바이스(320)의 처리부(520)는 식별된 웹 객체의 이동성 정보에 기반하여 식별된 웹 객체가 2차 디바이스(350)로 이동될 수 있는지 여부를 판단할 수 있다. 여기서, 주 디바이스(320) 및 2차 디바이스(350)는 웹 페이지를 제공하는 웹 서비스의 N-스크린 디바이스들일 수 있다.
식별된 웹 객체가 2차 디바이스(350)로 이동될 수 있는 경우, 단계(750)에서, 주 디바이스(320)의 송수신부(510)는 식별된 웹 객체의 2차 디바이스(350)로의 이동의 요청을 전송할 수 있다. 주 디바이스(320)의 송수신부(510)는 식별된 웹 객체의 2차 디바이스(350)로의 이동의 요청을 알림 서버(340) 또는 2차 디바이스(350)로 전송할 수 있다. 식별된 웹 객체의 2차 디바이스(350)로의 이동의 요청은 처리부(520)에 의해 생성될 수 있다.
처리부(520)는 송수신부(510)를 통해 웹 페이지 내에서 이동성을 지원하는 식별된 웹 객체를 2차 디바이스(350)로 이동시킬 수 있다.
식별된 웹 객체의 2차 디바이스(350)로의 이동의 요청은 2차 디바이스(350)가 제공하는 인텐트를 호출함으로써 수행될 수 있다.
단계(760)에서, 주 디바이스(320)의 처리부(520)는 식별된 웹 객체가 이동된 후 웹 페이지를 갱신할 수 있다. 처리부(520)는 웹 페이지를 웹 브라우저 내에서 재-랜더링(re-rendering)할 수 있다. 여기서, 재-랜더링은 웹 페이지의 전체적인 레이아웃(layout)을 유지한 이동성을 지원하는 웹 객체를 제외하고 웹 브라우저 내에서 랜더링하는 것을 의미할 수 있다. 즉, 처리부(520)는 웹 페이지의 전체적인 레이아웃을 유지한 채 이동성을 지원하는 웹 객체를 제외하고 웹 페이지를 웹 브라우저 내에서 재-랜더링할 수 있다.
도 8은 일 실시예에 따른 2차 디바이스가 2차 디바이스로 이동하는 웹 객체를 처리하는 방법의 신호 흐름도이다.
단계(810)에서, 2차 디바이스(350)의 처리부(620)는 송수신부(610)를 통해 2차 2차 디바이스(350) 및 2차 디바이스(350)의 능력을 등록할 수 있다. 단계(810)는 단계들(812, 814 및 816)을 포함할 수 있다. 2차 디바이스(350) 및 2차 디바이스(350)의 능력은 이동성 등록 서버(330) 또는 주 디바이스(320)에 등록될 수 있다.
2차 디바이스(350)의 능력은 2차 디바이스(350)의 글로벌 포지셔닝 시스템(Global Positioning System; GPS) 위치 제공 여부, 2차 디바이스(350)에게 할당된 네트워크 카드의 고유의 주소(address), 2차 디바이스(350)의 해상도(resolution), 2차 디바이스(350)의 웹 브라우저의 버전(version), 2차 디바이스(350)의 인텐트를 지윈하는 어플리케이션 및 2차 디바이스(350)의 인텐트를 지원하는 어플리케이션들의 목록 중 하나 이상을 포함할 수 있다.
단계(812)에서, 2차 디바이스(350)의 송수신부(610)는 2차 디바이스(350)의 정보 및 2차 디바이스(350)의 능력의 정보를 이동성 등록 서버(330) 또는 주 디바이스(320)의 송수신부(510)로 전송할 수 있다.
단계(814)에서, 이동성 등록 서버(330) 또는 주 디바이스(320)의 처리부(520)는 수신된 2차 디바이스(350)의 정보 및 수신된 2차 디바이스(350)의 능력의 정보에 기반하여 2차 디바이스(350) 및 2차 디바이스(350)의 능력을 등록할 수 있다. 만약, 2차 디바이스(350) 및 2차 디바이스(350)의 능력이 이동성 등록 서버(330)에 등록된 경우, 이동성 등록 서버(330)는 주 디바이스(320)의 요청에 따라 2차 디바이스(350)의 정보 및 2차 디바이스(350)의 능력의 정보를 주 디바이스(320)에게 제공할 수 있다.
단계(816)에서, 2차 디바이스(350)의 송수신부(610)는 이동성 등록 서버(330) 또는 주 디바이스(320)로부터 2차 디바이스(350)의 정보 및 수신된 2차 디바이스(350)의 능력의 정보에 대한 응답을 수신할 수 있다.
단계(810)에서 등록된 2차 디바이스(350) 및 2차 디바이스(350)의 능력은 도 12를 참조하여 후술될 단계들(1210 내지 1230)에서 사용될 수 있다.
2차 디바이스(350)는 복수 개일 수 있다. 2차 디바이스(350)가 복수 개일 경우, 전술된 단계(810)는 복수 개의 2차 디바이스들 각각에 대해 수행될 수 있다. 이동성 등록 서버(330) 또는 주 디바이스(320)의 처리부(520)는 등록된 복수 개의 2차 디바이스들의 목록 및 등록된 복수 개의 2차 디바이스들 각각의 능력의 정보를 생성할 수 있다. 또한, 이동성 등록 서버(330)는 주 디바이스(320)의 요청에 따라 등록된 복수 개의 2차 디바이스들의 목록 및 등록된 디바이스들 각각의 능력의 정보를 주 디바이스(320)에게 제공할 수 있다.
단계(810)가 수행된 후, 2차 디바이스(350)는 웹 객체의 이동의 요청을 대기할 수 있다.
단계(820)에서, 2차 디바이스(350)의 송수신부(610)는 웹 객체의 이동의 요청을 수신할 수 있다. 상기의 웹 객체의 이동의 요청은 주 디바이스(320)의 송수신부(510)로부터 출력된 것일 수 있다. 웹 객체의 이동의 요청은 주 디바이스(320)의 송수신부(510)로부터 2차 디바이스(350)의 송수신부(610)로 직접적으로 전송될 수 있고, 알림 서버(340)를 경유하여 2차 디바이스(350)의 송수신부(610)로 전송될 수 있다. 웹 객체의 이동의 요청은 알림 메시지로서 송수신부(610)로 전송될 수 있다.
웹 객체의 이동의 요청은 2차 디바이스(350)가 제공하는 인텐트의 호출일 수 있다. 웹 객체의 이동의 요청은 인텐트의 알림(intent notification)일 수 있다. 2차 디바이스(350)는 인텐트의 알림을 수신하고, 수신된 인텐트에 대응하는 서비스 또는 어플리케이션을 실행할 수 있다. 여기서, 서비스를 실행하는 것은 웹 브라우저 내에서 웹 페이지를 로드하고, 로드된 웹 페이지를 표시하는 것일 수 있다.
단계(825)에서, 2차 디바이스(350)의 송수신부(610)는 웹 객체의 이동의 요청에 대한 사용자의 승인을 수신할 수 있다. 2차 디바이스(350)의 처리부(620)는 웹 객체의 이동의 요청이 사용자에 의해 승인되었음을 인식할 수 있다.
단계(830)에서, 2차 디바이스(350)의 처리부(620)는 송수신부(610)를 통해 웹 객체를 이동하기 위한 정보를 요청할 수 있다.
여기서, 웹 객체는 2차 디바이스(350)의 능력의 정보에 기반하여 주 디바이스(320)의 처리부(520)에 의해 2차 디바이스(350)로 이동가능한 것으로 판단된 것일 수 있다.
송수신부(610)는 웹 객체를 이동하기 위한 정보의 요청을 전송할 수 있다. 여기서, 웹 객체를 이동하기 위한 정보의 요청은 웹 서버(310)의 송수신부(410) 또는 주 디바이스(320)의 송수신부(510)로 전송될 수 있다.
웹 객체를 이동하기 위한 정보의 요청이 웹 서버(310)의 송수신부(410)로 전송된 경우, 단계(832)에서, 웹 서버(310)의 처리부(420)는 웹 객체를 이동하기 위한 정보를 생성할 수 있다. 여기서, 웹 객체를 이동하기 위한 정보는 웹 객체의 정보를 포함할 수 있으며, 웹 객체를 포함하는 웹 페이지를 포함할 수 있다.
웹 객체를 이동하기 위한 정보의 요청이 주 디바이스(320)의 송수신부(510)로 전송된 경우, 단계(834)에서, 주 디바이스(320)의 처리부(520)는 웹 객체를 이동하기 위한 정보를 생성할 수 있다. 여기서, 웹 객체를 이동하기 위한 정보는 도 7을 참조하여 전술된 단계(720)에서 식별된 이동성을 지원하는 웹 객체의 정보를 포함할 수 있으며, 도 7을 참조하여 전술된 단계(710)에서 로드된 웹 페이지의 전부 또는 일부를 포함할 수 있다.
단계(840)에서, 2차 디바이스(350)의 송수신부(610)는 웹 서버(310)의 송수신부(410) 또는 주 디바이스(320)의 송수신부(510)로부터 웹 객체를 이동하기 위한 정보를 수신할 수 있다.
단계(850)에서, 2차 디바이스(350)의 처리부(620)는 이동한 웹 객체를 랜더링하기 위한 개체(entity)를 실행할 수 있다. 여기서, 상기의 객체는 실행 중인 웹 브라우저, 실행 중인 웹 브라우저의 신규 윈도우, 새로운 웹 브라우저 및 어플리케이션 중 하나 이상일 수 있다.
예컨대, 2차 디바이스(350)의 처리부(620)는 웹 브라우저를 실행할 수 있다. 또한, 2차 디바이스(350)의 처리부(620)는 2차 디바이스(350)에서 실행 중인 웹 브라우저의 신규 윈도우를 생성할 수 있다. 또한, 처리부(620)는 어플리케이션을 실행할 수 있다. 여기서, 실행된 어플리케이션은 단계(820)의 웹 객체의 이동의 요청을 처리할 수 있는 어플리케이션일 수 있다.
단계(860)에서, 2차 디바이스(350)의 처리부(620)는 수신된 웹 객체를 이동하기 위한 정보에 기반하여 웹 객체를 랜더링할 수 있다. 처리부(620)는 웹 객체를 랜더링함으로써 웹 객체의 이동을 처리할 수 있다.
예컨대, 이전의 단계(850)에서 웹 브라우저가 실행된 경우, 처리부(620)는 웹 브라우저 내에서 이동한 웹 객체를 랜더링할 수 있다. 이전의 단계(850)에서 실행 중인 웹 브라우저의 신규 윈도우가 생성된 경우, 처리부(620)는 웹 브라우저의 신규 윈도우 내에서 이동한 웹 객체를 랜더링할 수 있다. 이전에 단계(850)에서 어플리케이션이 실행된 경우, 처리부(620)는 어플리케이션 내에서 이동한 웹 객체를 랜더링할 수 있다.
단계(870)에서, 2차 디바이스(350)의 처리부(620)는 사용자의 조작에 따라 웹 객체를 사용할 수 있다. 예컨대, 처리부(620)는 웹 객체가 제공하는 기능을 사용함으로써 송수신부(610)를 통해 웹 객체에 관련된 데이터를 웹 서버(310)의 송수신부(410) 또는 주 디바이스(320)의 송수신부(510)로 전송할 수 있다.
도 9는 일 예에 따른 복수 개의 연결 가능한 2차 디바이스들을 표시하는 스크린을 나타낸다.
제1 상태(900)는 주 스크린(910) 내에서 웹 페이지가 랜더링된 주 디바이스(320)를 나타낼 수 있다. 제1 상태(900)는 도 7을 참조하여 전술된 단계(718)에서 웹 브라우저 내에서 랜더링된 수신된 웹 페이지일 수 있다.
제2 상태(950)는 복수 개의 연결 가능한 2차 디바이스들이 주 스크린(910) 내의 웹 브라우저 내에서 표시된 주 디바이스(320)를 나타낼 수 있다.
도 9에서, 웹 페이지는 제1 웹 객체(920), 제2 웹 객체(925) 및 제3 웹 객체(930)를 포함한다. 여기서, 제1 웹 객체(920), 제2 웹 객체(925) 및 제3 웹 객체(930)는 각각 도 7을 참고하여 전술된 단계(720)에서 처리부(520)에 의해 식별된 로드된 웹 페이지 내의 웹 객체들 중 이동성을 지원하는 웹 객체일 수 있다.
웹 페이지는 디바이스 발견 버튼(940)를 포함할 수 있다. 예컨대, 사용자에 의해 디바이스 발견 버튼(940)이 눌리면, 주 디바이스(320)의 상태는 제1 상태(900)로부터 제2 상태(950)로 변경될 수 있다.
제2 상태(950)에서, 웹 브라우저 내에서 등록된 디바이스들의 목록(960)이 표시된다. 등록된 디바이스들의 목록(960) 내의 항목들 각각은 복수 개의 2차 디바이스들 중 하나의 2차 디바이스를 나타낼 수 있다. 도 8에서, 등록된 디바이스들의 목록(960) 내에서, 첫 번째 2차 디바이스를 나타내는 항목(970-1), 두 번째 2차 디바이스를 나타내는 항목(970-2), 세 번째 2차 디바이스를 나타내는 항목(970-3) 및 네 번째 2차 디바이스를 나타내는 항목(970-4)이 각각 도시되었다.
각 항목은 1) 항목에 대응하는 2차 디바이스(350)를 나타내는 아이콘(icon), 이미지 및 사진 중 하나 이상을 포함할 수 있고, 2) 항목에 대응하는 2차 디바이스(350)의 소유자 또는 사용자를 나타내는 아이콘, 기호, 문자 및 문자열 중 하나 이상을 포함할 수 있고, 3) 항목에 대응하는 2차 디바이스(350)의 타입을 나타내는 아이콘, 기호, 문자 및 문자열 중 하나 이상을 포함할 수 있다. 2차 디바이스(350)를 나타내는 아이콘, 이미지 또는 사진은 2차 디바이스(350)의 타입에 기반하여 선택될 수 있다. 예컨대, 도 1에서, 첫 번째 2차 디바이스를 나타내는 항목(970-1) 내에서, 1) 첫 번째 2차 디바이스의 사용자인 "사용자 1", 2) 첫 번째 2차 디바이스의 타입인 "모바일 폰" 및 3) 첫 번째 2차 디바이스를 나타내는 이미지가 표시되었다.
등록된 디바이스들의 목록(960) 중 등록된 디바이스들 각각은 웹 객체가 이동될 수 있는지 여부에 따라 구분되어 표시될 수 있다. 예컨대, 웹 객체가 이동될 수 있는 등록된 디바이스에 대응하는 항목의 테두리는 굵은 테두리일 수 있고, 웹 객체가 이동될 수 없는 등록된 디바이스에 대응하는 항목의 테두리는 가는 테두리일 수 있다. 또한, 등록된 디바이스들의 목록(960) 중 웹 객체가 이동될 수 있는 등록된 디바이스는 1) 웹 객체가 이동될 수 없는 등록된 디바이스에 비해 구별되는, 2) 활성화되었음을 나타내는 컬러로 구분되어 표시될 수 있다.
도 10은 일 예에 따른 복수 개의 연결 가능한 2차 디바이스들 중 웹 객체를 전송할 2차 디바이스를 선택하는 방법을 나타내는 흐름도이다.
도 7을 참조하여 전술된 주 디바이스가 웹 객체를 이동시키는 방법은 후술될 단계들(1010 내지 1044)을 포함할 수 있다. 예컨대, 후술될 단계들(1010 내지 1044)은 도 7을 참조하여 전술된 단계(735)의 이후에 수행될 수 있고, 도 7을 참조하여 전술된 단계(750)의 이전에 수행될 수 있다.
또한, 단계(735)의 사용자의 요청의 수신은 도 9를 참조하여 전술된 디바이스 발견 버튼(925)이 눌리는 것일 수 있다. 주 디바이스(320)의 처리부(520)는 디바이스 발견 버튼(925)이 눌리는 것을 웹 객체의 이동에 대한 사용자의 요청으로서 인식할 수 있다.
단계(1010)에서, 주 디바이스(320)의 처리부(520)는 송수신부(510)를 통해 등록된 디바이스들의 목록의 정보를 획득할 수 있다. 단계(1010)는 단계들(1012, 1024)를 포함할 수 있다
등록된 디바이스들은 주 디바이스(320)에 실행 중인 인텐트에 대한 수신이 가능한 2차 디바이스(350)일 수 있다. 등록된 디바이스들은 주 디바이스(320)에서 실행 중인 웹 서비스에 대한 인텐트에 대한 수신이 이동성 등록 서버(330)에 등록된 디바이스들일 수 있다.
단계(1012)에서, 주 디바이스(320)의 송수신부(510)는 등록된 디바이스들의 목록(960)의 정보의 요청을 이동성 등록 서버(330) 또는 2차 디바이스(350)의 송수신부(610)로 전송할 수 있다.
단계(1014)에서, 주 디바이스(320)의 송수신부(510)는 이동성 등록 서버(330) 또는 2차 디바이스(350)의 송수신부(610)로부터 등록된 디바이스들의 목록(960)의 정보를 수신할 수 있다.
등록된 디바이스들의 목록(960)의 정보는 등록된 디바이스들 각각의 능력의 정보를 포함할 수 있다. 각 디바이스의 능력은 GPS 위치 제공 여부, 디바이스에게 할당된 네트워크 카드의 고유의 주소, 디바이스의 해상도, 디바이스의 웹 브라우저의 버전, 디바이스의 인텐트를 지윈하는 어플리케이션의 명칭 및 디바이스의 인텐트를 지원하는 어플리케이션들의 목록 중 하나 이상을 포함할 수 있다.
단계(1020)에서, 주 디바이스(320)의 처리부(520)는 수신된 등록된 디바이스들의 목록의 정보에 기반하여 웹 브라우저 내에서 등록된 디바이스들의 목록(960)를 표시할 수 있다. 2차 디바이스(350)는 등록된 디바이스들의 목록(960) 중 하나의 항목에 대응하는 디바이스일 수 있다. 도 9를 참조하여 전술된 것과 같이 처리부(520)는 등록된 디바이스들의 목록(960)과 함께 등록된 디바이스들 각각의 정보를 표시할 수 있다.
처리부(520)는 등록된 디바이스들의 목록(960) 중 등록된 디바이스들 각각을 웹 객체가 이동될 수 있는지 여부에 따라 구분하여 표시할 수 있다. 예컨대, 처리부(520)는 웹 객체가 이동될 수 있는 등록된 디바이스에 대응하는 항목은 굵은 테두리를 사용하여 표시할 수 있고, 웹 객체가 이동될 수 없는 디바이스에 대응하는 항목은 가는 테두리를 사용하여 표시할 수 있다. 또는, 처리부(520)는 등록된 디바이스들의 목록(960) 중 웹 객체가 이동될 수 있는 등록된 디바이스는 1) 웹 객체가 이동될 수 없는 등록된 디바이스에 비해 구별되는, 2) 활성화되었음을 나타내는 컬러로 구분하여 표시할 수 있다.
단계(1030)에서, 주 디바이스(320)의 송수신부(510)는 등록된 디바이스들의 목록(960) 중 2차 디바이스(350)를 선택하는 사용자의 입력을 수신할 수 있다. 주 디바이스(320)의 처리부(520)는 출력된 등록된 디바이스들의 목록(960) 중 2차 디바이스(350)가 사용자에 의해 선택되었음을 인식할 수 있다. 여기서, 사용자의 선택은 등록된 디바이스들의 목록(960) 중 2차 디바이스(350)를 나타내는 항목을 클릭(click) 또는 터치(touch)하는 것일 수 있다.
말하자면, 2차 디바이스(350)는 등록된 디바이스들의 목록(960) 내의 디바이스들 중 사용자에 의해 웹 객체를 이동시킬 디바이스로 선택된 디바이스일 수 있다.
단계(1040)에서, 주 디바이스(320)의 처리부(520)는 송수신부(510)를 통해 등록된 디바이스들 각각의 능력의 정보 또는 2차 디바이스(350)의 능력의 정보를 획득할 수 있다. 단계(1040)는 단계들(1042 및 1044)를 포함할 수 있다
단계(1042)에서, 주 디바이스(320)의 송수신부(510)는 등록된 디바이스들 각각의 능력의 정보의 요청을 이동성 등록 서버(330) 또는 등록된 디바이스들 각각으로 전송할 수 있다. 또는, 주 디바이스(320)의 송수신부(510)는 2차 디바이스(350)의 능력의 정보의 요청을 2차 디바이스(350)의 송수신부(610)로 전송할 수 있다.
단계(1044)에서, 주 디바이스(320)의 송수신부(510)는 이동성 등록 서버(330) 또는 등록된 디바이스들 각각으로부터 등록된 디바이스들 각각의 능력의 정보를 수신할 수 있다. 또는, 주 디바이스(320)의 송수신부(510)는 2차 디바이스(350)로부터 2차 디바이스(350)의 능력의 정보를 수신할 수 있다.
수신된 등록된 디바이스들 각각의 능력의 정보 및 2차 디바이스(350)의 능력의 정보는 복수 개의 웹 식별된 객체들 중 등록된 디바이스들 각각 또는 2차 디바이스로 이동할 수 있는 웹 객체를 구분하기 위해 사용될 수 있다.
도 11은 일 예에 따른 복수 개의 웹 객체들 중 이동할 웹 객체를 선택하는 화면을 나타낸다.
도 7을 참조하여 전술된 단계(720)에서 식별된 이동성을 지원하는 웹 객체는 복수 개일 수 있다. 도 11에서, 복수 개의 웹 객체들로서, 제1 웹 객체(920), 제2 웹 객체(925) 및 제3 웹 객체(930)가 각각 도시되었다. 또한, 도 11에서, 웹 객체가 이동될 2차 디바이스(350)로서 첫 번째 2차 디바이스(970-1)가 선택된 것으로 도시되었다.
등록된 디바이스들의 목록(960) 중에서 웹 객체가 이동될 2차 디바이스(350)가 선택되면, 복수 개의 웹 객체들 중 선택된 2차 디바이스(350)로 전송될 수 있는 웹 객체가 구분될 수 있다. 복수 개의 웹 객체들 각각은 2차 디바이스(350)로 이동될 수 있는지 여부에 따라 구분되어 표시될 수 있다. 예컨대, 2차 디바이스(350)로 이동될 수 있는 웹 객체의 내부에는 활성화된 버튼이 표시될 수 있고, 2차 디바이스(350)로 이동될 수 있는 웹 객체의 내부에는 비활성화된 버튼이 표시될 수 있다. 도 11에서, 2차 디바이스(350)로 이동될 수 있는 제1 웹 객체(920)의 내부 및 제3 웹 객체(30)의 내부에는 및 활성화된 웹 객체 이동 버튼(1120) 및 활성화된 웹 객체 이동 버튼(1130)이 표시되었다. 한편, 2차 디바이스(350)로 이동될 수 없는 제2 웹 객체(925)의 내부에는 비활성화된 웹 객체 이동 버튼(1125)이 표시되었다.
사용자는 2차 디바이스(350)로 전송될 수 있는 것으로 표시된 웹 객체들 중 2차 디바이스(350)로 전송될 웹 객체를 선택할 수 있다. 여기서 사용자의 선택은 2차 디바이스(350)로 전송될 수 있는 것으로 표시된 웹 객체들 중 하나의 웹 객체 또는 하나의 웹 객체의 버튼을 클릭 또는 터치하는 것일 수 있다.
도 12는 일 예에 따른 복수 개의 웹 객체들 중 2차 디바이스로 전송할 웹 객채를 선택하는 방법을 나타내는 흐름도이다.
도 7을 참조하여 전술된 주 디바이스가 웹 객체를 이동시키는 방법은 후술될 단계들(1210 내지 1230)을 포함할 수 있다. 예컨대, 후술될 단계들(1210 내지 1230)은 도 7을 참조하여 전술된 단계(735)의 이후 또는 도 10을 참조하여 전술된 단계들(1010 내지 1044) 이후에 수행될 수 있고, 도 7을 참조하여 전술된 단계(750)의 이전에 수행될 수 있다.
연결 가능한 2차 디바이스(350)에 대해서, 웹 페이지 내의 모든 웹 객체들이 이동될 수 있는 것은 아니다. 하기에서 웹 객체가 2차 디바이스(350)로 이동될 수 있는 여부를 판단하는 방법이 설명된다.
단계(1210)에서, 주 디바이스(320)의 처리부(520)는 복수 개의 식별된 웹 객체들 각각이 2차 디바이스(350)로 이동될 수 있는지 여부를 판단할 수 있다. 여기서, 복수 개의 식별된 웹 객체들은 각각 도 7을 참조하여 전술된 단계(720)에서 식별된 웹 객체일 수 있다. 즉, 단계(720)에서 식별된 웹 객체는 복수 개일 수 있다.
처리부(520)는 2차 디바이스(350)의 능력에 기반하여 복수 개의 식별된 웹 객체들 각각이 2차 디바이스(350)로 이동될 수 있는지 여부를 판단할 수 있다. 처리부(520)는 2차 디바이스(350)의 능력에 기반하여 복수 개의 식별된 웹 객체들 각각이 2차 디바이스(350)의 2차 스크린에서 표현 또는 재생될 수 있는지 여부를 판단할 수 있다.
예컨대, 2차 디바이스(350)가 GPS 위치를 제공할 수 없는 경우, GPS 위치를 요구하는 웹 객체는 2차 디바이스(350)로 이동될 수 없다. 또는, 웹 객체는 랜더링되기 위한 최소한의 해상도를 요구할 수 있고, 2차 디바이스(350)의 해상도가 상기의 최소한의 해상도에 미치지 못하는 경우, 웹 객체는 2차 디바이스(350)로 이동될 수 없다.
처리부(520)는 도 23을 참조하여 후술될 웹 인텐트 디바이스 설명(description)을 참조하여 2차 디바이스(350)의 능력을 판별할 수 있다. 웹 인텐트 디바이스 설명은 2차 디바이스(350)의 2차 스크린이 웹 객체를 표현 또는 재생할 수 있는지 여부를 나타낼 수 있다.
또한, 처리부(520)는 웹 객체의 인텐트 태그 중 액션(action) 속성(attribute)의 값 및 타입 속성의 값을 사용함으로써 2차 디바이스(350)가 웹 객체를 표현할 수 있는지 여부를 판단할 수 있다. 인텐트 태그 및 인텐트 태그 내의 속성에 대해서 하기에서 도 19를 참조하여 상세히 설명된다.
2차 디바이스(350)에서 표현될 수 있는 웹 객체는 2차 디바이스(350)로 이동될 수 있는 웹 객체일 수 있다. 즉, 처리부(520)는 복수 개의 식별된 웹 객체들 각각의 인텐트 태그의 액션 속성의 값 및 타입 속성의 값에 기반하여 복수 개의 식별된 웹 객체들 각각이 2차 디바이스(350)로 이동될 수 있는지 여부를 판단할 수 있다.
스크립트에 의해 웹 객체의 인텐트 태그 내에 액션 속성 및 타입 속성이 존재하는지 여부가 확인될 수 있다.
또한, 처리부(520)는 웹 객체의 인탠트 태그의 액션 속성의 값 및 타입 속성의 값을 2차 디바이스(350)의 능력과 비교함으로써, 2차 디바이스(350)가 웹 객체를 표현할 수 있는지 여부를 판단할 수 있다. 처리부(520)는 복수 개의 식별된 웹 객체들 각각의 액션 속성의 값 및 타입 속성의 값을 2차 디바이스(350)의 능력과 비교함으로써 복수 개의 식별된 웹 객체들 각각이 2차 디바이스(350)로 이동될 수 있는지 여부를 판단할 수 있다.
단계(1220)에서, 주 디바이스(320)의 처리부(520)는 복수 개의 식별된 웹 객체들 각각을 2차 디바이스로 이동될 수 있는지 여부에 따라 구분하여 표시할 수 있다. 예컨대, 처리부(520)는 2차 디바이스(350)로 이동될 수 있는 웹 객체의 내부에는 활성화된 버튼을 표시할 수 있고, 2차 디바이스(350)로 이동될 수 있는 웹 객체의 내부에는 비활성화된 버튼을 표시할 수 있다. 또한, 처리부(520)는 서로 상이한 컬러를 사용함으로써 복수 개의 식별된 웹 객체들 각각을 2차 디바이스(350)로 이동될 수 있는지 여부에 따라 구분하여 표시할 수 있다. 복수 개의 식별된 웹 객체들 중 2차 디바이스(350)로 이동될 수 있는 웹 객체를 위해 사용된 제1 컬러 및 2차 디바이스(350)로 이동될 수 없는 웹 객체를 위해 사용된 제2 컬러는 서로 상이할 수 있다. 또한, 처리부(520)는 서로 상이한 굵기의 테두리를 사용함으로써 복수 개의 식별된 웹 객체들 각각을 2차 디바이스(350)로 이동될 수 있는지 여부에 따라 구분하여 표시할 수 있다.
전술된 단계(1210) 및 단계(1220)는 웹 페이지 내의 스크립트(script)에 기반하여 수행될 수 있다. 즉, 주 디바이스(320)의 처리부(520)는 웹 페이지 내의 스크립트를 처리함으로써 복수 개의 식별된 웹 객체들 각각이 2차 디바이스(350)로 이동될 수 있는지 여부를 판단할 수 있다. 또한, 주 디바이스(320)의 처리부는 웹 페이지 내의 스크립트를 처리함으로써 복수 개의 식별된 웹 객체들 각각을 2차 디바이스(350)로 이동될 수 있는지 여부에 따라 구분하여 표시할 수 있다.
단계(1230)에서, 주 디바이스(320)의 송수신부(510)는 복수 개의 식별된 웹 객체들 중 하나의 웹 객체를 선택하는 사용자의 입력을 수신할 수 있다. 주 디바이스(320)의 처리부(520)는 복수 개의 식별된 웹 객체들 중 선택된 웹 객체를 인식할 수 있다. 여기서, 사용자의 선택은 표시된 복수 개의 식별된 웹 객체들 중 하나의 웹 객체를 클릭(click) 또는 터치(touch)하는 것일 수 있다.
선택된 웹 객체는 복수 개의 웹 객체들 중 도 7을 참조하여 전술된 단계(750)에서 2차 디바이스(350)로 이동될 웹 객체일 수 있다. 즉, 단계(750)에서, 주 디바이스(320)의 송수신부(510)는 복수 개의 식별된 웹 객체들 중 선택된 웹 객체의 2차 디바이스(350)로의 이동의 요청을 전송할 수 있다.
도 13은 일 예에 따른 웹 객체의 이동의 요청에 대한 사용자의 승인을 입력 받는 스크린을 나타낸다.
도 8을 참조하여 전술된 단계(820)에서, 2차 디바이스(350)의 송수신부(610)가 웹 객체의 이동의 요청을 수신하면 처리부(620)는 2차 디바이스(350)의 스크린(1310) 내에 웹 객체의 이동의 요청을 나타내는 윈도우(1320)를 출력할 수 있다.
윈도우(1320) 내에는 주 디바이스(320)로부터 웹 객체의 이동이 요청이 수신되었음을 나타내는 메시지가 출력될 수 있다. 도 13에서, 웹 객체의 이동의 요청은 웹 객체가 나타내는 영역의 화면을 공유하는 요청으로 표시되었다. 주 디바이스(320)는 제1 사용자의 PC로 표시되었다.
윈도우(1320)는 웹 객체의 이동의 요청에 대한 사용자의 승인 여부를 선택할 수 있는 버튼들을 포함할 수 있다. 윈도우(1320)는 확인 버튼(1330) 및 취소 버튼(1340)을 포함할 수 있다.
사용자에 의해 확인 버튼(1330)이 클릭 또는 터치된 경우, 도 8을 참조하여 전술된 단계(825)가 수행될 수 있다. 사용자에 의해 취소 버튼(1340)이 클릭된 경우 도 8을 참조하여 설명된 2차 디바이스(350)로 이동하는 웹 객체를 처리하는 방법이 중단될 수 있다.
도 14는 일 예에 따른 2차 디바이스로 이동된 웹 객체를 조작하는 스크린을 나타낸다.
도 14에서, 2차 디바이스(350)의 스크린(1410)에는 이동된 웹 객체(1420)가 출력되었다. 이동된 웹 객체(1420)는 도 9를 참조하여 전술된 제3 객체(930)일 수 있다. 이동된 웹 객체(1420)는 입력 창(1430), 올리기 버튼(1440) 및 취소 버튼(1450)을 포함할 수 있다. 입력 창(1430), 올리기 버튼(1440) 및 취소 버튼(1450)은 각각 이동된 웹 객체(1420)에 의해 제공되는 기능, 동작, 함수 또는 메쏘드(method)로 간주될 수 있다.
도 8을 참조하여 전술된 단계(870)에서, 사용자는 이동된 웹 객체(1420)를 조작할 수 있다. 예컨대, 사용자는 입력 창(1430) 내에 웹 서비스에 대한 댓글을 입력할 수 있다. 사용자는 올리기 버튼(1440) 및 취소 버튼(1450)을 누름으로써 웹 객체가 제공하는 기능을 사용할 수 있다. 사용자가 올리기 버튼(1440)을 누르면, 2차 디바이스(350)의 처리부(620)는 송수신부(610)를 통해 입력 창(1430) 내에 입력된 댓글을 웹 서버(310)의 송수신부(410) 또는 주 디바이스(320)의 송수신부(510)로 전송할 수 있다. 사용자가 취소 버튼(1450)을 누르면, 2차 디바이스(350)의 처리부(620)는 송수신부(610)를 통해 댓글의 입력이 취소되었음을 나타내는 정보를 웹 서버(310)의 송수신부(410) 또는 주 디바이스(320)의 송수신부(510)로 전송할 수 있다.
도 15는 일 실시예에 따른 웹 객체의 이동 후 랜더링된 웹 페이지를 나타낸다.
도 15에서, 웹 객체가 2차 디바이스(350)로 이동한 후 대체된 이미지(1510)가 도시되었다. 이미지(1520)는 1) 웹 객체의 캡춰(1530), 2) 2차 디바이스(350)의 사용자의 명칭(1530), 3) 웹 객체의 타입의 명칭(1540) 및 4) 2차 디바이스(350)의 명칭(1550)를 포함할 수 있다.
도 7을 참조하여 전술된 단계(710)에서 웹 페이지가 로드된 후, 단계(718)에서 로드된 웹 페이지가 웹 브라우저 내에서 랜더링될 수 있다.
웹 객체가 2차 디바이스(350)로 이동된 후, 웹 객체가 웹 페이지 내에서 단순히 삭제된 후 웹 브라우저가 재-랜더링될 경우, 웹 객체가 차지하던 영역이 사라지기 때문에 웹 페이지의 전체적인 레이아웃에 있어서 문제가 발생할 수 있다. 따라서, 단계(760)에서 전술된 것처럼, 처리부(520)는 웹 페이지의 전체적인 레이아웃을 유지한 채 이동성을 지원하는 웹 객체를 제외하고 웹 페이지를 웹 브라우저 내에서 재-랜더링할 수 있다.
상기의 재-랜더링을 위해 단계(760)에서, 처리부(520)는 이동성을 지원하는 웹 객체의 영역을 이미지(1510)로 대체함으로써 웹 페이지의 전체적인 레이아웃을 유지할 수 있다. 웹 페이지 내에서 이미지(1510)가 차지하는 영역은 웹 객체가 이동전에 차지하던 영역에 대응할 수 있다.
이동성을 지원하는 웹 객체의 영역을 이미지(1510)로 대체하는 구체적인 방법이 하기에서 도 16을 참조하여 상세히 설명된다.
도 16은 일 실시예에 따른 예에 따른 웹 객체의 이동 후 웹 페이지를 랜더링하는 방법의 흐름도이다.
도 7을 참조하여 전술된 단계(760)는 하기의 단계들(1610 내지 1630)을 포함할 수 있다.
단계(1610)에서, 주 디바이스(320)의 처리부(520)는 웹 객체에 대응하는 영역을 이미지(1510)로서 캡춰할 수 있다.
단계(1612)에서, 주 디바이스(320)의 처리부(520)는 이미지(1510)에 2차 디바이스(350)의 사용자의 명칭(1530)을 추가할 수 있다.
단계(1614)에서, 주 디바이스(320)의 처리부(520)는 이미지(1510)에 웹 객체의 타입의 명칭(1540)을 추가할 수 있다.
단계(1616)에서, 주 디바이스(320)의 처리부(520)는 이미지(1510)에 2차 디바이스(350)의 명칭(1550)을 추가할 수 있다.
단계(1620)에서, 주 디바이스(320)의 처리부(520)는 웹 브라우저 내에서 웹 객체가 표시되지 않게 설정할 수 있다. 주 디바이스(320)의 처리부(520)는 웹 객체의 가시도(visibility) 스타일(style)의 값을 히든(hidden)으로 설정함으로써 웹 객체가 웹 브라우저 내에서 표시되지 않게 설정할 수 있다.
단계(1630)에서, 주 디바이스(320)의 처리부(520)는 웹 객체에 대응하는 영역에 이미지(1510)를 표시할 수 있다. 여기서, 웹 객체에 대응하는 영역은 웹 객체의 콘텐츠가 웹 브라우저 내에서 차지하는 부분일 수 있다.
도 17은 일 실시예에 따른 웹 서버가 웹 객체의 이동을 처리하는 방법의 흐름도이다.
웹 서버(310)는 이동성 등록 서버(330) 및 알림 서버(340)의 기능을 수행할 수 있다. 도 7, 도 8 및 도 10 등에서 이동성 등록 서버(330) 또는 알림 서버(340)에 의해 수행된 것으로 설명된 단계는 웹 서버(310)에 의해 수행될 수 있다.
도 7을 참조하여 전술된 단계(710)는 후술될 단계들(1710 내지 1735)을 포함할 수 있다. 예컨대, 단계(710)는 후술될 단계들(1710 내지 1735)에 의해 대체될 수 있다.
단계(1710)에서, 웹 서버(310)의 처리부(420)는 저장부(430)로부터 웹 페이지를 로드할 수 있다.
단계(1715)에서, 웹 서버(310)의 처리부(420)는 웹 페이지 내의 웹 객체들 중 이동성을 지원하는 웹 객체에 대한 이동성 정보를 생성할 수 있다. 상기의 이동성 정보는 스크립트 파일로서 생성될 수 있다. 상기의 이동성 정보는 이동성 태그 또는 인텐트 태그를 포함할 수 있다. 스크립트 파일은 웹 서버(310)의 주소 또는 이동성 등록 서버(330)의 주소와 같은 주 디바이스(320)가 정보를 획득하기 위해 필요한 정보를 포함할 수 있다.
단계(1720)에서, 웹 서버(310)의 처리부(420)는 웹 페이지의 헤더 내에 이동성을 지원하는 웹 객체에 대한 이동성 정보를 가리키는 링크를 삽입할 수 있다. 상기의 링크는 웹 서버(310) 내의 스크립트 파일을 가리킬 수 있다.
단계(1725)에서, 웹 서버(310)의 송수신부(410)는 링크가 삽입된 웹 페이지를 주 디바이스(320)의 송수신부(510)로 전송할 수 있다. 주 디바이스(320)의 처리부(520)는 송수신부(510)를 통해 링크가 삽입된 웹 페이지를 로드할 수 있다.
단계(1730)에서, 주 디바이스(320)의 송수신부(510)는 링크가 가리키는 웹 서버(310) 내의 개체의 요청을 웹 서버(310)의 송수신부(410)로 전송할 수 있다. 여기서, 개체는 웹 객체에 대한 이동성 정보를 포함하는 파일 또는 스크립트일 수 있다.
단계(1735)에서, 웹 서버(310)의 송수신부(410)는 요청된 개체를 주 디바이스(320)의 송수신부(510)로 전송할 수 있다.
전술된 단계들(1730 및 1740)을 통해, 주 디바이스(320)의 처리부(520)는 링크가 가리키는 개체를 추가적으로 로드함으로써 웹 객체에 대한 이동성 정보를 획득할 수 있다.
단계(1740)에서, 주 디바이스(320)의 처리부(520)는 개체가 웹 객체에 대한 이동성 정보를 나타내는지 여부를 확인할 수 있다. 만약, 개체가 웹 객체에 대한 이동성 정보를 나타내지 않으면, 처리부(520)는 개체를 이동성 정보와 무관한 스크립트 또는 파일로서 처리할 수 있다.
단계(1745)에서, 주 디바이스(320)의 처리부(520)는 주 디바이스(320)에 대한 정보를 획득할 수 있다. 여기서, 주 디바이스(320)에 대한 정보는 웹 서버(310)에 의해 제공되는 웹 서비스의 ID, 주 디바이스(320)의 IP 주소, 2차 디바이스(350)의 IP 주소 중 하나 이상을 포함할 수 있다.
단계(1750)에서, 주 디바이스(320)의 송수신부(510)는 1) 식별된 웹 객체의 이동성 지원에 대한 정보 및 2) 주 디바이스(320)에 대한 정보의 등록의 요청을 웹 서버(310)의 송수신부(410)로 전송할 수 있다. 웹 서버(310)의 처리부(420)는 주 디바이스(320)로부터 전송된 1) 식별된 웹 객체의 이동성 지원에 대한 정보 및 2) 주 디바이스(320)에 대한 정보 중 하나 이상을 등록할 수 있다. 단계(1750)는 도 7을 참조하여 전술된 단계(730)에 대응할 수 있다.
전술된 단계들(1740, 1745 및 1750)는 링크가 가리키는 개체에 의해 수행될 수 있다. 예컨대, 스크립트 파일은 웹 페이지 내에서 인텐트 기능을 동작시키기 위한 스크립트 라이브러리(library)일 수 있다. 주 디바이스(320)의 처리부(520)는 스크립트 라이브러리를 실행함으로써 전술된 단계들(1740, 1745 및 1750)을 수행할 수 있다. 스크립트 라이브러리에는 1) 개체가 웹 객체에 대한 이동성 정보를 나타내는지 여부를 확인하는 기능, 2) 웹 서버(310)의 정보를 획득하는 기능 및 3) 주 디바이스(320)에 대한 정보를 획득하는 기능이 기재될 수 있다.
단계(1760)에서, 웹 서버(310)의 송수신부(410)는 2차 디바이스(350)의 정보 및 2차 디바이스(350)의 능력의 정보를 2차 디바이스(350)의 송수신부(610)로부터 수신할 수 있다. 단계(1760)는 도 8을 참조하여 전술된 단계(812)에 대응할 수 있다.
단계(1765)에서, 웹 서버(310)의 처리부(420)는 수신된 2차 디바이스(350)의 정보 및 수신된 2차 디바이스(350)의 능력의 정보에 기반하여 2차 디바이스(350) 및 2차 디바이스(350)의 능력을 등록할 수 있다. 단계(1765)는 도 8을 참조하여 전술된 단계(814)에 대응할 수 있다.
단계(1770)에서, 웹 서버(310)의 송수신부(410)는 등록된 디바이스들 각각의 능력의 정보 또는 2차 디바이스(350)의 능력의 정보를 주 디바이스(320)의 송수신부(510)로 전송할 수 있다. 단계(1770)는 도 10을 참조하여 전술된 단계(1040)에 대응할 수 있다.
단계(1775)에서, 웹 서버(310)의 송수신부(410)는 2차 디바이스(350)의 송수신부(610)로부터 웹 객체를 이동하기 위한 정보의 요청을 수신할 수 있다. 단계(1775)는 도 8을 참조하여 전술된 단계(830)에 대응할 수 있다.
단계(1780)에서, 웹 서버(310)의 처리부(420)는 웹 객체를 이동하기 위한 정보를 생성할 수 있다. 여기서, 웹 객체를 이동하기 위한 정보는 웹 객체의 정보를 포함할 수 있으며, 웹 객체를 포함하는 웹 페이지를 포함할 수 있다. 단계(1780)는 도 8을 참조하여 전술된 단계(830)에 대응할 수 있다.
단계(1785)에서, 웹 서버(310)의 송수신부(410)는 웹 객체를 이동하기 위한 정보를 2차 디바이스(350)의 송수신부(610)로 전송할 수 있다. 단계(1785)는 도 8을 참조하여 전술된 단계(840)에 대응할 수 있다.
단계(1790)에서, 웹 서버(310)의 송수신부(410)는 2차 디바이스(350)의 송수신부(610)로부터 웹 객체에 관련된 데이터를 수신할 수 있다. 단계(1790)는 도 8을 참조하여 전술된 단계(870)에 대응할 수 있다.
단계(1795)에서, 웹 서버(320)의 처리부(420)는 웹 객체에 관련된 데이터에 기반하여 웹 객체를 갱신할 수 있다. 웹 서버(320)는 웹 객체에 관련된 데이터에 기반하여 웹 페이지를 갱신할 수 있다. 예컨대, 웹 객체가 도 9를 참조하여 전술된 제3 객체(930)이고, 웹 객체에 관련된 데이터가 웹 서비스에 대한 댓글인 경우, 처리부(420)는 상기의 댓글을 웹 페이지에 추가할 수 있다. 이후 단계(710)가 반복될 때, 웹 서버(320)의 송수신부(410)는 주 디바이스(320)의 송수신부(510)로 갱신된 웹 페이지를 전송할 수 있다.
도 18은 일 예에 따른 인텐트의 호출을 위해 사용되는 코드를 나타낸다.
전술된 것과 같이, 주 디바이스(320)는 2차 디바이스(350)가 제공하는 인텐트를 호출함으로써 식별된 웹 객체를 2차 디바이스(350)로 이동시킬 수 있다.
도 18의 코드(1800)는 인텐트의 호출을 위해 사용되는 코드의 일 예일 수 있다.
제1 행(1810)은 생성된 인텐트 객체를 변수 "intent"에 할당(assign)함을 나타낼 수 있다.
제2 행(1820)은 생성된 인텐트 객체의 액션이 "http://webintents.org/edit"임을 나타낼 수 있다. 즉, 도 18에서, 인텐트의 액션은 "http://webintent.org"에서 제공되는 편집 액션인 것으로 도시되었다. 인텐트의 액션은 편집 외에도 공유(share), 뷰(view), 픽(pack), 구독(subscribe) 및 저장(save)이 있을 수 있다.
제3 행(1830)은 액션의 대상인 객체의 타입을 나타낼 수 있다. 즉, 도 18에서 인텐트의 액션은 웹 객체 중 "html5" 타입의 편집인 것으로 도시되었다.
제4 행(1840)은 액션이 로드될 지점(point)를 나타낼 수 있다. 도 18에서, 액션은 "http://kaisqure.kaist.ac.kr/pages/commentBox.php?cid=c1234&textBoxType-multipleLine"에서 수행되는 것으로 도시되었다.
2차 디바이스(250)는 "http://kaisqure.kaist.ac.kr/pages/commentBox.php?cid=c1234&textBoxType-multipleLine"에서 "webObject/html5" 개체에 대한 편집을 수행할 수 있다.
제5행(1850)은 생성된 인텐트를 호출하는 코드일 수 있다.
도 19는 일 예에 따른 인텐트의 등록을 위해 사용되는 코드를 나타낸다.
도 19의 코드(1900)에서, "<intent" 및 "/>"은 각각 인텐트의 등록을 위해 사용되는 코드의 시작 및 끝을 나타낼 수 있다. "<intent" 및 "/>"는 각각 인텐트의 등록을 위한 인텐트 태그의 시작 및 끝을 나타낼 수 있다. 인텐트 태그는 "<intent" 로부터 "/>"까지의 문자열일 수 있다.
웹 서버(310)에 의해 제공되는 웹 페이지는 "<intent>" 태그를 사용함으로써 특정한 인텐트의 액션 및 인텐트의 타입에 대한 핸들링 기능(handling functionality)을 제공하는 것으로 웹 페이지 자신을 선언적으로(declaratively) 마크(mark)할 수 있다.
도 19에서 도시된 "action(액션)", "type(타입)", "href(하이퍼텍스트 참조)", "title(타이틀)" 및 "disposition(기질)"은 각각 문서 객체 모델 문자열(Document Object Model String; DOMString) 타입의 속성(attribute)일 수 있다.
제1 행(1910)의 액션 속성은 서비스가 지원하는 행위(behavior) 클래스(behavior)를 가리키는 문자열(string)일 수 있다. 상기의 문자열은 불투명한(opaque) 문자열일 수 있다.
액션 속성의 값은 액션이 전달되는 URI 또는 URL일 수 있다. 예컨대, 액션 속성의 값은 인텐트 호출이 적용되는 2차 디바이스(350)의 어플리케이션을 가리킬 수 있다.
제2 행(1920)의 타입 속성은 인텐트의 페이로드(payload) 데이터의 타입을 명세하는 문자열일 수 있다. 타입 속성의 값은 HTML5 태그들 중 하나일 수 있다.
타입 속성은 공백에 의해 분리된 타입 명세자(specifier)들의 목록일 수 있다. 타입 명세자들이 1) 마임(MIME) 타입 또는 2) "*/*" 또는 "*"과 같은 마임 와일드카드(wildcard) 타입으로서 파스(parse)될 경우, 타입 명세자들은 마임 타입 또는 마임 와일드카드 타입으로서 해석(interpret)될 수 있다. 타입 명세자들이 마임 타입 및 마임 와일드카드 타입으로서 파스되지 않은 경우, 티입 명세자들은 문자열 리터럴(literal) 타입 명세자로서 해석될 수 있다. 도 19에서, 타입 속성의 값은 텍스트(text)인 것으로 도시되었다.
제3 행(1930)의 하이퍼텍스트 참조 속성의 값은 서비스의 URI일 수 있다. 하이퍼텍스트 참조 속성의 값은 인텐트가 호출될 때 로드되어야 하는 소스의 URI 또는 URL일 수 있다. 하이퍼텍스트 참조 속성의 값은 완전한(fully qualified) URI일 수 있다. 만약, 하이퍼텍스트 참조 속성이 존재하지 않으면 서비스의 URI는 인텐트의 등록을 위한 태그가 발견된 URI일 수 있다. 여기서, 인텐트의 등록을 위한 태그가 발견된 URI는 인텐트 태그를 포함하는 웹 페이지의 URI일 수 있다.
제4 행(1940)의 타이틀 속성의 값은 사용자에게 제공되는 서비스를 가리키는 사람이 읽을 수 있는 타이틀일 수 있다. 타이틀 속성의 값은 사용자들이 읽을 수 있는 웹 객체의 명칭일 수 있다. 만약, 타이틀 속성이 존재하지 않으면 등록된 서비스의 페이지의 타이틀이 서비스의 타이틀로서 사용될 수 있다.
제5 행(1950)의 기질 속성은 인텐트의 호출의 컨텍스트가 어디에서 열려질것인가를 서비스에 의해 선택될 수 있게 할 수 있다. 사용자의 디바이스는 웹 페이지에 의해 기질 속성의 값이 변경되는 것을 허용하지 않을 수 있다.
기질 속성의 값들 중 "window"는 서비스가 웹 브라우저의 새 탭(tab) 또는 윈도우 콘텍스트에서 열린다는 것을 의미할 수 있다. 기질 속성의 값들 중 "inline"은 사용자의 디바이스가 서비스를 오버래핑가능한(overlappable) 방식으로 클라이언트 페이지의 컨텍스트에 직접적으로 관련된(related) 컨텍스트 내에서 연다는 것을 의미할 수 있다. 기질 속성은 필수적인 속성이 아닐 수 있다. 기질 속성이 부재인 경우, "window" 값이 디폴트로서 적용될 수 있다.
도 20은 일 예에 따른 주 디바이스의 정보를 나타내는 페이지이다.
도 7을 참조하여 전술된 단계(730)의 1) 식별된 웹 객체의 이동성 정보 및 2) 주 디바이스(320)에 대한 정보는 XML 문서(2000)로서 생성될 수 있다.
XML 문서(2000)는 주 디바이스(320)에 대한 정보 및 식별된 웹 객체의 이동성 정보를 포함하는 파일의 일 예이다. 말하자면, 단계(730)에서, 주 디바이스(320)의 처리부(520)는 1) 식별된 웹 객체의 이동성 정보 및 2) 주 디바이스(320)에 대한 정보를 나타내는 XML 문서(2000)를 생성할 수 있다. 주 디바이스(320)의 송수신부(510)는 생성된 XML 문서(2000)를 이동성 등록 서버(330) 또는 웹 서버(310)의 송수신부(410)로 전송할 수 있다.
XML 문서(2000)는 주 디바이스(320)에 대한 정보로서, 주 디바이스(320)의 타입의 정보(2010)을 포함할 수 있다. 또한, XML 문서(2000)는 식별된 웹 객체의 이동성 정보로서 인텐트의 등록 정보(2020)를 포함할 수 있다. 상기의 인텐트의 등록 정보(2020)의 구체적인 내용은 도 19를 참조하여 전술되었다. 인텐트의 등록 정보(2020)는 복수 개일 수 있다.
또한, XML 문서(2000)는 XML의 네임 스페이스를 나타내는 정보 및 XML 명세(specification)의 버전을 나타내는 정보 등을 포함할 수 있다.
도 21은 일 예에 따른 2차 디바이스를 발견하는 방법의 흐름도이다.
도 7을 참조하여 전술된 주 디바이스(320)가 웹 객체를 이동시키는 방법은 후술될 단계들(2110 및 2120)을 포함할 수 있다. 예컨대, 후술될 단계들(2110 및 2120)은 도 7을 참조하여 전술된 단계(735)의 이후에 수행될 수 있고, 도 7을 참조하여 전술된 단계(750)의 이전에 수행될 수 있다.
2차 디바이스(350)를 발견하는 방법은 도 10을 참조하여 전술된 단계(1010)을 대체하여 수행될 수 있다. 즉, 주 디바이스(320)는 등록된 디바이스들의 목록을 수신하는 대신 직접 2차 디바이스(350)를 검색할 수 있다.
하기의 단계들(2010 및 2120)에서, 2차 디바이스(350)는 어플리케이션 서버로 대체될 수 있다.
단계(2110)에서, 주 디바이스(320)의 송수신부(510)는 발견(discovery) 메시지를 2차 디바이스(350)의 송수신부(610)로 전송할 수 있다. 상기의 전송은 브로드캐스트(broadcast)를 통한 전송일 수 있다.
하기의 표 1의 코드는 발견 메시지의 일 예일 수 있다.
[ Discovery Message ]
D-SEARCH * HTTP/1.1
Host:192.168.126.3:2460
UDD:urn:schemas-kaist-org:device:WebIntents:1
LDD:discover
MaxRetry:3
단계(2120)에서, 2차 디바이스(350)가 발견 메시지를 수신하면, 2차 디바이스(350)의 송수신부(610)는 발견 메시지에 대응하는 디바이스 응답을 주 디바이스(320)의 송수신부(510)로 전송할 수 있다.
하기의 표 2의 코드는 디바이스 응답의 일 예일 수 있다.
[Device Response]
HTTP /1.1 200 OK
UDD:urn:schemas-kaist-org:device:WebIntents:1
Host:192.168.126.3:2460
LDD:urn:http://mnlab.kaist.ac.kr/userID/dke00988-slk48wej-3jfna-87329::urn:schemas-kaist-org:device:WebIntents:1
SERVER: Windows NT/5.0
LOCATION:http:179.143.248.17/5432/
Content-Length: 0
전술된 단계들(2110 및 2120)에서, 발견 메시지를 수신하고, 디바이스 응답을 전송한 2차 디바이스(350)는 복수 개일 수 있다. 등록된 디바이스들의 목록(960)은 복수 개의 2차 디바이스들로부터 전송된 발견 메시지들 또는 상기의 발견 메시지들 중 일부를 의미할 수 있다.
도 22는 일 예에 따른 2차 디바이스의 능력을 나타내는 페이지이다.
도 10을 참조하여 전술된 단계(1040)의 2차 디바이스(350)의 능력의 정보는 XML 문서(2200)로서 생성될 수 있다. XML 문서(2200)는 웹 인텐트 디바이스의 능력을 설명하는 웹 인텐트 디바이스 설명을 나타낼 수 있다.
XML 문서(2200)는 2차 디바이스(350)의 정보 및 2차 디바이스(350)의 능력의 정보를 포함하는 파일의 일 예이다.
예컨대, 단계(1042)에서, 2차 디바이스(350)의 처리부(620)는 2차 디바이스(350)의 정보 및 2차 디바이스(350)의 능력을 나타내는 XML 문서(2200)를 생성할 수 있다. 2차 디바이스(350)의 송수신부(610)는 생성된 XML 문서(2200)를 주 디바이스(320)의 송수신부(510)로 전송할 수 있다.
XML 문서(2200)는 2차 디바이스에 대한 범용 설명(2210), 2차 디바이스의 명칭(2220), 2차 디바이스의 타입(2230), 2차 디바이스가 지원하는 인텐트(2240) 중 하나 이상을 포함할 수 있다. 2차 디바이스가 지원하는 인텐트(2240)는 복수 개일 수 있다.
또한, XML 문서(2200)는 XML의 네임 스페이스를 나타내는 정보 및 XML 명세(specification)의 버전을 나타내는 정보 등을 포함할 수 있다.
도 23은 일 실시예에 따른 푸쉬 서버의 블록도이다.
푸쉬 서버(2300)는 송수신부(2310) 및 처리부(2320)를 포함할 수 있다.
송수신부(2310)는 네크워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인테페이스 포트 등와 같은 하드웨어 모듈일 수 있고, 네트워크 디바이스 드라이버 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다. 송수신부(2310)는 푸쉬 서버(2300)로 전송되는 정보 또는 데이터를 수신할 수 있고, 푸쉬 서버(2300)가 전송하는 정보 또는 데이터를 송신할 수 있다. 또한, 송수신부(2310)는 사용자로부터 입력되는 신호 또는 정보를 수신할 수 있다.
처리부(2320)는 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어일 수 있다. 처리부(2320)는 푸쉬 서버(2300)의 동작에 필요한 동작을 수행할 수 있다.
도 24는 일 실시예에 주 디바이스가 푸쉬 서버를 이용하여 웹 객체를 이동하는 방법의 신호 흐름도이다.
도 7을 참조하여 전술된 단계(750)는 후술될 단계들(2410 내지 2460)로 대치될 수 있다. 웹 객체의 이동의 요청은 알림 서버(340)가 아닌 푸쉬 서버(2300)을 이용하여 수행될 수 있다. 단계들(2410 내지 2460)은 도 7을 참조하여 전술된 주 디바이스(320)가 웹 객체를 이동시키는 방법에 통합될 수 있다.
단계(2410)에서, 주 디바이스(320)의 처리부(520)는 송수신부(510)를 통해 식별된 웹 객체가 2차 디바이스(250)로 이동될 수 있는 경우 푸쉬 서버(2300)에게 2차 디바이스(350)로의 웹 객체의 이동을 푸쉬할 수 있다. 푸쉬 서버(2300)의 송수신부(2310)는 2차 디바이스(350)로의 웹 객체의 이동의 푸쉬를 수신할 수 있다.
식별된 웹 객체가 복수 개일 경우, 도 12를 참조하여 전술된 단계(1230)에서 복수 개의 식별된 웹 객체들 중 선택된 웹 객체가 인식될 수 있다. 이때, 단계(2410)에서, 주 디바이스(320)의 처리부(520)는 복수 개의 식별된 웹 객체들 중 선택된 웹 객체의 2차 디바이스(350)로의 이동의 요청을 푸쉬할 수 있다.
단계(2420)에서, 푸쉬 서버(2300)의 처리부(2320)는 송수신부(2310)를 통해 2차 디바이스(350)의 URL 또는 어플리케이션을 호출할 수 있다. 상기의 호출은 2차 디바이스(350)가 제공하는 인텐트의 호출일 수 있다. 말하자면, 2차 디바이스(350)가 제공하는 인텐트는 푸쉬 서버(2300)에 의해 가해진 푸쉬에 의해 호출될 수 있다.
단계(2430)에서, 푸쉬 서버(2300)의 송수신부(2310)는 상기의 호출에 대한 응답을 수신할 수 있다. 말하자면, 푸쉬는 푸쉬 서버(2300)가 2차 디바이스(350)의 URL 또는 어플리케이션을 호출하고, 호출에 대한 응답을 수신하는 것일 수 있다.
단계(2440)에서, 주 디바이스(320)의 송수신부(510)는 푸쉬 서버(2300)의 송수신부(2310)로부터 푸쉬에 대한 응답을 수신할 수 있다.
단계(2450)에서, 주 디바이스(320)의 송수신부(510)는 2차 디바이스(350)의 송수신부(610)로부터 웹 페이지의 요청을 수신할 수 있다.
단계(2460)에서, 주 디바이스(320)의 송수신부(510)는 요청된 웹 페이지를 2차 디바이스(350)의 송수신부(610)로 전송할 수 있다.
전술된 단계들은 단계의 기능을 수행하는 컴퓨터 프로그램 코드를 나타낼 수 있다. 전술된 단계들 각각은 단계의 실행 주체가 프로그램이 기록된 기록 매체의 코드를 실행함으로써 수행될 수 있다. 여기서, 실행 주체는 웹 서버(310), 주 디바이스(320), 이동성 등록 서버(330), 연결 서버(340) 또는 2차 디바이스(350)일 수 있다. 기록 매체는 특정한 실행 주체에 의해 수행되는 단계들에 대응하는 코드들을 포함할 수 있다. 실행 주체는 기록 매체 내의 코드들을 실행함으로써 단계들을 수행할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
310: 주 디바이스
320: 웹 서버
330: 이동성 등록 서버
340: 알림 서버
350: 2차 디바이스

Claims (13)

  1. 삭제
  2. 주 디바이스가 웹 객체가 이동한 웹 페이지를 랜더링하는 방법에 있어서,
    웹 페이지를 로드하는 단계;
    상기 웹 페이지를 웹 브라우저 내에서 랜더링하는 단계;
    상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키는 단계; 및
    상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 단계
    를 포함하고,
    상기 재-랜더링하는 단계는,
    상기 이동성을 지원하는 웹 객체의 영역을 이미지로 대체함으로써 상기 웹 페이지의 전체적인 레이아웃을 유지하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  3. 제2항에 있어서,
    상기 웹 페이지 내에서 상기 이미지가 차지하는 영역은 상기 웹 객체가 이동전에 차지하던 영역에 대응하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  4. 주 디바이스가 웹 객체가 이동한 웹 페이지를 랜더링하는 방법에 있어서,
    웹 페이지를 로드하는 단계;
    상기 웹 페이지를 웹 브라우저 내에서 랜더링하는 단계;
    상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키는 단계; 및
    상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 단계
    를 포함하고,
    상기 재-랜더링하는 단계는,
    상기 웹 브라우저 내에서 상기 웹 객체가 표시되지 않게 하는 단계; 및
    상기 웹 객체에 대응하는 영역에 이미지를 표시하는 단계
    를 포함하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  5. 제4항에 있어서,
    상기 영역은 상기 웹 객체의 콘텐츠가 상기 웹 브라우저 내에서 차지하는 부분인, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  6. 제4항에 있어서,
    상기 웹 객체는 상기 웹 객체의 가시도(visibility) 스타일(style)의 값이 히든(hidden)으로 설정됨으로써 상기 웹 브라우저 내에서 표시되지 않는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  7. 제4항에 있어서,
    상기 웹 객체에 대응하는 영역을 상기 이미지로서 캡춰하는 단계
    를 더 포함하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  8. 제7항에 있어서,
    상기 이미지에 상기 2차 디바이스의 사용자의 명칭을 추가하는 단계
    를 더 포함하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  9. 제7항에 있어서,
    상기 이미지에 상기 2차 디바이스의 명칭을 추가하는 단계
    를 더 포함하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  10. 제7항에 있어서,
    상기 이미지에 상기 웹 객체의 타입을 추가하는 단계
    를 더 포함하는, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  11. 주 디바이스가 웹 객체가 이동한 웹 페이지를 랜더링하는 방법에 있어서,
    웹 페이지를 로드하는 단계;
    상기 웹 페이지를 웹 브라우저 내에서 랜더링하는 단계;
    상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키는 단계; 및
    상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 단계
    를 포함하고,
    상기 주 디바이스 및 상기 2차 디바이스는 상기 웹 페이지를 제공하는 웹 서비스의 N-스크린 디바이스들인, 웹 객체가 이동한 웹 페이지의 랜더링 방법.
  12. 주 디바이스가 웹 객체가 이동한 웹 페이지를 랜더링하는 방법을 제공하는 프로그램이 기록된 기록 매체에 있어서,
    웹 페이지를 로드하는 코드;
    상기 웹 페이지를 웹 브라우저 내에서 랜더링하는 코드;
    상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키는 코드; 및
    상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 코드
    를 포함하고,
    상기 재-랜더링하는 코드는,
    상기 이동성을 지원하는 웹 객체의 영역을 이미지로 대체함으로써 상기 웹 페이지의 전체적인 레이아웃을 유지하는 것
    을 특징으로 하는 프로그램이 기록된 전자 장치에서 판독 가능한 기록 매체
  13. 웹 객체가 이동한 웹 페이지를 랜더링하는 주 디바이스에 있어서,
    웹 페이지를 로드하는 송수신부; 및
    상기 웹 페이지를 웹 브라우저 내에서 랜더링하고, 상기 송수신부를 통해 상기 웹 페이지 내에서 이동성을 지원하는 웹 객체를 2차 디바이스로 이동시키고, 상기 웹 페이지의 전체적인 레이아웃(layout)을 유지한 채 상기 이동성을 지원하는 앱 객체를 제외하고 상기 웹 페이지를 상기 웹 브라우저 내에서 재-랜더링하는 처리부
    를 포함하고,
    상기 처리부는,
    상기 이동성을 지원하는 웹 객체의 영역을 이미지로 대체함으로써 상기 웹 페이지의 전체적인 레이아웃을 유지하는 것
    을 특징으로 하는, 주 디바이스.
KR1020120080075A 2012-07-23 2012-07-23 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치 KR101393140B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120080075A KR101393140B1 (ko) 2012-07-23 2012-07-23 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치
US13/624,140 US9442687B2 (en) 2012-07-23 2012-09-21 Method and apparatus for moving web object based on intent

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120080075A KR101393140B1 (ko) 2012-07-23 2012-07-23 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140013353A KR20140013353A (ko) 2014-02-05
KR101393140B1 true KR101393140B1 (ko) 2014-05-12

Family

ID=50263800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120080075A KR101393140B1 (ko) 2012-07-23 2012-07-23 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101393140B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120079416A (ko) * 2011-01-04 2012-07-12 삼성전자주식회사 웹 페이지의 콘텐츠 서비스 공유 방법, 장치 및 이를 제공하는 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120079416A (ko) * 2011-01-04 2012-07-12 삼성전자주식회사 웹 페이지의 콘텐츠 서비스 공유 방법, 장치 및 이를 제공하는 시스템

Also Published As

Publication number Publication date
KR20140013353A (ko) 2014-02-05

Similar Documents

Publication Publication Date Title
US9442687B2 (en) Method and apparatus for moving web object based on intent
US20240168616A1 (en) Information processing terminal and control method
US11252252B2 (en) Installable web applications
US10049161B2 (en) Information processing apparatus, method of controlling the same, and storage medium
US9658864B2 (en) Method and device for creation of integrated user interface
CN107943547B (zh) 多服务集成方法、装置、智能终端、服务器和操作系统
US9311281B2 (en) Methods for facilitating web page image hotspots and devices thereof
US20140026067A1 (en) Method and apparatus for processing movement of web object based on intent
JP2015505627A (ja) クラウドコンテンツの認識
US9888059B2 (en) Methods and systems for switching between software applications
US11366848B2 (en) Information processing system, information processing method, and operator terminal
US10795633B2 (en) Desktop sharing method and mobile terminal
TWI657344B (zh) 網頁翻譯系統、網頁翻譯裝置、及網頁翻譯方法
US20050024355A1 (en) Selecting items displayed on respective areas on a screen
JP2013168129A (ja) 情報処理システム、データ提供装置、電子機器、情報処理方法、データ提供方法、データ取得方法、及びプログラム
US20150222712A1 (en) Information processing terminal and control method
KR101393140B1 (ko) 웹 객체가 이동한 웹 페이지를 재-랜더링하기 위한 방법 및 장치
KR101401236B1 (ko) 인텐트에 기반하여 이동된 웹 객체를 처리하는 방법 및 장치
KR101414844B1 (ko) 푸쉬를 사용하여 웹 객체를 이동시키는 방법 및 장치
KR101414900B1 (ko) 인텐트에 기반하여 웹 객체를 이동시키는 방법 및 장치
KR101414862B1 (ko) 웹 객체의 이동성을 지원하는 웹 서비스 방법 및 장치
JP6128503B1 (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
JP2022179670A (ja) 情報処理端末、制御方法、およびオペレーティングシステム
JP2018028927A (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム
JP2017199357A (ja) 電子マニュアルに関連するサービスを提供するためのプログラム、サーバおよびシステム

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
FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190507

Year of fee payment: 6