A Knowledge Plane for the Internet

231 阅读41分钟

摘要

我们提出了一个网络研究的新目标:构建一种完全不同的网络,它可以根据给定的高级指令自行组装,随着需求的变化重新组装,当出现问题时自动发现,并自动修复检测到的问题或解释为什么不能这样做。我们进一步认为,要实现这一目标,仅对我们今天所知道的技术和算法进行渐进式改进是不够的。相反,我们提出了一个新的结构,即知识平面,这是一个网络内的泛在系统,它构建和维护网络应该做什么的高级模型,以便为网络的其他元素提供服务和建议。知识平面的新颖之处在于它对人工智能和认知系统工具的依赖。我们认为,认知技术最适应我们目标的不确定性和复杂性,而不是传统的算法方法。

关键词:认知;网络应用;网络配置;知识平面。

1.引言

今天,互联网取得了巨大的成功。但这不应使我们对互联网的局限性视而不见。它对通用性和异质性的强调,简单透明的网络与丰富的终端系统功能的“窄沙漏”组合,以及根深蒂固的去中心化、多管理结构的假设,这些都是关键优势,但当出现故障时会导致用户沮丧,以及大量手动配置、诊断和设计的高管理开销

用户和运营商的挫败感同样都源于互联网的基本设计原则——核心简单透明,边缘智能[1,2]。网络在不知道数据是什么或它的目的是什么的情况下传输数据。如果某些事件组合阻止数据通过,边缘可能会意识到存在问题,但核心无法判断出问题所在,因为核心不知道应该怎么做。边缘了解应用程序以及它们的预期行为;核心只处理数据包。类似地,网络运营商以非常低级的术语与核心进行交互,例如每台路由器的路由和策略配置。运营商无法表达或网络建模其高级目标是什么,以及低级决策如何与高级目标相关联。

当我们设计一种新型网络时,我们绝不能失去互联网中使其成功的特性——它对新应用程序的开放性、其协议的适应性以及其本质上的基本可塑性。然而,我们必须设计一种技术,将这些优点与一个新目标结合起来:网络能够知道它被要求做什么,这样它就可以越来越多地照顾自己,而不是依赖于人来照顾它。如果网络对其设计目标和可接受配置的约束有一个高层次的看法,那么它可以自己做出许多低层次的决策。它可以与网络设计人员就其实现目标的程度进行沟通,而不是通过显示大量路由器配置表。它可以通过重新配置自身来处理高层需求的变化。

我们认为传统的适应性算法方法不可能提供所需的复杂的行为。 我们采用的方法必须能够从低级行动中抽象和分离出高层次的目标,对不完善和冲突的信息进行整合和行动,并从过去的行动中学习以提高未来的表现。这些特性恰恰是在互联网这个目标多样、相互竞争、分散控制、复杂和动态变化的环境中有效运作所需要的。

本文提出了一种基于人工智能和认知系统的网络设计方法。具体来说,我们提出了一个架构,一个渗透到网络中的分布式认知系统,我们称之为知识平面

本文的其余部分组织如下:第2节描述了知识平面的概念并与其他概念进行对比,并论证了认知方法。第3节讨论了这个结构可能为我们做什么--它如何使网络变得更好的例子。第4节讨论了知识平面架构的一些重要设计限制和考虑因素。第5节概述了我们道路上的关键挑战。

2.一个提议:知识平面

上面的讨论暗示了一种解决方案,即网络对其目的有一个高层次的看法——其设计者的目标、在其上运行的应用程序的目标以及其用户的目标。在一个特定应用的网络中,一种可能的方法是在网络的核心设计中利用并嵌入此类特定领域的知识,就像在电话网络中所做的那样。但这有悖于互联网的一个基本目标——它能够承载大量不断变化的应用。与其在互联网简单而透明的数据传输平面上增加“一点”应用知识来取悦任何人,更好的选择是设计一个单独的结构来创建、协调和维护一个高层视图的方方面面,然后根据需要向网络的其他元素提供服务和建议。这就是知识平面,简称KP。

了解实现这一目标的精确最佳路径是一个重要的研究问题,本文既不能也没有提出一个完整的知识平面的技术描述。然而,作为一个开端,我们勾勒出某些可能对知识平面的成功至关重要的属性,并考虑这种观点与今天的实践有什么不同。这些属性包括:

边缘参与:端到端原则表明,有关网络性能的许多有价值的信息并非源自网络,而是源自使用它的设备和应用程序。这是互联网通用数据平面的必然和理想结果。然而,这意味着知识平面中的许多“知识”可以在或超出网络的“传统”边缘产生、管理和消费。知识平面的覆盖范围比传统网络管理的范围更广。

全球视野:大多数管理系统都是区域性的——每个运营商管理他拥有的部分。但真正有用的问题识别可能取决于来自网络不同部分的观察结果的相关性。不仅来自边缘的数据必须与来自网络“内部”的数据相结合,而且可能需要来自网络不同部分的数据来完全理解一系列事件。理想情况下,知识平面能够根据需要将其视角扩展到整个全球网络

组成结构:如果 KP 的范围是全球性的,那么它的设计必须同时考虑到我们可以粗略地称为“组合”的考虑因素。一个最基本的例子是,如果将两个未连接的网络连接起来,它们的 KP 应该能够合并它们的观点和活动

组成问题的必然结果是需要在不完善和相互冲突的信息的情况下进行运作:一些地区希望将日期保密。一些网络运营商和服务提供商之间以及事实上任何存在经济利益竞争的各方之间的相互不信任,直接导致当今需要高度熟练的人类推理来推断和模拟网络行为。KP 面临着类似的问题:它不能假设共享目标和共享信息的同质网络。

统一的方法:人们可能会推测,我们所要解决的各种问题最容易被不同的机制所解决,这些机制自下而上地工作,也许在顶部松散地联系在一起。相反,我们设想的KP是一个单一的、统一的系统,有共同的标准和共同的 "知识 "框架。这种统一的方法是必要的,因为现实世界的知识并不是严格按照任务划分的。我们建议知识平面的结构也应该类似,以知识而不是任务为基础。我们认为,虽然单点解决方案可能更容易开发,但从长远来看,综合的方法将更加有效。

认知框架:知识平面需要在存在部分信息或冲突信息的情况下做出判断;识别和调解政策和目标中的冲突;在优于人类的时间范围内应对问题和攻击;在高维环境中执行优化,这些环境太复杂而无法由人类或分析解决方案解决;以及将今天必须由罕见的高技能网络技术人员来完成的功能自动化。因此,我们期望认知技术作为知识平面的基础:表示、学习和推理,使知识平面能够“了解”网络及其在网络中的行为。

我们现在转向进一步讨论对我们的立场至关重要的三个想法:新结构的必要性、统一知识平面的可取性以及认知工具的价值。

2.1 为什么采用新结构?

大多数关于网络架构的讨论都承认有两个架构划分或平面:一个是数据平面,内容在上面转发;另一个是控制或管理平面,用于指导、测量和修复数据平面通过谈论 "知识平面",我们说需要一个根本性的新结构,而不是将知识融入现有的平面(大概是管理平面)。为什么我们认为需要一个新的结构?

如果我们查看现有的两个平面,我们会发现两个完全不同的结构。数据平面(在几乎所有著名的数据传输架构中)使用某种形式的分层来隐藏复杂性并实现可扩展性、互操作性和可伸缩性。相比之下,控制和管理系统总是被设计为跨越分层,使网络的所有必须被监控和管理的方面都具有可见性和访问性。而且,事实上,由于管理平面是全方位的,它的扩展性往往很差,而且很难改变。

知识平面显然位于不同的位置。由于它不直接移动数据,因此它不是数据平面。与管理平面不同,它倾向于打破边界以提供统一的视图,而不是将世界分割成管理的封地。它在功能上也不同于管理平面——很难想象 KP 会管理会计记录(也许偶尔会阅读它们,但不收集、存储和处理它们)。

2.2 为什么采用统一方法?

考虑一个用户试图安装一个新的应用程序并发现它不能工作的例子。其中一个原因可能是,用户的 ISP 已经阻止了该类流量。为了让 KP 给各方提供最有效的反馈,它需要访问 ISP 设置的配置限制才可以确定阻断背后的规则并告诉用户这意味着什么。因此,关于网络配置和用户观察到的问题的信息有必要在同一个框架内。

一个涉及覆盖网络的相关示例,例如 CDN。很容易想象,KP 的一个组成部分是拓扑和性能信息,CDN 可以利用这些信息使其传输节点 "靠近 "用户。这些信息可能来自多种来源,例如“网络天气”服务、用户报告的体验和 ISP,不仅包括流量测量,还包括有关管理流量限制和本地防火墙限制的信息(也许“用户”不能接收某些类型的内容)。将这些信息集成并以统一的形式呈现可使相关方(用户、CDN)受益。

在某些情况下,KP 可能能够自行解决问题。如果它发现问题的原因是一个低层次的决定,而这个决定对操作者的高层次目标并不重要,它可能会改变这个决定。但要确定更改是否合适,KP 需要获得设置背后的推理。因此,有关规划的知识需要与维修问题处于相同的背景下。

当网络的一个组件对可能的异常进行低层次观察时,它不知道实际相关性是什么。这种观察可能会触发修复、重新配置、向网络远程部分的网络运营商发出通知、安全警报或其他完全不同的东西。因此,对网络条件的观察不能被认为是一个问题空间的一部分,而是作为 KP 的一部分。

我们认识到,针对特定问题的点式解决方案可能会比这里假设的一般解决方案更快地取得部分进展。但我们假设的核心是为了达到最终目标:一个可以自我配置、自我解释、自我修复、不迷惑用户的网络,基于点解组合的方法不会成功

2.3 为什么是认知系统?

我们对知识平面的目标要求它应对许多重大挑战:

  • 它必须在不完整的、不一致的、可能是误导性的或恶意的信息中有效地发挥作用。系统故障、出于隐私或竞争原因的信息过滤,以及有限的网络资源只是造成这一要求的部分因素。

  • 它必须在 Internet 的不同利益相关者之间存在冲突或不一致的更高层次目标的情况下适当地执行。这是[12]中讨论的争斗困境的一种表现。

  • 它必须在普遍性的情况下有效运行,包括引入在设计时没有想到的新技术和应用,以及面对高度动态的环境,包括基础网络的结构和复杂性的短期和长期变化

我们假设这些挑战不能通过分析性解决方案来应对,因为分析性解决方案通常需要完整的信息、精确的问题表述和相对静态的操作环境。相反,我们建议将需要 "认知 "技术。这些技术的关键好处是它们有可能在复杂的、不一致的、动态的和不断变化的环境中有效地执行,并评估和改进自己的表现。我们讨论了认知型知识平面的两个定义性特征。

首先,KP 最终必须像普通控制系统一样在网络上“闭环”。随着我们获得经验和信任,知识平面将首先启用识别-解释循环,然后是识别-解释-建议循环,最后是许多管理任务的识别-行动循环。因为知识平面必须比标准控制系统更通用、更灵活,所以我们在别处寻找更多灵感。受人类认知理论启发的架构 [18] 取得了一些成功,并暗示了一种方法。在知识平面上下文中,认知架构当然是分布式和去中心化的,并且分区将部分影响网络利益相关者的不同利益。

其次,KP必须能够学习和推理。学习是知识的原则性积累,可以通过多种方式进行:通过反复试验、通过指导、通过概括、通过类比、通过解决问题和心理探索等等。有些学习方法需要人工参与,有些则不需要。在静态问题环境中,一个简单到可以接受分析解决方案的环境中,学习是无关紧要的。但是,IP 网络在设计和意图上都在不断地在多个维度上演进,并且具有无限的潜在配置。在可能的范围内,当识别出新情况或执行和评估新行动时,知识平面应该改进:它的知识库应该以有用的方式增长。学习的第一个也是最直接的挑战是通过我们现有透明数据平面的模糊面纱对应用程序的行为、依赖关系和需求进行建模。

推理涉及对现有知识的组合,以得出新的推论和信念。推理过程可以将陈述性知识(无论是手工制作的还是学习的)转化为对观察和行动决定的解释。 如果我们希望未来的网络能够支持高层次的目标和约束,我们将需要能够操作这些抽象的推理方法。

从长远来看,知识平面推理的一个有趣且重要的功能将是支持用户和运营商之间的调解,这些用户和运营商的目标可能相互冲突或与固定的设计约束冲突。这种冲突的必然性表明我们必须开发新的技术来表示和推理约束和政策。最初,这些表示需要从低层次的配置和动作中推断出来,但最终目标是在高层次表达目标和策略,并使用它们来生成低层次的配置

即使在短期内,我们也可以对知识平面的设计和构建进行大量现有研究。认知架构 [18]、多智能体系统 [22] 的最新工作以及算法博弈论的新兴领域的经验可能证明是直接有用的。然而,网络环境也提出了许多挑战,这些挑战将扩展认知系统的当前状态,并以新的和有趣的方式重定向研究 [19,20]。

3. 知识平面有什么用?

在高层次上,我们为 KP 提出了一个统一的目标:通过允许它了解它应该是什么以及应该做什么来构建新一代网络。为了实现这一目标,需要支持更具体的问题域。在这里,我们将更详细地讨论其中的一些。

故障诊断和缓解:今天,当互联网的某些部分出现故障时,最终用户几乎不可能知道发生了什么,弄清楚应该通知谁,或者如何纠正故障。如果我们以今天的互联网为起点,想象一下当某些东西似乎被破坏时,用户可以运行一个命令来要求解释是很有吸引力的。这是 WHY(problem-x) 命令:为什么 x 坏了?因此,例如,用户可能会问,“为什么我不能访问 www.acm.org ?”

然而,WHY 的表述不够大胆。一个过于大胆的替代方案是,如果 KP 足够聪明,网络永远不会失败。在这种情况下,不需要 WHY。但这种野心从根本上是有缺陷的。在某些情况下,只有人类知道足以确定正在发生的事情是否实际上是一个错误。当 Dave 拔下他的笔记本电脑并将其放入公文包时,可能会有一些应用程序突然停止工作,但这不是故障。这是 Dave 的意图,如果每次断开笔记本电脑的连接时某个半智能 KP 都会醒来并询问他是否要重新连接它,这是一场噩梦,而不是成功。所以有时候只有一个人可以给 KP 指导,不是 WHY(problem-x),而是 FIX(problem-x)。用户说有些东西出问题了,然后把它修正。

这足以指导金沙国际娱乐网址纠正错误的地方吗? 事实上,有趣的例子是,当 "问题 "是由来自不同人的冲突的规格或约束引起的。一个人可能会说FIX(我刚刚安装的这个游戏不能工作),而它失败的原因是ISP屏蔽了这个游戏。一个人可能会说FIX(糟糕的带宽),但问题是他已经超过了自己的使用配额,ISP正在限制速率。这些情况下,KP可能无法解决这个问题。然而,我们可能会努力争取的是,KP能够解决一个问题或说为什么不解决。因此,对FIX(problem-x)的一个回答可能是CANNOT(reason-y)。如果系统确实解决了问题,它可能想告诉一个人这件事已经发生了,以防只有一个人可以采取进一步的行动。

这个例子表明用户和 KP 之间的交互是双向的和富有表现力的。当然,KP 可能会就某个问题与许多实体进行沟通。用户提出的FIX(broken-game) 的要求可能会触发一条消息反馈给用户,告知游戏被阻止了,但也可能向 ISP 发送一条消息,告知其用户不满意。

这个故事的进一步延伸是,KP 可以为用户和经理提供一个助手,一个观察人们行为的代理,并随着时间的推移了解什么是正常的,什么是不正常的。因此,Dave 笔记本电脑上的 KP 代理可能会知道 Dave 一直在拔掉它,而 Dave 台式机上的代理可能会意识到他从不断开连接,并冒险去打扰 Dave 询问他是否打算这样做。这样,故障诊断和缓解问题就有了学习的成分

一旦在 KP 中实现了 FIX(problem-x) 功能,程序和人们都可以使用它。随着用户代理的学习,它应该越来越频繁地自己发出这个信号。而其他程序,例如应用程序代码,可能会检测到并发出错误信号。 KP 将不得不根据这些信号的来源来决定给予这些信号多少可信度。

在幕后,FIX 命令将触发 KP 中的一系列活动。FIX 命令将从在用户机器上运行的本地组件开始,然后与 KP 交换信息以找出问题所在。诊断可以检查所有级别的功能,从数据包转发到应用程序功能。目前有几个研究项目可以在此应用程序的基础上构建 [13,14]。

一旦终端节点完成了它所能做的诊断,下一阶段是工具向共享知识平面添加关于它发现了什么的断言,并向 KP 询问相关信息。这种对知识平面的贡献允许网络上的所有用户共同构建网络和服务状态的全局视图。这些数据可以与,目前在 Internet 上进行的测量工作所获得的信息相结合,这些工作试图建立网络状态的整体模型 [9,15]。如果故障影响到很多用户,那么这种聚合就很重要。

自动(重新)配置:原 Internet 的动态路由没有考虑管理和策略约束,所以今天的路由越来越多地由静态策略表定义。这意味着路由器等设备越来越多地需要手动配置和管理。静态表和手动配置使网络容易出现故障,难以更改,甚至更难以全局推理。想象一下,作为 KP 的一部分,一个 Internet 区域的配置管理器将接受关于网络组件应该如何安排自己的高级断言,并相应地指导实际的详细配置。示例包括控制家庭中消费者网络的部署、急需快速部署的临时网络或小型企业的网络。该项目的成功完成可能会大大减少配置和运营网络所需的人力。

KP 配置管理器应该对底层结构有足够的了解,以检测网络是否根据高层约束正确配置,检测是否有更好的配置替代方案可用,以及检测系统是否出现损坏。推理必须是双向的。也就是说,管理者必须能够在给定高级目标、优先级和约束的情况下推导出低级设置,并且必须能够查看现有的低级设置并以高级术语描述由此产生的行为

同样,有趣的问题(一旦我们得到了基本的想法)是当系统遇到不同方做出的相互冲突的断言时。网络管理员可能会说 ROUTING_PREFERENCE(低成本链接),最终用户的机器可能会说 FIX(低带宽)。同样,KP 可能能够解决其中的一些问题,并且随着时间的推移,它可能会了解何时可以安全地自行采取行动,以及何时必须以有意义的方式将问题回馈给相关人员。(顺便说一下,这个例子说明了为什么必须将 KP 视为一个统一的系统,而不是作为故障管理和配置的独立系统。)

配置任务不是在网络开通时发生一次的事情。它应该是不断发生的事情,关注不断变化的网络条件、应用需求和不断变化的约束。它也是一个可以 "递归 "运行的任务。全球网络不是自上而下建立的,它是自下而上,逐个地区建立的。每个区域将首先使用其本地指定的目标和约束条件进行自我配置。但是,当两个地区连接起来时,可能会有进一步的约束,其中一个会施加给另一个。因此,提供商网络可能会对一个用户网络说:"NO_MULTICAST"。这可能会导致用户网络改变它的一些内部组织,禁用一些终端用户应用程序,等等。

支持覆盖网络:如果 KP 有足够的信息来配置网络本身,这些信息对于配置自身的应用程序也很有用。例如,我们看到越来越多的 Internet 上特定应用的覆盖网络的发展。每个覆盖网络都使用基于边缘的机制来评估通过 Internet 的不同可能路径的性能,并寻求构建一组传输路径,以有效地将应用程序数据包路由到似乎最适合应用程序需求的 Internet 部分。目前,应用网络必须对 Internet 进行探测,因为它们没有了解网络核心能力的机制。KP 将能够汇总应用程序和网络衍生的有关网络性能的知识,为应用程序提供比通过探测学习的更好的网络信息,并访问控制点修改其行为以帮助更好地满足应用程序的需要。因此,KP 支持对每个应用程序的流量进行控制,而无需在整个网络中构建每个应用程序的基础设施。

知识增强入侵检测:有许多项目(和许多产品)执行某种分析来检测网络入侵。一般来说,他们会在网络中某处观察到的数据中寻找模式。当前一代的这些工具会触发假阳性和假阴性。据推测,下一代入侵检测工具将要求来自网络中多个点的观察必须相互关联,以便获得更稳健和有用的信号。知识平面的发展为实现这种数据收集和关联提供了基础。

4.知识平面架构

本文的前几节概述了我们为知识平面设定的目标。在本节中,我们考虑其系统结构的各个方面。我们的讨论是推测性的:任何成功的 KP 架构都会被许多要求和约束所塑造,而这些要求和约束在今天并不是很明显。在其最高层次上,KP 的架构将在很大程度上受到两大力量的影响:它的分布式、组合结构,以及它的多尺度、潜在的全球知识视角

我们的最终目标是网络系统应该在外部输入的约束和指导下自行组织起来,以满足其利益相关者的目标。即使在短期内,KP 也必须尊重并建立在网络具有内部结构和动态的事实之上——大型网络由相互连接的较小网络组成,参与者来来去去,以及不同网络的所有者、运营商和用户之间的关系即使物理结构没有变化,也可能发生变化。

这意味着服务于网络的知识平面不是一个全局工程实体,而是一个自主创建的结构,它递归、动态、连续地从较小的子平面组合和分解自身。该要求认为 KP:

  • 是分布式的:网络不同区域的 KP 功能在物理和逻辑上是分散的。

  • 是自下而上的:简单实体(例如 Web 服务器)可以根据需要组合成更大、更复杂的实体(例如 Web 农场),并根据需要将自身从系统中分解出来。这是一个递归过程,可以在多个层次上进行。

  • 是约束驱动的:基本原则是系统可以并且可以采用(或不采用)任何不受具体约束的行为。

  • 从简单到复杂。一般来说,将一组网络组合成一个更大的网络的行为对每个网络的行为提出了更多的要求或限制。一个简单的例子是独立的 IP 网络可以使用广泛的地址,但是将其连接到更大的网络会限制这方面的选择范围。

我们对 KP 系统架构的第一个目标是它支持这种分布式的、组合的视角,提供必要的支持抽象和功能

与 KP 的分布式组织相比,我们在本文的前几节中论证说,KP 通常可以从全球视角中受益——整合来自网络中许多点的观察和结论。其主要含义是:

  • 数据和知识集成是 KP 的核心功能。KP 必须能够从网络的不同部分收集、过滤、减少和路由观察、断言和结论到它们有用的点

  • KP 必须在存在信息不完善的情况下成功运行。因为这种全局视角在物理上很大并且跨越多个行政实体,KP 的认知算法必须准备好在有限和不确定的输入存在的情况下运行。

  • KP 必须对信息权衡进行推理。有时,全球视角可能至关重要。其他时候,它可能不重要,或者只是有点用。 KP 必须准备好推理使用不同范围的数据所涉及的权衡。例如,诊断 Web 服务器故障可能,或者更有可能不需要从很远的位置调查用户体验。 KP 可能需要采用内省的元推理来在这些情况下最有效地采取行动。

我们对 KP 系统架构的第二个目标是,它尽可能地开发、利用和推理适用于它正在解决的问题的任何范围内的信息

4.1 功能和结构要求

上述目标,连同知识平面的核心目标,使我们得出几个顶级功能和结构架构需求。我们在下面讨论其中的四个。

4.1.1 核心基础

知识平面的核心是将行为模型和推理过程集成到分布式网络环境中的能力。这种能力的第一个组成部分是支持各种信息的创建、存储、传播和发现,可能包括描述当前状况的观察;捕获网络操作的高级目标、意图和限制的断言;以及解释,这是知识本身如何体现的一个例子——解释将观察和断言映射到结论。

为了了解和改变其环境,知识平面必须访问和管理认知界所说的传感器和执行器。传感器是产生观察结果的实体。执行器是改变行为的实体(例如,改变路由表或使链接上升或下降)。因此,举例来说,一个试图根据某些策略来操作网络的知识应用可能会使用传感器来收集对网络的观察,使用断言来确定网络的行为是否符合策略,并且如果有必要,使用执行器来改变网络的行为。

知识平面最核心的方面是它对认知计算的支持。这是一个具有挑战性的问题,因为动态和分布式 KP 环境与支撑当前大部分 AI 的经典知识级算法和代理架构不太匹配。大多数 AI 算法并非设计为在高度分布式环境中工作,在构建具有嵌入式认知能力的大型分布式数据管理系统方面的直接经验是有限的。我们需要的是针对高度动态、部分可观察、随机和容易出错的环境的稳健、可操作和在线算法。多智能体系统领域 [22] 在解决这些问题方面取得了一些初步成功,尽管迄今为止解决的问题通常缺乏知识平面所需的动态性。因此,这部分知识平面架构的细化,它对一系列适当的认知算法的基础设施支持,很可能会随着对认知系统本身的进一步研究而取得进展。

4.1.2 跨域和多域推理

KP 在哪里“运行”? KP 的组合区域结构可能表明特定服务器将支持 KP 中“推理”一个区域的部分,例如 Internet AS。一种可能性是 AS 的管理员将运行监督该 AS 的 KP。在更抽象的层面上,人们可能会将这种结构化策略描述为“每个区域都负责对自身进行推理”。

这是一个坏主意,有几个原因。如果 AS 宕机,这可能会导致相关的 KP 信息在错误的时间无法到达。 AS 的管理员可能希望限制 KP 得出的关于它的结论,也许是为了删除看起来不光彩的知识,而其他人可能会选择得出这些结论。这些例子表明,关于 AS 的推理独立于 AS 发生,一个事实应该反映在系统结构中。 KP 的不同部分可能独立地推理 AS并比较答案,以检测 KP 的该部分已损坏。这表明网络区域与与该区域相关的 KPs 推理引擎之间不应存在特定的物理关系。

一个更激进的可能性是多个实体竞争以提供有关给定 AS 的信息。每个实体都收集自己的数据并出售其观察结果。 KP 可以从它认为提供最准确和及时(或最具成本效益)信息的任何一个或多个实体寻求信息。这个“知识市场”带来了许多架构挑战,从如何推理来自多个提供商的信息(即使三个不同的公司告诉你关于 AS 的相同事情,结果可能证明他们都是在转售来自一个互联网气象服务的数据):如果你真的想要第二个意见,你如何找到第二个气象服务?)到如何设计 KP 协议以阻止不同的知识公司巧妙地“增强” KP 协议或数据以使其成为使用户难以同时使用其他知识提供者的服务器?

这个讨论展示了 KP 中信息流的潜在丰富性。消息需要流向多个位置,这样才会发生冗余推理——而消息的流动方式可能取决于谁提出请求。 KP 的不同部分可能会得出不同的结论,协调这些结论与处理不完整的输入数据一样重要。

4.1.3 数据和知识路由

我们认为,KP 将受益于获得其所服务网络的全球视角。考虑如何产生这种观点是有用的。在一个非常小的网络中,理论上可以收集所有相关信息,并将该信息泛洪到网络中的每个节点(更准确地说,在分布式 KP 中)。

这个想法在更大的网络中显然是不切实际的。首先,庞大的信息量在技术上令人生畏,需要高度可扩展的解决方案。除此之外,竞争和隐私等力量也会发挥作用。在任何规模的网络中,都需要限制和优化信息的收集和路由,需要更多的复杂性。

我们建议 KP 架构应该实现一个知识管理和路由框架,具有两个属性。它是知识驱动的——路由系统本身包含有关哪些知识在不同情况下最有用的信息,并使用可扩展的分布式技术来过滤观察结果并将最相关的观察结果“吸引”给潜在客户。它理解权衡——它可能包含质量的概念——推理以相应的或多或少的努力、时间、带宽等来产生更好或更差的答案,而不仅仅是产生“一个”答案。

4.1.4 关于信任和鲁棒性的推理

KP 组合结构和全局视角的结合为实现鲁棒和可信赖的设计带来了挑战。因为一个有效的 KP 是由参与网络的组成随时形成的,所以架构必须反映以下事实,即 KP 的某些部分可能被破坏或损坏,一些参与者可能会撒谎或故意输出错误的推理,并且系统动作必须基于可能是部分的、过时或错误的输入。

这表明 KP 可能需要建立、维护和推理其组件和参与者之间的信任关系。 KP 中行为不端的部分可能会被其他部分视为不可信,并且该信息可能会在已决定相互信任的部分之间传播。通过这种方式,信任网络可以增长,识别看似值得信赖的 KP 元素并避开不值得信赖的元素。这种自省可能需要开发信任模型,并使用可扩展技术(例如所谓的“小世界”模型 [10])来搜索信任网络。

5. 创建知识平面

5.1 可能的构件

有大量的基础研究可能与创建 KP 有关。例如,用于分发数据的流行算法 [5]、用于学习的贝叶斯网络 [4]、排名聚合以启用信任网络 [6]、约束满足算法 [21] 和基于策略的管理技术 [23,24]。所有这些技术都是在其他网络环境中开发的,并且似乎与此相关。

5.2 挑战

如果我们要创建一个成功的知识平面,我们必须努力解决一些具有挑战性的问题。因为知识平面的目标之一是让应用程序能够学习和推理其环境,所以其中许多问题都处于网络和人工智能的边界。本节概述了贯穿这些问题的一些关键主题。

我们如何表示和利用知识?我们希望知识平面支持推理(找出 John 无法访问 www.example.edu 的原因)和学习(上次 www.example.edu 无法访问时,存在 DNS 问题,所以让我们检查一下 DNS 性能)。当前的推理和学习技术告诉我们,我们需要为我们寻求理解的实体构建抽象模型,然后使用信息来推理并可能更新这些模型。当前对表示方案的研究可以让我们深入了解如何表示我们可以推理的信息,例如 DAML 项目。然而,我们还必须弄清楚如何提取和处理所有有价值的信息,这些信息可能不在 DAML(或我们选择的任何形式)中,而是在 SNMP MIB、系统日志和其他不同的地方。我们如何构建、表示和分发驱动推理的模型?

我们如何实现可扩展的效用?知识平面是更可靠、更健壮的网络的构建块。如果实施得当,即使网络越来越大,知识平面本身也越来越大,它也应该会继续改进网络。随着我们向知识平面添加更多的知识和新的应用程序,它应该会变得更有价值和更有用。这些都是硬性目标:随着数据量的增加或系统中元素数量的增加,我们通常会发现无法扩展的瓶颈和算法。例如,如果网络故障触发大量消息进入 KP,如何聚合和控制这些消息以使 KP 的某些部分不会过载?我们可能会发现自己面临着抽象数据的挑战,并在知识平面的某些部分上强加分隔或层次结构以允许其扩展——我们如何确保抽象和分隔增加而不是减少价值?

我们如何传递知识?假设知识平面学习了一个有价值的新事实,或者得出了一个有价值的认识。这个事实或认识是如何传播的?是否向所有相关方推出?如果是这样,我们怎么知道谁是利益相关方?事实是否只是简单地标记并放入知识平面以供相关方发现?如果是这样,有关各方如何知道要寻找它?有没有办法智能地汇总数据,使这些推拉式权衡变得更容易?

我们如何提供正确的经济激励?网络界已经认识到,分布式系统的成功在很大程度上取决于系统设计中嵌入的经济激励机制 [11,12]。知识平面充满了经济挑战。我们如何激励人们将信息放入知识平面?知识平面中的许多数据将是有价值的——知识平面是否应该为人们提供买卖信息(或者更好的“知识”)的机制?我们如何避免让知识平面协议成为经济竞争的焦点(例如,避免供应商对HTML的特定增强问题)?

我们如何处理恶意和不可信的组件?我们无法期望 KP 中的所有节点都是可信的、有能力的或可靠的。损坏的节点可能会注入错误的观察结果,一些节点可能会谎报自己的行为,一些参与者可能会试图破坏或混淆 KP,要么作为攻击整个网络的一种方式,要么是为了获得一些优势。在存在不确定性和虚假陈述的情况下,KP 的算法如何保护自己、过滤掉不良信息并得出有效的结论? KP 系统必须依靠共识、评级和交叉检查等方法来检测格式错误或恶意行为。对不一致的输入具有鲁棒性的设计是成功的必要条件。

如上所述,信任模型应该是 KP 的核心构建块。建立信任模型需要有一些持久的、稳健的身份表达。不要求将身份与真实的人联系起来(尽管出于某些目的,这可能是首选);最低要求是不能伪造或盗用身份,以便人们可以根据先前对该身份的观察建立一致的信任模型。

6.总结

本文提出使用知识平面来增强网络,这是一种新的更高级别的神器,可以解决网络中“知道发生了什么”的问题。在抽象层面上,这是一个用于收集观察、约束和断言并将规则应用于这些以生成观察和响应的系统。在物理层面,这是一个由运行在网络内的主机和服务器上的部件组成的系统。它是一个松散耦合的全局范围的分布式系统。

更宏大的目标是构建新一代网络,一个可以驱动自己的部署和配置的网络,可以诊断自己的问题,并就如何解决这些问题做出合理的决策。

以前做“高级网络管理”的尝试都不是很成功;一个可能的原因是以前的项目无法找到正确的高级抽象。 KP 背后的假设是存在适当的方法来抽象详细的行为,并在高层次上讨论目标、计划、约束和方法。知识平面不仅仅是一个包含事实的数据库——它是一个体现认知工具和学习的结构。

参考文献

[1] D.D. Clark, “The Design Philosophy of the DARPA Internet Protocols,” Proc. ACM SIGCOMM ’88, pp. 102-111.

[2] D.S. Isenberg, “The Rise of the Stupid Network,” Computer Telephony, Aug 1997, pp. 16-26.

[3] J. Pearl, Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann, San Mateo, CA, 1988.

[4] T. Bayes, “An Essay towards solving a Problem in the Doctrine of Chances,” Philosophical Trans. Royal Society of London 53 (1763), pp. 370-418.

[5] A. Demers, D. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart and D. Terry, “Epidemic Algorithms for Replicated Database Management,” Proc. ACM PODC ’87, pp. 1-12.

[6] C. Dwork, R. Kumar, M. Naor, and D. Sivakumar, “Rank aggregation methods for the Web,” Proc. 10th Intl. Conference on World Wide Web, pp. 613-622 (2001).

[7] J. Wescott, Automated Network Management, BBN Report No. 5641. BBN Technologies (1984).

[8] L. Page, S. Brin, R. Motwani, and T. Winograd, The PageRank Citation Ranking: Bringing Order to the Web. Stanford Digital Library Project (1998).

[9] V. Paxson, J. Mahdavi, A. Adams and M. Mathis, “An Architecture for Large Scale Internet Measurement,” IEEE Communications Magazine 36 (1998), pp. 48-54.

[10] J. Kleinberg, “The small-world phenomena: an algorithmic perspective,” Proc. 32nd ACM Symp. Theory of Computing (2000), pp. 163-170.

[11] L. McKnight and J. Bailey, ed. Internet Economics. MIT Press (1997).

[12] D.D. Clark, J. Wroclawski, K.R. Sollins, and R. Braden, “Tussle in Cyberspace: Defining Tomorrow’s Internet,” Proc. ACM SIGCOMM 2002, pp. 347-356.

[13] M. Mathis, “Diagnosing Internet Congestion with a Transport Layer Performance Tool,” Proc. INET ‘96,

[14] J. Padhye and S. Floyd, “Identifying the TCP Behavior of Web Servers,” Proc. ACM SIGCOMM 2001.

[15] V.N. Padmanabhan, L. Qiu and H.J. Wang, “Passive Network Tomography Using Bayesian Inference”, Proc. Internet Measurement Workshop 2002.

[16] R. Davis, H. Shrobe, and P. Szolovits, “What is a Knowledge Representation?” AI Magazine, 14(1):17-33 (1993).

[17] S. Hangal and M. Lam, “Tracking down software bugs using automatic anomaly detection,” Proc. International Conference on Software Engineering ’02.

[18] P. Langley and J. E. Laird, “Cognitive Architectures: Research Issues and Challenges”. Draft of October 31, 2002.

[19] T. Dietterich and P. Langley, “Machine Learning for Cognitive Networks: Technology Assessment and Research Challenges”. Draft of May 11, 2003.

[20] T. Dietterich, “Learning and Reasoning”. Unpublished article of May 26, 2003.

[21] V. Kumar, “Algorithms for Constraint Satisfaction Problems: A Survey”. The AI Magazine, 13, pp. 32-44 (1992).

[22] P. Stone and M. Veloso, “Multiagent Systems: A Survey from a Machine Learning Perspective”, Autonomous Robots, 8(3):345-383 (2000).

[23] M. Sloman, “Policy Driven Management for Distributed Systems,” Jour. Network and Systems Management, vol 2, no 4, Dec 1994, pp. 333-360.

[24] R. Chadha, G. Lapiotis, S. Wright, guest eds., "Policy-Based Networking", IEEE Network special issue, March/April 2002, Vol. 16 Issue 2.