设备间分接服务层的制作方法

xiaoxiao2020-9-10  4

【知识产权代理】【专利服务】Tel:18215660330

设备间分接服务层的制作方法
【专利摘要】本公开的实施例描述了用于提供设备间(“D2D”)分接服务(“DTS”)层的设备、方法、计算机可读介质和系统配置。在各种实施例中,计算设备的通信堆栈的DTS层可从在通信堆栈的应用层内执行的应用程序接收用于资源的请求。在各种实施例中,DTS层可确定资源是否在计算设备上本地可用。在各种实施例中,DTS层可通过通信堆栈的网络层发出域名系统(“DNS”)请求以促进由应用程序对远程计算设备上的资源的透明访问,其中确定资源在计算设备上在本地不可用。可描述和/或要求保护其他实施例。
【专利说明】设备间分接服务层

【技术领域】
[0001]本公开的实施例一般地涉及数据处理领域,并且更特别地涉及设备间(“D2D”)分接服务(“DTS”)层。

【背景技术】
[0002]本文提供的背景描述是出于一般地呈现本公开的背景的目的。在在此【背景技术】小节中对其进行描述的程度上,当前提及的发明人的工作以及否则可能不会在提交时作为现有技术而获得承认的本描述的各方面既未明示地、也未隐含地被承认为针对本公开的现有技术。除非在本文中另外指明,在本节中描述的方法并不是本公开中的权利要求的现有技术且并未由于包括在本节中而被承认为是现有技术。
[0003]一个普通人可拥有多个计算设备,诸如移动电话、膝上型计算机或平板计算机、台式计算机、数字照相机、打印机、电视、音频系统等。这些设备可具有多种资源,其可被本地地在计算设备上执行的应用程序访问,该计算设备诸如变化尺寸的显示器、传感器、全球定位系统(“GPS”)部件、处理器、存储容量、扬声器、有线和无线接口等。然而,这些资源可能不可用于以透明或可缩放方式与其他计算设备共享。

【专利附图】

【附图说明】
[0004]通过结合附图的以下详细描述将很容易理解实施例。为了促进本描述,相同的附图标记指示相同的结构元件。在附图的各图中以示例的方式而非以限制的方式举例说明实施例。
[0005]图1示意性地图示出根据各种实施例的具有用于共享的资源以及其之间的网络连接的示例性计算设备。
[0006]图2描述了根据各种实施例的可在具有要共享的资源的设备中实现的示例性通信堆栈。
[0007]图3示意性地描述了根据各种实施例的示例性资源共享会话。
[0008]图4描述了根据各种实施例的可在计算设备上实现以利用远程计算设备上的资源的示例性方法。
[0009]图5描述了根据各种实施例的可在计算设备上实现以与远程计算设备共享本地资源的示例性方法。
[0010]图6示意性地描述了根据各种实施例的在其上面可实现诸如图4和5的方法之类的公开技术的示例性计算设备。

【具体实施方式】
[0011]在以下详细描述中,对构成其一部分的附图进行参考,其中,相同的附图标记自始至终指示相同部分,并且其中以举例说明的方式示出了可实施的实施例。应理解的是可利用其他实施例,并且在不脱离本公开的范围的情况下可进行结构或逻辑改变。因此,不应以限制性意义来理解以下详细描述,并且实施例的范围由所附权利要求及其等价物来定义。
[0012]随后可以在理解要求保护的主题时最有帮助的方式将各种操作描述为多个分立动作或操作。然而,不应将描述的顺序理解成意味着这些操作必须是顺序相关的。特别地,可不按照呈现的顺序来执行这些动作。可按照与所述实施例不同的顺序来执行所述操作。可执行各种附加操作和/或可在附加实施例中省略所述操作。
[0013]出于本公开的目的,短语“A和/或B”意指(A)、(B)或(A和B)。出于本公开的目的,短语 “A、B 和 / 或 C,,意指(A)、(B)、(C)、(A 和 B)、(A 和 C)、(B 和 C)或(A、B 和 C)。
[0014]本描述可使用短语“在实施例中”或“在多个实施例中”,其每个可指的是相同或不同实施例中的一个或多个。此外,如相对于本公开的实施例所使用的术语“包括”、“包含”、“具有”等是同义词。
[0015]本文所使用的术语“模块”可指的是、包括专用集成电路(“ASIC”)、电子电路、处理器(共享、专用或群组)和/或存储器(共享、专用或群组)或者是其部分,其执行一个或多个软件或固件程序、组合逻辑电路和/或提供所述功能的其他适当部件。如本文所使用的“计算机实现方法”可指的是由一个或多个处理器执行的任何方法、具有一个或多个处理器的计算机系统、诸如智能电话之类的移动设备(其可包括一个或多个处理器)、平板电脑、膝上型计算机、机顶盒、游戏控制台等。
[0016]现在参考图1,第一计算设备12可具有可用于共享的三个资源,资源A、资源B和资源C。计算设备可具有更多或更少的资源;在这里出于说明性目的仅示出了三个资源。第二计算设备14可包括用于共享的资源D、资源E和资源F。第二计算设备14可经由局域网16与第一计算设备12通信。局域网16可采取各种形式,诸如由无线接入点(未示出)提供的无线网络、有线网络或两者的组合。第三计算设备18可包括用于共享的资源G、资源H和资源I。第三计算设备18可经由诸如因特网之类的广域网20与第一和第二计算设备12和14通信。
[0017]资源A— I可以是存在于各种计算设备上的各种类型的物理和/或逻辑资源。其可包括但不限于鼠标、键盘、键区、扩音器、触摸屏显示器、指纹读取器、扫描仪、视网膜读取器、扩音器、照相机、有线和无线显示器、遥控器、发光二极管(“LED”)、打印设备、扬声器、传感器(例如,以测量温度)、陀螺仪、全球定位系统(“GPS ”)部件、指南针、存储容量(例如,硬盘驱动器、闪速存储器、RAM、ROM)、处理能力(例如,处理器、处理器核、芯片组、图形处理器)、有线通信接口(例如,以太网)、无线通信接口(例如,用于发射/接收WiMAX的天线、LTE、蓝牙、WiFi等)、简单通讯服务(“SMS”)接口、电话拨号器、回程链路(例如,移动热点)、安全执行环境或可在计算设备控制下的任何其他资源。可将计算设备12、14和18配置成实现本文所述的技术以共享诸如资源A— I之类的资源。
[0018]参考图2,第一计算设备12可包括通信堆栈200,其包括应用层202、设备间(“D2D”)分接服务(“DTS”)层204、设备内服务层206以及网络层208。设备内服务层206可提供对在第一计算设备12上本地地可用的资源的访问。DTS层204可提供对在第一计算设备12上本地不可用的资源的透明访问。在各种实施例中,DTS层204可以在网络层208之上的通信堆栈200的最底层处。在各种实施例中,网络层208可包括网络接口卡驱动器。诸如第二计算设备14和第三计算设备18之类的其他计算设备可包括类似通信堆栈。
[0019]例如,假设在应用层202中执行的应用程序210设法访问资源。在各种实施例中,应用程序210可首先从设备内服务层206请求对资源的访问。在某些实施例中,应用程序210可替代地命令到DTS层204的请求,其可首先向设备内服务层206询问关于所请求资源的本地可用性。在任一种情况下,如果资源是本地可用的,则设备内服务层206可向应用程序210或DTS层204提供对资源的访问。然而,如果在第一计算设备12处资源并不是本地可用的,则可将DTS层204配置成将所请求资源定位在远程计算设备上的其他地方,并向应用程序210提供对资源的透明访问。本文所使用的“透明访问”可意指从应用程序210的角度出发,在本地地或从远程计算设备访问资源之间可能几乎不存在明显差异。
[0020]应用程序210可以各种方式从DTS层204和/或设备内服务层206请求对资源的访问。在各种实施例中,可经由高级编程、脚本或标记语言212而将DTS层204直接地暴露于应用程序210,诸如Java脚本、超文本标记语言(“HTML”)或层叠样式表(“CSS”)。在各种实施例中,可将DTS层204抽象地暴露于应用程序210,例如用其他设备接口 214,诸如来自万维网联盟(“W3C”)的设备应用编程接口(“API”)或一个或多个Webinos。在各种实施例中,应用程序210可利用来自212和214两者的技术的组合。
[0021]如果例如由DTS层204确定应用程序210所寻求的资源在第一计算设备12上不可用,则在各种实施例中,可将DTS层204配置成例如通过通信堆栈200的网络层208而发出用于资源的请求。可向诸如第二计算设备14或第三计算设备18之类的远程计算设备发出此请求。在各种实施例中,DTS层204然后可与响应的远程计算设备协作以向应用程序210提供对资源的透明访问。
[0022]在各种实施例中,由DTS层204发出的用于资源的请求可采取域名系统(“DNS”)请求的形式。例如,DTS层204可生成DNS服务发现(“DNS-SD”)消息,其可包括例如用于DNSSRV,TXT和/或PRT记录的请求,如在由因特网工程工作小组(“IETF”)在2000年2月公布的Request for Comments 2782中所述。如下面将描述的,此DNS请求还可由DTS层204基于资源是否可能在第一计算设备12附近区域内的计算设备上可用或者只有在其上面可用时才将有用而形成。
[0023]图3描述了根据各种实施例的图1的第一计算设备12和第二计算设备14之间的示例性通信会话,其中,其共享资源,即资源E。参考图2和3两者,在图3的302处,第一计算设备12的DTS层204可从在第一计算设备12的应用层202内执行的应用程序210接收用于资源E的请求。在304处,DTS层204和/或设备内服务层206可确定资源E是否在第一计算设备12上本地可用。例如,DTS层204可查询设备内服务层206以确定第一计算设备12是否包括资源E。
[0024]如果/当确定资源E在第一计算设备12上本地不可用时,则在306处,DTS层204可确定所请求资源是否可能在计算设备附近区域内的另一计算设备上可用和/或只有当在其上面可用时才将有用。基于此确定,DTS层204可相应地发出用于资源的请求。
[0025]例如,如果例如由DTS层204确定在第一计算设备12附近区域内的计算设备、诸如第二计算设备14可能具有资源E,则在308处,DTS层204可在多播消息中生成DNS请求。例如,DTS层204可确定所请求资源在被连接到与第一计算设备12相同的局域网(例如,局域网16)的另一计算设备、诸如第二计算设备14上可用的可能性。
[0026]另外或替换地,DTS层204可确定只有当在第一计算设备12附近区域内的计算设备上可用时,资源才将有用。此类资源的示例可包括GPS设备、扩音器、扬声器或将在其上面再现视觉输出的显示器,如果从遥远的计算设备获得,则其中没有一个可以是有用的,无论是确定资源很可能在附近区域内可用还是资源只有在附近区域内可用时才将有用,在308处,DTS层204可在多播消息中生成DNS请求。在各种实施例中,该多播消息可以是多播域名服务(“mDNS”)消息,例如使用诸如224.0.0.251之类的已知网际协议(“IP”)地址。
[0027]如果另一方面在306处例如由DTS层204确定所请求资源不可能在计算设备附近区域内的另一计算设备上可用和/或即使从更远程的计算设备被获得,资源也将是有用的,则在308处,可将DTS层204配置成在单播消息中生成用于资源的DNS请求。
[0028]无论资源在附近区域内是否可用,在310处,可通过网络层208来发射DNS请求。可将多播消息发射到在第一计算设备12附近区域内的计算设备,诸如局域网16的计算设备。可将单播消息发射到DNS服务器(未示出),其可将请求转送到在DNS记录中被指示为具有所请求资源的远程计算设备。在各种实施例中,DNS服务器可发现并保持用于在各种计算设备上可用的资源的DNS记录,例如使用诸如DNS更新之类的技术,其在由IETF在1997年4月公布的Request for Comments 2136中进行了定义。在各种实施例中,可使用诸如Transact1n Signature或“TSIG”之类的技术来对DNS资源记录的更新进行认证,其由IETF在2000年5月公布的Request for Comments 2845中有所定义。
[0029]在312处,诸如第二计算设备14之类的远程计算设备可确定在310处请求的资源是本地可用的,如在图1中的情况一样。在各种实施例中,在314处,第二计算设备14可提供DNS响应,指示其具有可用于共享的所请求资源。例如,在314处的DNS响应可依从DNS—SD,并且可包括服务实例名,例如与资源E相关联的DNS SRV、TXT和/或PRT记录。在各种实施例中,DNS响应可包括与资源相关联的统一资源定位符或“URL”。
[0030]一旦对资源进行定位,计算设备可使用多种协议来共享资源。在各种实施例中,诸如图1一3中所示的,可将计算设备配置成使用超文本传输协议(“HTTP”)来促进应用程序对资源的访问。在各种实施例中,可将计算设备配置成使用网络服务范例来共享资源,其中,每个计算设备可充当HTTP客户端(例如,当请求资源时)和HTTP服务器(例如,当提供对资源的访问时)两者。在各种实施例中,计算设备可以依从如由W3C描述的表述性状态转移(“REST”)的方式进行协调以便共享资源。因此,在各种实施例中,计算设备(例如,12、14、18)可交换“RESTful”的网络服务通信,因为其可遵守REST约束。
[0031]在各种实施例中,在共享资源之前,在316处,DTS层204可从第二计算设备14接收HTTP安全信息。HTTP安全信息可包括第一计算设备12可用来访问第二计算设备14上的资源E的配置数据。例如,HTTP安全信息可包括可用来建立安全HTTP会话的数字证书(例如,X.609)或预共享秘钥。
[0032]DTS层204然后可在318处发射HTTP请求316,其设法访问由第二计算设备14提供的资源。在318处的HTTP请求可包括与第二计算设备14上的资源相关联的URL。例如,如果应用程序210请求资源E,则DTS层204可在HTTP请求中包括与资源E相关联的URL:例如,http://1.12.23.5/Resource_E。在各种实施例中,HTTP请求可以是RESTul的。如果已证明所请求资源在响应计算设备(例如,资源E已突然变得不可用)上不可用,则第二计算设备14可向第一计算设备12发射HTTP响应,其使第一计算设备12改向至具有可用于共享的资源的另一计算设备。
[0033]在320处,第二计算设备14可向第一计算设备12发射HTTP响应。在各种实施例中,此HTTP响应也可以是RESTful的。在各种实施例中,HTTP响应可包括Java脚本对象表示(“JS0N”)或可扩展标记语言(“XML”)格式中的数据,其源自于所请求资源和/或包含与所请求资源有关的数据。例如,如果第二计算设备14上的资源E是GPS,则320处的RESTful HTTP响应可在XML或JSON消息中包含地理坐标(例如,纬度和经度)。在各种实施例中,第一计算设备12的DTS层204可解析XML或JSON消息并在322处将其呈现给调用的应用程序210,例如以API响应的形式。
[0034]上述示例并不是限制性的,而是仅仅用于说明的目的。对于某些类型的资源而言,318处的HTTP请求和320处的响应可取代和/或补充传统上被用于那些资源的其他协议的使用。例如,打印机在传统上使用许多打印协议中的一个或多个,例如行式打印机(“LPR”)、因特网打印协议(“IPP”)、AppSocket, PhaserPort, JetDirect、页面描述语言(“PDL”)、端口 9100等。使用本文所述的技术,并且假设资源E是打印机,在第一计算设备12上执行的应用程序(例如,210)可提交打印作业,并且DTS层204可在318处使用HTTP向第二计算设备14提交相应的打印作业。在这种情况下,320处的HTTP响应可以是打印成功的确认。
[0035]HTTP请求和响应可包括其他类型的信息且可采取各种形式。例如,如果共享资源是将要求流式传输的类型的,则可利用HTTP实时流式传输。例如,资源E可以是诸如MP3音频文件或数字视频之类的多媒体文件。在这种情况下,318—320处的HTTP请求和响应可以是一个或多个HTTP实时流式传输协议请求和响应,其中将所请求多媒体文件从第二计算设备14流式传输到第一计算设备12。作为另一示例,资源E可以是应用程序210请求对其访问的流资源(例如,与在线流服务对接的应用程序)。作为另一示例,资源E可以是第二计算设备14上的通信接口,诸如蓝牙、802.1UffiFi或其他有线或无线接口,第一计算设备12可通过其来流式传输数据。
[0036]还可利用其中第一计算设备12不具有能够再现特定类型的文件的硬件的流式传输。例如,第一计算设备12可不具有显示器,或者可具有不能显示特定视觉文件(例如,3D)的显示器。资源E可以是能够显示视觉文件的显示器。在确定第二计算设备14具有可用于共享的资源E之后,第一计算设备12上的DTS层204可使用HTTP实时流式传输协议来将视觉文件流式传输到第二计算设备14,其中,第二计算设备14可在其显示器上再现视觉文件(资源E)。第一计算设备12和第二计算设备14可共享其他类型的输出部件,诸如扬声器或触觉反馈设备,其中,一个或另一个不具有用于特定类型的文件的适当输出部件。
[0037]图4描述了可由本文所述的各种计算设备实现的示例性方法400,该计算设备诸如第一计算设备12、第二计算设备14或第三计算设备18。在方框402处,可例如由第一计算设备12的设备内服务器206和/或DTS层204从诸如应用程序210之类的应用程序接收用于访问资源的请求。
[0038]在方框404处,可例如由设备内服务层206和/或DTS层204来确定所请求的资源例如在第一计算设备12上是否本地可用。如果回答为是(例如,如设备内服务层206可指示的),则在406处,应用程序210可使用传统手段(例如,设备API等)来利用本地资源。
[0039]然而,如果资源在本地不可用,则在408处,可例如由DTS层204来确定是否资源很可能在执行请求应用程序的计算设备、诸如第一计算设备12的特定附近区域内是可用的和/或只有当在该特定区域内可用时才将是有用的。
[0040]如果例如由DTS层204确定资源很可能在计算设备附近区域内的另一计算设备上是可用的或者只有当在其上面可用时才将是有用的,则在方框410处,可例如由DTS层204使用多播(例如,mDNS)消息向附近区域内的计算设备发出用于资源的请求。否则,在方框412处,可例如由DTS层204向在附近区域外面的计算设备、例如向单播DNS消息中的DNS服务器发出用于资源的请求。
[0041]总而言之,在方框414处,可例如经由第一计算设备12的网络层208来接收与资源相关联的标识符(例如,URL、服务实例名)。在方框416处,可例如由DTS层204来促进由请求应用程序(例如,应用程序210)对资源的访问。例如,如上所述,DTS层204可使用HTTP访问资源,并且可解析HTTP响应以便例如以API响应的形式呈现给应用程序210。
[0042]图5描述了可在诸如第一计算设备12、第二计算设备14和第三计算设备18之类的计算设备上实现以对用于访问来自其他计算设备的资源的请求进行响应的示例性方法500。例如,如果由第一计算设备12来执行图4的方法400,则可由远离第一计算设备12设置的其他计算设备、诸如第二计算设备14或第三计算设备18来执行图5的方法500。
[0043]在方框502处,可例如由第二计算设备14来接收用于访问资源的请求。在方框504处,可例如由第二计算设备14中的DTS层来确定资源是否在本地可用。如果不是,则在方框506处,第二计算设备14可不进行响应。然而,如果所请求资源在第二计算设备上本地可用,则在方框508处,可例如由第二计算设备14来发出DNS响应,其可包括第二计算设备14上的资源的标识符(例如,URL、服务实例名)。
[0044]在方框510处,可例如由第二计算设备14向请求计算设备发射HTTP安全信息,例如是否只能使用安全手段来访问资源。在方框512处,可例如由第二计算设备14来接收用于资源的HTTP请求,其可采取诸如JMOL或XML之类的各种格式。在方框514处,可例如由第二计算设备14向请求计算设备发射包含与所请求资源有关的信息(例如,来自GPS的地理坐标)的例如采取JMOL或XML格式的HTTP响应。
[0045]图6图示出根据各种实施例的计算设备600。计算设备600容纳了板602。板602可包括许多部件,包括但不限于处理器604和至少一个通信芯片606。可将处理器604物理和电耦合到板602。在各种实施例中,还可将至少一个通信芯片606物理和电耦合到板602。在其他实施方式中,通信芯片606可以是处理器604的一部分。
[0046]根据其应用,计算设备600可包括其他部件,其可被或可不被物理和电耦合到板602。这些其他部件包括但不限于易失性存储器(例如,DRAM 608)、非易失性存储器(例如ROM 610)、闪速存储器612、图像处理器614、数字信号处理器(未示出)、密码处理器(未示出)、芯片组616、天线618、显示器(未示出)、触摸屏显示器620、触摸屏控制器622、电池组624、音频编解码器(未示出)、视频编解码器(未示出)、功率放大器626、全球定位系统(“GPS”)设备628、指南针630、加速度计(未示出)、陀螺仪(未示出)、扬声器632、照相机634以及大容量存储器件(诸如硬盘驱动器、紧凑式磁盘(“⑶”)、数字多功能磁盘(“DVD”))(未示出)等。
[0047]在各种实施例中,易失性存储器(例如,DRAM 608)、非易失性存储器(例如,ROM610)、闪速存储器612以及大容量存储器件可包括编程指令,其被配置成使得计算设备600能够响应于由一个或多个处理器604执行而实施方法400和/或500的所有或所选方面。
[0048]通信芯片606可使得能够实现用于向和从计算设备600传输数据的有线和/或无线通信。术语“无线”及其派生词可用来描述可通过使用通过非固体介质的已调制电磁辐射来传送数据的电路、设备、系统、方法、技术、通信信道等。该术语并不意味着关联设备不包含任何导线,虽然在某些实施例中它们可能没有。通信芯片606可实现许多无线标准或协议中的任何一个,包括但不限于W1-Fi (IEEE 802.11系列)、WiMAX (IEEE 802.16系列)、IEEE 802.20、长期演进(“LTE”)、Ev-DO、HSPA+、HSDPA+、HSUPA+、EDGE、GSM、GPRS、CDMA、TDMA、DECT、蓝牙、其衍生物以及被指定为3G、4G、5G及以外的任何其他无线协议。计算设备600可包括多个通信芯片606。例如,第一通信芯片606可专用于诸如W1-Fi和蓝牙之类的近程无线通信,并且第二通信芯片606可专用于远程无线通信,诸如GPS、EDGE、GPRS、CDMA、WiMAX, LTE, Ev-DO 等。
[0049]计算设备600的处理器604可包括封装在处理器604内的集成电路管芯。在各种实施例中,处理器604的集成电路管芯可包括一个或多个器件,诸如晶体管和金属互连,其被形成为使用本文所述的一个或多个技术来促进资源共享。术语“处理器”可以指的是处理来自寄存器和/或存储器的电子数据以将该电子数据变换成可存储在寄存器和/或存储器中的其他电子数据的任何设备或设备的一部分。
[0050]通信芯片606还可包括封装在通信芯片606内的集成电路管芯。在各种实施例中,通信芯片60的集成电路管芯可包括一个或多个器件,诸如晶体管和金属互连,其被形成为使用本文所述的一个或多个技术来促进资源共享。
[0051]在各种实施方式中,计算设备600可以是膝上型计算机、上网本、笔记本、超级本、智能电话、平板电脑、个人数字助理(“PDA”)、超级移动PC、移动电话、台式计算机、服务器、打印机、扫描仪、监视器、机顶盒、娱乐控制单元、数字式照相机、便携式音乐播放器或数字视频录像机。在进一步的实施方式中,计算设备600可以是处理数据的任何其他电子设备。
[0052]以下段落描述了各种实施例。在各种实施例中,计算设备的通信堆栈的设备间(“D2D”)分接设备(“DTS”)层可从在通信堆栈的应用层内执行的应用程序接收用于资源的请求。在各种实施例中,DTS层可确定资源是否在计算设备上本地可用。在各种实施例中,DTS层可通过通信堆栈的网络层发出域名系统(“DNS”)请求以在确定资源在计算设备上在本地不可用的情况下促进由应用程序对远程计算设备上的资源的透明访问。
[0053]在各种实施例中,DTS层可响应于DNS请求而通过网络层来接收与远程计算设备上的资源相关联的统一资源定位符或服务实例名。
[0054]在各种实施例中,DTS层可确定资源是否只有当在计算设备附近区域内的另一计算设备上可用时才将是有用的。在各种实施例中,DTS层可基于所述确定资源只有当在计算设备附近区域内的另一计算设备上可用时才将是有用的而在多播消息中发射用于资源的DNS请求。在各种实施例中,DTS层可确定资源在计算设备附近区域内的另一计算设备上是否可用的可能性。在各种实施例中,确定该可能性可包括由DTS层来确定资源在被连接到与计算设备相同的局域网的另一计算设备上是否可用的可能性。
[0055]在各种实施例中,DTS层可基于该可能性与预定阈值的比较来确定资源可能在计算设备附近区域内的另一计算设备上可用。在各种实施例中,DTS层可基于所述确定资源可能在计算设备附近区域内的另一计算设备上可用而在多播消息中发射用于资源的DNS请求。在各种实施例中,该多播消息可以是多播域名服务(“mDNS”)消息。
[0056]在各种实施例中,DTS层可基于该可能性与预定阈值的比较来确定资源不可能在计算设备附近区域内的另一计算设备上可用。在各种实施例中,DTS层可基于所述确定资源不可能在计算设备附近区域内的另一计算设备上可用而在单播消息中向DNS服务器发射用于资源的DNS请求。
[0057]在各种实施例中,DTS层可使用超文本传输协议(“HTTP”)来促进由应用程序对资源的访问。在各种实施例中,使用HTTP来促进由应用程序对资源的访问可包括使用安全HTTP来促进由应用程序对资源的访问。
[0058]在各种实施例中,资源可以是全球定位单元、电子显示器、数字式照相机和/或键盘。
[0059]在各种实施例中,DTS层可从另一远程计算设备接收用于第二资源的请求。在各种实施例中,DTS层可确定第二资源是否在计算设备上本地可用。在各种实施例中,DTS层可促进另一远程计算设备对该计算设备的资源的访问。在各种实施例中,接收用于第二资源的请求可包括接收多播DNS消息。
[0060]用于执行上述技术的计算机可读介质(包括非临时计算机可读介质)、方法、系统和设备是本文公开的实施例的说明性示例。
[0061 ] 虽然已出于描述的目的举例说明并描述了某些实施例,但在不脱离本发明的范围的情况下可用计划将实现相同目的的多种替换和/或等效实施例或实施方式来取代所示和所述的实施例。本申请意图涵盖在本文中所讨论的实施例的任何修改或变体。因此,明确地意图在于仅仅由权利要求及其等价物来限制本文所述的实施例。
【权利要求】
1.一种计算机实现方法,包括: 由计算设备的通信堆栈的设备间(“D2D”)分接设备(“DTS”)层从在通信堆栈的应用层内执行的应用程序接收用于资源的请求; 由DTS层来确定资源是否在计算设备上本地可用;以及 由DTS层通过通信堆栈的网络层发出域名系统(“DNS”)请求以在确定资源在计算设备上在本地不可用的情况下促进由应用程序对远程计算设备上的资源的透明访问。
2.权利要求1的计算机实现方法,还包括由DTS层响应于DNS请求而通过网络层来接收与远程计算设备上的资源相关联的统一资源定位符或服务实例名。
3.权利要求1的计算机实现方法,还包括由DTS层确定资源是否只有当在计算设备附近区域内的另一计算设备上可用时才将是有用的。
4.权利要求3的计算机实现方法,还包括由DTS层基于所述确定资源只有当在计算设备附近区域内的另一计算设备上可用时才将是有用的而在多播消息中发射用于资源的DNS请求。
5.权利要求1的计算机实现方法,还包括由DTS层确定资源在计算设备附近区域内的另一计算设备上是否可用的可能性。
6.权利要求5的计算机实现方法,其中,确定所述可能性包括由DTS层确定资源在被连接到与该计算设备相同的局域网的另一计算设备上是否可用的可能性。
7.权利要求5的计算机实现方法,还包括: 由DTS层基于该可能性与预定阈值的比较来确定资源可能在计算设备附近区域内的另一计算设备上可用;以及 由DTS层基于所述确定资源可能在计算设备附近区域内的另一计算设备上可用而在多播消息中发射用于资源的DNS请求。
8.权利要求7的计算机实现方法,其中,所述多播消息是多播域名服务(“mDNS”)消息。
9.权利要求5的计算机实现方法,还包括: 基于该可能性与预定阈值的比较而确定资源不可能在计算设备附近区域内的另一计算设备上可用;以及 基于所述确定资源不可能在计算设备附近区域内的另一计算设备上可用而在单播消息中向DNS服务器发射用于资源的DNS请求。
10.权利要求4的计算机实现方法,还包括由DTS层使用超文本传输协议(“HTTP”)来促进由应用程序对资源的访问。
11.权利要求10的计算机实现方法,其中,使用HTTP来促进应用程序对资源的访问包括使用安全HTTP来促进应用程序对资源的访问。
12.权利要求1一11中的任一项的计算机实现方法,其中,所述资源是全球定位单元、电子显示器、数字式照相机或键盘。
13.权利要求1一11中的任一项的计算机实现方法,还包括: 由DTS层从另一远程计算设备接收用于第二资源的请求; 由DTS层来确定第二资源是否在计算设备上本地可用;以及 由DTS层来促进所述另一远程计算设备对计算设备的资源的访问。
14.权利要求13的计算机实现方法,其中,接收用于第二资源的请求包括接收多播DNS消息。
15.至少一个机器可读介质,包括多个指令,该指令响应于在计算设备上执行而促使计算设备执行根据权利要求1一 11中的任一项所述的方法。
16.一种计算设备,被配置成执行权利要求1-11中的任一项的计算机实现方法。
17.至少一个机器可读介质,包括多个指令,该指令响应于在计算设备上执行而使得该计算设备能够提供: 应用层,具有在其中执行的应用程序; 网络层;以及 在应用层与网络层之间的设备间(“D2D”)分接服务(“DTS”)层,该DTS层被配置成: 从应用程序接收用于资源的第一请求; 确定所请求资源在计算设备上不可用; 基于资源在计算设备上不可用的确定而通过网络层向一个或多个远程计算设备发射用于资源的第二请求;以及 使用超文本传输协议(“HTTP”)而为应用程序提供对所述一个或多个远程计算设备上的资源的透明访问。
18.权利要求17的至少一个机器可读介质,其中,所述应用程序使用Java脚本、HTML或CSS向DTS层发射用于资源的第一请求。
19.权利要求17的至少一个机器可读介质,其中,所述指令在被计算设备执行时还使得DTS层能够经由万维网联盟设备应用编程接口或Webino而向在应用层处执行的应用程序提供对资源的访问。
20.权利要求17的至少一个机器可读介质,其中,用于资源的所述第二请求包括DNS请求。
21.权利要求17的至少一个机器可读介质,其中,所述指令在被计算设备执行时还使得DTS层能够: 通过网络层从另一计算设备接收用于访问第二资源的请求; 确定第二资源是否在计算设备上本地可用;以及 在确定第二资源为本地可用的情况下向所述另一计算设备提供对第二资源的访问。
22.权利要求21的至少一个机器可读介质,其中,该指令在被计算设备执行时还使得DTS层能够通过网络层向另一计算设备发射与第二资源相关联的统一资源定位符。
23.权利要求17的至少一个机器可读介质,其中,该指令在被计算设备执行时还使得DTS层能够确定资源是否只有当在计算设备附近区域内的另一计算设备上可用时才将是有用的。
24.权利要求23的至少一个机器可读介质,其中,该指令在被计算设备执行时还在确定资源只有当在计算设备附近区域内的另一计算设备上可用时才将有用的情况下使得DTS层能够在多播消息中发射用于资源的DNS请求。
25.权利要求17的至少一个机器可读介质,其中,该指令在被计算设备执行时还使得DTS层能够确定资源在计算设备附近区域内的另一计算设备上可用的可能性。
26.权利要求25的至少一个机器可读介质,其中,该指令在被计算设备执行时还使得DTS层能够确定资源是否在被连接到与计算设备相同的局域网的另一计算设备上可用的可能性。
27.权利要求23或25的至少一个机器可读介质,其中,所述指令在被计算设备执行时还使得DTS层能够: 在多播域名服务(“mDNS”)消息中发射用于资源的DNS请求,其中,确定资源将只有当在计算设备附近区域内的另一计算设备上可用时才将是有用的或者资源很可能在计算设备附近区域内的另一设备上可用。
28.权利要求25的至少一个机器可读介质,其中,所述指令在被计算设备执行时还使得DTS层能够: 基于该可能性与预定阈值的比较而确定资源不可能在计算设备附近区域内的另一计算设备上可用;以及 在所述确定资源不可能在计算设备附近区域内的另一计算设备上可用的情况下,在单播消息中向DNS服务器发射用于资源的DNS请求。
29.—种系统,包括: 处理器; 存储器,被操作耦合到所述处理器; 一个或多个资源;以及 计算设备的通信堆栈的设备间(“D2D”)分接服务(“DTS”)层,被配置成通过通信堆栈的网络层从另一计算设备接收用于资源的域名系统(“DNS”)请求,以确定在所述一个或多个资源中是否存在所请求资源,并且在确定在所述一个或多个资源中存在所请求资源的情况下促进所述另一系统对资源的透明访问。
30.权利要求29的系统,还包括无线通信接口。
31.权利要求29的系统,其中,所述DTS层还被配置成: 从在通信堆栈的应用层内执行的应用程序接收用于第二资源的请求; 确定在所述一个或多个资源中是否存在第二资源;以及 通过通信堆栈的网络层发出DNS请求以在确定在所述一个或多个资源中不存在资源的情况下促进应用程序对远程系统上的第二资源的透明访问。
32.权利要求29的系统,其中,所述DTS层被配置成使用超文本传输协议(“HTTP”)来为所述另一系统提供对资源的访问。
33.权利要求29的系统,其中,所述DTS层还被配置成在确定在所述一个或多个资源中存在所请求资源的情况下向所述另一系统发射与该资源相关联的统一资源定位符(“亂”)。
34.权利要求30—33中的任一项的系统,还包括触摸屏显示器。
【文档编号】H04L29/08GK104255012SQ201280072021
【公开日】2014年12月31日 申请日期:2012年3月29日 优先权日:2012年3月29日
【发明者】P.塔霍尔, Y.塔克塞尔曼 申请人:英特尔公司

最新回复(0)