CN102985922A - 在计算空间中管理分布计算的方法和装置 - Google Patents
在计算空间中管理分布计算的方法和装置 Download PDFInfo
- Publication number
- CN102985922A CN102985922A CN2011800300994A CN201180030099A CN102985922A CN 102985922 A CN102985922 A CN 102985922A CN 2011800300994 A CN2011800300994 A CN 2011800300994A CN 201180030099 A CN201180030099 A CN 201180030099A CN 102985922 A CN102985922 A CN 102985922A
- Authority
- CN
- China
- Prior art keywords
- computer memory
- computer
- combination
- memories
- subgraph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000015654 memory Effects 0.000 claims description 139
- 230000006870 function Effects 0.000 claims description 77
- 238000004364 calculation method Methods 0.000 claims description 63
- 238000009795 derivation Methods 0.000 claims description 33
- 238000005520 cutting process Methods 0.000 claims description 32
- 239000000284 extract Substances 0.000 claims description 26
- 230000007246 mechanism Effects 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004321 preservation Methods 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 239000012141 concentrate Substances 0.000 claims 4
- 230000008569 process Effects 0.000 abstract description 67
- 238000013459 approach Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 162
- 238000004891 communication Methods 0.000 description 50
- 238000007726 management method Methods 0.000 description 48
- 238000009826 distribution Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 31
- 238000003860 storage Methods 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 20
- 230000008859 change Effects 0.000 description 17
- 238000013508 migration Methods 0.000 description 14
- 230000005012 migration Effects 0.000 description 14
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000000712 assembly Effects 0.000 description 7
- 238000000429 assembly Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 206010038743 Restlessness Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003121 nonmonotonic effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 150000003384 small molecules Chemical class 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种方法,用于提供分布计算的操纵的操作。计算闭包管理架构确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理。所述计算闭包管理架构确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合。所述计算闭包管理架构确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
Description
背景技术
如今,对于许多人来说,具有各种连接方法的移动设备正在成为到因特网的主要网关,以及用于个人信息的重要存储点。将这些设备与他们的应用以及那些应用存储的信息组合是互连性的一个重要挑战。这可通过多个、个体和个人的信息空间来实现,其中个人、个人的组等可用他们自己本地同意的语义放置、共享、交互、和操作信息的网。
此外,除了信息,信息空间可与共享的和交互的计算或计算空间的网站组合,从而具有到计算空间的连接性的设备可具有在计算空间环境中操纵的信息空间的信息以及向设备交付的结果,而并非在本地由设备执行整个处理。这些组合的信息空间和计算空间通常称为智能空间,是“巨大全局图(Giant Global Graph)”的扩展,其中一个人可在本地水平应用语义和推理。
一个实施例中,信息和计算空间是分别用分布信息嵌入的工作空间以及跨越允许人们通过从计算机或其他设备有效访问信息和计算而工作的计算机、信息装置、处理设备和传感器的计算架构。信息空间或计算空间可通过计算设备物理地呈现为异构网络(有线和无线)。然而,尽管可按不同粒度分布由各个空间呈现的信息和计算,但是在例如Nokia的Mobile的异构环境中仍旧存在实现可扩展的高度上下文信息处理的挑战。一个这样的挑战是实现适配计算平台以提升设备的信息处理能力,由此他与各个外部信息处理器交互。为了克服这个挑战,介绍建立适配计算平台以结合信息处理器提供粒度和反映处理迁移的方案。然而,在计算的数目和复杂度增加时,跟踪各个计算空间之间的组合和/或提取的计算的挑战也增加。
发明内容
因此,需要一种方法,按计算空间的水平提供分布计算的操纵的操作,同时保持计算空间上的操作的历史以及在信息空间中包含的语义协议或规则。
根据一个实施例,一种方法,包括:确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理。该方法还包括:确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合。该方法还包括:确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
根据另一实施例,一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器;所述至少一个存储器和计算机程序代码被配置为,利用所述至少一个处理器,使得所述装置:确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理。还使得所述装置:确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合。还使得所述装置:确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
根据另一实施例,一种计算机可读存储介质,承载一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,使得装置:确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理。还使得所述装置:确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合。还使得所述装置:确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
根据另一实施例,一种装置,包括:确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求的部件,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理。所述装置还包括:确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合的部件。所述装置还包括:确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合的部件。
简单地,通过示出包括用于执行本发明的最佳实施方式的多个特定实施例和方案,可从以下具体描述,使得本发明的其他方面、特征、和优点容易变得清楚。本发明还能够用其他和不同实施例,并且可在各个明显方面修改其若干细节,而不脱离本发明的精神和范围。由此,可将附图和说明书看作示例型,并非限制性。
附图说明
在附图中,通过实例而并非限制,示出本发明的实施例:
图1是根据一个实施例的能够提供分布计算的操纵的操作的系统的视图;
图2是根据一个实施例的计算闭包管理架构的组件的视图;
图3是根据一个实施例的提供分布计算的操纵的操作的处理的流程图;
图4A-4B是根据一个实施例的在设备之间循环的计算闭包的视图;
图5是根据一个实施例的构建分布计算的处理的流程图;
图6A-6C是根据各个实施例的计算分布的视图;
图7是根据一个实施例的用户设备集的视图;
图8是根据一个实施例的处理迁移的视图;
图9是根据一个实施例的从一个设备向另一设备的处理迁移的视图;
图10是根据一个实施例的提供分布计算的系统的层之间的排列的视图;
图11A是根据一个实施例的在计算空间上应用分割操作的处理的流程图;
图11B是根据一个实施例的在计算空间上应用合并操作的处理的流程图;
图12是根据一个实施例的定义计算空间的边界的处理的流程图;
图13A是根据一个实施例的考虑边界和历史信息在计算空间上应用分割操作的处理的流程图;
图13B是根据一个实施例的考虑边界和历史信息在计算空间上应用合并操作的处理的流程图;
图14A-14B分别是根据一个实施例的在计算空间上应用投影操作的处理的流程图和视图;
图15是根据一个实施例的使用等式在计算空间上应用投影操作的处理的流程图;
图16A-16B分别是根据一个实施例的在计算空间上应用添加操作的处理的流程图和视图;
图17是根据一个实施例的使用公式在计算空间上应用添加操作的处理的流程图;
图18A-18D分别是根据各个实施例的在计算空间上应用分割、合并、投影和添加操作的示例性用例的视图;
图19是可用于实施本发明实施例的硬件的视图;
图20是可用于实施本发明实施例的芯片集的视图;和
图21是可用于实施本发明实施例的移动终端(例如手机)的视图。
具体实施方式
公开了提供分布计算的操纵的操作的方法、装置、和计算机程序的实例。在以下描述中,为了说明的目的,阐述了多个具体细节,以提供本发明实施例的全面理解。然而,本领域技术人员清楚,本发明的实施例可以在没有这些具体细节或具有等同部署的情况下实现。其他实例中,以框图形式示出公知结构和设备,以避免不必要地掩盖本发明的实施例。
这里,术语“信息空间”指的是来自不同源的聚集信息集。这样的多个来源非常灵活,因为他考虑和依赖相同信息可来自不同源的观测。例如,相同信息(例如特定联系人的联系人信息)可出现在来自多个源的相同信息空间中(例如本地存储的联系人数据库、公共目录、工作联系人数据库等)。一个实施例中,信息空间或智能空间中的信息通过使用如下内容来表示:语义网标准(例如资源描述框架(RDF))、RDF方案(RDFS)、OWL(网络实体语言)、FOAF(朋友的朋友实体)、RuleML(规则标记语言)中的规则集等。此外,这里,RDF指的是网际网络联盟(W3C)规范的族,其初始被设计为元数据的数据模型。其已经用作概念性描述或在网络资源中实现的信息的建模的一般性方法;使用各种句法格式。
这里,术语“反映计算”指的是系统自身推理或行动的能力。反映系统是提供适合于检查和适配的其自身行为的表示的系统。反映能够在运行时进行系统的检查和适配。检查允许系统的当前状态被观察,而适配允许系统的行为在运行时被更改为更好。尽管关于反映计算描述了各个实施例,但是可理解这里描述的方法可通过其他计算系统和架构来使用。
这里,术语“粒度处理”指的是将特定计算处理进行如何精细地细分(例如,可用于执行处理的任务或功能的代码的最小单元)。通过实例,处理的粒度(例如,最小等级的粒度、不同级别的粒度等)可由处理的开发者来定义,或者可由系统100来动态确定。
这里,术语“计算闭包”识别特定计算过程以及各个处理之间的关系和通信,包括传递参数、共享处理结果、数据和处理结果的流等。计算闭包(例如指令、数据、和/或相关执行上下文或状态的粒度反映集)提供对处理进行切片并在设备、架构和信息空间之间发送计算切片的能力。
这里,术语“计算空间”指的是来自不同源的计算闭包的会聚集。一个实施例中,计算空间中的计算使用如下内容来表示:语义网标准(例如资源描述框架(RDF))、RDF方案(RDFS)、OWL(网络实体语言)、FOAF(朋友的朋友实体)、RuleML(规则标记语言)中的规则集等。一个实施例中,包括会聚计算闭包的信息空间也已知为计算空间。
这里,术语“智能空间”指的是一个或多个信息空间和一个或多个计算空间的组合,其中计算空间包括关于信息空间中的信息操作的计算闭包。尽管参照信息空间和RDF描述各个实施例,但是可理解,这里所述的方法可通过用于建立信息和计算的模型的其他结构和概念性描述方法来使用。
图1是根据一个实施例的能够提供分布计算的操纵的操作的系统的视图。如先前所述,智能空间包括信息和计算空间,其每个包括若干分布式设备,他们经由共享存储器传送信息和计算闭包(例如RDF图)。信息空间环境中的设备可在其自身存储器空间中本地存储计算闭包,或在智能空间中的全局可访问环境上发布计算闭包。在第一情况下,设备负责计算的组合或提取所需的任何处理,而在第二情况下,可由全局可访问环境进行处理。然而,许多情况下,计算闭包可组织为可包括许多计算元素(例如商品库存操作、联系人列表管理相关的初级计算闭包等)的列表或集。
信息空间技术的基本概念包括为智能空间的范围内的各个设备提供到分布式信息的访问,这样计算的分布特征对用户隐藏,并且对用户呈现为好像所有计算在相同设备上执行。计算空间还通过在工作设备、家庭设备、或便携式设备之间传送计算而使得用户对计算分布具有控制。例如,用户想要在工作设备、家庭设备、和便携式设备之间传送计算。目前的技术使得移动设备的用户能够经由他们的用户设备的用户接口的元素来操作上下文(例如数据和信息)。然而,通常用户不具有与计算环境中的数据和信息相关或作用于其上的计算和处理的分布的控制。换句话说,计算空间通常不向用户(例如计算空间上分布的信息或计算闭包的集合的所有者)提供控制例如作用于该信息的应用的相关计算和处理的分布的能力。例如,处理在一个或多个信息或计算空间中分布的联系人信息的联系人管理应用通常在单独设备上执行(例如,通过还在相同设备上执行的应用的全部处理和计算)以关于分布信息进行操作。一些情况下(例如,当计算复杂,数据集较大等时),提供除了信息空间还分布相关计算的部件是有利的。
这个目的通过引入构建、分布、和会聚计算以及他们的相关数据来实现。更具体地,为了使得智能空间的用户(其经由一个或多个用户设备连接至智能空间)在访问信息空间的一个或多个用户设备或其他设备之间分布计算,将每个计算拆解成其基础的或原始的处理或计算闭包。这里,计算闭包指的是各个计算之间的计算过程以及关系和通信,包括传递参数、共享处理结果、数据和处理结果的流等。一旦将计算分成其原始计算闭包,在每个闭包中或由其表示的处理可按分布方式执行,并且将处理的结果收集和会聚成初始总体计算的执行的结果中。
一个实施例中,计算的每个高上下文集可表示成处理的封闭集(例如敏感闭包),从而可单独地(例如通过分布处理设备)执行闭包。可遍历敏感闭包,以呈现对每个特定执行上下文附加的粒度反映处理。计算空间环境的机制提供了分布推导闭包,作为预计算的、计算闭包的可循环集,其可在各个设备和架构之间分布或通过存储在与智能空间相关的信息空间涉及的任意存储位置上而在一个或多个智能空间的用户之间共享。
另一实施例中,遍及为未来使用可访问的计算空间,在一个或多个库中可实现所提供的分布计算。这个实施例中,智能空间可在库中搜索先前生成的单机计算,然后尝试生成他们。这个机制提供了可被提取和组合在为了提供各个服务而利用的集中的可循环计算。然而,为了有效和精确的使用分布计算,需要组合(合并)来自不同源的分布计算和计算空间。此外,由于例如安全性问题、改变协议等的若干原因,对于计算空间可能必需分成两个或更多个更小空间。分割一个计算空间的处理可能是易失性的,意味着因为在计算之间的一些链接可能丢失,所有分割后的空间再次在一起则无法生成原始空间。通常,没有严格的顺序来证明“分割-合并”或“合并-分割”过程。该处理涉及高易失性,由此分割后的空间可被合并以及固定的空间(早前合并的)可不损坏初始内容地被分割。
此外,计算空间中,用户请求的计算可在若干库上分布,因此为了推导计算的子集,需要从不同源向新计算空间中提取(例如投影(projecting))或组合(例如添加(injecting))计算。在许多场合,跟踪提取现有计算空间的部分的处理,而跟踪提取(例如投影)可代替简单地分割或不保持与提取相关的计算来使用。换句话说,投影的处理保持存储器(例如,提取什么计算的日志以及向哪里发送计算),而分割的操作不保持这样的存储器。此外,计算的许多应用可涉及向原始计算空间返回计算空间的提取部分的计算内容(添加)。为了能够计算的返回,通过计算空间之间计算的传播将计算保持最新的问题是重要的。
如图1所示,系统100包括:用户设备UE 107a-107i的一个或多个集101a-101n,其每个具有经由通信网络105到计算闭包管理架构103的连接。通过实例,系统100的通信网络105可包括一个或多个网络,例如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)、或其任意组合。可设想,数据网络可以是任意局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据位(例如因特网)、短距离无线网、或任意其他适合的分组交换网络,例如商业所有、专用分组交换网,例如专属电缆或光纤网络。此外,无线网络可以是例如蜂窝网络,以及可采用各种技术,包括用于全球演进的高级数据率(EDGE)、通用分组无线业务(GPRS)、全球移动通信系统(GSM)、因特网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等、以及任意其他适合无线介质,例如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、无线保真(WiFi)、卫星、移动自组织网络(MANET)等、或其任意组合。
UE 107a-107i是任意类型的移动终端、固定终端、或便携式终端,包括移动手机、站、单元、设备、多媒体计算机、多媒体平板、因特网节点、通信器、桌面型计算机、膝上型计算机、笔记本计算机、网络本计算机、平板计算机、个人数字助理(PDA)、音频/视频播放器、数码相机/摄录像机、定位设备、电视接收机、无线电广播接收机、电子书设备、游戏设备、或其任意组合,包括这些设备的附属和外围设备、或其任意组合。还可假设,UE 107a-107i可支持对用户的任意类型的接口(例如“可佩戴”电路等)。
一个实施例中,UE 107a-107i分别配备有一个或多个用户接口(UI)109a-109i。每个UI 109a-109i可在任意时刻包括若干UI元素(未示出),取决于正在使用的服务。UI元素可以是表示用户上下文的图标,例如信息(如音乐信息、联系人信息、视频信息等)、功能(如设置、搜索等)和/或处理(如下载、播放、编辑、保存等)。此外,每个UI元素可通过粒度迁移绑定至上下文/处理。一个实施例中,粒度迁移使得处理能够在设备、计算空间、和其他架构之间隐含地或显式地迁移。处理迁移可通过例如单播(例如仅到另一UE 107)或多播(例如到多个其他UE 107)来启动。此外,处理迁移可经由手势识别来触发,其中用户预先选择UI元素的特定集并做出手势以模仿将所选UI元素从一个设备“倾倒”至另一设备。
如图1所示,UE 107a-107i的用户可拥有、使用或具有在计算空间111a-111i和信息空间115a-115j的智能空间113a上分布的各条信息,其中一个或多个计算空间111a-111i的每个包括一个或多个计算闭包。用户可经由集101a(包括UE 107a-107i)来访问信息,其中每个107a-107i配备有一个或多个用户接口(UI)109a-109i。此外,每个107a-107i可访问用于操作信息空间115a-115j中存储的信息并生成UE的用户所请求的结果的处理119a-119k的执行上下文117a。
一个实施例中,计算闭包管理架构103包括关于对每个UE 107a-107i的执行117a和处理119a-119k的信息。该信息可包括例如输入参数、输入类型和格式、输出类型和格式、处理结构、数据流、在处理119a-119k之间传送的通信部件和参数等的信息。
计算信息能够使得UE 107a-107i将计算分成他们的主要计算闭包,其中每个计算闭包可独立于属于相同计算的其他计算闭包来执行。例如,涉及音乐下载的计算可被划分成寻找最适合下载站点的搜索处理、确定用户是否有资格从该站点下载的验证处理、验证要下载文件的足够资源(例如存储空间)的初始化处理、验证音乐文件的类型和相关播放环境的处理、确定在UE 107上播放器是否可用的处理、在下载完成之后激活播放器的处理等。一个实施例中,这些处理或从处理119a-119k导出的计算闭包可存储在计算空间111a-111i中并彼此独立执行。在独立处理的执行之后,可交换从执行得到的数据和参数,以能够会聚结果并对智能空间环境中可用的音乐应用进行操作。此外,将音乐相关的计算到独立处理的划分可基于例如UE的特征、下载站点的限制、音乐文件类型、播放器类型和需求等的因素而不同。一个实施例中,计算到他们的主要处理或计算闭包的划分通过计算闭包管理架构103来管理。此外,将计算闭包序列化成例如信息语义,例如RDF三元组,然后经由计算空间存储。
通过实例,集101a-101n的UE 107a-107i、计算闭包管理架构103、和智能空间113a-113n使用已知、新或仍旧开发中的协议来彼此以及与通信网络105的其他组件通信。这个上下文中,协议包括定义通信网络105中的网络节点如何基于通信链路上发送的信息彼此交互的一组规则集。协议在每个节点中的不同操作层是有效的,从生成和接收各种类型的物理信号,到选择用于传输这些信号的链路,到由那些信号指示的信息的格式,到识别在计算机系统上执行的哪些软件应用发送或接收信息。在开放系统互连(OSI)参考模型中描述了用于在网络上交换信息的概念上协议的不同层。
网络节点之间的通信典型地受到交换数据的离散分组的影响。每个分组典型地包括(1)与特定协议相关的头部信息;和(2)有效载荷信息,在头部信息之后并包含可独立于该特定协议处理的信息。在一些协议中,分组包括(3)尾部信息,在有效载荷之后并指示有效载荷信息的结尾。头部包括例如分组的来源、其目的地、有效载荷的长度、和协议使用的其他属性的信息。通常,对于特定协议的有效载荷中的数据包括对于与不同的、高层的OSI基准模型相关的不同协议的头部和有效载荷。对于特定协议的头部典型地指示其有效载荷中包含的下一协议的类型。更高层协议被认为在低层协议中封装。在遍历多个异构网络(例如因特网)的分组中包括的头部典型地包括OSI基准模型定义的物理(层1)头部、数据链路(层2)头部、网络间(层3)头部和传输(层4)头部、和各个应用头部(层5、层6和层7)。
图2是根据一个实施例的计算闭包管理架构的组件的视图。通过实例,计算闭包管理架构包括分布计算的构建、会聚和操纵的一个或多个组件。假设,这些组件的功能可组合在一个或多个组件中或通过等同功能的其他组件来执行。这个实施例中,计算闭包管理架构包括:分布计算构建器201、合并模块203、分割模块205、投影模块207、和添加模块209、和存储器211。
分布计算构建器201接收对于计算分布的请求。一个实施例中,该请求由UE 107基于用户手势来生成,例如将UI 109的图标推向另一UE 107,表示用户想要与图标相关的处理在其他UE 107上执行。另一实施例中,计算分布的请求可通过与UE 107链接的信息空间的组件、通过经由通信网络105具有到UE 107和信息空间的链接的独立组件、或其组合来生成。
用于计算分布的请求可包括关于要进行分布的计算的信息,包括输入、输出、处理需求等。该请求还可包括关于计算的起源和目的地的信息。例如,用户想要将与编码视频文件相关的计算从一个格式向另一格式分布(典型地,高度处理器和资源密集任务)。这个实例中,视频文件存储在用户的信息空间115a-115j中或在通信网络105上可用(例如在因特网上从来源处下载),因此可从UE 107访问。由此,用户可做出手动请求,以分布对一个或多个其他设备、后台服务器、云计算组件、和/或能够执行编码功能的至少一部分的任意其他组件编码的视频相关的计算。通过实例,可经由图形用户界面通过将计算的图标或其他图示拖拽至用户界面中示出的命令区域来做出手动请求。这些命令区域,例如,可表示可支持或执行分布计算的其他UE 107或设备的物理或虚拟位置。其他情况下,可通过系统100基于一个或多个标准经过请求生成器(未示出)并结合计算闭包管理架构103来启动分布。
一个实施例中,在接收计算分布请求之后,分布计算构建器201提取和分析关于计算的信息,并确定在计算中涉及的执行组件。对于以上实例,执行上下文可包括视频播放、音频播放等和相关设置、参数、存储器状态等。识别的执行上下文可存储在存储器211、与智能空间113a-113n相关的存储空间中、由分布计算构建器201直接使用、或其组合。
另一实施例中,分布计算构建器201将每个执行上下文分成其原始或基础建立块(例如原始计算闭包或闭包原体)或整个执行上下文的子处理。例如,视频播放执行可分解成支持例如搜索可用播放器的任务、用找到的播放器检查视频文件的兼容性、选择播放器、激活所选播放器等计算或处理。每个分解后的子处理可具有实施计算空间111中的处理的执行(例如输入和输出介质和类型)、如何向其他处理传递参数或结果、运行时环境等的某些规范和需求。为了按单机方式不作为更大处理的一部分地执行处理,可对于该处理生成计算闭包。计算闭包包括可对于随后会聚独立执行的处理以及与该处理相关的规范和需求。
一个实施例中,分布计算构建器201为提取的子处理生成计算闭包,并将闭包存储在计算空间111a-111i。存储的闭包可通过使用分布信息空间115a-115j上存储的数据用来将计算切片成更小的独立处理以供各个可用UE 107a-107i执行。
另一实施例中,分布计算构建器201利用定义的闭包,并生成序列化的计算元素。
一个实施例中,可使用资源描述框架(RDF)格式来生成和存储闭包序列。RDF是网际网络联盟(W3C)规范的族,其初始被设计为元数据的数据模型。其已经用作概念性描述或在网络资源中实现的信息的建模的一般性方法;使用各种句法格式。RDF中任意表述的基础结构是三元组的集合,其每个包括节点的3个不相交集,含有主语、谓语、和宾语。主语是RDF URI参考(U)或空白节点(B),谓语是RDF URI参考(U),而宾语是RDF URI参考(U)、文字(L)或空白节点(B)。这样的三元组的集称为RDF图。表1示出实例的RDF图结构。
主语 | 谓语 | 宾语 |
uri://....../rule#CD-introduction, | rdf:type, | uri://…………/Rule |
uri://....../rule#CD-introduction, | uri://....../rule/#assumption, | “c” |
表1
粒度可通过特定计算环境中操作的基础格式(例如RDF)来实现。此外,可通过用RDF格式编码计算的行为来实现处理的反映(即处理的提供他们自身的行为的表示以用于检查和/或改编的能力)。此外,可假设上下文在信息空间中被部分地确定和存储为RDF,并部分地从执行环境提取。注意,RDF结构可在信息空间的语义信息代理(SIB)中看作子图、RDF分子(即RDF图的建立块)或命名图。
某些实施例中,序列化与某些执行上下文相关的闭包使得闭包能够通过一个或多个用户智能空间113a-113n经由通信网络105在多个UE 107和/或包括与UE 107相关的远程处理器的设备之间或在一个或多个UE 107和计算空间111a-111i之间自由分布。向运行时环境分配和迁移闭包的处理可基于例如对于每个处理所需的处理功率、系统负载、可用运行时环境的能力等因素自动执行。在每个计算闭包迁移至其指定的运行时环境之后,运行时环境可通过称为代理的组件关于闭包的接收来与计算闭包管理架构103通信。在从代理接收通信时,分布计算构建器201验证闭包的一致性,如以上说明他们是RDF图格式。一致性验证确保对于每个闭包的计算闭包内容为精确,包含用于执行的所有必要信息,数据和指令的流根据原始计算是正确的并在序列化和迁移处理中没有被损坏。如果闭包经过一致性检查或被批准,分布计算构建器201基于计算闭包的内容重建执行上下文的每个组件。一旦重建执行上下文,运行时环境的代理可继续首先作为RDF格式的计算闭包被接收的执行上下文组件的执行。一个实施例中,执行的继续可组合在执行上下文的至少一部分的其他执行的一个或多个其他结果中。
通信网络105可具有到一个或多个执行上下文117a-117n的连接,其可物理地彼此处于远距离位置,但是可由用户设备101a通过通信网络105来访问。每个用户可具有基于用户需求的一个或多个执行集117a-117n。一个实施例中,分布计算构建器201为每个用户生成执行上下文的计算闭包。生成的计算闭包通过计算闭包管理架构103存储在用户特定计算空间111a-111i中。计算空间111a-111i在计算闭包管理架构103的监控下管理和维护。
根据一个实施例,计算空间S定义为包含唯一名称n、计算的图I(通常,指的是计算空间的内容,名义上符合例如资源描述框架(RDF)语义)、和在该计算上的重写规则集ρ的3元组:
S→(n,I,ρ)
作为速记标志,Sn用于表示计算空间名称,而类似地In和ρn分别表示计算内容和计算空间n的规则。假设,每个计算空间具有唯一名称并且存在一组已知计算空间。
一个实施例中,可使用例如语义网标准(例如资源描述框架(RDF))、RDF方案(RDFS)、OWL(网络实体语言)、FOAF(朋友的朋友实体)、RuleML(规则标记语言)中的规则集等来表示计算空间。
假设存在插入或从计算空间移除计算的操作。这些操作的基础形式定义如下:
insert(n,g)→(n,I∪g,ρ)(A)
femove(n,g)→(n,I-g,ρ)(B)
其中g是计算的图。
Sn的推导闭包定义为Δn,其中Δ是推导闭包机制。在集理论中,对象集O被认为展示闭包或在给定操作R下闭合,假设对于每个对象x,如果x是O的成员并且x对任意对象y是R相关,然后y是O的成员。
经由查询q做出计算空间的查询,并且返回的结果是在符合q的推导比下空间计算图I的子图。在计算空间上的所有查询实际在推导闭包Δ上而并非在基础计算内容I。在计算空间n上的查询q返回符合q的子图。
query(n,q)→Δn|=q
可在一起构成给定操作,以形成例如“更新”的更复杂操作。计算空间中计算的更新可表示为移除和插入的组合。然而,如果插入的子图和移除的子图的交集不为空,应用插入和移除的顺序将影响操作结果。例如,给定包含单元素{a}的图,插入图{b}和然后立即移除图{b}的操作作为原子操作得到图{a},其中如果将插入和移除的顺序反向,则获得图{a b}。因此,如下定义的更新操作返回有效结果,只要插入的和删除的子图的交集为空:
如图1所示,每个用户具有一个或多个计算空间111a-111i,其存储从执行上下文117a-117n由计算闭包管理架构103通过用分布计算构建器201进行本地或全局推理而推导出的计算。
一个实施例中,分割模块205管理和进行将用户的当前计算空间分成和重配置成更小计算空间的处理。这个处理可按各种方式执行,例如移除所有计算和建立多个个体的更小或甚至空的计算空间或做出当前计算空间的完整副本。合并模块203管理和进行将个体计算空间绑定在一起以建立更大计算空间的处理。计算的这些个体主体可按他们的内容重叠。用户设备可同时与许多离散计算空间交互。这个情况下,给定计算空间可用的总计算是在计算的所有个体主体上计算闭包的联合。投影模块207管理和进行将计算空间投影和分区的处理,这类似于分割,区别在于他跟踪投影的计算空间。添加模块209管理和进行向其原始计算空间返回投影计算空间的内容的处理。
一个实施例中,在存储器211中存储元数据(关于其他数据的数据),例如描述计算空间的数据、用户的查询等。计算闭包管理架构103使用这个数据,用于处理计算空间。
图3是根据一个实施例的提供分布计算的操纵的操作的处理的流程图。一个实施例中,计算闭包管理架构103执行处理300,并实现在例如包括图20所示的处理器和存储器的芯片集中。在步骤301,计算闭包管理架构103接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求。该请求可由分布计算构建器201响应于来自UE 107a-107n的对于要执行的一个或多个用户执行上下文117a-117n的请求来内部生成。如图2所述,分布计算构建器201可拆解所述执行并定义对于每个用户执行上下文117a-117m的执行所需的计算闭包。一个实施例中,代替生成计算闭包,分布计算构建器201可参考一个或多个计算空间111a-111i并提取先前生成的计算闭包,并使用他们实施用户执行。为了分布计算构建器201能够操纵计算空间并为执行上下文提取一个或多个适当计算闭包,需要定义计算空间上的操纵。例如分割、合并、投影和添加的操作操纵着表示计算闭包的RDF图。在接收来自分布计算构建器201的用于一个或多个操作的请求时,在步骤303,计算闭包管理架构103检索需要在上面执行操作的计算空间111a-111i。在步骤305,计算闭包管理架构103通过激活与所请求的操作相关的模块分割205、合并203、投影207或添加209之一来启动所请求的操作。操作结果可存储在存储器211、计算空间111a-111i或其组合。
图4A-4B是根据一个实施例的在设备之间循环的计算闭包的视图。一个实施例中,在图4A,后台环境401可以是在用户的智能空间113a-113n中或在用户相关的一个UE 107上的虚拟运行时环境。后台环境401可包括一个或多个后台设备403和一个或多个应用编程接口(API),例如便利API 407,其可包括针对使用的软件开发环境(例如JAVA、PHP等)制作的API。每个API能够在后台环境401中的设备和组件之间交互。例如,后台API 409能够在后台设备403和代理5之间交互,并且便利API 407能够在后台设备403和作为代理的代理3和代理4之间交互,其中每个代理是处理后台环境401中的计算闭包的处理集。在图4的实例中可见,代理3在PHP下工作,而代理4是JAVA处理。UE 107a和107b的每个具有作为计算空间111的一部分的计算闭包环境413a和413b。箭头415a-415e代表在环境413a、413b和计算闭包库413c之间计算闭包的分布。计算闭包库413c是计算闭包的存储库,可由具有到后台环境401的连接的所有UE访问和使用。
一个实施例中,后台设备403可配备有闭包循环和排列组件411,其监视和管理对计算闭包库413的任何访问。其他实施例中,闭包循环和排列(即为了统一使用的标准化)可以是计算闭包管理架构103的功能。
一个实施例中,在环境413a、413b和计算闭包库413c中的计算闭包可基于匿名功能对象来构成,以及可通过编译系统使用生成例如拉姆达(lambda)表达式的匿名函数对象的方法自动建立。
图4B是如图4A介绍的计算闭包环境413的放大图。计算闭包环境413可包括一个或多个计算闭包生成组件。一个实施例中,计算闭包环境413具有为UE 107的用户提供各个服务的服务架构423。服务可包括可在UE 107上执行的任意应用,例如游戏、音乐、文本消息、语音呼叫等。一个实施例中,服务架构423在如图1讨论的计算闭包管理架构103的监管下为基于闭包的粒度反映处理提供支持。代理1从计算闭包库421提取服务架构423所需的计算闭包,并由服务架构423将新生成的计算闭包存储在计算闭包库421中用于循环目的,如箭头441。
另一实施例中,计算闭包环境413具有开发者体验模块427,为开发者提供用于操纵UE 107提供的服务的各种工具。工具可包括标准化的和/或抽象的数据类型和服务,允许开发者将处理跨开发平台而串连起来。一个实施例中,开发者体验模块427在如图1讨论的计算闭包管理架构103的监控下为抽象数据类型和服务提供交叉平台支持。代理2从计算闭包库421提取开发者体验模块427所需的计算闭包,并由开发者体验模块427将新生成的计算闭包存储在计算闭包库421中用于循环目的,如箭头443。
另一实施例中,计算闭包环境413具有可扩展计算模块431,为执行上下文117提供抽象封包(即单封包)。这个抽象提供了执行上下文117和UE 107之间的计算兼容性。抽象封包可为执行上下文117相关的各个处理提供调度、存储器管理、系统调用和其他服务。这些服务在如图1讨论的计算闭包管理架构103的监控下提供。代理3从计算闭包库421提取可扩展计算模块431所需的计算闭包,并由可扩展计算模块431将新生成的计算闭包存储在计算闭包库421中用于循环目的,如箭头445。一个实施例中,后台环境401可访问计算闭包库421并在计算闭包库421和后台计算闭包库413c之间交换一个或多个计算机闭包447。
图5是根据一个实施例的构建分布计算的处理的流程图。一个实施例中,分布计算构建器201执行处理500,并实现在例如包括图20所示的处理器和存储器的芯片集中。
一个实施例中,如步骤501,分布计算构建器201识别用户上下文。这里的用户上下文指的是用户在一个或多个UE 107上进行的动作的类型。用户上下文可以是收听音乐、讲电话、文本消息、玩游戏、用应用工作等。在步骤503,分布计算构建器201确定与用户上下文相关的执行和处理的集合。依据用户上下文的类型,可实施各个处理和执行。例如,玩游戏可包括例如音频/视觉呈现、搜索等的处理。在步骤505,分布计算构建器201将执行上下文拆分成可独立执行的更小处理,并且他们的组合可重建原始执行上下文。分布计算构建器201接收拆解后的处理,并生成每个处理的计算闭包等同物。每个闭包是可与其他闭包单独执行的单机处理。在计算闭包的定义之后,分布计算构建器201根据信息语义格式将闭包序列化。通过实例,序列化处理可包括例如输入、输出、参数交换、为了处理的适当执行所需的硬件需求的因素的识别。所述因素可链接、附加、或分配给闭包,以进一步用于执行。序列化的闭包准备用于向期望的运行时环境迁移。一个实施例中,序列化处理也可建立表示计算闭包的图结构(例如RDF图)。
注意,处理500的步骤可通过位于分布计算构建器201内部,或位于分布计算构建器201外部并且具有到分布计算构建器201的连接(经由通信网络105或经由计算闭包管理架构103或其组合)的组件或模块来执行。
图6A-6C是根据各个实施例的计算分布的视图。图6A示出作为原始闭包的组合的处理。处理600包括闭包原体601a-601d。闭包原体601a-601d通过组合器603a-603d彼此组合在处理600中。对象605代表执行需求,其包括由603a-603d组合的闭包601a-601d的执行得到处理600的处理状态。
图6B示出处理600的拆解。在拆解期间,闭包601a-601d、组合器603a-603d(仅示出603a)和处理状态605作为独立组件迁移至例如处理600相关的智能空间113中包含的虚拟运行时环境607。来自运行时环境607的独立闭包601a-601d可分布在可执行他们的不同运行时环境609、611和613中。在图6B可见,闭包601d和处理状态605已经被分布至运行时环境609,闭包601c已经被分布至处理状615已经存在的运行时环境611。在处理状态615下环境611中的闭包601c的执行可导致精确的结果,只要处理状态615包括处理状态605。关于处理状态615是否可看作处理状态605的等同物的验证通过分布计算构建器201或分布计算构建器201相关的组件(未示出)来确定。此外,闭包601b已经被分布至处理状态不存在的运行时环境613。类似地,这个情况下,分布计算构建器201或分布计算构建器201相关的组件可检查和验证正确的闭包分布。
注意,计算闭包的单机属性示出了闭包是可传递的,意味着来自闭包的一个或多个处理的执行结果也是闭包的成员。
图6C示出将图6C中分布的独立闭包会聚在处理600的结果600r。在图6C可见,在虚拟运行时环境609中,闭包601d与处理状态605组合,并生成结果闭包601dr。类似地,在虚拟运行时环境611中,闭包601c与处理状态615组合,并生成结果闭包601cr。在环境613中,闭包601b可利用该环境中的现有处理状态来变形,并且结果为闭包601br。闭包601a(来自图6B)已经在运行时环境607中与处理状态605组合,并生成了结果601ar。得到的闭包发送回运行时环境607,其中分布计算构建器201或分布计算构建器201相关的组件(未示出)将所有得到的闭包会聚在处理600r中,以重建处理600的等同物。得到的处理600r可通过另一UE或通过与初始UE的用户相关的任意其他处理器(其中启动处理600)经过智能空间113来执行。
图7是根据一个实施例的用户设备集的视图。在图7可见,用户设备集101a包括UE 107a和107b以及另一设备700(这可以不是用户设备,但为用户的智能空间113a的一部分)。设备700可以是例如服务器环境的一部分。用户可拥有在设备107a、107b和700之间分布的智能空间集113a。智能空间集113a包括UE 107a中的语义信息代理(SIB)、设备700中的SIB 707和UE 107b中的SIB 713。此外,集113a中的每个智能空间具有UE 107a中的知识处理器(KP)705和UE 107b中的KP 711。此外,信息空间可利用在信息空间中包含的设备的存储组件703、709和715。信息空间集115a-115j的SIB可彼此通信(如虚线所示)。假设UE 107a和107b位于彼此密切邻近(例如在办公室内),用户可期望将UE之一上启动的处理发送至另一方。例如,用户可在UE 107a上开始播放在线视频,并意识到UE 107a不具有下载和播放视频的足够处理能力或存储空间。用户可抓取UE 107a的UI上表示视频的元素并将其推向UE 107b。用户手势可在计算闭包管理架构103的监管下激活从UE 107a向UE 107b的迁移处理,结果,在UE 107b上下载和播放该视频,同时用户能够为了其他目的而利用UE 107a(例如,发出电话呼叫、文本消息等)。在计算闭包管理架构103的监管下,由分布计算构建器201执行子处理的拆解和会聚,以及由KP 711执行迁移的处理的执行。在完成执行之后,计算闭包管理架构103可将UE 107a的上下文更新为好像由UE 107a播放该视频的状态。此外,UE 107b的上下文可被重设为处理迁移之前的状态,意味着可继续为了迁移的处理的执行而停止的处理。
图8是根据一个实施例的处理迁移的视图。典型地,在信息处理生命周期期间,由信息空间115a的SIB 701存储基于子图用RDF形式表示的一个或多个执行上下文。用户上下文和执行上下文可源自由知识处理器KP809a-809n对应用的程序代码的执行,并存储在SIB 701利用的UE 107a的存储器703中。如果UE 107a的KP 809a-809n检测到UE 107b正在尝试在通信介质上与UE 107a通信,则UE 107a可在通信介质中的通信连接上与UE 107b共享用户和执行上下文,用于UE 107b中KP 811a-811n对应用的继续或增强执行。在UE 107b上处理的完成之后,UE 107a可从SIB701接收指示与UE 107b的(例如固定无线)通信连接关闭的警报。这个情况下,UE 107a可在通信连接上从UE 107b接收更新的用户和执行上下文,从而UE 107a可在KP 809a-809n上继续应用的执行。
注意,通信介质可以是物理的或逻辑的/虚拟的,但是所有可由计算闭包管理架构103作为虚拟运行时环境稿上下文信息来管理(信息处理上下文看作子图形式的快照)。计算闭包管理架构103管理在UE 107b的KP811a-811n上用户和执行上下文以及应用的反映处理执行的共享。计算闭包管理架构103共享并提供关于在UE 107a和UE 107b以及SIB 701和707之间用户和执行上下文的推理。例如,UE 107a可以是移动无线设备,并且UE 107b可以是固定无线设备。
计算闭包管理架构103能够实现用户和执行上下文信息的聚集以及运行时环境的调度。这样能够对于一个或多个用户上下文807和819以及执行上下文(未示出)做出改变。对于用户和执行上下文的改变包括在信息空间集115a的环境中信息的开始、执行、调度、分散、和聚集,和围绕KP 809a-809n和811a-711n或其他KP功能的处理或任务,例如处理调度801和813、存储器管理803和815、系统调用805和817等。
可通过信息空间集115a的选择性循环装置和/或分布来执行RDF子图分散和聚集形式的KP 809a-809n和811a-811n以及他们的相应信息。选择性循环可由闭包循环和排列411执行,其可由作为信息空间环境调度器的一部分的自觉恢复调度器来驱动并由计算环境处理/任务调度器801和813提供的信息来支持。用户上下文807和819以及执行上下文(未示出)可由计算闭包管理架构103动态指派和触发,并根据特定或操作系统任务管理来分配。注意,术语“KP”和SIB中的相关信息(表示为RDF子图集)是抽象的,足以通过计算环境的其他过程化方面(例如更高抽象级别)来呈现。
一个实施例中,在UE 107b从UE 107a接收一个或多个用户上下文807和819以及额外执行上下文、以及在通信介质上接收其他相关信息之后,UE 107b通过KP 811a-811n执行和共享应用的反映状态。在完成处理时,UE 107b可通过对应的KP 811a-811n确定与SIB 707共享的信息。这个确定可导致关于与UE 107a的安全通信链接。在关闭通信连接之前,UE 107b在通信介质上与UE 107a共享一个或多个用户和执行上下文,用于由UE107a中的KP 809a-809n继续应用的执行。由计算闭包管理架构103管理在UE 107a上用户和执行上下文以及应用的执行的共享。这样的虚拟运行时环境能够在UE 107a和UE 107b之间共享用户和执行上下文会话。
在另一实施例中,在通信连接的关闭之前,UE 107b可在初始通信连接上与UE 107a共享更新的用户和执行上下文的初始部分,以及在最终通信连接上与UE 107a共享更新的用户和执行上下文的剩余部分,用于在UE 107a上继续应用的执行。所述改编的计算平台使得粒度信息处理计算设备的上下文迁移能力,增强信息空间环境中设备的处理能力。
图9是根据一个实施例的从一个设备向另一设备的处理迁移的视图。在一个实施例中,后台设备901可以是用户的智能空间113a-113n中或与用户相关的一个UE 107上的虚拟运行时环境。后台设备901可包括用于与后台设备901连接的每个用户设备107a-107i的用户上下文903。用户上下文903可以是正在设备之间迁移的对每个设备107a的用户上下文921的副本。代理1和代理2是计算和处理用户上下文903中的计算闭包的处理器。在不同设备中,代理的数目可基于他们的设计、功能、处理能力等而不同。框905代表Object,作为一组计算闭包,closure_1、closure_2、...、和closure_n,其中每个闭包是更大处理的组建,例如,涉及由用户设备107a向用户提供的服务。闭包可由分布计算构建器201的组件生成,并且每个闭包为可独立于其他闭包被执行的单机处理。在图9的实例中,过滤处理907从闭包集Object经过过滤该集(框909所示)来提取closure_1。使用实例性Put命令911将提取的closure_1累加至计算闭包存储库913。
这个实例中,假设closure_1在用户设备107a上执行,用户设备107a使用例如Get命令915从计算闭包存储库913提取closure_1。
另一实施例中,可由用户通过将一个用户设备上的处理相关的图形用户接口元素(例如代表性图标)向另一用户设备(例如107a)推进或轻击来做出关于执行计算闭包的设备的决定。此外或备选地,可自动派发执行计算闭包的设备。提取的closure_1投影至具有用户设备上下文(处理状态)的闭包,并且生成object 617。框619代表由分布计算构建器201在初始上下文中重建闭包。然后,可由代理3在运行时环境921或UE 107b中执行重建的上下文。
另一实施例中,框901可以是用户设备和框107a,后台设备或框901和107a两者可以是UE。这个实施例中,拆解和会聚处理类似于以上实例,不同在于closure_1是从UE 901上的处理提取。
图10是根据一个实施例的提供分布计算的系统的层之间的排列的视图。图10的系统包括例如用户体验层1001的主层、中间件层1003、基础层1005和硬件层1009。用户体验层1001是系统的对于用户的有形层。这个层可包括UE 107a-107n,其中每个UE可包括服务架构1011a-1011n。服务架构包括UE向用户提供的服务,例如语音、数据、音频、视频、和与提供的服务相关的参数和设置。
虚线1021将用户环境从用户不可见的系统环境分离。中间件层1003可包括操作系统(例如等)中间件1013和开发者体验1015。操作系统中间件1013可包括例如从硬件和操作系统的使用模型分离的应用编程接口(API)的组件、例如操作系统的本地工具包或应用工具包的各个工具包、额外操作系统机器等。开发者体验1015包括由开发者生成并安装在操作系统顶部用于针对UE 107a-107n的特定需求而修改系统服务的程序和脚本。基础层1005包括操作系统基础1017,其可包括操作系统的内核和核心。操作系统基础1017经由硬件适配软件1007与硬件层1009通信。硬件适配软件1007将操作系统1017和硬件设备硬件1相关的机器代码之间传送的消息和命令解释成硬件m。同样,可利用额外可扩展执行组件1019,以扩展操作系统基础1017与硬件适配软件1007的功能。可扩展执行1019提供操作系统基础1017和硬件适配软件1007之间的兼容。与计算分布相关的功能可结合在图10的系统的各个组件中,例如开发者体验1015、服务架构1011a-1011n等。
图11A是根据一个实施例的在计算空间上应用分割操作的处理的流程图。计算空间111a-111i(这里称为n)可在推导的闭包Δn和规则ρn上根据一些分区标准来分割或分区成两个计算空间。对于分区的计算空间a,定义分区函数φ,从而规则集和a的计算内容能够确保满足分区的推导闭包;其优化是找到保存推导闭包的计算和规则的最小集。因此,分割定义如下,其中n是现有计算空间,并且a是新计算空间。
其中
Δa=Δ(φa(In),φa(ρn))
如图11的步骤1101,分割模块205接收从现有计算空间提取新计算空间的请求,其中通过子图表示新计算空间。在步骤1103,图2的分割模块205检索由图表示的现有计算空间。为了说明的目的,关于将计算分区成两个计算空间来说明分割操作,其中一个计算空间是从原始计算空间提取,另一个原始计算空间保持不变。然而,可容易地扩展该处理,以表示将计算空间分割成多个计算空间。根据步骤1105,从原始图建立新计算空间的新子图,以及在步骤1107,使用新图建立新计算空间。
注意,这些处理的步骤可按任意顺序执行,以及按不同方式组合或分离。
图11B是根据一个实施例的在计算空间上应用合并操作的处理的流程图。根据一个实施例,在图11B中描述了涉及图2的合并模块203的合并操作的处理。给定两个现有计算空间a和n,在纯单调环境下合并操作返回将a与n合并以及不变的n的计算空间,从而在计算空间a和n中包含的计算集(图和规则集)一起关联在a中:
逻辑隐含的单调性是许多逻辑系统的属性,并且他阐述了可用额外假定自由扩展任意导出事实的假设。具有这个属性的逻辑中的任何真语句继续为真,甚至在增加新原理之后。具有这个属性的逻辑可称为单调性。逻辑规则集ρa和ρn的单调性能够将两个规则集简单统一,为新合并的计算空间提供适当的规则集。这意味着,对理论增加准则不会生成其结果集的简化。直观地,单调性指示了得知新的知识不能简化已知的集。
合并的操作不必在合并至a之后移除计算空间n,然而,这个特征可作为如下操作的附加来建立:
mergeD(a,n)→{(a,Ia∪In,ρa∪ρn)}
然而,对于合并操作,当信息图中的两个特定节点具有不同URI同时表示相同信息元素并因此需要以计算的信息级别统一两个图的机制时,出现问题。关于信息图的图起源问题是开放性问题,并且已经建议了对其的各个解决方案。例如,L.Ding等在2005年的第四次国际语义网站会议(Fourth International Semantic Web Conference)的会议记录中的“Tracking rdf graph provenance using rdf molecules”;以及L.Moreau等在2007年的南安普顿大学技术报告的“The open provenance model”;以及L.Moreau等编辑人在2006年5月的LNCS 4145、Springer Verlag 2006的国际起源和注释讨论会(IPAW:International Provenance andAnnotation Workshop)的“Provenance and Annotation of Data”(这里将他们整体通过引用合并于此)提供了这样机制的基础,其中定义了一般性操作γ,其表示所有绑定的机制。单调性逻辑无法处理各个推理任务,例如默认推理(其中仅因为缺少相反的证据而导出结论)、追溯推理(其中作为最可能的说明来推导结论)和关于知识推理的一些重要方法(当结论变为已知时结论的忽视必需被移除)以及类似地信仰的修改(新知识可能否定旧信仰)。因此,特定计算空间的逻辑规则集不限于单调逻辑,并且可使用非单调系统。当规则集ρa和ρn的逻辑为非单调时,这可导致其他问题,意味着他们的结论不是单调的;因此,规则对可能在统一之后冲突。对于规则冲突的解决方案的各个机制是已知的,例如,在P.H.Winston题为“Artificial Intelligence”的Addison Wesley Longman Publishing Co.Inc.2004的书中(将其整体通过引用合并于此)。这里,定义一般性函数δ,其表示冲突解决方案机制。
考虑分别用于解决起源和单调性问题的两个函数γ和δ,呈现用于合并操作的新定义:
在这个和其他操作下,给定两个计算空间a和b,满足以下:
然而,因为规则集的非单调,在推导闭包下这不必为真。因此,以下公式不是始终为真:
图11B的流程图示出由图2的合并模块203进行的合并处理。在图11B可见,在步骤1121,接收将第一现有计算空间合并在第二现有计算空间中的请求。在步骤1123,通过合并模块203检索需要合并的两个计算空间。为了说明的目的,关于将第二计算空间联合至第一计算空间中并保留第二计算空间来说明合并操作;然而,该处理可容易地扩展以表示将多个计算空间联合至一个计算空间。在步骤1125,合并模块203将两个计算空间的图统一在第一图中,并为合并的计算空间建立新图。在步骤1127,合并模块203对于要移除的相同节点对新图应用起源操作(γ)和冲突解决函数(δ),并建立新规则集。在步骤1129,合并模块203使用新图和新规则集来修改第一计算空间。
注意,这些处理的步骤可按任意顺序执行,以及按不同方式组合或分离。
如上所述,计算空间的建立框之一是名义上符合例如资源描述框架(RDF)语义的计算的图。可基于表示这些图的实体在RDF图中具有更大粒度化的结构。实体是域中概念集的形式表示以及这些概念之间的关系。他用于关于该域的属性推理,并可用于定义域。在理论上,实体是“共享的概念化的形式、显式的规范”。实体提供了共享词汇,其可用于将域(即,存在的对象的类型和/或概念,和他们的属性和关系)模型化。
RDF图可组合在统一图中以及拆解成他们的组成子图。然而,为了避免信息丢失,在处理期间在图节点之间的逻辑关系需要保留,或者所述节点需要功能性接地。空白节点(BNode)的存在使RDF图拆解复杂,因为BNode不带有通用的唯一标识符。BNode是并非URI引用或字面的节点。在RDF抽象语义中,BNode仅是可在一个或多个RDF语义下可用的唯一节点,但是不具有本质名称。默认假设来自不同RDF图的BNode不同;然而,没有办法识别两个BNode代表相同还是不同事务。一些BNode可功能性地接地,假设背景实体阐述了一些属性是网站实体语言OWL逆功能属性(IFP)或OWL功能属性(FP)的实例。在RDF节点上建立三层的分类分区的定义可被扩展;这是Ding等“Tracking RDF GraphProvenance using RDF Molecules”(2005年的第四次国际语义网站会议的会议记录的技术报告2005)中完全描述,将其整体通过引用合并于此。
Ding等根据一些实体论定义了RDF图的分子的概念,而命名的图定义为图的特定区域。类似于自然情形下的分子,RDF图的分子是最细化的分量,可将图没有信息损失地分界成上述分子。分子在建立时不是固定的;相反,他们是给定RDF图的拆解结果。如果RDF图没有BNode,则每个三元组构成分子;否则,三元组根据实体论和拆解算法分组成分子。对于计算闭包管理的所述方法考虑用于RDF图的分子结构。
由Ding等定义的RDF图拆解包括三个元素(W,d,m)、背景实体W、拆解操作d(G,W)(其使用W将RDF图G分成子图集和合并操作(其使用W将中的所有元素组合在统一RDF图G’中)。此外,拆解应该是无损失的,从而对于任意RDF图,G:G=m(d(G,W),W)。当中的元素是解体的时,称为G的分区。
在推导闭包Δ和实体集W下假定图,可按Ding等的方式构建拆解以作为由图包含排序的分子的格。这表示为:
表示空分子或完整图的顶部或底部元素均不必存在;但是如果指定的实体集覆盖图则后者存在。
假定图和分区函数φ,可将图分成两个部分:子图S,其满足φ;和S的补充,指示为C。然而,在表示作为两个子图的部分的RDF三元组的图中将存在个体节点。在两个子图的交集中的这些节点认为是边界节点。
图12是根据一个实施例的定义计算空间的边界的处理的流程图。通过计算闭包管理架构103来进行边界定义的处理。在图12的步骤1201-1205中,作为计算闭包管理架构103的边界确定功能的输入来接收计算空间、分区函数、和推导闭包机制。在步骤1207,边界确定函数确定了计算空间的推导闭包。在步骤1209,对于推导闭包应用分区函数,并作为结果建立第一图。在步骤1211,从步骤1207确定的推导闭包移除步骤1209的结果图,并作为结果建立第二图。接着,步骤1213从在步骤1209和1211得到的第一图和第二图检索节点。步骤1213的执行结果分别为上述公式(1)的右侧的第一行和第二行。在步骤1215,通过联合所检索的两个节点集生成对于输入计算空间的边界节点集。
分割和投影计算空间的处理通常使用更多语义上“完整的”结构,即分子,并非三元组。这最小化了在节点之间圆弧的任意拆分引起的图的“边缘”处的信息损失。
对于每个边界节点,可选择包含该边界节点的的分子。通常,这通过一些启发式指导,但是可过滤分子的格以促成特定子格;例如,对于某个大小的分子的最低边界。这个边界可按两个方式使用,首先他可用于建立历史;其次,用于扩展通过分区函数φ生成的集。例如,可将分割操作的定义扩展如下:
其中B是根据一些启发式对于该分割的需求而计算的边界集。
一个实施例中,介绍了存储计算空间的历史或行为的“记忆”和这可如何用来扩展作为请求的答案返回的计算的概念。当分割或投影计算空间时,可记录关于新建立的计算空间如何涉及原始计算空间的信息。在作为姓名索引的历史集的计算空间的定义中这需要额外的元素。包括历史集H的计算空间的扩展定义如下:
S→(n,I, ρ,P,H)
当分割或投影计算空间时,使用公式(1)计算边界,并随后将边界信息存储在分割的计算空间的历史中:
其中B是边界集,βa和βn类似于B,具有不同的启发式,其被修改为关于历史保存所必要的信息。
图13A是根据一个实施例的考虑边界和历史信息在计算空间上应用分割操作的处理的流程图。关于以上公式(2)说明图13A的流程步骤。在步骤1301,分割模块205接收将计算空间n分割成计算空间a的请求。在步骤1303,分割模块205检索需要分割而提取的初始计算空间n。在步骤1305,由分割模块205检索分区函数φ和启发式。在步骤1307,分割模块205检索推导闭包机制。步骤1309包括如图8详述对于计算空间n的边界确定的处理。在步骤1311,分割模块205使用分区函数和在先前步骤作为φ(In)∪B计算的边界来确定新计算空间a.的内容。在步骤1313,分割模块205通过在计算空间n的规则集ρn上应用分区函数φ来计算对于计算空间a的规则集。在步骤1315,由于a.是分割操作建立的新计算空间,则从a投影的计算空间的名称列表不相关于操作并被设置为空集在步骤1317,分割模块205为计算空间a.定义历史保存边界集βa,在步骤1319,分割模块205在表达式Hn∪βn中将边界集βa与初始计算空间n的历史相加。至此,导出用于建立新计算空间a.所需的所有元素。因此,在步骤1321,分割模块205使用导出的元素作为计算空间n的分区来建立新计算空间a.。
在该合并操作下,可利用历史信息增强计算空间的核心信息内容I,因此为统一函数γ提供额外信息:
这个操作的另一变形可以是对于合并的计算空间重新计算a.和n之间的新边界。
图13B是根据一个实施例的考虑边界和历史信息在计算空间上应用合并操作的处理的流程图。关于以上公式(3)说明图13B的流程步骤。在步骤1341,由合并模块203接收合并计算空间a.和n的请求。在步骤1343,合并模块203检索需要合并的两个现有计算空间a.和n。在步骤1345,合并模块检索统一函数γ,并且在步骤1347,合并模块203检索冲突解决函数δ。在步骤1349,合并模块203关于两个计算空间的信息内容应用统一函数,并且建立统一的内容。然而,合并的计算空间的内容不完整,直到每个初始计算空间具有关于其他人的历史合并在信息内容中。因此,在公式(3)中的表达式Ia∪In∪Ha[n]∪Hn[a]所示的图13B的步骤1349中,关于其他人的每个计算空间的历史与信息内容统一。在步骤1351,合并模块203通过对两个初始计算空间的规则集应用冲突解决函数来建立新规则集。这通过公式(3)中的表达式δ(ρa,ρn)来应用。冲突可源自两个初始计算空间可包括对于相同查询能够导致矛盾的结果的规则的事实。例如,一个计算空间可具有规则“如果A为真则B为真”,而另一计算空间可包括规则表述“如果A为真则B为假”。在合并了两个计算空间之后,这些规则的存在可导致查询结果的冲突。函数δ的应用解决了规则的矛盾。在步骤1353,合并模块203通过从第一计算空间的历史移除关于第二计算空间的第一计算空间的历史来建立用于合并的计算空间的新历史,如公式(3)的表达式Hn-{Hn[a]}所示。因此,在合并操作之后,通过新生成的合并计算空间来替换初始计算空间a.,因此关于旧a.的历史不再需要保留。至此,导出了用于建立新计算空间a.所需的所有元素。在步骤1355,合并模块203作为合并的结果向第一计算空间(计算空间a.)分配例如信息内容、规则和历史的所建立元素。注意,表示从a(Pa)分区的计算空间的名称的列表保持不变。此外,计算空间n将也保持不变。
图14A-14B分别是根据一个实施例的在计算空间上应用投影操作的处理的流程图和视图。一个实施例中,描述涉及图2的投影模块207的投影处理。投影的处理类似于分割的处理,区别在于,在投影中,系统使用例如P的增加至计算空间的定义的额外参数跟踪投影的计算空间,其中P是投影的计算空间的名称的列表。因此,计算空间的定义修改如下:
S→(n,I,ρ,P)
为了从计算空间n进行投影,使用投影的计算空间(例如p)的名称和分区函数(例如类似于关于分割操作所述的函数)。因此,类似于分割地定义投影,其中n是现有计算空间和是新计算空间:
其中
Δp=Δ(φ(In),φ(ρn)) (5)
在公式(4)可见,新建立的计算空间p没有投影历史,因此其投影的计算空间的名称的列表为空集然而,通过建立每个投影p,将新建立的计算空间p增加至原始计算空间n的投影计算空间的名称的列表P,在公式(4)中显示为P∪{p}。同样在公式(5)可见,通过在原始计算空间n的内容I和规则集ρ上应用分区函数φ来建立新计算空间p的推导闭包。
在图14A可见,在步骤1401,投影模块207接收从现有计算空间提取新计算空间的请求,其中由子图来表示新计算空间。在步骤1403,投影模块207检索由图表示的计算空间。为了说明的目的,关于将信息分成两个计算空间来说明投影操作,其中一个计算空间提取自原始计算空间,而原始计算空间保持不变。然而,可将处理容易地扩展,以表示将计算空间分割成多个计算空间。在步骤1405,从原始图建立新计算空间的新子图,并且在步骤1407,使用新图建立新计算空间。最后,在步骤1409,将新建立的计算空间的名称增加至从现有计算空间投影的计算空间的列表。一个实施例中,将投影的计算空间的列表记录为以下关于图14B所述的投影函数的参数(P)。
另一实施例中,投影模块207使用投影的计算空间的列表,保持在投影的计算空间和从中被投影的计算空间之间的链接。这个链接例如能够将信息从投影的计算空间向原始计算空间返回(例如使用关于图16A所述的添加操作)。某些实施例中,可递归地投影内容(例如然后将来自投影内容的内容投影至另一投影内容,以此类推)。因此,也可通过结合来自每个随后投影的计算空间的改变来递归地发生内容的返回。可理解,可按照投影内容的顺序或按照任意其他顺序发生从这样递归投影的计算空间返回内容。如果按任意顺序执行内容的返回,可基于例如改变的日期和时间或任意其他标准(例如做出改变的人或实体、向改变分配的优先级等)来协调对投影内容的改变。尽管关于投影空间的列表在这里描述了链接,但是可理解,此外或备选地,所述链接可使用涉及或关联两个计算空间的任意机制(例如历史参数、另一计算空间以指定链接等)。注意,这些处理的步骤可按任意顺序执行,以及按不退方式组合或分离。
在图14B可看出,投影的特征为可形成投影计算空间的树,因此不可能循环。在图14B,I和P1是分别具有推导闭包Δ(I)和Δ(P1)的两个计算空间的内容;并且φ1、φ2和φ3为投影函数。根据公式(4),在信息内容I上应用函数φ1和φ2导致新信息内容P1和P2的建立,其中P1是φ1(In),P2是φ2(In)。根据公式(4),在新建立的信息内容和规则集上应用推导闭包机制Δ将为新建立的计算空间建立推导闭包Δ(P1)和Δ(P2)。(在图14B的视图中没有显示规则集)。此外,第三投影函数φ3应用于计算空间P1-这通过投影本身来建立-并且建立具有推导闭包Δ(P3)的新计算空间P3,这是从原始计算空间n的第二级投影。在图14B和公式(4)可见,来自单计算空间的多级投影和多个投影是可能的,而在每个步骤中,应用投影的基础计算空间保持不变,并且在计算空间(P)是第四参数中保留投影计算空间的列表。
分区函数φ是基于系统架构中的网络管理、信息提供商、计算空间所有者、和/或安全和私有标准(例如预定标准)而运算的预定函数。
通过将第四函数与计算空间的定义相加以用于投影操作,通过将第四参数与涉及的计算空间相加来修改先前描述(例如关于分割操作)的计算空间上的操作。例如,现在公式(A)的插入操作为:
insert(n,g)→(n,I∪g,ρ,P)
投影操作向插入操作提供新特征:
insert(n,g)→(n,I∪g,ρ,insert(P,g))
这意味着在投影计算空间上操作插入的应用将在投影计算空间的敏感闭包上传播。换句话说,投影模块206可在投影之后向投影计算空间的内容中传播涉及投影计算空间的原始计算空间的内容的任意修改。类似地,这个特征应用于例如消除和更新的其他操作。图15是根据一个实施例的使用等式在计算空间上应用投影操作的处理的流程图。一个实施例中,图15的处理在投影模块207中实现,并关于以上公式(4)来说明。在步骤1501,投影模块207接收从现有计算空间n向计算空间p投影的请求。在步骤1503,投影模块207检索要投影的初始计算空间n。在步骤1505,投影模块检索分区函数φ。通过实例,分区函数先前由网络管理员、内容所有者等定义。类似地,在步骤1507,检索推导闭包机制Δ,这同样由网络管理员、内容所有者等定义。在步骤1509,投影模块207通过在初始计算空间的信息内容上作为φ(In)应用分区函数来计算新计算空间p的内容。在步骤1511,投影模块207通过在计算空间n的规则集ρn上应用分区函数φ和推导闭包机制Δ来确定对于计算空间p的规则集。因为p是新计算空间并且不具有从他投影的任何其他计算空间,在步骤1513,将从p的投影计算空间的名称的列表设置为空集至此,导出用于建立新计算空间p所需的所有元素。因此,在步骤1515,投影模块207使用导出的元素建立新计算空间p作为计算空间n的投影。在步骤1517,将新建立的计算空间p的名称或其他标识符增加至从计算空间n投影的计算空间的名称的列表。这通过公式(4)中的表达式P∪{p}来表示。例如,将新计算空间p的名称增加至从n投影的空间的列表保持在能够改变空间p的两个空间之间的链接以向回添加至空间n,如果内容所有者需要。
注意,执行更新从现有计算空间向投影的新计算空间的传播,从而如果必要,向新投影的空间中反映在现有空间中信息的任意增加、删除或修改。
图16A-16B分别是根据一个实施例的在计算空间上应用添加操作的处理的流程图和视图。该添加处理涉及图2的添加模块209。各个情形下,必需向从中投影的原始计算空间n返回(或添加)投影的计算空间i的内容。然而,由于投影发生并且可能具有不同内容,所以更新了投影计算空间。因此,需要过滤器φ以移除不需要向原始计算空间返回添加的任意插入的内容。由过滤器移除的内容可包括例如向并非原始功能的一部分的投影计算空间增加的功能。该添加还包括从投影计算空间进一步投影的任意计算空间上的内容合并。注意,对于要应用的添加操作,必需存在两个计算空间i和n:
在以上公式(6)可见,如果计算空间i不存在于来自计算空间n的投影计算空间的列表P中,则添加操作将失败。这是因为没从计算空间n投影的计算空间无法添加至n。然而,如果i已经属于来自n的投影的列表,并且不存在从i投影的其他计算空间,则将i的内容组合在n的内容中并将空间i的名称从n的投影列表移除。在存在从i投影的其他计算空间的情况下(来自i的投影列表不为空),为了将计算空间i添加至计算空间n,在i的投影空间的闭包上递归地将来自i的投影合并或向回添加至i。使用过滤函数φ向i返回添加从空间i投影的计算空间防止将投影之后发生在投影计算空间中的任意不期望更新添加至空间n。
例如,假设内容所有者在家庭计算机上存储较大处理的部分(子处理)。内容所有者可能期望建立从计算的一个或多个部分向笔记本计算机的复制,从而能够继续远离家庭地计算。投影操作可建立仅包括期望部分的新计算空间,同时保持链接以跟踪投影。在一天的结束,内容所有者可能期望向原始计算添加回更新,除了在某些处理上的更新。所述更新可包括例如运行时参数、处理设置等。这个情况下,使用过滤函数的添加操作可确保排除不期望的更新并从笔记本向家庭计算机的原始内容添加剩余更新。
此外,如先前所述,来自投影计算空间的更新信息可按投影顺序或按任意顺序返回至空间i。然后,可返回多个改变或冲突改变,并使用任意规则或标准在空间i解析所述改变。参照以上实例,例如,内容所有者可使用两个单独笔记本计算机,包含相同内容的两个单独投影。内容所有者可设置定义一个笔记本计算机上的更新将如何根据其他笔记本计算机上的改变来处理的规则。例如,规则可陈述当存在冲突或重叠改变时更多最近改变控制。或者,规则可陈述一个笔记本计算机上的改变始终优先于另一笔记本计算机上的改变。
图16A的流程图示出由图2的添加模块209进行的添加处理。在图16A可见,在步骤1601,添加模块209接收将第一现有计算空间添加至第二现有计算空间的请求。在步骤1603,添加模块209检索将一个添加至另一个的两个计算空间。为了说明的目的,关于将已经投影的第二计算空间关联至从中投影的第一计算空间来说明添加操作。然而,可容易地扩展该处理,以表示将多个已经投影的计算空间联合至所有从中投影的空间的一个计算空间。在步骤1605,添加模块209使用过滤函数φ过滤第一计算空间的图,如公式(6)在以上所述,用于在从第二计算空间移除第一计算空间的投影之后做出的不期望修改。在步骤1607,通过添加模块209将第一计算空间的过滤图插入至第二计算空间的图。接着,在步骤1609,添加模块209从由第二计算空间投影的计算空间的列表移除第一计算空间。一个实施例中,第一计算空间从列表的移除破坏了两个计算空间之间的投影关系。结果,在添加操作的完成之后,无法将第一计算空间再添加至第二计算空间中。
一个实施例中,添加处理关于直接从n投影的计算空间i进行。此外,在添加之后,计算空间i和从i投影的任意其他计算空间不再通过计算空间n可寻址,并且将从n的角度看作不存在。因此,如先前所述,还暗示了一旦将计算空间添加至另一计算空间,则他无法第二次被添加。
在图16B可看出,I和P1分别是具有推导闭包Δ(I)和Δ(P1)的两个计算空间的内容;并且φ1是投影函数。根据公式(4),在信息内容I上应用函数φ1导致新信息内容P1的建立,其中P1是φ1(In)。根据公式(5),在新建立的内容和规则集上应用推导闭包Δ将建立对于新建立的计算空间的推导闭包Δ(P1)。(在图16B的视图中没示出该规则集)。在应用图16B中的投影(步骤1621)之后,在修改期间(1623),信息内容P1可被修改为P1’。在返回向I添加P1的处理中,可移除关于P1的一些修改。因此,在图16B的步骤1625,对P1’应用过滤器,并且作为结果,将P1’转换成新计算空间P1”,以移除一些修改。一个实施例中,过滤函数基于预定标准。这些标准(例如不兼容内容等)可通过服务提供商、用户、网络运营商、内容所有者等定义。接着,在图16B的步骤(1627),对新计算空间P1”应用公式(6)的添加操作以向I中添加P1”。
图17是根据一个实施例的使用公式在计算空间上应用添加操作的处理的流程图。关于以上公式(6)说明图17的流程图的步骤。在步骤1701,由添加模块209接收向第二计算空间(n)添加第一计算空间(i)的请求。在步骤1701,添加模块209检索两个现有计算空间i和n。如果计算空间i已经先前从计算空间n投影,则可发生添加。然后,添加模块209,在步骤1705,检查这个条件是否满足。如果该条件不满足(公式(6)中i∈Pn),则不应用该操作,并且处理失败。否则,如果该添加满足(公式(6)中),在步骤1707,添加模块209确定是否存在从空间i投影的计算空间。如果由空间i的这样的投影空间不存在,在步骤1713,将计算空间i的内容增加至计算空间n的内容中,并在步骤1715,从由计算空间n的投影空间的列表移除计算空间i的名称。
否则,如果来自i的投影空间存在,则这些投影可向回增加至i,从而在i添加至n之前可向i增加在i从n投影之后对该内容做出的任意期望改变。例如,在先前给出的实例中,对于由用户投影的处理,用户可首先从家庭计算机投影一个处理,然后投影来自该处理的一个子处理,并在子处理上应用修改。当用户决定向家庭计算机添加处理时,添加模块209检查是否再次投影了初始投影的处理,因此在该处理向家庭计算机添加回之前,可向该处理增加在子处理上的修改。在步骤1709,添加模块209检索预定义的过滤函数。在步骤1711,添加模块209在计算空间i及其投影上应用过滤函数。过滤函数的应用将i更新为包括来自从中投影计算空间的任意内容的i的版本。
此外,对于在计算空间i从要移除的n投影之后执行的计算空间i上的任意不期望修改(例如基于预定标准),在计算空间i上应用过滤器φ。例如,用户可希望忽视在处理中一个时间段之后插入的任意插入的参数,但是在该时间之前增加修改。过滤函数φ可在系统架构中预先确定,可基于网络管理规范来定义或由内容所有者来定义。因此,在该处理被自动化时,更新的内容是否添加至原始计算空间的事实看作任意周围架构和逻辑的一部分。在步骤1713,将计算空间i的过滤内容增加至计算空间n的内容中。最后,在步骤1715,从来自计算空间n的投影计算空间的列表移除计算空间i的名称或其他标识符。这是因为计算空间i已经被添加回计算空间n,因此计算空间i将从计算空间n的角度看作不存在的。通过从由另一计算空间投影的计算空间的列表移除一个计算空间的名称,移除两个计算空间之间的链接。换句话说,计算空间i和来自计算空间i的任意随后投影计算空间不再从空间n可寻址。
图18A-18D分别是根据各个实施例的在计算空间上应用分割、合并、投影和添加操作的示例性用例的视图。这些用例涉及在用户的设备上执行的代理/应用具有对他们总是连接的空间中的所有内容的访问的假设。换句话说,实例中的计算空间具有普遍存在的特征。图18A和18B呈现基础操作,而图18C和18D呈现利用历史信息的扩展情形。
对于合并和分割操作的一些简单用例是基于复制和“取出”或“借用”内容。通过实例,两个用户Alice和Bob具有他们自己的计算空间,同时他们具有他们共享和存储他们的内容(例如信息、处理等)的家庭空间(home-空间)。在白天,Alice和Bob收集(例如下载)内容,例如应用、媒体播放器等。当他们回家时,他们可将他们的本地空间的内容与家庭的更大组合的计算空间合并。在图18A可见,Alice在她的计算空间具有内容1801和1803,并且家庭的计算空间包含内容1805。在Alice运行将她的计算空间复制到家庭的计算空间的合并操作之后,她的计算空间保持不变,但是家庭空间现在包括内容1801a(1801的副本)和1803a(1803的副本),而他还保持已经具有的内容1805。
类似地,在图18B所示的情形下,Bob需要从家庭空间提取内容并将其增加至他自己的计算空间。Bob可能已经具有计算空间或可第一次建立他的计算空间。如果Bob已经具有个人计算空间,则图18B的操作涉及以下步骤。首先,该处理将内容从家庭空间分割到新的临时计算空间。随后,这个计算空间与Bob的计算空间合并。然后,可移除临时计算空间。某些实施例中,“从旧的分割”和“与现有的合并”操作的组合操作将表现为单独的、原子操作。
在图18B,在家庭空间上应用分割操作,例如,提取Bob喜好的媒体播放器1807。如图18B所示,将内容1807的副本增加至Bob的计算空间作为1807a(或通过来自家庭空间的过滤内容正在建立Bob的计算空间),同时家庭空间保持他的内容1807和1809。
在图18C中考虑另一实例,其中示出了例如Alice希望将来自家庭空间的应用1813与她的朋友Eve共享的情况。假设Alice不必希望向Eve给出对于她的(和Bob的)家庭空间中其他内容1811的访问,她可将内容1813的过滤选择作为1813a向临时计算空间投影出来,用于Eve访问。在图18C可见,Eve可与临时计算空间交互,而Alice可与家庭空间交互。Alice对投影的临时计算空间的更新的传播继续,而两个用户正在与计算空间交互。这样,如果Alice增加、删除或修改内容1813,则Eve将看到1813a中的改变。然而,Eve的更新不必自动向回添加至家庭空间。可看出,Eve已经将内容1815和1817增加至临时计算空间,并且这个信息还没添加在家庭空间。尽管这可以是自动的,这里讨论的基础操作不需要考虑这个方面,并且更新内容在原始计算空间中的添加看作任意周围架构和逻辑的一部分。
图18D示出向图18C中的Eve提供的临时计算空间正在通过过滤向回添加至家庭空间的另一实例。在图18D,内容1813b等同于1813,其中由Eve在1813a上应用的改变被过滤出。同时,为了保存临时计算空间,Eve可规定类似于图18B中为Bob描述的分割和合并,并将信息从临时计算空间传输至她自己的计算空间。当然,这将带来数据所有者的概念。由于Eve并非共享内容1813a的所有者,可能不允许她将内容存储在她个人的计算空间中。然而,考虑将例如安全性暗示的问题在实施阶段作为系统架构的一部分来解决。
某些实施例中,以上方法有利地提供有效的数据处理,同时最小化系统资源(例如带宽和处理)的使用。即,用户和设备可发出请求,该请求可由于计算空间的管理被迅速应答。这样,请求的用户或设备不需要花费更多资源和努力来定位期望的内容。
这里所述的提供分布计算的操纵的操作的处理可经由软件、硬件、固件或软件和/或固件和/或硬件的组合来实现。例如,这里所述的处理,包括提供与服务的可用性相关的用户接口导航信息,可有利地经由处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、场可编程门阵列(FPGA)等实现。以下详述用于执行所述功能的这样示例性硬件。
图19示出可在上面实现本发明实施例的计算机系统1900。尽管关于特定设备或装备示出计算机系统1900,可假设其他设备或装备(例如图19中的网络元件、服务器等)可部署系统1900的所示硬件和组建。计算机系统1900被编程(例如经由计算机程序代码或指令)以如这里所述提供分布计算的操纵的操作,并且包括例如总线1910的通信机构,用于在计算机系统1900的其他内部和外部组件之间传递信息。信息(还称为数据)表示成可测量现象的物理表达,典型地为电压,单在其他实施例中包括例如磁、电磁、压力、化学、生物、分子、原子、亚原子和量子交互的现象。例如,南北磁场、或零和非零电压代表二进制数字(比特)的两个状态(0,1)。其他现象可代表更高基数的数字。在测量之间多个同时量子状态的重叠代表量子比特(qubit)。一个或多个数字的序列构成用于代表字符的数目或代码的数字数据。在一些实施例中,称为模拟数据的信息通过特定范围内的可测量值的接近连续体来表示。计算机系统1900,或其部分构成用于提供分布计算的操纵的操作的一个或多个步骤的部件。
总线1910包括一个或多个并行的信息导体,从而在耦合至总线1910的设备之间快速传送信息。用于处理信息的一个或多个处理器1902与总线1910耦合。
处理器(或多个处理器)1902执行关于信息的一组操作,所述信息由涉及提供分布计算的操纵的操作的计算机程序代码指定。计算机程序代码是用于操作处理器和/或计算机系统以执行指定功能的一组指令或提供指令的语句。代码例如可用编译成处理器的本地指令集的计算机编程语言来编写。代码也可使用本地指令集(例如机器语言)来直接编写。该组操作包括从总线1910带入信息并且将信息置于总线1910上。该组操作还典型地包括比较两个或更多个信息单元,移动信息单元的位置,并且组合两个或更多个信息单元(例如通过加或乘或逻辑运算,如OR,异OR(XOR)和AND)。对于处理器,可由处理器执行的该组操作的每个操作通过称为指令的信息来代表,例如一个或多个数字的操作代码。处理器1902要执行的操作的序列(例如操作代码的序列)构成处理器指令,还称为计算机系统指令,或简单地计算机指令。处理器可实现为机械、电、磁、光、化学或量子组件,其中可以是单独的或组合的。
计算机系统1900还包括耦合至总线1910的存储器1904。存储器1904(例如随机存取存储器(RAM)或其他动态存储装置)存储包括用于提供分布计算的操纵的操作的处理器指令的信息。动态存储器允许其中存储的信息由计算机系统1900改变。RAM允许在称为存储器地址的位置存储的信息单元独立于相邻地址被存储和提取。存储器1904还由处理器1902使用,以在处理器指令的执行期间存储临时值。计算机系统1900还包括只读存储器(ROM)1906和耦合至总线1910的其他静态存储装置,用于存储可由计算机系统1900改变的静态信息,包括指令。一些存储器包括易失性存储装置,当失去电力时其失去在上面存储的信息。耦合至总线1910的还有非易失性(永久性)存储装置1908,例如磁盘、光盘或闪速卡,用于存储即使当计算机系统1900关闭或失去电力时仍旧持续的信息,包括指令。
可从外部输入设备1912(例如键盘,包含人工用户操作的字母数字键,或传感器)向总线1910提供信息(包括用于提供分布计算的操纵的操作的指令)供处理器使用。传感器检测在其周围的条件,并且将那些条件转换成物理表达,其兼容于可测量现象以用于代表计算机系统1900中的信息。耦合至总线1910的其他外部设备(主要用于与人工交互)包括显示器设备1914,例如阴极射线管(CRT)或液晶显示器(LCD)、或呈现文本和图像的等离子屏或打印机,以及定点设备1916,例如鼠标或跟踪球或指针定向键、或运动传感器,用于控制在显示器1914上呈现的小光标图像的位置以及发出与显示器1914上呈现的图形元素相关的命令。在一些实施例中,例如,在计算机系统1900自动执行所有功能而无需人工输入时,忽略外部输入设备1912、显示器设备1914和定点设备1916中的一个或多个。
在所示实施例中,专用硬件(例如专用集成电路(ASIC)1920)耦合至总线1910。专用硬件被配置为为了专用目的足够快速地执行并未由处理器1902执行的操作。应用专用IC的实例包括:图形加速器卡,用于生成针对显示器1914的图像;密码板,用于加密和解密在网络上发送的消息;语音识别;以及对于专用外部设备的接口,例如机器臂和医学扫描设备,其重复执行在硬件中更加有效实施的操作的一些复杂序列。
计算机系统1900还包括耦合至总线1910的通信接口1970的一个或多个实例。通信接口1970提供对于用他们自身处理器运行的各种外部设备(例如打印机、扫描仪和外部盘)的单路或双路通信耦合。一般地,耦合利用与本地网络1980连接的网络链路1978,具有他们自身处理器的各种外部设备连接至局部网络1980。例如,通信接口1970可以是个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在一些实施例中,通信接口1970是向相应类型的电话线路提供信息通信连接的集成服务数字网络(ISDN)卡或数字订户线路(DSL)卡或电话调制解调器。在一些实施例中,通信接口1970是将总线1910上的信号转换成用于在同轴电缆上通信连接的信号或转换成用于在光纤电缆上通信连接的光学信号的电缆调制解调器。作为另一实例,通信接口1970可以是向兼容LAN(例如以太网)提供数据通信连接的局域网(LAN)卡。也可实施无线链路。对于无线链路,通信接口1970发送或接收或既发送又接收电、声或电磁信号,包括红外和光学信号,其承载例如数字数据的信息流。例如,在无线手持设备(例如像蜂窝电话的移动电话)中,通信接口1970包括无线电带电磁发送器和接收器,称为无线电收发器。某些实施例中,通信接口1970能够对于UE集101连接至用于提供分布计算的操纵的操作的通信网络105。
这里使用术语“计算机可读介质”来表示参与到向处理器1902提供信息(包括用于执行的指令)的任意介质。这样的介质可采用许多形式,包括但不限于,非易失性介质、易失性介质、和传输介质。非易失性介质包括例如光或磁盘,例如存储装置908。易失性介质包括例如动态存储器904。传输介质包括例如同轴电缆、铜线、光纤电缆、和载波,其在无需布线或电缆的情况下通过空间行进,例如声波和电磁波,包括无线电、光和红外波。信号包括在通过传输介质发送的振幅、频率、相位、极化或其他物理属性的人工瞬间改变。计算机可读介质的通用形式包括例如软盘、灵活盘、硬盘、磁带、任意其他磁介质、CD-ROM、CDRW、DVD、任意其他光学介质、穿孔卡、纸带、光学标记表、具有孔或其他光学可识别特征的模式的任意其他物理介质,RAM、PROM、EPROM、FLASH-EPROM、任意其他存储器芯片或盒、载波、计算机可从中读取的任意其他介质。这里使用术语“计算机可读存储介质”表示除了传输介质之外的任意计算机可读介质。
在一个或多个有形的媒体中进行编码的逻辑包括在计算机可读存储媒体和诸如ASIC 1920的专用目的硬件上的处理器指令中的一个或两个。
网络链路1978典型地通过一个或多个网络使用传输媒体将信息通信提供给使用或处理该信息的其它设备。例如,网络链路1978可通过本地网络1980将连接提供给主计算机1982或由国际互联网服务提供商(ISP)运营的设备1984来提供连接。ISP装备1984从而通过现在通常被称为国际互联网1990的网络中的公共的、全球分组交换通信网络提供数据通信服务。
与国际互联网连接的被称为服务器主机1992的计算机响应于通过国际互联网接收的信息,驻留提供服务的处理。例如,服务主机1992驻留处理,所述处理提供用于在显示器1914上呈现表示视频数据的信息。可以预期的是,可在诸如主机1982和服务器1992的其他计算机系统中以各种配置方式来部署系统1900的组件。
本发明的至少一些实施方式与用于实现这里描述的一些或全部技术的计算机系统1900的使用相关。根据本发明的一个实施方式,响应于处理器1902执行包含在存储器1904中的一个或多个处理器指令的一个或多个序列,这些技术由计算机系统1900执行。也被称为计算机指令、软件和程序代码的这种指令可从诸如存储设备1908或网络链路1978的另一计算机可读媒介读入到存储器1904。包含在存储器1904中的指令序列的执行促使处理器1902执行这里描述的方法步骤中的一个或多个。在可替换的实施方式中,诸如ASIC 1920的硬件可用于替换实现本发明的软件或与实现本发明的软件结合。从而,本发明的实施方式不局限于硬件和软件的任何特定组合,除非在这里明确声明。
通过网络链路1978和通过通信接口1970的其它网络传输的信号携带去往和来自计算机系统1900的信息。计算机系统1900可通过网络1980、1990(其中通过网络链路1978和通信接口1970)发送和接收包括程序代码的信息。在使用国际互联网1990的实施例中,服务器主机1992通过国际互联网1990、ISP设备1984、本地网络1980和通信接口1970,传输用于由计算机1900发送的消息所请求的特定应用的程序代码。所接收的代码可由处理器1902在接收时执行,或可存储在存储器1904或存储设备1908或其它非易失性存储器中以用于稍后的执行,或者两者。在该方式下,计算机系统1900可以按载波上信号的形式获得应用程序代码。
计算机可读媒体的各种形式可涉及在将一个或多个指令序列或数据或两者携带给处理器1902以用于执行。例如,指令和数据初始可由诸如主机1982的远程计算机的磁盘携带。远程计算机将指令和数据装载入其动态存储器中,并使用调制解调器通过电话线发送指令和数据。位于计算机系统1900本地的调制解调器在电话线上接收指令和数据,并使用红外发射机将指令和数据转换为用作网络链路1978的红外载波上的信号。用作通信接口1970的红外检测器接收在红外信号中携带的指令和数据,并将表示指令和数据的信息放置在总线1910上。总线1910将信息携带到存储器1904,处理器1902从存储器1904获取指令并且通过使用随指令发送的一些数据执行指令。在存储器1904中接收的指令和数据可任选的存储在存储设备1908上,可在处理器1902执行之前或之后。
图20描述了在其上可以实现本发明实施方式的芯片集2000。将芯片集2000编程为提供从有序列表对条目进行快速选择,例如包括相对于图19所描述的被结合一个或多个物理封装(例如,芯片)的处理器和存储组件。通过示例的方式,物理封装包括在结构组装(例如,基板)上的一个或多个材料、组件、和/或导线的安排,从而提供诸如物理强度、大小恒定和/或电子交互限制的一个或多个特性。可以预期的是,在特定的实施方式中,芯片集2000可在单一的芯片上实现。可以预期的是,在特定的实施方式中,芯片集或芯片2000可实现为单独的“片上系统”。可以预期的是,在特定的实施方式中,将不使用单独ASIC,例如,这里公开的所有相关功能通过一个或多个处理器执行。芯片集或芯片2000,或者其一部分,构成用于提供与服务的可用性相关的用户接口导航信息的一个或多个步骤的部件。芯片集或芯片2000,或者其一部分,构成用于执行提供分布计算的操纵的操作的一个或多个步骤的部件。
在一个实施方式中,芯片集2000包括诸如用于在芯片集2000的组件之间传递信息的总线2001的通信机制。处理器2003具有与总线2001的连通性以执行例如存储在存储器2005中的指令和处理信息。处理器2003可包括一个或多个处理核心,其中将每个核心配置为独立地执行。多核心处理器能够在单一物理封装中进行多处理。多核心处理器的实施例包括两个、四个、八个或更多个处理核心。可替换地或另外地,处理器2003可包括一个或多个通过总线2001串联配置的微处理器,以便能够独立地执行指令、流水线和多线程。处理器2003还可与一个或多个专用组件结合以执行特定的处理功能和任务,例如一个或多个数字信号处理器(DSP)2007、或一个或多个专用集成电路(ASIC)2009。典型地,将DSP 2007配置为与处理器2003独立地实时处理真实世界的信号(例如,声音)。相似地,可将ASIC 2009配置为执行不能由通用处理器容易地执行的专用功能。这里描述的有助于执行本发明功能的其它专用组件包括一个或多个现场可编程门阵列(FPGA)(没有示出)、一个或多个控制器(没有示出)、或一个或多个其它专用目的计算机芯片。
在一个实施例中,芯片集或芯片2000仅包括一个或多个处理器和支持和/或涉及和/或用于一个或多个处理器的一些软件和/或固件。
处理器2003和附带的组件具有经由总线2001的与存储器2005的连通性。存储器2005包括用于存储可执行指令的动态存储器(例如,RAM、磁盘、可写光盘等)和静态存储器(例如,ROM、CD-ROM等),其中在执行可执行指令时执行这里描述的创造性步骤以提供从有序列表对条目进行快速选择。存储器2005还存储与创造性步骤的执行相关的数据或由创造性步骤的执行所产生的数据。
图21是根据一个实施方式的能够在图1的系统中进行操作的用于通信的移动终端(例如,手持机)的示例性组件的示意图。在一些实施方式中,移动终端2100或其一部分,构成用于执行提供从有序列表对条目进行快速选择的一个或多个步骤的部件。一般地,通常按照前端和后端特性对无线电接收机进行限定。接收机的前端包括全部的射频(RF)电路,而后端包括全部的基带处理电路。如在本申请中所使用的,术语“电路”涉及(1)仅为硬件实现方式(例如仅在模拟和/或数字电路中的实现方式),和(2)电路和软件(和/或固件)的结合(例如,如果应用于特定上下文,将共同工作的包括数字信号处理器的处理器、软件和存储器结合在一起以促使诸如移动电话或服务器的装置执行各种功能)。该“电路”的定义应用于在该申请中对该术语的全部使用,包括任何权利要求。如另一实施例,如在该申请中使用的并且如果可应用于特定的上下文,则术语“电路”还可覆盖仅由处理器(或多个处理器)和其(或它们的)相应的软件/固件的实现方式。术语“电路”还可覆盖可应用于特定上下文的情况,例如蜂窝网络设备或其它网络设备中的移动电话或相似集成电路中的基带集成电路或应用处理器集成电路。
电话的相关内部组件包括主控制单元(MCU)2103、数字信号处理器(DSP)2105、和包括麦克风增益控制单元和扬声器增益控制单元的接收机/发射机单元。主显示器单元2107给用户提供显示以支持执行或支持提供媒体内容搜索能力的步骤的各种应用和移动终端功能。显示器2107包括配置为在移动终端(例如,移动电话)的用户接口的至少一部分上进行显示的显示器电路。此外,将显示器2107和显示器电路配置为便于移动终端的至少一些功能的用户控制。音频功能电路1109包括麦克风2111和将从麦克风2111输出的语音信号进行放大的麦克风放大器。将从麦克风2111输出的经放大的语音信号提供给编码器/解码器(CODEC)2113。
无线电部分2115对功率进行放大,并对频率进行转换,以便通过天线2117与包括在移动通信系统中的基站进行通信。功率放大器(PA)2119和发射机/调制电路可操作地对MCU 2103进行响应,将来自PA 2119的输出耦合至双工器2121或循环器(circulator)或天线开关,这是现有技术公知的。PA 2119还与电池接口和电源控制单元2120耦合。
在使用中,移动终端2101的用户对麦克风2111说话,且他或她的语音连同任何检测到的背景噪声被转换为模拟电压。从而通过模拟数字转换器(ADC)2123将模拟电压转换为数字信号。控制单元2103将数字信号路由到DSP 2105中以在DSP 2105中进行处理,例如语音编码、信道编码、加密和交织。在一个实施方式中,通过没有单独示出的单元,使用诸如全球演进(EDGE)、通用分组无线服务(GPRS)、全球移动通信系统(GSM)、国际互联网多媒体子系统(IMS)、通用移动通信系统(UMTS)等蜂窝传输协议,以及诸如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星等的其它合适的无线介质,对处理的语音信号进行编码。
随后,将编码的信号路由到均衡器2125,以便对在通过空中传输处理中发生的诸如相位和幅度失真的任何频率相关损耗进行补偿。在对比特流进行均衡后,调制器2127将信号与在RF接口2129中产生的RF信号结合。调制器2127通过频率或相位调制产生正弦波。为了准备用于传输的信号,上变频器2131将从调制器2127输出的正弦波与由合成器2133产生的另一正弦波组合,以获得期望的传输频率。从而将信号通过PA 2119进行发送,以使信号增加到合适的功率水平。在实际的系统中,PA 2119作为可变增益放大器,由DSP 2105通过网络基站接收的信息来控制PA 2119的增益。从而在双工器2121中信号进行滤波,并可选择性地发送给天线耦合器2135以进行阻抗匹配,从而提供最大功率的传送。最后,经由天线2117将信号发送给本地基站。可供应自动增益控制(AGC)以控制接收机最后阶段的增益。可将信号由这里转发到远端电话,其可以是另一蜂窝电话、其它移动电话或与公共交换电话网络(PSTN)或其它电话网络连接的固定电话。
通过天线2117接收被传输给移动终端2101的语音信号,并立即由低噪声放大器(LNA)2137放大。下变频器2139降低载波频率,且解调器2141去除RF,只留下数字比特流。随后信号通过均衡器2125,并由DSP2105进行处理。数模转换器(DAC)2143对信号进行转换,并将相应的输出通过扬声器2145传输给用户,所有的操作都在主控制单元(MCU)2103的控制下,其中主控制单元可实现为中央处理单元(CPU)(在图中没有示出)。
MCU 2103从键盘2147接收包括输入信号的各种信号。与其它用户输入组件(例如,麦克风2111)结合的键盘2147和/或MCU 2103包括用于管理用户输入的用户接口电路。MCU 2103运行用户接口软件,便于对移动终端的至少一些功能的用户控制,以提供从有序列表对条目进行快速选择。MCU 2103还分别将显示命令和切换命令递送给显示器2107和语音输出切换控制器。此外,MCU 2103与DSP 2105交换信息,并可选择地访问所结合的SIM卡2149和存储器2151。此外,MCU 2103执行终端要求的各种控制功能。DSP 2105可根据实现方式在语音信号上执行任何种类的传统数字处理功能。此外,DSP 2105从麦克风2111检测的信号确定本地环境的背景噪声水平,并为将麦克风2111的增益设置为所选的水平,以补偿移动终端2101的用户的自然倾向(tendency)。
CODEC 2113包括ADC 2123和DAC 2143。存储器2151存储包括呼叫进入语音数据的各种数据,并能够存储包括从全球国际互联网接收的音乐数据的其它数据。软件模块可驻留在RAM存储器、闪存存储器、寄存器、或现有技术中已知的其它任何形式的可写入存储介质。存储设备2151可以是,但不局限于,单一存储器、CD、DVD、ROM、RAM、EEPROM、光学存储器、或能够存储数字数据的其它任何非易失性存储媒介。
例如,可选择地结合的SIM卡2149携带重要的信息,例如蜂窝电话号码、支持服务的载波、订阅细节和安全信息。SIM卡2149主要用于在无线电网络上识别移动终端2101。卡2149还包含用于存储个人电话号码注册、文本消息和用户专用移动终端设置的存储器。
尽管结合多个实施方式和实现方式介绍了本发明,但是本发明不局限于此,而是可覆盖落入所附权利要求范围的各种明显修改和等价安排。尽管本发明的特征在权利要求中以特定的组合进行表达,但可以预期的是,这些特征可以按任意的组合和顺序进行安排。
Claims (45)
1.一种方法,包括:
确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理;
确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合;和
确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
2.如权利要求1所述的方法,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的合并操作,该方法还包括:
确定统一第一计算空间的第一图和第二计算空间的第二图;和
确定至少部分地基于所述统一修改第一计算空间、第二计算空间、额外计算空间、或其组合。
3.如权利要求2所述的方法,还包括:
确定至少部分地基于所述统一在第一计算空间、第二计算空间、额外计算空间、或其组合上应用起源操作、冲突解决操作、或其组合。
4.如权利要求1所述的方法,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间中的一个的投影操作,该方法还包括:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新投影计算空间的名称集,所述名称集相关于所述一个计算空间。
5.如权利要求4所述的方法,其中用于投影操作的请求至少部分地包括指定的子图,该方法还包括:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
6.如权利要求1所述的方法,其中一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的添加操作,以及其中一个或多个计算空间的第二个包括来自一个或多个计算空间的第一个的投影内容,该方法还包括:
确定至少部分地基于所述投影内容过滤一个或多个计算空间的第一个的图;和
确定至少部分地基于所述过滤将一个或多个计算空间的第一个的图插入至一个或多个计算空间的第二个的图中。
7.如权利要求6所述的方法,还包括:
确定一个或多个计算空间的第一个的名称是否在一个或多个计算空间的第二个的投影计算空间的名称集中,其中一个或多个计算的第一个的图的插入至少部分地基于关于名称的确定;和
确定至少部分地基于关于名称的确定从名称集移除所述名称。
8.如权利要求1所述的方法,其中一个或多个操作的至少一个是对应于一个或多个计算空间的一个的分割操作,该方法还包括:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新分割计算空间的名称集,所述名称集相关于所述一个计算空间。
9.如权利要求8所述的方法,其中用于分割操作的请求至少部分地包括指定的子图,该方法还包括:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、历史保存边界、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
10.如权利要求1所述的方法,还包括:
对于一个或多个操作、一个或多个计算空间、一个或多个图、一个或多个子图、或其组合确定边界节点集;
其中一个或多个操作的应用还至少部分地基于所述边界节点集。
11.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
所述至少一个存储器和计算机程序代码被配置为,利用所述至少一个处理器,使得所述装置至少执行以下步骤:
确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理;
确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合;和
确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
12.如权利要求11所述的装置,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的合并操作,其中还使得该装置:
确定统一第一计算空间的第一图和第二计算空间的第二图;和
确定至少部分地基于所述统一修改第一计算空间、第二计算空间、额外计算空间、或其组合。
13.如权利要求12所述的装置,其中还使得该装置:
确定至少部分地基于所述统一在第一计算空间、第二计算空间、额外计算空间、或其组合上应用起源操作、冲突解决操作、或其组合。
14.如权利要求11所述的装置,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间中的一个的投影操作,其中还使得该装置:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新投影计算空间的名称集,所述名称集相关于所述一个计算空间。
15.如权利要求14所述的装置,其中用于投影操作的请求至少部分地包括指定的子图,其中还使得该装置:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
16.如权利要求11所述的装置,其中一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的添加操作,以及其中一个或多个计算空间的第二个包括来自一个或多个计算空间的第一个的投影内容,其中还使得该装置:
确定至少部分地基于所述投影内容过滤一个或多个计算空间的第一个的图;和
确定至少部分地基于所述过滤将一个或多个计算空间的第一个的图插入至一个或多个计算空间的第二个的图中。
17.如权利要求16所述的装置,其中还使得该装置:
确定一个或多个计算空间的第一个的名称是否在一个或多个计算空间的第二个的投影计算空间的名称集中,其中一个或多个计算的第一个的图的插入至少部分地基于关于名称的确定;和
确定至少部分地基于关于名称的确定从名称集移除所述名称。
18.如权利要求11所述的装置,其中一个或多个操作的至少一个是对应于一个或多个计算空间的一个的分割操作,其中还使得该装置:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新分割计算空间的名称集,所述名称集相关于所述一个计算空间。
19.如权利要求18所述的装置,其中用于分割操作的请求至少部分地包括指定的子图,其中还使得该装置:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、历史保存边界、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
20.如权利要求11所述的装置,其中还使得该装置:
对于一个或多个操作、一个或多个计算空间、一个或多个图、一个或多个子图、或其组合确定边界节点集;
其中一个或多个操作的应用还至少部分地基于所述边界节点集。
21.一种方法,包括:
确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理;
确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合;和
确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
22.如权利要求21所述的方法,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的合并操作,该方法还包括:
确定统一第一计算空间的第一图和第二计算空间的第二图;和
确定至少部分地基于所述统一修改第一计算空间、第二计算空间、额外计算空间、或其组合。
23.如权利要求22所述的方法,还包括:
确定至少部分地基于所述统一在第一计算空间、第二计算空间、额外计算空间、或其组合上应用起源操作、冲突解决操作、或其组合。
24.如权利要求21-23中任一项所述的方法,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间中的一个的投影操作,该方法还包括:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新投影计算空间的名称集,所述名称集相关于所述一个计算空间。
25.如权利要求24所述的方法,其中用于投影操作的请求至少部分地包括指定的子图,该方法还包括:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
26.如权利要求21-25中任一项所述的方法,其中一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的添加操作,以及其中一个或多个计算空间的第二个包括来自一个或多个计算空间的第一个的投影内容,该方法还包括:
确定至少部分地基于所述投影内容过滤一个或多个计算空间的第一个的图;和
确定至少部分地基于所述过滤将一个或多个计算空间的第一个的图插入至一个或多个计算空间的第二个的图中。
27.如权利要求26所述的方法,还包括:
确定一个或多个计算空间的第一个的名称是否在一个或多个计算空间的第二个的投影计算空间的名称集中,其中一个或多个计算的第一个的图的插入至少部分地基于关于名称的确定;和
确定至少部分地基于关于名称的确定从名称集移除所述名称。
28.如权利要求21-27中任一项所述的方法,其中一个或多个操作的至少一个是对应于一个或多个计算空间的一个的分割操作,该方法还包括:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新分割计算空间的名称集,所述名称集相关于所述一个计算空间。
29.如权利要求28所述的方法,其中用于分割操作的请求至少部分地包括指定的子图,该方法还包括:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、历史保存边界、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
30.如权利要求21-29中任一项所述的方法,还包括:
对于一个或多个操作、一个或多个计算空间、一个或多个图、一个或多个子图、或其组合确定边界节点集;
其中一个或多个操作的应用还至少部分地基于所述边界节点集。
31.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
所述至少一个存储器和计算机程序代码被配置为,利用所述至少一个处理器,使得所述装置至少执行以下步骤:
确定接收用于指定在一个或多个计算空间上执行的一个或多个操作的请求,其中所述一个或多个计算空间表示在各自一个或多个计算空间中作为一个或多个图的一个或多个计算处理;
确定检索一个或多个计算空间、一个或多个计算空间中的一个或多个图、一个或多个图的一个或多个子图、或其组合;和
确定在一个或多个计算空间、一个或多个图、一个或多个子图、或其组合上应用一个或多个操作,以更新一个或多个计算空间的至少一个,生成至少一个额外计算空间,或其组合。
32.如权利要求31所述的装置,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的合并操作,其中还使得该装置:
确定统一第一计算空间的第一图和第二计算空间的第二图;和
确定至少部分地基于所述统一修改第一计算空间、第二计算空间、额外计算空间、或其组合。
33.如权利要求32所述的装置,其中还使得该装置:
确定至少部分地基于所述统一在第一计算空间、第二计算空间、额外计算空间、或其组合上应用起源操作、冲突解决操作、或其组合。
34.如权利要求31-33中任一项所述的装置,其中所述一个或多个操作的至少一个是对应于一个或多个计算空间中的一个的投影操作,其中还使得该装置:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新投影计算空间的名称集,所述名称集相关于所述一个计算空间。
35.如权利要求34所述的装置,其中用于投影操作的请求至少部分地包括指定的子图,其中还使得该装置:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
36.如权利要求31-35中任一项所述的装置,其中一个或多个操作的至少一个是对应于一个或多个计算空间的第一计算空间和一个或多个计算空间的第二计算空间的添加操作,以及其中一个或多个计算空间的第二个包括来自一个或多个计算空间的第一个的投影内容,其中还使得该装置:
确定至少部分地基于所述投影内容过滤一个或多个计算空间的第一个的图;和
确定至少部分地基于所述过滤将一个或多个计算空间的第一个的图插入至一个或多个计算空间的第二个的图中。
37.如权利要求36所述的装置,其中还使得该装置:
确定一个或多个计算空间的第一个的名称是否在一个或多个计算空间的第二个的投影计算空间的名称集中,其中一个或多个计算的第一个的图的插入至少部分地基于关于名称的确定;和
确定至少部分地基于关于名称的确定从名称集移除所述名称。
38.如权利要求31-37中任一项所述的装置,其中一个或多个操作的至少一个是对应于一个或多个计算空间的一个的分割操作,其中还使得该装置:
确定从一个计算空间的图提取子图,其中至少部分地基于提取的子图生成额外计算空间;和
确定至少部分地基于额外计算空间的生成更新分割计算空间的名称集,所述名称集相关于所述一个计算空间。
39.如权利要求38所述的装置,其中用于分割操作的请求至少部分地包括指定的子图,其中还使得该装置:
至少部分地基于指定的子图确定一个计算空间;和
至少部分地基于分区函数、推导闭包机制、历史保存边界、或其组合确定一个计算空间的计算内容、规则集、或其组合;
其中至少部分地基于计算内容、规则集、或其组合生成额外计算空间。
40.如权利要求31-39中任一项所述的装置,其中还使得该装置:
对于一个或多个操作、一个或多个计算空间、一个或多个图、一个或多个子图、或其组合确定边界节点集;
其中一个或多个操作的应用还至少部分地基于所述边界节点集。
41.一种计算机可读存储介质,承载一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,使得装置至少执行权利要求1-10中任一项的方法。
42.一种装置,包括执行权利要求1-10中任一项的方法的部件。
43.如权利要求42所述的装置,其中所述装置是移动电话,还包括:
用户接口电路和用户接口软件,配置为通过使用显示器促使移动电话的至少一些功能的用户控制和配置为响应于用户输入;和
显示器和显示器电路,配置为显示移动电话的用户界面的至少一部分,所述显示器和显示器电路配置为促使移动电话的至少一些功能的用户控制。
44.一种计算机程序产品,包括一个或多个指令的一个或多个序列,当由一个或多个处理器执行时,使得装置至少执行权利要求1-10中任一项的方法。
45.一种方法,包括促使访问至少一个接口,其被配置为允许访问至少一个服务,所述至少一个服务配置为执行权利要求1-10中任一项的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/818,958 US20110314075A1 (en) | 2010-06-18 | 2010-06-18 | Method and apparatus for managing distributed computations within a computation space |
US12/818,958 | 2010-06-18 | ||
PCT/FI2011/050488 WO2011157889A1 (en) | 2010-06-18 | 2011-05-27 | Method and apparatus for managing distributed computations within a computation space |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102985922A true CN102985922A (zh) | 2013-03-20 |
Family
ID=45329633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800300994A Pending CN102985922A (zh) | 2010-06-18 | 2011-05-27 | 在计算空间中管理分布计算的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110314075A1 (zh) |
EP (1) | EP2583198A4 (zh) |
CN (1) | CN102985922A (zh) |
AU (1) | AU2011266904A1 (zh) |
WO (1) | WO2011157889A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924365A (zh) * | 2015-08-31 | 2018-04-17 | 纽曼H-R计算机设计有限责任公司 | 防黑客计算机设计 |
CN110333844A (zh) * | 2019-05-06 | 2019-10-15 | 北京创鑫旅程网络技术有限公司 | 计算公式处理方法及装置 |
CN112333274A (zh) * | 2020-11-09 | 2021-02-05 | 吉林大学 | 基于云计算平台的地空时间域电磁响应并行加速方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346814B2 (en) * | 2009-05-29 | 2013-01-01 | Nokia Corporation | Method and system of splitting and merging information spaces |
US9495477B1 (en) | 2011-04-20 | 2016-11-15 | Google Inc. | Data storage in a graph processing system |
DE102011079034A1 (de) | 2011-07-12 | 2013-01-17 | Siemens Aktiengesellschaft | Ansteuerung eines technischen Systems |
US20130073600A1 (en) * | 2011-09-21 | 2013-03-21 | Jonathan A. Jenkins | Remote process execution management |
US8661004B2 (en) | 2012-05-21 | 2014-02-25 | International Business Machines Corporation | Representing incomplete and uncertain information in graph data |
US9195725B2 (en) * | 2012-07-23 | 2015-11-24 | International Business Machines Corporation | Resolving database integration conflicts using data provenance |
US9110755B2 (en) * | 2012-08-10 | 2015-08-18 | Microsoft Technology Licensing, Llc | Aggregation of update sets |
US9324033B2 (en) | 2012-09-13 | 2016-04-26 | Nokia Technologies Oy | Method and apparatus for providing standard data processing model through machine learning |
US9588685B1 (en) * | 2013-05-03 | 2017-03-07 | EMC IP Holding Company LLC | Distributed workflow manager |
US9330372B2 (en) * | 2013-06-28 | 2016-05-03 | Sap Ag | Generating an improved development infrastructure |
US10015720B2 (en) | 2014-03-14 | 2018-07-03 | GoTenna, Inc. | System and method for digital communication between computing devices |
US9710758B2 (en) * | 2014-04-23 | 2017-07-18 | D-Wave Systems Inc. | Quantum processor with instance programmable qubit connectivity |
JP6598432B2 (ja) * | 2014-06-24 | 2019-10-30 | キヤノン株式会社 | 画像処理装置、その制御方法およびプログラム |
US9525599B1 (en) * | 2014-06-24 | 2016-12-20 | Google Inc. | Modeling distributed systems |
US20180268001A1 (en) * | 2017-03-16 | 2018-09-20 | International Business Machines Corporation | Managing a database management system using a set of stream computing data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098111A (en) * | 1996-03-05 | 2000-08-01 | Digital Vision Laboratories Corporation | Parallel distributed processing system and method of same |
CN101292236A (zh) * | 2004-04-30 | 2008-10-22 | 微软公司 | 使用规则进行最终用户应用程序定制 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966072A (en) * | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US6681220B1 (en) * | 1999-05-28 | 2004-01-20 | International Business Machines Corporation | Reduction and optimization of information processing systems |
US6567804B1 (en) * | 2000-06-27 | 2003-05-20 | Ncr Corporation | Shared computation of user-defined metrics in an on-line analytic processing system |
US20070171459A1 (en) * | 2006-01-20 | 2007-07-26 | Dawson Christopher J | Method and system to allow printing compression of documents |
US7870556B2 (en) * | 2006-05-16 | 2011-01-11 | Ab Initio Technology Llc | Managing computing resources in graph-based computations |
US8136104B2 (en) * | 2006-06-20 | 2012-03-13 | Google Inc. | Systems and methods for determining compute kernels for an application in a parallel-processing computer system |
KR101607178B1 (ko) * | 2008-10-23 | 2016-03-29 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 조작 수행, 데이터 품질 측정, 또는 데이터 요소 결합을 위한 방법, 시스템, 및 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 매체 |
US8346814B2 (en) * | 2009-05-29 | 2013-01-01 | Nokia Corporation | Method and system of splitting and merging information spaces |
US20110078104A1 (en) * | 2009-09-29 | 2011-03-31 | Nokia Corporation | Method and apparatus of constraint verification in distributed information spaces |
-
2010
- 2010-06-18 US US12/818,958 patent/US20110314075A1/en not_active Abandoned
-
2011
- 2011-05-27 EP EP11795236.6A patent/EP2583198A4/en not_active Withdrawn
- 2011-05-27 WO PCT/FI2011/050488 patent/WO2011157889A1/en active Application Filing
- 2011-05-27 CN CN2011800300994A patent/CN102985922A/zh active Pending
- 2011-05-27 AU AU2011266904A patent/AU2011266904A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098111A (en) * | 1996-03-05 | 2000-08-01 | Digital Vision Laboratories Corporation | Parallel distributed processing system and method of same |
CN101292236A (zh) * | 2004-04-30 | 2008-10-22 | 微软公司 | 使用规则进行最终用户应用程序定制 |
Non-Patent Citations (1)
Title |
---|
IAN OLIVER ETC.: "Operations on Spaces of Information", 《SEMANTIC COMPUTING,2009.ICSC"09.IEEE INTERNATIONAL CONFERENCE ON》, 16 September 2009 (2009-09-16), pages 267 - 274, XP008158001, DOI: 10.1109/ICSC.2009.102 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924365A (zh) * | 2015-08-31 | 2018-04-17 | 纽曼H-R计算机设计有限责任公司 | 防黑客计算机设计 |
CN110333844A (zh) * | 2019-05-06 | 2019-10-15 | 北京创鑫旅程网络技术有限公司 | 计算公式处理方法及装置 |
CN110333844B (zh) * | 2019-05-06 | 2023-08-29 | 北京创鑫旅程网络技术有限公司 | 计算公式处理方法及装置 |
CN112333274A (zh) * | 2020-11-09 | 2021-02-05 | 吉林大学 | 基于云计算平台的地空时间域电磁响应并行加速方法 |
CN112333274B (zh) * | 2020-11-09 | 2022-01-21 | 吉林大学 | 基于云计算平台的地空时间域电磁响应并行加速方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011157889A1 (en) | 2011-12-22 |
EP2583198A4 (en) | 2017-06-28 |
AU2011266904A1 (en) | 2012-12-13 |
US20110314075A1 (en) | 2011-12-22 |
EP2583198A1 (en) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102985922A (zh) | 在计算空间中管理分布计算的方法和装置 | |
CN102939579B (zh) | 绑定用户接口元素和粒度反映处理的方法和装置 | |
CN103688244B (zh) | 用于为分布式计算提供端到端隐私的方法和装置 | |
CN103336813B (zh) | 一种基于中间件架构的物联网数据集成管理方案 | |
US20120078595A1 (en) | Method and apparatus for ontology matching | |
US8930374B2 (en) | Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure | |
CN103003797B (zh) | 用于分配计算闭包的方法和装置 | |
CN109845221A (zh) | 用于服务层的访问控制策略同步 | |
USRE46690E1 (en) | Method and system of splitting and merging information spaces | |
US8849854B2 (en) | Method and system for providing detailed information in an interactive manner in a short message service (SMS) environment | |
US9477787B2 (en) | Method and apparatus for information clustering based on predictive social graphs | |
CN106104510A (zh) | 确定用户设备的活跃角色 | |
CN104160381A (zh) | 多租户环境中租户特定数据集的管理 | |
US20120016662A1 (en) | Method and apparatus for processing biometric information using distributed computation | |
CN110447025A (zh) | 在物联网中启用语义混搭 | |
US20110093463A1 (en) | Method and system for projecting and injecting information spaces | |
CN104220972A (zh) | 在混合现实中提供无缝交互的方法和装置 | |
KR20200124267A (ko) | 분산형 시맨틱 데이터를 통한 시맨틱 동작들 및 추론 지원 | |
RU2494450C2 (ru) | Способ, устройство и компьютерный программный продукт для преобразования и использования данных на основе полиномов | |
CN103299300A (zh) | 提供输入建议的方法和装置 | |
Zervakis et al. | Efficient continuous multi-query processing over graph streams | |
WO2019079799A1 (en) | SYSTEM AND METHOD FOR DATA MANAGEMENT | |
CN105786941A (zh) | 一种信息挖掘方法和装置 | |
US9043323B2 (en) | Method and apparatus for providing search with contextual processing | |
US20120137044A1 (en) | Method and apparatus for providing persistent computations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160126 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130320 |
|
RJ01 | Rejection of invention patent application after publication |