CN101953224B - 具有虚拟网络接口的消息处理引擎 - Google Patents

具有虚拟网络接口的消息处理引擎 Download PDF

Info

Publication number
CN101953224B
CN101953224B CN200880126021.0A CN200880126021A CN101953224B CN 101953224 B CN101953224 B CN 101953224B CN 200880126021 A CN200880126021 A CN 200880126021A CN 101953224 B CN101953224 B CN 101953224B
Authority
CN
China
Prior art keywords
grouping
network interface
agreement
group
virtual network
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.)
Active
Application number
CN200880126021.0A
Other languages
English (en)
Other versions
CN101953224A (zh
Inventor
N·A·艾伦
J·R·贾斯提斯
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 CN101953224A publication Critical patent/CN101953224A/zh
Application granted granted Critical
Publication of CN101953224B publication Critical patent/CN101953224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

消息处理引擎可以通过桥接虚拟网络接口与物理网络接口之间的接口来截取外出和传入消息。消息处理引擎可具有原始分组分析器,原始分组分析器可基于策略确定是否要处理分组,并随后可以使用第一组协议来解码该分组、在解码状态下执行翻译、随后使用同一组或不同的一组协议来编码该分组。消息处理引擎可用来执行翻译以允许两个否则将不兼容的设备进行通信,并应用包括安全协议的各种协议以与被类似地配置的另一设备进行通信。在许多实施例中,原始分组分析器可以是具有管理员特权的服务,而解码器、编码器、以及翻译器可以使用用户特权来操作。

Description

具有虚拟网络接口的消息处理引擎
背景
不同设备之间的通信通常通过采用通信的每一方都尝试实现的各种协议来促进。协议可用于在可由不同各方开发的不同服务和应用程序之间建立标准通信。一些协议可用于确保消息的完整传输,防止其他设备获得该消息,加速消息传输、或用于任何其他目的。
当协议由不同的各方实现时,通常存在对协议规范或该规范内的一方可能实现而另一方可能没有实现的可任选特征的一些误解。即使很小的差异也将导致一些通信失败。
概述
消息处理引擎可以通过桥接虚拟网络接口与物理网络接口之间的接口来截取外出和传入消息。消息处理引擎可具有原始分组分析器,原始分组分析器可基于策略确定是否要处理分组,并随后可以使用第一组协议来解码该分组、在解码状态下执行翻译、随后使用同一组或不同的一组协议来编码该分组。消息处理引擎可用来执行翻译以允许两个否则将不兼容的设备进行通信,并应用包括安全协议的各种协议以与被类似地配置的另一设备进行通信。在许多实施例中,原始分组分析器可以是具有管理员特权的服务,而解码器、编码器、以及翻译器可以使用用户特权来操作。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图简述
在附图中:
图1是示出具有消息处理引擎的系统的实施例的图示。
图2是示出具有带消息处理引擎的各个设备的网络的实施例的图示。
图3是示出用于处理消息的方法的实施例的流程图。
详细描述
消息处理引擎可以与虚拟网络接口一起操作以截取并处理传入和外出消息。消息处理引擎能够在应用层对消息执行各种翻译或修改,并修改用于传送消息的协议。
在一个使用场景中,消息处理引擎可用来修改在两应用程序之间传送的消息而不修改或改变任一应用程序。这样的使用可以是与其源代码不可获得的传统系统或应用程序软件进行接口的机制。
在另一使用场景中,两个或多个设备可以使用消息处理引擎以使用创建该消息的应用程序所未应用的各种安全协议来彼此进行接口。一个这样的实施例可以将一个或多个安全相关协议应用于外出和传入消息。
消息处理引擎使用虚拟网络接口来捕捉与应用程序的网络通信。虚拟网络接口可以担当物理网络接口,但可以在软件或固件中执行。虚拟网络接口可以使消息处理引擎能够捕捉并路由外出和传入分组以执行各种处理。
穿过虚拟网络接口的通信可以通过消息处理引擎来定向或可被传递给物理网络连接。类似地,可以用类似的方式来分析并处理在物理网络连接上接收到的消息。原始分组分析器可以使用一组策略来部署传入和外出分组。
在分析中使用的策略可包含用于分组和协议的标识机制、翻译、或可应用于特定分组的其他处理。在一些实施例中,可以对不同类型的消息应用若干不同的策略。
消息处理引擎可以通过使用与分组相关联的各种协议解码该分组来打开该分组,并可在应用层处理该分组中包含的消息。在一些情况下,可以聚集多个分组以重新创建应用层消息。在其他情况下,单个分组可包含若干应用层消息。
一旦从一个或多个分组形成了应用层消息,就可以执行各种翻译。应用层消息可以是与应用程序所创建的消息在任何协议、编码、或可用于跨网络来传输消息的其他处理之前相同的形式。当在应用层处理之后,可以从该消息创建一个或多个分组并将外出策略应用于这些分组。这些分组随后可以沿物理网络接口传送。传入分组可以通过反转该过程来进行处理。
在其中消息处理引擎执行翻译操作的使用场景中,解码和编码协议可以是相同的协议。在一些其他使用场景中,解码和编码协议可以是不同的协议。
本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合”时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例,而不是限制,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。
当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图1是示出具有消息处理引擎的系统的实施例100的示图。实施例100是用于突出消息处理引擎的各种特性、特征、以及使用的简化示例。
图1的示图示出系统的各功能组件并且不与系统的硬件或软件组件直接对应。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。硬件组件可包括适用于执行许多不同任务的通用组件或被优化来执行非常具体的功能的专门设计的组件。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的各功能。
实施例100是作为诸如计算机系统等总体设备的一部分的消息处理引擎102的功能组件的图示。实施例100中示出的组件可以是单个设备的一部分。
应用程序104可以通过正常操作过程向虚拟网络接口106发送分组。虚拟网络接口106可以是模拟物理网络连接108的软件构造。虚拟网络接口106可以这样的方式安装:应用程序104通过虚拟网络接口106而非物理网络接口108来发送并接收网络通信。
物理网络连接108可以是在操作设备外的物理连接上发送和接收消息的网络连接。在许多实施例中,计算机设备可以具有硬连线以太网连接、无线连接、或到网络的某其他物理接口。
消息处理引擎102可以处理虚拟网络接口106与物理网络连接108之间的传入和外出消息。可以分析每一入站和出站分组来确定该分组是否要由消息处理引擎102来处理。如果不要处理该消息,则该消息可以在虚拟网络接口108到物理网络连接108之间传送。
实施例100中的箭头示出从应用程序104发出的外出分组如何通过消息处理引擎102来处理。消息处理引擎102还可以对传入分组应用类似处理。
在应用程序104传送消息时,该消息可被分解成多个分组。在一些情况下,单个分组可包含若干应用层消息。
可基于策略111分析并部署分组的原始分组分析器110可以分析传送到虚拟网络接口106的分组。原始分组分析器110可将分组传送到物理网络连接108或可通过消息处理引擎102来发送分组。
原始分组分析器110可以使用一组策略111,该组策略可以定义要处理的分组的类型和可对该类型的分组执行的各种处理和翻译。原始分组分析器110所使用的标识符可以是分组的任何特性。在一些情况下,可以检查分组首部或分组内容以确定分组类型。在其他情况下,可以使用各种路由信息,如目的地地址、端口、或其他参数。
一些实施例可以在应用程序104与外部设备或服务之间建立通信会话,并标识与该会话相关联的分组。该会话可以通过各种信号交换或其他通信来建立。在建立会话的过程期间,原始分组分析器110可以确定与该会话相关联的分组要由消息处理引擎102来处理。
当在虚拟网络接口106上接收到外出分组并且作出要处理该分组的判定时,可将该分组置于缓冲区112中。缓冲区112可以使得原始分组分析器110能够与消息处理引擎102的其余部分异步地操作。
该分组随后可行进到解码器114,在那里可以使用应用程序104所用的一组协议来解码该分组。解码过程可以移除对该分组执行的任何转换、封装、或配置以将该分组内容返回原始应用层消息。
许多应用程序使用可用来便于两个或更多个进程之间的通信的各种协议。这样的协议的示例包括TCP、SOAP、以及许多其他协议。一些协议可用于确保消息完全到达并且是原样的,而其他协议可以加密或以其他方式保护消息内的数据免受侵害。在一些实施例中,应用程序104可将若干协议应用于分组。
在一些情况下,消息处理引擎102可用于改变与分组相关联的协议并可以不在应用层转换分组。在这种情况下,过滤器116可以将外出分组从解码器114转移到编码器122。
在为分组指示了应用层转换的情况下,该分组可被转移到消息同化器118。取决于各种情况,消息同化器118可以从多个分组创建应用层消息并可从单个分组创建多个应用程序消息。在一些情况下,应用层消息可以通过解码组成该消息的分组来创建,从而将分组安排成序列并将解码分组内容聚集在一起。
翻译器120可以对应用层消息执行任何类型的翻译、转换、或改变,如在与该分组相关联的策略111中定义的。在一些情况下,可以对应用层消息的格式作出小的改变,而在其他情况下,可能发生消息的全面转换。每一实施例可具有可作出的不同类型的改变,并且这些改变可由复杂算法或任何其他机制来定义。
在翻译器120修改了应用层消息后,该消息可被转换成各个分组,由编码器122用相同或不同的一组协议进行编码,进入缓冲区124,并被原始分组分析器110传送到物理网络连接108上。
在一些使用场景中,编码器122可应用与解码器114解码分组所使用的相同的协议来对该分组进行编码。在其他实现中,编码器122可以应用与解码器114不同的一组协议。在该说明书中稍后将讨论一些使用场景。
在许多实施例中,虚拟网络接口106可以是用管理或内核层特权操作的服务。在许多计算环境中,内核层服务一般具有很高特权,并可在特殊编程考虑的情况下创建。在这样的环境中,内核层服务所启用的功能可被限于避免造成与其他服务的干扰问题,尤其是在内核服务具有强大特权的情况下。
可以构造实施例100以使得原始分组分析器110和虚拟网络接口106可以是管理模式126或内核进程。消息处理引擎102的其余部分以及应用程序104可以在用户模式128中操作或具有用户专用特权。缓冲区112和124可以担当用户模式128和管理模式126进程之间的桥梁。
通过以此方式来划分进程,一组策略111可由原始分组分析器110用来将各分组路由通过消息处理引擎102或路由到物理网络连接108。消息处理引擎102内的其余进程可以用与应用程序104相同的用户特权来操作。在这样的实施例中,可在逐用户的基础上并使用用户的许可设置来安装、操作、以及控制解码器114和编码器122所使用的各种翻译器120和协议。
虽然被示为处理外出分组,但实施例100也可用于以类似方式处理传入分组。当在物理网络连接108上接收到分组时,原始分组分析器110可以使用策略111来分析分组并将该分组直接路由到虚拟网络接口106或将该分组路由通过消息处理引擎102。
传入消息随后在被编码和传递到虚拟网络接口106并随后传递到应用程序104之前通过解码、过滤、同化、以及翻译等各个步骤。以此方式,消息处理引擎102可以向传入和外出消息两者提供协议改变和应用层翻译。
图2是示出具有带消息处理引擎的各个设备的网络的实施例200的图示。实施例200是用于突出网络环境中的消息处理引擎的各种特性、特征、以及使用的简化示例。
图2的示图示出系统的各功能组件并且不与系统的硬件或软件组件直接对应。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。硬件组件可包括适用于执行许多不同任务的通用组件或被优化来执行非常具体的功能的专门设计的组件。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的各功能。
实施例200示出消息处理引擎在网络环境中的不同使用场景。设备202和204可连接到网络208,并可各自具有消息处理引擎。设备206可连接到网络208而不具有消息处理引擎。
设备202在其可包含与虚拟网络接口212进行通信的应用程序210方面与实施例100相类似。消息处理引擎216可以处理传入和外出消息并在虚拟网络接口212与物理网络连接214之间进行桥接。物理网络连接214是网络208与设备202之间的连接。
类似地,设备204在其可包含与虚拟网络接口220进行通信的应用程序218方面与实施例100相类似。消息处理引擎224可以处理传入和外出消息并在虚拟网络接口220与物理网络连接222之间进行桥接。物理网络连接222可以是网络208与设备204之间的连接。
设备206具有可与物理网络连接228直接通信的应用程序226,物理网络连接228可与网络208相连接。
实施例200可被用来示出消息处理引擎的若干使用场景。
在一个使用场景中,具有消息处理引擎的设备可连接到不具有消息处理引擎的另一设备。在这样的场景中,消息处理引擎可被用来在两个应用程序或服务之间提供翻译。该翻译可以是从一个消息收发协议到另一个的转换,并还可包括对消息内容的应用层改变。
这一使用场景,消息处理引擎能够在两个应用程序或服务之间提供桥梁或翻译而不对这些应用程序或服务作出修改。
例如,设备206上的应用程序226可以是第三方所提供的并且主存在因特网上的web服务。应用程序226可以使用特定一组协议来与使用该服务的客户机设备进行通信。在该示例中,设备202可以是具有开发者希望与应用程序226进行连接的传统应用程序210的客户机设备。开发者可以创建可由消息处理引擎216用来连接这两个应用程序的策略230。消息处理引擎216可以使用一组协议接收来自应用程序210的外出消息,解码该消息,并用应用程序226可接受的一组协议编码该消息。类似地,消息处理引擎216接收、解码、并使用应用程序210预期的一组协议编码来自应用程序226的消息。
在该使用场景中,虚拟网络接口212允许消息处理引擎216截取、分析、并修改传入和外出消息而不必修改应用程序210或应用程序226。通过定义策略230,开发者可以允许否则将不能够进行通信的两个应用程序之间的通信。从用户的观点来看,用户能够安装可允许用户的应用程序210通过与远程服务226进行接口而具有附加功能的策略230。
在许多这样的场景中,消息处理引擎216可以仅仅向分组提供协议改变。一个应用程序可以使用特定协议的较老版本而另一个使用较新版本,并且这些版本可能稍微不兼容。例如,为了提高安全性而可以使用较新协议。从技术观点看这些改变相对简单,但当在客户机设备上使用的较老应用程序210与应用程序226中远程地主存的服务不兼容时,替换解决方案可以是升级较老应用程序210。相反,可以实现以下策略230:允许较老应用程序210使用较老协议通过虚拟网络接口212发送并接收消息,而消息处理引擎216确保跨网络208的通信顺从新协议。
在一些场景中,消息处理引擎216可以提供传入和外出消息的应用层翻译。在两个应用程序尝试实现两个不同版本的应用层通信时,这样的场景是有用的。
在另一使用场景中,两个设备上的消息处理引擎可用于保护这些设备之间的通信,而不必使用虚拟专用网(VPN)或其他点对点安全机制。在这样的使用场景中,设备202和204各自具有分别带有策略230和232的消息处理引擎216和224。一些实施例可以使用多点或广播消息传输技术。
策略230和232可被配置成对定址到其他设备的外出消息应用一个或多个安全协议,并且使用安全协议来解码传入消息。以此方式,设备202与204之间跨网络208的各种通信可以仅仅通过应用适当的策略230和232来保护。
图3是示出用于处理消息的方法的实施例300的流程图。实施例300是可用于处理外出消息的步骤序列的简化示例。其他实施例可以使用不同的术语或命名法,并且可包括附加步骤或可将两个或更多个步骤组合成单个步骤。在其他实施例中,被示为串行的一些步骤可以并行执行,或反之亦然。
实施例300是用于处理外出消息的方法的示例。可以用类似的方式来处理传入消息。
在框302,可以在虚拟网络接口上接收分组。在处理之后,在框324,在物理网络连接上发送分组。在处理传入消息的实施例中,可在物理网络连接上接收分组并在虚拟网络接口上发送分组。两种类型的实施例可以用同一基本方式来处理分组。
在框304,对照策略来分析分组。策略可定义可由消息处理引擎处理的分组的类型。这样的策略还可定义用于解码和编码分组的各种协议,以及可对应用层消息执行的任何翻译。
在框306,如果分组不符合策略,则在框324,在物理网络连接上发送分组。在这种情况下,仅仅将分组从虚拟网络接口转移到物理网络连接而不进行处理。
在框306,如果分组确实符合策略,则在框308可将分组置于缓冲区中。缓冲区可以允许可执行框304和306的功能的原始分组分析器与消息处理引擎的其他部分进行异步操作。
在框310,可以使用策略中定义的协议来解码分组。这些协议可以是可出于传输、安全、或任何其他原因来应用于分组的任何类型的协议。
在框312,如果分组没有得到应用层翻译,则在框320,该过程继续进行编码。
在框312,如果分组确实得到应用层翻译,则在框314,可以从一个或多个分组创建应用程序消息。在一些实施例中,应用程序消息可以在若干分组中传送。在其他实施例中,单个分组可包含若干应用层消息。在框312,缓冲、组织各种分组并将其聚集成应用层消息。
在框316,可翻译消息。该翻译可包括对应用层消息的任何类型的操纵、添加、扣除、分析、转换、或其他改变。
在翻译之后,在框318,准备消息以供传输。例如,该消息可被分解成各单独的分组以供传输。在一些情况下,两个或更多个消息可被合并到单个分组中。
在框320,可以使用策略中指定的协议来编码分组。编码协议可以是或不是与在框310中解码分组所使用的相同的协议。
将分组置于缓冲区中322,并且在框324将其发送到物理网络上。
实施例300是可用于捕捉、处理、以及传送外出分组的简化算法。
以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明的技术。所附权利要求书旨在包括除受现有技术所限的范围之外的其他替换实施例。

Claims (20)

1.一种用于消息处理的方法,包括:
在虚拟网络接口上接收第一分组,所述虚拟网络接口接收来自多个应用的全部分组;
在所述虚拟网络接口上接收所述第一分组之后,分析所述第一分组并确定所述第一分组是第一分组类型的,所述第一分组类型是在第一策略中定义的;
将所述第一策略应用到所述第一分组,包括:
使用第一组协议来解码所述第一分组以创建第一经解码的分组;
使用第二组协议来编码所述第一经解码的分组以创建第一经重新编码的分组;以及
在物理网络接口上传送所述第一经重新编码的分组。
2.如权利要求1所述的方法,其特征在于,还包括:
在所述物理网络接口上接收第二分组;
分析所述第二分组并确定所述第二分组是所述第一分组类型的;
使用所述第二组协议来解码所述第二分组;
使用所述第一组协议来编码所述第二分组;以及
在所述虚拟网络接口上传送所述第二分组。
3.如权利要求2所述的方法,其特征在于,所述第二分组是多播分组。
4.如权利要求1所述的方法,其特征在于,所述第一分组是多播分组。
5.如权利要求1所述的方法,其特征在于,所述接收和所述分析由具有管理员特权的进程来执行,并且所述解码和编码由具有用户特权的进程来执行。
6.如权利要求1所述的方法,其特征在于,还包括:
在所述解码之后并在所述编码之前执行对所述第一分组的翻译。
7.如权利要求4所述的方法,其特征在于,所述第一组协议和所述第二组协议是同一组协议。
8.如权利要求1所述的方法,其特征在于,还包括:
在所述虚拟网络接口上接收第三分组;
分析所述第三分组并确定所述第三分组是第二分组类型的,所述第二分组类型未在所述第一策略中定义;以及
在所述物理网络接口上传送所述第三分组。
9.如权利要求8所述的方法,其特征在于,所述第一策略将所述第一分组类型定义为与第一应用程序相关,并且第二策略将所述第二分组类型定义为与第二应用程序相关。
10.一种用于消息处理的系统,包括:
用于在虚拟网络接口上接收第一分组的装置,所述虚拟网络接口接收来自多个应用的全部分组;
用于在所述虚拟网络接口上接收所述第一分组之后,分析所述第一分组并确定所述第一分组是第一分组类型的装置,所述第一分组类型是在第一策略中定义的;
用于将所述第一策略应用到所述第一分组的装置,包括:
用于使用第一组协议来解码所述第一分组以创建第一经解码的分组的装置;
用于使用第二组协议来编码所述第一经解码的分组以创建第一经重新编码的分组的装置;以及
用于在物理网络接口上传送所述第一经重新编码的分组的装置。
11.一种用于消息处理的设备,包括:
允许在操作系统内的虚拟网络接口(106),所述操作系统还运行多个应用,所述虚拟网络接口被配置成发送和接收所述多个应用的全部分组;
第一策略(111),所述第一策略包括用于第一分组类型、第一组协议、以及第二组协议的标识机制;
原始分组分析器(110),所述原始分组分析器被配置成接收第一分组并确定所述第一分组是第一分组类型的,所述第一分组类型是在第一策略中定义的;
解码器(114),所述解码器被配置成使用所述第一组协议来解码所述第一分组以创建所述分组的解码状态;
编码器(122),所述编码器被配置成使用所述第二组协议来编码来自所述解码状态的所述第一分组;以及
物理网络接口(108)。
12.如权利要求11所述的设备,其特征在于,所述原始分组分析器被配置成从所述虚拟网络接口接收所述第一分组。
13.如权利要求11所述的设备,其特征在于,所述原始分组分析器被配置成从所述物理网络接口接收所述第一分组。
14.如权利要求11所述的设备,其特征在于,所述第一分组是多播分组。
15.如权利要求11所述的设备,其特征在于,还包括:
翻译器,所述翻译器被配置成翻译处于所述解码状态的所述第一分组。
16.如权利要求15所述的设备,其特征在于,所述第一组协议和所述第二组协议是同一组协议。
17.如权利要求11所述的设备,其特征在于,所述第一分组类型与第一应用程序相关联。
18.如权利要求11所述的设备,其特征在于,还包括第二策略,所述第二策略包括用于第二分组类型、第三组协议、以及第四组协议的标识机制,所述第二分组类型与第二应用程序相关联。
19.如权利要求18所述的设备,其特征在于,所述解码器还被配置成使用所述第三组协议来进行解码,并且所述编码器还被配置成使用所述第四组协议来进行编码。
20.如权利要求11所述的设备,其特征在于,所述原始分组分析器在管理员权限上操作,并且所述编码器和所述解码器在用户权限上操作。
CN200880126021.0A 2008-01-28 2008-12-30 具有虚拟网络接口的消息处理引擎 Active CN101953224B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/020,575 2008-01-28
US12/020,575 US8254381B2 (en) 2008-01-28 2008-01-28 Message processing engine with a virtual network interface
PCT/US2008/088573 WO2009097071A2 (en) 2008-01-28 2008-12-30 Message processing engine with a virtual network interface

Publications (2)

Publication Number Publication Date
CN101953224A CN101953224A (zh) 2011-01-19
CN101953224B true CN101953224B (zh) 2015-06-17

Family

ID=40899156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880126021.0A Active CN101953224B (zh) 2008-01-28 2008-12-30 具有虚拟网络接口的消息处理引擎

Country Status (5)

Country Link
US (2) US8254381B2 (zh)
EP (1) EP2241159B1 (zh)
JP (1) JP5277259B2 (zh)
CN (1) CN101953224B (zh)
WO (1) WO2009097071A2 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110219440A1 (en) * 2010-03-03 2011-09-08 Microsoft Corporation Application-level denial-of-service attack protection
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US8868710B2 (en) 2011-11-18 2014-10-21 Amazon Technologies, Inc. Virtual network interface objects
US9916545B1 (en) 2012-02-29 2018-03-13 Amazon Technologies, Inc. Portable network interfaces for authentication and license enforcement
US9042304B2 (en) * 2012-06-05 2015-05-26 Vmware, Inc. Controlling a paravirtualized wireless interface from a guest virtual machine
US8813225B1 (en) 2012-06-15 2014-08-19 Amazon Technologies, Inc. Provider-arbitrated mandatory access control policies in cloud computing environments
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US10264025B2 (en) 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
EP2978168A1 (de) * 2014-07-21 2016-01-27 dSPACE digital signal processing and control engineering GmbH Verfahren zur Nachbildung von entsprechenden Laufzeiten eines segmentierten Netzwerkes
US9787499B2 (en) 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US10193929B2 (en) * 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US10110496B2 (en) * 2015-03-31 2018-10-23 Juniper Networks, Inc. Providing policy information on an existing communication channel
US10021196B1 (en) 2015-06-22 2018-07-10 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
FR3038809B1 (fr) * 2015-07-08 2017-07-21 Mbda France Interface entre un systeme d'arme et une liaison de donnees tactiques
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
DE102015016616A1 (de) * 2015-12-22 2017-06-22 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zur Verbindung einer Produktionsvorrichtung mit einem Netzwerk
US9762599B2 (en) 2016-01-29 2017-09-12 Varmour Networks, Inc. Multi-node affinity-based examination for computer network security remediation
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11477241B2 (en) * 2019-12-30 2022-10-18 Fortinet, Inc. Selectively disabling anti-replay protection by a network security device
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310905A (zh) * 1999-07-14 2001-08-29 信息产业部武汉邮电科学研究院 物理层与网络层侧设备间传输数据的数据传输装置和方法
CN1863123A (zh) * 2005-05-11 2006-11-15 三星电子株式会社 网络接口单元

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181935B1 (en) 1996-09-27 2001-01-30 Software.Com, Inc. Mobility extended telephone application programming interface and method of use
US6101543A (en) * 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
JPH10200601A (ja) * 1997-01-09 1998-07-31 Mitsubishi Electric Corp 情報伝送装置
US6757731B1 (en) * 1999-02-25 2004-06-29 Nortel Networks Limited Apparatus and method for interfacing multiple protocol stacks in a communication network
US6463056B1 (en) * 1999-03-18 2002-10-08 Excel Switching Corp. Arrangement for providing network protocol data independence in an expandable telecommunications system
CN1246012A (zh) 1999-07-14 2000-03-01 邮电部武汉邮电科学研究院 一种用于英特网与同步数字体系融合的适配方法
US6804776B1 (en) * 1999-09-21 2004-10-12 Cisco Technology, Inc. Method for universal transport encapsulation for Internet Protocol network communications
US7103625B1 (en) 1999-10-05 2006-09-05 Veritas Operating Corporation Virtual resource ID mapping
US6578084B1 (en) * 1999-10-15 2003-06-10 Cisco Technology, Inc. Packet processing using encapsulation and decapsulation chains
US20020059388A1 (en) 2000-01-21 2002-05-16 David Thompson E-mail and messaging systems and methods
JP2002247032A (ja) * 2001-02-19 2002-08-30 Hitachi Ltd 暗号通信装置および暗号通信方法
US7293108B2 (en) 2001-03-15 2007-11-06 Intel Corporation Generic external proxy
EP1271896B1 (de) * 2001-06-18 2004-07-28 Swisscom Mobile AG Verfahren und System für mobile IP-Nodes in heterogenen Netzwerken
US20030014466A1 (en) * 2001-06-29 2003-01-16 Joubert Berger System and method for management of compartments in a trusted operating system
KR20010107790A (ko) 2001-07-06 2001-12-07 김인규 가상 사설망 구축 방법 및 이를 이용한 가상사설망게이트웨이
DE10147889A1 (de) * 2001-09-28 2003-04-30 Siemens Ag Proxy-Einheit, Verfahren zum rechnergestützten Schützen eines Applikations-Server-Programms und Anordnung mit einer Proxy-Einheit und einer Einheit zum Ausführen eines Applikations-Server-Programms
DE10162986B4 (de) 2001-12-20 2004-01-15 Siemens Ag Anbindung von Netzwerken mit unterschiedlichen Protokollen
US7533210B2 (en) * 2002-10-24 2009-05-12 Sun Microsystems, Inc. Virtual communication interfaces for a micro-controller
CN100440825C (zh) * 2003-01-28 2008-12-03 华为技术有限公司 数字传送网上不同的数据帧接入和传送的系统和方法
GB0305959D0 (en) * 2003-03-15 2003-04-23 Ibm Client web service access
US20040264503A1 (en) 2003-06-30 2004-12-30 Microsoft Corporation Method and system for providing a virtual protocol interlayer
US20050125511A1 (en) * 2003-12-08 2005-06-09 Hunt Preston J. Intelligent local proxy for transparent network access from multiple physical locations
FR2867003B1 (fr) 2004-03-01 2006-09-08 Everbee Networks Procede de traitement d'un flux de donnees traversant un dispositif place en coupure sur un reseau informatique
US20060089992A1 (en) * 2004-10-26 2006-04-27 Blaho Bruce E Remote computing systems and methods for supporting multiple sessions
US20060120402A1 (en) * 2004-12-07 2006-06-08 Paul Gallant Method for running an X.25-based application on a second protocol-based network
US20060195617A1 (en) * 2005-02-25 2006-08-31 International Business Machines Corporation Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification
US20060200565A1 (en) * 2005-03-04 2006-09-07 Lucent Technologies, Inc. Methods and apparatus for flexible and transparent mediation of communication between software applications
US7697434B1 (en) * 2005-04-22 2010-04-13 Sun Microsystems, Inc. Method and apparatus for enforcing resource utilization of a container
US7949766B2 (en) * 2005-06-22 2011-05-24 Cisco Technology, Inc. Offload stack for network, block and file input and output
US7965736B2 (en) 2005-08-24 2011-06-21 Qualcomm Incorporated Transmission of multiplex protocol data units in physical layer packets
JP4764737B2 (ja) * 2006-02-13 2011-09-07 富士通株式会社 ネットワークシステム、端末およびゲートウェイ装置
US8934486B2 (en) 2006-03-16 2015-01-13 Cisco Technology, Inc. System and method for implementing multicast over a label-switched core network
JP4757088B2 (ja) * 2006-04-25 2011-08-24 株式会社Into 中継装置
WO2007139552A1 (en) 2006-05-31 2007-12-06 Citrix Systems, Inc. Systems and methods for determining the charset encoding for decoding a request submission in a gateway
US7522595B2 (en) * 2006-06-16 2009-04-21 Cisco Technology, Inc. Communicating packets between forwarding contexts using virtual interfaces
US7738457B2 (en) * 2006-12-20 2010-06-15 Oracle America, Inc. Method and system for virtual routing using containers
US9270594B2 (en) * 2007-06-01 2016-02-23 Cisco Technology, Inc. Apparatus and method for applying network policy at virtual interfaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310905A (zh) * 1999-07-14 2001-08-29 信息产业部武汉邮电科学研究院 物理层与网络层侧设备间传输数据的数据传输装置和方法
CN1863123A (zh) * 2005-05-11 2006-11-15 三星电子株式会社 网络接口单元

Also Published As

Publication number Publication date
EP2241159A4 (en) 2013-02-13
US20120327934A1 (en) 2012-12-27
CN101953224A (zh) 2011-01-19
US8705529B2 (en) 2014-04-22
JP2011511559A (ja) 2011-04-07
US20090190585A1 (en) 2009-07-30
EP2241159B1 (en) 2015-04-22
JP5277259B2 (ja) 2013-08-28
US8254381B2 (en) 2012-08-28
EP2241159A2 (en) 2010-10-20
WO2009097071A3 (en) 2009-10-08
WO2009097071A2 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
CN101953224B (zh) 具有虚拟网络接口的消息处理引擎
US7627681B2 (en) Relaying messages through a firewall
CA2604926C (en) System topology for secure end-to-end communications between wireless device and application data source
Tennenhouse et al. Towards an active network architecture
US9860301B2 (en) File transfer using XML
US11153365B2 (en) Transfer of files with arrays of strings in soap messages
CN113141365B (zh) 分布式微服务数据传输的方法、装置、系统和电子设备
CN110557378A (zh) 一种网络边界安全隔离及信息单向传输系统及传输方法
CN112637796B (zh) 基于5g的办公信息应答方法、系统、服务器和存储介质
CN114007194B (zh) 订阅消息发送方法、装置、电子设备及存储介质
CN115022101B (zh) 账户数据的更改方法、装置、计算机设备和存储介质
CN106936868A (zh) 一种与云存储结合的应用系统数据安全保护方法及系统
Tennenhouse et al. Toward an active network architecture
WO2022144663A1 (en) Secure data movement
CN106453069B (zh) 一种即时通信消息发送、查看、查看控制方法及其设备
KR102017742B1 (ko) 단방향 데이터 송신 장치, 단방향 데이터 수신 장치 및 이를 이용한 단방향 데이터 전송 방법
CN112787987B (zh) 一种路径加密方法、装置和系统
CN110474884B (zh) 以太坊网络系统及通信方法、设备及计算机可读存储介质
CN114978485B (zh) 语音数据传输方法、系统、电子设备及存储介质
CN118118185A (zh) 基于可信数据互操作机制的系统间数据融合方法及设备
CN118199994A (zh) 一种工业网络安全防护方法、系统、终端及存储介质
CN115277827A (zh) 云资源配置方法、系统、装置、设备及存储介质
CN115801567A (zh) 一种报文数据的传输方法、装置、电子设备及存储介质
KR20120117497A (ko) 이동식 단말 장치, 이를 이용한 데이터 통신 방법 및 애플리케이션 설치 방법

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: 20150727

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

Effective date of registration: 20150727

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.