装置、方法和计算机程序 |
|||||||
申请号 | CN201280056681.2 | 申请日 | 2012-11-16 | 公开(公告)号 | CN103946793A | 公开(公告)日 | 2014-07-23 |
申请人 | 诺基亚公司; | 发明人 | V·塞特卢尔; R·伯斯; V·施里瓦斯塔瓦; H-Y·庞; | ||||
摘要 | 一种装置包括:至少一个本地输入/输出设备;以及 接口 ,被配置用于在装置主控的至少一个应用与该至少一个本地输入/输出设备之间对接并且被配置用于在装置主控的该至少一个应用与另一装置主控的至少一个远程输入/输出设备之间对接;其中接口具有第一状态,在第一状态中,接口被配置用于将应用与该至少一个本地输入/输出设备耦合、但是不将应用与该另一装置主控的至少一个远程输入/输出设备耦合;其中接口具有第二状态,在第二状态中,接口被配置用于将应用与该至少一个本地输入/输出设备耦合并且将应用与该另一装置主控的至少一个远程输入/输出设备耦合;并且其中接口被配置用于响应于邻近检测触发将其状态从第一状态改变成第二状态,其中邻近检测触发指示主控远程输入/输出设备的另一装置可用于被接口耦合。 | ||||||
权利要求 | 1.一种装置,包括: |
||||||
说明书全文 | 装置、方法和计算机程序技术领域背景技术[0002] 可能希望使得装置能够访问另一装置的资源。资源可以例如是本地存储的数据和/或本地输入/输出设备。 发明内容[0003] 根据本发明的各种、但是并非所有实施例,提供一种装置,该装置包括:至少一个本地输入/输出设备;以及接口,被配置用于在装置主控的至少一个应用与至少一个本地输入/输出设备之间对接并且被配置用于在装置主控的该至少一个应用与另一装置主控的至少一个远程输入/输出设备之间对接;其中接口具有第一状态,在第一状态中,接口被配置用于将应用与至少一个本地输入/输出设备耦合、但是不将应用与另一装置主控的至少一个远程输入/输出设备耦合;其中接口具有第二状态,在第二状态中,接口被配置用于将应用与至少一个本地输入/输出设备耦合并且将应用与另一装置主控的至少一个远程输入/输出设备耦合;并且其中接口被配置用于响应于邻近检测触发将其状态从第一状态改变成第二状态,其中邻近检测触发指示主控远程输入/输出设备的另一装置可用于被接口耦合。 [0004] 根据本发明的各种、但是并非所有实施例,提供一种方法,该方法包括:将应用与本地装置主控的至少一个本地输入/输出设备耦合、但是不将应用与另一装置主控的至少一个远程输入/输出设备耦合;并且响应于邻近检测触发,将应用与本地装置主控的至少一个本地输入/输出设备耦合并且将应用与另一装置主控的至少一个远程输入/输出设备耦合,其中邻近检测触发指示主控远程输入/输出设备的另一装置可用于被耦合。 [0005] 根据本发明的各种、但是并非所有实施例,提供一种装置,该装置包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置用于与至少一个处理器一起引起该装置至少执行:将应用与本地装置主控的至少一个本地输入/输出设备耦合、但是不将应用与另一装置主控的至少一个远程输入/输出设备耦合;并且响应于邻近检测触发,将应用与本地装置主控的至少一个本地输入/输出设备耦合并且将应用与另一装置主控的至少一个远程输入/输出设备耦合,其中邻近检测触发指示主控远程输入/输出设备的另一装置可用于被耦合。 [0006] 接口被配置用于响应于邻近检测触发(该邻近检测触发指示主控远程输入/输出设备的另一装置可用于被接口耦合)将其状态从第一状态改变成第二状态的这一事实,使得装置处的应用能够在另一装置处的远程输入/输出资源可用时使用该远程输入/输出资源。 [0008] 为了更好地理解本发明的实施例的各种示例,现在将仅通过示例方式参照附图,在附图中: [0009] 图1示意地图示包括装置和另一装置的系统; [0010] 图2A图示接口,该接口在第一状态中被配置用于将应用与本地输入/输出设备耦合、但是不将应用与另一装置主控的远程输入/输出设备耦合; [0011] 图2B图示接口,该接口在第二状态中被配置用于将应用与本地输入/输出设备耦合、并且将应用与另一装置主控的远程输入/输出设备耦合; [0012] 图3图示接口的状态转变图; [0013] 图4图示用于装置的被配置用于缓冲数据的输入/输出缓冲器; [0014] 图5图示与图1中所示系统相似、但是不同的系统; [0015] 图6A图示可以被配置用于生成查看映射的接口; [0016] 图6B图示接口可以被配置用于将来自应用的显示输出数据映射到与查看映射对应的存储器映射; [0017] 图7图示具有多个邻近检测器的装置的示例; [0018] 图8图示系统,在该系统中,装置不支持触摸输入,但是另一装置支持; [0019] 图9图示系统,在该系统中,接口被配置用于使得用于应用的用户输入驱动能够在这些装置中的一个装置中被发起并且在这些装置中的另一装置中被终止; [0020] 图10图示系统,在该系统中,接口被配置用于使得用于应用的用户输入驱动能够在这些装置中的一个装置中被发起并且在这些装置中的另一装置中被终止; [0021] 图11图示与图1中所示系统相似、但是不同的系统; [0022] 图12图示接口的一个示例;并且 [0023] 图13A、图13B和图13C图示示例,其中邻近检测事件是将装置放置到另一装置的显示器上。 具体实施方式[0024] 各图图示了装置2,该装置包括:至少一个本地输入/输出设备4;以及接口6,该接口被配置用于在装置2主控的至少一个应用8与该至少一个本地输入/输出设备4之间对接并且被配置用于在装置2主控的该至少一个应用8与另一装置12主控的至少一个远程输入/输出设备14之间对接;其中接口具有第一状态20,在该第一状态中,接口6被配置用于将应用8与该至少一个本地输入/输出设备4耦合、但是不将应用8与另一装置12主控的至少一个远程输入/输出设备14耦合;其中接口6具有第二状态22,在该第二状态中,接口6被配置用于将应用8与至少一个本地输入/输出设备4耦合并且将应用8与另一装置12主控的至少一个远程输入/输出设备14耦合;并且其中接口6被配置用于响应于邻近检测触发3,将其状态从第一状态20改变成第二状态22,该邻近检测触发3指示主控远程输入/输出设备14的另一装置12可用于被接口6耦合。 [0025] 图1示意地图示包括装置2和另一装置12的系统。 [0026] 装置2提供应用8,并且装置2包括本地输入/输出设备4和接口6。 [0027] 术语‘输入/输出设备’是包括纯输入设备、纯输出设备以及输入和输出设备的一类设备。 [0028] 接口6被配置用于在装置2主控的应用8与本地输入/输出设备4之间对接。接口6也被配置用于在装置2主控的应用8与另一装置12主控的远程输入/输出设备14之间对接。 [0029] 接口6被配置用于响应于邻近检测触发3,将其状态从第一状态20改变成第二状态22,该邻近检测触发3指示主控远程输入/输出设备14的另一装置12可用于被接口6耦合。接口6可以被配置用于自动响应于邻近检测触发3。 [0030] 参照图2A,在第一状态20中,接口6被配置用于将应用8与本地输入/输出设备4耦合、但是不将应用8与另一装置12主控的远程输入/输出设备14耦合。 [0031] 参照图2B,在第二状态22中,接口6被配置用于将应用8与本地输入/输出设备4耦合并且将应用8与另一装置12主控的远程输入/输出设备14耦合。 [0032] 图3图示邻近检测触发3引起接口6的状态从第一状态20自动改变成第二状态22。 [0033] 邻近检测触发3指示主控远程输入/输出设备14的另一装置12可用于被接口6耦合。 [0034] 图3也图示触发5引起接口6的状态从第二状态22改变成第一状态20。触发5指示主控远程输入/输出设备14的另一装置12不再可用于被接口6耦合。 [0035] 参照图4,接口6包括或者控制用于装置2的、被配置用于缓冲数据的输入/输出缓冲器30。 [0036] 术语‘输入/输出缓冲器’是包括纯输入缓冲器、纯输出缓冲器以及输入缓冲器和输出缓冲器的组合的一类缓冲器。 [0037] 在第一状态20期间,输入/输出缓冲器30被配置用于缓冲用于本地输入/输出设备4、但是不用于另一装置12主控的远程输入/输出设备14的数据。 [0038] 在第二状态22期间,输入/输出缓冲器30被配置用于缓冲用于本地输入/输出设备4和另一装置12主控的远程输入/输出设备14的数据。输入/输出缓冲器30可以被配置用于在用于本地输入/输出设备4的第一保留部分32中和在用于远程输入/输出设备14的第二保留部分34中缓冲数据。 [0039] 第二保留部分34可以提供由另一装置12直接访问的输入/输出缓冲器而不是在另一装置12本地的输入/输出缓冲器。 [0040] 第二保留部分34的大小可以是可控的。例如第二保留部分34的大小可以依赖于远程输入/输出设备14的特性。 [0041] 本地输入/输出设备4可以是第一显示器,并且远程输入/输出设备14可以是第二显示器。输入/输出缓冲器30继而是显示帧缓冲器。第二保留部分34的大小可以根据第二显示器的分辨率而被可控地改变。 [0042] 图5图示与图1中所示系统相似的系统的示例。然而在这一示例中,本地输入/输出设备4是第一显示器,并且远程输入/输出设备14是第二显示器。 [0043] 同样在这一示例中,在装置2与另一装置12之间的通信经由无线通信链路35。装置2包括无线收发器36,并且另一装置12包括无线收发器12。无线收发器36、38创建和维护无线链路。 [0044] 无线链路可以例如将自组织无线信道用于通信。 [0045] 无线链路可以例如是 链路、无线USB链路、无线局域网(WLAN)链路、超宽带(UWB)链路、近场通信(NFC)链路等。 [0046] 装置2包括本地显示器4和接口6,该接口被配置用于在装置2主控的应用8与本地显示器4之间对接并且被配置用于在装置2主控的应用8与另一装置12主控的远程显示器14之间对接。 [0047] 当接口6处于第一状态20中时,接口6被配置用于将应用8与本地显示器4耦合、但是不将应用8与另一装置12主控的远程显示器14耦合。应用8因此能够控制本地显示器4、但是不能控制远程显示器14。 [0048] 当接口6处于第二状态22中时,接口6被配置用于将应用8与本地显示器4耦合并且将应用8与另一装置12主控的远程显示器14耦合。应用8因此能够同时控制本地显示器4和远程显示器14。可以通过在本地显示器4上显示部分而在远程显示器14上显示不同非重叠部分来显示单条内容的全部或者部分。 [0049] 接口6被配置用于响应于邻近检测触发3将其状态从第一状态20改变成第二状态22,该邻近检测触发指示主控远程显示器14的另一装置12可用于被接口6耦合。 [0050] 可以例如在装置2和另一装置邻接时创建邻近检测触发3。 [0051] 在第二状态22中,接口6被配置用于控制本地显示器4以显示第一内容C0并且控制远程显示器14以显示与第一内容C0不同的第二内容CN(N=1、2、3、4)。第一内容C0和第二内容CN可以形成内容连续体C的不同部分。 [0052] 参照图6A,接口6被配置用于生成查看映射40。查看映射40是由在位置P0处的本地显示和在位置PN(N=1、2、3、4)处的远程显示的组合形成的逻辑显示D。 [0053] 参照图6B,接口6被配置用于将来自应用8的显示输出数据映射到与查看映射40对应的存储器映射42。存储器映射42提供虚拟帧缓冲器,该虚拟帧缓冲器包括用于由第一显示器4用作帧缓冲器的第一部分C0和用于由第二显示器14用作帧缓冲器的第二部分CN。第一内容C0和第二内容CN形成用于逻辑显示D的内容。 [0054] 查看映射40依赖于:本地显示器4和远程显示器14的相对位置和定向以及本地显示器4和远程显示器14的相对尺寸(分辨率)。 [0055] 可以经由邻近检测触发3向接口6提供第二显示器的位置、定向、尺寸(分辨率)。 [0056] 在这一示例中,在位置P0处的本地显示和在位置PN处的远程显示是具有高度h和宽度w的相同尺寸的矩形。P0具有相对位置(0.0)。相对于位置P0的位置P1、P2、P3、P4分别是(0,h)、(-w,0)、(0,-h)和(w,0)。在位置PN处的远程显示因此与在位置P0处的本地显示连续。在这一示例中,本地显示内容C0和远程显示内容CN是具有高度h和宽度w的相同大小的矩形。C0具有相对位置(0.0)。相对于内容C0的位置而言的内容C1、C2、C3、C4的位置分别是(0,h)、(-w,0)、(0,-h)和(w,0)。远程内容CN因此与本地内容C0连续。 [0057] 由于第一内容C0和第二内容CN可以形成内容连续体C的不同部分,所以应当最小化本地显示器4和远程显示器14在如何显示内容方面的差异。接口6在第二状态中可以被配置用于控制装置2和另一装置12的设置以提供一致性。例如接口6在第二状态中可以被配置用于控制装置2和另一装置12的设置以提供在装置2的本地显示器4与另一装置12的远程显示器14之间的亮度匹配和色度匹配。 [0058] 图7图示具有多个邻近检测器50的装置2的示例。在这一示例中,邻近检测器位于装置2的末端。邻近检测器50被配置用于检测主控远程输入/输出设备14的另一装置12何时可用于被装置2的接口6耦合并且因而提供邻近检测触发3。 [0059] 邻近检测器50可以例如是检测邻接或者互连的接触检测器。 [0060] 邻近检测器50可以例如是检测邻近的无线检测器、例如近场通信(NFC)设备。 [0061] 邻近检测器50可以例如实现在装置2与另一装置12之间的通信。收发器36可以例如是邻近检测器50。 [0062] 在邻近检测器50实现在装置2与另一装置12之间的通信时,邻近检测触发可以包括响应于邻近事件而产生的消息。消息可以具有用于传送另一装置12主控的远程输入/输出设备14的特性的标准格式。另一装置12主控的远程输入/输出设备14的特性可以例如包括:位置信息、定向信息、显示尺寸(分辨率)信息。这一信息使得查看映射40(图6A)能够被生成。该消息还可以包括实现在装置2的本地显示器4与另一装置12的远程显示器14之间的亮度匹配、对比度匹配和/或色度匹配的一致性信息。 [0063] 邻近事件可以在一些、但是未必所有实施例中包括装置2和另一装置12的物理接触、但是不包括装置2和另一装置12的物理互连。 [0064] 邻近事件可以例如涉及到碰撞装置2和另一装置12、将装置2放置于另一装置12上、等等。 [0065] 图13A、图13B和图13C图示其中邻近检测事件是将装置2放置到另一装置12的显示器14上的示例。在这一示例中,装置2的显示器4显著地小于另一装置12的显示器14。在装置2被放置到另一装置12上时,向另一装置12的显示器14传送在装置2的显示器4上显示的内容(例如ABC)。如图13A和图13B中所示,装置2可以定位于显示器14上的任何地方。如图13C中所示,当从显示器14移开装置2时,显示器14不再显示在装置2的显示器4上显示的内容(ABC)。 [0066] 回顾图1,应用8可以被配置用于从第一用户输入设备接收第一输入命令并且从第二用户输入设备接收第二输入命令。然而,装置2的本地输入/输出设备4可以仅包括第一用户输入设备、但是不包括第二用户输入设备。 [0067] 接口6可以在第二状态中被配置用于使得能够使用另一装置12的第二用户输入设备14来控制装置2。例如如果另一装置12的远程输入/输出设备14包括第二用户输入设备,则接口6在第二状态中被配置用于使得另一装置12的第二用户输入设备14能够控制装置2的应用8。 [0068] 接口6也可以在第二状态中被配置用于使得能够使用装置2的第一用户输入设备4来控制另一装置4。 [0069] 在图8中,装置2不支持触摸输入,但是另一装置12支持。在这一示例中,在另一装置12提供的触摸输入可以用来控制装置2处的应用8。 [0070] 在图9和图10中,接口6被配置用于使得用于应用的用户输入驱动能够在装置2、12中的一个装置中被发起并且在装置2、12中的另一装置具有效果。 [0071] 用于装置2的输入/输出缓冲器30可以在装置2的接口6处于第二状态中时是由装置2和另一装置12共享的公共输入缓冲器。 [0072] 参照图9,接口6被配置用于使得用于应用8的用户输入驱动52在这些装置中的一个装置中被发起并且在这些装置中的另一装置中被终止。在图9中,迹线52在装置2的触摸输入屏幕4上开始并且跨越继续到远程装置14的触摸输入屏幕14上。也可以在相反方向上执行迹线52。迹线52可以例如用于导航或者移动对象。它可以例如用来从一个装置2向另一装置12传送或者复制通过迹线52可移动的图标所象征的数据对象。 [0073] 参照图10,接口6被配置用于使得用于应用8的用户输入驱动54能够在这些装置中的一个装置2中被发起并且在这些装置中的另一装置12中被终止。用户输入驱动54是朝着另一装置12轻弹装置2的显示器4上的图标,并且在另一装置12的效果是在另一装置12上存储图标所代表的数据。 [0074] 图11图示与图1中所示系统相似的系统。在这一示例中,装置12与装置2类似。它提供应用18,并且装置12包括本地输入/输出设备14并且也包括接口16。 [0075] 装置2的接口6与装置12的接口16通信。 [0076] 接口6在第二状态中被配置用于将应用8与本地输入/输出设备4耦合并且将另一装置12主控的远程应用18与另一装置主控的远程输入/输出设备耦合。接口6在第二状态中还被配置用于同步应用8和另一应用18。 [0077] 因此例如装置2可以在本地显示器2中显示本地日历,并且装置12可以在显示器12中显示远程日历。装置2可以允许用户从一个日历向另一日历复制项目或者可以实现在日历之间自动复制项目。 [0079] 可以例如使用指令来实施接口6,这些指令例如通过使用在通用或者专用处理器中可执行的并且可以存储于计算机可读存储介质(盘、存储器等)上的计算机程序指令来实现硬件功能。 [0080] 参照图12,处理器60被配置用于从存储器62读取和向其写入。处理器60也可以包括输出接口和输入接口,处理器60经由该输出接口输出数据和/或命令,经由该输入接口向处理器60输入数据和/或命令。 [0081] 存储器62存储计算机程序64,该计算机程序包括在加载到处理器60中时控制装置2的操作的计算机程序指令。计算机程序指令64提供使装置能够执行所描述的方法的逻辑和例程。处理器60通过读取存储器62能够加载和执行计算机程序64。 [0082] 装置因此包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置用于与至少一个处理器一起引起该装置至少执行: [0083] 计算机程序64可以经由任何适当递送机制到达装置2。递送机制可以例如为非瞬态计算机可读存储介质、计算机程序产品、存储器设备、记录介质如紧致盘只读存储器(CD-ROM)或者数字万用盘(DVD)、有形地体现计算机程序的制造品。递送机制可以是被配置用于可靠地传送计算机程序64的信号。装置2可以传播或者传输计算机程序64作为计算机数据信号。 [0084] 虽然图示存储器62为单个部件,但是可以实施它为一个或者多个分离部件,这些部件中的一些或者所有部件可以被集成和/或可拆除和/或可以提供持久/半持久/动态/高速缓存存储装置。 [0085] 应当理解对‘计算机可读存储介质’、‘计算机程序产品’、‘有形地体现的计算机程序’等或者‘控制器’、‘计算机’、‘处理器’等的引用不仅涵盖具有不同架构的计算机、比如单/多处理器架构和串行(Von Neumann)/并行架构,而且涵盖专门化的电路、比如现场可编程门阵列(FPGA)、专用电路(ASIC)、信号处理设备和其它处理电路。应当理解对计算机程序、指令、代码等的引用涵盖用于可编程处理器的软件或者固件、比如硬件设备的可编程内容、无论是用于处理器的指令还是用于固定功能的设备、门阵列或者可编程逻辑器件等的配置设置。 [0086] 如在本申请中所用,术语“电路”指代所有以下各项: [0087] (a)纯硬件的电路实现方式(比如在纯模拟和/或数字电路中的实现方式);以及[0088] (b)电路和软件(和/或固件)的组合、比如(如适用):(i)处理器组合或者(ii)处理器/软件(包括数字信号处理器)、软件和存储器的部分,这些部分一起工作以使装置、比如移动电话或者服务器执行各种功能);以及 [0089] (c)电路、比如微处理器或者微处理器的部分,这些电路需要软件或者固件用于操作、即使软件或者固件未物理上存在。 [0090] ‘电路’的这一定义适用于这一术语在本申请中、包括在任何权利要求中的所有使用。作为又一示例,如在本申请中所用,术语“电路”也将覆盖仅一个处理器(或者多个处理器)或者处理器的部分及其附带软件和/或固件的实现方式。术语‘电路’例如并且如果适用于特定单元则也将覆盖用于移动电话的基带集成电路或者应用处理器集成电路或者在服务器、蜂窝网络设备或者其它网络设备中的类似集成电路。 [0091] 如这里所用,‘模块’是指单元或者装置,该单元或者装置排除将由最终制造商或者用户添加的某些部分/部件。接口6可以是模块。 [0092] 图中所示块可以代表方法中的步骤和/或计算机程序64中的代码段。针对块图示特定顺序未必意味着有用于块的必需或者优选顺序,并且可以变化块的顺序和布置。另外,可以有可能省略一些块。 [0094] 例如虽然以上描述的系统涉及到装置2和单个另一装置12,但是在其它实施例中,装置2的接口6可以将应用8同时耦合到多个不同装置2主控的多个不同输入/输出设备12。在多个不同输入/输出设备是显示器时,它们可以与装置2的显示器4镶嵌以形成由多个不同显示器形成的大型逻辑显示器。 [0095] 可以在除了明确描述的组合之外的组合中使用在前文描述中描述的特征。 [0096] 虽然已经参照某些特征描述功能,但是那些功能可以可由无论是否描述的其它特征执行。 [0097] 虽然已经参照某些实施例描述特征,但是那些特征也可以存在于无论是否描述的其它实施例中。 |