对在基于标记的文档中的数据进行所通知的分割的制作方法

文档序号:6495245阅读:159来源:国知局
对在基于标记的文档中的数据进行所通知的分割的制作方法
【专利摘要】提供一种或多种技术和/或系统以用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分以用于与第一部分交互(例如允许智能电话控制单独的监视器上播放的视频)。标记语言文档可以由开发者创建,其中该文档的第一和第二部分由远程设备标签来描绘。远程设备标签可以用于指示解析文档的第一设备将第二部分发送给第二(例如,远程)设备。该文档的第一部分可以由第一设备来呈递并且显示在与第一设备耦合的显示器上;并且第二部分的所呈递的版本可以由与第二设备耦合的显示器来显示。
【专利说明】对在基于标记的文档中的数据进行所通知的分割
[0001]背景
[0002]在计算环境中,标记语言可以被作者用于创建如下的文档:所述文档至少部分地基于文档中提供的文本以及伴随着总体上描述该文本要被如何显示的注释而被显示。例如,文本字符可以联同注释一起包括在文档中,所述注释包括格式化指令、呈现指令、程序性(procedural)指令和/或描述性标记。在该示例中,文本和注释可以用于创建可查看或可处理的文档版本,该文档版本可包括文本、图像、媒体、链接以及其他可查看成分。标记语言可以用于各种各样的文档类型,比如用在文字处理文档(例如使用呈现性标记)、宏或子例程文档(例如使用程序性标记)以及基于web的文档(例如使用描述性标记)中。
[0003]概述
[0004]提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。
[0005]能够理解,在一些实例中,所期望的可能是在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分。例如,所期望的可能是在监视器上显示交互式内容(例如视频),而在智能电话上呈现用于该内容的一个或多个控件(例如播放、停止、暂停、倒带等等)。通过这种方式,用户可以在第一设备上查看与标记语言文档的第一部分相对应的内容,以及在第二设备上查看与该标记语言文档的第二部分相对应的控件,其中第二/第一部分可以与第一/第二部分交互。
[0006]然而,这在一些场景中实现起来可能是有问题的,比如其中web浏览器尝试呈递基于web的文档中托管在第一设备上的第一部分、以及该基于web的文档中托管在第二设备上的第二部分。例如,当前web浏览器通常要求基于web的标记语言文档的各个部分要么作为顶层文档内的子区(例如帧)、要么作为单独的顶层窗口(例如“弹出窗口”)共同存在于相同的web浏览器中。然而,当尝试使这些部分共存时可能出现低效性,并且结果可能不必要地消耗附加的计算和/或联网资源。附加地,单个标记语言文档可能不能为不同设备提供内容。例如,常规技术通常即使在内容为相关的情况下仍然针对不同的设备要求相应的标记语言文档。能够理解,这需要附加的开发和其他资源,至少因为在仍须单独创建的文档之间存在大量重叠。
[0007]因此,公开了一种或多种技术和/或系统,其允许标记语言文档的第一部分显示在第一设备上并且该标记语言文档的第二部分显示在第二设备上,其中第一 /第二部分可以与第二/第一部分交互。在用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分以用于与第一部分交互的一个实施例中,该标记语言文档使用第一设备被解析。另外,标记语言文档中至少部分通过解析所标识出的第一部分可以使用第一设备来呈递,其中该呈递可以用于在与第一设备耦合的显示器上显示第一部分。附加地,标记语言文档的第二部分可以使用标记语言文档中至少部分通过解析标识出的远程设备标签发送给第二设备。远程设备标签可以描绘第二部分,该第二部分可以被发送以供由第二设备显示。[0008]为实现上述内容和相关目的,以下描述和附图阐述了各个说明性方面和实现。这些方面和实现仅指示可以使用一个或多个方面的各种方式中的一些。结合附图阅读以下详细描述,则本公开的其他方面、优点、以及新颖特征将变得显而易见。
[0009]附图简述
[0010]图1是示出示例性方法的流程图,该方法用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分以用于与第一部分交互。
[0011]图2是示出其中可以实现本文所描述的一种或多种技术的一个或多个部分的一示例实施例的流程图。
[0012]图3是示出其中可以实现本文所描述的一种或多种技术的一个或多个部分的一示例实施例的流程图。
[0013]图4A示出了包括第一和第二部分的标记文档的示例实施例。
[0014]图4B示出其中可以实现本文所描述的一种或多种技术的环境的示例实施例。
[0015]图5是示出示例性系统的组件图,该系统用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分以用于与第一部分交互。
[0016]图6是示出其中可以实现本文所述的一个或多个系统的一示例实施例的组件图。
[0017]图7是包括被配置成实现本文中所阐述的措施(provision)中的一个或多个的处理器可执行指令的示例性计算机可读介质的图示。
[0018]图8示出其中可实现本文中所阐述的措施中的一个或多个的示例性计算环境。
[0019]详细描述
[0020]现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标号来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对所要求保护的主题的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了各个结构和设备以便于描述所要求保护的主题。
[0021]可以设计一种用于使用仅仅一个文档在两个不同设备上显示该文档的各部分的方法。例如,替代于需要写入两个单独的文档以便在两个单独的设备上显示所期望的内容,网页开发者可以仅仅写入包括远程设备标签的单个文档以对该文档的内容进行分割。通过这种方式,例如,文档的内容的一个部分可以显示在一个设备上,并且该内容的另一部分可以显示在另一设备上。例如,通过对仅仅一个文档的内容进行分割,web开发者可以更容易和更高效地创建允许一个设备与另一设备上的内容进行交互(例如就像遥控器那样)的内容。
[0022]图1是示出示例性方法100的流程图,该方法100用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分以用于与第一部分交互。示例性方法100在102处开始,并且涉及在104处使用第一设备解析标记语言文档。例如,解析文档可以包括读取文档的注释、标记文档的内容、格式化文档的信息等等以执行包括在文档中的用于呈递该文档的可显示格式的指令。作为说明性示例,可以使用web浏览器引擎来读取基于web的文档以呈递网页的一个或多个部分的一个或多个图像,所述图像然后可以在web浏览器中显示。
[0023]在106,至少部分基于该解析来呈递标记语言文档的第一部分以用于在与第一设备耦合的显示器上显示。例如,标记语言文档的所呈递的第一部分可以包括一个或多个光栅化(例如或者基于矢量)的图像,所述图像可以发送给与第一设备耦合的显示器。作为说明性示例,诸如控制台类型组件(例如游戏控制台、基于因特网的组件)之类的计算机例如可以连接到电视机或监视器以用于查看基于web的内容。在该示例中,该计算机(包括第一设备)可以呈递标记语言文档的各部分并且将所呈递的内容的图像发送给电视机。电视机例如可以在其屏幕上显示包括文档的第一部分的图像以供用户查看。
[0024]在108,使用标记语言文档中的远程设备标签将该标记语言文档的第二部分发送给第二设备。第二部分被发送,使得其最终可以被第二设备显示。例如,第二设备可以可通信地连接到第一设备(例如使用网络连接),并且第二部分可以由第一设备发送给第二设备,使得第二设备可以在必要时呈递和显示第二部分。作为说明性示例,基于控制台的计算机可以连接到因特网(例如有线或无线地连接到与因特网连接的路由器)。第二设备例如可以包括手持式计算设备(例如智能电话),其也可以连接到因特网(例如使用无线连接、蜂窝连接等等)。另外,在该示例中,标记语言文档中的远程设备标签可以向第二设备标识出第二内容要被发送到何处,或者可以仅仅标识出第二内容要被发送给与第一设备连接和/或在第一设备的范围内的远程设备。
[0025]在已经将标记语言文档的第二部分发送给第二设备以后,示例性方法100结束于110。
[0026]图2是示出其中可以实现本文所描述的一种或多种技术的一个或多个部分的示例实施例200的流程图。在202,开发者编写包括第一部分和第二部分的标记语言文档,所述第一部分和第二部分是由远程设备标签来描绘的。例如,游戏开发者可能期望利用所连接的触摸屏设备来控制游戏的内容;或者播放视频内容的网站开发者可能希望利用所连接的设备来控制该视频内容;或者开发者可能希望将网页的一部分发送给屏幕外设备,比如以便分享保密消息。
[0027]在一个实施例中,开发者可以仅仅以标记语言(例如超文本标记语言(HTML))编写一个文档,该文档包括针对两个不同显示器的内容。例如,文档中的远程设备标签可以包括HTML标签,该标签具有用于引导由该标签标记的内容被发送给第二设备(例如屏幕外和/或远程设备)的指令,而未经标记的内容(例如文档中的剩余内容)可以进一步由第一设备来处理。在一个实施例中,文档作者可以编写HTML文档并且例如使用远程设备标签来标记一个或多个帧以供远程显示。
[0028]作为说明性示例,图4A示出了包括第一和第二部分的标记文档400的示例实施例。例如,在示例文档400中,该文档中的HTML标签402通知读取该文档的浏览器在远程控制设备上呈递〈span〉(<跨度 >)元素404。另外,在该示例实施例400中,文档的400的包括头和主体元素的第一部分406可以呈递和显示在与包括(例如,读取文档400的)浏览器的设备耦合的本地显示器上。作为示例,跨度元素404可以包括iframe (i帧),该iframe包括用于呈递远程控制的图像的JavaScript代码,所述图像可以转发给包括显示器的远程设备。作为说明性示例,第一部分406可以提供要在电视机监视器上显示的内容,而第二部分404可以提供一个或多个控件以供内容被显示在智能电话上。在该示例中,用户由此能够在使用他们的智能电话控制视频(例如播放、暂停、倒带等等)的同时在他们的电视机上观看该视频。
[0029]回到图2,在204,使用第一设备,用户可以导航到开发者所编写的文档。例如,第一设备可以包括计算机,该计算机利用浏览器例如通过因特网导航到开发者所创作的web文档。作为说明性示例,用户可以导航到允许用户观看电影的网站,其中电影可以在大的附连的显示器上被观看,并且所连接的手持式设备可以用作一种类型的用于与电影交互的遥控器。在一个实施例中,标记语言文档可以由第一设备从(例如,托管该文档的)远程服务器接收(例如下载)。
[0030]在210,可以由第一设备解析该文档。例如,驻留在第一设备上的浏览器可以包括用于读取标记语言文档的浏览器引擎。标记语言文档可以包括文本的各部分和注释、以及到例如显示在页面的所呈递的表示上的图像和其他媒体的链接。另外,标记语言文档可以包括“标记”和编程代码,其用于格式化文档的所呈递的部分和/或运行页面上的程序(例如使用脚本代码)。用于编写例如供在因特网上显示的文档的标记语言的示例可以包括:超文本标记语言(HTML)、可扩展标记语言(XI)、和/或其衍生或相关语言。在一个实施例中,浏览器弓I擎可以读取标记语言文档以标识出文档的各元素。
[0031]在212,在文档中标识出标绘文档的第二部分的远程设备标签。例如,如上面在图4A中所述,读取示例文档400的浏览器引擎可以标识出描绘第二部分(包括跨度404)的远程设备标签402。在一个实施例中,第二设备可以使用标记语言文档中的远程设备标签来标识。如图4A所示,远程设备标签402将设备“mediaremote (媒体远程)”标识为预期的第二设备。在该示例中,“mediaremote”可以仅仅包括以某种方式(例如通过远程或本地网络、路由器、使用近场无线电连接等等)连接到第一设备的远程设备。
[0032]在一个实施例中,远程设备标签中的第二设备的“id”可以包括统一资源标识符(URI)、网络地址、因特网协议(IP)地址、蓝牙ID或者标识出预期的第二设备的某个其他定位符。在一个实施例中,第二设备可以在第一设备的附近被标识出,使得第二设备的用户可以同时地(例如基本并发地)查看连接到第一设备的显示器和与第二设备耦合的显示器。在该实施例中,例如第二设备可以用作一种类型的用于第一设备所显示的第一部分的控制器,其中用户可以同时看见第一和第二部分。
[0033]作为说明性示例,图4B示出其中可以实现本文所描述的一种或多种技术的环境的不例实施例450。在该不例450中,第一设备456可以与第一显不器452连接,该第一显示器452可以包括大屏幕监视器(例如电视机、计算机监视器等等);并且第二设备454可以包括小型手持式计算设备(例如智能电话、手持式控制台等等),其具有自己的集成(或耦合)显示器。另外,在该实施例中,用户可以握持着第二设备454站在第一显示器452的附近,使得他们可以查看第一显示器452和第二设备454的显示器二者。
[0034]在一个实施例中,标识出远程设备标签也可以包括:标识出第二部分并且从而标识出第一部分。例如,在该实施例中,第一部分可以包括文档中由远程设备标签所描绘的、不是第二部分的那些部分。文档的第二部分可以包括文档中旨在第二设备(例如远程设备)(的显示器)上与文档的第一部分分开地被查看的小节,其中第一部分旨在第一设备上、更确切而言在操作上与其耦合的显示器上被查看。另外,例如第二部分可以仅仅在第二设备上被查看并且第一部分可以仅仅在第一设备上被查看(例如,虽然还构想了其他布置、配置
寸寸7 ο
[0035]回到图2,在214,可以在第一设备上呈递文档。如上所述,文档可以由浏览器引擎来读取和呈递,其中呈递可以包括:使用文档中的标记语言创建文档的可显示的布局。例如,文档的经标记的内容(例如HTML、XML、XHTML、或其他成分)可以被读取并与格式化信息(例如层叠样式表(CSS)、可扩展样式表语言(XSL)或某一其他样式表语言)相组合以生成/呈递文档的可显示布局版本以向用户显示。
[0036]在一个实施例中,呈递可以包括:由第一设备呈递文档的第一和第二部分二者。在另一实施例中,仅仅第一部分可以由第一设备来呈递。例如,远程设备标签可以包括(例如要么显式地、要么使用库元素)告诉浏览器引擎要对文档的第二部分做些什么的指令。
[0037]在一个实施例中,远程设备标签可以包括告诉第一设备呈递第二部分的可显示布局以供发送给第二设备的指令。在另一实施例中,远程标签可以通知第一设备仅仅将第二部分(例如作为标记语言部分)发送给第二设备。在另一实施例中,远程设备标签可以向远程服务器(例如包括内容的基于云的服务器)发起将指令(例如标记语言或脚本代码和/或可查看布局)发送给第二设备的请求。
[0038]在示例实施例200中的216,由第一设备显示文档的第一部分。例如,如图4B所示,第一设备456可以例如本地地与第一显示器452耦合,并且所呈递的第一部分460可以在第一显不器452上显不。能够理解,第一显不器不限于本地地与第一设备稱合。例如,第一和第二显示器可以比如通过网络连接(例如因特网、内联网或远程网络系统)都与第一设备远程地耦合。在图4的示例实施例450中,第一显示器可以包括通过线缆连接的监视器或电视机、或者比如通过因特网远程地连接到第一设备的显示器。另外,第一显示器可以使用无线本地网络连接(例如WiF1、蓝牙、近场无线电等等)连接到第一设备。
[0039]回到图2,在206,用户可以查看第一设备显示的第一部分,并且可以决定创建或发起第一设备与第二设备之间的连接。作为示例,文档中向用户显示的所呈递的第一部分可以向用户通知:他们可以使用第二设备与第一部分交互。作为说明性示例,文档可以包括网页,其中网页的第一部分包括令人感兴趣的内容,比如电影、游戏或交互式网站。另外,在该示例中,网页可以通知用户连接第二设备以用作该内容的一种类型的交互式控件。
[0040]在电视机或监视器上使用典型的电视机远程控制器或控制台控制器与基于web的内容进行交互常常可能是令人沮丧的。例如,网页常常被优化以使用典型输入控件(例如键盘和鼠标)来交互。另外,一些网页可能希望开发定制的控件,比如以用于交互式媒体、游戏等等。在一个实施例中,第二部分可以由文档作者定制以提供(例如第一部分的)文档内容专用的交互式控件。因此,例如当用户看见连接到第二设备的消息时,他们可以选择连接到手持式计算设备(例如智能电话)以与文档的第一部分交互,使得最终被提供给用户的第二部分是以适用于手持式计算设备(例如智能电话)的方式提供的。
[0041]能够理解,第一和第二设备的连接和交互不限于所述实施例。能够预料到,本领域技术人员可以构思可替代的实施例以用于第一和第二设备之间的连接和交互以共享来自相同文档的内容。例如,第二部分可以包括旨在仅仅由第二设备的用户来查看的特定信息(例如向一个或多个第二设备发送问题的在线益智游戏)。另外,作为另一示例,第一和第二部分(例如以及第三、第四等等)可以包括文档的不同部分,所述部分旨在被不同的所连接的设备查看(例如,以允许多个参与者控制并发地显示在监视器、电视机等等上的相应人物)。
[0042]在一方面,用户可以如上所述在被提供要这么做的指示时将第二设备与第一设备连接。在可替代的实施例中,在该方面,用户可能已经将第二设备连接到网络。在该实施例中,例如第一设备可以使用网络的标识符(比如举例来说使用网络的URI)将第二部分引导到第二设备。
[0043]附加地,作为另一实施例,第一和第二设备二者都可以连接到网络(例如本地地或远程地)并且第一设备可以仅仅将第二部分发送给“最接近”的所连接的设备。例如,网络服务(例如基于云的服务)能够标识出接近第一设备的一个或多个设备。在该示例中,网络服务可以找出要与其连接以发送第二内容的最接近的设备(例如,或者向用户指示对设备的选择)。
[0044]在示例实施例200中的218,第一设备可以将第二部分打包并且在220将第二部分发送给第二设备。例如,如果第二部分包括所呈递的版本,比如图像的布局视图,则第二部分的所呈递的版本可以被打包并发送给第二设备。作为另一示例,如果第二部分包括标记语言或者某种代码,则其可以被打包并发送给第二设备(例如以供由第二设备呈递)。作为另一示例,如果第二部分包括请求远程服务器向第二设备提供内容的请求,则该请求可以被打包并发送给远程服务器,该远程服务器进而可以将第二部分发送给第二设备(例如作为所呈递的(布局视图)版本和/或作为要呈递的代码)。
[0045]在一个方面,如上所述,第一和第二设备可以例如可通信地以各种各样的方式连接,由此提供将第二部分发送给第二设备(例如,以及来回通信)的各种各样的方式。在一个实施例中,第一设备与第二设备之间的无线连接(例如WiF1、近场无线电、蓝牙等等)可以用于通信,这例如包括发送第二部分和/或接收到第二设备中的输入。在一个实施例中,第一设备与第二设备之间的本地网络连接可以用于通信(例如要么有线、要么无线的局域网等等)。在一个实施例中,第一设备与第二设备之间的远程网络连接(例如因特网、内联网、广域网等等)可以用于通信。在一个实施例中,第一设备与第二设备之间的有线连接(例如直连线,比如USB、网络电缆等等)可以用于通信。
[0046]在208,第二设备可以接收第二部分并将其显示在所耦合的显示器上以供用户查看。在一个实施例中,第二设备可以包括合并的显示器(第二显示器),其可用于显示第二部分。在另一实施例中,第二设备可以与诸如用于显示第二部分的监视器或电视机之类的单独显示器(第二显示器)耦合。另外,在一个实施例中,第二设备可以仅仅显示由第一设备发送的比如举例来说布局视图中的所呈递的版本。在另一实施例中(例如其中第一设备不呈递第二部分),第二设备可以本地地呈递例如包括标记语言和/或脚本代码的第二部分,以生成供在第二显示器上显示的布局视图。
[0047]在一个方面,发送给第二设备的第二部分可以表示用户可能希望与之交互的内容。例如,与由第二部分提供的内容交互的用户可以影响显示在第一显示器上的第一部分。作为说明性示例,视频游戏可以在第二部分中提供交互式控件,所述交互式控件允许用户将第二设备用作游戏控制器(例如用于输入命令)。作为另一说明性示例,控制台设备可以连接到电视机以用于查看媒体,比如电视演出和电影。在该示例中,第二部分可以包括TV遥控器类型的设备,该设备允许用户控制媒体内容的观看(例如播放、暂停、快进等等)。
[0048]图3是示出其中可以实现本文所描述的一种或多种技术的一个或多个部分的示例实施例300的流程图。在302,用户可以与显示在与第二设备相关联的显示器上的所显示的内容(包括标记语言文档的第二部分)交互。例如,如果第二内容包括用于第一内容的某种的控制器,该第一内容对应于显示在与第一设备相关联的显示器上的标记语言文档的第一部分,则用户可以激活所显示的内容上的虚拟按钮,期望将该激活翻译成针对第一内容的相应动作。作为说明性示例,第一内容可以包括视频,并且第二内容可以包括暂停按钮,该暂停按钮在被用户按下时可以暂停由第一显示器所显示的视频内容。
[0049]在304,对用户的输入交互的指示可以从第二设备发送给第一设备。在一个实施例中,对输入交互的指示可以使用上述第一和第二设备之间的一个或多个通信连接来发送。对与标记语言文档的第二部分的输入交互的指示可以在第一设备处从第二设备接收。
[0050]在一个实施例中,对与接收自第二设备的第二部分的输入交互的指示可以包括与第二设备所显示的图像的输入交互的一个或多个坐标。例如,第二部分可以包括各元素的布局,所述元素包括可分别由布局中的坐标(例如像素网格坐标)来标识出的控件。在该示例中,当用户比如通过点击、按下、滑扫或旨在激活元素的某个其他动作激活元素(例如以及由此激活底层控件)时,包括用户的动作的一个或多个坐标可以用于输入交互指示(例如,被发送给第一设备)。
[0051]在另一实施例中,对与接收自第二设备的第二部分的输入交互的指示可以包括针对输入交互的一个或多个矢量。例如,在特定方向上移动元素或者与元素交互可以生成包括针对该移动交互(例如致使显示在第一显示器上的人物跑得更快、跳得更高等等)的方向和/或速度的矢量。
[0052]在另一实施例中,输入交互可以激活控制元素,该控制元素生成(例如或者继续)第二设备上所显示的第二部分中所包括的代码(例如脚本代码或标记语言代码)。例如,在第二设备如上所述呈递包括第二部分的标记语言代码的情况下,输入交互可以以底层代码生成动作,所述底层代码的各部分可以作为对输入交互的指示发送给第一设备。作为说明性示例,第二部分可以被配置为接收来自用户的数据输入,比如字母数字字符(例如文本)。在该示例中,当用户使用第二设备输入字符时,输入字符可以作为(例如,描述所述字符并显示特性的)标记语言代码发送给第一设备。
[0053]在306,包括对输入交互的指示的输入数据可以用于更新标记语言文档的一个或多个部分。在一个实施例中,在308,对输入交互的指示可以用于更新第一设备上的所呈递的第一部分,在310,所述第一部分然后可以显示在可操作地与第一设备相关联的显示器上。例如,如果第二部分包括用于显示在第一显示器上的游戏的游戏控制器,则输入数据可以改变该游戏的元素(例如移动游戏人物)。作为另一示例,输入数据可以用于激活第一部分中的内容,比如激活第一部分中用于检索内容的元素(例如使用显示在第二显示器上的控制器来激活第一显示器上的控件)。
[0054]在一个实施例中,对第一设备接收的输入交互的指示也可以(或者可替代地)更新文档的第二部分。例如,用户对第二设备的输入可以改变第二部分如何针对第二设备被显示。在一个实施例中,在包括第二部分的标记语言代码例如本地地驻留在第二设备上的情况下,第二设备可以本地地呈递第二部分的经更新的版本。
[0055]在另一实施例中,在312,如果对在第一设备处接收到的交互输入的指示要求更新第二部分(在312处为是),则在314,可以在第一设备处更新第二部分并且可以将经更新的第二部分发送给第二设备。例如,第一设备可以使用所接收的对交互输入的指示来呈递第二部分的经更新的布局视图,或者可以使用对交互输入的指示来更新向远程服务器的请求。在该示例中,第二部分的经更新的布局视图可以发送给第二设备,或者经更新的请求可以发送给远程服务器以向第二设备发送经更新的第二部分。
[0056]在316,该文档的经更新的第二部分可以显示在可操作地与第二设备相关联的显示器(比如第二显示器)上,并且第一设备可以在302等待在第二设备上与第二部分的显示的另一交互。如果文档的第二部分未因第一设备处对输入交互的指示而被更新(在312处为否),则第一设备可以在302等待第二设备上与第二部分的显示的另一交互。例如通过这种方式,用户可以与由第二设备显示的标记语言文档的第二部分交互以与第一设备所显示的至少第一部分交互。
[0057]可以设计一种系统,其用于对文档的各部分进行分割,例如使得不同部分可以分别由不同设备来显示。例如,编写基于标记语言的文档(例如web文档)的开发者可以仅仅编写一个文档,其中该文档的第一部分可以被呈递以供在第一设备上显示,并且第二部分可以被呈递以供在第二所连接的(例如通过诸如因特网之类的网络连接的)设备上显示。例如通过这种方式,开发者具有简化的方式来向用户提供使用第二设备与第二部分交互以控制文档中由第一设备显示的第一部分的元素(例如而不必为各个设备编写单独的标记文档)的能力。
[0058]图5是示出示例性系统500的组件图,该系统500用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示该标记语言文档的第二部分以用于与第一部分交互。文档解析组件502被配置为解析标记语言文档550以标识出远程设备标签558。例如,标记语言文档550可以比如通过下载或浏览包括该文档的站点而被示例性系统500接收,并且文档解析组件502可以读取标记语言以标识出远程设备标签558。另外,在一个实施例中,在标识出远程设备标签558时,文档解析组件502可以标识出文档的第一部分552和第二部分554,例如因为远程设备标签558可以包括描述文档的第一部分552和第二部分554的一种类型的标记。
[0059]第一呈递组件504可操作地与文档解析组件502耦合。第一呈递组件504被配置为至少部分基于文档解析组件502的解析来呈递标记语言文档550的第一部分552以供在第一显示器560上显示。例如,由文档解析组件502标识出的远程设备标签558可以从第二部分554描绘第一部分552。在该示例中,第一呈递组件504于是可以呈递所标识出的第一部分,从而从第一部分中的标记语言创建可被第一显示器560显示的所呈递的版本(例如包图像、文本、动画、视频、其他媒体等等的布局视图)。在一个实施例中,第一显示器可以可通信地与示例性系统500 (例如有线或无线地)耦合。
[0060]发送组件506可操作地与文档解析组件502耦合。发送组件506被配置为将标记语言文档550的第二部分554发送给远程设备556。第二部分554由标记语言文档550中的远程设备标签558来标识。例如,文档解析组件502可以在解析标记语言文档550时标识出远程设备标签558,并且其可以用于从第一部分552描绘第二部分554。作为说明性示例,远程设备标签558可以由文档550的开发者插入,以标识出可用于向远程设备556发送内容以供显示的标记语言代码。
[0061]图6是示出其中可以实现本文所述的一个或多个系统的一示例实施例600的组件图。在此示例中,提供图5的扩展,并且由此出于简便的目的可以不重复结合图5描述的对元件、组件等的说明。包括远程设备标签658的标记语言文档650可以包括:基于超文本标记语言(HTML)的文档、基于可扩展标记语言(XML)的文档和/或与基于web的文档相关联的应用编程接口(API)。例如,标记语言文档650可以是单个文档,其比如是以一种或多种标记语言创作的,并且其可以包括由远程设备标签658描绘的各部分。
[0062]第二显示器610可以至少部分地基于标记语言文档650的经解析部分来在远程设备656上显示文档的第二部分654 (例如所显示的第二部分662)的呈递。作为示例,远程设备656可以包括可接收第二部分654的计算设备,并且与第二显示器610耦合和/或其中第二显示器610与远程设备656集成。作为说明性示例,远程设备656可以是手持式控制台、智能电话或一种类型的包括(例如用于输入的触敏)集成显示屏的媒体播放器,其中可以显示对第二内容662的所呈递的表示。
[0063]第二文档呈递组件612被配置为为远程设备656呈递标记语言文档650的第二部分654 (例如,在第二部分654未以所呈递的方式被第二设备接收的情况下)。在一个实施例中,发送给远程设备的第二部分654可以包括在标记语言文档650中由远程设备标签658所标识出的标记语言代码。在该实施例中,例如第二呈递组件612可以创建第二部分654的所呈递的版本(例如布局视图)以供在第二显示器610上显示。在一个实施例中,包括标记语言代码的第二部分654可以从发送组件506来发送。在另一实施例中,包括标记语言代码的第二部分654可以应发送组件506的请求从远程服务器(未示出)来发送。作为说明性示例,在该实施例中,标记语言代码被发送给第二设备,该第二设备本地地呈递代码以创建第二部分的可查看的图像。
[0064]在一个实施例中,发送给远程设备656的第二部分654可以包括基于图像的布局版本,该布局版本至少部分地基于标记语言文档的所呈递的第二部分。例如,第一呈递组件504可以呈递在标记语言文档650中由远程设备标签658标识出的第一和第二部分二者,由此创建第二部分的所呈递的视图。在该示例中,第二部分的所呈递的版本可以发送给远程设备656以供由第二显示器610显示。作为说明性示例,在该实施例中,仅仅第二部分的可查看的图像被发送给远程设备以供显示,其中该图像是对第二部分的呈递。
[0065]示例实施例600可以包括发送组件506与远程设备656之间的例如用于发送第二部分654的连接614。在一个实施例中,该连接可以包括本地无线连接(例如WiF1、近场无线电等等)、本地网络连接(例如有线或无线)、基于云的远程连接(例如通过因特网或内联网)和/或远程网络连接(例如广域网)。在一个实施例中,该连接还可以用于接收来自远程设备656的比如对输入组件616的输入。
[0066]输入组件616可以被配置为从远程设备656接收对与所显不的第二部分662的输入交互的指示664。例如,第二设备656的用户可以通过选择所显示的第二部分662中的所显示的控制元素来与所显示的第二部分662交互(例如使用触摸屏输入以激活图形用户界面(⑶I)元素)。在该示例中,对用户输入的指示664可以从远程设备656发送给输入组件616。
[0067]另外,输入组件616可以响应于从远程设备656接收到的指示664来更新所呈递的标记语言文档650的至少一部分。在一个实施例中,该更新可以包括对在第一显示器660上显示的文档的第一部分652的至少一部分的更新和/或对标记语言文档的所显示的第二部分662的至少一部分的更新。
[0068]远程设备656的用户所提供的输入例如可以致使文档650的第一部分652被更新,其中第二部分被用作用于文档650的第一部分652的一种远程控制器。在该示例中,第一部分的经更新的版本可以比如被第一呈递组件504呈递,并且被第一显示器660显示。在一个实施例中,由远程设备656的用户提供的输入可以致使文档650的第二部分例如通过与第二显示器上改变元素的GUI元素交互而被更新。在该示例中,第二部分的经更新的版本可以比如被第一呈递组件504或第二呈递组件612呈递,并且被第二显示器610显示。
[0069]又一实施例涉及包括被配置成实现此处所呈现的技术中的一种或多种的处理器可执行指令的计算机可读介质。可以这些方式设计的一种示例性计算机可读介质在图7中示出,其中实现700包括其上编码有计算机可读数据706的计算机可读介质708 (例如,CD-R、DVD-R、或硬盘驱动器的盘)。该计算机可读数据706又包括被配置成根据此次阐述的原理中的一个或多个来操作的一组计算机指令704。在一个这样的实施例702中,处理器可执行指令704可被配置成执行一种方法,诸如例如,图1的示例性方法100的至少某一些。在另一个这样的实施例中,处理器可执行指令704可被配置成实现一种系统,诸如例如,图5的示例性系统500的至少某一些。本领域普通技术人员可设计被配置成根据此处所呈现的技术来操作的许多此类计算机可读介质。
[0070]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
[0071]如在本申请中所使用的,术语“组件”、“模块”、“系统”、“接口 ”等一般旨在表示计算机相关的实体,该实体可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在控制器上的应用程序和控制器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算机之间。
[0072]此外,所要求保护的主题可使用产生控制计算机以实现所公开的主题的软件、固件、硬件、或其任意组合的标准编程和/或工程技术来实现为方法、装置、或制品。如此处所使用的术语“制品”旨在涵盖可从任何计算机可读设备、载体、或介质进行访问的计算机程序。当然,本领域的技术人员应当认识到,在不背离所要求保护的主题的范围或精神的情况下可对该配置作出许多修改。
[0073]图8和以下讨论提供了对实现本文所阐述的一个或多个原理的实施例的合适计算环境的简要、概括描述。图8的操作环境只是合适的操作环境的一个示例,而不旨在对该操作环境的使用范围或功能暗示任何限制。示例计算设备包括但不限于,个人计算机、服务器计算机、手持式或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括任何以上系统或设备中的任一个的分布式计算环境等。
[0074]虽然并非必需,但是实施例在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中进行描述。计算机可读指令可经由计算机可读介质来分发(在下文中讨论)。计算机可读指令可被实现为执行特定任务或实现特定抽象数据类型的程序模块,诸如函数、对象、应用程序编程接口(API)、数据结构等等。通常,计算机可读指令的功能可按需在各个环境中组合或分布。
[0075]图8示出包括被配置成实现此处所提供的一个或多个实施例的计算设备812的系统810的示例。在一种配置中,计算设备812包括至少一个处理单元816和存储器818。取决于计算设备的确切配置和类型,存储器818可以是易失性的(例如诸如RAM)、非易失性的(例如诸如ROM、闪存等)、或两者的一些组合。该配置在图8中由虚线814示出。
[0076]在其他实施例中,设备812可包括附加特征和/或功能。例如,设备812还可包括附加存储(例如,可移动和/或不可移动),包括但不限于磁存储、光存储等。此类附加存储在图8中由存储820示出。在一个实施例中,实现此处所提供的一个或多个实施例的计算机可读指令可位于存储820中。存储820还可储存实现操作系统、应用程序等其他计算机可读指令。可将计算机可读指令加载到存储器818中,以供例如处理单元816执行。
[0077]如此处所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器818和存储820是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD )或其他光存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可用于存储所需信息且可由设备812访问的任何其他介质。任何这样的计算机存储介质都可以是设备812的一部分。
[0078]设备812还可包括允许该设备812与其他设备进行通信的通信连接826。通信连接826可包括但不限于,调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外线端口、USB连接、或用于将计算设备812连接到其他计算设备的其他接口。通信连接826可包括有线连接或无线连接。通信连接826可发送和/或接收通信媒体。
[0079]术语“计算机可读介质”可包括通信介质。通信介质通常以诸如载波或其他传输机制之类的“已调制数据信号”来体现计算机可读指令或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”可包括以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。
[0080]设备812可包括输入设备824,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备、和/或任何其他输入设备。在设备812中还可包括输出设备822,诸如一个或多个显不器、扬声器、打印机、和/或任何其他输出设备。输入设备824和输出设备822可经由有线连接、无线连接、或其任何组合连接到设备812。在一个实施例中,来自另一计算设备的输入设备或输出设备可用作计算设备812的输入设备824或输出设备822。
[0081]计算设备812的组件可通过多种互连来连接,例如总线。这样的互连可以包括诸如PCI Express之类的外围部件互连(PCI )、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一实施例中,计算设备812的组件可通过网络来互连。例如,存储器818可包括位于通过网络互连的不同物理位置的多个物理存储器单元。
[0082]本领域技术人员应当认识到,用于存储计算机可读指令的存储设备可分布在网络上。例如,可经由网络828访问的计算设备830可存储实现此处所提供的一个或多个实施例的计算机可读指令。计算设备812可访问计算设备830,并且下载部分或全部计算机可读指令以供执行。替换地,计算设备812可按需下载计算机可读指令的片断,或者一些指令可在计算设备812处执行,而一些指令则可在计算设备830处执行。
[0083]本文提供了各实施例的各种操作。在一个实施例中,所描述的操作中的一个或多个可以组成存储在一个或多个计算机可读介质上的计算机可读指令,这些指令如果由计算设备执行则使得计算设备执行所描述的操作。所描述的一些或所有操作的顺序不应该被解释为暗示这些操作一定是依赖于顺序的。从本说明书获益的本领域技术人员将认识到替换顺序。此外,应该理解,并非所有的操作都一定存在于本文所提供的每一个实施例中。
[0084]此外,本文中所使用的词语“示例性”意指用作示例、实例或说明。在本文中描述为“示例性”的任何方面或设计并不一定被解释为比其他方面或设计有利。相反,使用词语“示例性”旨在以具体的方式呈现各个概念。如本申请中所使用的,术语“或”意指包括性“或”而非互斥性“或”。即,除非另有指定或从上下文中清晰可见,否则“X使用A或B”意指任何自然的包括性排列。即,如果X使用A ;X使用B ;或X使用A和B两者,则在任何以上情况下,都满足“X使用A或B”。同样,A和B等中至少一个通常是指A或B、或A和B 二者。另夕卜,本申请中和所附权利要求书中所使用的冠词“一”和“一个” 一般可被解释为意指“一个或多个”,除非另有指定或从上下文中清晰可见是指单数形式。
[0085]同样,虽然参考一个或多个实现示出并描述了本公开,但本领域技术人员基于对本说明书和附图阅读和理解,可以想到各种等效更改和修改。本发明包括所有这样的修改和更改,并且仅由所附权利要求的范围来限定。特别地,对于由上述组件(例如,元素、资源等)执行的各种功能,除非另外指明,否则用于描述这些组件的术语旨在对应于执行所描述的执行此处在本发明的示例性实现中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。此外,尽管可相对于若干实现中的仅一个实现来公开本公开的一个特定特征,但这一特征可以如对任何给定或特定应用所需且有利地与其他实现的一个或多个其他特征相组合。此外,就在说明书或权利要求书中使用术语“包含”、“具有”、“含有”和“带有”及其变体而言,此类术语旨在以与术语“包括”相似的方式为包含性的。
【权利要求】
1.一种用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示所述标记语言文档的第二部分以用于与第一部分交互的方法,包括: 使用第一设备解析所述标记语言文档; 至少部分基于所述解析来使用第一设备呈递所述标记语言文档的第一部分以供在与第一设备耦合的显示器上显示;以及 使用所述标记语言文档中的至少部分基于所述解析的远程设备标签将所述标记语言文档的第二部分发送给第二设备,被发送的第二部分供所述第二设备显示。
2.如权利要求1所述的方法,其特征在于,发送所述标记语言文档的第二部分包括下列各项中的一个或多个: 发送所述标记语言文档的第二部分的所呈递的视图;以及 发送包括第二部分的标记语言代码以用于由第二设备来呈递。
3.如权利要求1所述的方法,其特征在于,发送所述标记语言文档的第二部分包括:向包括所述标记语言文档的远程服务器发送一请求,所述请求向第二设备提供包括第二部分的标记语言代码以供呈递。
4.如权利要求1所述的方法,其特征在于,包括从第二设备接收对与所述标记语言文档的第二部分的输入交互的指示。
5.如权利要求4所述的方法,其特征在于,包括下列各项中的一个或多个: 基于与第二部分的输入交互更新第一设备上的所呈递的第一部分;以及 基于与第二部分的输入交互将经更新的第二部分发送给第二设备。
6.如权利要求1所述的方法,其特征在于,包括使用所述标记语言文档中的远程设备标签来标识出第二设备。
7.一种用于在第一设备上显示标记语言文档的第一部分并且在第二设备上显示所述标记语言文档的第二部分以用于与第一部分交互的系统,包括: 文档解析组件,其被配置为解析所述标记语言文档以标识出远程设备标签; 第一呈递组件,其可操作地与所述文档解析组件耦合并且被配置为至少部分基于所述文档解析组件的解析来呈递所述标记语言文档的第一部分以用于在第一显示器上显示;以及 发送组件,其可操作地与所述文档解析组件耦合并且被配置为将所述标记语言文档的第二部分发送给远程设备,第二部分是由所述标记语言文档中的远程设备标签标识出的。
8.如权利要求7所述的系统,其特征在于,包括第二显示器,其被配置为至少部分基于所述标记语言文档的经解析的部分来为所述远程设备显示第二部分。
9.如权利要求7所述的系统,其特征在于,包括第二文档呈递组件,其被配置为为所述远程设备呈递所述标记语言文档的第二部分。
10.如权利要求7所述的系统,其特征在于,包括输入组件,其被配置为: 从所述远程设备接收对与第二部分的输入交互的指示;以及 响应于所述指示更新所述标记语言文档的至少一部分,所述更新包括下列各项中的一个或多个: 对所述标记语言文档的所呈递的第一部分的至少一部分的更新;以及 对所述标记语言文档中发送给所述远程设备的第二部分的至少一部分的更新。
【文档编号】G06F17/21GK103534698SQ201280023689
【公开日】2014年1月22日 申请日期:2012年5月7日 优先权日:2011年5月16日
【发明者】M·多尔蒂, J·贝托拉米, A·史密斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1