平码五不中公式规律
  • / 45
  • 下载费用:30 金币  

授权变换链实例的联合.pdf

关 键 ?#21097;?/dt>
授权 变换 实例 联合
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580034179.5

申请日:

2015.06.29

公开号:

CN106663005A

公开日:

2017.05.10

当前法律状态:

实审

?#34892;?#24615;:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 9/44申请日:20150629|||公开
IPC分类号: G06F9/44 主分类号: G06F9/44
申请人: 微软技术许可有限责任公司
发明人: V·米塔尔; D·E·鲁宾
地址: 美国华盛顿州
优先权: 2014.06.30 US 14/320,187
专利代理机构: 上海专利商标事务所有限公司 31100 代理人: 陈小刚
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580034179.5

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

授权不同变换链类的变换链实例进行联合以充当复合变换链实例。标识变换链类之间的类级授权的依赖关系。随后,根据一个或多个联合准则来执行实例级授权,假定各实例属于可被联合的?#23454;?#30340;类。联合允许各实例充当单个复合变换链,由此数据被准许跨各组成变换链实例的边界流传输。新变换链实例可被联合到复合变换链实例,并且各变换链实例可以从复合变换链实例移除,从而动态地改变复合应用。

权利要求书

1.一种用于促进跨多个设备的复合应用的计算机实现的方法,所述计算机实现的方法
由执行用于所述计算机实现的方法的计算机可执行指令的一个或多个处理器执行,所述计
算机实现的方法包括:
标识第一变换链类和第二变换链类之间的经授权的依赖关系;以及
授权所述第一变换链类的第一实例和所述第二变换链类的第二实例进行联合,其中联
合允许数据根据所标识的所述第一变换类和所述第二变换类之间的依赖关系以及根据所
述第一和第二实例之间的依赖关系状态来在所述第一和第二实例之间流传输。
2.如权利要求1所述的计算实现的方法,其特征在于,进一步包括:
确定所述第二实例应当从所述第一实例解耦;以及
响应于确定所述第二实例应当从所述第一实例解耦,中断在所述第一和第二实例之间
流传输数据。
3.如权利要求2所述的计算机实现的方法,其特征在于,确定所述第一实例和所述第二
实例要被解耦是根据会议结束状态来作出的。
4.如权利要求2所述的计算机实现的方法,其特征在于,所述第一实例与第一设备相关
联,并且所述第二实例与第二设备相关联,并且其中确定所述第一实例和所述第二实例要
被解耦是根据包括以下中的至少一者的一个或多个解耦准则来作出的:1)所述第一和第二
设备的邻近度,2)所述第一设备和所述第二设备之间的通信能力,以及3)来?#36816;?#36848;第一设
备的用户或所述第二设备的用户的请求。
5.如权利要求1所述的计算机实现的方法,其特征在于,确定所述第一实例和所述第二
实例要被联合是根据一个或多个联合准则来作出的。
6.如权利要求1所述的计算实现的方法,其特征在于,进一步包括:
标识所述第一变换链类和第三变换链类之间的经授权的依赖关系;以及
授权所述第一变换链类的所述第一实例和所述第三变换链类的第三实例进行联合,其
中联合允许数据根据所标识的所述第一变换类和所述第三变换类之间的依赖关系以及根
据所述第一和第三实例之间的依赖关系状态来在所述第一和第三实例之间流传输。
7.如权利要求6所述的计算实现的方法,其特征在于,进一步包括:
标识所述第二变换链类和所述第三变换链类之间的经授权的依赖关系;以及
授权所述第二变换链类的所述第二实例和所述第三变换链类的所述第三实例进行联
合,其中联合允许数据根据所标识的所述第二变换类和所述第三变换类之间的依赖关系以
及根据所述第二和第三实例之间的依赖关系状态来在所述第二和第三实例之间流传输。
8.一种计算机程序产品,所述计算机程序产品包括其上具有计算机可执行指令的一个
或多个计算机可?#38142;?#20648;介?#21097;?#25152;述计算机可执行指令被构造成使得当由计算系统的一个或
多个处理器执行时,使所述计算系统执行一种用于授权不同变换链类的变换链实例的联合
的计算机实现的方法,所述计算机实现的方法包括:
标识多个变换链类之间的经授权的依赖关系;
授权多个变换链实例根据一个或多个联合准则进行联合,所述多个变换链实例表示所
述多个变换链类中的至少一些的实例;以及
其中所述多个变换链实例的联合形成复合变换链实例,所述复合变换链实例允许数据
在所述多个变换链实例中的至少一些之间流传输,而无需穿过应用函数接口或放置函数调
用。
9.如权利要求8所述的计算机程序产品,其特征在于,所述一个或多个联合准则包括以
下中的至少一者:会议与会人员列表、与所述特定变换链实例相关联的设备距环?#25345;?#30340;一
个或多个其他设备的邻近度、以及所述特定设备的用户与所述环?#25345;?#30340;其他用户之间的关
系。
10.一种系统,包括:
一个或多个处理器;
其上具有计算机可执行指令的一个或多个计算机可?#38142;?#20648;介?#21097;?#25152;述计算机可执行指
令被构造成使得当由所述一个或多个处理器执行时,使所述计算系统执行一种用于授权不
同变换链类的变换链实例的联合的计算机实现的方法,所述计算机实现的方法包括:
标识多个变换链类之间的经授权的依赖关系;
授权多个变换链实例根据一个或多个联合准则进行联合,所述多个变换链实例表示所
述多个变换链类中的至少一些的实例;以及
其中所述多个变换链实例的联合形成复合变换链实例,所述复合变换链示例允许数据
在所述多个变换链实例中的至少一些之间流传输,而无需穿过应用函数接口或放置函数调
用。

说明书

授权变换链实例的联合

背景

计算技术已经变革?#23435;?#20204;工作、游戏以及通信的方式。随着计算技术进步,实现这
样的计算系统或?#20801;?#26469;自计算系统的内容的各种设备也进步。例如,计算系统可以采取服
务器机架、台式计算机、膝上型计算机、平板、智能电话、游戏控制台、手表、冰箱、智能住宅
等的形式。

与计算系统的多样性一起,可被用来向计算机渲染计算输出和输入信息的各类型
的设备同样多样化。例如,输出设备可包括诸如投影仪、电视机监视器、三维?#20801;?#22120;、膝上型
计算机、平板计算机、电话等?#20801;?#22120;。输出设备可包括声音的输出,诸如扬声器。输出设备还
可包括致动器、灯、阀,等?#21462;?#36755;入设备可包括键盘、定点设备(诸如鼠标)、触摸屏、话筒、摄
像机、静止相机、三维位置检测器、全球定位系统监视器、光传感器、加速度计、温度计、?#25913;?br />针,等?#21462;?br />

计算系统和相关联的输入和输出设备已变得相当丰富且通常?#19988;?#21160;的。通常,在
任何给定位置,可存在大量且各种各样的设备。例如,在满员的平均会议室中,可存在在头
顶上的投影仪、电视机屏幕、膝上型计算机、平板、智能电话、话筒、相机、灯光,等?#21462;?#24120;规范
例是每一设备运行其自己的应用,或者?#20801;?#26469;自单个应用的内容。在各应用?#25442;?#26102;,它们通
常作为分开的应用来?#25442;ィ?#36890;过应用程序接口进行?#25442;ァ?br />

本文要求保护的主题不限于解决任何缺点或仅在诸如上述环境这样的环?#25345;?#25805;
作的各实施例。相反,提供该背景仅用于例示其中可实施所述一些实施例的一个示例性技
术领域。

简要概述

本文描述的至少一些实施例涉及授权不同变换链类的变换链实例进行联合以充
当复合变换链实例。标识变换链类之间的类级授权的依赖关系。随后,根据一个或多个联合
准则来执行实例级授权,假定各实例属于可被联合的?#23454;?#30340;类。联合允许各实例充当单个
复合变换链,由此数据被准许跨各组成变换链实例的边界流传输。新变换链实例可被联合
到复合变换链实例,并且各变换链实例可以从复合变换链实例移除,从而动态地改变复合
应用。

本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅
助确定要求保护的主题的范围。

附图简述

为了描述能?#25442;?#24471;上述和其它优点和特征的方式,各实施例的更具体的描述将通
过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其
范围的限制,将通过使用附图并利用附加特征和?#38468;?#26469;描述和解释各实施例,在附图中:

图1抽象地示出了其中可采用本文中所描述的一些实施例的计算系统;

图2抽象地解说简单变换链,其中仅存在耦合单个数据源和单个数据目标的单个
链,并且其中由该链表示的变换是使用数据源中的值作为输入来自动执行的以生成数据目
标中的值;

图3抽象地解说另一简单示例变换链,其中变换是使用来自三个数据源的输入值
来执行的以生成两个数据目标中的输出值;

图4解说图2的变换链和图3的变换链的组合的形式的变换链;

图5解?#24403;?#25991;描述的原理可在其中操作并且包括与复合应用的各组成变换链相关
联的多个设备?#19968;?#21253;括输入设备和输出设备的示例环境;

图6A到6D各自解说可以与图5中的相应设备相关联的示例变换链(不与另一变换
链联合的、数据不在其上流动的箭被示为带有“X?#20445;?#24182;且并非变换链本身的节点的依存关系
元素被示为带?#34892;?#32447;边界);

图7A解说了表示图6A和6B的变换链的联合的经扩充变换链;

图7B解说了表示图6A和6C的变换链的联合的经扩充变换链;

图7C解说了表示图6B和6C的变换链的联合的经扩充变换链;

图7D解说了表示图6A和6D的变换链的联合的经扩充变换链;

图8A解说了表示图6A、6B和6C的变换链的联合的经扩充变换链;

图8B解说了表示图6A、6B和6D的变换链的联合的经扩充变换链;

图8C解说了表示图6A、6C和6D的变换链的联合的经扩充变换链;

图9解说了表示图6A、6B、6C和6D的变换链的联合的经扩充变换链;

图10解说了用于准?#22797;?#36827;复合应用的方法的流程图;

图11抽象地解说了可被用来执行图10、12、13以及14的方法且包括变换链类定义
和设备注册的库以及演示服务的系统;

图12解说了用于联合变换链类的两个实例的方法的流程图;

图13解说了用于将变换链从较大变换链解耦的方法的流程图;

图14解说了用于将变换链的一个或多个演示节点中的变化渲染在?#23454;?#30340;设备上
的方法的流程图;

图15A到15J解说了可在本文中称为“设备场景”的场景中体验到的各种用户界面,
在该场景中用户要定购数个设备;以及

图15K到15O解说了改变在图15A到15J的设备场景中使用的复合应用可遇到的各
种用户界面。

详?#35813;?#36848;

本文描述的至少一些实施例涉及授权不同变换链类的变换链实例进行联合以充
当复合变换链实例。标识变换链类之间的类级授权的依赖关系。随后,根据一个或多个联合
准则来执行实例级授权,假定各实例属于可被联合的?#23454;?#30340;类。联合允许各实例充当单个
复合变换链,由此数据被准许跨各组成变换链实例的边界流传输。新变换链实例可被联合
到复合变换链实例,并且各变换链实例可以从复合变换链实例移除,从而动态地改变复合
应用。

将参考图1描述对计算系统的一些介绍性?#33268;邸?#28982;后,将参考后续附图来描述复合
设备应用技术。

计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设
备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计
算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何
设备或系统(或其组合),该设备或系统包含至少一个物理且?#34892;?#30340;处理器以及其上能具有
可由处理器执行的计算机可执行指令的物理且?#34892;?#30340;存储器。存储器可以采取任何形式,
并可取决于计算系统的性质和形式。计算系统可以分布在网络环?#25345;校?#24182;可以包括多个组
分计算系统。

如图1所例示,在其最基本的配置中,计算系统100通常包括至少一个?#24067;?#22788;理单
元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以?#19988;资?#24615;
的、?#19988;资?#24615;的、或两者的?#25345;?#32452;合。术语“存储器?#24065;?#21487;在此用来指示诸如物理存储介质这
样的?#19988;资源?#23481;量存储器。如果计算系统是分布式的,则处理、存储器和/或存储能力也
可以是分布式的。如本文中所使用的,术语“可执行模块”或“可执行组件”可以指可以在计
算系?#25104;?#25191;行的软件对象、例程或方法。此处所描述的不同组件、模块、引擎以及服务可以
实现为在计算系?#25104;?#25191;行的对象或进程(例如,作为分开的线程)。

在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果
这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已
经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可以
在形成计算机程序产品的一个或多个计算机可读介质上实现。这样的操作的示例涉及?#20801;?br />据的操纵。计算机可执行指令(以及被操纵的数据)可以存储在计算系统100的存储器104
中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通
信信道108。

计算系统100还可潜在地包括输出渲染组件,诸如?#20801;?#22120;、扬声器、灯、致动器,等
?#21462;?#35745;算系统100还可包括输入组件,诸如键盘、定点设备(诸如鼠标或跟踪垫)、语音识别设
备、以及还能还有物理传感器(例如,温度计、全球定位系统、光检测器、?#25913;?#38024;、加速度计,
等等)。

在此描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括
诸如例如一个或多个处理器和系统存储器等计算机?#24067;?#22914;以下更详细?#33268;?#30340;。本文中描
述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算
机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访?#23454;?#20219;何可用介
质。存储计算机可执行指令的计算机可读介?#36866;?#29289;理存储介质。承载计算机可执行指令的
计算机可读介?#36866;?#20256;输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种
显著不同的计算机可读介?#21097;?#35745;算机存储介质和传输介质。

计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他
磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由
通用或专用计算机访?#23454;?#20219;何其他存储介质。

“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其他电?#30001;?#22791;
之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者
硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接?#23454;?#22320;?#28216;?#20256;输介质。传
输介质可以包括可以用来携带所需要的以计算机可执行的指令或数据结构的形式存在的
程序代码装置并可以被通用或专用计算机访?#23454;?#32593;络和/或数据链路。上述的组合应当也
被包括在计算机可读介?#23454;?#33539;围内。

此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程
序代码资料可从传输介?#39318;?#21160;传输到计算机存储介质(或反之亦然)。例如,通过网络或数
据链?#26041;?#25910;到的计算机可执行指令或数据结构可以在网络接口模块(例如,“NIC”)内的RAM
中?#25442;?#20914;,然后最终被传输至计算机系统RAM和/或计算机系统处的较不?#36164;?#24615;的计算机存
储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介?#23454;?br />计算机系统组件中。

计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或
专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可例如是二进制
或甚至是在被处理器直接执行之前经受?#25345;?#36716;换(诸如编译)的指令,诸如中间格式指令
(诸如汇编语言或甚至是源代码)。尽管用结?#22266;?#24449;和/或方法动作专用的语言描述了本主
题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征
和动作是作为实现权利要求的示例形式而公开的。

本领域的技术人员将理解,本发明可以在具?#34892;?#22810;类型的计算机系统配置的网络
计算环?#25345;?#23454;践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息
处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电?#30001;?#22791;、网络PC、小型
计算机、大型计算机、移动电话、PDA、寻呼机、路由器、?#25442;换?#31561;?#21462;?#26412;发明也可在其中通过
网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组
合)的本地和远程计算机系统两者都执行任务的分布式系统环?#25345;?#23454;施。在分布式系统环
?#25345;校?#31243;序模块可以位于本地和远程存储器存储设备二者中。

本文描述的原理使用变换链来操作。变换链是各自可表示数据源或数据目标的互
连节点集合。各节点之间存在链,每一链表示一变换。对于任何给定链,相关联的变换接收
位于该链的输入端处的一个或多个数据源的值的副本,并且生成在位于该链的输出端处的
一个或多个数据目标处提供的所得值。对于任何给定变换,在其输入端处的数据源中的一
者或多者处的值改变时,该变换被自动重估,可能得到该变换的输出端处的一个或多个数
据目标的值的变化。

在一个实施例中,不管变换链有多复杂,可以从表达方程、规则、约束、模拟或可接
收一个或多个值作为输入并提供所得的一个或多个值作为输出的任何其他变换类型的声
明性语句中来构造变换。变换链的示例是电子表格程序,其中单元格中的任一者可以是数
据源或数据目标。方程(即,变换)可以与任何单元格相关联以使得该单元格是该方程的结
果可被置于其中的数据目标。

仅作为示例,图2解说了简单变换链200,其中仅存在单个链200。在本说明书中通
篇使用的附图符号中,链将被示为箭,其中输入端被表示为箭尾,而输出端被表示为箭头。
在其中在该链的输入端处存在多个数据源的情形下,箭将被表示为具有多个箭尾。箭尾处
的数据源的值的副本表示变换的输入。在其中存在受该变换的所得值影响的多个数据目标
的情形下,箭将被表示为具有多个箭头。箭头处的数据目标的?#24403;?#31034;来自该变换的输出。

例如,图2解说了包括数据源201、数据目标202以及单个链220的简单变换链200。
链220表示?#20801;?#25454;源201处的值211的副本执行以生成数据目标202处的值212的变换。只要
值211改变,由链220表示的变换就被重估,可能得到数据目标202中的值212中的变化。

图3解说了包括三个数据源301、302和303、两个数据目标304和305以及单个链330
的另一简单示例变换链300。链320表示?#20801;?#25454;源301、302以及303内的值的副本执行以生成
数据目标304和305中的值的变换。只要数据源301、302和303内的值中的任一者变化,变换
链320就被重估,可能得到数据目标304和305中的任何一者或多者内的值的变化。

图4解说另一示例变换链400,并且解说了变换链可在彼此之上构建以创建更复杂
的变换链的原理,其中一个链的数据源可以是另一链中的数据目标。例如,变换链400包括
变换链200的实例401以及变换链300的实例402。在这种情形下,链220的数据目标202也是
链320的数据源301。只要数据源201的值变化,由链220表示的变换就被重估,可能得到数据
目标202中的值的变化,这同样是下一链320的数据源301。同样,数据源301的值的变化将导
致变换链320被重估,可能得到数据目标304和305中的任何一者或多者内的值的变化。数据
目标304和305可同样表示又一些其他链的数据源。相应地,在复杂变换链中,值变化可能使
得所传播的值变化经由变换链内的各变换的正确地自动化重估来通过变换链中的多个节
点。

尽管示例变换链400只包括两个链,但变换链可相当复杂且涉及可枚举节点和连
接这些可枚举节点的相关联的链。本文描述的原理可以操作而不管变换链的复杂度如何。

图5解说了其中存在六个设备501到506的环境500。省略号507表示环境500内存在
的设备数目的灵活性。实际上,可能有设备相当动态地离开和进入环境500。尽管并非必须,
但设备507中的每一者可以如针对图1的计算系统100所述地被结构化。

环境500不必是所有设备位于同一邻域内的物理环境,虽然情况可能通常如此。环
境500可改为被认为是其中存在一个或多个用户可通过其提供输入的设备集合以及可通过
其向多个用户提供输出的多个设备的任何环境。

设备中的一些(例如,设备501到504)辅助形成比使用协作应用的协作设备更多的
事物。相反,设备501到504各自与复合应用的组件相关联。在设备501到504中的任一者离开
环境500时,复合应用变得更小,从而导致该应用的经改变的功能性。另一方面,在具有该应
用的组件的设备(诸如设备501到504)进入环境500时,复合应用实际上变得更大,从而实际
上改变复合应用的功能性和结构。根据本文描述的原理,一个设备的变换链可与其他设备
的变换链联合,从而得到可更高效地利用经扩充的设备集合的更大变换链。

设备505表示可以用于环境500中的输出设备,但不一定向复合应用的较大变换链
贡献变换链。例如,设备505可能是大?#25512;?#24149;?#20801;?#22120;。设备506表示可以在环境500中使用的
输入设备,但不一定向复合应用的较大变换链贡献变换链。例如,设备506可能是话筒。设备
501到504的存在使得相应相关联的变换链的各部分被贡献给复合应用的较大变换链。然
而,设备501到504还可具有可由复合应用作为整体使用的输入能力和输出能力。环境500可
任选地包括外部系统510,这将在下文进一步描述。

图6A到6D解说了示例变换链实例或类600A到600D。各实例将具有与类相同的结
构,并且因此所解说的形式可被认为表示变换类以及变换实例。然而,各实例将具有与变换
链的各节点中的一者或多者中的每一节点相关联的特定实例状态。因此,元素600A到600D
可被称为变换链类或变换链实例。术语“变换链”一般将被用来指变换链类或它们相关联的
变换链实例两者。作为示例,变换链实例600A到600D可与相应设备501到504相关联。

示例变换链600A到600D可相对简单以避免使用过度复杂的示例模糊本文描述的
更广泛原理。换言之,本文描述的原理适用而不管变换链有多复杂并且不管环境内的并且
形成复合应用的变换链以及相关联的设备的数目。

在图6A到6D的符号中,属于变换类600N(其中N的范围从A到D)的节点是使用后缀N
来表示的。例如,在图6A中,变换链600A包括节点601A、602A、603A以及604A。其余元素601B、
601C以及601D没有以“A”后缀结束,并且因而不是变换链600A内的节点。相反,元素601B、
601C以及601D表示与其他变换链的依赖关系。

贯穿图6A到6D、7A到7D、8A到8C以及9,为强调作为依赖关系元素的那些元素,而非
变换链本身中的节点,依赖关系元素是使用虚线边界来表示的。除非变换链与包括由依赖
关系元素表示的节点的另一变换链联合,数据不从节点流向该依赖关系元素。贯穿各附图,
数据不沿特定变换流传输的事实由标记了“X”的链来表示。

例如,变换链600A中的元素610B表示与变换链600B中的节点601B的依赖关系。依
赖关系元素601B是以虚线定界的,并且去往或来自该依赖关系元素601B的所有链被使用
“X”标记,因为在这一阶段,变换链600A没有与变换链600B联合。变换链600A中的元素601C
表示与变换链600C中的节点601C的依赖关系。变换链600A中的元素601D表示与变换链类
600D中的节点601D的依赖关系。

变换链实例600A可以独自充当应用。例如,来?#20801;?#25454;源601A的值可被用来形成作
为数据目标604A的值的经变换结果。此外,来?#20801;?#25454;源601A和602A的值可被变换以得到数
据目标603A的值。如果变换链实例600A是独自的,去往或来自元素601B、601C以及601D的变
换不被评估。

变换链600B包括三个节点601B、602B以及603B。然而,变换链600B还包括引用不同
变换链中的节点的依赖关系元素601A、602A、601C和603C。同样,变换链实例600B可以作为
单个应用来独立地操作。例如,来?#20801;?#25454;源601B的值可被提供通过变换以生成数据目标
602B的所得值。来?#20801;?#25454;源602B的值可被提供通过变换以生成数据目标603B的所得值。

虽然变换链实例600A和600B可独立地操作,但图7A解说了包括与变换链600B联合
的变换链600A的联合变换链700A。现在用所引用的实?#24335;?#28857;来替换变换链中的每一者中的
依赖关系元素。例如,图6A的依赖关系元素601B现在是节点601B,且图6B的依赖关系元素
601A现在是节点601A。具有后缀A或B的所有节点是变换链700A内的节点,且只有具有后缀C
或D的那些节点是依赖关系元素。例如,节点601A、602A、603A、604A、601B、602B以及603B是
经扩充变换链700A内的节点,且复合应用的功能性变得有点优于各单独变换链600A和600B
的独自功能性的总和。

变换链600C包括三个节点601C、602C以及603C。然而,变换链600C还包括引用不同
变换链中的节点的依赖关系元素603A、601B和603B。同样,变换链实例600C可以作为单个应
用来独立地操作。例如,来?#20801;?#25454;源601C的值可被提供通过变换以生成数据目标602C的所
得值。同样,来?#20801;?#25454;源601C的值也可被提供通过变换以生成数据目标603C的所得值。

虽然变换链实例600A和600C可独立地操作,但图7B解说了包括与变换链600C联合
的变换链600A的联合变换链700B。现在用所引用的实?#24335;?#28857;(在依赖关系元素引用变换链
600A或600C中的任一者内的节点的程度上)来替换变换链中的每一者中的依赖关系元素。
现在,具有后缀A或C的所有节点是变换链内的节点,且只有具有后缀B或D的那些节点是依
赖关系元素。例如,节点601A、602A、603A、604A、601C、602C以及603C是经扩充变换链700B内
的节点。复合应用的功能性变得优于各单独变换链实例600A和600C的功能性的总和。

图7C解说了包括与变换链类600C联合的变换链类600B的联合变换链700C。用所引
用的实?#24335;?#28857;(在依赖关系元素引用变换链600B或600C中的任一者内的节点的程度上)来
替换变换链中的每一者中的依赖关系元素。现在,具有后缀B或C的所有节点是变换链内的
节点,且只有具有后缀A或D的那些节点是依赖关系元素。例如,节点601B、602B、603B、601C、
602C以及603C是经扩充变换链700C内的节点,且复合应用的功能性变得有点优于各单独变
换链实例600B和600C的功能性的总和。

图8A解说了包括也被联合的变换链600A、600B和600C的联合变换链800A。用所引
用的实?#24335;?#28857;(在依赖关系元素引用变换链600A、600B或600C中的任一者内的节点的程度
上)来替换变换链中的每一者中的依赖关系元素。注意,所有所示节点实际上是变换链中的
节点,除了依赖关系元素601D之外。复合应用的功能性变得优于各单独变换链实例600A、
600B和600C的功能性的总和。

变换链600D包括两个节点601D和602D。然而,变换链600D还包括引用不同变换链
类600A中的节点的单个依赖关系元素603A。同样,变换链类600D的实例可以作为单个应用
来独立地操作。例如,来?#20801;?#25454;源601D的值可被提供通过变换以生成数据目标602D的所得
值。

虽然变换链实例600A和600D可独立地操作,但图7D解说了包括与变换链600D联合
的变换链600A的联合变换链700D。现在用所引用的实?#24335;?#28857;(在依赖关系元素引用变换链
600A或600D中的任一者内的节点的程度上)来替换变换链中的每一者中的依赖关系元素。
现在,具有后缀A或D的所有节点是变换链内的节点,且只有具有后缀B或C的那些节点是依
赖关系元素。例如,节点601A、602A、603A、604A、601D以及602D是经扩充变换链700D内的节
点,且复合应用的功能性变得有点优于各单独变换链600A和600D的功能性的总和。

注意,图7A到7D解说了涉及变换链600A、600B、600C以及600D中的两者且仅有两者
的所有可能的排列。变换链600B和600D没有在两变换链组合中直接联合,因为任一变换链
都不具有引用另一变换链中的节点的依赖关系元素。此外,变换链600C和600D没有在两变
换链组合中直接联合,因为任一者都不具有到另一者的依赖关系引用。

图8A解说了三个且仅有三个变换链600A、600B、600C以及600D的三个可能组合之
一。具体而言,图8A解说?#31169;?#21464;换链600A、600B以及600C相组合的经扩充变换链800A。图8B
解说?#31169;?#21464;换链600A、600B以及600D相组合的经扩充变换链800B(其中所有节点是变换链
的一部分,除了依赖关系元素601C和603C之外)。图8C解说?#31169;?#21464;换链600A、600C以及600D
相组合的经扩充变换链800C(其中所有节点是变换链的一部分,除了依赖关系元素601B和
603B之外)。注意,没有示出变换链600B、600C以及600D的组合,因为变换链600D不包括对变
换链600B的依赖关系引用(或反向依赖关系引用)或到变换链600C的依赖关系引用(或反向
依赖关系引用)。图9解说了包括经组合的全部变换链600A、600B、600C以及600D的组合变换
链900。

相应地,给定变换链600A、600B、600C以及600D与环?#25345;?#30340;相应设备501到504相关
联,存在可被形成的八个可能的复合应用(对应于图7A到7D、图8A到8C以及图9的变换链)。
因而,随着各设备的变换链联合到环境以及从环境解耦,变换链本身改变,并且复合应用的
结构因而改变。例如,数据源601A的值的变化在该变化的效果通过一个或多个变换自动传
播时可对变换链具有非常不同的影响,取决于数据源601A只在变换链600A内、在变换链
700A内、在变换链700B内、在变换链700D内、在变换链800A内、在变换链800B内、在变换链
800C内、还是在变换链900内。

作为示例,假定设备501首先进入环境,使得变换链600A被使用。设备502随后进入
环境,使得变换链600B与变换链600A联合,得到变换链700A。因而,正在操作的变换链从变
换链600A改变成变换链700A。现在假定第三设备503进入环境,使得变换链600C与变换链
700A联合,从而得到变换链800A。因而,正在操作的变换链从变换链700A改变成变换链
800A。现在假定设备500B离开。变换链700B随后将变得起作用。现在假定设备504进入环境,
使得变换链600D与变换链700B联合,使得变换链800C变成正在操作的变换链。现在假定设
备500C离开,使得变换链700D正在操作。现在假定设备501离开,使得变换链600D正在操作。
最后,设备504离开,从而环?#25345;?#27809;有正在操作的变换链。在这一场景中,正在操作的应用如
下七次改变?#31169;?#26500;(并且因而改变了功能性):1)以变换链600A开始,2)随后移至变换链
700A,3)然后移至变换链800A,4)然后移至变换链700B,5)然后移至变换链800C,6)然后移
至变换链700D,7)然后以变换链600D完成。

图10解说了用于准?#22797;?#36827;多个联合变换链实例所表示的复合应用的方法1000的
流程图。方法1000可由环境500内的设备501到507中的任一者执行。作为替换或补充,方法
1000可以在设备501到507外部执行,诸如例如由图5的外部系统510执行。例如,外部系统
510可以是在云计算环?#25345;?#25552;供的服务。不管方法1000在?#26410;?#25191;行,图11解说了可执行方法
1000的系统1100。相应地,不管系统1100是否被合并到设备501到507中的一者或多者或者
系统1100是否是图5的外部系统510或它们的组合,现在将频繁参考图11的系统1100描述方
法1000。

方法1000包括不具有时间依赖关系的两个动作1001和1002。例如,该方法包括标
识不同变换链类之间的依赖关系(动作1001)。这些依赖关系基本上是由生成该类的类作者
创建的授权,以允许不同变换链类的实例互操作(经受进一步的基于实例的批准)。

例如,系统1100包括逻辑组件1101和被示为包括六个变换链类定义1111到1116的
变换链类定义库1110。然而,省略号1117表示变换链类定义库1110可包括任何数目的变换
链类定义。作为示例,假定变换链类定义1111、1112、1113以及1114分别定义图6A到6D的变
换链类600A、600B、600C以及600D。因为每一变换链类定义依赖关系元素,所以系统1100可
以使用库1110来标识不同变换链类之间的依赖关系。

例如,通过观察变换链600A的依赖关系元素601B以及变换链600B中的依赖关系元
素601A,逻辑组件1101可以标识节点601A和601B之间的依赖关系,如果变换链类600A和
600B被联合或者如果该类的实例被联合则该依赖关系将存在。逻辑组件1101可以推断变换
链600A和600B两者的作者都同意授权在这些依赖关系元素处联合(假定用户也在运行时在
实例级授权)。

方法1000还包括标识(动作1002)与变换链类中的任一者的实例相关联的设备。这
些设备本身可能使用设备标识符以及该设备希望使用的可能的任何变换链类来向系统
1100标识。另选地,系统1100可具有与每一设备相关联的特定默认变换类,并且因而可能只
接收设备标识符。可能存在设备被许可使用的一些变换链类以及该设备未被许可使用的其
他变换链类。

例如,系统1100还包括设备注册1120,设备注册1120包括设备与各变换链类相关
联的注册。例如,设备注册1120包括五个设备注册1121到1125,但省略号1126表示设备注册
1120可包括任何数目的设备注册。此外,设备注册1120可被长期持久存储和/或可能只被短
时保持。无论如何,系统1100标识多个设备并?#39029;?#36825;些设备的相关联的变换链。仅作为示
例,可能图5的设备501到504与注册1121到1124相关联。通过这样的关联,系统1100能够检
测变换链实例600A、600B、600C、600D(分别由变换链类定义1111、1112、1113以及1114定义)
分别与设备501到504相关联。

在一些实施例中,系统1100自身代表相应设备运行特定变换链类的实例的表示。
例如,在标识变换链类600A与设备501相关联之后,系统1100可为设备501操作变换链实例
600A的表示。相应地,在接收到来自该设备的输入时,系统1100标识变换链中的特定节点的
改变,并将该改变传播贯穿该变换链。这将称为“需动手”办法。这一需动手办法具有一些优
点,在于处理可被卸载到具有比提供输入的设备本身更大的处理能力的设备或系统或云。

在本文称为“无需插手”办法的另一办法中,设备通过自身运行变换类的实例来与
该类相关联。在遇到与关联于另一设备的另一变换链的依赖关系时,数据可直接流向该设
备(例如,经由对等联网),如果该另一设备也参与该无需插手办法的话。另选地,设备可将
数据间接地流传输到另一设备(例如,经由外部系统或云)。如果外部系统510正在运行该另
一设备的变换链类的实例的表示,则该设备可改为将数据流传输到外部系统510以供进一
步传播到变换链的其余部分。

图12解说了用于联合变换类的两个实例的方法1200的流程图。首先,变换链类被
确认是能被联合的类型(动作1201)。例如,如果变换链类没有彼此引用,则可能没有用于联
合相应类的各实例的基于类的授权。例如,变换链类600D不能与变换链类600B或变换链类
600C联合,因为变换链类600D没有引用变换链类600B或600C中的元素。然而,变换链类600D
可以与变换链类600A联合,因为它们相互包含?#21592;?#27492;的依赖关系引用。

在这一示例中,然而,虽然变换链类600D不能与变换链类600B和600C直接联合,但
变换链类600D可与变换链700A、700B和800A相联合,即使这些变换链700A、700B和800A包括
变换链600B和600C中的一者或两者。

然而,在替换实施例中,变换链类的作者可以指定与联合其他变换链类有关的进
一步约束。例如,作者可以指示以下通用约束:如果变换类实例已经是复合变换链和/或如
果复合变换链具有特定组成变换链,则联合特定变换类实例不被准许。例如,在联合两个变
换链实例时,系统1100可跟踪在此之前被用来构造复合变换链的变换类身份。该列表可被
用来确认用于基于类的授权的条件是否已被满足。

作者还可按单个依赖关系的粒度来表达约束。例如,在变换链类600A的依赖关系
元素601B中,作者可能表达只有在所联合到的变换链不包括所标识的由竞争者创作的变换
链类的情形下联合才被授权在该依赖关系元素上。作者还可通过将约束或条件写入将本身
桥接该依赖关系的变换(例如,在假定601A和依赖关系元素601B之间)来控制流出该变换链
到另一所联合的变换链的数据。

然而,即使变换链类可以互操作,这并不意味着用户想要他们的该变换链类的特
定实例与其他变换链类的其他实例相联合。毕竟,对用户而言,数据本身(例如,实例状态)
可能是敏感的。因此,方法1200还包括确定不同变换链类的实例要被联合(动作1202)。

用于授权联合不同变换链类的两个实例的联合准则可包括以下中的一者或多者:
用户是否在会议与会人员列表上、各设备的用户的关系(例如,家人、社交网络朋友等)、设
备之间的通信能力(例如,近场)、相应设备的邻近度(例如,在同?#25442;?#35758;室中)、用户的请求,
等?#21462;?#20363;如,联合准则可包括一些业务准则,诸如实例的相关联用户在同一团队中。作为另
一示例,一个设备可以是零售空间或宾馆中的自助服务终端,其中顾客使用该自助服务终
端并且店员或门卫可自动使用他们的设备来将他们的变换链与自助服务终端的变换链相
联合,以从而使用复合应用与顾客?#25442;ァ?#26465;件可被应用于联合准则。例如,如果门卫不在附
近的话(可能由于门卫没有主动使用可配对应用来与顾客的应用联合或者离线而被检测
到),则旅馆服务员的设备可能够联合顾客的应用。

除非与该设备相关联的变换链类的实例要以该类所定义的默认状态开始,在需动
手办法中,该设备随后可将实例数据(例如,与该设备相关联的变换链的各节点中的每一者
处的值)上传到系统1100(动作1203)。在无需插手办法中,可能只有边界节点处的实例数据
被上传到系统1100。

变换链实例随后与变换链的其余部分联合(动作1204)。例如,这可通过搜索源变
换链实例以寻找与目标变换链实例中的节点相对应的依赖关系元素来实现。一旦找到这样
的依赖关系元素,就用目标变换链实例中的实际所标识的节点替换该依赖关系元素,从而
创建源和目标变换链实例之间的实际链。这针对标识目标变换链实例中的节点的源变换链
实例中所有所这样的发现的依赖关系元素重复。如果在源变换链实例中存在所发现的不与
目标变换链实例中的节点相对应的依赖关系元素,则这些依赖关系元素保持是经归并变换
链实例中的依赖关系链元素。

注意,在图6A到6D的示例中,变换链类600A到600D中没有一者包括引用相同类的
依赖关系元素。然而,本文描述的原理可以操作,即?#22266;?#23450;变换链类的实例可具有引用相同
特定变换链类的另一实例中的另一节点的依赖关系元素。此外,如果被联合到的特定节点
准许,则来自一个或多个不同变换链实例的多个节点可联合该特定节点。

一旦联合,变换链就扩充,并且数据在经扩充变换链内流传输(动作1205),如同变
换链当初以经扩充方式被初?#21363;?#20316;一样。例如,一旦变换链类600A的实例联合变换链类
600B的实例,结果就是变换链类700A的单个实例。一旦变换链类600A的实例联合变换链类
600C的实例,结果就是变换链类700B的单个实例。一旦变换链类600B的实例联合变换链类
600C的实例,结果就是变换链类700C的单个实例。一旦变换链类600A的实例联合变换链类
600D的实例,结果就是变换链类700D的单个实例。

变换链类800A的实例可通过联合变换链类700A和600C的实例或通过联合变换链
类600A和700C的实例来形成。变换链类800B的实例可通过联合变换链类700A和600D的实例
来形成。变换链类800C的实例可通过联合变换链类700B和600D的实例来形成。在其中在给
定环?#25345;?#23384;在许多设备可供协作的情形下,这一联合操作可被执行多次以从而创建非常大
的变换链。

相应地,一旦联合(动作1204),数据可在经扩充变换链内自由流传输(动作1205),
甚至跨被用作各组成变换链之间的边界的事物。例如,在图7A的变换链700A中,数据可(经
由?#23454;?#30340;变换)从节点601A自由流传输至节点601B(而无需应用程序接口的用户并且无需
函数调用),如同数据可(经由?#23454;?#30340;变换)从节点601A流向节点604A。

相应地,该系统可被用来以相对自动化和方便的方式联合与各种各样的设备相关
联的变换,以从而扩充跨多个设备共享的复合应用的变换链。这允许各种各样的场景。

例如,考虑到达特定会议室中的会议的各个人。在第一用户使用膝上型计算机和
智能电话进入会议室之?#21097;?#19982;智能电话相关联的变换链实例与膝上型计算机的变换链实例
联合,使得单个应用跨第一用户智能电话和膝上型计算机来高效地运行。第二用户稍后进
入会议室。第二用户也在会议邀请人员上,且因此该用户的智能电话变换链被联合到现有
复合变换链以进一步扩充该变换链。电视机屏幕随后自动打开以输出与会议相关联的数据
中的一些。第三用户使用平板计算机进入并且也是会议邀请人员。因而,与平板计算机相关
联的变换链联合复合变换链以进一步扩充该变换链。因而,随着更多设备加入适于联合变
换链的环境,跨所有设备运行的应用被实际上扩充,从而改变应用本身的功能性。多个用户
可各自在该环?#25345;?#20849;享,使得多个用户观察这些设备中的至少一个或一些中的每一者。

图13解说了用于解耦变换链的方法1300的流程图。如同存在用于当设备进入环境
时联合变换链的方法一样,存在用于当设备退出环境时解耦变换链的方法。首先,该系统确
定变换链类的实例要被解耦(动作1301)。作为响应,去往和来自该实例的数据流被中断(动
作1302)。用于确定实例应被解耦的解耦准则可包括任何准则,但作为示例可包括以下中的
一者或多者:与该实例相关联的设备同该环?#25345;?#30340;其他设备的邻近度、会议结束状态、与该
实例相关联的设备同该环?#25345;?#30340;其他设备之间的通信能力、用户的请求,等?#21462;?#22240;而,变换
链可在设备进入和退出环境时动态地改变。

在一个实施例中,系统1100包括演示服务1150。正在运行的变换链实例的一个或
多个节点可以驱动一个或多个周围设备上的渲染。同样,一个或多个设备可以提供对变换
链实例的一个或多个节点的输入。例如,假定变换链900的实例正在图5的环境500中运行,
且设备501到504与相应变换链类600A到600D的实例相关联,从而得到经扩充变换类900的
实例。参考图9,假定节点601A和601C是输入节点且节点604A、603B、602C以及602D是输出节
点。演示服务1150可选择哪些设备可向节点601A和601C提供输入,并且如果是,要执行什么
变换。在一个示例中,各设备与它们的变换链的相应部分相关联,使得该相应部分内的输入
节点由该相应设备提供。因而,默?#31995;兀?#21487;以向作为变换链600A的初始部分的输入节点601A
提供来自设备501的输入(在可能某些变换后)。因而,在默认情况下,可以向作为变换链
600C的初始部分的输入节点601C提供来自设备503的输入(在可能某些变换后)。演示服务
1150还可选择哪些设备要渲染来自节点604A、603B、602C以及602D的输出以及要执行什么
变换(如果有的话)。

图14解说了用于在多设备环?#25345;?#28210;染变换链的输出的方法1400的流程图。方法
1400可由图11的系统1100执行,或者可能由图11的演示服务1150执行。逻辑组件1101确定
(动作1401)变换链类的实例的特定节点(演示节点)已改变。例如,在该示例中,节点604A、
603B、602C以及602D各?#20801;?#36755;出节点,即“演示节点”。

逻辑组件还标识经改变输出的至少一版本可在其上渲染的多个候选设备的特性
(动作1402)。例如,逻辑组件1101可以参考设备注册1120和/或直接询问设备以确定每一设
备的渲染能力。每一设备的特性还可包括每一用户相对于该设备的并置。

该系统随后基于所标识的特性选择(动作1403)这些候选设备中要在其上渲染该
渲染的至少该版本的至少一个候选设备。该系统作出该选择以使输出的可使用性最大化。
例如,如果输出旨在?#36879;?#25152;有用户,并且所有用户物理上是在场的,则该输出可被渲染在较
大屏幕上。如果输出是?#25442;?#24335;的且需要来自特定设备的输入,则该设备可被选择用于该输
出。

该系统确定是否要在实?#36866;?#20986;给设备之前向渲染应用任何变换(决策框1404)。变
换将所选设备的合适?#38405;?#20837;考虑,其中变换可取决于用于渲染的所选设备而不同。变换的
示例包括改变渲染的类型(例如,文本到语音、语音到文本、视频到文本、文本到视频,等
等)。变换还可包括该输出的电影化。例如,可根据输入来创建视频,其中背景幕布被提供并
且可能在?#23454;?#26102;改变,并且移动元素可移入和移出该视频。

如果要执行变换(决策框1404中的“是”),则执行这些变换(动作1405)。最后,在所
选择的设备上促进渲染(动作1406)。相应地,复合变换链可以按任何形式从任何设备取得
输入,并在需要时将该输入变换成由复合变换链的输入节点识别的形式。因而,这一输入被
传播遍及该变换链。如果一个或多个演示节点的值改变,则?#23454;?#30340;设备可被选择用于渲染
该输出。相应地,用于渲染的最合适设备可被选择,而不管哪一设备与变换链的包含演示节
点的那一部分相关联。例如,演示节点604A的值的变化不必排他地或甚至根本不在与变换
链实例600A相对应的设备501上渲染。多个用户可各自在该环?#25345;?#20849;享,使得多个用户观察
这些设备中的至少一个或一些中的每一者。

现在将参考图15A到15M(统称为“图15”)描述详细场景(此后称为“设备场景”)。这
一场景只是作为可由本文描述的更广泛原理启用的无限种场景之一来提供的。在这一场景
中,用户正在定购各种计算设备。该场景涉及四个设备1501、1502、1503以及1504,但该场景
在图15A中以只有两个设备1501和1502可见来开始。四个设备1501到1504中的每一者参与
向复合应用提供输入并从中接收输出。

图15A介绍作为膝上型计算机的两个设备1501和1502。假定这两个设备1501和
1502是操作环?#25345;?#26368;初的仅有设备,并且因而它们的相应变换链已被联合。与设备1501相
关联的变换链允许?#24049;?#21644;选择制造商。与设备1502相关联的变换链允许?#24049;?#30001;制造商提供
的设备列表,并?#19968;?#20801;许用户改变列表中的设备中的任一者的计数。

更具体而言,设备1501允许用户水平滚动通过多个制造商,并选择一制造商。在图
15A中,设备1501只示出三个这样的制造商,标记为“供应商7”、“供应商8”以及“供应商9?#20445;?br />其中用户选择了“供应商8“。另一方面,设备1502示出了由在设备1501中选择的供应商提供
的可水平滚动的设备列表。在图15A中,因为供应商8在设备1501被选择,所以设备1502示出
了由供应商8提供的设备列表。设备列表中的每一项包括该设备的照片1505、该设备的名称
1506、该设备的单价1507、以及该设备被定购的计数1508。每一设备的计数可以使用对应的
滚动控件来控制。

图15B示出了从图15A的状态进展的场景状态,其中用户已经向左滚动了制造商的
列表并?#19968;?#36873;择了“供应商4”。相应地,来自设备1502的输出自动改变成?#20801;?#30001;供应商4制
造的设备的列表。为这样做,数据从与设备1501相关联的变换链自动流传输至与设备1502
相关联的变换链(无需使用应用程序接口)。

图15C示出了从图15B的状态进展的场景状态,其中用户已经向左滚动了制造商的
列表并?#19968;?#36873;择了“供应商2”。相应地,来自设备1502的输出自动改变成?#20801;?#30001;供应商2制
造的设备的列表。为这样做,数据再次从与设备1501相关联的变换链自动流传输至与设备
1502相关联的变换链。

图15D示出了已从图15C的状态进展的场景状态,其中用户已使用?#20801;?#22312;设备1502
上的滚动控件1511和1512来改变由供应商2提供的两个设备的订单计数。图15E示出已从图
15D的状态进展的场景状态,其中用户使用设备1502向右滚动通过由供应商2提供的设备的
列表并且进一步使用?#20801;?#22312;设备1502上的滚动控件1513和1514来改变由供应商2提供的两
个进一步设备的订单计数。因此,在这一阶段,用户已录入由供应商2提供的四个设备的订
单计数。

图15F示出了以从图15E的状态进展的场景状态,其?#26800;?#19977;设备1503被引入环境
中。例如,第三设备1503可与?#20801;?#26368;大单价和整个订单的总价的变换链相关联。一旦设备
1503被引入环境,变换链的该部分就与现有复合变换链相联合,从而改变复合应用的功能
性,以现在向设备1503输出这样的价钱数据。一旦变换链实例被联合,表示计数以及单价的
数据被流传输到变换链的该部分,从而使得设备1503被立即增加。注意,在设备1503指示最
大单价时,流还发生在相对的方向上,并且因此,设备1502中示出的设备列表被限于低于最
大单价的任何设备。在这种情况下,所有先前列出的设备都落在最大单价之下并且因而设
备1502上的可视化没有变化。

图15G示出以从图15F的状态进展的场景状态,其中用户已使用设备1502上的滚动
控件1515来录入由供应商2提供的又一设备的计数。计数数据和单价数据被流传输到变换
链的与设备1503相对应的部分,从而造成?#20801;?#22312;设备1503上的总价的变化。

图15H示出了已从图15G的状态进展的场景状态,其中用户已使用设备1503上的滚
动控件1516将最大单价下调至$987。?#31859;?#22823;单价变化已从与设备1503相关联的变换链部分
流传输至与设备1502相关联的变换链部分,从而使得由供应商2提供的若干设备被从列表
丢弃。如果用户将金额返回得更高,那些丢弃的项将被自动添加回列表上,从而可能将设备
1502返回至图15G中解说的状态。

图15I示出了以从图15G的状态进展的场景状态,其?#26800;?#22235;设备1504被引入环境
中。例如,第四设备1504可与?#20801;?#35774;备的最大重量的变换链相关联。一旦设备1504被引入环
境,变换链的该部分就与现有复合变换链相联合,从而改变复合应用的功能性,以现在输出
这样的价格数据。一旦变换链实例被联合,表示最大重量的数据就从变换链的与设备1504
相关联的部分流传输至该变换链与设备1502相关联的部分。设备1502通过?#20801;?#19982;重于最大
重量的每一设备相关联的超重警告1518A、1518B、1518C以及1518D来作出响应。当前,在图
15I中,该重量只是606克,并且因而所有设备被列出了这样的警告。

图15J示出已从图15I的状态进展的场景状态,其中用户已使用设备1504上的滚动
控件1516将最大重量增加至超过2千克。最大重量变化从该变换链与设备1504相关联的部
分流传输至该变换链与设备1502相对应的部分,从而造成超重警报1518C和1518D的移除
(超重警报1518A和1518B保留)。

这从用户观点来看结束了该场景。图15K到15O解说了在创作时,作者可声明性地
改变变换以从而改变复合应用的功能性。在图15K中,用户界面元素1520被示为包括滤除具
有低于滑块1516所指示的值的制造商建议零售价的那些设备的声明性变换。图15L解说了
这一约束现在被移除,并且因而所?#20801;?#30340;设备现在没有依据滑块1516的值而被滤除。

在图15M中,用户界面元素1521被示为定义用于制造商建议零售价的突出?#20801;?#30340;
颜色。图15N解说了突出?#20801;?#39068;色现在依赖于制造商的建议零售价是否高于滑块控件1516
所指示的值。如果是,则突出?#20801;?#39068;色改变成例如绿色。图15O解说了在滑块控件1516在这
种情形下被增加时,复合应用的行为从其中设备被从列表移除(如果它们的建议制造商零
售价大于滑块控件1516的值)的状态改变成其中制造商建议零售价(与滑块1516的值相比)
驱动突出?#20801;?#21046;造商建议零售价的状态。

因此,描述了变换链实例的联合和解耦的授权。这启用可动态地改变的复合应用。
例如,在设备进入和退出工作环境时,复合应用可改变以针对变化的可用设备集合进行调
整。因而,复合应用可被创作以针对设备的输入和输出能力来定制。

本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在
所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而
非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书
的范围所涵盖。

关于本文
本文标题:授权变换链实例的联合.pdf
链接地址:http://www.pqiex.tw/p-6091735.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 技术工种比较赚钱 安卓8.0系统安装包 重庆时时彩龙虎口诀 吉林快3基本走势,走势图 老虎机要怎么打才会赢 地摊卖什么比较赚钱 十一选五任八必中组合 四川时时开奖 二人麻将游戏大全 3d捕鱼怎么刷弹头