CN107771333A - 基于临时数据提供查询响应的设备和/或方法 - Google Patents
基于临时数据提供查询响应的设备和/或方法 Download PDFInfo
- Publication number
- CN107771333A CN107771333A CN201680030456.XA CN201680030456A CN107771333A CN 107771333 A CN107771333 A CN 107771333A CN 201680030456 A CN201680030456 A CN 201680030456A CN 107771333 A CN107771333 A CN 107771333A
- Authority
- CN
- China
- Prior art keywords
- data
- computing unit
- inquiry
- unit
- ttl
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
系统、装置和方法可以提供查询响应。可以为与计算单元相关联的数据确定生存时间(TTL)的值,其中在TTL到期时该计算单元可以不允许访问数据。此外,可以判断与计算单元相关联的数据是否满足查询。而且,可以产生查询响应,包括与计算单元相关联,满足查询的数据。在一个示例中,可以确定为与计算单元相关联的数据的语境,其中该计算单元可以基于语境不允许访问数据。可以将数据表示为计算单元的网络,其可以为数据提供语境式TTL,可以以海量分布式方式处理之。
Description
相关申请的交叉引用
本申请要求享有于2015年6月26日提交的美国非临时专利申请No.14/751,841的优先权的权益。
技术领域
实施例总体上涉及提供查询响应。更具体而言,实施例涉及基于诸如语境临时数据之类的临时数据提供对查询的响应的设备和/或方法。
背景技术
数据可以被建模为将若干实体表达为一组顶点(例如,人、物体、地理位置等)的图表。图表还包括连接至少一些顶点的边,其中各边表示由顶点表示的实体之间的关系。边可以被分配值(例如,对应于驾驶距离、行驶时间等的值)和/或权重(例如,友好程度、由所连接顶点表示的人之间的信任程度等),进一步对实体之间的关系建模。在一个示例中,图表可以表示地理区域,其中顶点表示该区域中的城市或其它位置,两个顶点之间的边表示位置之间的物理连接(例如,可以从一地驾车到另一地)。在另一个示例中,可以使用图表对社交网络建模,其中每个人由顶点表示,并且两个顶点之间的边表示人之间的关系(例如,友情、朋友家人关系、工作关系等)。
然而,图表并未用于对临时数据建模。此外,处理具有过期值的数据的常规架构可能需要架构外部的分量来处理过期数据(例如,守护进程)。另外,过期值可能仅取决于数据自身。此外,对数据的存取可能仅取决于过期值。而且,在需要利用遵守过期值的数据时,复杂性可能会成指数增大。因此,计算机资源(例如,专用处理器)的使用可能会效率低下。
附图说明
通过阅读以下说明书和所附权利要求并参考以下附图,实施例的各种优点将对于本领域的技术人员变得显而易见,在附图中:
图1是根据实施例提供对请求的响应的装置的示例的方框图;
图2是根据实施例的图表的示例的图示,该图表包括基于临时数据提供查询响应的计算单元;
图3是根据实施例的图表的示例的图示,该图表包括基于语境临时数据提供查询响应的计算单元;
图4是根据实施例的图表的示例的图示,该图表包括基于临时数据在对正常表达的回复中提供查询响应的计算单元;
图5是根据实施例的用于提供查询响应的方法的示例的流程图;
图6是根据实施例的用于提供查询响应的方法的示例的流程图;
图7是根据实施例的处理器的示例的方框图;以及
图8是根据实施例的系统的示例的方框图。
具体实施方式
图1示出了装置10,装置10可以包括计算平台(例如台式计算机)、笔记本计算机、平板计算机、可翻转平板电脑、个人数字助理(PDA)、移动因特网设备(MID)、媒体播放器、智能电话、智能电视(TV)、无线电设备、信息娱乐系统、可穿戴设备、游戏平台、服务器平台等。该装置10可以提供包括满足请求14的数据的响应12。该请求14可以包括例如具有已收集的(例如,图表的)路径的消息、(例如,用户、组织等的)实体标识符、查询标识符(例如,多个查询可以在给定时间在图表中流动)和/或查询(例如,正则表达式、更新/修改/新的正则表达式等)。
在所示示例中,装置10包括通信接口16,通信接口16可以向数据收集器18提供响应12。数据收集器18可以在装置10内部或装置10外部(如图所示),可以包括物理或虚拟资源(例如,存储器、储存器等)等。因此,请求14的消息还可以包括针对收集器18的收集器地址,例如,总线地址、虚拟存储器地址、物理存储器地址、媒体访问控制(MAC)地址、因特网协议(IP)地址等。
所示装置10还包括可以承载满足请求14的数据的计算单元20。在一个示例中,可以有多个承载相应数据的计算单元,其中多个计算单元可以分布在超过一个装置中。此外,计算单元20的任何或全部部件可以作为逻辑(例如,逻辑指令、可配置逻辑、固定功能逻辑硬件等,或其任何组合)而执行。在所示示例中,计算单元20包括:可以评估请求14的消息的消息分析器22,其进一步包括路径评估器24,该路径评估器24可以确定在到达计算单元20之前已经由消息收集的路径;实体评估器26,该实体评估器26可以确定发出查询的实体的实体标识符;以及查询评估器28,该查询评估器28可以确定查询标识符和/或查询(例如,正则表达式)。
所示计算单元20还包括时间分析器30,该时间分析器30可以为与计算单元20相关联的数据确定生存时间(TTL)值,其中计算单元20可以在超过TTL时不允许访问满足查询的数据。为与计算单元20相关联的数据确定TTL值可以包括例如:标识为数据明确分配的TTL值和/或标识针对数据的本征TTL值。在所示示例中,时间分析器30包括单元TTL评估器32,其可以为由计算单元20表示的数据确定单元TTL的值,其中该计算单元20可以在单元TTL过期时,去除由计算单元20表示的数据。
另外,时间分析器30包括链路TTL评估器34,其可以为由连接计算单元20和相邻计算单元(例如,路径上的下一个计算单元)的链路表示的数据确定链路TTL的值,其中该计算单元20可以在链路TTL过期时,去除由链路表示的数据。时间分析器30还包括路径TTL评估器36,其可以为由所有计算单元和/或连接特定路径中的所有计算单元的所有链路表示的数据确定路径TTL的值,其中计算单元20可以在路径TTL到期时去除由特定路径表示的数据。在一个示例中,路径TTL的值可以是特定路径的总体值(例如,累积的、相加的、平均的、平均值等)。在另一个示例中,路径TTL的值可以是特定路径一部分的部分值(例如,路径成员的最小TTL等)。
时间分析器30还包括可用时间评估器38,该可用时间评估器38可以判断是否有时间可供计算单元20处理查询和/或是否有时间可供消息(例如,更新的消息、更新的查询等)到达相邻计算单元。在一个示例中,计算单元30可以在没有足够时间供消息达到相邻计算单元时不允许访问与计算单元20相关联的数据。
所示计算单元20还包括语境分析器40,该语境分析器40可以基于针该数据的语境判断是否允许访问与计算单元20相关联的数据。语境可以包括,例如,使用数据的方式,要请求数据的实体,获得针对响应12的数据涉及(例如,要遍历的、遍历的等)的计算单元,获得针对响应12的数据所涉及的链路(例如,要遍历的、遍历的等)等。可以利用语境为与计算单元20相关联的数据分配和/或评估TTL。
在所示示例中,语境分析器40包括单元语境评估器42,其可以为由计算单元20表示的数据确定语境。例如,单元语境评估器42可以基于要使用的由计算单元20表示的数据的方式、要请求由计算单元20表示的数据的实体、要遍历或遍历以获得针对响应12的数据的计算单元等,来为由计算单元20表示的数据确定语境。语境分析器40还包括链路语境评估器44,该链路语境评估器44可以基于例如要使用的由链路表示的数据的方式、要请求由链路表示的数据的实体、要遍历或遍历以获得针对响应12的数据的链路等,来为由将计算单元20与相邻计算单元连接的链路表示的数据确定语境。
所示语境分析器40还包括路径语境评估器46,该路径语境评估器46可以为特定路径中的所有计算单元所表示的数据和/或连接特定路径(例如,端到端路径、其区段等)中所有计算单元的所有链路所表示的数据确定语境。计算单元20可以基于针对该数据的语境去除数据(例如,如果针对数据的语境不允许访问该数据)。
所示计算单元20还包括相邻分析器48,该相邻分析器48可以判断相邻计算单元是否为响应12提供数据。例如,计算单元20可以在相邻计算单元提供数据时(例如,在查询已经访问相邻计算单元时)不允许访问将计算单元20与相邻计算单元连接(例如,特定路径中)的链路。
所示计算单元20还包括内容分析器50,该内容分析器50可以判断由计算单元20表示的数据和/或由将计算单元20与相邻计算单元连接的链路表示的数据是否满足该请求14(例如,满足查询)。在一个示例中,内容分析器50可以判断在接收查询时数据是否满足查询。在另一个示例中,语境分析器50可以在计算单元20确定允许访问查询时判断数据是否满足查询。
在所示的示例中,语境分析器50包括数据匹配器52,该数据匹配器52可以判断与计算单元相关联的数据是否至少部分匹配该请求14。例如,该数据匹配器48可以判断由计算单元20表示的数据和/或由将计算单元20与相邻计算单元连接的链路表示的数据是否至少部分满足查询。在一个示例中,查询可以包括正则表达式,并且计算单元20可以判断由计算单元20表示的数据和/或由源自计算单元20的链路表示的数据是否包括至少部分满足正则表达式的值。
所示语境分析器50还包括权重分析器54,该权重分析器54可以判断针对与计算单元20相关联的数据的权重是否足以满足请求14。在一个示例中,该权重分析器54可以为由计算单元20表示的数据和/或由将计算单元20与相邻计算单元连接的链路表示的数据来确定权重值。因此,该计算单元20可以基于该数据相对于阈值(例如,定量阈值、定性阈值等)的不足权重不允许访问与计算单元20相关联的数据。
可以利用特定路径的总体权重(例如,累积、加法、平均、均值等)判断是否允许从特定路径访问数据(例如,所有数据)。也可以利用特定路径的部分权重(例如,部分累积等)判断是否允许从特定路径访问数据(例如,所有数据)。权重可以是定量的(例如,相对于数值刻度的数值等)、定性的(例如,相对于信任刻度值得信任或不值得信任等)等。
所示计算单元20还包括响应发生器56,该响应发生器56可以产生包括与计算单元20相关联的满足请求14的数据的响应12。在所示的示例中,响应发生器56包括路径更新器58,该路径更新器58可以相对于在请求14的消息中接收的路径产生更新(例如,修改、新的等)路径。更新路径可以包括例如,已经与在计算单元20处与由计算单元20提供的数据一起接收的请求14的消息中的查询相匹配的数据。
所示的响应发生器56还包括查询更新器60,该查询更新器60可以相对于在请求14的消息中所接收的查询产生更新(例如,修改、新的等)的查询。更新的查询可以包括,例如,已经满足和/或尚未满足的查询值。因此,查询更新器60可以产生更新的查询,指出满足查询的值并且包括在计算单元20处接收的尚未满足的查询的其余值。相邻计算单元可以使用更新的路径和/或更新的查询(例如,经由更新的消息)以处理请求14。在查询结束时,可以在响应12中包括更新的路径和/或更新的查询,作为满足被转发到数据收集器18的请求14的数据。
所示装置10还包括数据建模器62,数据建模器62可以将知识库表示为包括连接两个或更多计算单元的链路的图表。例如,数据建模器62可以组织多个计算单元,其中由计算单元的数据内容和单元之间的链路限定知识。此外,计算单元可以独立计算。在所示的示例中,数据建模器62包括可以产生计算单元(例如计算单元20)的计算单元发生器64,可以产生链路(例如计算单元20与相邻计算单元之间的链路)的链路发生器66,以及可以向图表的分量(例如,计算单元、链路等)分配属性的属性分配器68。
属性分配器68可以指定例如TTL值(例如,单元TTL、链路TTL、路径TTL等)、语境(例如,经由安全策略、使用策略、条件策略等)、权重等。在一个示例中,可以基于数据源的类型和/或数据类型(例如,物联网计算机网络中的传感器和/或传感器数据)来分配属性(例如TTL)。在另一个示例中,可以自动和/或响应于用户输入(例如,来自数据源、来自数据所有者、来自管理实体的输入等)来分配属性。
在所示的示例中,装置10还包括存储器70,以存储可以提供计算单元、链路、路径、数据、权重、语境(例如,经由安全策略、使用策略、条件策略等)和/或TTL值之间的对应关系的数据结构(例如,表格)。该对应关系可以是1:1对应,例如在计算单元20表示一条数据(例如,一个人)时,在一条数据被分配一个TTL值时等等。该对应关系可以是m:n对应关系,其中m和/或n具有≥1的值。
另外,存储器70可以在地址空间中存储图表(或其一部分),可以检索该图表以提供基于临时数据(例如,语境临时数据)的响应12和临时数据的高效处理。在一个示例中,在消息流入或通过图表时,机器可执行文件可以加载图表的一个部分,并且不同的机器可执行文件可以顺序地或并行地加载图表的不同部分。
另外,存储器70可以存储库,库支持消息传递和/或计算单元的同时执行,以用于容错、可缩放性和/或控制相对大量的数据。例如,计算单元20可以从库检索并由装置10的硬件处理器在特定图表中实施,以作为特定图表的分量进行计算。在这个方面,计算单元20可以在给定时间在一个特定图表中计算和/或可以是一个特定图表的分量,其中可以分割特定图表以在相同或不同的物理或虚拟机(例如,JAVA虚拟机)中本地运行。因此,例如,表示数据的计算单元可以存在于库中,并且可以使用知识库被排序到图表中,其中该图表可以被集中存储在装置10外部(例如,在存储器处,在硬盘驱动器处等)并被分割以在本地执行。
可以按照任何配置,在相同或不同的物理或虚拟机上布置装置10的部件。在一个示例中,数据建模器62或其部分,例如属性分配器68,可以物理地位于装置10的外部,并可以经由通信接口16(例如,网络接口卡)在计算机网络上被访问。在这个方面,图表或其部分可以物理地存储于存储器70的外部(例如,在硬盘驱动器处),该储存器可以物理地位于装置10本地和/或物理地在装置10外部。在另一个示例中,数据收集器18可以物理地位于装置10内部,作为存储器70的物理存储器地址空间。在另一个示例中,计算单元20的一个或多个部件可以组合成单个部件或分成个体部件,其可以物理地存在于装置10和/或计算单元20外部。
现在转到图2,示出了图表100,其中,经由多个链路114(114a-114j)连接多个计算单元112(112a-112g),其中可以由查询116遍历图表100,以在查询响应118中提供满足查询116的数据。计算单元112的任何或全部部件可以作为逻辑(例如,逻辑指令、可配置逻辑、固定功能逻辑硬件等,或其任何组合)而执行。该图表100可以对知识库编码(例如,建模),由经由链路114表示的关系连接的计算单元112表示实体(例如,人、物体、地理位置等)。值得注意的是,图表100随着时间从时间段t0经过到时间段t5而改变,提供了通过图表100的不同路径,并且因此基于临时数据提供了满足查询116的不同数据。
在时间段t0,例如,查询116到达计算单元112a,计算单元112a可以为与计算单元112a相关联的数据确定生存时间(TTL)的值。在这个方面,计算单元112a仅能够访问对应于计算单元112a的数据以及对应于外出链路114a-114c的数据,这提供了可缩放性,因为不需要联系中央服务器以理解图表内的所有数据,而是提供非集中的架构来处理临时数据。因此,对与计算单元112a相关联的数据的访问可以来自本地存储器(和/或储存器)而不是具有由图表表示的所有数据的中央服务器。在一个示例中,与计算单元112a相关联的数据可以存储在用于由计算单元112a表示的数据的数据地址空间和用于由链路114a-114c表示的数据的数据地址空间,该数据可以由计算单元112a(例如,从本地存储器)访问和加载。
计算单元112a可以为由计算单元112a表示的数据(例如,社交图表中的用户、地理图表中的城市、物联网图表中的传感器等)确定单元TTL的值,并且可以在单元TTL到期时不允许访问由计算单元112a表示的数据。计算单元112a可以通过例如从图表100去除数据(例如,从图表删除自身、阻止通过查询访问自身、使自身对查询透明等)来不允许访问数据。在这个方面,计算单元112a去除数据可以在计算单元112a本地,因为计算单元112a可以去除与计算单元112a相关联的本地存储器(和/或本地储存器)中与计算单元112a相关联的数据,并且可以不需要与中央服务器通信以修改图表。
在所示的示例中,计算单元112a为由计算单元112a表示的数据确定没有单元TTL或单元TTL的值为无穷大,并且因此由计算单元112a表示的数据未过期和/或计算单元112a未过期。在这个方面,计算单元112a可以经由在满足查询116的路径中的外出链路转发消息。在一个示例中,计算单元112a可以向与满足查询116的路径中的外出链路相关联的邮箱地址空间写入消息,在与计算单元112a相关联的数据满足查询116时,可以由连接到该外出链路的相邻计算单元访问该消息。
并行地和/或顺序地,计算单元112b-112g可以为与相应计算单元112b-112g相关联的数据评估相应单元TTL。例如,在计算单元112f为由计算单元112f表示的数据确定单元TTL的时间值(5)时,计算单元112e可以为由计算单元112e表示的数据确定单元TTL的时间值(3),并且因此由计算单元112e、112f表示的数据不过期和/或计算单元112e、112f不过期。
计算单元112a还可以为由连接计算单元112a和相邻计算单元112b、112c的链路(例如,社交图表中的朋友关系、地理图表中的道路等)表示的数据确定链路TTL的值,并且可以在链路TTL过期时不允许访问由链路表示的数据。例如,计算单元112a可以通过从图表100去除数据(例如,从图表删除过期链路、阻止通过查询访问过期链路、使过期链路对查询透明等)来不允许访问数据。如上所述,由计算单元112a去除数据可以在计算单元112a本地进行。
在所示的示例中,计算单元112a为由链路114a表示的数据确定链路TTL的时间值(2),为由链路114b表示的数据确定链路TTL的时间值(1),并且为由链路114c表示的数据确定链路TTL的时间值(4)。因此,计算单元112a判定由链路114a-114c表示的数据未过期和/或链路114a-114c未过期。在这个方面,计算单元112a可以向与满足查询116的路径中的外出链路相关联的邮箱地址空间写入消息,在与计算单元112a相关联的数据满足查询116时,可以由连接到该外出链路的相邻计算单元访问该消息。
并行地和/或顺序地,计算单元112b-112f可以为与相应链路114d-114j相关联的数据评估相应链路TTL。例如,计算单元112d可以为由链路114g表示的数据确定链路TTL的时间值(2)并且不存在针对由链路114h表示的数据的链路TTL,并且因此在时间段t0,由链路114g、114h表示的数据未过期和/或链路114g、114h未过期。类似于计算单元112a,计算单元112b-112g可以仅能够访问相应的关联数据和相应的外出链路,并且可以本地去除数据(例如,去除相应本地物理或虚拟存储器中的数据)并转发消息。
值得注意的是,任何或全部计算单元112可以独立地计算以为查询处理和临时数据的处理提供非集中的架构(例如,具有限定到期数据的数据)。例如,计算单元112a-112g中的每个都可以独立判断与相应计算单元112a-112g相关联的数据是否既未到期又满足查询116。
查询116可以是搜索顶点112a、112g之间路径的查询。在一个示例中,查询116可以包括诸如“给我推荐我朋友喜欢明星女演员Z的所有轻喜剧”的请求,并且计算单元112a可以判断由计算单元112a表示的数据(例如,“人”、“自己”等)和/或由链路114a(例如,“同事”)和链路114b、114c(例如,“朋友”)表示的数据是否至少部分满足查询116,同时遵守为数据设置的到期日期(例如,由数据源或所有者分配,等等)。因此,例如,计算单元112a可以访问本地存储器,以加载与计算单元112a相关联的数据并处理数据以判断该数据是否满足查询116。
在这种情况下,计算单元112a可以基于该数据(例如“人”、“自己”等)来确定由计算单元112a表示的数据确实满足查询116的“我的”并且基于不存在针对该数据的单元TTL值来确定在该时间段数据未到期。计算单元112a还可以基于该数据(例如“朋友”)来确定由链路114b、114c表示的数据确定满足查询116的“朋友”并且基于针对由链路114b表示的数据的单元TTL的值(2)和针对由链路114c表示的数据的链路TTL的值(4)来确定该数据在该时间段未到期。另外,从数据满足查询116开始,计算单元112a可以例如通过在计算单元112b可以访问的链路114a的邮箱地址空间存储数据并在计算单元112c可以访问的链路114c的邮箱地址空间存储数据,经由链路114b、114c发送计算单元112b、112c可访问的消息。
另外,计算单元112b可以判断由计算单元112b(例如,“人”)表示的数据和/或由链路114d表示的数据(例如,“喜欢”)是否至少部分满足查询116,同时遵守施加给数据的到期日期。计算单元112c也可以判断由计算单元112c(例如,“人”)表示的数据和/或由链路114e、114f表示的数据(例如,“喜欢”)是否至少部分满足查询116,同时遵守施加给数据的到期日期。此外,计算单元112d可以判断由计算单元112d表示的数据(例如,“电影”)和/或由链路114g、114h表示的数据(例如,“是”)是否至少部分满足查询116,同时遵守施加给数据的到期日期。
另外,计算单元112e可以判断由计算单元112e表示的数据(例如,“黑色喜剧X”)和/或由链路114i表示的数据(例如,“明星”)是否至少部分满足查询116,同时遵守施加给数据的到期日期。类似地,计算单元112f可以判断由计算单元112f表示的数据(例如,“轻喜剧Y”)和/或由链路114j表示的数据(例如,“明星”)是否至少部分满足查询116,同时遵守施加给数据的到期日期。查询116结束于计算单元112g,其可以判断由计算单元112g表示的数据(例如,“女演员Z”)是否至少部分满足查询116,同时遵守施加给数据的到期日期。
相应地,跨越图表100的几条路径提供了在时间段t0满足查询116的数据。例如,第一条路径可以包括连接计算单元112a、112b的链路114b、连接计算单元112b、112d的链路114d、连接计算单元112d、112f的链路114h以及连接计算单元112f、112g的链路114j。类似地,第二条路径可以包括连接计算单元112a、112c的链路114c、连接计算单元112c、112f的链路114f、以及连接计算单元112f、112g的链路114j。没有路径包括计算单元112e,并且因此也排除了链路114g、114i。
如图2中所示,一个或多个TTL随着时间从时间段t0进行到时间段t5而过期,这减少了满足查询116的路径和/或数据的数量。例如,第一路径在时间段t1不可用,因为针对链路114b的链路TTL过期,并且计算单元112a删除了链路114b,仅留下第二路径可用作满足查询116的数据。因此,例如,由计算单元114a表示的人喜欢轻喜剧X的知识在时间段t1不再能够通过特定路径可用。在时间段t4,没有路径满足查询116,因为针对链路114c的链路TTL也过期并且计算单元112a删除了链路114c。
另外,任何或全部计算单元112可以判断下一计算单元是否为查询响应118提供数据(例如,由查询访问),并在相邻计算单元已提供数据时,不允许访问将其与相邻计算单元连接的链路。例如,计算单元112d可以在时间段t0判定计算单元112f已提供数据并不允许访问链路114h(例如,经由第一路径)以使循环最小化。在这个方面,计算单元112d可以检查计算单元112f可以访问的链路114h的邮箱地址空间,以确认是否已经向邮箱地址空间写入数据。在另一个示例中,所有路径都可以由查询遍历并且可以在稍晚时间删除重复数据或冗余的数据。
另外,任何或全部计算单元112可以判断是否有时间可用于处理查询116(例如,判断数据是否满足查询,确定或向数据应用权重,确定TTL值,为数据确定语境,修改查询等)和/或是否有时间可用于查询116到达相邻计算单元。例如,计算单元112a可以判断是否有时间可用于供计算单元112a评估由计算单元112a表示的数据是否满足查询116,和/或是否有时间可用于查询116到达计算单元112b、112c。可用时间的确定可以基于任何因素,例如包括向计算单元调度查询的时间、在计算单元接收查询的时间、在计算单元处理查询的时间、在计算单元修改查询的时间、并行处理、顺序处理、时间段中剩余的时间、提供查询响应的时间等。
任何或全部计算单元112还可以基于针对该数据的语境判断是否允许访问相应数据。例如,计算单元112d可以判断由计算单元112d表示的数据(例如,“电影”)和/或由链路114g、114h表示的数据(例如,“是”)是否至少部分满足查询116,同时遵守施加给数据的到期日期,并同时遵守施加给数据的语境属性(例如,经由使用策略、安全策略、条件策略等)。因此,查询响应118可以基于语境临时数据而不是仅基于TTL。
另外,任何或全部计算单元112可以为与相应计算单元112相关联的数据确定权重值。例如,计算单元112d可以判断由计算单元112d表示的数据(例如,“电影”)和/或由链路114g、114h表示的数据(例如,“是”)的权重值是否足以用于满足查询116,同时遵守施加给该数据的到期日期和/或施加给该数据的语境属性。因此,例如,实体(例如,数据的用户、数据的管理者等)可以在由计算单元112d表示的数据和/或由链路114g、114h表示的数据上放置权重值,以指示数据的可信度水平,其中计算单元112d可以评估权重值以判断是否允许访问数据。
此外,任何或全部计算单元112可以产生包括满足查询116的数据的更新的(例如,修改的、新的等)消息。更新的消息可以包括,例如,相对于所接收路径的更新路径,其中更新路径可以包括已经与查询116相匹配的数据,连同当前添加的满足查询116的数据。例如,计算单元112b可以在时间段t0产生更新的消息,包括相对于在计算单元112b接收的路径的更新路径,其中更新路径包括由计算单元112b表示的数据和/或由添加到在计算单元112d接收的路径的链路114d表示的数据。
此外,更新的消息可以包括相对于所接收的查询的更新查询,其中更新查询可以包括已经满足和/或尚未满足的查询116的值。因此,例如,计算单元112b可以产生相对于在计算单元112b接收的查询的更新查询,其中更新查询可以包括修改值,该修改值指示修改值部分满足查询并包括在计算单元112b接收的尚未满足的查询的其余值。在一个示例中,在已经满足整个查询时,查询116可以停止,并且可以将该数据转发到数据收集器。在另一个示例中,即使在沿特定路径已经满足了满足整个查询的数据时也可以继续查询,因为响应于该查询116可以提供更多和/或不同的数据。
图3示出了图表300,其中,经由多个链路314(314a-314g)连接多个计算单元312(312a-312g),其中可以由查询316遍历图表300,以在查询响应318中提供满足查询116的数据。计算单元314的任何或全部部件可以作为逻辑(例如,逻辑指令、可配置逻辑、固定功能逻辑硬件等,或其任何组合)而执行。该图表300可以对知识库编码(例如,建模),由经由链路314所表示的关系连接的计算单元312表示实体(例如,人、物体、地理位置等)。值得注意的是,图表300随着时间从时间段t0过渡到时间段t5而改变,提供了通过图表300的不同路径,并且因此基于语境提供了满足查询316的不同数据。
如图3中所示,可以为图表300的任何或全部分量分配和/或评估条件策略,以为数据提供语境。例如,条件规则可以基于特定计算单元和/或特定路径中特定链路的存在或不存在而指定单元TTL和/或链路TTL值。在所示的示例中,计算单元312a可以接收查询316并基于条件规则为与计算单元312a相关联的TTL确定值(1),该条件规则指定在计算单元312a处于路径中时对于链路314a而言该值是(1)。
另外,计算单元312d可以基于条件规则为由链路314e表示的数据确定TTL的值(2),该条件规则指定在计算单元312a处于路径中时对于链路314e而言该值为(2),或者在计算单元312b处于路径中时,该值对于链路314e而言为无穷大。另外,计算单元312f可以基于条件规则为由链路314g表示的数据确定TTL的值(3),该条件规则指定在计算单元312a处于路径中时对于链路314g而言该值为(3),或者在计算单元312b处于路径中时,该值对于链路314g而言为(2)。
条件规则还可以基于存在或不存在特定计算单元和/或特定路径中的特定链路来指定不访问和/或遍历图表300的任何或全部分量。计算单元312e例如可以(例如,基于查询已经收集的信息)在链路314a处于路径中时不允许访问自身。因此,任何或全部计算单元312可以例如通过在满足条件时从图表300去除数据而基于条件规则不允许访问数据。
还可以为图表300的任何或全部分量分配和/或评估使用策略,以为数据提供语境。使用规则可以基于要使用数据的方式(例如,私人使用、公开使用、挖掘、与其它数据交叉引用等)指定例如针对任何或全部计算单元312和/或针对任何或全部链路314的TTL。此外,任何或全部计算单元312可以例如通过在不允许使用时从图表300去除数据而基于使用规则不允许访问数据。
还可以为图表300的任何或全部分量分配和/或评估安全策略,以为数据提供语境。安全规则可以基于请求数据的实体(例如,组织、授权用户等)指定例如针对任何或全部计算单元312和/或针对任何或全部链路314的TTL。此外,任何或全部计算单元312可以例如通过在可能影响安全时从图表300去除数据来基于安全规不允许访问数据。
相应地,跨越图表300的几条路径可以提供在时间段t0满足查询316的数据。随着时间推移,由于对临时数据施加的语境属性,减少了可用于满足查询316的数据。如图3中所示,在时间段t2没有路径可用于提供数据以满足查询316,无论查询316到达计算单元312a(顶部)还是查询316到达计算单元312b(底部)。
现在转到图4,示出了图表400,其中经由多个链路414(例如,边414a-414l)连接多个计算单元412(例如,顶点412a-412m),以响应于消息420提供查询响应418(418a,418b)。计算单元412的任何或全部部件可以作为逻辑(例如,逻辑指令、可配置逻辑、固定功能逻辑硬件等,或其任何组合)而执行。如下所述,查询响应418可以基于何时发出消息420、TTL、语境、权重、可用时间等而改变。
在所示的示例中,消息420包括初始正则表达式422(a+b+c+),其指示找到了路径,其中找到的路径可以包括均具有值(a)的一个或多个连续的边,接着是均具有值(b)的一个或多个连续的边,接着是具有值(c)的边。值(a)上的上标“+”例如指示路径中的下一个或多个边需要具有值(a),以便满足初始正则表达式420。
顶点412a可以评估从顶点412a发出的边,以找到满足初始正则表达式422(a+b+c+)的第一从属条件的边。在这种情况下,仅有边414a从计算单元412a发出,并且其具有值(a)。因此,边414a满足初始正则表达式422(a+b+c+)的第一从属条件。此时,最终将满足初始正则表达式422(a+b+c+)的任何路径都需要从这个点向前均具有值(a)的零个或更多个连续的边,接着是均具有值(b)的一个或多个连续边,接着是均具有值(c)的一个或多个连续边。
顶点412a可以修改初始正则表达式422(a+b+c+)以变成正则表达式424(a*b+c+),其中上标“*”指示接下来需要零个或更多具有值(a)的连续边,以使最终路径满足初始正则表达式422(a+b+c+)。正则表达式424(a*b+c+)可以从顶点412a传送到与所标识的边(例如,满足第一从属条件)连接的顶点,例如,与边414a连接的顶点412b。在所示的示例中,还向顶点412b传送包括值(a)的序列,以指示值(a)已经与初始正则表达式422(a+b+c+)相匹配(例如,已经连接的路径包括(a))。
正则表达式424(a*b+c+)和/或路径426(a)因此可以充当顶点412b的输入,其可以执行类似于顶点412a的处理。顶点412b可以评估从其发出的边,以找到满足所接收的表达式424(a*b+c+)的边。在这种情况下,来自顶点412b的两条边是具有值(a)的边414b和具有值(b)的边414k。正则表达式424(a*b+c+)需要一开始满足均具有值(a)的零个或更多个连续边的条件的边,接着是均具有值(b)的一个或多个连续边。在所示的示例中,仅有发自顶点412b的边414b满足这个条件。具有值(d)的边414k不满足这个条件,并且可以被忽略。
此时,最终将满足初始正则表达式422(a+b+c+)的任何路径都需要从这个点向前均具有值(a)的零个或更多个连续边,接着是具有值(b)的一个或多个均连续边,接着是具有值(c)的边。顶点412b可以在必要时修改所接收的正则表达式424(a*b+c+)。在所示的示例中,修改是不必要的并且不被执行;从这个点往前,要求保持为(a*b+c+)。另外,顶点412b可以修改路径426(a)以指示值(a)已经被匹配两次(例如,已经收集的路径包括(aa))。正则表达式424(a*b+c+)和路径428(aa)被传送到下一个顶点,即连接到最后标识的满足消息420的边的顶点412c。
顶点412c可以评估从顶点412c发出的边,以找到满足所接收的表达式424(a+b+c+)的边。在这种情况下,发自顶点412c的两条边是具有值(a)的边414c和具有值(b)的边414f。正则表达式424(a*b+c+)需要满足均具有值(a)的零个或更多个连续边的条件的边,接着是均具有值(b)的一个或多个连续边。在所示的示例中,发自顶点412c的边414c、414f都满足这个条件。
顶点412c可以在必要时修改所接收的正则表达式424(a*b+c+)。在所示的示例中,对于包括顶点412d的路径,修改是不必要的并且不被执行;从这个点往前,要求保持为(a*b+c+)。顶点412c还可以修改路径428(aa)以指示:对于包括顶点412d的路径,值(a)已经被匹配三次(例如,已经收集的路径包括(aaa))。因此,正则表达式424(a*b+c+)和路径430(aaa)被传送到顶点412d。
另外,顶点412c可以修改所接收的正则表达式424(a*b+c+)以变成正则表达式432(b*c+),其中从这个点往前,对于包括顶点412g和/或边414f的路径,要求为(b*c+)。正则表达式432(b*c+)考虑到边414f具有值(b)。此时,已经发现了一条路径,其包括具有值(a)的边414a,接着是具有值(a)的边414b,接着具有值(b)的边414f。为了满足初始正则表达式424(a+b+c+),从这个点开始往前,将来的边必须要符合以下条件:均具有值(b)的零个或更多个连续边,接着是均具有值(c)的一个或多个边。另外,顶点412c可以修改路径428(aa)以指示值(a)已经被匹配两次并且值(b)已经被匹配一次(例如,已经收集的路径包括(aab))。因此,正则表达式432(b*c+)和路径434(aab)被传送到顶点412g。在所示的示例中,在满足下一从属条件(值(b))时从正则表达式424(a*b+c+)去除第一从属条件(值(a))。
顶点412d和顶点412g可以通过类似方式处理所接收的消息。此外,顶点412d、412g处的处理可以彼此相对和/或针对每个外出边并行和/或串行进行。类似地,顶点412e、412h、412j处的处理和顶点412f、412i、412k处的处理可以彼此相对和/或针对每个外出边并行和/或串行进行。最后,找到满足初始正则表达式424(a+b+c+)的所有条件的三条路径。值得注意的是,可以在顶点412j处满足初始正则表达式422(a+b+c+),并且该过程可以停止,以在数据收集器处存储数据(aabbc)。在另一个示例中,该过程可以继续到顶点412k,因为可以提供更多和/或不同的数据(aabbcc),其也满足初始正则表达式422(a+b+c+)。
在所示的示例中,修改正则表达式424(a*b+c+)以变成正则表达式436(b*c+),其被进一步修改以变成正则表达式440(c*),并且修改路径430(aaa)以变成路径438(aaab),这就是查询响应418a、418b中提供的数据。另外,修改正则表达式432(b*c+)以变成正则表达式444(c*),并且修改路径434(aab)以变成路径446(aabb),其被进一步修改以变成路径448(aabbc),这就是查询响应418a中提供的数据。此外,修改正则表达式432(b*c+)以变成正则表达式450(c*),并且修改路径434(aab)以变成路径452(aabbc),其被进一步修改以变成路径454(aabbcc),这就是查询响应418a中提供的数据。通常,可以按照深度优先的方式、宽度优先的方式等进行图表的处理。
满足消息422的数据可以基于何时发出消息422而改变。例如,查询响应418a包括在特定时间发出消息422时的数据(aaabc,aabbc,aabbcc),而在另一时间发出消息422时,在查询响应418b中可以仅包括数据(aaabc)。图表400可以基于由例如任何或全部顶点412a-412m和/或任何或全部边414a-414j表示的数据的TTL而变化。例如,任何或全部顶点412g-412k可以包括具有值(1)的TTL,该值在时间段t1到期,以提供查询响应418b,该查询响应仅包括在时间段t2发出消息422时的数据(aaabc)。类似地,任何或全部边414f-414j可以包括具有值(1)的TTL,该值在时间段t1到期,以提供查询响应418b,该查询响应仅包括数据(aaabc)。
图表400还可以基于例如由任何或全部顶点412a-412m和/或任何或全部边414a-414j表示的数据的语境而改变。在一个示例中,安全策略可以包括安全规则,例如指示在请求者(例如,用户、组织等)未被授权(例如,没有凭证)在特定时间段访问数据时,不访问任何或全部顶点412g-412k和/或任何或全部边414f-414j。在另一个示例中,使用策略可以包括使用规则,例如指示在特定时间段出于不许可目的挖掘相应数据的使用时,不访问任何或全部顶点412g-412k和/或任何或全部边414f-414j。
在另外的示例中,条件策略可以包括条件规则,例如指示在特定时间段,路径遍历图表410的特定分量或分量序列(例如包括链路414f的路径),接着为链路414g时,不访问任何或全部顶点412g-412k和/或任何或全部边414f-414j。对由图表400的任何或全部分量表示的数据的访问可以基于任何其它因素变化。例如,因素可以包括可用于处理消息422的时间、针对任何或全部顶点412a-412m和/或任何和或全部边414a-414j的权重等。
图5示出了用于提供查询响应的方法500。方法500通常可以在计算架构中实施,计算架构例如是已经论述的装置10(图1)、计算单元20(图1)、任何或全部计算单元112(图2)、任何或全部计算单元312(图3)和/或任何或全部计算单元412(图4)。更具体而言,方法500可以被实施为机器可读或计算机可读存储介质(例如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪速存储器等)中、可配置逻辑(例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD))中、使用电路技术(例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术)的固定功能硬件逻辑中或其任何组合中所存储的一组逻辑指令中的一个或多个模块。例如,可以在一种或多种编程语言(包括面向对象的编程语言,例如C#、JAVA等)的任何组合中编写计算机程序代码以执行方法500中示出的操作。
所示的处理框510将知识库表示为包括连接两个或更多个计算单元的链路的图表。该知识库可以包括,例如社交网络数据、地理数据、传感器数据、安全分析数据等。处理框510可以产生计算单元,可以产生链路和/或可以向图表的分量分配(例如,自动,基于经由用户接口的用户输入等)属性。在一个示例中,演员可以表示图表中的顶点,并且可以是与其他演员隔离且独立的计算的个体单元。演员可以存在于相同机器或不同机器中的不同过程中。
图表的顶点可以发送和接收消息,这可能是顶点能够通信和交互的唯一方式。消息可以包括包含路径和正则表达式的对。因此,例如,如果(r)是初始正则表达式,且(s,p)是消息,则该架构可以保证对于满足前缀(s)的每条路径(pi),其中(p.pi)满足(r)。换言之,如果该架构采用已经匹配的路径和满足尚未匹配的正则表达式的路径,并且路径被组合,那么该架构将确定满足正则表达式的路径。
所示的处理框512接收查询。在一个示例中,处理框512可以评估包括查询(例如,到达顶点的查询)的消息,可以确定已经通过消息收集的路径,可以为要发出查询的实体确定实体标识符,可以确定查询标识符,和/或可以确定查询(例如,正则表达式)。要注意的是,特定图表中可能有较大数量的查询(例如,数百万消息)流动。
所示的处理框514为与计算单元相关联的数据确定生存时间(TTL)的值。处理框514可以在TTL到期时不允许访问数据。在一个示例中,处理框514可以为由计算单元表示的数据确定单元TTL的值,可以为由连接计算单元和相邻计算单元的链路表示的数据确定链路TTL的值,和/或可以为由特定路径中的所有计算单元和/或连接特定路径中所有计算单元的所有链路表示的数据确定路径TTL的值。
所示的处理框516判断是否有时间可用于供计算单元处理消息(例如,查询)和/或是否有时间可用于供消息(例如,查询)到达相邻计算单元。所示的处理框518判断相邻计算单元是否为查询响应提供数据。所示的处理框520为与计算单元相关联的数据确定语境。例如,处理框520可以为由计算单元表示的数据确定语境,可以为由连接计算单元和相邻计算单元的链路表示的数据确定语境,和/或可以为由特定路径中的所有计算单元和/或连接特定路径中所有计算单元的所有链路表示的数据确定语境。
因此,例如,在请求建议的用户不是“喜欢”电影的人的朋友时,可以不提供包括另外满足社交网络图表中电影建议的请求的数据(例如,可以不过期)的建议。在另一个示例中,在不允许使用用途统计(例如,营销)时,可以不提供在物联网中包括另外可以满足对用途统计的请求的数据(例如,可以不过期)的传感器输出。在另外的示例中,基于通过表示另一城市的特定顶点的条件(例如,不能经由城市B到城市A),在不允许通过表示城市的特定顶点的路径时,可以不提供包括另外满足对地理图表中目的地的请求的数据(例如,可以不过期)的路线。在最终的示例中,在未授权用户访问文件时,在要以禁止方式使用文件时等等,可以不在安全分析图表中提供受影响的计算机访问过哪个文件的判断。
所示的处理框522判断与计算单元相关联的数据是否满足查询。在一个示例中,处理框522可以判断与计算单元相关联的数据是否匹配查询和/或可以为与计算单元相关联的数据确定权重值。所示的处理框524产生查询响应,其包括与计算单元相关联的满足查询的数据。在一个示例中,查询响应可以包括具有更新路径和/或更新查询的更新消息。例如,特定顶点可以修改该消息以满足先前的不变量。根据特定顶点和/或特定外出边的属性,特定顶点可以修改所接收的表达式并向相邻顶点发送具有新正则表达式的新消息和/或新前缀路径。
在另一个示例中,该查询响应可以是最终查询响应,包括来自路径的满足查询的所有数据。例如,查询的结果可以包括通过图表行进的消息所收集到的结果的最终汇集。应当理解,处理框510-524的任何处理框都可以被省略、重新布置、重复等。例如,处理框510可以包括在方法500中,但在与处理框512-524的任何或全部相同的计算架构处执行时被省略。
图6示出了提供查询响应的方法600。方法600通常可以在计算架构中实施,计算架构例如是已经论述的装置10(图1)、计算单元20(图1)、任何或全部计算单元112(图2)、任何或全部计算单元312(图3)和/或任何或全部计算单元412(图4)。更具体而言,方法600可以被实施为机器可读或计算机可读存储介质(例如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪速存储器等)中、可配置逻辑(例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD))中、使用电路技术(例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术)的固定功能硬件逻辑器件中或其任何组合中所存储的一组逻辑指令中的一个或多个模块。例如,可以在一种或多种编程语言(包括面向对象的编程语言,例如C#、JAVA等)的任何组合中编写计算机程序代码以执行方法600中示出的操作。
所示的处理框610(例如,在顶点处)接收消息。所示的处理框612为由顶点表示的数据确定单元TTL的值。在方框614判断单元TTL是否过期。如果过期,所示的处理框616丢弃该消息。如果未过期,所示的处理框618为由顶点表示的数据确定语境。在方框620判断是否许可语境。如果不许可,图示的处理框616丢弃该消息。如果许可,在方框622判断由顶点表示的数据是否满足消息的查询。如果满足,所示的处理框624更新查询。如果不满足,所示的处理框616丢弃该消息。
在方框626判断查询是否完成。如果完成,所示的处理框628向数据收集器发送包括由顶点表示的数据的消息。如果未完成,方框630判断是否有时间可用于供消息(例如,查询)达到相邻顶点。如果没有,所示的处理框616丢弃该消息。如果有,所示的处理框632为由连接顶点和相邻顶点的边表示的数据确定链路TTL的值。在方框634判断链路TTL是否过期。如果过期,所示的处理框636丢弃该边。如果未过期,所示的处理框638为与该边相关联的数据确定语境。
在方框640判断是否许可语境。如果不许可,所示的处理框636丢弃该边。如果许可,在方框642判断由该边表示的数据是否满足查询。如果不许可,所示的处理框636丢弃该查询。如果许可,在方框644判断该近邻是否已经被消息(例如,查询)访问过。如果访问过,所示的处理框636丢弃该边。如果未被访问,处理框624更新该查询。
在处理框626判断查询是否完成。如果完成,处理框628向数据收集器发送包括由该边(和顶点)表示的数据的消息。如果未完成,方框630判断是否有时间供消息(例如,查询)达到另一个相邻顶点(例如,多个外出的边)。可以根据需要重复至少在方框630和方框644之间的操作。另外,图表的每个顶点可以串行和/或并行执行方框610和644之间的操作。此外,处理框中的任何处理框可以被省略、重新布置等等。
图7示出了根据一个实施例的处理器内核200。该处理器内核200可以是用于任何类型处理器的内核,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或执行代码的其它设备。尽管图7中仅示出了一个处理器内核200,但处理元件可以替代地包括超过一个图7中所示的处理器内核200。处理器内核200可以是单线程内核,或者对于至少一个实施例而言,处理器内核200可以是多线程的,即其包括每个内核超过一个硬件线程语境(或“逻辑处理器”)。
图7还示出了耦合到处理器内核200的存储器270。存储器270可以是本领域技术人员已知或通过其它方式可获得的多种存储器(包括分级存储器体系的各个层)中的任何存储器。存储器270可以包括一个或多个要由处理器内核200执行的代码213的(多个)指令,其中代码213可以实施已经论述的方法500(图5)和/或方法600(图6)。处理器内核200遵循由代码213指示的指令的程序序列。每条指令都可以进入前端部分210并由一个或多个解码器220处理。解码器220可以产生微操作作为其输出,例如预定义格式的固定宽度的微操作,或者可以产生反映初始代码指令的其它指令、微指令或控制信号。所示的前端部分210还包括对逻辑225重命名并调度逻辑230的寄存器,其通常分配资源并对对应于用于执行的转换指令的操作进行排序。
处理器内核200被示为包括具有一组执行单元255-1到255-N的执行逻辑250。一些实施例可以包括专用于特定功能或功能集合的若干执行单元。其它实施例可以包括仅一个执行单元或能够执行特定功能的一个执行单元。所示的执行逻辑250执行由代码指令指定的操作。
在完成由代码指令指定的操作的执行之后,后端逻辑260撤回代码213的指令。在一个实施例中,处理器内核200允许不按顺序执行,但需要指令按照次序撤回。撤回逻辑265可以采用本领域的技术人员公知的各种形式(例如,重新对缓存排序等)。通过这种方式,在执行代码213期间至少在解码器产生的输出、对逻辑225重命名的寄存器利用的硬件寄存器和表以及执行逻辑250修改的任何寄存器(未示出)方面变换处理器内核200。
尽管图7中未示出,但处理元件可以在芯片上包括与处理器内核200一起的其它元件。例如,处理元件可以包括存储器控制逻辑连同处理器内核200。处理元件可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑一起集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
现在参见图8,其示出了根据实施例的系统1000的实施例方框图。图8中示出的是多处理器系统1000,其包括第一处理元件1070和第二处理元件1080。尽管示出了两个处理元件1070和1080,但要理解,系统1000的实施例还可以包括仅一个这样的处理元件。
系统1000被视为点到点互连系统,其中第一处理元件1070和第二处理元件1080经由点到点互连1050耦合。应当理解,图8中所示的任何或全部互连可以被实施为多点复用总线而不是点到点互连。
如图8中所示,处理元件1070和1080中的每个可以是多核处理器,包括第一和第二处理器内核(即,处理器内核1074a和1074b以及处理器内核1084a和1084b)。这样的内核1074a、1074b、1084a、1084b可以被配置为以类似于上文结合图7所述的方式执行指令代码。
每个处理元件1070、1080可以包括至少一个共享高速缓存1896a、1896b(例如,静态随机存取存储器/SRAM)。共享高速缓存1896a、1896b可以存储由处理器的一个或多个部件(例如分别为内核1074a、1074b和1084a、1084b)利用的数据(例如,对象、指令)。例如,共享高速缓存1896a、1896b可以在本地高速缓存存储器1032、1034中所存储的数据,以由处理器的部件更快存取。在一个或多个实施例中,共享高速缓存1896a、1896b可以包括一个或多个中级高速缓存,例如2级(L2)、3级(L3)、4级(L4)或其它级别的高速缓存、最末级高速缓存(LLC)和/或其组合。
尽管被示为仅有两个处理元件1070、1080,但要理解,实施例的范围不受此限制。在其它实施例中,在给定处理器中可以有一个或多个额外的处理元件。替代地,处理元件1070、1080中的一个或多个可以是处理器之外的元件,例如,加速器或现场可编程门阵列。例如,(多个)额外的处理元件可以包括与第一处理器1070相同的(多个)额外处理器、与第一处理器1070异构或不对称的(多个)额外处理器、加速器(例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列或任何其它处理元件。在处理元件1070、1080之间在品质因数谱方面可能有各种差异,品质因数谱包括架构、微架构、热、功耗特性等。这些差异可以有效地表明自身在处理元件1070、1080之间是不对称和异构的。对于至少一个实施例而言,各种处理元件1070、1080可以存在于相同管芯封装中。
第一处理元件1070还可以包括存储器控制器逻辑(MC)1072和点到点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC1082和P-P接口1086和1088。如图8中所示,MC 1072和1082将处理器耦合到相应存储器,即存储器1032和存储器1034,它们可以是本地附着到相应处理器的主存储器的部分。尽管MC 1072和1082被示为集成到处理元件1070、1080中,但对于替代实施例而言,MC逻辑可以是处理元件1070、1080外部的分立逻辑而不是集成于其中。
第一处理元件1070和第二处理元件1080可以分别经由P-P互连1076、1086耦合到I/O子系统1090。如图7中所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括接口1092,以将I/O子系统1090与高性能图形引擎1038耦合。在一个实施例中,总线1049可以用于将图形引擎1038耦合到I/O子系统1090。替代地,点到点互连可以耦合这些部件。
进而,I/O子系统1090可以经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围部件互连(PCI)总线或诸如快速PCI总线或另一种第三代I/O互连总线之类的总线,虽然实施例的范围不受此限制。
如图8中所示,各种I/O设备1014(例如,相机、传感器)可以连同总线桥1018一起耦合到第一总线1016,总线桥1018将第一总线1016耦合到第二总线1020。在一个实施例中,第二总线1020可以是低管脚数(LPC)总线。各种设备可以耦合到第二总线1020,各种设备例如包括键盘/鼠标1012、(多个)网络控制器/通信设备1026(其进而可以与计算机网络通信)以及数据储存单元1019(例如磁盘驱动器或其它大容量储存设备),在一个实施例中,数据储存单元1019可以包括代码1030。代码1030可以包括用于执行上文所述一个或多个方法的实施例的指令。因此,所示的代码1030可以实施已经论述的方法500(图5)和/或方法600(图6),并可以类似于已经论述的代码213(图7)。此外,音频I/O 1024可以耦合到第二总线1020。
注意,可以设想其它实施例。例如,代替图8的点到点架构,系统可以实施多点复用总线或另一种这样的通信拓扑结构。而且,图8的元件也可以使用比图8所示更多或更少的集成芯片来划分。此外,(多个)网络控制器/通信设备1026可以被实施为HFI(主机交换接口),也称为NIC(网络接口卡),其与同一管芯上或同一封装中的一个或多个处理元件1070、1080一起集成。
附加的注释和示例
示例1可以包括一种提供查询响应的系统,包括向数据收集器提供满足查询的数据的接口和/或计算单元,该计算单元包括消息分析器以评估包括要到达计算单元的查询的消息、时间分析器以为与计算单元相关联的数据确定生存时间(TTL)的值,其中在TTL过期时该计算单元不允许访问数据,内容分析器以判断与计算单元相关联的数据是否满足查询和/或响应发生器以产生查询响应,该查询响应包括与计算单元相关联,满足查询的数据。
示例2可以包括示例1的系统,其中,消息分析器包括:路径评估器以确定已经由消息收集的路径,实体评估器以为要发出查询的实体确定实体标识符和/或查询评估器以确定查询标识符和/或查询中的一个或多个,其中查询要包括正则表达式。
示例3可以包括示例1到2的任一项所述的系统,其中,时间分析器要包括可用时间评估器,以判断是否有时间可供一个或多个计算单元处理要到达相邻计算单元的查询和/或消息,单元TTL评估器以为由计算单元表示的数据确定单元TTL的值,链路TTL评估器以为由连接计算单元和相邻计算单元的链路表示的数据确定链路TTL的值,和/或路径TTL评估器以为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定路径TTL的值。
示例4可以包括示例1-3的任一项所述的系统,其中,还包括语境分析器,该语境分析器包括单元语境评估器以为由计算单元表示的数据确定语境,链路语境评估器以确定由连接计算单元和相邻计算单元的链路表示的数据确定语境,和/或路径语境评估器,以为由特定路径中的所有计算单元和/或连接特定路径中所有计算单元的所有链路中的一个或多个表示的数据确定语境。
示例5可以包括示例1到4的任一项所述的系统,其中,内容分析器还包括数据匹配器,以判断与计算单元相关联的数据是否匹配查询,和/或权重分析器,以为与计算单元相关联的数据确定权重值。
示例6可以包括示例1到5的任一项所述的系统,还包括相邻分析器,以判断相邻计算单元是否要为查询响应提供数据,其中计算单元在相邻计算单元为查询响应提供数据时,不允许访问连接计算单元与相邻计算单元的链路。
示例7可以包括示例1到6的任一项所述的系统,还包括数据建模器,以将知识库表示为包括连接两个或更多计算单元的图表,其中图表中的两个或更多计算单元的每个独立计算。
示例8可以包括一种提供查询响应的装置,包括:时间分析器,以为与计算单元相关联的数据确定生存时间(TTL)的值,其中该计算单元在TTL到期时不允许访问数据,内容分析器,以判断与计算单元相关联的数据是否满足查询,和/或响应发生器,以产生包括与计算单元相关联,满足查询的数据的查询响应。
示例9可以包括示例8的装置,还包括消息分析器以评估包括要到达计算单元的查询的消息,其中,消息分析器包括:路径评估器,以确定已经由消息收集的路径,实体评估器以为要发出查询的实体确定实体标识符和/或查询评估器以确定查询标识符和/或查询中的一个或多个。
示例10可以包括示例8到9的任一项的装置,其中时间分析器要包括可用时间评估器以判断是否有时间可用于供一个或多个计算单元处理查询和/或供计算单元处理要到达相邻计算单元的查询和/或消息。
示例11可以包括示例8到10的任一项所述的装置,其中,时间分析器要包括单元TTL评估器以为由计算单元表示的数据确定单元TTL的值,链路TTL评估器以为由连接计算单元和相邻计算单元的链路表示的数据确定链路TTL的值,和/或路径TTL评估器以为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定路径TTL的值。
示例12可以包括示例8到11的任一项所述的装置,其中,还包括语境分析器,该语境分析器包括单元语境评估器以为由计算单元表示的数据确定语境,链路语境评估器以确定由连接计算单元和相邻计算单元的链路表示的数据确定语境,和/或路径语境评估器,以为由特定路径中的所有计算单元和/或连接特定路径中所有计算单元的所有链路表示的数据确定语境。
示例13可以包括示例8到12的任一项所述的装置,其中,内容分析器还包括数据匹配器,以判断与计算单元相关联的数据是否匹配查询,和/或权重分析器,以为与计算单元相关联的数据确定权重值。
示例14可以包括示例8到13的任一项所述的装置,还包括相邻分析器以判断相邻计算单元是否要为查询响应提供数据。
示例15可以包括示例8到14的任一项所述的装置,还包括数据建模器以将知识库表示成包括连接两个或更多计算单元的链路的图表。
示例16可以包括一种提供查询响应的方法,包括:为与计算单元相关联的数据确定生存时间(TTL)的值,其中该计算单元在TTL到期时不允许访问数据,判断与计算单元相关联的数据是否满足查询,和/或产生包括与计算单元相关联,满足查询的数据的查询响应。
示例17可以包括示例16所述的方法,还包括评估包括到达计算单元的查询的消息,确定消息已经收集的路径,为发出查询的实体确定实体标识符和/或确定查询标识符和/或查询中的一个或多个。
示例18可以包括示例16-17的任一项所述的方法,还包括判断是否有时间可用于供计算单元处理查询,和/或判断是否有时间可用于供消息到达相邻计算单元。
示例19可以包括示例16-18的任一项所述的方法,还包括为由计算单元表示的数据确定单元TTL的值,为由连接计算单元和相邻计算单元的链路表示的数据确定链路TTL的值,和/或为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定路径TTL的值。
示例20可以包括示例16到19的任一项所述的方法,还包括为由计算单元表示的数据确定语境,为由连接计算单元和相邻计算单元的链路表示的数据确定语境,和/或为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定语境。
示例21可以包括示例16-20的任一项所述的方法,还包括判断与计算单元相关联的数据是否匹配查询,和/或为与计算单元相关联的数据确定权重值。
示例22可以包括示例16-21的任一项所述的方法,还包括判断相邻计算单元是否为查询响应提供数据。
示例23可以包括示例16-22的任一项所述的方法,还包括将知识库表示成包括连接两个或更多计算单元的链路的图表。
示例24可以包括至少一种计算机可读存储介质,包括一组指令,在被设备执行时,令设备为与计算单元相关联的数据确定生存时间(TTL)的值,其中该计算单元在TTL到期时不允许访问数据,判断与计算单元相关联的数据是否满足查询,和/或产生包括与计算单元相关联,满足查询的数据的查询响应。
示例25可以包括示例24所述的至少一种计算机可读存储介质,其中该指令在被执行时令设备评估包括要到达计算单元的查询的消息,确定该消息已经收集的路径,为要发出查询的实体确定实体标识符,和/或确定查询标识符和/或查询中的一个或多个。
示例26可以包括示例24到25的任一项所述的至少一种计算机可读存储介质,其中,该指令在被执行时令设备判断是否有时间可用于供计算单元处理查询,和/或判断是否有时间可用于供消息到达相邻计算单元。
示例27可以包括示例24到26的任一项所述的至少一种计算机可读存储介质,其中该指令在被执行时令设备为由计算单元表示的数据确定单元TTL的值,为由连接计算单元和相邻计算单元的链路表示的数据确定链路TTL的值,和/或为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定路径TTL的值。
示例28可以包括示例24到27的任一项所述的至少一种计算机可读存储介质,其中该指令在被执行时令设备为由计算单元表示的数据确定语境,为由连接计算单元和相邻计算单元的链路表示的数据确定语境,和/或为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定语境。
示例29可以包括示例24-28的任一项所述的至少一种计算机可读存储介质,其中,该指令在被执行时令设备判断与计算单元相关联的数据是否匹配查询和/或为与计算单元相关联的数据确定权重值。
示例30可以包括示例24到29的任一项所述的至少一种计算机可读存储介质,其中,所述指令在被执行时令设备判断相邻计算单元是否要为查询响应提供数据。
示例31可以包括示例24到30的任一项所述的至少一种计算机可读存储介质,其中,所述指令在被执行时令设备将知识库表示为包括连接两个或更多计算单元的链路的图表。
示例32可以包括一种提供查询响应的装置,包括:为与计算单元相关联的数据确定生存时间(TTL)的值的模块,其中该计算单元在TTL到期时不允许访问数据,判断与计算单元相关联的数据是否满足查询的模块,和/或产生包括与计算单元相关联,满足查询的数据的查询响应的模块。
示例33可以包括示例32所述的装置,还包括用于评估包括到达计算单元的查询的消息的模块,用于确定消息已经收集的路径的模块,用于为发出查询的实体确定实体标识符和/或确定查询标识符和/或查询中的一个或多个的模块。
示例34可以包括示例32到33的任一项所述的装置,还包括用于判断是否有时间可用于供计算单元处理查询的模块,和/或用于判断是否有时间可用于供消息到达相邻计算单元的模块。
示例35可以包括示例32到34的任一项所述的装置,还包括用于为由计算单元表示的数据确定单元TTL的值的模块,用于为由连接计算单元和相邻计算单元的链路表示的数据确定链路TTL的值的模块,和/或用于为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定路径TTL的值的模块。
示例36可以包括示例32到35的任一项所述的装置,还包括用于为由计算单元表示的数据确定语境的模块,用于为由连接计算单元和相邻计算单元的链路表示的数据确定语境的模块,和/或用于为由特定路径中所有计算单元和/或连接特定路径中所有计算单元的所有链路的一个或多个表示的数据确定语境的模块。
示例37可以包括示例32到36的任一项所述的装置,还包括用于判断与计算单元相关联的数据是否匹配查询的模块,和/或用于为与计算单元相关联的数据确定权重值的模块。
示例38可以包括示例32到37的任一项所述的装置,还包括用于判断相邻计算单元是否要为查询响应提供数据的模块。
示例39可以包括示例32到38的任一项所述的装置,还包括用于将知识库表示成包括连接两个或更多计算单元的链路的图表的模块。
因此,本文描述的技术可以基于临时数据提供查询响应。在一个示例中,查询响应可以基于语境临时数据。结果,可以利用图表提供有效的资源利用以提供查询响应。例如,图表中的顶点可以没有描述,并且其位置可以对于图表中的另一个顶点透明,以提供可缩放性,同时计算查询响应并处理临时数据。实际上,本文描述的技术可以提供非集中式架构以处理时间戳和数据管理。此外,本文描述的技术可以考虑语境,使得对数据的访问不仅仅基于时间戳。
实施例适用于所有类型的半导体集成电路(“IC”)芯片。这些IC芯片的示例包括但不限于:处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。另外,在一些附图中,利用线条表示信号传导线。一些线条可能不同,以指示更多组成的信号路径,其具有数字标记以指示若干组成的信号路径和/或在一个或多个末端具有箭头,以指示基本信息流方向。然而,不应以限制性方式理解这一点。相反,可以结合一个或多个示例性实施例使用这样添加的细节以便于更容易地理解电路。任何表示的信号线,无论是否具有额外信息,都可以实际包括一个或多个信号,信号可以在多个方向上行进并可以利用任何适合类型的信号方案实施,信号方案例如是利用差分对、光纤线路和/或单端线路实施的数字或模拟线。
已经给出了示例性尺寸/模型/值/范围,虽然实施例不限于这些。随着制造技术(例如,光刻)随着时间成熟,预计可以制造更小尺寸的设备。另外,在附图中为了说明和论述简单,可以或可以不示出通往IC芯片和其它部件的公知电源/地连接,以免使实施例的特定方面难以理解。此外,可以按照方框图的形式示出布置,以免使实施例难以理解,并且还考虑如下事实:相对于这种方框图布置的实施方式的具体细节高度取决于要实施该实施例的平台,即,这样的具体细节应当在本领域技术人员的见识之内。在阐述具体细节(例如,电路)以便描述示例性实施例的情况下,对于本领域的技术人员应当显而易见的是,可以在有或没有这些具体细节的变化的情况下实践实施例。因此描述被视为说明性的而非限制性的。
本文可以使用术语“耦合”来指代所考虑的部件之间的任何类型的直接或间接关系,并且可以适用于电气、机械、流体、光学、电磁、机电或其它连接。另外,术语“第一”、“第二”等在本文中仅用于便于论述,并且除非另外指明,否则不带有任何特定的时间或时序意义。
如本申请和权利要求中所使用的,由术语“……中的一个或多个”连接的项目列表可以意指所列出的项目的任何组合。例如,短语“A、B或C中的一个或多个”可以意指A;B;C;A和B;A和C;B和C;或A、B和C。另外,由术语“等”或“等等”连接的项目列表可以意指所列出的项目的任何组合以及与其它项目的任何组合。
本领域的技术人员根据前面的描述将意识到,可以以各种形式实施实施例的宽泛技术。因此,尽管已经结合其特定示例描述了实施例,但实施例的真正范围不应受此限制,因为在研究附图、说明书和如下权利要求时,其它修改对于技术人员将变得显而易见。
Claims (26)
1.一种提供查询响应的系统,包括:
接口,其向数据收集器提供满足查询的数据;以及
计算单元,其包括:
消息分析器,其对包括要到达所述计算单元的查询的消息进行评估;
时间分析器,其为与所述计算单元相关联的数据确定生存时间(TTL)的值,其中,在所述TTL到期时所述计算单元不允许访问所述数据;
内容分析器,其判断与所述计算单元相关联的数据是否满足查询;以及
响应发生器,其产生查询响应,所述查询响应包括与所述计算单元相关联的满足所述查询的数据。
2.根据权利要求1所述的系统,其中,所述消息分析器包括:
路径评估器,其确定已经由所述消息收集的路径;
实体评估器,其为将要发出所述查询的实体确定实体标识符;以及
查询评估器,其确定查询标识符或查询中的一个或多个,其中,所述查询包括正则表达式。
3.根据权利要求1所述的系统,其中,所述时间分析器包括:
可用时间评估器,其判断是否有时间能够供所述计算单元中的一个或多个来处理要到达相邻计算单元的所述查询或消息;
单元TTL评估器,其为由所述计算单元表示的数据确定单元TTL的值;
链路TTL评估器,其为由连接所述计算单元和相邻计算单元的链路表示的数据确定链路TTL的值;以及
路径TTL评估器,其为由特定路径中的所有计算单元或连接所述特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定路径TTL的值。
4.根据权利要求1所述的系统,进一步包括语境分析器,所述语境分析器包括:
单元语境评估器,其为由所述计算单元表示的数据确定语境;
链路语境评估器,其为由连接所述计算单元和相邻计算单元的链路表示的数据确定语境;以及
路径语境评估器,其为由特定路径中的所有计算单元或连接特定路径中所有计算单元的所有链路中的一个或多个表示的数据确定语境。
5.根据权利要求1所述的系统,其中,所述内容分析器进一步包括:
数据匹配器,其判断与所述计算单元相关联的数据是否匹配所述查询;以及
权重分析器,其为与所述计算单元相关联的数据确定权重值。
6.根据权利要求1所述的系统,进一步包括相邻分析器,所述相邻分析器判断相邻计算单元是否要为所述查询响应提供数据,其中,所述计算单元在所述相邻计算单元为所述查询响应提供数据时,不允许对连接所述计算单元与所述相邻计算单元的链路进行访问。
7.根据权利要求1到6中的任一项所述的系统,进一步包括数据建模器,所述数据建模器将知识库表示为包括连接两个或更多个计算单元的链路的图表,其中,所述图表中的两个或更多个计算单元中的每个计算单元独立地进行计算。
8.一种提供查询响应的装置,包括:
时间分析器,其为与计算单元相关联的数据确定生存时间(TTL)的值,其中,在所述TTL到期时所述计算单元不允许访问所述数据;
内容分析器,其判断与所述计算单元相关联的数据是否满足查询;以及
响应发生器,其产生查询响应,所述查询响应包括与所述计算单元相关联的满足所述查询的数据。
9.根据权利要求8所述的装置,进一步包括消息分析器,所述消息分析器对包括要到达所述计算单元的所述查询的消息进行评估,其中,所述消息分析器包括以下中的一项或多项:
路径评估器,其确定已经由所述消息收集的路径;
实体评估器,其为要发出所述查询的实体确定实体标识符;或者
查询评估器,其确定查询标识符或查询中的一个或多个。
10.根据权利要求8所述的装置,其中,所述时间分析器包括可用时间评估器,所述可用时间评估器判断是否有时间能够供所述计算单元中的一个或多个来处理要到达相邻计算单元的所述查询或消息。
11.根据权利要求8所述的装置,其中,所述时间分析器包括以下中的一项或多项:
单元TTL评估器,其为由所述计算单元表示的数据确定单元TTL的值;
链路TTL评估器,其为由连接所述计算单元和相邻计算单元的链路表示的数据确定链路TTL的值;或者
路径TTL评估器,其为由特定路径中的所有计算单元或连接所述特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定路径TTL的值。
12.根据权利要求8所述的装置,进一步包括语境分析器,所述语境分析器包括以下中的一项或多项:
单元语境评估器,其为由所述计算单元表示的数据确定语境;
链路语境评估器,其为由连接所述计算单元和相邻计算单元的链路表示的数据确定语境;或者
路径语境评估器,其为由特定路径中的所有计算单元或连接特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定语境。
13.根据权利要求8所述的装置,其中,所述内容分析器进一步包括以下中的一项或多项:
数据匹配器,其判断与所述计算单元相关联的数据是否匹配所述查询;或者
权重分析器,其为与所述计算单元相关联的数据确定权重值。
14.根据权利要求8所述的装置,进一步包括相邻分析器,所述相邻分析器判断相邻计算单元是否要为所述查询响应提供数据。
15.根据权利要求8到14中的任一项所述的装置,进一步包括数据建模器,所述数据建模器将知识库表示为包括连接两个或更多个计算单元的链路的图表。
16.一种提供查询响应的方法,包括:
为与计算单元相关联的数据确定生存时间(TTL)的值,其中,在所述TTL到期时所述计算单元不允许访问所述数据;
判断与所述计算单元相关联的数据是否满足查询;以及
产生查询响应,所述查询响应包括与所述计算单元相关联的满足所述查询的数据。
17.根据权利要求16所述的方法,进一步包括以下中的一项或多项:
对包括要到达所述计算单元的查询的消息进行评估;
确定已经由所述消息收集的路径;
为发出所述查询的实体确定实体标识符;或者
确定查询标识符或查询中的一个或多个。
18.根据权利要求16所述的方法,进一步包括以下中的一项或多项:
判断是否有时间能够供所述计算单元来处理所述查询;或者
判断是否有时间能够供消息到达相邻计算单元。
19.根据权利要求16所述的方法,进一步包括以下中的一项或多项:
为由所述计算单元表示的数据确定单元TTL的值;
为由连接所述计算单元和相邻计算单元的链路表示的数据确定链路TTL的值;或者
为由特定路径中的所有计算单元或连接所述特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定路径TTL的值。
20.根据权利要求16到18中的任一项所述的方法,进一步包括以下中的一项或多项:
为由所述计算单元表示的数据确定语境;
为由连接所述计算单元和相邻计算单元的链路表示的数据确定语境;或者
为由特定路径中的所有计算单元或连接特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定语境。
21.至少一种计算机可读存储介质,包括一组指令,所述指令在由设备执行时,使得所述设备:
为与计算单元相关联的数据确定生存时间(TTL)的值,其中,在所述TTL到期时所述计算单元将不允许访问所述数据;
判断与所述计算单元相关联的数据是否满足查询;以及
产生查询响应,所述查询响应包括与所述计算单元相关联的满足所述查询的数据。
22.根据权利要求20所述的至少一种计算机可读存储介质,其中,所述指令在被执行时,使得设备执行以下中的一项或多项:
判断是否有时间能够供所述计算单元来处理所述查询;或者
判断是否有时间能够供消息到达相邻计算单元。
23.根据权利要求20所述的至少一种计算机可读存储介质,其中,所述指令在被执行时,使得所述设备执行以下中的一项或多项:
为由所述计算单元表示的数据确定单元TTL的值;
为由连接所述计算单元和相邻计算单元的链路表示的数据确定链路TTL的值;或者
为由特定路径中的所有计算单元或连接所述特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定路径TTL的值。
24.根据权利要求20所述的至少一种计算机可读存储介质,其中,所述指令在被执行时,使得设备执行以下中的一项或多项:
为由所述计算单元表示的数据确定语境;
为由连接所述计算单元和相邻计算单元的链路表示的数据确定语境;或者
为由特定路径中的所有计算单元或连接特定路径中的所有计算单元的所有链路中的一个或多个表示的数据确定语境。
25.根据权利要求20所述的至少一种计算机可读存储介质,其中,所述指令在被执行时,使得所述设备执行以下中的一项或多项:
判断与所述计算单元相关联的数据是否匹配所述查询;
为与所述计算单元相关联的数据确定权重值;或者
判断相邻计算单元是否要为所述查询响应提供数据。
26.一种提供查询响应的装置,包括执行根据权利要求16到19中的任一项所述的方法的模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/751,841 | 2015-06-26 | ||
US14/751,841 US10853370B2 (en) | 2015-06-26 | 2015-06-26 | Devices and/or methods to provide a query response based on ephemeral data |
PCT/US2016/033788 WO2016209459A1 (en) | 2015-06-26 | 2016-05-23 | Devices and/or methods to provide a query response based on ephemeral data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107771333A true CN107771333A (zh) | 2018-03-06 |
CN107771333B CN107771333B (zh) | 2022-04-19 |
Family
ID=57586443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680030456.XA Active CN107771333B (zh) | 2015-06-26 | 2016-05-23 | 基于临时数据提供查询响应的设备和/或方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10853370B2 (zh) |
EP (1) | EP3314479A4 (zh) |
JP (1) | JP6728227B2 (zh) |
CN (1) | CN107771333B (zh) |
WO (1) | WO2016209459A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8462161B1 (en) * | 2009-01-20 | 2013-06-11 | Kount Inc. | System and method for fast component enumeration in graphs with implicit edges |
US10831771B2 (en) * | 2015-07-06 | 2020-11-10 | Sap Se | Interactive exploration of large graphs |
US10310762B1 (en) * | 2016-08-30 | 2019-06-04 | EMC IP Holding Company LLC | Lease-based leader designation for multiple processes accessing storage resources of a storage system |
CN110324380B (zh) * | 2018-03-30 | 2021-09-07 | 北京忆芯科技有限公司 | 利用kv存储设备的云计算与雾计算系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080060588A (ko) * | 2006-12-27 | 2008-07-02 | 강원대학교산학협력단 | 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적패킷유지시간 설정 방법 |
CN101364958A (zh) * | 2008-09-05 | 2009-02-11 | 西安电子科技大学 | 基于非结构化p2p网络的搜索方法 |
US20090307192A1 (en) * | 2008-06-10 | 2009-12-10 | Microsoft Corporation | Virtualizing objects within queries |
US20110246498A1 (en) * | 2008-06-05 | 2011-10-06 | International Business Machines Corporation | Context-based security policy evaluation using weighted search trees |
CN102625402A (zh) * | 2012-03-01 | 2012-08-01 | 昆明理工大学 | 一种关于移动Ad-Hoc网络路径发现和选择的方法 |
CN104717238A (zh) * | 2013-12-12 | 2015-06-17 | 上海财经大学 | 移动自组网中基于蚁群算法的分布式服务组合方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003562B2 (en) * | 2001-03-27 | 2006-02-21 | Redseal Systems, Inc. | Method and apparatus for network wide policy-based analysis of configurations of devices |
US20020194154A1 (en) * | 2001-06-05 | 2002-12-19 | Levy Joshua Lerner | Systems, methods and computer program products for integrating biological/chemical databases using aliases |
US8144632B1 (en) | 2006-06-28 | 2012-03-27 | Insors Integrated Communications | Methods, systems and program products for efficient communications during data sharing event |
US7506011B2 (en) | 2006-07-26 | 2009-03-17 | International Business Machines Corporation | System and apparatus for optimally trading off the replication overhead and consistency level in distributed applications |
US20100318537A1 (en) | 2009-06-12 | 2010-12-16 | Microsoft Corporation | Providing knowledge content to users |
US8185558B1 (en) | 2010-04-19 | 2012-05-22 | Facebook, Inc. | Automatically generating nodes and edges in an integrated social graph |
US8290937B2 (en) * | 2010-08-30 | 2012-10-16 | International Business Machines Corporation | Estimating and monitoring query processing time |
US20120066249A1 (en) * | 2010-09-14 | 2012-03-15 | Microsoft Corporation | Utilizing hierarchy metadata to improve path selection |
US20130091266A1 (en) * | 2011-10-05 | 2013-04-11 | Ajit Bhave | System for organizing and fast searching of massive amounts of data |
US8533182B1 (en) * | 2012-05-31 | 2013-09-10 | David P. Charboneau | Apparatuses, systems, and methods for efficient graph pattern matching and querying |
US20140071135A1 (en) * | 2012-09-07 | 2014-03-13 | Magnet Systems Inc. | Managing activities over time in an activity graph |
US9501521B2 (en) | 2013-07-25 | 2016-11-22 | Facebook, Inc. | Systems and methods for detecting missing data in query results |
US9514230B2 (en) * | 2013-07-30 | 2016-12-06 | Facebook, Inc. | Rewriting search queries on online social networks |
US9594824B2 (en) * | 2014-06-24 | 2017-03-14 | International Business Machines Corporation | Providing a visual and conversational experience in support of recommendations |
-
2015
- 2015-06-26 US US14/751,841 patent/US10853370B2/en active Active
-
2016
- 2016-05-23 WO PCT/US2016/033788 patent/WO2016209459A1/en active Application Filing
- 2016-05-23 CN CN201680030456.XA patent/CN107771333B/zh active Active
- 2016-05-23 EP EP16814926.8A patent/EP3314479A4/en not_active Withdrawn
- 2016-05-23 JP JP2017554330A patent/JP6728227B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080060588A (ko) * | 2006-12-27 | 2008-07-02 | 강원대학교산학협력단 | 지그비 메쉬 네트워크의 경로 탐색 초기화 시 최적패킷유지시간 설정 방법 |
US20110246498A1 (en) * | 2008-06-05 | 2011-10-06 | International Business Machines Corporation | Context-based security policy evaluation using weighted search trees |
US20090307192A1 (en) * | 2008-06-10 | 2009-12-10 | Microsoft Corporation | Virtualizing objects within queries |
CN101364958A (zh) * | 2008-09-05 | 2009-02-11 | 西安电子科技大学 | 基于非结构化p2p网络的搜索方法 |
CN102625402A (zh) * | 2012-03-01 | 2012-08-01 | 昆明理工大学 | 一种关于移动Ad-Hoc网络路径发现和选择的方法 |
CN104717238A (zh) * | 2013-12-12 | 2015-06-17 | 上海财经大学 | 移动自组网中基于蚁群算法的分布式服务组合方法 |
Non-Patent Citations (1)
Title |
---|
LIANGZHONG YIN ET AL: "Supporting Cooperative Caching in Ad Hoc Networks", 《IEEE TRANSACTIONS ON MOBILE COMPUTING》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2018518737A (ja) | 2018-07-12 |
EP3314479A4 (en) | 2018-12-05 |
WO2016209459A1 (en) | 2016-12-29 |
US20160378831A1 (en) | 2016-12-29 |
EP3314479A1 (en) | 2018-05-02 |
CN107771333B (zh) | 2022-04-19 |
US10853370B2 (en) | 2020-12-01 |
JP6728227B2 (ja) | 2020-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Paul et al. | Fog Computing‐Based IoT for Health Monitoring System | |
Wahab et al. | Towards trustworthy multi-cloud services communities: A trust-based hedonic coalitional game | |
Shi et al. | Modeling and solving simultaneous delivery and pick-up problem with stochastic travel and service times in home health care | |
Mak-Hau | On the kidney exchange problem: cardinality constrained cycle and chain problems on directed graphs: a survey of integer programming approaches | |
Ng et al. | Optimizing construction time and cost using ant colony optimization approach | |
CN104011721B (zh) | 协作搜索 | |
Yu et al. | Proof-of-QoS: QoS based blockchain consensus protocol | |
CN103891209B (zh) | 网络控制系统中的控制器 | |
Wang et al. | Parallel blockchain: An architecture for CPSS-based smart societies | |
CN107771333A (zh) | 基于临时数据提供查询响应的设备和/或方法 | |
Petcu | A class of algorithms for distributed constraint optimization | |
CN107567696A (zh) | 计算集群内的资源实例群组的自动扩展 | |
CN112632013A (zh) | 一种基于联邦学习的数据安全可信共享方法和装置 | |
Jawarneh et al. | Sequential insertion heuristic with adaptive bee colony optimisation algorithm for vehicle routing problem with time windows | |
MacLachlan et al. | An improved genetic programming hyper-heuristic for the uncertain capacitated arc routing problem | |
Diana et al. | A methodology for comparing distances traveled by performance-equivalent fixed-route and demand responsive transit services | |
Fanou et al. | Reshaping the African Internet: From scattered islands to a connected continent | |
Kavak et al. | Location-based social simulation | |
Zhan et al. | The dynamic ride-hailing sharing problem with multiple vehicle types and user classes | |
Bellavista et al. | An edge-based distributed ledger architecture for supporting decentralized incentives in mobile crowdsensing | |
Huang et al. | Collective reinforcement learning based resource allocation for digital twin service in 6G networks | |
Kitsak et al. | Finding shortest and nearly shortest path nodes in large substantially incomplete networks by hyperbolic mapping | |
Lai et al. | A scalable multi-attribute hybrid overlay for range queries on the cloud | |
CN106709597A (zh) | 基于人工蜂群算法的并行优化处理tsp问题的方法及装置 | |
Widerberg | Mapping institutions and actors in global climate governance: A network approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |