CN1442788A - 带有适应性调度程序的虚拟网络 - Google Patents

带有适应性调度程序的虚拟网络 Download PDF

Info

Publication number
CN1442788A
CN1442788A CN02147320A CN02147320A CN1442788A CN 1442788 A CN1442788 A CN 1442788A CN 02147320 A CN02147320 A CN 02147320A CN 02147320 A CN02147320 A CN 02147320A CN 1442788 A CN1442788 A CN 1442788A
Authority
CN
China
Prior art keywords
message
route
network
virtual network
virtual
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
Application number
CN02147320A
Other languages
English (en)
Other versions
CN1288558C (zh
Inventor
L·F·卡夫雷拉
E·B·克里斯滕森
G·M·德拉利贝拉
C·G·卡莱
D·E·莱文
B·H·洛夫林
S·E·勒克
S·J·米利特
J·P·休丘科
R·S·沃赫贝
D·A·沃滕代克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1442788A publication Critical patent/CN1442788A/zh
Application granted granted Critical
Publication of CN1288558C publication Critical patent/CN1288558C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/308Route determination based on user's profile, e.g. premium users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

揭示了用于提供虚拟网络的各种方法和系统。通过在网络中的每台机器上的应用程序与网络传输服务之间插入一个适应性调度程序,可以在网络服务应用程序与传统的网络协议之间创建至少一层抽象。虚拟网络中的消息协议是可扩展的,允许应用程序按需要在任何消息内创建新的标题。适应性调度程序包含一些处理程序,这些处理程序根据每个消息内的任意内容(包括标题和/或数据内容的任何组合)来路由发送和调度虚拟网络内的消息。虚拟网络上的每个设备都具有消息被路由发送到的一个虚拟地址,这允许设备在网络内移动,而无须重新配置路由发送表格。当事件符合预定的标准(包括不发生某个条件)时,可以自动创建处理程序,这使虚拟网络能够进行自我复原并适应重新配置。

Description

带有适应性调度程序的虚拟网络
交叉参考相关申请
该申请涉及于2001年10月16日提交的美国临时申请(序列号为60/329,796)和于2001年10月19日提交的美国临时申请(序列号为60/346,370),并声明了它们的优先权。这些申请都被包括于此,用作参考。
发明领域
本发明一般涉及计算机网络。尤其是,本发明涉及根据消息内容来适应地路由发送消息的虚拟网络。
发明背景
计算机结构内存在各种层次的抽象——从1和0的物理表达式到高层次的应用程序。最初开发计算机时,通常被称作“机器语言”的低层次编程语言一般用于控制计算机的操作。但是,为了给具有不同机器语言的两个不同的计算机平台创建相同的程序,程序设计员必须编写程序两次——用每个平台的机器语言编写一次。
计算机程序设计员了解到,可以通过创建较高层次的编程语言(例如,C和Pascal)来使机器语言抽象化,然后为将在其上使用该程序的每个平台提供编辑器。当用这些较高层次的编程语言中的一种语言编写程序时,可以对程序进行编辑,使其在每台特殊的机器上运行,而无须为每台机器重写源程序。这方面的抽象继续进行,从而使虚拟机器有了更进一步的发展。
虚拟机器的概念在计算机科学的技术领域中众所周知。虚拟机器是一种中间表示,它并不局限于特定计算机硬件结构的特殊细节。通常,虚拟机器将保证特定的语义学,不管使用什么硬件来执行它,该语义学都保持相同。所以,可以在不同的硬件系统上执行已为这种机器编写的程序,而无须修改。这样,虚拟机器的一个优点是:不管任何一个计算机程序的起源或操作要求如何,操作语义学从一个计算机程序到下一个计算机程序都保持不变。
计算机网络取决于在其上建立网络的基础物理硬件与网络协议。这些协议又取决于它们在其上被执行的基础网络结构。结果,必须为将在其上使用网络程序的每个网络重写这些网络程序。此外,为使两台机器在网络上通信,每台机器必须理解如何在特殊的网络上进行通信,即,每台机器必须具有用于通信的合适的网络驱动器。
已在计算机网络中被执行的一个层次的抽象是使用TCP/IP协议堆栈,它根据OSI 7层网络模型来加以执行。TCP/IP使网络协议的一些概念抽象化,允许都理解TCP/IP协议的两台机器相互进行有效的通信。但是,即使使用TCP/IP,在某个层次上,每台机器也必须能够理解网络路由发送,以及拓扑学、联编和DNS分解。也就是说,网络上的每台计算机仍然必须安装实质的网络支持公用程序,以便在网络上进行有效的通信,因为OSI模型只是使各台机器之间的物理电线虚拟化,而不是使各台机器通过其进行通信的网络虚拟化。
例如,TCP/IP要求应用程序理解端口和IP地址的概念。端口和IP地址又要求应用程序理解DNS名称分解、网络拓扑学、传输带宽和终端对终端路由发送。这样,虽然简化了用于按可靠的方式来交换规则序列的字节的模型,但应用程序仍然必须直接处理许多网络层次的概念和细节。OSI模型不按网络应用程序的需要来对较高层次的构造进行寻址(例如,命名、路由发送和服务质量)。
传统网络的另一个缺点是:在发生消息错误或网络故障之后,无法适应和修复。当增加、移动或移走机器时,目前的网络不能容易地进行自动适应。也就是说,用户通常必须编辑路由发送表格,以便将变化通知给网络。
此外,除了通过保养执行相同功能的多余的机器以外,无法容易地修理好网络故障。也就是说,如果第一台机器发生故障,那么,第二台(备用)机器接管第一台机器的功能。但是,如果第二台机器随后又发生故障,并且没有执行相同功能的第三台机器,则网络将会因此而遭受损失。已知的网络不具备自我复原的功用。因此,需要一种能够克服这些问题的高级网络。
传统网络的另一个缺点是:无法根据消息内容来动态地路由发送网络消息。Cisco系统公司的已知路由器能够根据预先定义的标准来路由发送消息,但不可进行动态编程以根据消息内容来支持用户可扩展的路由发送。除了传统的路由发送和QoS要求以外,这个缺点使它们不适用于应用程序在其中可以控制消息转换和处理的系统。
提供解决部分或所有以上被识别的问题的一种方法和系统,这将会是一大进步。
发明概述
本发明的各个方面可以被用来使网络虚拟化,以允许程序设计员编写平台独立的网络计算机应用程序。通过在提供网络服务的应用程序与执行那个代码的系统的基础网络之间(例如,在OSI网络模型中的层6与层7之间)增加一个抽象层(软件或硬件),可以创建虚拟网络。可以插入一个或多个虚拟化部件,包括同步、事件综合(eventing)、通信联系、命名、组群、寻址和路由发送部件。
通过使联网系统抽象化,网络可以更有效、更安全地将各种服务本能地提供给建立在其顶部的应用程序和服务。例如,可以容易地提供各种服务(例如,可靠性、安全、平台独立、按比例增加(scale-out)、边缘联网和位置独立)。系统也可以适应物理拓扑变化并自动从故障“复原”。虚拟网络负责将代码映射到网络的物理拓扑上,并负责显然地适应该映射。此外,开发者可以从隔离其各种服务中得益。
通过将虚拟网络与虚拟机器结合起来,可以创建一种分布式可划分虚拟网络,其中,应用程序可以被编写一次,并可以在任何机器上运行。也就是说,在运行虚拟机器的计算机上的、为用于虚拟网络而编写的网络应用程序不需要被加以重写,因为它能够在操作相同的虚拟机器的任何机器上运行并被连接到虚拟网络。
虚拟网络也提供适应的重新配置性能。假设机器A在网络上将一个消息路由发送给机器B,则B回复给机器A。但是,在机器A能够将第二个消息路由发送给机器B之前,机器B移动(例如,到另一个IP地址)。根据一个实施例,虚拟网络可以分辨自己并适应改变的位置,以便仍然将消息传递给B的新位置。地址的变化可能会很明显,以便在网络上运行的应用程序永远不知道(或不需要知道)B的位置曾发生过变化。不对每台机器可能会移动到的那套位置进行限制,因为抽象是从机器层次移动到网络层次。在移动设备之后,一旦它识别出自己到新位置处的网络,虚拟网络就能够更新自己,以便到机器的路由发送可以继续进行操作,而不会发生中断。该能力可扩展当前从单个管理领域到多个管理领域内的内容,使位置活动性能够跨组织进行扩展。
本发明的第一个实施例提供了一种装置,该装置包括路由发送并调度消息的一个消息调度程序。每个消息根据该消息的内容的任意部分来被路由发送。也有一种界面,网络应用程序通过该界面与消息调度程序进行通信,以定义在其上路由发送消息的消息的内容的任意部分。
在本发明的另一个实施例中,有一种数据处理装置,该装置包括一个消息调度程序模块、用于将消息调度程序与传输协议接合的一个传输适配器、应用程序通过其与消息调度程序进行通信的一个界面,以及被存储的规则,这些被存储的规则指示消息调度程序根据所述第一个网络消息的第一个属性来路由发送第一个网络消息,并根据第二个网络消息的第二个属性(不同于第一个属性)来路由发送第二个网络消息。从每个网络消息中所包含的一套标题和数据中选择第一个和第二个属性。
另一个实施例提供了用于路由发送网络消息的一种方法。消息调度程序根据第一个网络消息的第一个属性来路由发送第一个网络消息。消息调度程序根据第二个网络消息的第二个属性(不同于第一个属性)来路由发送第二个网络消息。第一个和第二个属性可以是从每个网络消息的一套标题和数据中选择的任何字段。
在另一个实施例中,有一种存储计算机可执行指令的网络路由器。当被路由器执行时,这些指令执行一套步骤。网络路由器存储从网络应用程序接收的路由发送信息。路由发送信息包括一个消息字段、一个字段条件和一个消息指令。通过将网络消息与被存储的路由发送信息进行比较,网络路由器接收并处理网络消息。当所接收消息的消息字段符合字段条件时,网络路由器执行消息指令。
本发明的另一个实施例提供了虚拟计算机网络。该计算网络包括多台计算机,每台计算机配置有在传输层协议与网络协议之间转换消息的至少一个传输适配器,以及根据消息的内容的一个任意部分来路由发送并调度消息的一个消息调度程序。每台计算机中的消息调度程序路由发送使用传输适配器的传输层协议上的虚拟网络协议中的消息。
在本发明的另一个实施例中,有一种虚拟网络,它包括被插入在OSI协议堆栈的层6与层7之间的至少一个虚拟部件。
附图简述
图1展示了根据本发明的一个实施例的虚拟网络中的两个节点的方框图。
图2展示了根据本发明的一个实施例的虚拟网络调度程序的方框图。
图3展示了根据本发明的一个实施例的可编写消息协议。
图4展示了根据本发明的一个实施例的虚拟网络的方框图。
图5展示了根据本发明的另一个实施例的虚拟网络的方框图。
图6展示了根据本发明的一个实施例的、存储计算机软件的计算机可读介质的方框图。
图7展示了根据本发明的一个实施例的、由虚拟网络提供的一套服务。
图8展示了根据本发明的一个实施例的、执行消息传递的流程图。
图9展示了根据本发明的一个实施例的、被修改的OSI 7层网络协议堆栈。
图10展示了根据本发明的一个实施例的、通过虚拟网络调度程序的数据流。
图11展示了根据本发明的一个实施例的网络结构。
图12展示了一张样品虚拟映射表格。
图13展示了在系统已适应机器故障之后图12的样品虚拟映射表格。
发明的详细描述
通过结合通用使能部件来使用虚拟位置,可以实现虚拟网络中的消息分解,它被称作“虚拟网络调度程序(VND)”,并被包括在加入虚拟网络的每种资源中。资源可以被定义为“任何消息端点”。参考图1,为虚拟网络113上的每个设备101-102提供一个虚拟地址,它的实际地址(例如,IP地址、MAC地址、URL或其他位置标识符)可以被映射到该虚拟地址。VND 103可以包括被并入每个设备的一个路由器模块,不管其上安装路由器的设备如何,每个设备都使用硬件或软件来以相同的方式响应于消息。也就是说,路由器模块是独立的设备。VND 103包括消息处理程序109,下文将进一步加以描述。
消息处理程序109可以随机器而变化,或者,它们可能跨越各台机器而保持一致。每个消息处理程序可以为特殊类型的机器而加以明确的配置,也可以被配置成明确地操作或不操作任何给定的机器。一些消息处理程序可以被广泛地部署(例如,消息标题处理程序和加密处理程序),而其他的消息处理程序只可以被部署在单台机器上。
每个VND负责执行路由发送功能和调度功能。路由发送是将消息发到其目标设备的过程。调度是当接收到消息时响应于消息的接收而执行适当的处理程序(例如,软件模块、功能、应用程序、例行程序等)或其他可执行软件的过程。VND执行的处理程序可能是确定VND应该如何处理和路由消息的路由发送处理程序,也可能是可将消息路由发送给在设备上运行的应用程序的处理程序。
在一个实施例中,VND可以路由发送和调度开放的、可扩展的通信联系协议中的基于XML的消息,不管每个特定的应用程序使用的操作系统、目标模型或语言如何,该协议都允许分布式分散应用程序交换信息。可以采用支持虚拟网络所用的传输的任何协议。可以结合网络传输协议107(例如,TCP、IP、UDP、HTTP、SMTP、SOAP-RP等)来使用VND。当经由任何传输协议在一个位置处接收消息时,消息内容由传输适配器105提取并被输入VND 103。每个传输适配器将根据一个预先定义的传输协议而被格式化的消息作为输入来接收,并转换(或除去)消息标题,以便遵守虚拟网络协议。如图1所示,每个VND 103可以被连接到多个传输适配器TA1-TAn,用于多个传输协议T1-Tn。这允许每个VND可以跨越多次传输来被使用,而无须将虚拟网络与单个传输协议联系在一起。
通过使用多个传输协议和协议适配器,将VND 103放置在每个设备上可提供一个平台。通过该平台并使用虚拟网络协议,任何应用程序可以显然地与独立于传输层协议的另一个应用程序进行通信。在该技术领域中已知一些特殊的应用程序,这些应用程序已经被配置成在多个协议上进行通信。但是,每个这样的应用程序必须被加以明确的配置。通过使用这里所描述的虚拟网络,应用程序可以在多个协议上进行通信,而无须任何特殊的配置,甚至不会发现正在多个协议上进行通信传输。路由发送每个消息的每个特殊设备中的VND 103作出有关在其上路由发送消息的协议的决定。关于每个消息,VND可以根据一个或多个预先定义的协议政策来确定使用哪个协议。换句话说,根据应用程序或网络服务的需要和/或要求,所使用的协议可能取决于驱动特定消息的VND的应用程序或网络服务。
当虚拟网络研制或需要一个新的传输协议时,可以创建和安装新的传输适配器,用于每个VND。通过这种方法,虚拟网络可以利用新的传输协议,而不要求对将被置入虚拟网络的每个应用程序的每个传输协议进行支持。而是为每个VND提供对新的传输协议的支持,它包含指示何时与如何结合新的传输适配器来使用新的传输协议的逻辑。
VND统一单台机器上的局部调度和远程调度。与其中只有规定的机器或专用机器用作路由器的传统网络不同,每个设备通常用作虚拟网络中的路由器。例如,设备可能会接收一个消息,只是用于确定该消息实际上应该在网络中的其他某个地方被传递。当发生这种情况时,机器将该消息发给正确的接收者,或发给机器根据其目前的路由发送表格和规则而认为是正确的那个接收者,而不是(随意地)将错误消息返回给消息路由发送者。
图10展示了根据本发明的一个实施例的一个消息路由发送例子。VND 1001经由传输适配器1005a接收引入的消息1003,FROM字段被填充1.2.3.4。VND1001可以包括多个传输适配器1005a、1005b和1005c,用于多个传输协议。VND 1001使用处理程序1007-1013来处理所接收的消息1003,这些处理程序中的每个处理程序指示VND 1003根据预先定义的标准来路由发送和/或调度消息。VND 1001根据处理程序1007将消息的TO字段修改为7.7.4.4,并通过传输适配器1005c来输出所路由发送的消息1015。根据指出1.2.3.4的引入的消息1003的FROM字段,所路由发送的消息1015包括被填充有目的地地址7.7.4.4的一个TO字段。
由于每个设备都用作路由器,因此,可以执行自我复原系统。当一台机器发生故障时,其他机器将会自动补偿并找到通过其路由发送消息的其他路径,从而使虚拟网络故障可以被容忍。在一个实施例中,可以将机器放在冗余组群中。冗余组群中的每台机器都能够检测到组群中任何其他的机器已发生故障并离开组群。然后,剩余的机器可以更新路由发送消息的一个或多个消息处理程序中的信息,以避免使用已知发生故障的机器。这样,机器可以根据其路由发送与逻辑表格中被编码的指令来补偿网络故障和错误,这将在下文进一步加以描述。在另一个实施例中,一个或多个机器子系统可能正在对网络实行监控,以确定最佳路径和失败的路径。
参考图2,处理程序109包含指示VND 103如何处理消息(即,如何处理引入的消息、如何对消息作出响应,以及如何路由发送消息)的逻辑。例如,第一个处理程序109a可以执行病毒检查,第二个处理程序109b可以执行安全功能,第三个处理程序109c可以执行可靠性功能等。如图2所示,109n可以使用无限数量的处理程序109。通过在任何给定的时间增加一个新的处理程序109,可以把新的功能性和性能加到虚拟网络,而无须修改每台机器上的网络应用程序。所处理的消息通过逻辑接收者端口111被输出。逻辑端点可以被映射到设备(消息正从那里被路由发送)上的任何物理端口。
可以创建VND处理程序109,以便在虚拟网络中,应用程序网络为每个应用程序呈现一套逻辑端点(即设备)。应用程序可以经由使用非统一的语义规则的消息来与端点进行通信。例如,第一个应用程序可以根据第一种消息格式(例如,标题和数据)在网络上将消息路由发送给第二个应用程序。一个或多个处理程序可以修改消息句法,以便在第二个应用程序接收该消息之前对其进行修改,并且该消息出现在一个不同的消息句法中。端点可以被映射到在每个端点处可能有不同的实施的物理网络上(即,一旦公开具备规格,不同的卖主就可以提供操作虚拟网络的软件和硬件),并可以使用各个端点之间的非统一的传输协议来进行通信。
通过使用以上描述的网络平台,可以将虚拟网络配置成能进行自我组织。也就是说,可以将虚拟网络配置成响应于网络上的规定事件而进行自我恢复、适应或改组。事件会是引发网络自我适应的任何预先定义的条件,包括不发生某个条件。例如,当网络检测到它的一个节点已发生故障时,可以将网络配置成进行改组。当发生这种情况时,一个或多个处理程序可以指示VND将信息包路由发送到一个新的位置。在另一个例子中,当网络路径上的负荷很高时,VNDs可以在通信量较少的网络路径上路由发送消息。或者,用户可以经由图解用户界面或其他配置界面改组虚拟网络。
可以提供应用程序编程界面(API)115,通过API 115,应用程序可以与VND 103接合。可以为计算机的执行引擎(例如,操作系统或虚拟机器)编写应用程序,计算机的执行引擎使用API 115进行连接,以便根据消息内容和/或根据曾在其上接收每个消息的传输协议来配置VND,以响应于每个消息。VND调停协议与基础的执行引擎之间的相互作用。
图3展示了本发明的一个实施例中所使用的一种可编写消息格式。每个消息301包括一个标题部分303和一个数据部分305。标题包括与数据部分中所包含的信息有关的信息。也就是说,标题是属于消息301的数据部分305的一种元数据。不要求标题部分和数据部分有固定的长度。标题可以包括路由发送标题307、可靠性标题309、安全标题311和应用程序标题313。路由发送标题307可以包括(例如)一个路由发送者的地址、一个接收者的地址,以及针对路由发送过程的任何其他的信息。地址字段可以被填充有地址所指的实体或设备的虚拟地址。虚拟地址是物理地址或其他逻辑地址可以被映射到那里的逻辑地址。可靠性标题309可以包括确保信息包到达其预定目的地的任何标题。安全标题311可以包括确保消息内容不泄露给非预定的接收者的任何标题。根据特定应用程序的需要,完整标题可以与安全标题或可靠性标题包括在一起。如网络应用程序所定义的,应用程序标题313可以包括以前不加以说明的任何标题。
在一个实施例中,消息协议是可编写协议,体现为:应用程序可以按需要增加各个新的功能方面,而不会中断对先前存在的消息功能性的处理。在一个实施例中,标题被用来提供新的功能方面。可以将新的功能属性存储在一个或多个消息标题中。也就是说,新标题可以被加到现存的消息中,而不会打扰对前面消息的处理,这与传统的消息协议组套不同,通过传统的消息协议组套,一个消息协议封装另一个消息协议,以便包括一个新的标题(或功能属性)。这样,消息协议是可扩展的,体现为:应用程序可以按需要来增加或除去额外的标题字段,以提供新的功能性。这使网络应用程序能够定义新的标题字段并将其并入消息格式,而不要求对每个网络应用程序重新编程以理解每个新的消息标题。每个应用程序只使用配置那个特殊的应用程序来理解的那些标题。可以忽略它不理解或无法进行适当解释的那些标题。
可编写协议可以是被修改的、基于XML的协议,也可以是被修改的TCP协议(由此,额外的标题被插入每个TCP消息的数据部分)。当应用程序将一个新标题加到消息中时,应用程序可以将消息路由发送给一个或多个VNDs,它指示每个VND根据新标题来创建一个或多个处理程序,以进行路由发送和/或调度。
每个VND 103可以根据每个消息内的任何标题和/或数据字段,或根据每个消息内的标题和/或数据字段的任何组合,来作出路由发送决定。可以使用额外类型或较少类型的标题。每个VND 103中的每个处理程序提供关于根据消息内容来进行路由发送的指令。
例如,应用程序可以定义并包括每个消息中的一个“动作”标题,以指出用户要求接收者采取的动作。如果网络用户规定动作预订并将消息数据305设置为“棒球分数”,则该消息可以向第一个服务器指出:路由发送用户想订阅棒球分数电子邮件清单。此外,动作字段可以由虚拟功能名称来填充,映射到在其上接收它的每台机器处的一项特殊的功能。如果网络用户规定动作预订并将消息数据305设置为“MSDN”,则该消息可以向第二个服务器指出:路由发送用户想订阅标题为“MSDN杂志”的物理杂志。这样,如两个应用程序各自的预订功能所定义的,两个应用程序都可以使用动作预订——每个应用程序采用一种不同的方式。
在另一个例子中,参考图11,假设应用程序服务供应商(ASP)为顾客提供三个等级的服务。根据顾客已预订的一个等级的服务,ASP可以将消息路由发送给三个不同的服务器和/或应用程序之一。ASP可以定义和使用被称为“服务_等级”的一个新的应用程序标题或类似物,以便为每个顾客指明一个等级的服务。客户应用程序可以用金、银或铜之一来填充服务等级字段,以指明特殊顾客已支付和/或预订的服务等级。主服务器1105可以经由网络1103从顾客1101那里接收所有引入的消息。然后,主服务器调度程序(例如,VND 103)可以根据服务等级来路由发送引入的顾客消息。定购金服务的顾客可以被路由发送到快速响应服务器1107(支持一整套服务的一种服务器)或其他高级等级服务器。定购银服务的顾客可以被路由发送到中速响应服务器1109(除了基本服务以外还支持所选服务的一种服务器)或其他中等服务等级的服务器。定购铜服务的顾客可以被路由发送到缓慢响应服务器1111(只支持基本服务的一种服务器)或其他低服务等级的服务器。
在另一个例子中,应用程序可以包括被命名为“地理区域”的、与路由发送用户的地理位置有关的一个标题字段。然后,可以根据路由发送者的物理位置来作出路由发送决定,以便将消息路由给离路由发送用户最近的服务器。例如,在维持两个服务器的系统中,当地理位置标题字段指出路由发送用户位于俄勒冈州的波特兰时,设备可以将消息路由发送给位于华盛顿州的西雅图的第一个服务器;当地理位置标题字段指出路由发送用户位于密歇根州的底特律时,设备可以将消息路由发送给位于伊利诺斯州的芝加哥的第二个服务器。这避免了当附近有相同的服务器时将消息路由发送给远处的服务器。
在另一个例子中,当已对一台或多台机器发起拒绝服务攻击时,可以创建一个处理程序,该处理程序根据每个消息的“证书”字段来拒绝所有消息。“证书”字段可能等同于、也可能不等同于消息的“来自”字段。例如,“证书”字段可以包括路由发送用户的姓名,以及证明路由发送者是指名道姓的人的鉴定;而“来自”字段可以只包括路由发送者的IP地址或逻辑名称。当消息的“证书”字段包含有关路由发送机器的适当的证书时,处理程序可以被配置成接受该消息。当拒绝消息时,可以完全忽略它,释放资源以响应于合法的消息。
在另一个例子中,参考图4,可以将虚拟网络配置成自我复原。位于防火墙403后面的机器401可以接收网络连接404上的引入的消息。机器401可以经由虚拟网络(即,如这里所讨论的,配置有适应性调度程序和传输适配器的物理网络)被连接到其他机器407、409和411。每台机器401、407、409和411包括VND 405。每台机器401、407、409和411可以存储一个或多个虚拟位置。也就是说,机器1可以存储并执行被称作“alpha”的服务器。机器2可以收容并存储被称作“bravo”的服务器。机器3可以收容并存储被称作“charlie”、“delta”和“echo”的服务器。机器4可以收容并存储被称作“foxtrot”和“golf”的服务器。虚拟网络中的每个VND配置有处理程序,这些处理程序将每个虚拟位置映射到其各自的物理机器。例如,当设备401接收朝向虚拟位置bravo的消息时,设备401的VND中的虚拟位置映射处理程序指示VND将该消息路由发送给机器2。但是,由于设备401是防火墙处的引入来源,因此,机器1中的VND 405可以配置有额外的处理程序,来首先检查所有引入的消息是否有病毒,再执行其他的安全措施。
为了使虚拟网络能够自我复原,可以创建处理程序,来定期轮询另一台机器或服务器,以确定其网络状况。也就是说,在服务器“golf”是“echo”的备用服务器的情况下,可以将机器4配置成按定期时间间隔来轮询机器3,以便确认机器3(明确地说是服务器“echo”)在发挥作用。当机器4没有在规定数量的时间(例如,10秒)内从机器3(或“echo”)接收到确认时,机器4可以启动一个故障(failover)序列,由此,机器4开始将消息路由发送给每台机器的VND,向每个VND指出:当为机器3上的“echo”接收到消息时,该消息应该被路由发送给机器4上的“golf”。
也通过使用图4中所描述的结构,当服务器从一台机器移动到另一台机器(例如,从一个IP地址到另一个IP地址)时,可以在每个VND中更新虚拟映射,而不会要求重新配置操作网络的每个应用程序。当应用程序将消息路由发送给服务器时,每个VND自动将消息重新路由发送到服务器的新位置。可以手工更新虚拟映射(例如,作为将新的服务器加到系统的结果),也可以自动更新映射(例如,作为如上所述的自动复原或适应事件的结果)。图12展示了一张样品虚拟映射表格。图13展示了在主办www.foo.com网站的第一台机器发生故障且系统适应上述的故障(将消息重新路由发送给冗余组群内的另一台机器)之后的相同的表格。
参考图5,虚拟映射也有助于容易地设置和测试新的服务器和网络应用程序。例如,机器2上的服务器bravo可以是生产电子邮件服务器(即,目前在虚拟网络中使用的电子邮件服务器)。虚拟网络的拥有者可能想要用新的或不同的特点来测试被更新的电子邮件服务器。通常,为了测试新的服务器,用户将必须指引他的电子邮件客户到新的服务器。这对于单个用户而言可能不会不方便,但是,当新的服务器实况运行时,这可能会给改变庞大组织内每个用户的服务器名称带来诸多不便。通过使用发明的系统,测试服务器可以被安装在机器3(也被命名为“bravo”,被称作“bravo’”)上。每个VND可以配置有一个处理程序,该处理程序指示它将bravo的消息路由发送给机器2。但是,当路由发送者是预定的用户(例如,正在测试新服务器(bravo’)的网络的管理人)时,相同或不同的处理程序被配置成将bravo的消息路由发送给机器3。这样,不要求重新配置测试用户的机器。此外,当新的服务器bravo’准备好投入生产时,可以通过将所有bravo消息指引到机器3,来改变网络映射,而不会中断任何用户的电子邮件服务。由于虚拟映射已经改变,因此,每个用户将显然开始使用新的电子邮件服务器。
参考图7,可以提供一套虚拟网络服务,以确保虚拟网络中的通信和服务是安全的、可适应的、可靠的、可自我复原的和不依靠平台的。虚拟网络同步服务703确保网络内的分布式数据保持同步。虚拟网络事件综合服务705根据事件的发生或不发生来创建新的路由发送和/或调度规则。虚拟网络通信联系服务707根据虚拟的名称和位置来路由发送消息。虚拟网络名称服务709根据虚拟名称的任何子串来提供名称分解服务。虚拟网络组群服务711管理名称映射表格。虚拟网络寻址服务713为长度固定的地址名称(例如,IPv6地址)执行命名和路由发送服务。但是,虚拟网络寻址服务可用于尺寸固定的地址的任何平坦的地址空间。虚拟网络路由发送服务715根据动态规则并结合使用可编写消息协议的动态标题来进行路由发送和调度。可以跨越网络的所有层次来提供虚拟网络安全服务717,以确保消息内容安全、可信。虚拟网络管理719可以跨越所有层次来加以执行(例如,管理名称、路由发送/调度处理程序、事件综合等)。目前在该技术领域中已知,虚拟网络监控服务721允许网络管理人对网络使用、带宽、瓶颈点和类似内容进行监控。
如图9所示,本发明的一个实施例可以建立在7层开放系统互连(OSI)网络模型的一个修改版本的基础上。可用于OSI模型的一个协议堆栈是TCP/IP协议堆栈。通过将一个层插入在应用程序顶层与紧接在应用程序顶层下面的层之间,本发明可以将一个额外层次的抽象插入OSI网络模型或任何其他的网络模型中。被称作“虚拟网络(VN)层”的新层应该跨越所有应用程序而保持一致,以便各个应用程序可以按如VN层所定义的统一的方法协同操作。VN层已被并入其中的网络被称作“虚拟网络”。在一个实施例中,VN层包括一个虚拟网络调度程序和任何必要的传输适配器,它们根据消息处理程序和虚拟地址映射表格来路由发送和调度消息。
通过使用以上描述的结构,在单独消息的基础上,网络可以根据不同的消息内容来路由发送和调度消息。本发明提供了一种网络协议,程序设计员可以使用API并按需要来改编和配置该网络协议。程序设计员和使用API的程序可以指示VNDs如何路由发送和调度引入的消息。也就是说,程序设计员将元消息(meta-messages)路由发送给VNDs,其中,每个元消息根据API来构制并提供一个或多个路由发送和/或调度指令。
图8展示了根据本发明的一个实施例的一般路由发送程序的流程图。在步骤801中,用户决定将消息路由发送给被称作“foo”的服务。在步骤803中,机器创建消息到服务“foo”。在步骤805中,服务名称“foo”根据虚拟地址映射表格而被映射到一个虚拟地址。在步骤807中,必须保护消息。在一个实施例中,使用SOAP扩展名(例如,“网络服务安全语言”(WS-安全)和/或“网络服务许可证语言”(WS-许可证)所定义的扩展名)来执行安全。在另一个实施例中,对消息执行转换,以选择有关的部分。摘要在所选择的部分上被加以计算,并由路由发送者进行加密/签名。消息的各个部分可能是机密的。在这种情况下,使用共享密匙或新密匙(又为接收者而被加密)来对它们进行加密。在步骤809中,当可应用时,虚拟地址被映射到组群地址(GADDR)。在步骤811中,适应性调度程序(即VND)确定最佳目标;在步骤813中,它将GADDR映射到虚拟地址。在步骤815中,虚拟地址被映射到物理地址;在步骤817中,消息被路由发送到物理地址。接收机器在步骤819中接收消息,并在步骤821中确认安全性。
各种发明的方法可以被具体表现为被存储在计算机可读介质(例如,软盘、CD-ROM、可移动的存储设备、硬盘、系统存储器或其他的数据存储介质)上的计算机可读指令。换句话说,各种发明的方法可以在硬件和软件的组合中或只在硬件中得到具体表现。图6展示了可以根据上述实施例中的一个或多个实施例来加以运用的计算机可读介质601的方框图。计算机可读介质601存储计算机可执行部件或软件模块603-613。或者,可以使用或多或少的软件模块。每个部件可以是可执行程序、数据链接库、配置文件、数据库、图解图像、二进制数据文件、文本数据文件、目标文件、源代码文件或类似物。当一个或多个计算机处理器执行软件模块中的一个或多个软件模块时,这些软件模块相互作用,使一个或多个计算机系统根据本发明的教导加以执行。
已就一些特殊的例子(包括目前执行本发明的各种较佳模式)描述了本发明,但精通该技术领域的人将会认识到,可以对如所附权利要求中所阐明的本发明的精神和范围内的上述各种系统和技术进行许多修改和变更。

Claims (42)

1.一种装置,其特征在于,包括:
路由发送和调度消息的一个消息调度程序,其中,根据消息内容的一个任意部分来路由发送每个消息;以及,
一个界面,应用程序通过该界面与消息调度程序进行通信,以定义消息内容的该任意部分。
2.如权利要求1所述的装置,其特征在于,消息调度程序包括一个传输独立的消息调度程序,该消息调度程序使用传输独立协议进行通信。
3.如权利要求1所述的装置,其特征在于,消息调度程序根据所述第一个网络消息的第一个属性来路由发送第一个网络消息,并根据所述第二个网络消息的、不同于所述第一个属性的第二个属性来路由发送第二个网络消息。
4.如权利要求1所述的装置,其特征在于,消息调度程序将第一个网络消息路由发送给第一个服务器,第一个网络消息从第一个路由发送者被寻址到接收者;以及
消息调度程序将第二个网络消息路由发送给第二个服务器,第二个网络消息从第二个路由发送者被寻址到接收者。
5.如权利要求1所述的装置,其特征在于,消息调度程序使用传输层协议上的虚拟网络协议来路由发送消息。
6.如权利要求1所述的装置,其特征在于,还包括一个传输适配器,用于在传输层协议与虚拟网络协议之间转换消息。
7.如权利要求1所述的装置,其特征在于,消息内容的任意部分包括一个应用程序层次标题。
8.一种数据处理装置,其特征在于包括:
一个消息调度程序模块;
一个传输适配器,用于将消息调度程序与传输协议接合;
一个界面,应用程序通过该界面与消息调度程序进行通信;
被存储的规则,这些规则指示消息调度程序根据所述第一个网络消息的第一个属性来路由发送第一个网络消息,并根据所述第二个网络消息的、不同于所述第一个属性的第二个属性来路由发送第二个网络消息;其中,从每个网络消息中所包含的一套标题和数据中选择第一个和第二个属性。
9.如权利要求8所述的数据处理装置,其特征在于,第一个属性包括一个应用程序创建标题。
10.如权利要求8所述的数据处理装置,其特征在于,每个消息规则被存储在消息处理程序中。
11.如权利要求10所述的数据处理装置,其特征在于,包括第一个消息处理程序;一旦出现预定的条件,该消息处理程序就改变第二个消息处理程序。
12.如权利要求10所述的数据处理装置,其特征在于,包括第一个消息处理程序;一旦出现预定的条件,该消息处理程序就改变第一个消息。
13.如权利要求11所述的数据处理装置,其特征在于,预定的条件包括不发生事件。
14.如权利要求13所述的数据处理装置,其特征在于,消息调度程序模块包括计算机可执行指令;当被执行时,这些计算机可执行指令使数据处理装置执行以下各个步骤:
(i)按第一预定时间间隔来轮询第二个装置;以及
(ii)从第二个装置接收轮询响应;
其中,预定的条件包括在预定数量的时间内不发生步骤(ii)。
15.如权利要求14所述的数据处理装置,其特征在于,当符合预定的条件时,消息调度程序改变第二个消息处理程序,以便使消息改道到第三个装置,消息原来被寻址到第二个装置。
16.如权利要求15所述的数据处理装置,其特征在于,计算机可执行指令进一步使数据处理装置执行将路由信息路由发送给第二个消息调度程序的步骤,指出对应于第二个和第三个装置的路由发送信息的变化。
17.一种用于路由发送网络消息的方法,其特征在于,包括以下各个步骤:
(i)根据第一个网络消息的第一个属性来路由发送第一个网络消息;
(ii)根据所述第二个网络消息的、不同于所述第一个属性的第二个属性来路由发送第二个网络消息;
其中,第一个和第二个属性可以是选自每个网络消息的一套标题和数据的任何字段。
18.如权利要求17所述的方法,其特征在于,还包括以下各个步骤:
(iii)接收包括一个消息字段和一个字段条件的指令;
(iv)根据所接收的指令来修改消息处理程序。
19.如权利要求18所述的方法,其特征在于,在步骤(iii)中,从网络应用程序接收指令。
20.如权利要求18所述的方法,其特征在于,在步骤(iii)中,指令建立在用户输入的基础上。
21.如权利要求17所述的方法,其特征在于,在步骤(i)和(ii)中,每个消息被输出到传输适配器,传输适配器将消息从虚拟网络协议转换到传输协议。
22.如权利要求17所述的方法,其特征在于,在步骤(i)中,第一个属性包括一个应用程序创建标题。
23.如权利要求17所述的方法,其特征在于:还包括将路由指令存储在消息处理程序中的步骤;并且
步骤(i)和(ii)根据被存储的消息处理程序来加以执行。
24.如权利要求23所述的方法,其特征在于:还包括当发生预定条件时改变第一个消息处理程序的步骤。
25.如权利要求23所述的方法,其特征在于:还包括当消息符合被存储在消息处理程序中的预定条件时改变网络消息的步骤。
26.如权利要求24所述的方法,其特征在于,预定条件包括不发生事件。
27.如权利要求17所述的方法,其特征在于,还包括以下各个步骤:
(iii)按预定时间间隔轮询第一个数据处理设备;
(iv)从第一个数据处理设备接收轮询响应;以及
(v)当在预定数量的时间内没有发生步骤(iv)时,改变消息处理程序,将原来被寻址到第一个数据处理设备的消息指引到第二个数据处理设备。
28.如权利要求27所述的方法,其特征在于:还包括将路由信息路由发送给消息调度程序的步骤,指出对应于第一个和第二个数据处理设备的路由发送信息的变化。
29.一种包括计算机可执行指令的网络路由器,其特征在于:当被路由器执行时,这些计算机可执行指令执行以下各个步骤:
(i)存储从网络应用程序接收的路由发送信息,其中路由发送信息包括一个消息字段、一个字段条件和一个路由发送指令;
(ii)接收网络消息;
(iii)通过将网络消息与被存储的路由发送信息进行比较,来处理网络消息;
(iv)当所接收的消息的消息字段符合字段条件时,执行路由发送指令。
30.如权利要求29所述的网络路由器,其特征在于,在步骤(iv)中,路由发送指令包括改变消息。
31.如权利要求29所述的网络路由器,其特征在于,在步骤(iv)中,路由发送指令包括根据应用程序层次标题来路由发送消息。
32.一种计算机网络,其特征在于包括:
多台计算机,每台计算机包括:
至少一个传输适配器,它在传输层协议与网络协议之间转换消息;以及
一个消息调度程序,它根据消息内容的一个任意部分来路由发送和调度消息,并且每台计算机中的消息调度程序使用至少一个传输适配器路由发送传输层协议上的虚拟网络协议中的消息。
33.如权利要求32所述的计算机网络,其特征在于,通过增加在新的传输层协议与网络协议之间转换消息的一个新的传输适配器,可以配置第一台计算机中的第一个消息调度程序用于新的传输协议,而不会要求重新配置网络应用程序以用于新的传输协议。
34.一种虚拟网络,其特征在于:包括被插入在OSI协议堆栈的层7与层6之间的至少一个虚拟化部件。
35.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个虚拟网络消息调度程序。
36.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个同步模块。
37.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个事件综合模块。
38.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个名称模块。
39.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个组群模块。
40.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个寻址模块。
41.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个安全模块。
42.如权利要求34所述的虚拟网络,其特征在于,至少一个虚拟化部件包括一个管理模块。
CNB02147320XA 2001-10-16 2002-10-16 带有适应性分配器的虚拟网络 Expired - Fee Related CN1288558C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US32979601P 2001-10-16 2001-10-16
US60/329,796 2001-10-16
US34637001P 2001-10-19 2001-10-19
US60/346,370 2001-10-19
US09/993,656 2001-11-27
US09/993,656 US7257817B2 (en) 2001-10-16 2001-11-27 Virtual network with adaptive dispatcher

Publications (2)

Publication Number Publication Date
CN1442788A true CN1442788A (zh) 2003-09-17
CN1288558C CN1288558C (zh) 2006-12-06

Family

ID=27406692

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02147320XA Expired - Fee Related CN1288558C (zh) 2001-10-16 2002-10-16 带有适应性分配器的虚拟网络

Country Status (5)

Country Link
US (1) US7257817B2 (zh)
EP (1) EP1303096B1 (zh)
JP (1) JP4503225B2 (zh)
CN (1) CN1288558C (zh)
MX (1) MXPA02010199A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100430937C (zh) * 2003-12-12 2008-11-05 英国电讯有限公司 分布式计算机系统
CN114050949A (zh) * 2016-09-09 2022-02-15 江森自控科技公司 用于在hvac系统网络之间提供通信的智能网关装置、系统和方法

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019836B2 (en) * 2002-01-02 2011-09-13 Mesh Comm, Llc Wireless communication enabled meter and network
US6915338B1 (en) * 2000-10-24 2005-07-05 Microsoft Corporation System and method providing automatic policy enforcement in a multi-computer service application
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US7113900B1 (en) * 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US6971001B1 (en) * 2001-05-17 2005-11-29 Accenture Global Services Gmbh General and reusable components for defining net-centric application program architectures
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US7194553B2 (en) 2001-10-16 2007-03-20 Microsoft Corporation Resolving virtual network names
US20030074579A1 (en) * 2001-10-16 2003-04-17 Microsoft Corporation Virtual distributed security system
US7676540B2 (en) * 2001-10-16 2010-03-09 Microsoft Corporation Scoped referral statements
EP1303097A3 (en) * 2001-10-16 2005-11-30 Microsoft Corporation Virtual distributed security system
US8015204B2 (en) * 2001-10-16 2011-09-06 Microsoft Corporation Scoped access control metadata element
US7536712B2 (en) * 2001-10-16 2009-05-19 Microsoft Corporation Flexible electronic message security mechanism
US7610404B2 (en) * 2002-05-22 2009-10-27 Cast Iron Systems, Inc. Application network communication method and apparatus
US8296433B2 (en) * 2002-05-22 2012-10-23 International Business Machines Corporation Virtualization method and apparatus for integrating enterprise applications
US7590987B2 (en) * 2002-06-05 2009-09-15 Sap Ag Apparatus and method for integrating variable subsidiary information with main office information in an enterprise system
US20080301298A1 (en) * 2002-07-29 2008-12-04 Linda Bernardi Identifying a computing device
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7814218B1 (en) * 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US20040078471A1 (en) * 2002-10-18 2004-04-22 Collatus Corporation, A Delaware Corportion Apparatus, method, and computer program product for building virtual networks
US7373383B2 (en) * 2002-12-06 2008-05-13 International Business Machines Corporation Location messaging method for delivering messages in a global virtual space
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
JP3969654B2 (ja) * 2003-03-07 2007-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーション Soapメッセージ作成方法並びに処理方法、情報処理方法、情報処理装置及びプログラム
WO2004099723A1 (en) 2003-05-12 2004-11-18 Power Measurement Ltd. Time coordinated energy monitoring system
US8321590B2 (en) 2003-05-22 2012-11-27 International Business Machines Corporation Application network communication
US7788214B2 (en) * 2003-07-11 2010-08-31 Computer Associates International, Inc. XML configuration technique and graphical user interface (GUI) for managing user data in a plurality of databases
US7926064B2 (en) * 2003-07-11 2011-04-12 Computer Associates Think, Inc. Business transformation logic engine and handlers
US9317570B2 (en) * 2003-07-11 2016-04-19 Ca, Inc. System and method for managing user data in a plurality of databases
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US20050276240A1 (en) * 2004-05-27 2005-12-15 Gupta Vivek G Scheme for seamless connections across heterogeneous wireless networks
US7607011B1 (en) * 2004-07-16 2009-10-20 Rockwell Collins, Inc. System and method for multi-level security on a network
JP4574287B2 (ja) * 2004-09-01 2010-11-04 キヤノン株式会社 ファイル管理装置
US7450498B2 (en) * 2004-10-27 2008-11-11 Morgan Stanley Fault tolerant network architecture
US20060168268A1 (en) * 2004-12-02 2006-07-27 International Business Machines Corporation Specific method of setting transport-specific properties from transport-agnostic clients
US7644184B2 (en) * 2004-12-08 2010-01-05 International Business Machines Corporation Universal adapter
US7984118B2 (en) * 2004-12-14 2011-07-19 General Electric Company Persistent configuration in a multiple processor repairable system
US7418006B2 (en) * 2005-03-08 2008-08-26 Microsoft Corporation Virtual endpoints
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US20060271634A1 (en) * 2005-05-25 2006-11-30 England Laurence E Method, system, and program for processing a message with dispatchers
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US20070084638A1 (en) * 2005-10-19 2007-04-19 Clyde Bohnsack Drilling fluid flow facilitation
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7761595B1 (en) 2006-01-25 2010-07-20 Sprint Communications Company L.P. Dynamic server addition using virtual routing
US7464151B1 (en) * 2006-01-25 2008-12-09 Sprint Communications Company L.P. Network centric application failover architecture
US7523340B2 (en) * 2006-05-31 2009-04-21 Microsoft Corporation Support self-heal tool
US7969872B2 (en) * 2007-07-23 2011-06-28 Mitel Networks Corporation Distributed network management
US8988995B2 (en) * 2007-07-23 2015-03-24 Mitel Network Corporation Network traffic management
US20090216639A1 (en) * 2008-02-25 2009-08-27 Mark Joseph Kapczynski Advertising selection and display based on electronic profile information
US20090216563A1 (en) * 2008-02-25 2009-08-27 Michael Sandoval Electronic profile development, storage, use and systems for taking action based thereon
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US8458285B2 (en) 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US8019864B2 (en) 2009-06-19 2011-09-13 Microsoft Corporation Using transport-independent resource status
CN102971738A (zh) 2010-05-06 2013-03-13 水宙责任有限公司 用于配置文件利用系统中的安全性的系统、方法和计算机可读介质
US9563751B1 (en) * 2010-10-13 2017-02-07 The Boeing Company License utilization management system service suite
US10938868B2 (en) * 2012-12-07 2021-03-02 Unisys Corporation Application service integration
US20150379225A1 (en) * 2014-06-27 2015-12-31 Michael Scott Plasse System and method for securely managing medical interactions
US9336040B2 (en) * 2014-09-15 2016-05-10 Intel Corporation Techniques for remapping sessions for a multi-threaded application
US10581767B1 (en) * 2015-09-23 2020-03-03 Veritas Technologies Llc Systems and methods for email journaling
US10025605B2 (en) * 2016-04-08 2018-07-17 Advanced Micro Devices, Inc. Message handler compiling and scheduling in heterogeneous system architectures
US11880413B2 (en) * 2017-06-02 2024-01-23 Qualtrics, Llc Transforming datasets for visualization within widgets across multiple platforms and software applications

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61158257A (ja) * 1984-12-29 1986-07-17 Hashimoto Corp ビデオテツクス受信中の電話応対方式
US4852151A (en) * 1988-02-24 1989-07-25 Hayes Microcomputer Products, Inc. Modem with call waiting
KR910002934B1 (ko) * 1988-08-31 1991-05-10 삼성전자 주식회사 전자식 간이 교환 장치의 통화 대기 및 교대통화방법
US4995074A (en) * 1989-04-03 1991-02-19 Goldman Bruce J Switched line modem interface system
DE69029515D1 (de) * 1990-06-28 1997-02-06 Ibm Nachrichtenverarbeitung in einem Datenverarbeitungsgerät
US5241587A (en) * 1991-07-03 1993-08-31 Teltone Corporation Polling controller
US5224098A (en) * 1991-07-17 1993-06-29 International Business Machines Corporation Compensation for mismatched transport protocols in a data communications network
US5608551A (en) * 1993-04-12 1997-03-04 In Focus Systems, Inc. Display panel assembly with microlens structure
IL111154A0 (en) * 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5509000A (en) * 1994-06-10 1996-04-16 Motorola, Inc. Method and apparatus for routing information in a communication system
US6151618A (en) * 1995-12-04 2000-11-21 Microsoft Corporation Safe general purpose virtual machine computing system
US5761477A (en) * 1995-12-04 1998-06-02 Microsoft Corporation Methods for safe and efficient implementations of virtual machines
US5862339A (en) * 1996-07-09 1999-01-19 Webtv Networks, Inc. Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
JP3004590B2 (ja) * 1996-08-02 2000-01-31 株式会社山田製作所 ステアリングシャフト
US5805798A (en) * 1996-10-29 1998-09-08 Electronic Data Systems Corporation Fail-safe event driven transaction processing system and method
JPH10290257A (ja) * 1997-04-16 1998-10-27 Sharp Corp メッセージ中継装置及び通信システム
US5944825A (en) * 1997-05-30 1999-08-31 Oracle Corporation Security and password mechanisms in a database system
US5999932A (en) * 1998-01-13 1999-12-07 Bright Light Technologies, Inc. System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing
US6119171A (en) * 1998-01-29 2000-09-12 Ip Dynamics, Inc. Domain name routing
US6453356B1 (en) * 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
JP2000010880A (ja) * 1998-06-22 2000-01-14 Ricoh Co Ltd 電子メール転送装置
US6233619B1 (en) * 1998-07-31 2001-05-15 Unisys Corporation Virtual transport layer interface and messaging subsystem for high-speed communications between heterogeneous computer systems
US6243749B1 (en) * 1998-10-08 2001-06-05 Cisco Technology, Inc. Dynamic network address updating
US6006259A (en) * 1998-11-20 1999-12-21 Network Alchemy, Inc. Method and apparatus for an internet protocol (IP) network clustering system
JP3688149B2 (ja) * 1999-05-26 2005-08-24 沖電気工業株式会社 パケット中継装置及びパケット中継方法
JP3688547B2 (ja) * 2000-02-15 2005-08-31 株式会社東芝 位置識別子管理装置及び移動計算機並びに位置識別子管理方法及び位置識別子処理方法
WO2001086416A2 (en) * 2000-05-08 2001-11-15 Transilica, Inc. Distributed applications in a portable thread environment
CA2369824A1 (en) * 2001-01-30 2002-07-30 At&T Corp. Network service for adaptive mobile applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100430937C (zh) * 2003-12-12 2008-11-05 英国电讯有限公司 分布式计算机系统
CN114050949A (zh) * 2016-09-09 2022-02-15 江森自控科技公司 用于在hvac系统网络之间提供通信的智能网关装置、系统和方法

Also Published As

Publication number Publication date
EP1303096A3 (en) 2006-07-26
JP2003208365A (ja) 2003-07-25
EP1303096A2 (en) 2003-04-16
US20030101284A1 (en) 2003-05-29
US7257817B2 (en) 2007-08-14
JP4503225B2 (ja) 2010-07-14
MXPA02010199A (es) 2009-12-14
EP1303096B1 (en) 2019-05-22
CN1288558C (zh) 2006-12-06

Similar Documents

Publication Publication Date Title
CN1288558C (zh) 带有适应性分配器的虚拟网络
US7899047B2 (en) Virtual network with adaptive dispatcher
JP3023225B2 (ja) ソフトウエア間通信のためのデータ交換装置
US8166185B2 (en) System and method for enterprise software distribution
JP4317522B2 (ja) ピアツーピア環境におけるネットワーク・トラフィック制御
US6195677B1 (en) Distributed network computing system for data exchange/conversion between terminals
US5317568A (en) Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
KR101066757B1 (ko) 미디어 세션 확립 방법
CN102339234B (zh) 一种协议栈运行装置和方法
US7676812B2 (en) Large scale event notification system
EP2439883A1 (en) Virtual network and management method of virtual network
EP2592789A1 (en) Method for managing a network system
WO2003058462A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
KR20030060884A (ko) 웹 운영체제 및 웹 데스크탑
CN1625153A (zh) 维持vr机密性的vrrp技术
KR101137132B1 (ko) 맞춤형 태그기반 프로토콜에서의 참조에 의한 전송
CN101964799A (zh) 点到网隧道方式下地址冲突的解决方法
WO2006066257A2 (en) Management of network devices via email
JP2005322222A (ja) 通信機能付加方法、プログラム、記録媒体及び通信装置
CN114338832B (zh) 一种容器云平台的网络协议转换方法及系统
CN1305259C (zh) 一种网管网关的实现方法
CN1317849C (zh) 一种网络管理系统和方法
US20160365987A1 (en) Personal computer network
CN100345141C (zh) 用于业务集成系统的方法和装置
WO2001033542A1 (en) System and method for conveying streaming data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061206

Termination date: 20191016