基于对平台无关的设备功能的设备特定的支持的分布式应用执行的制作方法

文档序号:16807128发布日期:2019-02-10 13:09阅读:127来源:国知局
基于对平台无关的设备功能的设备特定的支持的分布式应用执行的制作方法

事件处理通常涉及被配置为执行特定详细功能的系统。例如,响应于事件,系统可以被配置为闪光、播放声音或发送消息。这需要开发人员事先决定响应特定事件(例如故障)将发生什么。然而,这样的解决方案可能不适合特定的现代计算环境。



技术实现要素:

本文的一个或多个实施例包括一种用于支持分布式应用执行的计算机实现的方法。该方法包括:接收标识将要由应用执行的多个平台无关的设备功能的应用定义;以及将所述平台无关的设备功能映射到在代码模块库中存储的对应的代码模块。所述方法还包括:将所述对应的代码模块分发到多个远程设备,以用于由所述远程设备根据所述远程设备对所述平台无关的设备功能的设备特定的支持来分布式执行所述应用。所述分发包括向不同的远程设备发送给定代码模块,所述不同的远程设备针对与所述给定代码模块对应的所述平台无关的设备功能具有不同的设备特定的支持。

在一些实施例中,该方法还包括:通过向所述不同的远程设备中的至少两个不同的远程设备发送指示事件已发生的平台无关的消息,触发由所述至少两个不同的远程设备执行对与所述给定代码模块对应的所述平台无关的设备功能的不同的设备特定的支持。

在一些这样的实施例中,所述至少两个不同的远程设备中的每个远程设备包括用于向用户发送消息的输出接口,以及触发由所述至少两个不同的远程设备执行所述不同的设备特定的支持包括:触发所述至少两个不同的远程设备中的每个远程设备使用其输出接口来不同地向所述用户发送消息。

在一些这样的实施例中,对所述至少两个不同的远程设备中的给定远程设备的所述平台无关的设备功能的所述设备特定的支持包括多个设备特定的功能,以及向所述给定远程设备发送所述平台无关的消息还触发由所述给定远程设备从所述多个设备特定的功能中自主地选择设备特定的功能。

在一些这样的实施例中,向所述至少两个不同的远程设备发送所述平台无关的消息是响应于基于所述事件从所述不同的远程设备中选择所述至少两个不同的远程设备。

在一些这样的实施例中,该方法还包括:通过在计算设备上执行的软件运行时生成所述平台无关的消息;以及通过所述计算设备的与所述软件运行时不同的平台特定的功能来检测所述事件的发生。

在一些这样的实施例中,向针对与所述给定代码模块对应的所述平台无关的设备功能具有不同的设备特定的支持的不同远程设备发送所述给定代码模块包括:向包括在设施的安全基础架构中的不同的远程设备发送所述给定代码模块。在特定实施例中,所述计算设备被包括在所述设施的疏散信令系统中,所述平台无关的消息还指示紧急情况。

在一些这样的实施例中,向针对与所述给定代码模块对应的所述平台无关的设备功能具有不同的设备特定的支持的不同远程设备发送所述给定代码模块包括:向包括在车辆交通管理系统中的不同的远程设备发送所述给定代码模块。在特定实施例中,所述计算设备被包括在紧急车辆中,所述平台无关的消息还指示紧急情况。

实施例还包括对应的方法和计算机可读存储介质。例如,一些实施例包括用于支持分布式应用执行的计算设备。所述计算设备包括处理器和存储器。所述存储器包含能够由所述处理器执行的指令,由此所述计算设备被配置为接收标识将要由应用执行的多个平台无关的设备功能的应用定义。所述计算设备还被配置为将所述平台无关的设备功能映射到在代码模块库中存储的对应的代码模块,以及将所述对应的代码模块分发到多个远程设备,以用于由所述远程设备根据所述远程设备对所述平台无关的设备功能的设备特定的支持来分布式执行所述应用。为了分发,所述计算设备被配置为:向不同的远程设备发送给定代码模块,所述不同的远程设备针对与所述给定代码模块对应的所述平台无关的设备功能具有不同的设备特定的支持。

在一些实施例中,所述计算设备还被配置为:通过向所述不同的远程设备中的至少两个不同的远程设备发送指示事件已发生的平台无关的消息,触发由所述至少两个不同的远程设备执行对与所述给定代码模块对应的所述平台无关的设备功能的不同的设备特定的支持。

在一些这样的实施例中,所述至少两个不同的远程设备中的每个远程设备包括用于向用户发送消息的输出接口,以及为了触发由所述至少两个不同的远程设备执行所述不同的设备特定的支持,所述计算设备被配置为触发所述至少两个不同的远程设备中的每个远程设备使用其输出接口来不同地向所述用户发送消息。

在一些这样的实施例中,对所述至少两个不同的远程设备中的给定远程设备的所述平台无关的设备功能的所述设备特定的支持包括多个设备特定的功能,以及通过向所述给定远程设备发送所述平台无关的消息,所述计算设备还触发由所述给定远程设备从所述多个设备特定的功能中自主地选择设备特定的功能。

在一些这样的实施例中,所述计算设备被配置为:响应于基于所述事件从所述不同的远程设备中选择所述至少两个不同的远程设备,向所述至少两个不同的远程设备发送所述平台无关的消息。

在一些这样的实施例中,所述计算设备还被配置为:通过在计算设备上执行的软件运行时生成所述平台无关的消息;以及通过所述计算设备的与所述软件运行时不同的平台特定的功能来检测所述事件的发生。

在一些这样的实施例中,为了向针对与所述给定代码模块对应的所述平台无关的设备功能具有不同的设备特定的支持的不同远程设备发送所述给定代码模块,所述计算设备被配置为向包括在设施的安全基础架构中的不同的远程设备发送所述给定代码模块。在特定实施例中,所述计算设备被包括在所述设施的疏散信令系统中,所述平台无关的消息还指示紧急情况。

在一些这样的实施例中,为了向针对与所述给定代码模块对应的所述平台无关的设备功能具有不同的设备特定的支持的不同远程设备发送所述给定代码模块,所述计算设备被配置为向包括在车辆交通管理系统中的不同的远程设备发送所述给定代码模块。在特定实施例中,所述计算设备被包括在紧急车辆中,所述平台无关的消息还指示紧急情况。

附图说明

通过示例的方式示出了本公开的各方面,并且本发明的各方面不受附图的限制,附图中相同的附图标记表示相同的元件。通常,附图标记的使用应被视为一般地指代所描绘的主题,而对所示元素的特定实例的讨论将向其附加字母标记(例如对远程设备115的讨论,通常与对远程设备115a、115b的特定实例的讨论相对)。这些附图是:

图1是示出根据本公开的实施例的示例计算环境的框图;

图2是示出根据本公开的实施例的计算设备和远程设备之间的消息传送的示例的框图;

图3是示出根据本公开的实施例的代码模块分发的框图;

图4是示出根据本公开的实施例的计算设备和不同远程设备之间的信令的示例的信令图;

图5是示出根据本公开的实施例的由计算设备实现的示例性方法的流程图;

图6是示出根据本公开的实施例的用于实现本文描述的方法的示例硬件的框图;

图7是根据本公开的实施例的计算设备的框图。

具体实施方式

如下面将详细描述的,本公开的各方面可以完全实现为硬件单元、完全实现为软件模块(包括固件、常驻软件、微代码等)、或实现为硬件单元和软件模块的组合。例如,本公开的实施例可以采用存储计算机程序形式的软件指令的非暂时性计算机可读介质的形式,所述计算机程序当在可编程设备上执行时配置可编程设备以执行下面描述的各种方法。

为了清楚理解下面的公开内容,在讨论联合项目列表中的“一个”(例如“a和b之一”)的程度上,本公开涉及列表中的一个(而不是两个)项目(例如a或b,而不是a和b)。这样的短语不是指列表项目中的每个的一个(例如一个a和一个b),这样的短语也不是指列表中的单个项目中的一个(例如仅一个a,或仅一个b)。类似地,在讨论联合项目列表的“至少一个”(并且类似地对于这样的列表中的“一个或多个”)的程度上,本公开涉及列表中的任何项目或列表中项目的任何组合(例如仅a,仅b,或a和b两者)。这样的短语不是指列表中的项目中的每个的一个或多个(例如一个或多个a,以及一个或多个b)。

本公开的实施例一般涉及分布式应用执行。图1示出了根据各种实施例的示例性计算环境100。计算环境100包括计算设备110、多个远程设备115a-e和代码模块库120。如下面将更详细讨论的,计算设备110、远程设备115a-e和/或代码模块库120均可以包括其自己的接口电路(未示出),所述接口电路被配置为与其他一个或多个接口交换信号。

根据各种实施例,通信设备110与远程设备115a-e和/或代码模块库120中的一个或多个之间的通信可以是有线的或无线的、直接的或经由中间网络(未示出)。例如,计算设备110可以经由蓝牙与远程设备115a通信、经由近场通信与远程设备115b通信、经由wi-fi与远程设备115c通信、经由通过中间分组路由器(未示出)的有线以太网与远程设备115d通信、以及经由蜂窝通信网络(未示出)与远程设备115e通信。根据另一示例,计算设备110通过相同类型的通信接口(例如wi-fi)与远程设备115a-e直接通信。

远程设备115a-e的典型示例包括(但不限于)警告设备、显示器、网络设备、音频设备、个人计算机、膝上型计算机、台式计算机、工作站、智能电话、平板计算机、可穿戴计算机、智能电器、服务器计算机、服务器集群、网络附加存储和/或存储区域网络。

计算设备110的典型示例包括(但不限于)服务器计算机、服务器集群、个人计算机、膝上型计算机、台式计算机、工作站、智能电话、平板计算机、可穿戴计算机、智能电器、网络附加存储和/或或存储区域网络。

代码模块库120的典型示例可以是存储在网络附加存储、存储区域网络、硬盘驱动器和/或固态驱动器上的数据库。尽管未在图1中示出,但是代码模块库的其他示例可以是存储在计算设备110和/或远程设备115a-e中的一个或多个上的数据库。

根据实施例,计算设备110可以被配置为发现计算设备能够与之通信的远程设备115a-e。如下面将更详细讨论的,远程设备115a-e的这种发现可以响应于检测到特定事件。附加地或备选地,远程设备115a-e的发现可以是初始化计算环境100以用于分布式应用执行的一部分,如下面将进一步讨论的。通常,远程设备115a-e的发现可以在任何时间、周期性地和/或与本文将描述的任何方法并行地发生。如下面将更详细解释的,代码模块库120可以被配置为存储由远程设备115a-e使用的代码。

图2总体示出了根据特定实施例的计算设备110和远程设备115a之间的通信的示例。如图2所示,计算设备110包括设备平台215a和运行时应用编程接口(api)210a。设备平台215a包括硬件和/或检测一个或多个事件的发生并向运行时api提供一个或多个对应通知220的软件。根据实施例,事件包括促使设备平台215a或运行时api210a中的一个或两个在通信流中产生令牌的任何外部触发器。这种事件的示例可以包括用户按下设备平台215a的按钮、硬件或软件时钟到达特定时间、或者设备平台215a中的传感器到达特定值。

根据实施例,运行时api210a-b中的一个或两个是用于控制它们各自的设备110、115a的软件运行时。例如,运行时api210a-b中的一个或两个可以是允许其他设备和/或软件通过暴露跨平台api来调用设备特定的功能的虚拟机。这样的虚拟机可以包括例如java虚拟机(jvm)。根据实施例,运行时api210a-b可以迁移到它们各自的设备110、115a以及从它们各自的设备110、115a迁移,以在运行时api启动并工作时改变在其上执行设备特定的功能的方式。在一些实施例中,可以基于加载在其上的特定运行时api210a、210b来显著增加或减少设备110、115a的复杂性。例如,从远程设备115a的角度来看,可以通过简单地将加载在计算设备110上的运行时api210a与更简单的集群交换来将计算设备110从高度复杂的多功能服务器集群变换到简单的紧急通知交换机。在一些实施例中,改变加载在其上的运行时api210a不会改变设备平台215a,使得具有计算设备110的设备特定知识的硬件和/或软件将不受影响。

运行时api210a是从平台代码215a接受通知220的软件抽象层,并基于所接收的通知220生成平台无关的消息225(其指示事件的发生)。计算设备向远程设备115a发送该平台无关的消息225。

远程设备115a包括其自己的运行时api210b和平台代码215b。运行时api210b接收平台无关的消息225,并且在一些实施例中,例如通过决定调用哪个设备特定的功能来自主地决定如何响应事件的发生。考虑到不同远程设备115具有这样做的特定能力,这可以有效地使计算设备110与关于不同远程设备115应该如何响应事件的决定隔离。例如,响应于事件,运行时api210b基于所接收的事件,自主地决定调用由设备平台215b提供的哪个设备特定的功能。响应于该确定,运行时api210b根据自主决定用适当的命令230调用设备平台215b的设备特定的功能。然后,设备平台215b执行设备特定的功能。该设备特定的功能可以是多个远程设备115对更复杂应用的分布式执行的一部分。

在一些实施例中,平台无关的消息225是设备平台215a、215b中的任一个或两个的任何协议都不支持的消息。平台无关的消息225可以附加地或备选地不知道设备平台215a、215b中的任一个或两个。例如,根据实施例,计算设备110的设备平台215a可以包括一个或多个传感器和/或软件代理。这种传感器的示例包括温度传感器、压力传感器、开关或按钮。这种软件代理的示例包括事件处理机或网络服务。根据实施例,计算设备110经由一个或多个这样的传感器和/或软件代理来检测事件。在这样的示例中,平台无关的消息225可能没有设备平台215a的知识和/或不知道设备平台215a,包括其任何或所有传感器和/或软件代理。

根据实施例,远程设备115a的设备平台215b可以包括用于向用户发送消息的一个或多个输出接口(例如不同类型的输出接口)。这种输出接口的示例包括显示器、扬声器或触觉设备。在一些实施例中,自主地决定调用哪个设备特定的功能包括自主地决定使用多个输出接口中的哪个输出接口。在一些实施例中,自主地决定调用哪个设备特定的功能包括自主地决定向特定输出接口发送什么输出(例如向扬声器播放什么声音、向显示器呈现什么消息)。

在给定应用的分布式执行期间,可以使用诸如图2中所示的消息发送。图3示出了其中在给定特定应用定义250的情况下,计算设备110分发代码模块260以支持分布式应用执行的示例实施例。应用定义250可以是例如从用户输入、代码模块库120和/或远程设备115a-e接收的脚本或源代码。

根据该示例,应用定义250以平台无关的方式标识多个设备功能。例如,应用定义250可以分别包括功能标识符255a-c“开始”、“警告”和“停止”,其每一个不是特定于计算设备110或远程设备115a-e。而是,“开始”、“警告”和“停止”中的每一个可以具有不同的效果,这取决于功能255是否由例如远程设备115a执行而不是由远程设备115b执行。例如,由汽车执行的“开始”可以触发引擎开始运行,而由复印机执行的“启动”可以触发复印机进行复印。

根据各种实施例,代码模块库120可以存储任何数量的代码模块260。在图3的实施例中,代码模块库120存储四个代码模块260a-d。每个代码模块260a-d可以包括例如可以由适当的执行引擎理解的源和/或目标代码,所述执行引擎诸如(例如)在一个或多个远程设备115上执行的运行时api210。根据该示例,计算设备110将在应用定义250中标识的平台无关的设备功能255a-c映射到在代码模块库120中存储的对应代码模块260a-c。

然后,计算设备110将每个映射的代码模块260a-c分发给具有对应用定义250中的对应平台无关功能255a-c的设备特定的支持的远程设备115a-e中的一个或多个。在该特定示例中,计算设备110通过将代码模块260b-c发送到远程设备115c-d来分发代码模块260b-c,远程设备115c-d分别具有如在应用定义250中所标识的对平台无关的功能255b-c的设备特定的支持。计算设备110还将代码模块260a发送到远程设备115a和115b,这可以是例如由于远程设备115a-b均具有对平台无关的功能255a的设备特定的支持。

例如,如果平台无关的功能255是“警告”,则同一设施、范围和/或区域内的许多远程设备115可以具有支持警告的输出接口。在一些实施例中,由计算设备110发现的一些或所有远程设备115具有对特定平台无关的功能的相同设备特定的支持。例如,设施内可能有几个扬声器通过发出可听的尖叫来支持警告。根据其他实施例,一些或所有远程设备115具有针对特定平台无关的功能的不同设备特定的支持。例如,在设施内,可能存在支持尖叫的扬声器和支持闪光的闪光灯(例如可以在火警系统中找到)。在更进一步的实施例中,一些远程设备115具有针对特定平台无关的功能的相同设备特定的支持,而至少一个其他远程设备115具有不同设备特定的支持。例如,设施可能有三个扬声器(每个扬声器支持尖叫)和四个闪光灯(每个闪光灯支持闪烁)。其他实施例包括不同平台无关的功能255和/或设备特定的支持。例如,其他平台无关的功能255可以涉及消息传递和/或警告用户的其他方式,并且其他远程设备115可以以其他方式(例如振动、在用户界面中显示消息)向用户发送消息和/或警告用户。

与上文一致,计算设备110可以将给定代码模块260发送到具有对给定平台无关的功能255的设备特定的支持的远程设备115中的一个、一些或全部。具体地,计算设备110可以基于例如特定平台无关的功能255和/或远程设备115的设备特定的支持,选择哪个远程设备115来发送给定代码模块260。例如,计算设备110可以向具有触发可听尖叫的警报器的两个远程设备115和具有频闪灯以触发可见闪光的两个远程设备115发送对应于“警告”功能的代码模块260,但是可以省略向打印机发送相同代码模块260以避免触发低墨粉警告。与上述方面一致,图3示出了其中计算设备110将代码模块260a发送到远程设备115a和远程设备115b但是不将代码模块260a(或任何其他代码模块260b-d)发送到远程设备115e的示例。

此外,一些实施例可以包括分发少于代码模块库120中的所有代码模块260的代码模块260。例如,代码模块库120中的一个或多个代码模块260可以不对应于在应用定义250中标识的任何平台无关的功能255。与这些实施例一致,如图3的示例所示,计算设备110确实将代码模块260d发送到任何一个远程设备115a-e。

根据特定实施例,远程设备115可以在接收到代码模块260时立即执行设备特定的功能,或者可以等待平台无关的消息225来触发对设备特定的功能的执行。图4示出了一个示例,其中不同远程设备115a、115b已经被发送了相同代码模块260a并且接收指示事件已发生的相同平台无关的消息225。不同远程设备115a、115b由该平台无关的消息225触发,以基于由每个远程设备115a、115b各自的设备平台215b、215c提供的设备特定的支持来执行不同功能。在图4的示例中,计算设备110的设备平台215a包括标记为“紧急情况下按下”的大红色按钮,远程设备115a的设备平台215b包括一组闪光灯,以及远程设备115b的设备平台215c包括扬声器。其他实施例可以包括其他物理输入和/或输出硬件和/或软件。

设备平台215a检测到已按下大红色按钮(步骤302),并且作为响应,向运行时api210a发送警告通知(步骤304)。运行时api210a响应于检测到事件的发生,发现远程设备115a、115b。在该示例中,计算设备110从远程设备115a接收发现信号(步骤306a)。这种发现信号的示例包括一个或多个通用即插即用(upnp)、bonjour、简单服务发现协议(ssdp)和/或链路层发现协议(lldp)消息。如图3所示,由运行时api210a接收的特定发现信号包含来自远程设备115a的信息,该信息由远程设备115a收集(步骤306b),该远程设备115a在其自己的发现信号中转发该信息。

根据其他实施例,计算设备110从每个远程设备115a、115b接收发现信号。根据其他实施例,计算设备110还从其他远程设备(例如图3中未示出的远程设备115c-e)接收发现信号,并且决定是否将这些其他远程设备包括为平台无关的消息225的接收者。

在至少发现了远程设备115a、115b的情况下,计算设备生成指示事件的发生的平台无关的消息225(步骤308)。在一些实施例中,基于事件例如使用事件通知220中的某些信息来生成平台无关的消息225。

在该示例中,计算设备110生成平台无关的消息225“紧急”并且将平台无关的消息225发送到多个远程设备115a、115b中的每一个(步骤310a,310b)以触发它们中的每一个以自主地决定响应于事件而调用哪个平台特定的功能。在该示例中,响应于指示按钮按下事件发生的“紧急”消息,远程设备115a的相应运行时api210b决定调用灯光功能(步骤312a),而远程设备115b的运行时api210c决定调用警报器功能(步骤312b)。然后,每个运行时api210b、210c根据它们各自的决定(步骤314a、314b),例如通过向各个设备平台215b、215c发送平台特定的命令来调用相应的功能。作为响应,设备平台215b使其灯闪烁(步骤316),而设备平台215c使其警报器尖叫(步骤318)。

如上所述,基于对平台无关的功能255a-c的设备特定的支持的分布式应用执行在各种特定实施例中可以是有用的。例如,远程设备115a-b可以被包括在设施的安全架构中。在这样的示例中,计算设备110可以被包括在该设施的疏散信令系统中。因此,图4中所示的示例可以是由设施的远程设备115a-b响应于用户在计算设备110处按下按钮按压事件而执行的紧急疏散应用的一部分。

根据特定实施例,可以附加地或备选地使用其他类型的事件、系统和设备。例如,远程设备115a-b可以被包括在车辆交通管理系统中。根据这样的示例,远程设备115a可以是铁路道口交叉栅门(railroadcrossinggate),远程设备115b可以是交通灯,计算设备110可以被包括在紧急车辆(例如警车、消防车或救护车)中。计算设备110可以检测到用户已经翻转了紧急车辆中的开关,并且作为响应,向远程设备115a-b发送“锁定”平台无关的消息225。作为响应,铁路道口交叉栅门可以降低,交通灯可以变红。其他动作可以在适当时由其他远程设备115执行。

鉴于以上内容,图5示出了由计算设备110实现的示例方法500。方法500包括接收标识将要由应用执行的多个平台无关的设备功能255a-c的应用定义250(框510)。方法500还包括将平台无关的设备功能255a-c映射到在代码模块库120中存储的对应代码模块260a-c(框520)。方法500还包括将对应的代码模块260a-c分发到多个远程设备115a-d,以用于由远程设备115a-d根据远程设备115a-d对平台无关的设备功能255a-c的设备特定的支持来分布式执行应用(框530)。特别地,该分发包括向不同的远程设备115a-b发送给定代码模块260a,不同的远程设备115a-b针对与给定代码模块260a对应的平台无关的设备功能255a具有不同的设备特定的支持。

本公开的其他实施例包括根据图6中所示的硬件700实现的计算设备110。图6的示例硬件700包括处理电路710、存储电路720和接口电路730。处理电路710例如经由一个或多个总线通信地耦合到存储电路720和接口电路730。处理电路710可以包括一个或多个微处理器、微控制器、硬件电路、离散逻辑电路、硬件寄存器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)或它们的组合。例如,处理电路710可以是能够执行存储为存储电路720中的机器可读计算机程序760的软件指令的可编程硬件。各种实施例的存储电路720可以包括本领域中已知的或可以开发的任何非暂时性机器可读介质,无论是易失性的还是非易失性的,包括但不限于固态介质(例如sram、dram、ddram、rom、prom、eprom、闪存、固态驱动器等)、可移动存储设备(例如安全数字(sd)卡、minisd卡、microsd卡、记忆棒、拇指驱动器、usb闪存驱动器、rom盒、通用媒体盘)、固定驱动器(例如磁性硬盘驱动器)等,或它们中的全部或任意组合。

接口电路730可以是被配置为控制计算设备110的输入和输出(i/o)数据路径的控制器集线器。这样的i/o数据路径可以包括用于与其他硬件交换信号(例如通过通信网络)的数据路径和用于与用户交换信号的数据路径。例如,接口电路730可以包括收发机,其被配置为通过蜂窝网络、蓝牙连接、wi-fi连接、以太网网络或光网络中的一个或多个发送和接收通信信号。接口电路730还可以包括图形适配器、显示端口、视频总线、触摸屏、图形处理单元(gpu)、显示端口、液晶显示器(lcd)和发光二极管(led)显示器中的一个或多个,以用于向用户呈现视觉信息。附加地或备选地,接口电路730可以包括音频适配器、耳机插孔和/或扬声器中的一个或多个,以用于向用户输出声音。接口电路730还可以包括指点设备(例如鼠标、指示笔、触摸板、轨迹球、指向棒、操纵杆)、触摸屏、用于语音输入的麦克风、用于手势的光学识别的光学传感器以及用于文字输入的键盘中的一个或多个。

接口电路730可以实现为单一物理组件,或者实现为连续或单独布置的多个物理组件,其中任何一个可以通信地耦合到任何其他物理组件,或者可以经由处理电路710与任何其他物理组件通信。例如,接口电路730可以包括输出电路740(例如被配置为将通信信号发送到其他设备和/或通信网络的发射机电路)和输入电路750(例如被配置为从其他设备和/或通信网络接收通信信号的接收机电路)。类似地,输出电路740可以包括显示器,而输入电路750可以包括键盘。对于普通技术人员来说,上述的其他示例、置换和布置及其等同物将是显而易见的。

根据实施例,存储电路720包含能够由处理电路710执行的指令760,由此计算设备110被配置为接收标识将要由应用执行的多个平台无关的设备功能255a-c的应用定义250,以及被配置为将平台无关的设备功能255a-c映射到在代码模块库120中存储的对应代码模块260a-c。指令760还可以配置计算设备110以将对应代码模块260a-c分发到多个远程设备115a-d,以用于由远程设备115a-d根据远程设备115a-d对平台无关的设备功能255a-c的设备特定的支持来分布式执行应用。为了分发,计算设备710被配置为向不同的远程设备115a-b发送给定代码模块260a,不同的远程设备115a-b针对与给定代码模块260a对应的平台无关的设备功能255a具有不同的设备特定的支持。

图7示出了根据一个或多个其他实施例的计算设备110的附加细节。具体地,计算设备110可以包括接收模块/单元805、映射模块/单元810和分发模块/单元815。接收模块/单元805被配置为接收标识将要由应用执行的多个平台无关的设备功能255a-c的应用定义250。映射模块/单元810被配置为将平台无关的设备功能255a-c映射到在代码模块库120中存储的对应代码模块260a-c。分发模块/单元815被配置为将对应代码模块260a-c分发到多个远程设备115a-d,以用于由远程设备115a-d根据远程设备115a-d对平台无关的设备功能255a-c的设备特定的支持来分布式执行应用。为了分发,分发模块815被配置为向不同的远程设备115a-b发送给定代码模块260a,不同的远程设备115a-b针对与给定代码模块260a对应的平台无关的设备功能255a具有不同的设备特定的支持。根据实施例,这些模块或单元中的一个或多个可以由图6中示出的处理电路710实现。附加地或备选地,这些模块或单元中的一个或多个可以由图6中示出的控制应用760实现。

当然,在不脱离本发明的基本特征的情况下,本发明可以以不同于本文具体阐述的方式的其他方式实施。本发明的实施例在所有方面都被认为是说明性的而非限制性的,并且落入所附权利要求的含义和等同范围内的所有改变都旨在包含在其中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1