KR20140037842A - 마크업 기반의 문서에서의 정보에 근거한 데이터 분할 - Google Patents

마크업 기반의 문서에서의 정보에 근거한 데이터 분할 Download PDF

Info

Publication number
KR20140037842A
KR20140037842A KR1020137030221A KR20137030221A KR20140037842A KR 20140037842 A KR20140037842 A KR 20140037842A KR 1020137030221 A KR1020137030221 A KR 1020137030221A KR 20137030221 A KR20137030221 A KR 20137030221A KR 20140037842 A KR20140037842 A KR 20140037842A
Authority
KR
South Korea
Prior art keywords
markup language
document
language document
display
remote
Prior art date
Application number
KR1020137030221A
Other languages
English (en)
Other versions
KR101962980B1 (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 마이크로소프트 코포레이션
Publication of KR20140037842A publication Critical patent/KR20140037842A/ko
Application granted granted Critical
Publication of KR101962980B1 publication Critical patent/KR101962980B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/149Adaptation of the text data for streaming purposes, e.g. Efficient XML Interchange [EXI] format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams

Abstract

본 발명에 따르면, 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고 제 1 부분과의 상호작용을 위해 제 2 디바이스 상에 상기 마크업 언어 문서의 제 2 부분을 디스플레이하는 하나 이상의 기술 및/또는 시스템이 제공된다(예로서, 스마트폰이 별개의 모니터상에서의 비디오 재생을 제어할 수 있게 한다). 마크업 언어 문서는 개발자에 의해 생성될 수 있으며, 문서의 제 1 부분과 제 2 부분이 원격 디바이스 태그에 의해 기술된다. 원격 디바이스 태그는 문서를 분석하는 제 1 디바이스에게 제 2 부분을 제 2 디바이스(예컨대, 원격 디바이스)로 전송하라고 명령하도록 사용될 수 있다. 문서의 제 1 부분은 제 1 디바이스에 의해 렌더링될 수 있고, 제 1 디바이스와 연결된 디스플레이 상에 디스플레이될 수 있으며, 제 2 부분의 렌더링된 버전은 제 2 디바이스와 연결된 디스플레이에 의해 디스플레이될 수 있다.

Description

마크업 기반의 문서에서의 정보에 근거한 데이터 분할{INFORMED PARTITIONING OF DATA IN A MARKUP-BASED DOCUMENT}
컴퓨팅 환경에서, 문서 내에 제공되는 텍스트 및 그 텍스트가 어떻게 디스플레이될 것인지를 개괄적으로 기술하는 주석에 적어도 부분적으로 기초하여 디스플레이되는 문서를 생성하도록 마크업 언어(markup language)가 저자(author)에 의해 사용될 수 있다. 예를 들어, 텍스트 특성이 포맷 명령, 프레젠테이션 명령, 절차상 명령 및/또는 기술적 마킹을 포함하는 주석과 함께 문서에 포함될 수 있다. 이러한 예시에서, 텍스트 및 주석은 텍스트, 이미지, 매체, 링크 및 그 외의 열람가능한 구성요소들을 포함할 수 있는 문서의 열람가능한 또는 프로세스 가능한 버전을 생성하도록 사용될 수 있다. 마크업 언어는 워드 프로세싱 문서(예컨대, 프레젠테이션 마크업을 사용), 매크로 또는 서브루틴 문서(예컨대, 절차상 마크업을 사용) 및 웹 기반의 문서(예컨대, 기술적 마크업을 사용)과 같은 다양한 문서 타입에 대해 사용될 수 있다.
본 요약부는 아래의 상세한 설명에서 추가로 설명되는 개념들의 선택을 단순화된 형식으로 소개하고자 제공되었다. 본 요약부는 청구사항의 중요 요소 또는 기본 특성을 확인하기 위한 것이 아니며, 청구사항의 범주를 한정하도록 사용되는 것도 아니다.
일부 경우에서 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고 제 2 디바이스 상에 마크업 언어 문서의 제 2 부분을 디스플레이하는 것이 요구될 수 있다. 예를 들어, 모니터 상에는 대화형(interactive) 콘텐츠(예컨대, 비디오)를 디스플레이하면서 스마트폰 상에는 콘텐츠에 대한 하나 이상의 제어(예컨대, 재생, 정지, 일시정지, 되감기 등)가 제시되길 원할 수 있다. 이러한 방식으로, 사용자는 제 1 디바이스 상에서 마크업 언어 문서의 제 1 부분에 상응하는 콘텐츠를 볼 수 있고 제 2 디바이스 상에서 마크업 언어 문서의 제 2 부분에 상응하는 제어를 볼 수 있는데, 이때 제 2 부분/제 1 부분은 각각 제 1 부분/제 2 부분과 상호작용할 수 있다.
그러나, 제 1 디바이스 상에서 호스팅된 웹 기반의 문서의 제 1 부분을 렌더링하고 제 2 디바이스 상에서 호스팅된 웹 기반의 문서의 제 2 부분을 렌더링하고자 하는 웹 브라우저와 같은 일부 시나리오에서는 위 목적을 달성하는 것이 문제가 될 수 있다. 예를 들어, 현재의 웹 브라우저는 전형적으로 (예로서, 프레임과 같은) 탑-레벨 문서 내의 서브 영역 또는 (예로서, "팝업(들)"과 같은) 별개의 탑-레벨 윈도우로서 동일한 웹 브라우저 내에 마크업 언어 웹 기반 문서의 다양한 부분들이 동시에 존재하길 요구한다. 그러나 이러한 부분들이 공존하고자 할 때 비효율성이 발생할 수 있으며, 그 결과로서 추가적인 컴퓨팅 및/또는 네트워킹 리소스가 불필요하게 소모될 수 있다. 또한, 단일 마크업 언어 문서에 서로 다른 디바이스에 대한 콘텐츠를 제공하는 것이 불가능할 수 있다. 예를 들어, 종래의 기술은 설령 콘텐츠가 관련되어 있다고 해도 일반적으로 서로 다른 디바이스에 대해서 각각의 마크업 언어 문서를 요구한다. 그럼에도 별개로 생성되어야만 하는 문서들 사이에 적어도 실질적인 오버랩이 존재할 수 있기 때문에 이는 추가적인 개발과 다른 리소스를 필요로 한다는 것이 이해될 수 있다.
따라서, 제 1 디바이스 상에서 마크업 언어 문서의 제 1 부분이 디스플레이되고 제 2 디바이스 상에서 마크업 언어 문서의 제 2 부분이 디스플레이될 수 있게 하되, 제 1 부분/제 2 부분이 제 2 부분/제 1 부분과 상호작용할 수 있는 하나 이상의 기술 및/또는 시스템이 개시된다. 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고, 제 1 부분과 상호작용하기 위해서 제 2 디바이스 상에 마크업 언어 문서의 제 2 부분을 디스플레이하는 일 실시예에서, 마크업 언어 문서는 제 1 디바이스를 사용하여 분석된다. 또한, 분석에 의해서 적어도 부분적으로 식별되는 마크업 언어 문서의 제 1 부분은 제 1 디바이스를 사용하여 렌더링될 수 있으며, 이때 렌더링은 제 1 디바이스와 연결된 디스플레이 상에 제 1 부분을 디스플레이하기 위해 사용될 수 있다. 또한, 마크업 언어 문서의 제 2 부분은 적어도 부분적으로 분석에 의해 식별된 마크업 언어 문서의 원격 디바이스 태그를 이용하여 제 2 디바이스로 전송될 수 있다. 원격 디바이스 태그는 제 2 디바이스에 의해 디스플레이하기 위해 전송될 수 있는 제 2 부분을 기술할 수 있다.
전술된 내용과 관련된 결말을 달성하기 위해서, 아래의 설명과 첨부된 도면이 소정의 예시적인 측면과 구현물을 기술한다. 이들은 하나 이상의 측면들이 사용될 수 있는 몇몇 다양한 방식들을 나타낸다. 본 발명의 다른 측면들, 장점들 및 신규한 특성들이 첨부된 도면과 함께 고려되었을 때 아래의 상세한 설명으로부터 명백해질 것이다.
도 1은 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고 제 1 부분과 상호작용하기 위해 제 2 디바이스 상에 마크업 언어 문서의 제 2 부분을 디스플레이하는 예시적인 방법을 도시한 순서도.
도 2는 본 명세서에 기술된 하나 이상의 기술의 하나 이상의 부분이 구현될 수 있는 예시적인 실시예를 도시한 순서도.
도 3은 본 명세서에 기술된 하나 이상의 기술의 하나 이상의 부분이 구현될 수 있는 예시적인 실시예를 도시한 순서도.
도 4(a)는 제 1 및 제 2 부분을 포함하는 마크업 문서의 예시적인 실시예를 도시한 도면.
도 4(b)는 본 명세서에 설명된 하나 이상의 기술이 구현될 수 있는 환경의 예시적인 실시예를 도시한 도면.
도 5는 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고 제 1 부분과의 상호작용을 위해 제 2 디바이스 상에 마크업 언어 문서의 제 2 부분을 디스플레이하는 예시적인 시스템을 도시한 구성도.
도 6은 본 명세서에 기술된 하나 이상의 시스템이 구현될 수 있는 예시적인 실시예를 도시한 구성도.
도 7은 본 명세서에 기술된 하나 이상의 규정을 구현하도록 구성된 프로세서 실행가능한 명령을 포함하는 예시적인 컴퓨터 판독가능한 매체를 도시한 도면.
도 8은 본 명세서에 기술된 하나 이상의 규정이 구현될 수 있는 예시적인 컴퓨팅 환경을 도시한 도면.
본 발명의 청구사항이 도면을 참조로 하여 설명될 것이며, 도면 전반에 걸쳐 동일한 요소들에 대해서는 동일한 참조번호가 사용되었다. 아래에서, 본 발명의 청구사항에 대한 철저한 이해를 제공하도록 설명을 위한 다수의 특정한 세부사항들이 기술되었다. 그러나, 청구사항이 이러한 특정한 세부사항들 없이도 실시될 수 있음이 명백하다. 다른 예시에서, 청구사항에 대한 설명을 용이하게 하도록 구조 및 디바이스가 블록도로 도시되었다.
본 발명에 따르면, 서로 다른 두 개의 디바이스 상에서 문서의 일부분을 디스플레이하는 데에 하나의 문서만을 사용하는 방법이 고안될 수 있다. 예를 들어, 두 개의 개별적인 디바이스 상에서 원하는 콘텐츠를 디스플레이하기 위해서 두 개의 개별적인 문서를 기록할 필요 없이, 웹페이지 개발자는 문서의 콘텐츠를 분할하기 위해 원격 디바이스 태그를 포함하는 단일 문서만을 기록할 수 있다. 이러한 방식으로, 예를 들어 문서의 콘텐츠의 한 부분이 하나의 디바이스 상에서 디스플레이될 수 있고, 콘텐츠의 다른 부분이 다른 디바이스 상에서 디스플레이될 수 있다. 단지 하나의 문서의 콘텐츠를 분할함으로써, 예를 들어 웹 개발자가 보다 쉽고 효율적으로 하나의 디바이스가 다른 디바이스 상의 콘텐츠와 상호작용하는 것을 가능하게 하는 콘텐츠를 생성할 수 있게 한다.
도 1은 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고 제 1 부분과의 상호작용을 위해 제 2 디바이스 상에 마크업 언어 문서의 제 2 부분을 디스플레이하는 예시적인 방법(100)을 도시한 순서도이다. 예시적인 방법(100)은 단계(102)에서 시작하여 단계(104)에서 제 1 디바이스를 사용하여 마크업 언어 문서를 분석하는 것을 포함한다. 예를 들어, 문서를 분석하는 것은 문서의 디스플레이 가능한 포맷을 렌더링하기 위해 문서 내에 포함된 명령을 수행하도록 문서의 주석 판독, 콘텐츠 마크업, 정보 포맷 등을 수행하는 것을 포함할 수 있다. 예시로서, 웹 브라우저 엔진은 웹 브라우저에서 디스플레이될 수 있는 웹페이지의 하나 이상의 부분의 하나 이상의 이미지를 렌더링하기 위해서 웹 기반의 문서를 판독하도록 사용될 수 있다.
단계(106)에서, 분석 결과에 적어도 부분적으로 기초하여 제 1 디바이스와 연결된 디스플레이 상에 디스플레이하기 위해서 마크업 언어 문서의 제 1 부분이 렌더링된다(rendered). 예를 들어, 렌더링된 마크업 언어 문서의 제 1 부분은 하나 이상의 래스터 주사 방식의(rasterized)(예컨대, 또는 벡터 기반의) 이미지를 포함할 수 있으며, 이것은 제 1 디바이스에 연결된 디스플레이에 전송될 수 있다. 예시로서 콘솔 타입 구성요소(예로서, 게임 콘솔, 인터넷 기반의 구성요소)와 같은 컴퓨터가 웹 기반의 콘텐츠를 보기 위해서 예를 들어 텔레비전 또는 모니터에 접속될 수 있다. 이러한 예시에서, 제 1 디바이스를 포함하는 컴퓨터는 마크업 언어 문서의 부분들을 렌더링할 수 있고 렌더링된 콘텐츠의 이미지를 텔레비전에 전송할 수 있다. 텔레비전은 예를 들어 사용자가 보기 위한 자신의 스크린 상에 문서의 제 1 부분을 포함하는 이미지를 디스플레이할 수 있다.
단계(108)에서, 마크업 언어 문서의 제 2 부분은 마크업 언어 문서 내의 원격 디바이스 태그를 사용하여 제 2 디바이스에 전송된다. 제 2 부분은 궁극적으로 제 2 디바이스에 의해 디스플레이될 수 있도록 전송된다. 예를 들어, 제 2 디바이스는 (예컨대 네트워크 접속을 이용하여) 제 1 디바이스에 통신상 접속될 수 있으며, 제 2 부분이 제 1 디바이스에 의해서 제 2 디바이스로 전송되어 필요한 경우 제 2 디바이스가 제 2 부분을 렌더링하고 디스플레이할 수 있게 한다. 예시로서, 콘솔 기반의 컴퓨터는 인터넷에 접속될 수 있다(예로서, 인터넷에 접속된 라우터에 유선 또는 무선 접속). 제 2 디바이스는 예를 들어 휴대용 컴퓨팅 디바이스(예로서, 스마트폰)를 포함할 수 있으며, 이것은 (예로서 무선 접속, 셀룰러 접속 등을 사용하여) 인터넷에 접속될 수 있다. 또한, 이 예시에서, 마크업 언어 문서 내의 원격 디바이스 태그는 제 2 콘텐츠가 전송될 제 2 디바이스를 식별할 수 있거나, 단지 제 2 콘텐츠가 제 1 디바이스와 접속되고/되거나 제 1 디바이스의 범주 내에 있는 원격 디바이스로 전송될 것임을 식별할 수 있다.
마크업 언어 문서의 제 2 부분이 제 2 디바이스로 전송되면, 예시적인 방법(100)이 단계(110)에서 종료된다.
도 2는 본 명세서에 설명된 하나 이상의 기술의 하나 이상의 부분이 구현될 수 있는 예시적인 실시예(200)를 도시한 순서도이다. 단계(202)에서, 개발자는 원격 디바이스 태그에 의해 기술되는 제 1 부분 및 제 2 부분을 포함하는 마크업 언어 문서를 기록한다. 예를 들어, 게임 개발자가 게임에 대한 콘텐츠를 제어하도록 접속된 터치 스크린 디바이스를 활용하길 원할 수 있거나, 또는 비디오 콘텐츠를 재생하는 웹사이트의 개발자가 비디오 콘텐츠를 제어하도록 접속된 디바이스를 활용하길 원할 수 있거나, 또는 개발자가 예컨대 기밀 메시지를 공유하기 위해서 오프-스크린(off-screen) 디바이스에 웹페이지의 일부분을 전송하길 원할 수 있다.
일 실시예에서, 개발자는 서로 다른 두 디스플레이에 대한 콘텐츠를 포함하는 마크업 언어(예로서, 하이퍼텍스트 마크업 언어(HTML))로 단지 하나의 문서만을 기록할 수 있다. 예를 들어, 문서 내의 원격 디바이스 태그는 제 2 디바이스(예컨대, 오프-스크린 및/또는 원격 디바이스)로 전송될 태그에 의해 마크된 콘텐츠를 다이렉팅하라는 명령을 갖는 HTML 태그를 포함할 수 있는 반면, 태그되지 않은 콘텐츠(예컨대, 문서 내의 나머지 콘텐츠)는 제 1 디바이스에 의해 추가로 프로세싱될 수 있다. 일 실시예에서, 문서 저자는 예를 들어 원격 디바이스 태그를 사용하여 HTML 문서를 기록하고 원격 디스플레이에 대해 하나 이상의 프레임을 마크업 할 수 있다.
예시로서, 도 4(a)는 제 1 및 제 2 부분을 포함하는 마크업 문서(400)의 예시적인 실시예를 도시한다. 예를 들어, 예시적인 문서(400)에서, 문서 내의 HTML 태그(402)는 문서를 판독하는 브라우저에 원격 제어 디바이스 상에 <span> 요소(404)를 렌더링하라고 알려준다. 또한, 예시적인 실시예(400)에서, 헤드 요소 및 바디 요소를 포함하는 문서(400)의 제 1 부분(406)은 브라우저를 포함하는 디바이스와 연결된 로컬 디스플레이 상에 렌더링되어 디스플레이될 수 있다(예컨대, 문서(400)를 판독). 예시로서, <span> 요소(404)는 디스플레이를 포함하는 원격 디바이스로 포워딩될 수 있는 원격 제어의 이미지를 렌더링하기 위해 JavaScript 코드를 포함하는 아이프레임(iframe)을 포함할 수 있다. 예시로서, 제 1 부분(406)은 텔레비전 모니터 상에 디스플레이될 콘텐츠를 제공할 수 있는 반면, 제 2 부분(404)은 스마트폰 상에 디스플레이될 콘텐츠에 대한 하나 이상의 제어를 제공할 수 있다. 이러한 예시에서, 사용자는 자신의 스마트폰을 사용하여 비디오를 제어(예로서, 재생, 일시정지, 뒤로 감기 등) 하는 동안 자신의 텔레비전 상에서 비디오를 시청할 수 있다.
도 2로 돌아가면, 단계(204)에서, 제 1 디바이스를 사용하여 사용자가 개발자에 의해 기록된 문서로 이동할 수 있다. 예를 들어, 제 1 디바이스는 예컨대 인터넷 상에서 개발자에 의해 쓰여진 웹 문서로 이동하도록 브라우저를 활용하는 컴퓨터를 포함할 수 있다. 예시로서, 사용자는 사용자가 영화를 볼 수 있게 하는 웹사이트로 이동할 수 있으며, 이 영화는 부착된 대형 디스플레이 상에서 시청할 수 있으며 접속된 휴대용 디바이스는 영화와 상호작용하기 위한 원격 제어의 타입으로서 사용될 수 있다. 일 실시예에서, 마크업 언어 문서는 (예로서, 문서를 호스팅하는) 원격 서버로부터 제 1 디바이스에 의해 수신(예로서, 다운로드)될 수 있다.
단계(210)에서, 문서는 제 1 디바이스에 의해 분석될 수 있다. 예를 들어, 제 1 디바이스 상에 존재하는 브라우저는 마크업 언어 문서를 판독하는 데에 사용되는 브라우저 엔진을 포함할 수 있다. 마크업 언어 문서는 텍스트 및 주석의 일부분뿐 아니라 이미지로의 링크 및 예로서 페이지의 렌더링된 표현(representation) 상에 디스플레이되는 다른 매체를 포함할 수 있다. 또한, 마크업 언어 문서는 "마크업(markup)" 및 문서의 렌더링된 부분들을 포맷하고/하거나 (예로서 스크립팅 코드를 사용하여) 페이지 상에서 프로그램을 구동하도록 사용될 수 있는 프로그래밍 코드를 포함할 수 있다. 예로서 인터넷 상에 디스플레이하기 위해 문서를 기록하도록 사용되는 마크업 언어의 예시는, 예로서 하이퍼텍스트 마크업 언어(HTML), 확장가능한 마크업 언어(XML) 및/또는 그의 파생 언어 또는 관련 언어를 포함할 수 있다. 일 실시예에서, 브라우저 엔진은 문서의 요소들을 식별하기 위해서 마크업 언어 문서를 판독할 수 있다.
단계(212)에서, 원격 디바이스 태그가 문서의 제 2 부분을 기술하는 문서 내에서 식별된다. 예를 들어, 위에서 도 4(a)와 관련하여 기술된 바와 같이, 예시적인 문서(400)를 판독하는 브라우저 엔진은 <span>(404)을 포함하는 제 2 부분을 기술하는 원격 디바이스 태그(402)를 식별할 수 있다. 일 실시예에서, 제 2 디바이스는 마크업 언어 문서 내의 원격 디바이스 태그를 사용하여 식별될 수 있다. 도 4(a)에 도시된 바와 같이, 원격 디바이스 태그(402)는 디바이스 "mediaremote"를 의도된 제 2 디바이스로서 식별한다. 이 예시에서, "mediaremote"는 단지 제 1 디바이스에 동일한 방식으로 접속된 (예컨대, 원격 또는 로컬 네트워크를 통해, 라우터, 근거리 무선 접속 이용 등) 원격 디바이스를 포함할 수 있다.
일 실시예에서, 원격 디바이스 태그 내의 제 2 디바이스의 "id"는 유니버설 리소스 식별자(URI), 네트워크 어드레스, 인터넷 프로토콜(IP) 어드레스, 블루투스 ID, 또는 의도된 제 2 디바이스를 식별하는 일부 다른 로케이터를 포함할 수 있다. 일 실시예에서, 제 2 디바이스의 사용자가 동시에(예컨대, 실질적으로 동시에) 제 2 디바이스와 연결된 디스플레이와 제 1 디바이스에 접속된 디스플레이 모두를 볼 수 있도록, 제 2 디바이스는 제 1 디바이스의 부근에서 식별될 수 있다. 이러한 실시예에서, 예를 들어, 제 2 디바이스는 제 1 디바이스에 의해 디스플레이되는 제 1 부분에 대한 컨트롤러 타입으로서 사용될 수 있으며, 이때 사용자는 제 1 부분과 제 2 부분을 동시에 볼 수 있다.
예시로서, 도 4(b)는 본 명세서에 설명된 하나 이상의 기술이 구현될 수 있는 환경의 예시적인 실시예(450)를 도시한다. 이러한 예시(450)에서, 제 1 디바이스(456)는 큰 스크린 모니터(예컨대, 텔레비전, 컴퓨터 모니터 등)를 포함할 수 있는 제 1 디스플레이(452)와 접속될 수 있고, 제 2 디바이스(454)는 자체의 통합된(또는 연결된) 디스플레이를 구비하는 작은 휴대용 컴퓨팅 디바이스(예컨대, 스마트폰, 휴대용 콘솔 등)을 포함할 수 있다. 또한, 이러한 실시예에서, 사용자는 제 1 디스플레이(452)와 제 2 디바이스의 디스플레이(454) 모두를 볼 수 있도록 제 2 디바이스(454)를 보유하는 제 1 디스플레이(452) 부근에 있을 수 있다.
일 실시예에서, 원격 디바이스 태그를 식별하는 것은 제 2 부분을 식별하고, 결과적으로 제 1 부분을 식별하는 것을 포함할 수 있다. 이러한 실시예에서, 예를 들어 제 1 부분은 원격 디바이스 태그에 의해 기술되는 제 2 부분이 아닌 문서의 부분을 포함할 수 있다. 문서의 제 2 부분은, 예를 들어 제 1 디바이스 또는 그에 동작상 연결된 디스플레이 상에서 보이고자 하는 문서의 제 1 부분과 별개로, 제 2 디바이스(예컨대, 원격 디바이스)(의 디스플레이) 상에서 보이고자 하는 문서의 섹션을 포함할 수 있다. 또한, 예를 들어, 제 2 부분은 단지 제 2 디바이스 상에 보여질 수 있으며, 제 1 부분은 단지 제 1 디바이스 상에 보여질 수 있다(예컨대, 다른 배열, 구성 등이 고려된다고 해도).
도 2로 돌아오면, 단계(214)에서, 문서는 제 1 디바이스 상에 렌더링될 수 있다. 전술된 바와 같이, 문서는 브라우저 엔진에 판독되어 렌더링될 수 있으며, 이때 렌더링하는 것은 문서 내의 마크업 언어를 사용하여 문서의 디스플레이 가능한 레이아웃을 생성하는 것을 포함할 수 있다. 예를 들어, 마크업된 문서의 콘텐츠(예컨대, HTML, XML, XHTML, 또는 다른 구성요소)가 판독되어, 사용자에게 디스플레이될 문서의 디스플레이 가능한 레이아웃 버전을 생성/렌더링하도록 포맷 정보(예로서, CSS(cascading stylesheet), XSL(extensible stylesheet language), 또는 일부 다른 스타일시트 언어)와 결합될 수 있다.
일 실시예에서, 렌더링하는 것은 제 1 디바이스를 통해 문서의 제 1 및 제 2 부분 모두를 렌더링하는 것을 포함할 수 있다. 다른 실시예에서, 단지 제 1 부분만이 제 1 디바이스에 의해 렌더링될 수 있다. 예를 들어, 원격 디바이스 태그는 문서의 제 2 부분으로 무엇을 해야하는지를 (예컨대, 명확하게 또는 라이브러리 요소를 사용하여) 브라우저 엔진에 알려주는 명령을 포함할 수 있다.
일 실시예에서, 원격 디바이스 태그는 제 1 디바이스에게 제 2 디바이스로의 전송을 위한 제 2 부분의 디스플레이 가능한 레이아웃을 렌더링하라고 알려주는 명령을 포함할 수 있다. 다른 실시예에서, 원격 태그는 제 1 디바이스에게 예로서 단지 제 2 부분을 마크업 언어 부분으로서 제 2 디바이스에 전송하라고 알려줄 수 있다. 다른 실시예에서, 원격 디바이스 태그는 원격 서버(예로서, 콘텐츠를 포함하는 클라우드 기반의 서버)로 명령(예로서, 마크업 언어 또는 스크립팅 코드 및/또는 열람가능한 레이아웃)을 제 2 디바이스에 전송하라는 요청을 개시할 수 있다.
예시적인 실시예(200)의 단계(216)에서, 문서의 제 1 부분이 제 1 디바이스에 의해 디스플레이된다. 예를 들어, 도 4(b)에 도시된 바와 같이, 제 1 디바이스(456)는 예로서 로컬로 제 1 디스플레이(452)에 연결될 수 있으며, 렌더링된 제 1 부분(460)은 제 1 디스플레이(452) 상에서 디스플레이될 수 있다. 제 1 디스플레이가 제 1 디바이스에 로컬로 연결되는 것으로 한정되지 않음을 이해할 것이다. 예를 들어, 제 1 및 제 2 디스플레이는 모두 에로서 네트워크 접속(예로서, 인터넷, 인트라넷, 또는 원격 네트워크 시스템) 상에서 제 1 디바이스와 원격으로 연결될 수 있다. 도 4의 예시적인 실시예(450)에서, 제 1 디스플레이는 유선으로 접속된 모니터 또는 텔레비전, 또는 예로서 인터넷을 통해 제 1 디바이스에 원격으로 접속되는 디스플레이를 포함할 수 있다. 또한, 제 1 디스플레이는 무선 로컬 네트워크 접속(예로서, WiFi, 블루투스, 근거리 무선 등)을 사용하여 제 1 디바이스에 접속될 수 있다.
도 2로 돌아가면, 단계(206)에서, 사용자는 제 1 디바이스에 의해 디스플레이된 제 1 부분을 볼 수 있으며, 제 1 디바이스와 제 2 디바이스 사이의 접속을 생성 또는 개시하도록 결정할 수 있다. 예시로서, 사용자에게 디스플레이되는 문서의 렌더링된 제 1 부분은 사용자가 제 2 디바이스를 사용하여 제 1 부분과 상호작용할 수 있음을 사용자에게 알려줄 수 있다. 예시로서, 문서는 제 1 부분이 영화, 게임, 또는 상호작용하는 웹사이트와 같은 관심 있는 콘텐츠를 포함하는 웹페이지를 포함할 수 있다. 또한, 이 예시에서, 웹페이지는 콘텐츠에 대한 상호작용 제어로서 사용하기 위해 사용자에게 제 2 디바이스에 접속하라고 알려줄 수 있다.
종종, 전형적인 텔레비전 원격 컨트롤러 또는 콘솔 컨트롤러를 이용한 모니터 또는 텔레비전 상의 웹 기반 콘텐츠와의 상호작용은 불만족스러울 수 있다. 예를 들어, 웹페이지는 일반적으로 전형적인 입력 제어(예로서, 키보드 및 마우스)를 사용하여 상호작용하기에 최적화된다. 또한, 일부 웹페이지는 예를 들어 상호작용 매체, 게임 등과 같은 맞춤화된 제어를 개발하길 원할 수 있다. 일 실시예에서, 제 2 부분은 문서 저자에 의해서 (예로서 제 1 부분의) 문서 콘텐츠에 대해 특정한 상호작용 제어를 제공하도록 맞춤화될 수 있다. 따라서, 예를 들어 사용자가 제 2 디바이스에 접속하라는 메시지를 보는 경우에, 문서의 제 1 부분과 상호작용하기 위한 휴대용 컴퓨팅 디바이스(예로서, 스마트폰)에 접속하도록 선택할 수 있으며, 그에 따라 사용자에게 궁극적으로 제공되는 제 2 부분이 휴대용 컴퓨팅 디바이스(예로서, 스마트폰)에 적합한 방식으로 제공된다.
제 1 및 제 2 디바이스의 상호작용 및 접속이 설명된 실시예에 한정되는 것이 아님을 이해할 것이다. 당업자는 동일한 문서로부터의 콘텐츠를 공유하기 위해서 제 1 디바이스와 제 2 디바이스 사이의 상호작용과 접속에 대한 다른 실시예를 고안할 수 있다. 예를 들어, 제 2 부분은 제 2 디바이스의 사용자에게만 보이고자 하는 특정한 정보를 포함할 수 있다(예를 들어, 하나 이상의 제 2 디바이스에 질문을 전송하는 온라인 퀴즈 게임). 또한, 다른 예시로서, (예컨대, 복수의 참가자가 모니터, 텔레비전 등에 동시에 디스플레이되는 각각의 캐릭터(character)를 제어할 수 있게 하도록) 제 1 및 제 2 부분(예로서, 그와 함께 제 3, 제 3 부분 등)이 상이한 접속된 디바이스에게 보이고자 하는 문서의 상이한 부분들을 포함할 수 있다.
일 측면에서, 전술된 바와 같이, 제 2 디바이스를 제 1 디바이스에 접속하라는 지시가 제공됨에 따라 사용자는 제 2 디바이스를 제 1 디바이스와 접속시킬 수 있다. 이 측면의 다른 실시예에서는, 사용자가 이미 제 2 디바이스를 네트워크에 접속하였을 수 있다. 이 실시예에서, 예를 들어 제 1 디바이스는 예로서 네트워크에 대한 URI를 이용하는 네트워크에 대한 식별자를 사용하여 제 2 부분을 제 2 디바이스로 보낼 수 있다.
또한, 다른 실시예로서, 제 1 디바이스와 제 2 디바이스는 모두 네트워크(예컨대 로컬 또는 원격 네트워크)에 접속될 수 있으며 제 1 디바이스가 제 2 부분만을 "가장 가까운" 접속된 디바이스에 전송할 수 있다. 예를 들어, 네트워크 서비스(예컨대, 클라우드 기반의 서비스)는 제 1 디바이스 부근에 있는 하나 이상의 디바이스를 식별할 수 있다. 이러한 예시에서, 네트워크 서비스는 제 2 콘텐츠를 전송하기 위해 접속할 가장 가까운 디바이스를 찾을 수 있다(또는 디바이스의 선택을 사용자에게 나타낼 수 있다).
예시적인 실시예(200)의 단계(218)에서, 제 1 디바이스는 제 2 부분을 패키징할 수 있고, 단계(220)에서 제 2 부분을 제 2 디바이스로 전송할 수 있다. 예를 들어, 만약 제 2 부분이 이미지의 레이아웃 뷰와 같이 렌더링된 버전을 포함한다면, 제 2 부분의 렌더링된 버전은 패키징되어 제 2 디바이스로 전송될 수 있다. 다른 예시로서, 만약 제 2 부분이 마크업 언어를 포함하거나 일부 코드를 포함한다면, 이것이 패키징되어 (예로서 제 2 디바이스에 의해 렌더링되기 위해) 제 2 디바이스로 전송될 수 있다. 다른 예시에서, 만약 제 2 부분이 제 2 디바이스에 콘텐츠를 제공하라는 원격 서버에 대한 요청을 포함한다면, 이 요청은 패키징되어 원격 서버에 전송될 수 있으며, 원격 서버는 다시 제 2 부분을 제 2 디바이스로 전송할 수 있다(예를 들어, 렌더링된(레이아웃 뷰) 버전 및/또는 렌더링될 코드로서).
일 측면에서, 전술된 바와 같이, 제 1 및 제 2 디바이스는 다양한 방식으로 통신상 접속될 수 있으며, 그에 따라 제 2 부분을 제 2 디바이스로 전송하는 (그리고 앞뒤로 통신하는) 다양한 방식을 제공할 수 있다. 일 실시예에서, 제 1 디바이스와 제 2 디바이스 사이의 무선 접속(예를 들어, WiFi, 근거리 무선, 블루투스 등)이 통신에 사용될 수 있으며, 이것은 예를 들어 제 2 부분을 전송하는 것 및/또는 제 2 디바이스로의 입력을 수신하는 것을 포함할 수 있다. 일 실시예에서, 제 1 디바이스와 제 2 디바이스 사이의 로컬 네트워크 접속이 통신에 사용될 수 있다(예를 들어, 유선 또는 무선의 로컬 영역 네트워크 등). 일 실시예에서, 제 1 디바이스와 제 2 디바이스 사이의 원격 네트워크 접속(예를 들어, 인터넷, 인트라넷, 광역 네트워크 등)이 통신에 사용될 수 있다. 일 실시예에서, 제 1 디바이스와 제 2 디바이스 사이의 유선 접속(예를 들어, USB, 네트워크 케이블 등과 같은 다이렉트 와이어)이 통신에 사용될 수 있다.
단계(208)에서, 제 2 디바이스는 제 2 부분을 수신할 수 있고, 사용자에게 보이도록 연결된 디스플레이 상에 이를 디스플레이할 수 있다. 일 실시예에서, 제 2 디바이스는 제 2 부분을 디스플레이하는 데에 사용될 수 있는 포함된 디스플레이(제 2 디스플레이)를 포함할 수 있다. 다른 실시예에서, 제 2 디바이스는 제 2 부분을 디스플레이하기 위한 모니터 또는 텔레비전과 같은 별개의 디스플레이(제 2 디스플레이)와 연결될 수도 있다. 또한, 일 실시예에서, 제 2 디바이스는 예를 들어 레이아웃 뷰에서와 같은, 제 1 디바이스에 의해 전송된 렌더링된 버전을 디스플레이할 수도 있다. (예컨대, 제 1 디바이스가 제 2 부분을 렌더링하지 않는) 다른 실시예에서, 제 2 디바이스는 제 2 디스플레이 상에 디스플레이하기 위한 레이아웃 뷰를 생성하기 위해서, 예를 들어 마크업 언어 및/또는 스크립트 코드를 포함하는 제 2 부분을 로컬로 렌더링할 수 있다.
일 측면에서, 제 2 디바이스에 전송된 제 2 부분은 사용자가 상호작용하길 원하는 콘텐츠를 나타낼 수 있다. 예를 들어, 제 2 부분에 의해 제공된 콘텐츠와 상호작용하는 사용자는 제 1 디스플레이 상에 디스플레이된 제 1 부분에 영향을 미칠 수 있다. 예시로서, 비디오 게임은 사용자가 제 2 디바이스를 (예로서, 커맨드를 입력하기 위한) 게임 컨트롤러로서 사용할 수 있게 하는 제 2 부분 내의 상호작용 제어를 제공할 수 있다. 다른 예시로서, 콘솔 디바이스는 TV 쇼 및 영화와 같은 미디어를 보기 위해 텔레비전으로 접속될 수 있다. 이러한 예시에서, 제 2 부분은 사용자가 미디어 콘텐츠의 시청을 제어할 수 있게 하는 (예컨대, 재생, 일시정지, 빨리 감기 등) TV 원격 제어 타입 디바이스를 포함할 수 있다.
도 3은 본 명세서에 설명된 하나 이상의 기술의 하나 이상의 부분이 구현될 수 있는 예시적인 실시예(300)를 도시한 순서도이다. 단계(302)에서, 사용자는 제 2 디바이스와 연관된 디스플레이 상에 디스플레이되는, 마크업 언어 문서의 제 2 부분을 포함하는 디스플레이된 콘텐츠와 상호작용할 수 있다. 예를 들어, 만약 제 2 콘텐츠가 제 1 디바이스와 연관된 디스플레이 상에 디스플레이되는 마크업 언어 문서의 제 1 부분에 상응하는 제 1 콘텐츠에 대한 컨트롤러 종류를 포함한다면, 사용자는 디스플레이된 콘텐츠 상의 가상 버튼을 활성화할 수 있으며, 이러한 활성화는 제 1 콘텐츠에 대해 상응하는 동작을 해석하기 위한 것이다. 예시로서, 제 1 콘텐츠는 비디오를 포함할 수 있고, 제 2 콘텐츠는 일시정지 버튼을 포함할 수 있으며, 사용자가 이러한 일시정지 버튼을 눌렀을 때 제 1 디스플레이에 의해 디스플레이된 비디오 콘텐츠가 일시정지될 수 있다.
단계(304)에서, 사용자에 의한 입력 상호작용의 표시는 제 2 디바이스로부터 제 1 디바이스로 전송될 수 있다. 일 실시예에서, 입력 상호작용의 표시는 전술된 제 1 디바이스와 제 2 디바이스 사이의 하나 이상의 통신 접속을 이용하여 전송될 수 있다. 제 2 디바이스로부터 전송된 마크업 언어 문서의 제 2 부분과의 입력 상호작용의 표시는 제 1 디바이스에서 수신될 수 있다.
일 실시예에서, 제 2 디바이스로부터 수신된 제 2 부분과의 입력 상호작용의 표시는 제 2 디바이스에 의해 디스플레이되는 이미지와의 입력 상호작용의 하나 이상의 좌표를 포함할 수 있다. 예를 들어, 제 2 부분은 제어를 포함하는 요소들의 레이아웃을 포함할 수 있으며, 이것은 각각이 레이아웃 내의 좌표에 의해 식별될 수 있다(예컨대, 픽셀 그리드 좌표). 이러한 예시에서, 예로서 클릭, 누르기, 문지르기, 또는 요소를 활성화하기 위한 (그리고 그에 따라 언더라잉 제어를 활성화하는) 일부 다른 동작에 의해 사용자가 요소를 활성화하면, 사용자의 동작을 포함하는 하나 이상의 좌표가 입력 상호작용 표시에 사용될 수 있다(예컨대, 제 1 디바이스로 전송됨).
다른 실시예에서, 제 2 디바이스로부터 수신된 제 2 부분과의 입력 상호작용의 표시는 입력 상호작용에 대한 하나 이상의 벡터를 포함할 수 있다. 예를 들어, 특정한 방향으로 요소를 이동시키거나 요소와 상호작용하는 것은 (예로서, 제 1 디스플레이 상에 디스플레이된 캐릭터가 더 빠르게 달리거나, 더 높이 뛰는 등) 움직임 상호작용에 대한 속도 및/또는 방향을 포함하는 벡터를 생성할 수 있다.
다른 실시예에서, 입력 상호작용은 제 2 디바이스 상에 디스플레이되는 제 2 부분에 포함되는 코드(예컨대, 스크립트 코드 또는 마크업 언어 코드)를 생성하는 (또는 지속하는) 제어 요소를 활성화할 수 있다. 예를 들어, 전술된 바와 같이 제 2 디바이스가 제 2 부분을 포함하는 마크업 언어 코드를 렌더링하는 경우에, 입력 상호작용은 언더라잉 코드 내의 동작을 생성할 수 있으며, 그 일부는 입력 상호작용의 표시로서 제 1 디바이스에 전송될 수 있다. 예시로서, 제 2 부분은 영숫자 문자(alphanumeric character)(예로서, 텍스트)와 같은 사용자로부터 입력된 데이터를 수신하도록 구성될 수 있다. 이러한 예시에서, 사용자가 제 2 디바이스를 이용하여 문자를 입력할 때, 입력된 문자는 (예로서, 문자를 기술하고 특징을 디스플레이하는) 마크업 언어 코드로서 제 1 디바이스에 전송될 수 있다.
단계(306)에서, 입력 상호작용의 표시를 포함하는 입력 데이터는 마크업 언어 문서의 하나 이상의 부분을 업데이트하는 데에 사용될 수 있다. 일 실시예에서, 입력 상호작용의 표시는 단계(308)에서 제 1 디바이스 상의 렌더링된 제 1 부분을 업데이트하는 데에 사용될 수 있으며, 업데이트된 제 1 부분은 단계(310)에서 제 1 디바이스와 동작상 연관된 디스플레이 상에 디스플레이될 수 있다. 예를 들어, 만약 제 2 부분이 제 1 디스플레이 상에 디스플레이되는 게임에 대한 게임 컨트롤러를 포함하면, 입력 데이터는 게임의 요소를 변경할 수 있다(예를 들어, 게임 캐릭터를 이동시킴). 다른 예시로서, 입력 데이터는 예를 들어 (제 1 디스플레이 상의 제어를 활성화하도록 제 2 디스플레이 상에 디스플레이되는 컨트롤러를 이용하여) 콘텐츠를 검색하도록 제 1 부분 내의 요소를 활성화하기 위해, 제 1 부분 내의 콘텐츠를 활성화하도록 사용될 수 있다.
일 실시예에서, 제 1 디바이스에 의해 수신되는 입력 상호작용의 표시는 또한 (또는 이와 달리) 문서의 제 2 부분을 업데이트할 수 있다. 예를 들어, 제 2 디바이스에 대한 사용자 입력은 제 2 부분이 제 2 디바이스에 디스플레이되는 방식을 변경할 수 있다. 일 실시예에서, 예를 들어 마크업 언어 코드가 제 2 디바이스 상에 로컬로 존재하는 제 2 부분을 포함하는 경우에, 제 2 디바이스는 제 2 부분의 업데이트된 버전을 로컬로 렌더링할 수 있다.
다른 실시예에서, 단계(312)에서, 만약 제 1 디바이스에서 수신된 상호작용 입력의 표시가 제 2 부분이 업데이트될 것을 요청한다면(단계(312)에서 "네") 제 2 부분이 제 1 디바이스에서 업데이트될 수 있으며, 단계(314)에서 업데이트된 제 2 부분이 제 2 디바이스로 전송될 수 있다. 예를 들어, 제 1 디바이스는 제 2 부분의 업데이트된 레이아웃 뷰를 렌더링하도록 상호작용 입력의 수신된 표시를 사용할 수 있거나, 또는 원격 서버로의 요청을 업데이트하도록 상호작용 입력의 표시를 사용할 수 있다. 이러한 예시에서, 제 2 부분의 업데이트된 레이아웃 뷰는 제 2 디바이스에 전송될 수 있거나, 또는 업데이트된 제 2 부분을 제 2 디바이스로 전송하라는 업데이트된 요청이 원격 서버로 전송될 수 있다.
단계(316)에서, 문서의 업데이트된 제 2 부분은 예로서 제 2 디스플레이와 같이 제 2 디바이스와 동작상 연관된 디스플레이 상에 디스플레이될 수 있으며, 제 1 디바이스는 단계(302)에서 제 2 디바이스 상의 제 2 부분의 디스플레이와의 다른 상호작용을 기다릴 수 있다. 만약 문서의 제 2 부분이 제 1 디바이스에서 입력 상호작용의 표시에 의해 업데이트되지 않았다면(단계(312)에서 "아니오"), 제 1 디바이스는 단계(302)에서 제 2 디바이스 상의 제 2 부분의 디스플레이와의 다른 상호작용을 기다릴 수 있다. 이러한 방식으로, 예를 들어, 사용자는 적어도 제 1 디바이스에 의해 디스플레이되는 제 1 부분과 상호작용하기 위해 제 2 디바이스에 의해 디스플레이되는 마크업 언어 문서의 제 2 부분과 상호작용할 수 있다.
시스템은 예를 들어 서로 다른 부분들이 각각 서로 다른 디바이스에 의해 디스플레이될 수 있도록 문서의 부분들을 분할하도록 설계될 수 있다. 예를 들어, 마크업 언어 기반 문서(예컨대, 웹 문서)를 기록하는 개발자는 단지 하나의 문서를 기록할 수 있으며, 이때 문서의 제 1 부분은 제 1 디바이스 상에서의 디스플레이를 위해 렌더링될 수 있고 제 2 부분은 (예컨대, 인터넷과 같은 네트워크에 의해 접속된) 제 2 접속된 디바이스 상에서의 디스플레이를 위해 렌더링될 수 있다. 이러한 방식으로, 예를 들어 개발자는 사용자에게 (각각의 디바이스에 대한 개별적인 마크업 문서를 기록할 필요 없이) 제 1 디바이스에 의해 디스플레이되는 문서의 제 1 부분의 요소를 제어하기 위해 제 2 부분과 상호작용하도록 제 2 디바이스를 사용하는 능력을 제공하기 위한 간략화된 방식을 갖는다.
도 5는 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고, 제 1 부분과 상호작용하기 위해 제 2 디바이스 상에 마크업 언어 문서의 제 2 부분을 디스플레이하는 예시적인 시스템(500)을 도시한 구성도이다. 문서 분석 구성요소(502)는 원격 디바이스 태그(558)를 식별하기 위해 마크업 언어 문서(550)를 분석하도록 구성된다. 예를 들어, 마크업 언어 문서(550)는 예컨대 문서를 포함하는 사이트로의 브라우징 또는 다운로드에 의해서 예시적인 시스템(500)에 의해 수신될 수 있으며, 문서 분석 구성요소(502)는 원격 디바이스 태그(558)를 식별하도록 마크업 언어를 판독할 수 있다. 또한, 일 실시예에서 원격 디바이스 태그(558)를 식별할 때, 원격 디바이스 태그(558)가 문서의 제 1 부분(552) 및 제 2 부분(554)을 기술하는 일종의 마커(marker)를 포함할 수 있기 때문에, 문서 분석 구성요소(502)는 예를 들어 문서의 제 1 부분(552) 및 제 2 부분(554)을 식별할 수 있다.
제 1 렌더링 구성요소(504)는 문서 분석 구성요소(502)와 동작상 연결된다. 제 1 렌더링 구성요소(504)는, 문서 분석 구성요소(502)에 의한 분석에 적어도 부분적으로 기초하여, 제 1 디스플레이(560) 상에서의 디스플레이를 위해 마크업 언어 문서(550)의 제 1 부분(552)을 렌더링하도록 구성된다. 예를 들어, 문서 분석 구성요소(502)에 의해 식별되는 원격 디바이스 태그(558)는 제 2 부분(554)으로부터 제 1 부분(552)을 기술할 수 있다. 이러한 예시에서, 제 1 렌더링 구성요소(504)는 제 1 디스플레이(560)에 의해 디스플레이될 수 있는 제 1 부분 내의 마크업 언어로부터 렌더링된 버전(예로서, 이미지, 텍스트, 애니메이션, 비디오, 다른 미디어 등을 포함하는 레이아웃 뷰)을 생성하는 식별된 제 1 부분을 렌더링할 수 있다. 일 실시예에서, 제 1 디스플레이는 예시적인 시스템(500)과 (예로서, 유선 또는 무선으로) 통신상 연결될 수 있다.
전송 구성요소(506)는 문서 분석 구성요소(502)와 동작상 연결된다. 전송 구성요소(506)는 마크업 언어 문서(550)의 제 2 부분(554)을 원격 디바이스(556)로 전송하도록 구성된다. 제 2 부분(554)은 마크업 언어 문서(550) 내의 원격 디바이스 태그(558)에 의해 식별된다. 예를 들어, 문서 분석 구성요소(502)는 마크업 언어 문서(550)를 분석할 때 원격 디바이스 태그(558)를 식별할 수 있으며, 제 1 부분(552)으로부터 제 2 부분(554)을 기술하도록 사용될 수 있다. 예시로서, 원격 디바이스 태그(558)는 디스플레이를 위해 원격 디바이스(556)로 콘텐츠를 전송하는 데에 사용될 수 있는 마크업 언어 코드를 식별하도록 문서(550)의 개발자에 의해 삽입될 수 있다.
도 6은 본 명세서에 기술된 하나 이상의 시스템이 구현될 수 있는 예시적인 실시예(600)를 도시한 구성도이다. 이 예시에서는, 도 5를 연장하여 보여주고 있으므로 도 5와 관련하여 이미 기술된 요소, 구성요소 등에 대한 설명은 단순화를 위해서 반복하지 않아도 될 것이다. 원격 디바이스 태그(658)를 포함하는 마크업 언어 문서(650)는 하이퍼텍스트 마크업 언어(HTML) 기반 문서, 확장가능한 마크업 언어(XML) 기반 문서, 및/또는 웹 기반의 문서와 연관된 응용 프로그래밍 인터페이스(API)를 포함할 수 있다. 예를 들어, 마크업 언어 문서(650)는 하나 이상의 마크업 언어로 쓰인 단일 문서일 수 있으며, 원격 디바이스 태그(658)에 의해 기술되는 부분들을 포함할 수 있다.
제 2 디스플레이(610)는 마크업 언어 문서(650)의 분석된 부분에 적어도 부분적으로 기초하여 원격 디바이스(656) 상에 문서의 제 2 부분(654)의 렌더링을 디스플레이할 수 있다(예로서, 디스플레이된 제 2 부분(662)). 예시로서, 원격 디바이스(656)는 제 2 부분(654)을 수신할 수 있는 컴퓨팅 디바이스를 포함할 수 있으며, 제 2 디스플레이(610)에 연결되고/되거나, 제 2 디스플레이(610)는 원격 디바이스(656)에 통합된다. 예시로서, 원격 디바이스(656)는 휴대용 콘솔, 스마트폰, 또는 제 2 콘텐츠(662)의 렌더링된 표현이 디스플레이될 수 있는 (예컨대, 입력을 위한 터치 감지형) 통합 디스플레이 스크린을 포함하는 일종의 미디어 플레이어일 수 있다.
제 2 문서 렌더링 구성요소(612)는 원격 디바이스(656)를 위해 마크업 언어 문서(650)의 제 2 부분(654)을 렌더링하도록 구성된다(예컨대, 제 2 부분(654)은 렌더링된 버전으로 제 2 디바이스에 의해 수신되지 않는다). 일 실시예에서, 원격 디바이스에 전송된 제 2 부분(654)은 원격 디바이스 태그(658)에 의해 마크업 언어 문서(650) 내에서 식별된 마크업 언어 코드를 포함할 수 있다. 이러한 실시예에서, 예를 들어, 제 2 렌더링 구성요소(612)는 제 2 디스플레이(610) 상에 디스플레이하기 위한 제 2 부분(654)의 렌더링된 버전(예컨대, 레이아웃 뷰)을 생성할 수 있다. 일 실시예에서, 마크업 언어 코드를 포함하는 제 2 부분(654)은 전송 구성요소(506)로부터 전송될 수 있다. 다른 실시예에서, 마크업 언어 코드를 포함하는 제 2 부분(654)은 전송 구성요소(506)의 요청에 따라 (도시되지 않은) 원격 서버로부터 전송될 수 있다. 예시로서, 이러한 실시예에서, 마크업 언어 코드는 제 2 부분의 열람가능한 이미지를 로컬로 생성하기 위한 코드를 렌더링하는 제 2 디바이스로 전송된다.
일 실시예에서, 원격 디바이스(656)로 전송된 제 2 부분(654)은 마크업 언어 문서의 렌더링된 제 2 부분에 적어도 부분적으로 기초하여 이미지 기반의 레이아웃 버전을 포함할 수 있다. 예를 들어, 제 1 렌더링 구성요소(504)는 원격 디바이스 태그(658)에 의해 마크업 언어 문서(650)에서 식별되는 제 1 및 제 2 부분 모두를 렌더링할 수 있으며, 그에 따라 제 2 부분의 렌더링된 뷰를 생성한다. 이러한 예시에서, 제 2 부분의 렌더링된 버전은 제 2 디스플레이(610)에 의해 디스플레이하기 위해 원격 디바이스(656)로 전송될 수 있다. 예시로서, 이러한 실시예에서, 단지 제 2 부분의 열람가능한 이미지만이 디스플레이를 위해 원격 디바이스로 전송되며, 이때 이미지는 제 2 부분의 렌더링이다.
예시적인 실시예(600)는 예를 들어 제 2 부분(654)을 전송하도록 사용되는 원격 디바이스(656)와 전송 구성요소(506) 사이의 접속(614)을 포함할 수 있다. 일 실시예에서, 접속은 로컬 무선 접속(예로서, WiFi, 근거리 무선 등), 로컬 네트워크 접속(예로서, 유선 또는 무선), 원격 클라우드 기반 접속(예로서, 인터넷 또는 인트라넷 상에서), 및/또는 원격 네트워크 접속(예로서, 광역 네트워크)을 포함할 수 있다. 일 실시예에서, 접속은 원격 디바이스(656)로부터 예로서 입력 구성요소(616)로의 입력을 수신하도록 사용될 수 있다.
입력 구성요소(616)는 원격 디바이스(656)로부터 디스플레이된 제 2 부분(662)과의 입력 상호작용의 표시(664)를 수신하도록 구성될 수 있다. 예를 들어, 제 2 디바이스(656)의 사용자는 (예로서, 그래픽 사용자 인터페이스(GUI) 요소를 활성화하기 위해 터치-스크린 입력을 사용하여) 디스플레이된 부분(662) 내의 디스플레이된 제어 요소를 선택함으로써 디스플레이된 제 2 부분(662)과 상호작용할 수 있다. 이러한 예시에서, 사용자 입력의 표시(664)는 원격 디바이스(656)로부터 입력 구성요소(616)로 전송될 수 있다.
또한, 입력 구성요소(616)는 원격 디바이스(656)로부터 수신된 표시(664)에 응답하여 렌더링된 마크업 언어 문서(650)의 적어도 일부분을 업데이트할 수 있다. 일 실시예에서, 업데이트는 제 1 디스플레이(660) 상에 디스플레이된 문서의 제 1 부분(652)의 적어도 일부분을 업데이트하는 것, 및/또는 마크업 언어 문서의 디스플레이된 제 2 부분(662)의 적어도 일부분을 업데이트하는 것을 포함할 수 있다.
예를 들어, 원격 디바이스(656)의 사용자에 의해 제공되는 입력은 문서(650)의 제 1 부분(652)이 업데이트되도록 할 수 있으며, 이때 제 2 부분은 문서(650)의 제 1 부분(652)에 대한 일종의 원격 컨트롤러로서 사용된다. 이러한 예시에서, 제 1 부분의 업데이트된 버전은 예컨대 제 1 렌더링 구성요소(504)에 의해 렌더링될 수 있으며, 제 1 디스플레이(660)에 의해 디스플레이될 수 있다. 일 실시예에서, 원격 디바이스(656)의 사용자에 의해 제공되는 입력은, 예를 들어 요소를 변화시키는 제 2 디스플레이 상의 GUI 요소와 상호작용함으로써 문서(650)의 제 2 부분이 업데이트되도록 할 수 있다. 이러한 예시에서, 제 2 부분의 업데이트된 버전은, 예컨대 제 1 렌더링 구성요소(504) 또는 제 2 렌더링 구성요소(612)에 의해서 렌더링될 수 있으며, 제 2 디스플레이(610)에 의해서 디스플레이될 수 있다.
또 다른 실시예는 본 명세서에 제시된 하나 이상의 기술을 구현하도록 구성된 프로세서-실행가능한 명령을 포함하는 컴퓨터 판독가능한 매체를 포함한다. 이러한 방식으로 고안될 수 있는 예시적인 컴퓨터-판독가능한 매체가 도 7에 도시되었으며, 여기서 구현물(700)은 컴퓨터 판독가능한 데이터(706)가 인코딩되는 컴퓨터 판독가능한 매체(708)(예컨대, CD-R, DVD-R, 또는 하드 디스크 드라이브의 플래터)를 포함한다. 이러한 컴퓨터 판독가능한 데이터(706)는 본 명세서에 기술된 하나 이상의 원리에 따라 동작하도록 구성된 컴퓨터 명령의 세트(704)를 포함한다. 이러한 일 실시예(702)에서, 프로세서 실행가능한 명령(704)은, 예를 들어 도 1의 예시적인 방법(100)의 적어도 일부와 같은 방법을 수행하도록 구성될 수 있다. 다른 실시예에서, 프로세서 실행가능한 명령(704)은 예를 들어 도 5의 예시적인 시스템(500)의 적어도 일부분과 같은 시스템을 구현하도록 구성될 수 있다. 본 명세서에서 제시되는 기술에 따라 동작하도록 구성된 이러한 다수의 컴퓨터 판독가능한 매체는 당업자에 의해 고안될 수 있다.
본 발명의 청구사항이 구조적 특성 및/또는 방법론적 행동에 특정적인 언어로 기술되었지만, 첨부된 특허청구범위에 정의되는 청구사항이 반드시 전술된 특정한 특성들 또는 동작들로 한정되는 것이 아님을 이해해야 한다. 오히려, 전술된 특정한 특성들 및 동작들은 특허청구범위를 구현하는 예시적인 형태로서 개시되었다.
본 명세서에서 사용되는 "구성요소," "모듈," "시스템," "인터페이스" 등의 용어는 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어인 컴퓨터 관련 개체를 일반적으로 지칭하기 위한 것이다. 예를 들어, 구성요소는 프로세서 상에서 구동중인 프로세스, 프로세서, 객체, 실행가능한 구성요소, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이것으로 한정되는 것은 아니다. 예시로서, 컨트롤러 상에서 실행중인 애플리케이션과 컨트롤러 모두가 구성요소일 수 있다. 하나 이상의 구성요소가 프로세서 및/또는 실행 스레드 내에 존재할 수 있으며 구성요소는 하나의 컴퓨터 상에 로컬라이즈될 수 있고/있거나 둘 이상의 컴퓨터 사이에서 분산될 수 있다.
또한, 청구된 청구사항은 방법, 장치, 또는 개시된 청구사항을 구현하기 위해 컴퓨터를 제어하도록 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합을 생산하는 엔지니어링 기술 및/또는 표준 프로그래밍을 이용한 제품으로서 구현될 수 있다. 본 명세서에서 사용되는 "제품(article of manufacture)"이라는 용어는 임의의 컴퓨터 판독가능한 디바이스, 캐리어 또는 미디어로부터 액세스 가능한 컴퓨터 프로그램을 포함하는 것이다. 물론, 당업자는 청구된 청구사항의 범주 또는 사상으로부터 벗어나지 않고 이러한 구성에 대한 다수의 수정이 이루어질 수 있음을 인식할 것이다.
도 8 및 아래의 설명은 본 명세서에 기술된 하나 이상의 규정의 실시예를 구현하기 위한 적절한 컴퓨팅 환경에 대한 간략하고 개괄적인 설명을 제공한다. 도 8의 동작 환경은 적절한 운영 환경의 단지 하나의 예시이며 운영 환경의 기능 또는 용도의 범주와 관련된 임의의 제한으로서 제안하기 위한 것은 아니다. 예시적인 컴퓨팅 디바이스는 개인 컴퓨터, 서버 컴퓨터, 휴대용 또는 랩탑 디바이스, 모바일 디바이스(예로서 모바일 폰, PDA, 미디어 플레이어 등), 멀티프로세서 시스템, 소비자 전자기기, 미니 컴퓨터, 메인프레임 컴퓨터, 전술된 임의의 시스템 또는 디바이스를 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이것으로 한정되는 것은 아니다.
필수적인 것은 아니지만, 실시예는 하나 이상의 컴퓨팅 디바이스에 의해 실행되는 "컴퓨터 판독가능한 명령"의 일반적인 맥락에서 기술되었다. 컴퓨터 판독가능한 명령은 컴퓨터 판독가능한 매체(아래에서 기술됨)를 통해 분포될 수 있다. 컴퓨터 판독가능한 명령은, 특정한 태스크를 수행하거나 특정한 추출 데이터 타입을 구현하는 기능, 객체, API, 데이터 구조 등과 같은 프로그램 모듈로서 구현될 수 있다. 전형적으로, 컴퓨터 판독가능한 명령의 기능은 다양한 환경에서 원하는 대로 결합 또는 분산될 수 있다.
도 8은 본 명세서에 제공된 하나 이상의 실시예를 구현하도록 구성된 컴퓨팅 디바이스(812)를 포함하는 시스템(800)의 예시를 도시한다. 일 구성에서, 컴퓨팅 디바이스(812)는 적어도 하나의 프로세싱 유닛(816) 및 메모리(818)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 따라서, 메모리(818)는 휘발성(예를 들어, RAM), 비휘발성(예를 들어, ROM, 플래시 메모리 등), 또는 이들의 일부 조합일 수 있다. 이러한 구성은 도 8에 점선(814)에 의해 도시되었다.
다른 실시예에서, 디바이스(812)는 추가적인 특성 및/또는 기능을 포함할 수 있다. 예를 들어, 디바이스(812)는 추가적인 스토리지(예로서, 제거가능 및/또는 제거 불가능)를 포함할 수 있으며, 이는 자기식 스토리지, 광학적 스토리지 등을 포함하지만 이것으로 한정되는 것은 아니다. 이러한 추가적인 스토리지는 도 8에 스토리지(820)에 의해 도시되었다. 일 실시예에서, 본 명세서에 제공된 하나 이상의 실시예를 구현하기 위한 컴퓨터 판독가능한 명령이 스토리지(820)에 존재할 수 있다. 스토리지(820)는 운영 시스템, 애플리케이션 프로그램 등을 구현하기 위해 다른 컴퓨터 판독가능한 명령을 저장할 수 있다. 컴퓨터 판독가능한 명령은 예를 들어 프로세싱 유닛(816)에 의한 실행을 위해 메모리(818) 내에서 로딩될 수 있다.
본 명세서에서 사용되는 "컴퓨터 판독가능한 매체"라는 용어는 컴퓨터 저장 매체를 포함한다. 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 제거가능한 매체 및 제거 불가능한 매체를 포함한다. 메모리(818) 및 스토리지(820)는 컴퓨터 저장 매체의 예시이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학적 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는 데에 사용될 수 있으며 디바이스(812)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이것으로 한정되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체는 디바이스(812)의 일부일 수 있다.
디바이스(812)는 또한 디바이스(812)가 다른 디바이스와 통신할 수 있게 하는 통신 접속(들)(826)을 포함할 수 있다. 통신 접속(들)(826)은 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 접속, 또는 컴퓨팅 디바이스(812)를 다른 컴퓨팅 디바이스에 접속하기 위한 다른 인터페이스를 포함할 수 있지만, 이것으로 한정되는 것은 아니다. 통신 접속(들)(826)은 유선 접속 또는 무선 접속을 포함할 수 있다. 통신 접속(들)(826)은 통신 매체를 전송 및/또는 수신할 수 있다.
"컴퓨터 판독가능한 매체"라는 용어는 통신 매체를 포함할 수 있다. 통신 매체는 전형적으로 컴퓨터 판독가능한 명령 또는 반송파와 같은 "변조된 데이터 신호" 내의 다른 데이터 또는 다른 수송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호(modulated data signal)"라는 용어는 신호 내에 정보를 인코딩하는 것과 관련된 방식으로 변경되거나 설정된 하나 이상의 자신의 특징을 갖는 신호를 포함할 수 있다.
디바이스(812)는 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 적외선 카메라, 비디오 입력 디바이스, 및/또는 임의의 다른 입력 디바이스와 같은 입력 디바이스(들)(824)를 포함할 수 있다. 하나 이상의 디스플레이, 스피커, 프린터, 및/또는 임의의 다른 출력 디바이스와 같은 출력 디바이스(들)(822)가 또한 디바이스(812) 내에 포함될 수 있다. 입력 디바이스(들)(824) 및 출력 디바이스(들)(822)는 유선 접속, 무선 접속, 또는 이들의 임의의 조합을 통해 디바이스(812)에 접속될 수 있다. 일 실시예에서, 다른 컴퓨팅 디바이스로부터의 입력 디바이스 또는 출력 디바이스가 컴퓨팅 디바이스(812)를 위한 입력 디바이스(들)(824) 또는 출력 디바이스(들)(822)로서 사용될 수 있다.
컴퓨팅 디바이스(812)의 구성요소는 버스와 같은 다양한 상호접속부에 의해서 접속될 수 있다. 이러한 상호접속부는 PCI Express와 같은 PCI(Peripheral Component Interconnect), USB, 파이어와이어(firewire)(IEEE 1394), 광학 버스 구조 등을 포함할 수 있다. 다른 실시예에서, 컴퓨팅 디바이스(812)의 구성요소는 네트워크에 의해 상호접속될 수 있다. 예를 들어, 메모리(818)는 네트워크에 의해 상호접속되는 서로 다른 물리적 위치에 위치한 복수의 물리적 메모리 유닛들로 구성될 수 있다.
당업자는 컴퓨터 판독가능한 명령을 저장하도록 활용되는 저장 디바이스가 네트워크에 걸쳐 분산될 수 있음을 인식할 것이다. 예를 들어, 네트워크(828)를 통해 액세스 가능한 컴퓨팅 디바이스(830)는 본 명세서에 제공된 하나 이상의 실시예를 구현하기 위한 컴퓨터 판독가능한 명령을 저장할 수 있다. 컴퓨팅 디바이스(812)는 컴퓨팅 디바이스(830)에 액세스하여 실행을 위한 컴퓨터 판독가능한 명령의 일부 또는 전부를 다운로드할 수 있다. 이와 달리, 컴퓨팅 디바이스(812)는 컴퓨터 판독가능한 명령의 조각(piece)을 필요에 따라 다운로드할 수 있거나, 또는 일부 명령이 컴퓨팅 디바이스(812)에서, 일부는 컴퓨팅 디바이스(830)에서 실행될 수 있다.
실시예의 다양한 동작들이 본 명세서에 제공되었다. 일 실시예에서, 기술된 하나 이상의 동작들은 하나 이상의 컴퓨터 판독가능한 매체에 저장된 컴퓨터 판독가능한 명령을 구성할 수 있으며, 이러한 컴퓨터 판독가능한 매체가 컴퓨팅 디바이스에 의해 실행되었을 때, 이는 컴퓨팅 디바이스로 하여금 기술된 동작들을 수행하도록 할 것이다. 일부 또는 전체 동작들이 본 명세서에 기술된 순서가 이 동작들이 반드시 이러한 순서에 의존함을 의미하는 것으로 해석되어서는 안 된다. 다른 순서가 당업자에 의해 인식될 수 있을 것이다. 또한, 본 명세서에서 제공된 각 실시예에서의 모든 동작이 반드시 존재해야만 하는 것은 아님을 이해할 것이다.
또한, 본 명세서에서 사용된 "예시적인"이라는 용어는 예시, 사례, 또는 실례로서의 역할을 하는 것을 의미한다. 본 명세서에서 "예시적인" 것으로서 기술된 임의의 측면 또는 설계가 반드시 다른 측면 또는 설계들에 대해서도 바람직한 것으로서 해석될 필요는 없다. 오히려, 예시적이라는 용어의 사용은 구체적인 방식으로 개념을 제시하기 위한 것이다. 본 명세서에서 사용된 "또는"이라는 용어는 배타적인 "또는"의 의미보다는 포괄적인 "또는"의 의미를 갖는다. 즉, 달리 명시되거나 문맥상 명확한 경우가 아니라면, "X는 A 또는 B를 사용한다"라는 문장은 자연적인 포괄적 순열을 의미하는 것이다. 즉, 만약 X가 A를 사용하거나, X가 B를 사용하거나, 또는 X가 A 및 B 모두를 사용한다면, "X는 A 또는 B를 사용한다"라는 문장은 임의의 전술된 예시 하에서 만족된다. 또한, A 및 B 중 적어도 하나 및/또는 유사한 표현은 일반적으로 A 또는 B, 또는 A와 B 모두를 의미한다. 또한, 본 명세서에서 단수 표현이 사용되었으며, 첨부된 특허청구범위는 특별히 명시되거나 문맥으로부터 단수 형태와 관련된 것임이 명확한 경우가 아니라면, "하나 이상"을 의미하는 것으로서 해석될 수 있다.
또한, 본 발명이 하나 이상의 구현과 관련하여 도시되고 기술되었지만, 본 명세서 및 첨부된 도면에 대한 독해 및 이해에 기초하여 당업자에게 동등한 대안 및 수정이 발생할 것이다. 본 발명은 이러한 모든 수정 및 대안을 포함하며 오직 아래의 특허청구범위의 범주에 의해서만 한정된다. 전술된 구성요소(예컨대, 요소, 리소스 등)에 의해 수행되는 다양한 기능들과 특별히 관련하여, 이러한 구성요소를 기술하도록 사용된 용어는, 달리 표시되지 않는 한, 본 명세서에 설명된 본 발명의 예시적인 구현에서 기능을 수행하는 개시된 구조와 구조적으로 동일하지 않다고 할지라도 기술된 구성요소의 특정한 기능을 수행하는 임의의 구성요소(즉, 기능적으로 동등물)와 상응한다. 또한, 본 발명의 특정한 특성이 몇몇 구현들 중 오직 하나와 관련하여 개시되었을 수 있지만, 이러한 특성은 원한다면 임의의 주어진 또는 특정한 응용에 바람직하도록 다른 구현의 하나 이상의 다른 특성과 결합될 수 있다. 또한, "포함하는," "구비하는," "갖는," "~와 함께,"와 같은 용어들 또는 이들의 변형어가 상세한 설명 또는 특허청구범위에서 사용된다는 점에서, 이러한 용어들은 "포함하는"이라는 용어와 유사한 방식으로 포괄적으로 사용된 것이다.

Claims (10)

  1. 제 1 디바이스 상에 마크업 언어 문서(markup language document)의 제 1 부분을 디스플레이하고, 상기 제 1 부분과의 상호작용을 위해 제 2 디바이스 상에 상기 마크업 언어 문서의 제 2 부분을 디스플레이하는 방법으로서,
    상기 제 1 디바이스를 사용하여 상기 마크업 언어 문서를 분석(parsing)하는 단계와,
    상기 제 1 디바이스와 연결된 디스플레이 상에 디스플레이하기 위해, 상기 제 1 디바이스를 사용하여 상기 분석에 적어도 부분적으로 기초해 상기 마크업 언어 문서의 상기 제 1 부분을 렌더링(rendering)하는 단계와,
    상기 제 2 디바이스에 의해 디스플레이하기 위해, 상기 분석에 적어도 부분적으로 기초하는 상기 마크업 언어 문서 내의 원격 디바이스 태그(remote device tag)를 이용하여 상기 마크업 언어 문서의 상기 제 2 부분을 상기 제 2 디바이스에 전송하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 마크업 언어 문서의 상기 제 2 부분을 전송하는 단계는
    상기 마크업 언어 문서의 상기 제 2 부분의 렌더링된 뷰(rendered view)를 전송하는 단계와,
    상기 제 2 디바이스에 의해 렌더링하기 위해 상기 제 2 부분을 포함하는 마크업 언어 코드를 전송하는 단계
    중 하나 이상을 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 마크업 언어 문서의 상기 제 2 부분을 전송하는 단계는, 렌더링을 위해 상기 제 2 부분을 포함하는 마크업 언어 코드를 상기 제 2 디바이스에 제공하도록 상기 마크업 언어 문서를 포함하는 원격 서버에 요청을 전송하는 단계를 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 제 2 디바이스로부터 상기 마크업 언어 문서의 상기 제 2 부분과의 입력 상호작용을 나타내는 표시(indication)를 수신하는 단계
    를 포함하는 방법.

  5. 제 4 항에 있어서,
    상기 제 2 부분과의 상기 입력 상호작용에 기초하여 상기 제 1 디바이스 상의 상기 렌더링된 제 1 부분을 업데이트하는 단계와,
    상기 제 2 부분과의 상기 입력 상호작용에 기초하여 상기 제 2 디바이스에 업데이트된 제 2 부분을 전송하는 단계
    중 하나 이상을 포함하는
    방법.
  6. 제 1 항에 있어서,
    상기 마크업 언어 문서 내의 상기 원격 디바이스 태그를 이용하여 상기 제 2 디바이스를 식별하는 단계
    를 포함하는 방법.
  7. 제 1 디바이스 상에 마크업 언어 문서의 제 1 부분을 디스플레이하고, 상기 제 1 부분과의 상호작용을 위해 제 2 디바이스 상에 상기 마크업 언어 문서의 제 2 부분을 디스플레이하는 시스템으로서,
    원격 디바이스 태그를 식별하기 위해 상기 마크업 언어 문서를 분석하도록 구성된 문서 분석 구성요소와,
    상기 문서 분석 구성요소에 의한 상기 분석에 적어도 부분적으로 기초하여 제 1 디스플레이 상에 디스플레이하기 위해 상기 마크업 언어 문서의 상기 제 1 부분을 렌더링하도록 구성되고, 상기 문서 분석 구성요소와 동작가능하게 결합되는 제 1 렌더링 구성요소와,
    상기 마크업 언어 문서 내의 상기 원격 디바이스 태그에 의해 식별되는 상기 마크업 언어 문서의 상기 제 2 부분을 원격 디바이스에 전송하도록 구성되고, 상기 문서 분석 구성요소와 동작가능하게 결합되는 전송 구성요소
    를 포함하는 시스템.
  8. 제 7 항에 있어서,
    상기 마크업 언어 문서의 분석된 부분에 적어도 부분적으로 기초하여 상기 원격 디바이스를 위해 상기 제 2 부분을 디스플레이하도록 구성된 제 2 디스플레이
    를 포함하는 시스템.
  9. 제 7 항에 있어서,
    상기 원격 디바이스를 위해 상기 마크업 언어 문서의 상기 제 2 부분을 렌더링하도록 구성된 제 2 문서 렌더링 구성요소
    를 포함하는 시스템.
  10. 제 7 항에 있어서,
    입력 구성요소를 포함하되, 상기 입력 구성요소는
    상기 원격 디바이스로부터 상기 제 2 부분과의 입력 상호작용을 나타내는 표시를 수신하고,
    상기 표시에 응답하여 상기 마크업 언어 문서의 적어도 일부분을 업데이트하도록 구성되며,
    상기 업데이트는,
    상기 마크업 언어 문서의 상기 렌더링된 제 1 부분의 적어도 일부를 업데이트하는 것과,
    상기 원격 디바이스에 전송된 상기 마크업 언어 문서의 상기 제 2 부분의 적어도 일부를 업데이트하는 것
    중 하나 이상을 포함하는
    시스템.
KR1020137030221A 2011-05-16 2012-05-07 마크업 기반의 문서에서의 정보에 근거한 데이터 분할 KR101962980B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/108,560 2011-05-16
US13/108,560 US9015576B2 (en) 2011-05-16 2011-05-16 Informed partitioning of data in a markup-based document
PCT/US2012/036849 WO2012158390A2 (en) 2011-05-16 2012-05-07 Informed partitioning of data in a markup-based document

Publications (2)

Publication Number Publication Date
KR20140037842A true KR20140037842A (ko) 2014-03-27
KR101962980B1 KR101962980B1 (ko) 2019-03-27

Family

ID=47175903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137030221A KR101962980B1 (ko) 2011-05-16 2012-05-07 마크업 기반의 문서에서의 정보에 근거한 데이터 분할

Country Status (6)

Country Link
US (1) US9015576B2 (ko)
EP (1) EP2710491B1 (ko)
JP (1) JP2014522517A (ko)
KR (1) KR101962980B1 (ko)
CN (1) CN103534698B (ko)
WO (1) WO2012158390A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180115348A (ko) * 2014-06-03 2018-10-22 구글 엘엘씨 웨어러블 디바이스를 통한 레이더 기반의 제스처 인식

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8884971B2 (en) * 2011-09-30 2014-11-11 Microsoft Corporation Animation engine decoupled from animation catalog
US9064237B2 (en) * 2012-01-23 2015-06-23 Microsoft Technology Licensing, Llc Collaborative communication in a web application
US9360997B2 (en) * 2012-08-29 2016-06-07 Apple Inc. Content presentation and interaction across multiple displays
US9836437B2 (en) * 2013-03-15 2017-12-05 Google Llc Screencasting for multi-screen applications
CN103327112B (zh) * 2013-07-02 2017-06-06 曙光信息产业(北京)有限公司 基于云存储的桌面同步方法以及实现桌面同步的装置
US9690763B1 (en) * 2013-12-17 2017-06-27 Bryant Christopher Lee Display of webpage elements on a connected computer
JP6227776B2 (ja) * 2014-06-25 2017-11-08 株式会社日立製作所 ストレージシステム
US10777164B2 (en) * 2014-12-19 2020-09-15 Qualcomm Incorporated Power optimization by rendering low-resolution tiles during page load
KR102308927B1 (ko) * 2018-12-27 2021-10-05 주식회사 엔씨소프트 화면 출력 방법 및 이를 수행하기 위한 디스플레이 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040055018A1 (en) * 2002-09-18 2004-03-18 General Instrument Corporation Method and apparatus for forwarding television channel video image snapshots to an auxiliary display device
WO2006025087A1 (ja) * 2004-08-30 2006-03-09 Mitsubishi Denki Kabushiki Kaisha データ処理装置及びデータ処理方法及びプログラム
JP2007095080A (ja) * 2004-12-24 2007-04-12 Masahiro Izutsu 携帯情報通信装置、携帯情報通信装置用接続ユニット及び携帯情報通信装置用外部入出力ユニット

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119135A (en) * 1996-02-09 2000-09-12 At&T Corporation Method for passively browsing the internet using images extracted from web pages
US6058250A (en) * 1996-06-19 2000-05-02 At&T Corp Bifurcated transaction system in which nonsensitive information is exchanged using a public network connection and sensitive information is exchanged after automatically configuring a private network connection
US6832215B2 (en) 2000-07-21 2004-12-14 Microsoft Corporation Method for redirecting the source of a data object displayed in an HTML document
US6925631B2 (en) * 2000-12-08 2005-08-02 Hewlett-Packard Development Company, L.P. Method, computer system and computer program product for processing extensible markup language streams
US6938101B2 (en) * 2001-01-29 2005-08-30 Universal Electronics Inc. Hand held device having a browser application
WO2002082229A2 (en) * 2001-04-09 2002-10-17 America Online Incorporated Server-based browser system
US7000008B2 (en) 2001-04-16 2006-02-14 Sun Microsystems, Inc. Method, system, and program for providing data updates to a page including multiple regions of dynamic content
US20020162120A1 (en) * 2001-04-25 2002-10-31 Slade Mitchell Apparatus and method to provide supplemental content from an interactive television system to a remote device
JP2002351779A (ja) * 2001-05-22 2002-12-06 Minolta Co Ltd データ表示システム、データ送信装置、携帯端末、データ表示方法、データ表示プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
EP1316886A1 (en) * 2001-11-28 2003-06-04 Sony International (Europe) GmbH Method for remotely diagnosing devices
US6687485B2 (en) 2002-05-21 2004-02-03 Thinksmark Performance Systems Llc System and method for providing help/training content for a web-based application
US7456993B2 (en) * 2003-03-28 2008-11-25 Vistaprint Technologies Limited Electronic document location indication and navigation method, system and program
US7165215B2 (en) * 2003-06-24 2007-01-16 Microsoft Corporation Pane element
US20050101314A1 (en) * 2003-11-10 2005-05-12 Uri Levi Method and system for wireless group communications
US7173604B2 (en) * 2004-03-23 2007-02-06 Fujitsu Limited Gesture identification of controlled devices
JP3944182B2 (ja) * 2004-03-31 2007-07-11 キヤノン株式会社 セキュリティ通信方法
US20050273609A1 (en) * 2004-06-04 2005-12-08 Nokia Corporation Setting up a short-range wireless data transmission connection between devices
US7954050B2 (en) 2004-06-25 2011-05-31 Icesoft Technologies Canada Corp. Systems and methods for rendering and increasing portability of document-based user interface software objects
US20060064472A1 (en) 2004-09-20 2006-03-23 Mirho Charles A Obtaining information for proximate devices
US20060079214A1 (en) * 2004-10-12 2006-04-13 Nokia Corporation Method and apparatus for showing wireless mobile device data content on an external viewer
US7634780B2 (en) * 2004-11-23 2009-12-15 Microsoft Corporation Method and system for exchanging data between computer systems and auxiliary displays
US7549154B2 (en) * 2004-11-23 2009-06-16 Microsoft Corporation Extensible architecture for auxiliary displays
US8745485B2 (en) * 2005-08-18 2014-06-03 Oracle International Corporation Extensible remote tag markup system and method
US7517098B2 (en) * 2005-09-07 2009-04-14 Nokia Corporation Method, system, apparatus and software product for presentation notes mode
US20070078876A1 (en) * 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
US8595633B2 (en) * 2005-10-31 2013-11-26 Yahoo! Inc. Method and system for displaying contextual rotating advertisements
US9489109B2 (en) * 2006-03-30 2016-11-08 Sony Ericsson Mobile Communication Ab Data communication in an electronic device
US20070242035A1 (en) * 2006-04-13 2007-10-18 Good Way Technology Co., Ltd Wireless network phone
US7779348B2 (en) 2006-08-15 2010-08-17 International Business Machines Corporation Apparatus, system, and method for rendering multiple segment hypertext script
US10452756B2 (en) 2006-09-29 2019-10-22 Oath Inc. Platform for rendering content for a remote device
US20080104516A1 (en) * 2006-10-25 2008-05-01 Ulead Systems, Inc. System and method for editing slideshow
TWI334569B (en) * 2007-05-15 2010-12-11 Ind Tech Res Inst System and method of dual-screen interactive digital television
US8504913B2 (en) 2007-06-08 2013-08-06 Apple Inc. Client-side components
US8266139B2 (en) * 2008-02-12 2012-09-11 Microsoft Corporation System and interface for co-located collaborative web search
TWI393861B (zh) * 2009-01-21 2013-04-21 Htc Corp 位置資訊的分享方法、系統及電腦程式產品
US20100211865A1 (en) 2009-02-19 2010-08-19 Microsoft Corporation Cross-browser page visualization generation
US8108497B2 (en) * 2009-04-16 2012-01-31 Microsoft Corporation Selective enablement of runtime-based application behaviors
JP5350871B2 (ja) * 2009-04-20 2013-11-27 シャープ株式会社 情報表示装置および情報表示方法
US7906720B2 (en) 2009-05-05 2011-03-15 At&T Intellectual Property I, Lp Method and system for presenting a musical instrument
WO2011072020A2 (en) * 2009-12-09 2011-06-16 Interdigital Patent Holdings, Inc. Method and apparatus for session duplication and session sharing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040055018A1 (en) * 2002-09-18 2004-03-18 General Instrument Corporation Method and apparatus for forwarding television channel video image snapshots to an auxiliary display device
WO2006025087A1 (ja) * 2004-08-30 2006-03-09 Mitsubishi Denki Kabushiki Kaisha データ処理装置及びデータ処理方法及びプログラム
JP2007095080A (ja) * 2004-12-24 2007-04-12 Masahiro Izutsu 携帯情報通信装置、携帯情報通信装置用接続ユニット及び携帯情報通信装置用外部入出力ユニット

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180115348A (ko) * 2014-06-03 2018-10-22 구글 엘엘씨 웨어러블 디바이스를 통한 레이더 기반의 제스처 인식

Also Published As

Publication number Publication date
EP2710491B1 (en) 2017-06-21
US20120297292A1 (en) 2012-11-22
EP2710491A2 (en) 2014-03-26
WO2012158390A2 (en) 2012-11-22
KR101962980B1 (ko) 2019-03-27
US9015576B2 (en) 2015-04-21
JP2014522517A (ja) 2014-09-04
WO2012158390A3 (en) 2013-01-31
CN103534698A (zh) 2014-01-22
CN103534698B (zh) 2016-11-09
EP2710491A4 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
KR101962980B1 (ko) 마크업 기반의 문서에서의 정보에 근거한 데이터 분할
US9047261B2 (en) Document editing method
US8806325B2 (en) Mode identification for selective document content presentation
US9772978B2 (en) Touch input visualizations based on user interface context
US20140258834A1 (en) Systems and Methods for Displaying Content with Inline Advertising Zones
US20140258816A1 (en) Methodology to dynamically rearrange web content for consumer devices
US20120216132A1 (en) Embedding User Selected Content In A Web Browser Display
US9953297B2 (en) Sharing online with granularity
JP2017527872A (ja) クラウドストリーミングサービス提供方法、そのための装置及びシステム、並びにそのためのクラウドストリーミング用スクリプトコードを記録したコンピュータ読み取り可能な記録媒体
Chuan HTML5 Mobile Development Cookbook
Magno Mobile-first Bootstrap
Sharma et al. Differences between HTML and HTML 5
Kyrnin Sams Teach Yourself HTML5 Mobile Application Development in 24 Hours
O'donoghue AMP: Building Accelerated Mobile Pages: Create lightning-fast mobile pages by leveraging AMP technology
JP5923495B2 (ja) 再生装置
Preston et al. Learn HTML5 and JavaScript for iOS
Dolgobrod Developing a user interface for a cross-platform web application
KR101955460B1 (ko) 웹 브라우저를 이용한 멀티미디어 플레이어 제공 시스템 및 방법
Shah et al. HTML5 Enterprise Application Development
Els Responsive design high performance
Williams Learn HTML5 and JavaScript for android
JP2008059385A (ja) 情報処理装置、情報処理方法、プログラム、及び情報処理装置の制御方法
Hu et al. Adaptive Mobile Web Pages Using HTML5 and CSS for Engineering Faculty
Delessio Sams Teach Yourself Google TV App Development in 24 Hours
Kanungo Instant Migration to HTML5 and CSS3 How-to

Legal Events

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