网络知识平面简介(下)

简介: 网络知识平面简介(下)

4. 知识平面架构


本文已经概述了知识平面的目标,本节我们将考虑其系统架构的其他方面。我们的讨论是推测性的: 任何成功的 KP 架构都将受到许多要求和约束的影响,而这些要求和约束在今天并不都是显而易见的。在 KP 的最高层次上,两种广泛的力量将在很大程度上塑造 KP 的架构: 其分布式的组成架构,以及多尺度的、潜在的全局知识视角。


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


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


  • 是分布式的,KP 功能对于网络的不同区域在物理上和逻辑上是分散的。
  • 是自下而上的,简单实体(如网络服务器)可以根据需要组成更大、更复杂的实体(如网络池),并根据需要从系统中分解自己。这是一个递归过程,可以在不同层次上进行。
  • 是约束驱动的,基本原则是系统可以(也可能)采用(或不采用)任何没有特别约束的行为。
  • 从简单到复杂。一般来说,将一组网络组成一个更大的网络的行为对每个网络的行为提出了更多的要求或约束。一个简单的例子是,一个独立的 IP 网络可以使用广泛的地址范围,但是将它连接到一个更大的网络会限制在这方面的选项范围。


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


与 KP 的分布式组织相比,我们在前面章节中已经讨论过,KP 通常可以受益于采取全局视角,从网络中的许多单点综合观察并得出结论,其中关键含义是:


  • 数据和知识整合是 KP 的核心功能。KP 必须能够从网络的不同部分收集、过滤、归纳和路由观察、断言并得出结论。
  • KP 必须在信息不完整的情况下成功运行。因为这个全局视角在物理上是巨大的,并且跨越多个管理实体,所以 KP 的认知算法必须准备好在有限和不确定的输入中操作。
  • KP 必须考虑信息权衡。有时候,全局视角可能很关键,其他时候,可能并不重要或只是有些有用。KP 必须准备好对使用不同范围的数据所涉及的权衡进行推理。例如,诊断可能的 web 服务器故障,或者更有可能的是,避免从很远的地方轮询用户体验。在这种情况下,KP 可能需要使用内省的元推理来做出最有效的行动。


我们对 KP 体系架构的第二个目标是,在对解决问题有利的任意可能范围内开发、利用和推理信息。


4.1. 功能和架构需求


上述目标,连同知识平面的核心目标,将我们引向几个顶级的功能和体系架构需求,下面讨论其中的四个。


4.4.1. 核心基础


知识平面的核心是将行为模型和推理过程集成到分布式网络环境中的能力,其第一个组成部分是支持各种信息的创建、存储、传播和发现,可能包括描述当前条件的观察(observations) ,捕捉网络运营高层目标、意图和约束的断言(assertions) ,还有关于知识本身如何具化的解释(explanations) ,解释的作用是将观察和断言映射到结论中。


为了了解和改变环境,知识平面必须访问和管理认知界所称的传感器(sensors)执行器(actuators) 。传感器是产生观测的实体,执行器是改变行为的实体(例如,变更路由表或打开/关闭链接)。例如,一个知识应用希望根据特定策略操作网络,它可能会使用传感器收集网络上的观测数据,使用断言来确定网络的行为是否符合策略,如果有必要,还可以使用执行器来改变网络的行为。


知识平面最核心的部分是其对认知计算的支持。这是一个很有挑战性的问题,因为动态和分布式 KP 环境不能很好的匹配经典知识算法和代理架构,而这些算法和架构支撑了当前大部分 AI。大多数 AI 算法都不是为在高度分布式环境下工作而设计的,而构建具有嵌入式认知能力的大型分布式数据管理系统的直接经验很有限[1]。对于高度动态、部分可观测、随机和容易出错的环境,我们需要的是高鲁棒性、可跟踪的在线算法。尽管迄今为止所解决的问题通常缺乏知识平面所需的动态性,但多代理系统(MultiAgent Systems)[22]领域在解决这些问题方面取得了一些初步进展。因此,知识平面架构的这一部分的细化,基础设施对一系列适合的认知算法的支持,很可能与认知系统本身的进一步研究相结合。


[1] 一个早期的相关尝试,DARPA 赞助的自动化网络管理(ANM, AutomatedNetwork Management)项目,寻求建立一个结合 AI 的全网络 MIB 收集器工具[7]。ANM 的经验是,收集数据相对容易,但将数据送到正确的地方却很困难,如果信息传播过于激烈,链接很容易被大量管理流量淹没。


4.1.2. 跨域和多域推理


KP 在哪里运行?其组成和区域结构也许表明,对于某个地区的推理可以由一个特定的服务器支持,类似互联网 AS。一种可能是 AS 的管理者将运行 KP,执行对 AS 的监控。在更抽象的层次上,人们可能会将这种结构化策略描述为"每个区域负责对自身进行推理"。


这不是个好主意,原因如下。如果 AS 宕机,可能导致出错时无法访问相关 KP 信息。AS 的管理者可能希望控制 KP 得出的结论,也许他们不想看到那些看起来不讨喜、但会被其他人所接受的知识和结论。这些例子表明关于 AS 的推理可能独立于 AS 发生,这一事实应该反映在系统架构中,即 KP 的不同部分可能独立的对 AS 进行推理,并比较答案,以检测该部分 KP 是否受损。这表明,网络的某个区域和与其相关的 KP 推理引擎之间不应该存在特定的物理关系。


一种更激进的可能性是,多个实体竞争提供关于给定 AS 的信息。每个实体都收集自己的数据,并出售自己的观察结果。KP 可以从它认为能提供最准确、最及时(或最具成本效益)的信息的一个或多个实体中寻求信息。这个"知识市场(knowledgemarketplace)"带来了一系列架构上的挑战,从如何推断来自多个供应商的信息(即使三个不同的公司告诉你关于 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]。所有这些技术都已经在其他网络环境中开发出来了,并且可能与本文相关。



如果要创建成功的知识平面,必须处理和解决一些挑战性问题。由于知识平面的目标之一是赋予应用程序学习和推理环境的能力,因此许多问题都处于网络和人工智能的边界上[2],本节概述了贯穿这些问题的一些关键主题。


[2] 对于知识表示问题的一般概述,读者可能希望阅读[16]。


如何表示和利用知识? 我们希望知识平面支持推理(找出 John 无法访问 www.example.edu 的原因)和学习(上次 www.example.edu 无法访问是由于 DNS 问题,所以让我们检查 DNS 性能)。当前的推理和学习技术告诉我们,需要建立试图理解的实体的抽象模型,然后使用信息来推理,并可能更新这些模型。当前对表示方案的研究,如 DAML Project[3],可能会让我们对如何表示可以推理的信息有一些见解。然而,还必须确定如何提取和处理所有有价值的信息,这些信息可能不在 DAML(或我们选择的任何形式)中,而是在 SNMP MIB、系统日志和其他地方。我们应该如何构建、表示和分布驱动推理的模型呢?


[3] DARPA 代理标记语言(DARPA Agent Markup Language)是对可扩展标记语言(XML)和资源描述框架的一组扩展,以支持 web 对象的本体(对象之间关系的声明)。参见 www.daml.org。


如何实现可扩展性? 知识平面是构建更可靠、更健壮的网络的基石。如果实施得当,应该能够持续改善网络,即使网络变得更大,知识平面本身也将变得更大。随着我们在知识平面上添加更多知识和新的应用程序,它应该会变得更有价值、更有用,这些都是硬目标。而随着数据量的增加,或者系统中组件数量的增加,我们经常会发现瓶颈并发现算法无法伸缩。例如,如果某个网络故障触发大量消息进入 KP,那么如何聚合和控制这些消息,从而使 KP 的某些部分不会过载?我们可能会发现自己面临抽象数据的挑战,并在知识平面的各个部分强行划分或层次结构,以允许其扩展,那么如何确保抽象和划分能够增加而不是减少价值?


如何传递知识? 假设知识平面学习到一个有价值的新事实,或有价值的认知。这个事实或认识是如何传播的?是否向所有相关方推送?如果是这样,我们如何知道谁对此有兴趣?事实是否被简单标记并放置在知识平面中,以供感兴趣的各方发现?如果是这样,感兴趣的人怎么才能知道去找它?有没有方法可以智能总结数据,让权衡变得更容易?


如何提供正确的经济激励? 网络社区已经认识到,分布式系统的成功在很大程度上取决于系统设计中嵌入的经济激励因素[11,12]。知识领域充斥着经济挑战,如何激励人们把信息放到知识平面?知识平面中的很多数据都是有价值的,是否应该为人们买卖信息(或者更好的说法是"知识")提供机制?如何避免使知识平面协议成为经济竞争点(例如,避免厂商绑定的 HTML 增强)?


如何处理恶意和不可信的组件? 我们不可能期望 KP 中的所有节点都是可信、称职、可靠的。被破坏的节点可能会注入错误的观察,某些节点可能会对自己的行为撒谎,某些参与者可能会试图破坏或混淆 KP,从而作为某种攻击整个网络的方式,或者获得某些优势。KP 算法如何保护自己,过滤不良信息,并在存在不确定性和错误的情况下得出有效结论?KP 系统将不得不依靠诸如共识、评级和交叉检查等方法来检测畸形或恶意行为。对于不一致的输入来说,一个健壮的设计是成功的必要条件。


如上所述,信任模型应该是 KP 的核心组成部分。建立可信任的模型,需要对身份有某种持久而有力的表达。不要求该身份与实际的人联系在一起(尽管在某些目的下这可能是最好的),但最基本要求是身份不能被伪造或窃取,这样人们就可以根据对该身份的事先观察建立一致的信任模型。


6. 总结


本文提出用知识平面来扩展网络,知识平面是一种新的更高层次的工件,用于解决网络中"知道正在发生什么"的问题。在抽象层次上,这是一个收集观察(observations)约束(constraints)断言(assertions) ,并对其应用规则以生成观察(observations)响应(responses) 的系统。在物理级别上,是由运行在网络中的主机和服务器上的部分构建的系统,是一个松散耦合的全局分布式系统。


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


以前做"高层网络管理(“high-level network management)"的尝试都不是很成功,一个可能的原因是以前的项目没有能够找到正确的高层抽象。KP 背后的假设是,存在合适的方法来抽象详细的行为,并在高层次上讨论目标、计划、约束和方法。知识平面不仅仅是一个事实数据库,还是一个包含认知工具和学习的架构。


7. 致谢


这项研究由美国国防高级研究计划局(e U.S. Defense AdvancedResearch Projects Agency )部分支持,合同为 F30602-00-2-0553 和 F30602-00-C-0087(该文件被批准公开发布,不受限制的分发)。作者感谢 SIGCOMM 的审稿人和 DARPA 知识平面研究的众多参与者,他们的讨论和评论对我们的观点的发展做出了很大的贡献。


8. 参考文献

[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 ofWeb Servers,” Proc. ACM SIGCOMM 2001.


[15] V.N. Padmanabhan, L. Qiu and H.J. Wang, “Passive NetworkTomography 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 usingautomatic 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.

目录
相关文章
|
16天前
|
监控 安全 网络安全
|
2月前
|
SQL 机器学习/深度学习 分布式计算
Spark【基础知识 01】【简介】(部分图片来源于网络)
【2月更文挑战第12天】Spark【基础知识 01】【简介】(部分图片来源于网络)
28 2
|
3月前
|
消息中间件 Kubernetes 网络协议
Cilium 系列 -15-7 层网络 CiliumNetworkPolicy 简介
Cilium 系列 -15-7 层网络 CiliumNetworkPolicy 简介
|
4月前
|
消息中间件 NoSQL Linux
workFlow c++异步网络库编译教程与简介
搜狗公司C++服务器引擎,编程范式。支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数后端与嵌入式开发需求。 编程范式 结构化并发与任务隐藏回调与内存回收机制
58 0
|
4月前
|
负载均衡 网络协议 算法
【计算机网络】网络层(控制平面)
【计算机网络】网络层(控制平面)
68 0
【计算机网络】网络层(控制平面)
|
4月前
|
存储 网络协议 安全
【计算机网络】网络层(数据平面)
【计算机网络】网络层(数据平面)
97 0
|
18天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
1月前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
1月前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
2月前
|
缓存 网络协议 网络虚拟化
网络技术基础(15)——DHCP简介与配置
【3月更文挑战第3天】刚加完班又去南京出差了,实在是太忙了。。。。网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记。