首页> 中国专利> 用于增加端点设备能力的端点设备之间的系统服务共享

用于增加端点设备能力的端点设备之间的系统服务共享

摘要

端点设备系统被实现用于在一个或多个端点设备之间共享一个或多个系统服务。该系统包括第一端点设备,该第一端点设备运行应用并且被配置为检测通信耦合到该第一端点设备的一个或多个其他端点设备。该第一端点设备从至少一个检测到的端点设备请求可用系统服务的相应列表。在基于正在运行的应用来确定一个或多个可应用的系统服务之后,该第一端点设备从检测到的端点设备请求可应用的系统服务的可用解析。然后,该第一端点设备基于该可用解析,使用该一个或多个可应用的系统服务来实现应用的功能。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-06

    实质审查的生效 IPC(主分类):H04L67/025 专利申请号:2021800081308 申请日:20210817

    实质审查的生效

说明书

技术领域

本申请要求于2020年8月17日提交的题为“用于在端点获得能力的系统(SYSTEMFOR GAINING CAPABILITIES AT AN ENDPOINT)”的美国临时专利申请No.63/066,602的权益,其全部内容通过引用并入本文。

背景技术

在设备生态系统中,每个都具有各自能力的多个设备联网在一起以向一个或多个用户提供它们的能力。传统地,为了向设备生态系统添加新能力,将新设备添加到网络并且在网络请求时执行新能力。然而,由于设备生态系统支持的操作系统和通信协议有限,诸如在封闭的设备生态系统中,将新设备添加到设备生态系统能够是麻烦并且受限的。此外,不断向设备生态系统添加设备会增加管理设备生态系统内每个设备能力的复杂性。

经常,添加到设备生态系统的设备与对设备可以添加到哪些设备生态系统进行限制的用户数据相关联。此外,许多设备生态系统被配置为使用少量通信协议来通信,这再次对哪些设备可以被添加到特定设备生态系统进行了限制。

发明内容

根据一个示例实施例,方法包括由第一端点设备从第二端点设备接收与第二端点设备相关联的可用系统服务的列表。此外,该方法能够包括从可用系统服务的列表中接收用于至少一个可用系统服务的可用解析。该方法还能够包括由第一端点设备执行与功能相关联的一个或多个应用。执行一个或多个应用能够包括基于可用解析,使用可用系统服务列表中的至少一个可用系统从第一端点设备向第二端点设备发送实现功能的数据。

该方法还能够包括基于可用系统服务列表中的至少一个可用系统服务,由第一端点设备从第二端点设备接收多个可用解析。可用解析能够是多个可用解析中的一个。此外,该方法能够包括由第一端点设备从第二端点设备接收表示与一个或多个应用交互的数据,以及基于表示与一个或多个应用交互的数据,由第一端点设备修改该一个或多个应用的执行。

该方法能够进一步包括由第一端点设备从第二端点设备接收与通信耦合到第二端点设备的第三端点设备相关联的第二列表可用系统服务。此外,该方法能够包括由第一端点设备从第二端点设备请求来自第二可用系统服务列表的系统服务的第二可用解析。执行一个或多个应用还能够包括基于第二可用解析使用来自第二可用系统服务列表中的系统服务,将实现功能的数据由第一端点设备发送给第三端点设备。

此外,该方法能够包括由第一端点设备检测第二端点设备,并且由第一端点设备从第二端点设备接收与第二端点设备相关联的解析服务数据。该方法进一步能够包括基于解析服务数据,经由多个通信协议中的通信协议,由第一端点设备从第二端点设备请求与第二端点设备相关联的可用系统服务的列表。

在另一个示例实施例中,方法包括由第一端点设备检测包括一个或多个系统服务的第二端点设备,以及由第一端点设备接收与第二端点设备的一个或多个系统服务相关联的可用解析。该方法还能够包括基于与一个或多个系统服务相关联的可用解析,使用第二端点设备的一个或多个系统服务,在第一端点设备上执行一个或多个应用。

该方法还能够包括从第二端点设备接收解析服务数据,并且基于解析服务数据,经由通信协议由第一端点设备请求包括一个或多个系统服务的列表。此外,该方法能够包括由第一端点设备从第二端点设备接收表示与一个或多个应用交互的数据,以及基于表示与一个或多个应用交互的数据来执行一个或多个应用。可用解析能够是从第二端点设备接收的多个可用解析中的一个。以及,能够通过第一通信协议来检测第二端点设备并且能够通过第二通信协议来接收可用解析。

此外,该方法能够包括,响应于检测第二端点设备,由第一端点设备请求访问第二端点设备的发现服务引擎。此外,该方法能够包括在第一端点设备处接收与第二端点设备的发现服务引擎相关联的解析服务数据,并且基于解析服务数据来访问第二端点设备的发现服务引擎。以及,该方法能够包括基于解析服务数据,通过多个通信协议中的通信协议来访问第二端点设备的发现服务引擎。

通常,对于本文的方法,一个或多个应用能够被配置为渲染一个或多个通知。以及,执行该一个或多个应用能够包括在电子耦合到第二端点设备的显示器上渲染一个或多个通知。此外,通常,第一端点设备能够具有第一操作系统并且第二端点设备能够具有不同于第一操作系统的第二操作系统。第二操作系统能够具有至少一个与第一操作系统不同的接口、语言、存储器管理技术、通信协议、加密或网络堆栈。通常,第二端点设备能够靠近第一端点设备。此外,第二端点设备能够包括第三端点设备的设备ID数据。

根据示例实施例,系统能够包括第一端点设备,该第一端点设备包括一个或多个处理器并且存储被配置为操纵该一个或多个处理器以执行本文公开的方法的可执行指令。

根据另外的示例实施例,系统能够包括端点设备框架,该端点设备框架包括通信耦合到一个或多个其他端点设备的一个或多个端点设备,该系统被配置为执行本文所公开的方法。

附图说明

通过参考附图可以更好地理解本公开,并且其许多特征和优点对于本领域技术人员来说是显而易见的。在不同的附图中使用相同的参考符号表示相似或相同的项目。

图1是根据一些实施例的用于共享系统服务的端点设备框架的框图。

图2是根据一些实施例配置成在图1的端点设备框架内导入和导出一个或多个系统服务的端点设备的框图。

图3是示出了根据一些实施例的端点设备的示例引导操作的流程图。

图4是根据一些实施例被配置为在图1的端点设备框架内共享一个或多个系统服务的通信耦合端点设备的框图。

图5是示出了根据一些实施例的端点设备的示例发现服务访问请求操作的信号流程图。

图6是示出了根据一些实施例的示例可用系统服务请求的信号流程图。

图7是示出了根据一些实施例的使用共享系统服务来执行应用的过程的流程图。

具体实施方式

本文描述的技术和系统设法通过跨一个或多个端点设备的共享系统服务在端点设备的设备生态系统中提供灵活性。特别地,本文描述的这样的技术和系统允许端点设备获得从一个或多个其他端点设备共享的系统服务的能力。为了获得这些能力,运行应用的第一端点设备检测通信耦合到第一端点设备的一个或多个其他端点设备。例如,第一端点设备检测接近或靠近第一端点设备的一个或多个其他端点设备。从每个检测到的端点设备,第一端点设备请求可用系统服务的相应列表。在基于正在运行的应用确定一个或多个可应用的系统服务之后,第一端点设备从相应的端点设备请求访问可应用的系统服务所需要的数据。然后,端点设备使用一个或多个可应用的系统服务来实现应用的功能。以这样的方式,第一端点设备获得从其他端点设备共享的可应用的系统服务的能力。

此外,如本文所述的技术和系统允许操作系统不可知论系统服务在端点设备之间共享。也就是说,具有第一操作系统的端点设备能够与具有一个或多个不同操作系统的一个或多个端点设备共享系统服务。这样的框架允许更灵活地将端点设备添加到设备生态系统中。

图1示出了根据一些实施例的允许共享系统服务的端点设备框架100。端点设备框架100包括一个或多个端点设备102,每个端点设备102通信耦合到至少一个其他端点设备,并且被配置为允许在通信耦合的端点设备之间共享系统服务106。如本文所使用,“通信耦合”包括两个或更多个设备,每个设备被配置为允许在它们之间传输数据、接收数据或这两者,例如,通过有线通信、无线通信、网络通信、桥接通信等,仅举几例。如本文所使用,“端点设备”包括被配置为运行一个或多个应用104的硬件和软件资源,并且包括例如一个或多个台式计算机、服务器、虚拟服务器、笔记本计算机、平板计算机、虚拟现实系统、增强现实系统、支持计算的蜂窝手机(即“智能手机”)、支持计算的可穿戴设备(即“可穿戴设备”)、通信集线器、整车集成显示器、支持计算的显示器(即“智能显示器”)、支持计算的电视(即“智能电视”)或它们的任何组合。

在实施例中,每个应用104与在执行应用104时由端点设备102实现的一个或多个功能相关联。例如,每个应用104包括用于实现一个或多个功能的逻辑。这样的功能包括例如流式视频数据、流式音频数据、控制数据流、回放控制、生成通知、显示通知或它们的任何组合,仅举几例。为了实现这些功能,每个端点设备102包括一个或多个系统服务106,该一个或多个系统服务106被配置为在执行应用104时实现功能的至少一部分。如本文所使用,“系统服务”包括被配置为实现应用104的功能的至少一部分的端点设备102的硬件和软件。例如,系统服务106包括被配置为渲染音频数据的硬件和软件(例如,一个或多个音频编码器、音频解码器、扬声器)、渲染视频数据(例如,一个或多个视频编码器、一个或多个视频解码器、显示器)、接收数据、发送数据、接收输入、接收交互(例如,交互式触摸屏、鼠标、键盘、游戏控制器)、生成查询或它们的任何组合,仅举几例。作为另一个示例,系统服务106包括一个或多个应用接口(API),该一个或多个应用接口(API)被配置为实现在端点设备102上执行的应用104的一个或多个功能。尽管在所示实施例中,三个系统服务106-1、106-2和106-3被呈现用于实现与两个应用104-1和104-2相关联的功能,但是在其他实施例中,任何数量的系统服务可能实现用于任何数量的应用的功能。

根据实施例,每个端点设备102被配置为将一个或多个系统服务106导出到一个或多个其他端点设备,以允许一个或多个其他端点设备对导出的系统服务106的访问和控制(即,暴露)。端点设备102的每个系统服务106被配置为使用一个或多个通信协议、有线通信连接和无线通信连接,例如蓝牙、低功耗蓝牙(BLE)、多播域名系统(mDNS)、QR码、超宽带、超声波、通用Web服务API、USB、射频识别(RFID)、近场通信(NFC)、短消息服务(SMS)、Wi-Fi、互联网、局域网(LAN)、以太网或它们的任何组合,将一个或多个系统服务106导出到一个或多个其他端点设备。在实施例中,一旦第一端点设备(例如端点设备102-1)已经将系统服务106导出到第二端点设备(例如端点设备102-2),第二端点设备能够访问和控制系统服务106以便于例如实现与在第二端点设备上运行的应用104相关联的一个或多个功能的至少一部分。也就是说,第二端点设备使用第一端点设备的系统服务106来实现在第二端点设备上运行的应用104的功能。例如,在所示实施例中,系统服务106-3能够被导出到端点设备102-2、102-3或102-4,并且能够被用于实现在端点设备102-2、102-3、或102-4上运行的相应应用的功能的至少一部分。通过将一个或多个系统服务106导出到一个或多个其他端点设备,该一个或多个其他端点设备有效地获得与导出的系统服务106的硬件和软件相关联的新能力。

在实施例中,每个端点设备102包括一个或多个代理系统服务108,该一个或多个代理系统服务108包括被配置为访问和控制从一个或多个其他端点设备导出的一个或多个系统服务106的软件和硬件。根据实施例,代理系统服务108被配置为使用来自另一个端点设备的一个或多个暴露的系统服务来实现应用104(这里也被称为“所支持的应用”)的一个或多个功能的至少一部分。在实施例中,代理系统服务108通过将实现与所支持的应用相关联的功能的数据发送到暴露的系统服务106,来实现所支持的应用的功能。例如,代理系统服务108发送表示应用104的逻辑的数据,以使用从另一个端点设备导出的系统服务106来实现与应用104相关联的功能。尽管在所示实施例中,三个代理系统服务108-1、108-2和108-3被演示为使用三个端点设备102-2、102-3和102-4来实现一个所支持的应用104-3的功能,在其他实施例中,可以使用任何数量的代理系统服务来实现在任何数量的端点设备上执行的任何数量的应用的功能。以这样的方式,在第一端点设备上执行的应用的至少一部分能够在第二端点设备上实现。例如,在第一端点设备102-1上执行的应用104可以具有包括通知的生成和显示的功能。这里,在第一端点设备102-1上运行的应用104的至少一部分,例如通知的显示,能够在第二端点设备102-2上实现。

根据实施例,代理系统服务108被配置为从一个或多个从其他端点设备导出的系统服务106接收输入数据。这里使用的“输入数据”包括表示输入设备上的交互(例如,触摸屏上的手势、触摸屏上的轻敲、键入的文本、鼠标点击、按钮按下,仅举几例)的数据,该输入设备例如交互式触摸屏、鼠标、键盘或游戏控制器。在实施例中,每个代理系统服务108被配置为基于输入数据来修改所支持的应用的执行。例如,代理系统服务108将输入数据作为输入提供给所支持的应用。作为另一个示例,代理系统服务108基于输入数据来发起或停止所支持的应用的执行。

在实施例中,端点设备框架100的每个端点设备102包括一个或多个操作系统,每个操作系统具有例如一个或多个接口、语言、存储器管理技术、通信协议、加密、网络堆栈或它们的任何组合,仅举几例。根据实施例,端点设备框架100被配置为操作系统不可知论。如本文所使用,“操作系统不可知论”包括端点设备框架100,该端点设备框架100被配置为支持具有第一操作系统的至少一个端点设备102和具有不同的第二操作系统的至少一个其他端点设备。也就是说,在端点设备框架100内,具有第一操作系统的第一端点设备102能够将一个或多个系统服务106从第一操作系统导出或导入到具有包括一个或多个不同的接口、存储器管理技术、通信协议、网络堆栈或它们的任何组合的不同的第二操作系统的第二端点设备。

例如,第一端点设备(例如,端点设备102-1)包括具有第一接口和第一存储器管理系统的第一操作系统。在端点设备框架100内,第一端点设备能够从具有不同的第二操作系统的第二端点设备导入一个或多个系统服务,该不同的第二操作系统具有不同的第二接口和不同的第二存储器管理系统。如下文参考图2所讨论的,第一端点设备能够请求访问第二端点设备上的一个或多个系统服务106。作为响应,第二端点设备根据运行在第二端点设备上的操作系统来发送指示如何访问系统服务106的数据。换句话说,第二端点设备根据第二操作系统的一个或多个接口、存储器管理技术、通信协议、网络堆栈或它们的任何组合,来发送指示如何访问其系统服务106的数据。根据该数据,第一端点设备然后能够访问第二端点设备的系统服务。

现在参考图2,呈现了被配置为共享系统服务的示例端点设备202。在实施例中,端点设备202实现如图1中所述的端点设备框架100的各方面。例如,端点设备202可以与图1中所述的端点设备102相似或相同。端点设备202包括分别用于向一个或多个其他端点设备导出和从一个或多个其他端点设备导入一个或多个系统服务的硬件和软件。根据一些实施例,端点设备202是电子设备的一部分,该电子设备支持系统服务到一个或多个其他端点设备的导出以及系统服务从一个或多个其他端点设备的导入,该一个或多个其他端点设备包括例如台式计算机、笔记本计算机、平板计算机、虚拟现实系统、增强现实系统、智能手机、通信集线器、智能显示器或智能电视,仅举几例。在实施例中,端点设备202包括或通信耦合到一个或多个外围设备212,例如显示器、输入设备、扬声器、灯(例如,发光二极管(LED)、有机发光二极管(OLED))、或它们的任何组合。尽管在所示实施例中端点设备202通信耦合到三个外围设备212-1、212-2和212-3,但是在其他实施例中,端点设备202可以通信耦合到任何数量的外围设备。

在实施例中,端点设备202包括通信耦合到存储器210的处理元件230。存储器210包括电子存储设备,例如固态驱动器、硬盘驱动器、随机存取存储器(“RAM”)、只读存储器(“ROM”)、电子可擦除可编程ROM(“EEPROM”)、光存储设备或它们的任何组合。存储器210包括与执行一个或多个应用以及从一个或多个端点设备导出和导入系统服务相关的指令和数据,例如,设备ID数据222、系统服务列表224和解析服务数据226。

根据实施例,处理元件230包括一个或多个控制处理单元(“CPU”)、微处理器、现场可编程门阵列(“FPGA”)、图形处理单元(“GPU”)、专用集成电路(ASIC),或它们的任何组合,并且被配置为将一个或多个系统服务导入到一个或多个其他端点设备和从一个或多个其他端点设备导出一个或多个系统服务。在实施例中,端点设备202包括存储在存储器210中的系统服务列表224。系统服务列表224包括指示端点设备202可用的系统服务106的数据。端点设备202可用的系统服务包括被包括在端点设备202中的系统服务106,以及从一个或多个其他端点设备(即,由一个或多个代理系统服务108控制的其他端点设备的系统服务)导出到端点设备202的系统服务。根据实施例,系统服务列表224进一步能够包括可用于通信耦合到端点设备202的一个或多个其他端点设备的系统服务。

根据实施例,存储器210包括解析服务数据226,解析服务数据226包括与端点设备202的一个或多个组件(例如,引导引擎214、识别引擎216、发现服务引擎220、外围设备212)相关联、与系统服务列表224中的一个或多个系统服务相关联或者与这两者都相关联的可用解析。如本文所使用,“可用解析”包括指示如何使用一个或多个通信协议来访问端点设备202的一个或多个组件或者端点设备202的系统服务106的数据。例如,可用解析包括指示可由一个或多个协议(例如,互联网协议、端口、蓝牙通用属性配置文件(GATT),仅举几例)使用的系统服务106的一个或多个可寻址位置的数据。在实施例中,可用解析包括可由两个或多个通信协议使用的多个可寻址位置。以这样的方式,解析服务数据226包括指示如何使用多个通信协议来访问系统服务106的数据。根据实施例,解析服务数据226包括端点设备202可用的一个或多个系统服务106的可用解析,端点设备202包括从一个或多个其他端点设备导出到端点设备202的系统服务。在实施例中,解析服务数据226进一步包括可用于通信耦合到端点设备202的一个或多个其他端点设备的一个或多个系统服务的可用解析。

处理元件230包括引导引擎214,该引导引擎214被配置为执行引导操作以发现和发起与端点设备202的一个或多个其他端点设备的联系。根据实施例,引导引擎214的引导操作包括检测阶段,该检测阶段被配置为检测靠近端点设备202的一个或多个端点设备的存在。如本文所使用,端点设备在它使用一个或多个协议(例如,BLE、mDNS或NFC,仅举几例)可以被引导引擎214发现时是靠近端点设备202的。也就是说,靠近的端点设备在距离端点设备202的一定距离内,仍然允许引导引擎214对它的检测。在实施例中,引导引擎214的检测阶段被配置为检测与端点设备202通信耦合或关联的一个或多个端点设备的存在,例如,通过一个或多个帐户(例如,一个或多个与端点设备202共享用户帐户的端点设备)、服务器(例如,一个或多个与服务器注册的端点设备),仅举几例。根据实施例,引导引擎214的引导操作进一步包括初始化阶段,该初始化阶段被配置为从一个或多个检测到的端点设备查询和返回设备识别数据(设备ID数据)。

在实施例中,存储器210包括设备ID数据222,该设备ID数据222包括端点设备202的设备ID,端点设备202的设备ID指示端点设备202的身份、所有权、访问、证明或它们的任何组合。根据实施例,设备ID包括类似于互联网协议(“IP”)地址的端点设备202的可寻址标签。根据实施例,端点设备被配置为通过向彼此提供它们的设备ID和可寻址标签来与其他端点设备(例如,端点设备202)通信。在实施例中,设备ID包括非对称密钥对的公开的一半。根据实施例,端点设备(例如,端点设备202)被配置为将密钥对用于数字签名。以这样的方式,从第二端点设备接收数字签名的端点设备能够验证第二端点设备的签名。在实施例中,设备ID包括证明令牌,该证明令牌包括端点设备的一个或多个证明。证明包括表示端点设备的一个或多个能力、配置或完整性的数据。例如,证明能够包括指示端点设备的系统软件自从其制造以来未被修改的数据。在示例实施例中,设备ID的长度为32位,而在其他实施例中,可以使用不同数量的位。根据实施例,设备ID进一步包括通信信息,例如,端点设备的一个或多个系统服务、引擎、模块或处理器的地址信息,以及由端点设备支持的一个或多个通信协议,或者它的一个或多个系统服务、引擎、模块或处理器。作为示例,端点设备202的设备ID能够包括指示如何访问解析服务引擎218(例如,解析服务引擎218的一个或多个可寻址位置)的通信信息和由解析服务引擎218支持的通信协议。在实施例中,设备ID数据包括一个或多个其他端点设备的设备ID,例如,端点设备202通信耦合到的、先前通信耦合到的或这两者的那些一个或多个其他端点设备的设备ID。

根据实施例,处理元件230包括识别引擎216,识别引擎216被配置为生成、存储、修改、维护和认证设备ID,例如,存储在设备ID数据222中的那些设备ID。在实施例中,识别引擎216被配置为认证从一个或多个端点设备接收的设备ID。例如,识别引擎216被配置为确认设备ID的所有权、确认设备ID的地址、例如通过证明服务确认设备ID的证明(例如端点设备未被篡改的证明)、确认设备ID的身份、确定设备ID的时间戳或它们的任何组合。作为示例,识别引擎216通过将接收到的设备ID中指示的身份与从证明服务获得的身份进行比较来确认接收到的设备ID的身份。作为另一个示例,设备ID能够包括在数字签名中使用的非对称密钥对的公开的一半,以允许识别引擎216验证从与设备ID相关联的端点设备接收到的签名。识别引擎216被配置为将一个或多个接收到的设备ID存储在设备ID数据222中。根据实施例,识别引擎216仅将经认证的设备ID存储在设备ID数据222中。

在实施例中,处理元件230包括解析服务引擎218,该解析服务引擎218包括被配置为处理从一个或多个其他端点设备接收到的引入的发现访问解析请求和解析查询的软件和硬件。如本文所使用,“发现访问解析请求”包括从一个或多个其他端点设备接收到的对端点设备202的发现服务引擎220的访问请求。基于发现访问解析请求,解析引擎218被配置为将与发现服务引擎220相关联的一个或多个可用解析发送到传送了发现访问解析请求的端点设备。也就是说,解析引擎218被配置为将指示如何使用一个或多个通信协议访问发现服务引擎220的数据发送到请求端点设备。如本文所使用,“解析查询”包括对包含在系统服务列表224中的一个或多个识别的系统服务的访问请求。基于接收到的解析查询,解析引擎218被配置为将与识别的系统服务相关联的一个或多个可用解析发送到传送了解析查询的端点设备。换句话说,解析引擎218被配置为将指示如何使用一个或多个通信协议访问识别的系统服务(例如,一个或多个可寻址位置)的数据发送到请求端点设备。

根据实施例,处理元件230包括发现服务引擎220,该发现服务引擎220包括被配置为处理从一个或多个其他端点设备接收到的引入的系统服务查询的硬件和软件。如本文所使用,“系统服务查询”包括对于端点设备202可用的一个或多个系统服务的识别或列表的请求。基于接收到的系统服务查询,发现服务引擎220访问系统服务列表224并且确定对于端点设备202可用的系统服务。根据实施例,发现服务引擎220被配置为将包括可用系统服务的列表的数据发送到请求端点设备。在实施例中,发现服务引擎220进一步被配置为将可用系统服务的一个或多个附加列表发送到请求端点设备。可用系统服务的每个附加列表指示对于通信耦合到端点设备202的相应端点设备可用的系统服务。以这样的方式,端点设备202用作请求端点设备与通信耦合到端点设备202的端点设备之间的中介或桥梁。

图3呈现了由引导引擎执行的示例引导操作300,该引导引擎与相似或相同于呈现的端点设备202的第一端点设备的引导引擎214是相似或相同的。在步骤305处,引导引擎发起检测阶段。在实施例中,发起检测阶段包括引导引擎发起(例如,激活)一个或多个通信协议,例如蓝牙、BLE、多播域mDNS、QR码、超宽带、RFID、NFC或它们的任何组合,仅举几例。在步骤310处,引导引擎根据一个或多个所发起的协议来检测一个或多个靠近的端点设备。在实施例中,一个或多个所发起的协议包括作为扫描设备操作的第一设备(例如,第一端点设备)和作为广告设备操作的第二设备(例如,一个或多个其他端点设备)。如本文所使用,“广告设备”被配置为基于一个或多个所发起的协议来宣布它的存在。例如,广告设备被配置为根据一个或多个所发起的协议来发送指示广告设备的存在的信号或信标。如本文所使用,“扫描设备”被配置为检测一个或多个广告设备的存在,例如,通过接收由广告设备发送的信号或信标。根据实施例,单个设备可以同时作为扫描设备和广告设备操作。

在步骤315处,在引导引擎已经检测到一个或多个端点设备的存在之后,引导引擎发起初始化阶段。在初始化阶段,引导引擎被配置为使用一个或多个通信协议发起与一个或多个检测到的端点设备的联系。在实施例中,引导引擎使用一个或多个所发起的协议来发起与一个或多个检测到的端点设备的联系。在步骤320处,一旦引导引擎已经发起与检测到的端点设备的联系,引导引擎就建立设备ID查询并将其发送到检测到的端点设备。设备ID查询包括对连接的端点设备的设备ID的请求。也就是说,引导引擎从每个检测到的端点设备请求识别数据。根据一些实施例,设备ID查询包括发起引导过程的端点设备的设备ID。在步骤325处,引导引擎从一个或多个检测到的端点设备接收相应的设备ID。根据一些实施例,引导引擎进一步从检测到的端点设备接收一个或多个设备ID,该一个或多个设备ID识别耦合到检测到的端点设备的一个或多个相应端点设备。在实施例中,引导引擎可以将接收到的设备ID提供给与识别引擎216相似或相同的识别引擎。识别引擎被配置为认证设备ID,例如,通过确认设备ID的所有权、确认设备ID的地址、通过证明服务确认设备ID的证明、确认设备ID的身份、确定设备ID的时间戳(例如,确认设备ID未过期)或它们的任何组合。根据实施例,从检测到的端点设备接收到的设备ID每个都包括与连接的端点设备的相应发现服务引擎相关联的一个或多个可用解析(即,指示如何访问连接的端点设备的相应发现服务引擎的数据)。

现在参考图4,呈现了被配置为共享系统服务的通信耦合端点设备的框图。在实施例中,端点设备402-1(包括发现服务引擎420-1、解析服务引擎418-1和系统服务406-1)和402-2(包括发现服务引擎420-2、解析服务引擎418-2和系统服务406-2)实现如图1中所述的端点设备框架100的各方面。例如,端点设备402-1和402-2可以与图1中所述的端点设备102相似或相同。虽然在所示实施例中端点设备402-1通信耦合到一个其他端点设备402-2,但是在其他实施例中,端点设备402-1可以通信耦合到任何数量的其他端点设备。根据实施例,端点设备402-1通过实施例如以上参考图3讨论的示例引导操作300来使用一个或多个通信协议而发起与端点设备402-2的联系。

在实施例中,每个端点设备402被配置为分别运行或执行一个或多个应用404-1和404-2,每个应用与一个或多个功能相关联。每个端点设备被配置为使用端点设备402内的或产自于端点设备402的系统服务406,或者使用从另一个端点设备402共享的一个或多个导出的系统服务406来实现这些功能。例如,在所示实施例中,端点设备402-1被配置为使用系统服务406-1、端点设备402-2上的系统服务406-2或这两者来实现应用404-1的一个或多个功能。以这样的方式,端点设备402-1的能力随着更多系统服务可用于实现应用的功能而增加。根据实施例,为了访问另一端点设备上的系统服务406,运行在端点设备402上的一个或多个应用404被配置为访问一个或多个其他端点设备的发现服务引擎420,该发现服务引擎420与发现服务引擎220相似或相同。尽管在所示实施例中,在第一端点设备402-1上运行的一个应用404-1正在访问另一个端点设备402的一个发现服务引擎420-2,但在其他实施例中,在第一端点设备402-1上运行的任何数量的应用404可以访问任何数量的其他端点设备的任何数量的发现服务引擎。在一些实施例中,基于在与引导操作300相似或相同的引导操作期间从第二端点设备402-2接收到的设备ID,在第一端点设备402-1上运行的应用404访问在第二端点设备402-2上运行的发现服务引擎420-2。例如,在引导操作期间,端点设备402-1从端点设备402-2接收设备ID,该设备ID包括与在端点设备402-2上运行的发现服务引擎420-2相关联的一个或多个可用解析(即,指示如何访问发现服务引擎420-2的数据)。基于这些可用的解析,应用404-1可以使用一个或多个通信协议来访问发现服务引擎420-2。在实施例中,端点设备402-1从端点设备402-2接收设备ID,该设备ID包括与通信耦合到端点设备402-2的一个或多个其他端点设备的一个或多个发现服务引擎相关联的一个或多个可用解析。在其他实施例中,在第一端点设备402-1上运行的应用404-1首先通过查询在端点设备402-2上运行的解析服务引擎418-2来请求对发现服务引擎420-2的访问。

例如,现在参考图5,呈现了用于访问发现服务引擎的示例请求操作500。根据实施例,与端点设备102相似或相同的第一端点设备502-1被配置为请求访问在第二端点设备502-2上运行的与发现服务引擎220相似或相同的发现服务引擎,该第二端点设备502-2通信耦合到第一端点设备502-1。第二端点设备502-2包括与解析服务引擎218相似或相同的解析服务引擎518,以及与识别引擎216相似或相同的识别引擎516。请求操作500包括第一端点设备502-1向第二端点设备502-2发送识别查询501。在实施例中,识别查询501包括请求第二端点设备502-2的设备ID的数据。根据实施例,响应于接收识别查询501,第二端点设备502-2的识别引擎516被配置为将第二端点设备502-2的设备ID数据503发送到第一端点设备502-1。发送到第一端点设备502-1的设备ID数据503包括指示如何访问第二端点设备502-2的解析服务引擎518的数据。例如,设备ID数据503包括指示由解析服务引擎518支持的通信协议、解析服务引擎518的可寻址位置或这两者的数据。

基于接收到的设备ID数据503,第一端点设备502-1生成发现访问解析请求505并且将发现访问解析请求505发送到第二端点设备502-2的解析服务引擎518。发现访问解析请求505包括请求用于在第二端点设备502-2上运行的发现服务引擎的访问信息的数据。例如,发现访问解析请求505包括对第二端点设备502-2的发现服务引擎的可用解析的查询。响应于接收发现访问解析请求505,解析服务引擎518被配置为将解析数据507发送到第一端点设备。解析数据507包括用于第二端点设备502-2的发现服务引擎的一个或多个可用解析。也就是说,解析数据507包括指示如何访问第二端点设备502-2的发现服务引擎的数据。例如,解析数据507包括由发现服务引擎支持的一个或多个通信协议以及发现服务引擎的可寻址位置。根据解析数据507,第一端点设备502-1能够访问第二端点设备502-2的发现服务引擎。例如,解析数据507能够包括识别由第二端点设备的发现服务引擎(例如,蓝牙LTE)支持的通信协议以及发现服务引擎在上面可用的一个或多个开放端口的数据。基于识别的通信协议和开放端口,第一端点设备502-1能够访问第二端点设备502-2的发现服务引擎。在实施例中,解析数据507进一步包括用于通信耦合到第二端点设备502-2的一个或多个端点设备的发现服务引擎的一个或多个可用解析。

再次参照图4,在获得对第二端点设备402-2的发现服务引擎420-2的访问之后,在第一端点设备402-1上运行的应用404-1从发现服务引擎420-2查询并且接收可用系统服务的列表。可用系统服务的列表包括对于第二端点设备402-2可用的每个系统服务,所述每个系统服务包括由一个或多个其他端点设备导出到第二端点设备402-2(即,与第二端点设备402-2共享)的那些系统服务。根据一些实施例,第一端点设备402-1从发现服务引擎420-2查询和接收可用系统服务的一个或多个附加列表,该可用系统服务的一个或多个附加列表包括对于通信耦合到第二端点设备402-2的一个或多个相应的其他端点设备可用的系统服务。以这样的方式,发现服务引擎420-2用作在第一端点设备402-1与通信耦合到第二端点设备402-2的一个或多个其他端点设备之间的桥梁或中介。

在实施例中,应用404-1基于与在第一端点设备402上运行的一个或多个应用相关联的功能,从该一个或多个可用系统服务列表中确定一个或多个可应用的系统服务。这里,可应用的系统服务包括对于实现与在端点设备上运行的应用相关联的一个或多个功能是有帮助的或者是必需的系统服务。例如,应用404-1从系统服务列表中确定一个或多个可应用的系统服务,这些系统服务对于实现与应用404-1相关联的一个或多个功能是有帮助的或者是必需的。在确定可应用的系统服务之后,应用404-1向第二端点设备402-2的解析服务引擎418-2查询与可应用的系统服务相关联的可用解析。换句话说,应用404-1从解析服务引擎418-2请求指示如何访问可应用的系统服务的数据。

例如,现在参考图6,呈现了来自端点设备的可用系统服务的示例请求操作600。在实施例中,与端点设备102相似或相同的第一端点设备602-1生成系统服务查询601并且将其发送到第二端点设备602-2的发现服务引擎620。系统服务查询601包括请求对于第二端点设备602-2可用的系统服务列表的数据。响应于接收系统服务查询601,在第二端点设备602-2上运行的发现服务引擎620将可用系统服务列表603发送到第一端点设备602-1。可用系统服务列表603包括识别对于第二端点设备602-2可用的每个系统服务的数据。这样的系统服务包括在第二端点设备602-2上运行的系统服务以及由一个或多个其他端点设备导出到第二端点设备602-2或与第二端点设备602-2共享的系统服务。根据一些实施例,第二端点设备602-2发送可用系统服务的一个或多个附加列表,其中每个都包括识别对于通信耦合到第二端点设备602-2的相应其他端点设备可用的系统服务的数据。基于可用系统服务列表603或可用系统服务的一个或多个附加列表,第一端点设备602-1基于在第一端点设备602-1上运行的应用的一个或多个功能来确定一个或多个可应用的系统服务。

在第一端点设备602-1已经确定了一个或多个可应用的应用之后,第一端点设备602-1生成解析查询605并且将其发送到第二端点设备602-2的解析服务引擎618。解析查询605包括请求如何访问所确定的可应用的系统服务(即,请求可应用的系统服务的一个或多个可用解析)的数据。响应于接收解析查询605,第二端点设备602-2的解析服务引擎618确定可应用的系统服务的一个或多个可用解析607。例如,解析服务引擎618解析了解析服务数据以确定用于应用系统服务的一个或多个可用解析607。一旦解析服务引擎618确定可应用的系统服务的可用解析607,可用的解析607就被发送到第一端点设备602-1。

再次参考图4,在第一端点设备402-1上运行的应用404-1接收可应用的系统服务的可用解析之后,应用404-1访问端点设备402-2的那些可应用的系统服务,使得应用404-1具有对可应用的系统服务的控制。在应用404-1访问可应用的系统服务之后,第一端点设备402-1通过使用可应用的系统服务实现与那些应用404相关联的功能来执行一个或多个应用404。例如,端点设备402-1使用第二端点设备402-2的系统服务406-2来实现与应用404-1相关联的功能。在实施例中,实现应用的功能包括使用可应用的系统服务来执行应用的至少一部分。以这样的方式,第一端点设备402-1获得第二端点设备402-2的系统服务406-2的能力。

作为示例,应用404-1包括一个或多个通知功能,例如一个或多个通知的生成、显示和交互。从来自第二端点设备402-2的可用系统服务的列表中,应用404-1确定一个或多个可应用的系统服务,所述一个或多个可应用的系统服务有助于一个或多个通知的显示和交互,例如,显示API、输入API以及第二端点设备402-2的接口。一旦应用404-1接收第二端点设备402-2的显示API、输入API和接口的可用解析,应用404-1就使用例如第二端点设备402-2的显示API和接口来实现一个或多个通知的显示,以及使用例如第二端点设备402-2的输入API和接口来实现与一个或多个通知的交互。

作为另一个示例,应用404-1包括一个或多个功能,例如,电话呼叫的接收和流传输。从来自第二端点设备402-2的可用系统服务的列表中,应用404-1确定有助于电话呼叫的接收和流传输的一个或多个可应用的系统服务,例如,第二端点设备402-2的电信API。一旦应用404-1接收第二端点设备402-2的电信API的可用解析,应用404-1就使用例如第二端点设备402-2的电信API来实现电话呼叫的接收和流传输。

现在参考图7,示出了用于使用共享系统服务执行应用的示例过程700的流程图。在步骤705处,与端点设备102相似或相同的第一端点设备首先访问通信耦合到第一端点设备的一个或多个其他端点设备的发现服务引擎。在实施例中,为了访问发现服务引擎,第一端点设备被配置为首先根据一个或多个通信协议来检测一个或多个其他端点设备。然后第一端点设备请求每个检测到的端点设备的设备ID。根据实施例,检测到的端点设备的每个设备ID包括指示如何访问该端点设备的相应发现服务引擎的数据。

此外,在步骤705处,一旦第一端点设备具有对通信耦合到第一端点设备的一个或多个其他端点设备的发现服务引擎的访问,第一端点设备就查询每个其他端点设备的可用系统服务。也就是说,第一端点设备从每个其他端点设备查询,在其他端点设备上运行的系统服务以及从至少另一个不同的端点设备导出(即共享)到其他端点设备的系统服务。在步骤710处,第一端点设备从每个所查询的端点设备接收可用系统服务的列表。从可用系统服务的列表中,第一端点设备识别一个或多个可应用的系统服务。可应用的系统服务包括一个或多个系统服务,所述一个或多个系统服务对于与在第一端点设备上运行的一个或多个应用相关联的一个或多个功能的实现是有帮助或者是必需的。在步骤715处,第一端点设备从列出可应用的系统服务的一个或多个端点设备查询可应用的系统服务的解析数据。也就是说,第一端点设备查询发送了包括可应用的系统服务的可用系统服务列表的端点设备。在步骤720处,第一端点设备从相应端点设备(即,被查询的端点设备)接收用于每个可应用的系统服务的一个或多个可用解析。可用解析包括指示如何访问和控制可应用的系统服务的数据,例如,指示与可应用的系统服务相关联的一个或多个通信协议以及可应用的系统服务的一个或多个可寻址位置的数据。

在步骤725处,第一端点设备执行一个或多个应用。执行该一个或多个应用包括使用一个或多个可应用的系统服务来实现与应用相关联的一个或多个功能。以这样的方式,第一端点设备使用其他端点设备的系统服务来执行应用。在步骤730处,第一端点设备接收表示与相应端点设备的交互的数据,该相应端点设备包括实现在第一端点设备上执行的应用的功能的可应用的系统服务。也就是说,第一端点设备从第二端点设备接收表示与在第一端点设备上执行的应用的交互的数据,该第二端点设备包括用于实现在第一端点设备上执行的应用的功能的可应用的系统服务。以这样的方式,第二端点设备用作在第一端点设备上执行的应用的远程输入设备。在步骤735处,第一端点设备被配置为根据表示与相应端点设备的交互的数据来修改一个或多个应用的执行。例如,第一端点设备提供表示与相应端点设备的交互的数据作为一个或多个应用的输入,基于该数据来发起一个或多个应用的执行,基于该数据来停止一个或多个应用的执行,或者它们的任何组合,仅举几例。

在一些实施例中,上述技术的某些方面可以通过执行软件的处理系统的一个或多个处理器来实现。该软件包括存储在或以其他方式有形地体现在非暂时性计算机可读存储介质上的可执行指令的一个或多个集合。该软件能够包括指令和某些数据,当由一个或多个处理器执行时,所述指令和某些数据操纵该一个或多个处理器执行上述技术的一个或多个方面。非暂时性计算机可读存储介质能够包括例如磁盘或光盘存储设备、诸如闪存的固态存储设备、缓存、随机存取存储器(RAM)或其他非易失性存储设备等。存储在非暂时性计算机可读存储介质上的可执行指令可以是由一个或多个处理器解释或以其他方式执行的源代码、汇编语言代码、目标代码或其他指令格式。

计算机可读存储介质可以包括在使用期间可由计算机系统访问以向计算机系统提供指令和/或数据的任何存储介质或存储介质的组合。这样的存储介质能够包括但不限于光学介质(例如压缩盘(CD)、数字多功能盘(DVD)、蓝光盘)、磁性介质(例如软盘、磁带或磁硬盘驱动器)、易失性存储器(例如,随机存取存储器(RAM)或缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存)、或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以嵌入在计算系统中(例如,系统RAM或ROM),固定地附接到计算系统(例如,磁硬盘驱动器),可移除地附接到计算系统(例如,光盘或基于通用串行总线(USB)的闪存),或经由有线或无线网络(例如,网络可访问存储(NAS))耦合到计算机系统。

注意到,不是上述一般描述中描述的所有活动或元素都是需要的,可能不需要特定活动或设备的一部分,并且除了那些描述的,可能还执行一个或多个另外的活动或包含的元素。并且此外,列出活动的顺序不一定是执行它们的顺序。并且,已经参考特定实施例描述了概念。然而,本领域的普通技术人员理解,能够进行各种修改和改变而不脱离如以下权利要求中阐述的本公开的范围。因此,说明书和附图应被视为说明性而非限制性意义,并且所有这样的修改旨在被包括在本公开的范围内。

如在“A、B或C中的至少一个”的上下文中使用的介词“或”在本文中用于表示“包括的或”。也就是说,在上述和类似的上下文中,或用于表示“它们中的至少一个或它们的任何组合”。例如,“A、B和C中的至少一个”用于表示“A、B、C中的至少一个或它们的任何组合中的至少一个”。

上面已经关于特定实施例描述了益处、其他优点和问题的解决方案。然而,益处、优点、问题的解决方案以及可能使得任何益处、优点或解决方案出现或变得更加明显的任何特征都不应被解释为任何或所有权利要求的关键的、需要的或基本的特征。此外,以上公开的特定实施例仅是说明性的,因为对于受益于本文教导的本领域技术人员而言,可以以不同但等效的方式修改和实践所公开的主题。除了在以下权利要求中描述的以外,不旨在对本文所示的构造或设计的细节进行限制。因此明显的是,以上公开的特定实施例可以被改变或修改,并且所有这样的变化都被认为在所公开主题的范围内。因此,本文寻求的保护如以下权利要求所述。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号