CN115004631A - 用于数据通信的方法 - Google Patents
用于数据通信的方法 Download PDFInfo
- Publication number
- CN115004631A CN115004631A CN202080078189.XA CN202080078189A CN115004631A CN 115004631 A CN115004631 A CN 115004631A CN 202080078189 A CN202080078189 A CN 202080078189A CN 115004631 A CN115004631 A CN 115004631A
- Authority
- CN
- China
- Prior art keywords
- block
- computer
- blocks
- data communication
- sequence
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004913 activation Effects 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 10
- 230000003213 activating effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 2
- 238000001994 activation Methods 0.000 description 36
- 238000005538 encapsulation Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000011423 initialization method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 2
- 238000011330 nucleic acid test Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了一种用于经由网络的数据通信的方法,该方法包括以下步骤:在第一计算机上配置第一序列,该第一序列包括与至少一个部段关联的经排序的多个第一块;以及,将第一块初始化并且在第一计算机与第二计算机之间承担数据通信,其中每个第一块代表一种可配置的数据通信功能。可以将所述块分配给多个部段以及随后互连。可以在其他计算机和/或应用之间通信。还提供了对应的系统。
Description
技术领域
本发明总体上涉及用于经由网络的数据通信的方法和系统,例如用于可配置网络通信的方法和系统。
背景技术
网络通道化是已知的,其中两个私人网络可经由公共网络虚拟地连接。然而,这种通道化方法典型地缺少灵活性和通用性。这限制了延时、吞吐量、可靠性、到达范围和潜在的新能力。并且,现有的通道化技术典型地要求中央化控制器,以利用仅允许被授权通信的防火墙来限制数据包。这可产生关于性能(例如延时)的限制以及可能产生中央失效点。
发明内容
根据本公开的方面,提供有一种用于经由网络的数据通信的方法,该方法包括以下步骤:在第一计算机上配置第一序列,该第一序列包括与至少一个部段关联的经排序的多个第一块;以及将第一块初始化和在第一计算机与第二计算机之间承担数据通信,其中每个第一块代表一种可配置的数据通信功能。
在一个实施方式中,该方法进一步包括:将一个或多个第一块分配给第一部段和将一个或多个其他第一块分配给第二部段;将第一部段的第一块初始化和将第二部段的第一块初始化;以及随后引起在第一部段的第一块与第二部段的第一块之间的数据通信。至少一个部段可以与在第一计算机上运行的应用的数据通信相关联。至少一个部段可以与第二计算机或数据网络之上的另一个计算机的数据通信相关联。
在一个实施方式中,该方法进一步包括:在第二计算机上配置第二序列,该第二序列包括与至少一个部段关联的经排序的多个第二块,其中一个或多个第二块中的每一个单独地与一第一块关联;以及将第二块初始化和在第一计算机与第二计算机之间承担数据通信,其中每个第二块代表一种可配置数据通信功能。
可选地,至少一个第一块是配置成与在第一计算机上运行的应用交互的原始第一块,和/或至少一个第二块是配置成与在第二计算机上运行的应用交互的原始第二块。
可选地,将部段的第一块和/或部段的第二块初始化包括在第一方向上分别地遍历每个块随后在相反的第二方向上进行遍历,其中遍历包括根据激活规则激活与第一块和第二块关联的通信功能。每个第一块和每个第二块可以是可配置为自上向下的块类型或自下向上的块类型,并且激活规则可以是这样的:当在第一方向上遍历时仅与自上向下的块类型的第一块和第二块关联的通信功能被激活、以及当在第二方向上遍历时仅与自下向上类型的第一块和第二块关联的通信功能被激活。
可选地,将第一块和第二块初始化包括仅在相应的第一方向上分别地遍历每个块,其中遍历包括根据激活规则激活与第一块和第二块关联的通信功能。
可选地,至少一个第一块和/或至少一个第二块被配置为封装块类型,使得与所述定义的第一块和第二块关联的通信功能承担在初始化以后的数据通信。至少一个第一块和至少一个第二块可以被配置为用于与IP网络——例如比如因特网的公共网络——通信的网络协议。
可选地,至少一个第一块和/或至少一个第二块被配置为非封装块类型,使得与所述定义的第一块和第二块关联的通信功能不会参与在初始化以后的数据通信。
在一个实施方式中,该方法进一步包括与被配置成与至少一个中继服务器通信的通信功能相关联的一个或多个第一块和一个或多个第二块。第一序列的第一块和第二序列的第二块可以经由配置成与至少一个中继服务器通信的第一块和第二块与所述网络通信。
在一个实施方式中,该方法进一步包括与被配置成与连接服务器通信的通信功能相关联的一个或多个第一块和一个或多个第二块。可以与配置成与连接服务器通信的通信功能关联的至少一个第一块和至少一个第二块仅用于初始化数据通信。
可选地,第一序列的初始化响应于激活命令的接收,和/或第二序列的初始化响应于激活命令的接收。
可选地,所述数据通信是在第一计算机上运行的第一应用与在第二计算机上运行的第二应用之间进行的。
根据本公开的另一个方面,提供有一种用于在多个应用之间创建数据通信的方法,包括对于在第一计算机上运行的一个或多个应用和在第二计算机上运行的一个或多个应用中的每一个实施前述方面的方法的步骤。
根据本公开的另一个方面,提供一种包括第一计算机的系统,其中第一计算机被置成:产生包括与至少一个部段关联的经排序的多个第一块的第一序列;根据第一序列初始化第一块;以及根据初始化第一块而承担与第二计算机的数据通信,其中每个块代表一种可配置的数据通信功能。
在一个实施方式中,该第一计算机进一步配置成:将一个或多个第一块分配给第一部段和将一个或多个其他第一块分配给第二部段;将第一部段的第一块初始化和将第二部段的第一块初始化;以及随后引起在第一部段的第一块与第二部段的第一块之间的数据通信。至少一个部段可以与在第一计算机上运行的应用的数据通信相关联。至少一个部段可以与第二计算机或数据网络之上的另一个计算机的数据通信相关联。
在一个实施方式中,该系统进一步包括第二计算机,该第二计算机配置成:产生包括与至少一个部段关联的经排序的多个第二块的第二序列;根据第二序列初始化第二块;以及根据初始化的第二块承担与第一计算机的数据通信,其中至少一个第二块中的每一个单独地与一第一块关联。
可选地,至少一个第一块是配置成与在第一计算机上运行的应用交互的原始第一块,和/或至少一个第二块是配置成与在第二计算机上运行的应用交互的原始第二块。
可选地,第一计算机被配置成:当初始化第一块时在第一方向上遍历部段的第一块随后在相反的第二方向上进行遍历;以及第二计算机被配置成:当初始化第二块时在第一方向上遍历部段的第二块随后在相反的第二方向上进行遍历,其中遍历包括根据激活规则激活与第一块和第二块关联的通信功能。每个第一块和每个第二块可以是可配置为自上向下的块类型或自下向上的块类型,并且激活规则可以是这样的:当在第一方向上遍历时仅与自上向下的块类型的第一块和第二块关联的通信功能被激活,以及当在第二方向上遍历时仅与自下向上类型的第一块和第二块关联的通信功能被激活。
可选地,第一计算机被配置成当初始化第一块时仅在第一方向上遍历部段的第一块;以及第二计算机被配置成当初始化第二块时仅在第一方向上遍历部段的第二块,其中遍历包括根据激活规则激活与第一块和第二块关联的通信功能。
可选地,至少一个第一块和/或至少一个第二块被配置为封装块类型,使得与所述定义的第一块和第二块关联的通信功能引起它们相应的计算机承担在初始化以后的数据通信。至少一个第一块和至少一个第二块可以被配置为用于与IP网络——例如比如因特网的公共网络——通信的网络协议。
可选地,至少一个第一块和/或至少一个第二块被配置为非封装块类型,使得与所述定义的第一块和第二块关联的通信功能不会参与在初始化以后的数据通信。
在一个实施方式中,该系统进一步包括与配置成与至少一个中继服务器通信的通信功能关联的一个或多个第一块和一个或多个第二块。第一序列的第一块和第二序列的第二块可以经由配置成与至少一个中继服务器通信的第一块和第二块而与所述网络通信。该系统可以包括至少一个中继服务器。
在一个实施方式中,该系统进一步包括与配置成与连接服务器通信的通信功能关联的一个或多个第一块和一个或多个第二块。可以与配置成与连接服务器通信的通信功能关联的至少一个第一块和至少一个第二块仅用于初始化数据通信。该系统可以包括连接服务器。
可选地,第一序列的初始化响应于激活命令的接收,和/或第二序列的初始化响应于激活命令的接收。
可选地,所述数据通信是在第一计算机上运行的第一应用与在第二计算机上运行的第二应用之间进行的。
根据本公开的另一个方面,提供有一种计算机,包括配置成引起该计算机实施第一方面的方法的计算机程序。
如本文中使用的,词语“包括”或比如“包含”或“具有”的变型以包含的意义使用,即明确了在本发明的多种实施方式中存在所陈述的特征,但是不排除存在或增加进一步的特征。
附图说明
为了可以更清楚地理解本发明,现在将通过示例参考附图描述实施方式,附图中:
图1示出根据一个实施方式的通信系统;
图2示出典型的计算机的示意图;
图3示出在两个计算机之间的数据通信;
图4示出多个块的示意表达图;
图5示出根据一个实施方式的用于初始化数据通信的方法;
图6a和图6b分别示出第一块和第二块的处理的次序;
图7示出初始化方法;
图8示出根据一个实施方式的在操作期间的数据通信的示意表达图;
图9示出包括中继服务器的一个实施方式;
图10和图11示出包括连接服务器的一个实施方式;
图12a和图12b示出包括内部序列以及第一序列的实施方式;和
图13a示出经由VPN的连接的现有技术示例,以及图13b示出经由本发明实施方式的数据通信的连接。
具体实施方式
图1示出通信系统10,代表本文中描述的实施方式。系统10包括利用网络15数据通信的若干个计算机11。以这种方式,两个(或更多个)计算机11可经由所述网络15承担彼此的数据通信。网络15应被理解成代表两个或更多个计算装置的任何互连——典型地,网络15的至少一部分将包括比如因特网的公共网络。数据通信可以至少部分地基于因特网协议(IP)。然而,可以包括其他形式的数据通信,例如数据通信的各部分可以包括比如蓝牙或USB的协议。计算机11a和计算机11b示出为与网络15进行直接数据通信,而计算机11c-11e经由私人网络16a与网络15通信以及计算机11f-11h经由私人网络16b与网络15通信。
为了本公开的此目的,附图中所示的总体特征由参考标号代表——例如,计算机11和网络15。这样的参考在适合的情况下在各附图之间共享。在期望参考所述特征的特定实例的情况中,将小写字母后缀附加至参考标号——例如,在图1中计算机11a可与计算机11b区分。
为了本公开的此目的,计算机11应被认为对应于具有用于网络15之上的数据通信的设备的任何合适的计算装置——存在这样的计算机11的许多实施方式,例如独立的计算硬件(例如台式计算机或笔记本计算机)、独立的服务器、分布式计算装置、比如智能电话和平板的移动装置,以及许多其他装置。在图1中,为了图示,计算机11a和11f-11h被表达为服务器,而计算机11b-11e被表达为台式计算机。计算机11可以对应于例如在服务器环境内实现的虚拟计算机。因此,两个计算机11可以对应于在相同服务器基础设施内实现的虚拟计算机。
参考图2,在总体意义中,计算机11将包括与内存21和网络接口22接口连接的处理器20。如所示的,处理器20在实践中可对应于单个CPU、多个CPU、在独立硬件中实现的多个CPU的功能上互连的网络、微控制器等。内存21将典型地包括易失性存储器和非易失性存储器。内存21被配置成存储可由处理器20执行的程序指令、以及用于提供用于存储由程序指令使用的数据的数据空间。
网络接口22被配置成使处理器20能够在网络15之上进行数据通信以及经由网络15接收数据。图1中所示的网络15应被理解为多个装置——包括计算装置以及比如路由器和交换器的网络节点——的任何互连。所述连接可以使用有线电气连接、光学连接和无线连接(典型地许多这些连接的组合)。相关地,数据通信典型地由通常用于在因特网之上通信的一个或多个协议——例如TCP/IP栈——来限定。网络15可以包括比如因特网的公共网络。
根据本文中描述的实施方式,期望能够实现在可能不是相同私人网络16的部分的两个计算机11之间的数据通信,使得效果如同所述两个计算机11a、11b直接数据通信那样。还可以期望的是使计算机11能够有效地成为其本不属于的私人网络16的部分。这样的连接可以类似于网络通道,也就是说,本文中描述的功能可以与已知的通道化协议相似或等同。
参考图3,为了描述方便,期望初始化以及维持在计算机11a与11b之间的数据通信。微通道由虚线箭头表示为指向性连接。为了在这些计算机11a、11b之间进行区别,使用标记“第一”和“第二”,不仅用于指示第一计算机11a和第二计算机11b,还用于指示所述计算机11a、11b的多种特征。应理解的是,术语“第一”和“第二”不暗示具体次序并且可具有与相关计算机11a、11b关联的多个“第一”和“第二”特征。附图将计算机11a和11b分别示出为服务器和台式机。当然,具体的计算装置不旨在被限制于这些示例。
图4示出根据一个实施方式的多个块41的示意表达图。每个块41为用于在两个计算机11a和11b之间的初始化和/或正在进行的数据通信中使用的概念化的可配置协议或其他软件/算法(本文中总称为“协议”或“数据通信功能”)——也就是说,每个块41为可配置的并且在计算机11a与11b之间的数据通信中发挥作用。每个块41与用于定义块41的操作的一个或多个属性关联。
根据一个实施方式,块属性可以定义用于每个块41的块类型。在本文中描述的实施方式中,块类型包括“块”和“非封装块”。
封装块类型对应于在两个计算机11a和11b之间的正在进行的数据通信期间——即在数据通信的初始化以后——使用的协议。一般来说,封装块也涉及初始化数据通信——例如,封装块通常需要配置以用于所述数据通信。另一个方面,非封装块类型对应于仅在数据通信的初始化期间所使用的协议。因此,非封装块不被用于经由所述被初始化的数据通信的正在进行的通信。
图4示出块41,其布置成块41的两个序列42——即,包括第一块41a-41e的第一序列42a和包括第二块41f-41j的第二序列42b。第一块41a与第一计算机11a关联,而第二块41f-41j与第二计算机11b关联。根据一个实施方式,第一块41a-41e中的至少一个具有成对的第二块41f-41j,如由连接的点线所指示的。在所示的示例中,第一块
根据一个实施方式,第一序列42a是用于定义经排序的多个第一块41a-41e的数据结构——在概念上,每个第一块41a-41e被布置成使得其能够在向前方向上、在反向方向上、或在这两个方向上紧挨另一个第一块41a-41e。更具体地,仅端部的第一块41a和41e(分别)仅邻近一个第一块41b、41d。“向前方向”由箭头49a的方向指示。类似地,第二序列42b是用于定义经排序的多个第二块41f-41j的数据结构——在概念上,每个第二块41f-41j被布置成使得其能够在向前方向上、在反向方向上、或在这两个方向上紧挨另一个第二块41f-41j。更具体地,仅端部的第二块41f和41j(分别)仅邻近一个第二块41g、41i。“向前方向”由箭头49b的方向指示。所述数据结构因此可以对应于双向链接列表。
所述数据结构可以经由数据结构创建过程在每个计算机11上创建——例如,应用可以被提供为被配置成接受配置参数条目(来自用户输入、文件、或其他已知机制)以及以有效格式创建数据结构。在另一个示例中,用户可以经由用户输入直接创建数据结构。在另一个示例中,数据结构从外部源提供——例如,一个计算机11a的用户可以经过通信装置(例如,网络15)或经由比如USB存储器的存储器而将所述数据结构传输至另一个计算机11b。每个序列42与配置数据关联——这个配置数据可以被结合到序列42的所述数据结构中或者可以分开地存储——实际上,可以使用这些选项的组合。附加地,配置数据的至少一部分可以从外部源(例如用户输入)提供。因此,所述数据结构定义了上述序列的每个块41的协议和块41的排序,而所述配置数据定义了用于配置与块41关联的协议的参数。
通常,一旦数据通信被初始化,由封装块41限定的协议就可根据协议及其配置接收数据、封装或采取其他数据处理动作,以及将这个经处理的数据传递至下一个块41。所述数据可经由(例如)二进制流接口传递。
图5示出根据一个实施方式的使用上面描述的块41的用于初始化数据通信的方法。该方法可通过在每个计算机11a、11b上运行的控制软件来实施——即,在第一计算机11a上运行的第一控制软件和在第二计算机11b上运行的第二控制软件。
步骤100对应于在第一计算机11a的内存中配置第一序列42a,并且步骤101对应于在第二计算机11b的内存中配置第二序列42b。当然,步骤100和步骤101可以任何次序或甚至同时地执行。
根据一个实施方式,块的对包括具有互补协议配置(例如,定义了相同的协议,被配置成使得在两个计算机11a、11b上的协议能够彼此交互)的第一块41a-41e中的一个和第二块41f-41j中的一个。例如,第一块41e可以为TCP客户端以及第二块41f可以为TCP服务器,使得可以在两个块41e、41f之间创建TCP连接,以及因此计算机11a和11b能够彼此通信。在另一个示例中,第一块41d可以为AES加密客户端以及第二块41g可以为AES加密服务器。一般来说,可以具有一个或多个的块对。
根据一个实施方式,初始化包括通过在每个计算机11a、11b上运行的相应控制软件来处理第一序列和第二序列中的每一个。
在一个实施方式中,如图6a中所示的,处理第一序列42a包括:第一控制软件在向前方向上移动通过第一序列42a、随后在反向方向上移动通过第一序列42a。每个第一块41a-41e具有的方向属性限定了当在向前方向(“自上向下”)上或在反向方向(“自下向上”)上移动时第一块41a-41e是否被处理。尽管本文中没有明确地描述,但是可以预期一些第一块41a-41e可以与向前和反向方向两者都关联。类似地,根据图6b中所示的这个实施方式,处理第二序列42b包括:第二控制软件在向前方向(自上向下)上移动通过第二序列42b、随后在反向方向(“自下向上”)上移动通过第二序列42b。在附图中,加阴影的块41为自上向下的块,而未加阴影的块41为自下向上的块41。当在自上向下的方向上处理时,最上面的块为序列中的起始块41;以及当在相同方向上处理时,最下面的块为序列中的最终块41。因此,块41a和41j两者都为最上面的块,并且块41e和41f两者都为最下面的块。
“自上向下”和“自下向上”的概念在数据流的次序与初始化的次序之间提供了概念化链接。
在另一个实施方式中,每个块41依顺序被读取。在这种情况中,块41在数据结构中的排序可以不同于相关于前面的实施方式描述的概念化排序。然而,该排序替代地被选择成使得,在根据预期的初始化次序处理块41时,该排序可以与数据流的概念化排序不同。
图7示出根据一个实施方式的由第一计算机11a执行的初始化方法(也就是说,对应于步骤103)。一般来说,相同的方法可以由第二计算机11b实施——只为了描述的方便,请参考第一计算机11a。在步骤200识别初始第一块41a——这是仅具有向前连接的块41a。接着,在向前方向上检查每个第一块41a-41e(即,41a→41b→41c→41d→41e),如下面描述的。在一个实施方式中,第一控制软件读取第一数据结构以识别所述初始第一块41a。
在步骤201选择当前块41——以从它开始,这个是初始第一块41a。接着,进行检查步骤202:这对应于检查是否当前第一块41为自上向下的块类型。如果当前第一块41不是自上向下的块类型,则方法前进至步骤204。
如果当前第一块41是自上向下的块类型,则当前第一块41在步骤203经历激活处理。具体的激活处理依据与当前块41关联的协议。附加地,所述激活将典型地依据与当前块41关联的预定义块参数。附加地,所述激活可依据从激活序列中的前面的块41被通信至当前块41的数据。在一些实例中,所述激活可以要求从另一个计算机11——其在一些情况中可以为第二计算机11b——接收激活数据。协议激活的示例在下面描述。一旦完成与当前块41关联的协议的激活,方法就前进至步骤204。典型地,第一控制软件根据与当前第一块41关联的块参数而引起与当前第一块41关联的协议的激活。
在步骤204,检查是否在向下方向上具有另一个链接的第一块41——如果没有,则方法前进至步骤205。如果具有另一个链接的第一块41,则方法返回至步骤201并且这个下一个块41成为当前块41。以这种方式,第一控制软件前进至检查是否每个第一块41a-41e对应于从第一块41a至第一块41e的顺序的自上向下的块类型。在一个实施方式中,在没有进行明确的检查的情况中,假设初始第一块41为自上向下的块类型。
接着,第一控制软件前进至在反向方向上检查每个第一块41a-41e(即,41e→41d→41c→41b→41a)。在步骤205将第一块41e选择为当前块,以及接着进行检查步骤206:这对应于检查是否当前第一块41为自下向上的块类型。如果当前第一块41不是自下向上的块类型,则方法前进至步骤208。
如果当前第一块41是自下向上的块类型,则当前第一块41在步骤204经历激活处理。如之前那样,具体的激活处理依据与当前块41关联的协议。附加地,所述激活将典型地依据与当前块41关联的预定义块参数。附加地,所述激活可依据从激活序列中的前面的块41被通信至当前块41的数据。在一些实例中,所述激活可以要求从另一个计算机11——其在一些情况中可以为第二计算机11b——接收激活数据。协议激活的示例在下面描述。一旦完成与当前块41关联的协议的激活,所述方法就前进至步骤204。典型地,第一控制软件根据与当前块41关联的块参数而引起与当前第一块41关联的协议的激活。
在步骤208,检查是否在向后方向上具有另一个链接的第一块41——如果没有,则方法前进至步骤209(结束)。如果具有另一个链接的第一块41,则这个第一块41成为当前块41,并且所述方法返回至步骤205。以这种方式,控制软件前进至检查是否每个第一块41对应于从最终第一块41至初始第一块41的顺序的自下向上的块类型。
应注意,图5和图7的方法可能在任意点处(具体地,在任一个块41的初始化期间)失效。例如,由于超时、认证失效、网络失效、或因为其他相关原因(一个或多个)。失效可以由相关控制软件确定。失效没有显示为一步骤,但是一般来说,可以提供(例如,经由信息服务、弹出图形框、测试代码、日志文件条目、或其他已知装置)通知以指示已经发生失效以及可选地提供与失效相关的信息。该方法典型地将在初始化失效后终止,并且所述数据通信将不会被初始化。
关于协议激活,封装块41实际上在图7的方法以后还保持操作——也就是说,封装块41对应于用于步骤104处的正在进行的数据通信的协议。然而,非封装块41不维持操作——这些非封装块41仅与数据通信的初始化相关。
相关地,用于初始化所述数据通信的具体协议由第一序列42a和第二序列42b(其可以为互补的或至少包括一对或更多对成对的块41)定义。第一序列42a和第二序列42b为软件中可配置的数据结构——也就是说,旨在根据需要来定义第一序列和第二序列。因此,使用不同协议和初始化参数的数据通信可经由软件配置被定义,并且每个协议可用于选择和配置。
封装块41定义正在进行的协议,使得该协议有助于第一计算机11a与第二计算机11b之间的正在进行的数据通信。典型地,这些协议对应于已知的网络系统和数据通信协议,比如TCP、HTTP、TLS、AES等。然而,任何合适的协议都可以被应用。因此,封装块41的激活典型地对应于例如由相关控制软件配置用于数据通信的具体会话的关联协议。在多种示例中,这可以涉及分配目标IP地址、目标端口、密钥等。
图8示出在操作期间的数据通信的示意表达,其中所述数据通信连接了分别在计算机11a和11b上运行的应用43a和43b。由于数据通信的本质,块41b-41i对于应用43来说实际上为不可见的。每个应用43简单地被配置成与相应的块41a和41j通信。因此,第一块41a可被称为原始第一块41a,并且第二块41j可被称为原始第二块41g。图8的示例假设块41a-41j各自为封装块类型(因而,参与了所述数据通信的正在进行的操作)。
根据一个实施方式,如图8中例示的,序列42可包括与不同部段44关联的块41。第一序列42a包括与第一部段44a关联的第一块41a-41c和与第二部段44b关联的第一块41d-41e(当然,可以具有多于两个的部段44)。部段44a、44b定义与各通信功能分别关联的第一块41a-41c、41d-41e——在这个意义上,序列42用作在两个分开的应用和/或协议之间的桥接通信。
在一个实施方式中,具体序列42的块41中的至少一些可以被异步地初始化——也就是说,控制软件可以被配置成引起这些块41的初始化,不论这些块41被初始化的次序如何。在这个变型中,控制软件可以被配置成随后将一个块41的输出提供至另一个块41的输入,使得一旦完成就根据正确的封装次序(例如)来发生数据流。然而,可以考虑:这样的块41没有被完全初始化直到比特流被连接为止——从这个角度,块41被异步地部分初始化。用于在各部段44之间的互连的相关块41可被认为是那些封装块41在序列42内“紧挨”彼此。
在具体的示例中,第一部段44a的块41a-41c可以相对于第二部段44b的块41d-41e被异步地初始化。一旦被初始化,块41就被连接使得一个部段44的块41(例如,第一部段44a的块41c)的输出被连接至另一个部段44的块41(例如,第二部段44b的块41d)的输入。
返回参考图8,第一部段44a可以被认为指向与应用43a的通信,而第二部段可以被认为指向与第二计算机11b(即,与第二序列42b)的通信。尽管未示出,但是部段44的类似布置可以被应用至第二序列42b。部段44的这种布置的优点在于不同的数据通信功能可经由具体序列42链接。
本文中描述的实施方式的优点可以在于管理员(例如与数据通信的实例中涉及的一个或多个计算机11关联的系统管理员)可配置特定布置——例如,具有对定义传输协议、安全协议等的控制。该控制由根据数据结构所配置的控制软件来实施,所述数据结构确保了在所述数据通信的两端(例如,对应于计算机11a和计算机11b)处的兼容性。也就是说,数据通信的实例为可定制的。
图9示出包括中继服务器12的实施方式。一般来说,可具有多个中继服务器12——为了清楚起见仅示出一个中继服务器。如对于计算机11那样,中继服务器12可以是任何合适的计算装置(例如,包括比如网络路由器的专用计算装置)。中继服务器12配置成用于通常经由网络15而与第一计算机11a和第二计算机11b两者进行数据通信。根据这个实施方式,中继服务器12有助于数据通信——也就是说,中继服务器12参与正在进行的数据通信以及因此包括封装块类型。中继服务器12(或每个中继服务器,在可应用的情况中)与块41关联,类似于第一计算机11a和第二计算机11b的情况——因此,中继服务器12包括在本文中被称为中继序列42c的数据结构,该中继序列42定义其关联的块41。
在该图中,第一计算机11a的第一序列42a包括第一块41a-41e,第二计算机11b的第二序列42b包括第二块41f-41j,并且中继服务器12的中继序列42c包括中继块41p-41r。一般来说,第一块41中的一个或多个可以与中继块41组成对——例如,如所示的,第一块41e与中继块41p组成对,以及第二块41f与中继块41r组成对。初始化与前面描述的类似,但是具有中继块41p-41r的附加初始化,该附加初始化可依照第一和第二块41a-41j的初始化而发生。中继服务器12被配置为所述数据通信的部分——因此,第一块41e典型地指向与中继块41p的通信并且第二块41f典型地指向与中继块41r的通信。如所示的,第一块41c与第二块41h组成对,并且第一块41d与第二块41g组成对——在这些块41c、41h、41d、41g之间的通信经由中继服务器12发生。
该实施方式可提供若干个优点。例如,在计算机11a和11b使用不同传输协议的情况中,中继服务器12可提供在所述协议之间的转换(例如,经由中继块41g)。附加地或替换地,中继服务器12可提供日志功能以记录在第一计算机11a与第二计算机11b之间的通信。中继服务器12可以对应用43透明的方式提供所述功能性。另一个优点可以是,中继服务器12可以由计算机11a和11b中的一个或两个访问,而不允许在所述计算机11a、11b之间经由防火墙或其他安全措施直接连接。
图10示出包括连接服务器13的实施方式。连接服务器13在这个实施方式中的作用是有助于初始化所述数据通信——在初始化以后,连接服务器13不发挥作用(或可以提供中继服务器12的功能性,这在下面描述)。如对于计算机11那样,连接服务器13可为任何合适的计算装置(例如,包括比如网络路由器的专用计算装置)。在这个意义中,连接服务器12与至少一个一次性协议关联。连接服务器13的功能可以与中继服务器12的功能合并到单个计算装置(例如,服务器)中。与中继服务器12类似,在两个计算机11a、11b之间由于安全协议而不可能直接连接(至少在初始化阶段)时,连接服务器13可以提供优点。
图10示出连接服务器13与第一计算机11a和第二计算机11b两者的数据通信(所述数据通信典型地经由网络15,但是,至少一个计算机11可以对应于相同的计算装置或可以被设置在具有连接服务器12的私人网络16内)。在该图中,连接服务器12示出为在第一计算机11a与第二计算机11b“之间”。连接服务器12的目的是有助于创建在第一计算机11a与第二计算机11b之间的连接。
图10还示出对应地与第一计算机11a关联的第一块41a-41f的第一序列42a和与第二计算机11b关联的第二块41f-41j的第二序列42b、以及与连接服务器12的连接序列42d关联的附加连接块41s-41u。如可见的,第一计算机11a的第一块41d和41e与连接服务器12的连接块41s和41t组成对,而不是与第二计算机11b的块。类似地,第二计算机11b的第二块41f和41g与连接服务器12的连接块41t和41u组成对,而不是与第一计算机11a的块。应注意,第一块41s和第二块41g两者都示出为与连接块41t组成对——在实践中,替代地,这可以对应于具有两个相关连接块41的两个配对,所述两个相关连接块41在该图中简单地表示为一个块41t。
在图7的初始化方法期间,连接服务器13被配置成有助于创建在第一计算机11a与第二计算机11b之间的连接。将假设,第二计算机11b被配置成公告其用于与连接服务器13连接的可用性,以及第一计算机11a被配置成与连接服务器13通信以便识别第二计算机11b的公布。这个方式为示例并且不应被认为是限制性的。
在这种情况中,例如,第二块41f为自上向下的块,以及第二块41g为自下向上的块。因此,第二块41f首先激活并且建立与连接块41u的数据连接(这些对应于TCP协议)。因而,在第二计算机11b与连接服务器13之间创建TCP会话。在连接服务器13的初始化期间,连接块41u在连接块41t之前被类似地激活。
接下来,第二块41g经由被第二块41f和连接块41u建立的网络连接而与连接块41t通信。连接块41t对应于“交汇点”,即,被配置成能够实现第一计算机11a与第二计算机11b之间发生“交汇”的功能。因此,连接块41t为非封装块——其不参与实际的数据通信。第二块41g为“交汇公布器”——第二块41g被配置成与交汇点(连接块41t)通信以便公布所述交汇点用于接收连接的可用性。公布包括用于识别所述可用性的具体实例(例如,代码名)的识别信息。连接块41t可配置成维持所述可用性的公布一段预定时间或在来自第二块41g的通信中所限定的时间——这可以为一分钟。如果这个时间结束,则第二块41g可要求将其可用性再次通信至连接块41t。
在另一“侧”,计算机11a经历其自身的初始化。在此,第一块41e为自上向下的块,以及第一块41d为自下向上的块。因此,第一块41e首先激活并且建立与连接块41s的数据连接(这些再次可对应于TCP协议)。因而,在第一计算机11a与连接服务器13之间创建TCP会话。在连接服务器13的初始化期间,连接块41s在连接块41t之前被类似地激活。
接下来,第一块41d经由被第一块41e和连接块41s建立的网络连接而与连接块41t通信。第一块41d为“交汇公布器”——第一块41g被配置成与交汇点(连接块41t)通信以便识别所公布的用于进一步连接的可用性。第一块41d将其请求伴随识别信息一起发送——这被配置成允许所述交汇点(连接块41t)将第一计算机11a匹配至第二计算机11b。以所述另一个方式,由第一块41d和第二块41g两者提供至连接块41t的识别信息使连接服务器13能够确定应当在对应的计算机11a、11b之间发起所述数据通信。
在匹配以后,连接服务器13可被配置成以不同方式管理对于数据通信创建的辅助。例如,在第一计算机11a与连接服务器13之间以及在第二计算机11b与连接服务器13之间的TCP连接可以被替换为在第一计算机11a与第二计算机11b之间的直接TCP连接。在另一个示例中,连接服务器13还实施为中继服务器12,并且前进至在第一计算机11a与第二计算机11b之间中继数据。例如,在连接服务器13上操作的连接控制软件可以将更新的信息通信至第一和第二计算机11a、11b的相关的TCP块41,从而引起两个计算机开始与彼此通信,而非与连接服务器13通信。
在所述“交汇”完成以后,第一计算机11a和第二计算机11b两者可继续它们相应的初始化方法。例如,第一序列42a可以前进至第一块41c,以及第二序列42b可以前进至第二块41h。因此,该方法的结果是第一块41d、第二块41g和连接块41s-41u被移除,这在图11中示出。图11因此提供了在数据通信的初始化以后所剩余的块41的示例——也就是说,仅块41对应于封装块类型。因此,第一和第二控制软件被配置成响应于在第一计算机11a与第二计算机11b之间的连接的创建来进行初始化处理。
使用连接服务器13的优点可以在于计算机11a和11b不需要彼此的任何网络知识——所需要的全部是共用识别信息以使连接服务器13能够有助于所述数据通信的初始化。连接服务器13还可以在不要求设立向前规则的情况中辅助克服防火墙和NAT(例如)——在每个计算机11a、11b发起对连接服务器13的连接时,可根据已知技术即时创建适当的路由规则。在一个实施方式中,连接服务器13也是中继服务器12,从而在存在防火墙或NAT的情况中确保连续通信。
图12a示出一个实施方式,其中第一序列42a包括的第一块41a、41b(以阴影示出)没有与第二块41g-41j组成对。然而,第一块41a和41b的初始化跟随与块41c-41e相同的方法,例如,如参考图7所描述的。
在具体的计算机11上的序列42的初始化可以响应于激活命令而发生。在一个实施方式中,激活命令构成明确的用户动作,例如,经由命令行或图形用户界面(GUI)运行命令,以基于可由用户动作(例如,命令行参数)和/或在预定义文件内提供的具体配置数据来运行控制软件。
在另一个实施方式中,在操作系统上运行的应用可访问的库可以被配置成经由本文中描述的方法提供自动数据通信——也就是说,所述库为所述控制软件,或替换地,所述库可以调用所述控制软件。应用可以为可配置成在创建与另一个计算机11(例如,在所述库和应用在计算机11a上运行时,为计算机11b)的网络连接时使用所述库。所述库被配置成基于配置数据引起初始化,配置数据的至少一部分可以由调用所述库的应用提供。
在另一个实施方式中,计算机11上的回送地址被绑定,使得对该回送地址的连接基于也与所述回送地址关联的配置数据而启动所述控制软件。回送地址是本领域中已知的。在一个示例中,相对于IPv4,回送地址可以在127.0.0.0-127.255.255.255的范围内;但是回送地址可以优选地被限制为这个范围的子集,例如127.1.0.0-127.1.255.255。
应注意的是,这些示例不涉及在该(或每个)其他计算机11上的激活动作。一般来说,这些计算机11可配置有其自身的激活动作,以便运行控制软件,从而初始化相关联的序列42(或多个序列42)。然而,这个激活动作可以耦合至从另一个计算机11接收的通信——例如,计算机11a可以对计算机11b通信,使得计算机11b初始化序列42。
在一个实施方式中,计算机11可配置有被配置成在具体端口上监听的TCP监听器(即,TCP服务器)。在接收到寻址至该端口的通信后,计算机11被配置成开始初始化与该端口关联的序列42——所述关联可以基于具体的预定义配置数据。
本文中描述的实施方式可以提供可定制的系统,其中在特定计算机11(或其他网络化装置,例如打印机)之间的数据连接可以通过在计算机11上实施的软件来控制。也就是说,比如安全性(例如,身份验证和加密)的特征可以在应用层的层级处被控制,与基于一个接一个连接的传输或因特网层(例如,参见RFC 1122)相反。附加地,所述数据连接可以不仅是以装置为目标的,而且是以应用为目标的——这是可能的,因为在块41之间的连接被配置在软件中、并且传输层仅负责传输(与安全性等相反)。这样的灵活性允许管理员提供对不同装置的快速和安全的访问。
图13a和13b中示出本文中描述的实施方式的示例。
在该示例中,用户90要求访问在私人网络92上的计算机91a上运行的应用。图13a示出现有技术的示例,其中用户90使用所述用户的计算机92a经由与计算机91a关联的VPN94连接至计算机91a。现有技术的技术存在若干个潜在缺点——例如,VPN 94可能有过度宽松,即其可能允许访问整个网络——即使安全性就位,这典型地涉及使用(很可能复杂的)路由规则的中央化处理——可以需要复杂的“智能”路由器来处理在用户的计算机92a与计算机91a之间的数据包定向。例如,用户90因此可以访问另一个计算机91b。VPN 94因此代表中央失效点。另一个问题可能在于,VPN 94被要求以数据包检查和路由的方式以大量开销来实施。最后,可能难以隔离在计算机91a上的具体应用以供用户90a交互。
在图13b中,示出使用当前描述的实施方式的实现。在此,用户90a要求访问在计算机91a上运行的应用95a——例如,VNC服务器。本文中描述的实施方式可以用来提供在技术人员的计算机与应用95a之间的数据连接(事实上,该数据连接可以专门地在应用95a与在技术人员的计算机上运行的应用96a之间,如所示的)——这是一个数据连接。接着,在相同的会话期间相同的用户90可以要求访问在计算机91a上运行的另一个应用95b——例如,文件传输服务器。本文中描述的实施方式可以用来提供在技术人员的计算机与应用95b之间的另一个数据连接(事实上,该数据连接可以专门地在应用95b与在技术人员的计算机92a上运行的应用96b之间,再次如所示的)——如图13b中所示的,现在具有将技术人员的计算机92a链接至计算机91a的两个数据连接。可继续这个过程以便创建在用户的计算机92a与计算机91a之间的定制网络连接。
接下来,考虑第二技术人员90b要求访问在计算机90a上运行的应用95c的情况。使用本文中描述的实施方式,创建在技术人员的计算机92b与应用95c之间的数据连接(事实上,该数据连接可以专门地在技术人员的计算机92b上运行的应用96c与应用95c之间,如所示的)——这是又一个连接。并且,第二技术人员90b还可以要求访问计算机91a的第一应用95a(经由在技术人员的计算机92b上运行的应用96a)。
现在,考虑第一技术人员90a也要求对第二计算机91b的数据连接的情况——例如,以访问应用91a的另一个实例(例如,VNC服务器)。本文中描述的实施方式可用来创建这个数据连接。
图13b中的图示旨在示出本文中描述的数据连接可以如何被构建以创建以特定应用95为目标的数据连接的网络——即,例如在不同计算机91上运行的应用95与对应的应用96之间的数据连接。这些数据连接由于本文中描述的实施方式而有利地是固有安全的——每个数据连接必须被授权并且仅可访问特定的应用95、96。这些数据连接在软件中定义。该方案可以被认为是对于网络系统“自下向上”的方案,关注在软件中定义的各个数据连接。
数据的实际传送使用传输层和下部层(依照OSI栈),然而,不要求在硬件处处理安全性和授权——实际上,传输层仅被要求提供数据包的传输。本文中描述的实施方式的优点可以是,在某些实施方式中网络系统硬件的复杂度因此减小。
本文中描述的连接因此可被认为是一个或多个(典型地多个)数据连接——也就是说,在计算机11之间的直接连接——的交互,其确保仅特定的计算机11以及可选地那些计算机11上的应用可以由另一方访问。通过使用部段42和块41(对应地,与块41关联的协议),安全连接由于在软件中被定义而可以根据需要被授权和创建,以及传输层仅被要求在某些块41之间通信数据。
在示例中,本文中描述的实施方式允许分布式数据监控。在比如图13a中所示的现有技术系统中,VPN 94可以被配置成记录在计算机91a、91b与92a之间的数据流——然而,对于至少一个实体,这将构成第三方,从而产生信任问题。根据本文中描述的实施方式,序列42可以被配置具有日志块41——也就是说,与被配置成记录被通信的数据的计算机软件相关联的块41。这种日志块41可以因此被配置成根据与序列42相关联的组织的要求用于每个数据通信。典型地,这种块41将位于应用95、96与序列42的任何加密块41之间。因此,与所述数据通信相关联的两个组织可以根据其自身的策略而促进数据记录,不依靠第三方。
在不背离本说明书的精神和范围的情况下可以进行进一步的修改。例如,各个块41的配置可以由系统操作者限制至可能配置的子集。
Claims (40)
1.一种用于经由网络的数据通信的方法,所述方法包括以下步骤:
在第一计算机上配置第一序列,所述第一序列包括与至少一个部段关联的经排序的多个第一块;和
初始化所述第一块以及在所述第一计算机与第二计算机之间承担数据通信,
其中每个第一块代表可配置的数据通信功能。
2.根据权利要求1所述的方法,进一步包括:将一个或多个第一块分配给第一部段和将一个或多个其他第一块分配给第二部段;将所述第一部段的所述第一块初始化和将所述第二部段的所述第一块初始化;以及随后引起在所述第一部段的第一块与所述第二部段的第一块之间的数据通信。
3.根据权利要求2所述的方法,其中至少一个部段与在所述第一计算机上运行的应用的数据通信相关联。
4.根据权利要求2或3所述的方法,其中至少一个部段与所述第二计算机或在数据网络之上的另一个计算机的数据通信相关联。
5.根据权利要求1至4中任一项所述的方法,进一步包括:
在所述第二计算机上配置第二序列,所述第二序列包括与至少一个部段关联的经排序的多个第二块,其中一个或多个所述第二块中的每一个单独地与第一块关联;和
初始化所述第二块以及在所述第一计算机与所述第二计算机之间承担数据通信,
其中每个第二块代表可配置的数据通信功能。
6.根据权利要求5所述的方法,其中至少一个第一块是被配置成与在所述第一计算机上运行的应用交互的原始第一块,和/或其中至少一个第二块是被配置成与在所述第二计算机上运行的应用交互的原始第二块。
7.根据权利要求5或6所述的方法,其中将部段的所述第一块和/或部段的第二块初始化包括在第一方向上分别地遍历每个块、随后在相反的第二方向上进行遍历,其中遍历包括根据激活规则激活与所述第一块和所述第二块关联的所述通信功能。
8.根据权利要求7所述的方法,其中每个第一块和每个第二块能够配置为自上向下的块类型或自下向上的块类型,并且激活规则是当在所述第一方向上遍历时仅与所述自上向下的块类型的所述第一块和所述第二块关联的所述通信功能被激活、以及当在所述第二方向上遍历时仅与所述自下向上类型的所述第一块和所述第二块关联的所述通信功能被激活。
9.根据权利要求5或6所述的方法,其中将所述第一块和第二块初始化包括仅在相应的第一方向上分别地遍历每个块,其中遍历包括根据激活规则激活与所述第一块和所述第二块关联的所述通信功能。
10.根据权利要求5至9中任一项所述的方法,其中将至少一个第一块和/或至少一个第二块配置为封装块类型,使得与所述定义的第一块和第二块关联的所述通信功能承担在初始化以后承担的所述数据通信。
11.根据权利要求10所述的方法,其中将至少一个第一块和至少一个第二块配置为用于与IP网络——例如比如因特网的公共网络——通信的网络协议。
12.根据权利要求5至11中任一项所述的方法,其中将至少一个第一块和/或至少一个第二块配置为非封装块类型,使得与所述定义的第一块和第二块关联的所述通信功能不会参与在初始化以后的所述数据通信。
13.根据权利要求5至12中任一项所述的方法,进一步包括与配置成与至少一个中继服务器通信的通信功能关联的一个或多个第一块和一个或多个第二块。
14.根据权利要求13所述的方法,其中所述第一序列的所述第一块和所述第二序列的所述第二块经由配置成与所述至少一个中继服务器通信的所述第一块和第二块而与所述网络通信。
15.根据权利要求5至14中任一项所述的方法,进一步包括与配置成与连接服务器通信的通信功能关联的一个或多个第一块和一个或多个第二块。
16.根据权利要求15所述的方法,其中与配置成与所述连接服务器通信的通信功能关联至少一个第一块和至少一个第二块仅用于初始化所述数据通信。
17.根据权利要求5至16中任一项所述的方法,其中所述第一序列的初始化响应于激活命令的接收,和/或所述第二序列的初始化响应于激活命令的接收。
18.根据权利要求5至17中任一项所述的方法,其中所述数据通信是在所述第一计算机上运行的第一应用与在所述第二计算机上运行的第二应用之间进行的。
19.一种用于在多个应用之间创建数据通信的方法,包括对于在第一计算机上运行的一个或多个应用和在第二计算机上运行的一个或多个应用中的每一个实施根据权利要求18所述的方法的步骤。
20.一种包括第一计算机的系统,
其中所述第一计算机被配置成:
生成第一序列,所述第一序列包括与至少一个部段关联的经排序的多个第一块;
根据所述第一序列初始化所述第一块;和
根据所述初始化所述第一块而承担与第二计算机的数据通信,其中每个块代表可配置的数据通信功能。
21.根据权利要求20所述的系统,所述第一计算机进一步配置成:将一个或多个第一块分配给第一部段和将一个或多个其他第一块分配给第二部段;将所述第一部段的所述第一块初始化和将所述第二部段的所述第一块初始化;以及随后引起在所述第一部段的第一块与所述第二部段的第一块之间的数据通信。
22.根据权利要求21所述的系统,其中至少一个部段与在所述第一计算机上运行的应用的数据通信相关联。
23.根据权利要求21或22所述的系统,其中至少一个部段与所述第二计算机或数据网络之上的另一个计算机的数据通信相关联。
24.根据权利要求20至23中任一项所述的系统,进一步包括所述第二计算机,所述第二计算机被配置成:
生成第二序列,所述第二序列包括与至少一个部段关联的经排序的多个第二块;
根据所述第二序列初始化所述第二块;和
根据初始化的所述第二块而承担与所述第一计算机的数据通信,其中至少一个第二块中的每一个单独地与第一块关联。
25.根据权利要求24所述的系统,其中至少一个第一块是被配置成与在所述第一计算机上运行的应用交互的原始第一块,和/或其中至少一个第二块是被配置成与在所述第二计算机上运行的应用交互的原始第二块。
26.根据权利要求24或25所述的系统,其中:
所述第一计算机被配置成在初始化所述第一块时在第一方向上遍历部段的所述第一块、随后在相反的第二方向上进行遍历;和
所述第二计算机被配置成在初始化所述第二块时在第一方向上遍历部段的所述第二块、随后在相反的第二方向上进行遍历,
其中遍历包括根据激活规则激活与所述第一块和所述第二块关联的所述通信功能。
27.根据权利要求26所述的系统,其中每个第一块和每个第二块能够配置为自上向下的块类型或自下向上的块类型,并且激活规则是:当在所述第一方向上遍历时仅与所述自上向下的块类型的所述第一块和所述第二块关联的所述通信功能被激活、以及使得当在所述第二方向上遍历时仅与所述自下向上类型的所述第一块和所述第二块关联的所述通信功能被激活。
28.根据权利要求24或25所述的系统,其中:
所述第一计算机被配置成在初始化所述第一块时仅在第一方向上遍历部段的所述第一块;和
所述第二计算机被配置成在初始化所述第二块时仅在第一方向上遍历部段的所述第二块,
其中遍历包括根据激活规则激活与所述第一块和所述第二块关联的所述通信功能。
29.根据权利要求24至27中任一项所述的系统,其中至少一个第一块和/或至少一个第二块被配置为封装块类型,使得与所述定义的第一块和第二块关联的所述通信功能引起它们相应的计算机承担在初始化以后的所述数据通信。
30.根据权利要求29所述的系统,其中至少一个第一块和至少一个第二块被配置为用于与IP网络——例如比如因特网的公共网络——通信的网络协议。
31.根据权利要求24至30中任一项所述的系统,其中至少一个第一块和/或至少一个第二块被配置为非封装块类型,使得与所述定义的第一块和第二块关联的所述通信功能不会参与在初始化以后的所述数据通信。
32.根据权利要求24至31中任一项所述的系统,进一步包括与配置成与至少一个中继服务器通信的通信功能关联的一个或多个第一块和一个或多个第二块。
33.根据权利要求32所述的系统,其中所述第一序列的所述第一块和所述第二序列的所述第二块经由配置成与所述至少一个中继服务器通信的所述第一块和第二块而与所述网络通信。
34.根据权利要求32或33所述的系统,包括所述至少一个中继服务器。
35.根据权利要求24至34中任一项所述的系统,进一步包括与配置成与连接服务器通信的通信功能关联的一个或多个第一块和一个或多个第二块。
36.根据权利要求35所述的系统,其中与配置成与所述连接服务器通信的通信功能关联的至少一个第一块和至少一个第二块仅用于初始化所述数据通信。
37.根据权利要求35或36所述的系统,包括所述连接服务器。
38.根据权利要求24至37中任一项所述的系统,其中所述第一序列的初始化响应于激活命令的接收,和/或所述第二序列的初始化响应于激活命令的接收。
39.根据权利要求24至38中任一项所述的系统,其中所述数据通信是在所述第一计算机上运行的第一应用与在所述第二计算机上运行的第二应用之间进行的。
40.一种计算机,包括配置成引起所述计算机实施根据权利要求1至4中任一项所述的方法的计算机程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2019904082A AU2019904082A0 (en) | 2019-10-30 | Network Tunnelling | |
AU2019904082 | 2019-10-30 | ||
PCT/AU2020/050244 WO2021081575A1 (en) | 2019-10-30 | 2020-03-13 | Method for data communication |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115004631A true CN115004631A (zh) | 2022-09-02 |
Family
ID=75714407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080078189.XA Pending CN115004631A (zh) | 2019-10-30 | 2020-03-13 | 用于数据通信的方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20240155047A1 (zh) |
EP (1) | EP4052147A4 (zh) |
JP (1) | JP2023500309A (zh) |
CN (1) | CN115004631A (zh) |
AU (1) | AU2020375440A1 (zh) |
CA (1) | CA3159603A1 (zh) |
WO (1) | WO2021081575A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332724A1 (en) * | 2012-01-24 | 2013-12-12 | Cummings Engineering Consultants, Inc. | User-Space Enabled Virtual Private Network |
US20140153572A1 (en) * | 2012-11-30 | 2014-06-05 | Georg Hampel | Software-defined network overlay |
CN105939331A (zh) * | 2015-03-02 | 2016-09-14 | 贺利实公司 | 通信网络和用于保卫通信网络的方法 |
CN109508202A (zh) * | 2018-09-27 | 2019-03-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 嵌入式操作系统的驱动开发系统、方法及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7774837B2 (en) * | 2006-06-14 | 2010-08-10 | Cipheroptics, Inc. | Securing network traffic by distributing policies in a hierarchy over secure tunnels |
ATE532139T1 (de) * | 2007-12-21 | 2011-11-15 | Hicamp Systems | Übertragung hierarchischer blockidentifizierter daten für einheitliche verwaltung strukturierter daten und datenkomprimierung |
US9413797B2 (en) * | 2013-04-23 | 2016-08-09 | Gurulogic Microsystems Oy | Data communication system and method |
US9674639B2 (en) * | 2015-02-24 | 2017-06-06 | At&T Intellectual Property I, L.P. | Method and apparatus for virtualized network function chaining management |
GB2536299C (en) * | 2015-03-13 | 2017-07-05 | Gurulogic Microsystems Oy | Method of communicating data packets within data communication systems |
-
2020
- 2020-03-13 CA CA3159603A patent/CA3159603A1/en active Pending
- 2020-03-13 CN CN202080078189.XA patent/CN115004631A/zh active Pending
- 2020-03-13 AU AU2020375440A patent/AU2020375440A1/en active Pending
- 2020-03-13 JP JP2022525595A patent/JP2023500309A/ja active Pending
- 2020-03-13 EP EP20881980.5A patent/EP4052147A4/en active Pending
- 2020-03-13 US US17/773,262 patent/US20240155047A1/en active Pending
- 2020-03-13 WO PCT/AU2020/050244 patent/WO2021081575A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332724A1 (en) * | 2012-01-24 | 2013-12-12 | Cummings Engineering Consultants, Inc. | User-Space Enabled Virtual Private Network |
US20140153572A1 (en) * | 2012-11-30 | 2014-06-05 | Georg Hampel | Software-defined network overlay |
CN105939331A (zh) * | 2015-03-02 | 2016-09-14 | 贺利实公司 | 通信网络和用于保卫通信网络的方法 |
CN109508202A (zh) * | 2018-09-27 | 2019-03-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 嵌入式操作系统的驱动开发系统、方法及介质 |
Non-Patent Citations (1)
Title |
---|
钱志柏;陈娜;: "嵌入式网络技术在接收机中的应用", 计算机与网络, no. 07 * |
Also Published As
Publication number | Publication date |
---|---|
AU2020375440A1 (en) | 2022-06-16 |
EP4052147A4 (en) | 2023-11-08 |
WO2021081575A1 (en) | 2021-05-06 |
JP2023500309A (ja) | 2023-01-05 |
EP4052147A1 (en) | 2022-09-07 |
US20240155047A1 (en) | 2024-05-09 |
CA3159603A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11330044B2 (en) | Method and system for processing load balancing using virtual switch in virtual network environment | |
JP6505171B2 (ja) | 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム | |
US10171591B2 (en) | Connecting public cloud with private network resources | |
US10771342B2 (en) | Encoding and verifying network intents for stateful networks | |
US8245285B1 (en) | Transport-level web application security on a resource-constrained device | |
US7698388B2 (en) | Secure access to remote resources over a network | |
US20180063077A1 (en) | Source network address translation detection and dynamic tunnel creation | |
JP2005071362A (ja) | ネットワークを介したscsiデバイスアクセスの提供 | |
US11563799B2 (en) | Peripheral device enabling virtualized computing service extensions | |
JP2020533673A (ja) | セッションディレクトリまたはブローカを伴うrdpサーバファームの存在下でのrdpプロキシサポート | |
US11520530B2 (en) | Peripheral device for configuring compute instances at client-selected servers | |
CN110417632B (zh) | 一种网络通信方法、系统及服务器 | |
CN113574845A (zh) | 内部和外部调试 | |
US20080222292A1 (en) | Method for Allowing Multiple Authorized Applicants to Share the Same Port | |
US20040068575A1 (en) | Method and apparatus for achieving a high transfer rate with TCP protocols by using parallel transfers | |
CN115004631A (zh) | 用于数据通信的方法 | |
Khan et al. | Rapid and scalable isp service delivery through a programmable middlebox | |
EP2028822A1 (en) | Method and system for securing a commercial grid network over non-trusted routes | |
Rosmanith et al. | Traffic forwarding with GSH/GLOGIN | |
JP6539497B2 (ja) | 通信中継システム、デバイス収容端末、サーバ側コンピュータ、プログラム、及び通信中継方法 | |
JP2005100194A (ja) | 複数のユーザ閉域網に多重帰属するサーバ装置 | |
US20210400022A1 (en) | Methods and systems for network address translation (nat) traversal using a meet-in-the-middle proxy | |
CN116647598A (zh) | 一种跨网数据交换方法、装置、系统、服务器及存储介质 | |
Shpigor et al. | Out-game Bots | |
CN116980180A (zh) | 数据传输方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |