CN100593306C - 用于基于消息的可伸缩的数据传输的系统和方法 - Google Patents
用于基于消息的可伸缩的数据传输的系统和方法 Download PDFInfo
- Publication number
- CN100593306C CN100593306C CN200410063322A CN200410063322A CN100593306C CN 100593306 C CN100593306 C CN 100593306C CN 200410063322 A CN200410063322 A CN 200410063322A CN 200410063322 A CN200410063322 A CN 200410063322A CN 100593306 C CN100593306 C CN 100593306C
- Authority
- CN
- China
- Prior art keywords
- data
- message
- message object
- data source
- transport layer
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000005540 biological transmission Effects 0.000 claims abstract description 44
- 230000006854 communication Effects 0.000 claims abstract description 25
- 238000004891 communication Methods 0.000 claims abstract description 24
- 239000000872 buffer Substances 0.000 claims description 31
- 230000027455 binding Effects 0.000 claims description 11
- 238000009739 binding Methods 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 8
- 238000005538 encapsulation Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 abstract description 5
- 238000012384 transportation and delivery Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 2
- 230000004075 alteration Effects 0.000 abstract 1
- 230000007723 transport mechanism Effects 0.000 abstract 1
- 230000015572 biosynthetic process Effects 0.000 description 14
- 238000005755 formation reaction Methods 0.000 description 14
- 238000012546 transfer Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000011469 building brick Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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/14—Multichannel or multilink protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/10—Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
-
- 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/12—Protocol engines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
Abstract
本发明采用消息的数据传输平台,其中通信引擎根据作为基本单元的消息对象来控制服务器或其它备份数据或其它大量数据传递至远程站点。来自一个或多个服务器或其它数据源的数据会话,可在用于传递至同样包括通信控制的远程数据主机的建立的管道内被缓冲。相对大的消息单元可在队列中的信道内等待通信,并在前一个通信完成时被释放。完成端口或其它轮询或其它机制可表示连接已经打开供使用。在实施例中,消息对象可加以签名或加密,以防止更新或未经授权的观看。通信引擎可依靠TCP或其它基础传输机制以实现较低层传输。
Description
技术领域
本发明涉及信息技术领域,并且更具体地涉及一个平台,它被配置为通过有效的基于消息的会话,启动和处理大量网络和其它数据备份或传送。
背景技术
对于数据企业和其它存储解决方案的增长的需求已经激起了在数据备份与管理工具方面的相应需求。公司、政府和科学组织等可能要求千兆字节或兆兆字节或者更多数据的可靠备份,用于档案或其它目的。尽管物理存储介质诸如存储区网络、光存储介质、廉价磁盘冗余阵列(RAID)和其它平台已经增加了可用于数据管理器可用的总档案容量,但有效地获得主机设备的大数据备份的能力却还没有同样地进步。
例如,网络管理员可能周期性地希望提取存储到诸如在局域网(LAN)上的服务器驱动器的网络存储器数据更新,并把那些数据传输到远地的安全后备储藏库。然而,使用当前技术来计划和执行那种类型的大量数据传输不总是有效的。例如,在将LAN数据存储到远地的情况下,管理员可能尝试使用常规的网络协议诸如传输控制协议(TCP)移动那个数据量。
然而,TCP作为一个传输解决方案可证明是一个难以满足将数据备份传送到远程主机的运载工具,部分地因为TCP倾向于将数据分解成相当小的信息包,大约几十个字节至几千个字节。当尝试驱动千兆字节的原始或更新数据至远程主机时,那个规模将不满足有效传输的需要。而且,当在信道上执行数据流控制,TCP可能暂停以在小至几千字节信道上寻找可用带宽或容量,停止和填充管道中可用的空间,并且接着等待辅助的开时隙(open slot)。再者,在使用TCP API的粒度时,在那个规模上通过间歇信道推送大约兆字节、千兆字节或更多的数据是没有效率的。所希望的是更好的大量和其它数据备份技术。存在其它问题。
发明概述
克服本领域中这些和其它问题的本发明,涉及用于基于消息的可伸缩的数据传输的系统和方法的一个方面,其中一个或多个独立的服务器或其它节点将数据备份和其它信息通过通信引擎传送至远程存储器主机。在实施例中,通信引擎可与基础传输层接口,诸如TCP或其它协议,并且作为从节点至远程存储器的数据流的媒介。通信引擎可将等待传输的数据分解成一组消息对象,将它们在集束进入建立的数据管道的连接上缓冲输出。把数据封装到基本消息对象,允许更连续传递数据有效负载,因为例如与表现为定期而不断被迫停止(stop-and-go)或“聊天”类型行为的纯TCP传输相比,只要连接没有被占用和清除,消息就继续。在实施例中,一个始发会话可通过多于一个连接传输数据,以最大化信道使用。通信引擎可执行通信量控制,基于完成端口的轮询以表示消息完成,或者其它信道机制,但通常不要求独立的信息包或其它比较小的数据对象的确认。通过本发明的平台和协议可达到高吞吐量。
附图说明
图1例示按照本发明的实施例用于处理数据备份或其它传送的整个网络布局的例子。
图2例示按照本发明的实施例用于基于消息的数据传送的结构。
图3例示按照本发明的实施例用于基于消息的数据传送的状态图。
图4例示按照本发明的实施例基于消息的数据传送及相关联的协议的流程图。
详细说明
图1例示一个结构,在该结构中,按照本发明的实施例,用于基于消息的可伸缩的数据传输的系统和方法可运行。如在图中所示,在实施例中一组数据源102可通过网络104彼此通信和与远程资源通信。在实施例中,数据源102的组可包括,例如具有硬盘的独立的服务器、客户机或者具有磁盘、磁带、光或其它存储媒体的其它节点或贵重器材(asset)。在实施例中,网络104可能是或者包括局域网(LAN)诸如以太网、广域网(WAN)或其它网络类型或拓扑结构。在另外的实施例中,网络104可以是或者包括为了数据备份的专用网络、周期性地用于实现数据传输的共享网络、因特网或者其它网络或设备。然而,通常在数据源组102中的一个或多个数据源可能具有在周期的或其它基础上并且以相当大的量整体地或部分地备份数据的要求。
如所示的,当产生数据备份或其它数据传送时,在实施例中,由数据源组102中的一个或多个数据源传输的数据被传送至存储服务器106,它接着将数据传送至存储器108。在实施例中,存储器108可以是或者包括硬盘资源诸如RAID库、光盘介质诸如可写CD-ROM或DVD-ROM或其它、磁带驱动器、电子存储容量诸如随机存取存储器、闪存或其它电子组件、或其它存储介质。在实施例中,存储器108也可以是或者包括或者接口到数据存储资源,诸如存储区网络(storage area network)(SAN)或其它贵重器材。在实施例中,存储器108可装备成接受和存储较大数量的数据备份,例如用于企业和其它目的的兆字节、千兆字节或更多。
如图2所示,按照本发明的一个实施例,在数据源组102内的每一个源可与通信引擎110通信,以启动、管理和完成对数据服务器106或其它远程或本地目的地的数据传输会话。通信引擎110可包括或接口到应用编程接口(API)112,它向数据源组102揭示变量、调用和其它接口参数以执行有效的数据传送。在如所示的实施例中,在数据源组102中的每个数据源可产生或与会话组114内的相应会话相关联。会话组104可包括输入/输出缓冲器116队列,其中一个或多个输入/输出缓冲器被分配给每个会话。会话、队列、缓冲器和其它资源的其它布局是有可能的。在实施例中可从会话对象类实例化一个新会话的示例性代码的例子如下:
表1
其它代码、语言或模块或不同API是可能的。
如所示的,在会话组114中的每个会话可依次与分派模块组118中的分派模块通信。分派模块组118自己可将连接联编于连接组120中的一个或多个。在实施例中,连接组120(它可能是一个或多个)可使用多个可能的基础通信机制,如通过Winsock、管道或其它的TCP。聚合到逻辑管道122的连接组120中每个连接可与存储服务器106或者其它远程或本地主机或资源通信。在实施例中,管道122可在那个结构内建立连接组120之前建立,但其它设置阶段和配置是可能的。在实施例中,本发明可在一个或多个管道中支持或使用大量连接,例如大约1000个同时发生的连接,或者更多或者更少,取决于实现。
如所示的,存储服务器106可包含目的地输入/输出队列124,以缓冲对存储服务器106或其它最终目的地流入和流出的消息通信量。更具体地说,在固定的、周期性的、选择的或其它时间,在数据源组102中的一个或多个源可通过通信引擎110和相关联的资源启动向存储服务器106的数据传送。数据传送可以是或者包括,例如服务器硬盘或其它存储器的备份,大量科学或商业数据的捕获,或者其它数据传输任务。通信引擎110可将来自源组102中的一个或多个源的驻留数据分解成一组消息对象,用于更有效的排队和传送。
如所示的,在会话组114中例示为会话A的会话可产生两个消息,标注为消息1和消息2,用于传送至存储服务器106。在实施例中那些和其它消息在大小上可能大约许多兆字节,或更大或更小。同样,所例示的会话B已经产生标注为消息3的消息用于传输至存储服务器106。会话C例示为在输入侧上接收的标注为消息4的消息。
在分派模块组118中的分派模块可将来自输入/输出缓冲器116组的多个消息流联编(bind)到连接组120的一个或多个连接,并将不同会话的多路消息联编进入相同的连接管道。如所示的,标注为D1的分派模块将通信量从包括消息1和消息2的会话A传送至连接1,而分派模块D2将至和从会话B与用于连接至连接2的会话的消息流组合起来。其它组合是可能的。如所示的,与会话组114交互的通信引擎110和分派器组118及其其它资源可尝试通过管道122的连接组120驱动最大可能数量的挂起消息,以实现对存储服务器106最大可能利用可用的带宽。在实施例中,在会话组114中各个的会话可为不同的消息或消息组指定不同类型的网络连接,诸如端口、套接字(socket)或其它参数。
在数据源组102中的每个数据源,以及在连接组120中的各个连接和在至存储服务器106的传输链中的其它链路,可具有不同的可用带宽或其它传输特性。输入/输出116的队列和其它传输资源一起,允许缓冲行为以适应在那个链中最慢的链路或多个链路,并且改变在服务器和接收器两侧上的通信量的特性,同时最大可能利用地驱动数据传输。例如,通信引擎110可连续地或周期性地扫描连接组120以确定它们是由流出或流入的消息流占用。
在实施例中,可使用在Microsoft WindowsTM系的操作系统下可用的完成端口设备(completion port facility)进行那些探查或扫描,据此GetQueuedCompletionStatus和其它命令可返回表示某一消息从队列中离开或不离开的消息。由于通信引擎110、分派器组118和其它资源可依赖于作为数据传送的基本单元的消息对象,在实施例中本发明的整个操作可针对快速大量传送,因为不存在来源于如在纯TCP传输模式中的单独数据块的处理的定期而不断被迫停止效应。相反,按照本发明,可产生相当大量的消息,进入在输入/输出缓冲器106的队列中队列,并释放至存储服务器106或其它目的地以进行传输。
在实施例中,在会话组114中的每个会话或通信引擎110可等待补充队列,直到会话自身确定消息对象的传输完成。因为确认那种状态的工作属于传输器侧,所以没有来自接收器端的反馈回路,并且避免了那种类型的开销成本。会话组114可代之以等待来自输入/输出缓冲器116的队列的确认:在队列中的空间已经打开,准备下一个用于传输的消息。会话组114因而可不尝试重新补充队列,直到处理了所有消息单元为止。会话组114可包含暂停(timeout)功能,如果相应的输入/输出缓冲器在一固定时间段诸如1分钟内不确认消息的出发至连接组120,则从输入/输出缓冲器116的队列中移除消息。会话组114可使用一其它暂停或其它检查准则,诸如可变的延迟时间,在撤回消息或其它之前可进行的固定或可变数量的重复尝试或其它。
每个消息对象本身可通过连接组120中的连接使用TCD作为较低层协议来传送。其它协议是可能的。因为通信引擎110及其关联的基于消息的协议管理在较高层上的流控制,所以TCP数据报可在没有小量流控制、错误检测或其它处理的情况下流动,这些情况往往会减慢由本发明的实施例管理的那种类型的大量可伸缩的传送。
在实施例中,通信引擎110、API 112和其它资源可引入安全保护层以保护传输至存储服务器106或其它目的地的数据。例如,在会话组114中的每个会话或在连接组120中的每个连接,在被允许聚集到管道122之前可通过数字证书诸如Kerberos、X.509或其它对象、安全套接字层或其它机制来认证。各个消息本身可同样被加密以阻止中途截取或更改正在移到存储服务器106的数据。各种安全、加密或其它技术,诸如MicrosoftTM Security Support ProviderInterface(安全支持提供者接口)(SSPI),公共密钥诸如RSA标准,私人密钥诸如数字加密系统(Digital Encryption System)(DES)机制,或者其它可用于保护传输过程的消息内容或其它方面。在实施例中,认证、加密和有关信息可在API 112的层上揭示。
图3例示了一组状态机126,表示按照本发明的实施例的通信处理的连续状态。如在该图中所示,API 112可提供一个接口来调用通信资源以实现基于消息的数据传输,诸如服务器备份、大量数据获取诸如科学或商业数据的捕获。在实施例中,通过会话组114的消息传递是可靠的,这是对各个消息或者正在整体地传输或者排队用于重新传输来说。如所示的,可对多个目的地建立多个会话,例示性地会话1与目的地1相连接,会话2与目的地1相连接,和会话3与目的地3相连接。如所示的,会话1和会话2可在状态1和2之间循环,等待将相应的消息传输至目的地1的完成或者其它触发事件。与目的地1通信可通过用于会话1的连接1状态机,和用于会话2的连接2状态机。连接1和连接2的每一个可与相关联的加密和认证状态机通信,以防备消息对象的未经授权的观看或更改。连接1和连接2的每一个连接可同样与相应的套接字I/O(输入/输出)状态机通信,后者控制对相应的与目的地1的套接字1和套接字2连接的访问。会话3可与相似的状态机通信,后者处理对目的地3的传输、加密、认证和套接字连接的。在实施例中,各个消息的传输可以是异步的,因为按照信道占用和其它因素而不是按照定时的时隙排队和释放消息。在实施例中,各个连接和会话的创建同样可以是异步的。辅助的状态机和互连是可能的,并且其它状态有可能用于每个状态机或过程。
在图4中例示了整个数据传输处理。在步骤402,可产生在会话组114中的一个或多个会话。在步骤404,可从数据源组102中的一个数据源传输会话同步消息并且传输至存储服务器106的目的地输入/输出缓冲器124。在步骤406,可将用于会话同步的完成消息告知存储服务器106。在步骤408,存储服务器106可接受会话请求。
在步骤410,可将会话同步确认消息从存储服务器106的目的地输入/输出缓冲器124传输至用于请求数据源的输入/输出缓冲器组114中相应的输入/输出缓冲器。在步骤412,可将用于会话确认的完成消息告知数据源组102中的启动数据源。在步骤414,传输数据源可将表示为消息1的第一消息传输至输入/输出缓冲器组114中其相关联的输入/输出缓冲器。在步骤416,传输数据源可将表示为消息2的第二消息传输至输入/输出缓冲器组114中其相关联的数据源。在步骤418,传输数据源可将表示为消息3的第三消息传输至输入/输出缓冲器组114中其相关联的输入/输出缓冲器。在步骤420,数据源可接收一个出错消息,表示相应的输入/输出缓冲器满了,因此消息3没有被接受到队列中。在步骤422,消息1可传输至存储服务器106的目的地输入/输出缓冲器124。在步骤424,可将消息1传输的完成消息告知存储服务器106或其它目的地。在步骤426,可将确认消息1的收到的确认消息传输至那个消息的数据源的输入/输出缓冲器。在步骤428,可将消息1的完成消息传输至相应的数据源。
在步骤430,可将消息2传输至存储服务器106的目的地输入/输出缓冲器120或其它目的地。在步骤432,可将消息2的完成消息告知存储服务器106。在步骤434,可将消息3重新传输至相应于那个消息的数据源输入/输出缓冲器。在步骤436,可将表示收到具有零单位的窗口尺寸(WndSize)消息2的确认消息传输至用于那个消息的数据源的输入/输出缓冲器。在步骤438,可将消息2的完成消息告知那个源。在步骤440,可将消息4从数据源组102中的数据源传输至输入/输出缓冲器116队列中相应的输入/输出缓冲器。
在步骤442,接收消息1的客户机应用程序或其它资源从目的地输入/输出缓冲器124检索消息1。在步骤444,可将具有1单位的窗口尺寸消息2的确认消息传输至那个消息的源的相应的输入/输出缓冲器。在步骤446,可将消息3传输至存储服务器106的目的地输入/输出缓冲器124。在步骤448,处理可结束,重复或者返回至先前的处理点。
本发明的上述描述是例示性的,并且对于本领域的熟练技术人员在配置和实施方面将发生修改。例如,尽管在实施例中已通过经由一个至远程主机的通信链路与多个数据源进行通信来描述本发明,但在实施例中一个或多个节点或会话可通过独立的至远程主机或其它目的地的物理或逻辑链路来通信。
同样,尽管在实施例中已将本发明描述为把备份数据传输至单个远程主机,但在实施例中可将数据传递至单独的逻辑或物理主机或介质。描述为单数的其它硬件、软件或其它资源可分布在实施例中,并且同样在实施例中描述为分布的资源可被组合。因此本发明的范围定为只受所附的权利要求书限制。
Claims (30)
1.一种用于管理数据传输的系统,其特征在于,所述系统包括:
输入接口,以接收来自至少一个数据源的数据;
至传输层的传输接口;
与输入接口和传输接口通信的通信引擎,用于将所述数据封装到一个或多个消息对象并使各个数据源与至少一个相应会话相关联,其中所述通信引擎与基础传输层接口,并且所述一个或多个消息对象在经由传输层传输至远程目的地之前缓冲;以及
分派模块,用于将所述相应会话联编到一个或多个连接,其中所述分派模块在所述传输层上没有小量流控制的情况下管理消息对象层上一个或多个消息对象的传输。
2.如权利要求1所述的系统,其特征在于,至少一个数据源包括网络。
3.如权利要求2所述的系统,其特征在于,所述网络包括至少一个服务器。
4.如权利要求3所述的系统,其特征在于,所述网络包括局域网。
5.如权利要求1所述的系统,其特征在于,所述传输层包括传输控制协议层。
6.如权利要求1所述的系统,其特征在于,所述远程目的地包括存储器主机。
7.如权利要求1所述的系统,其特征在于,所述通信引擎在至少一个输出缓冲器中排队消息对象。
8.如权利要求1所述的系统,其特征在于,所述至少一个数据源包括多个数据源。
9.如权利要求8所述的系统,其特征在于,所述分派模块将多于一个会话联编到至远程目的地的连接中的至少一个连接。
10.如权利要求1所述的系统,其特征在于,按照消息完成端口的状态至少部分地执行消息对象的缓冲。
11.一种用于通过与基础传输层接口来管理数据的传输的方法,其特征在于,所述方法包括:
从至少一个数据源接收数据;
将数据转换成多个消息对象;
使各个数据源与至少一个相应会话相关联;
在经由传输层传输至远程目的地之前缓冲所述多个消息对象;
在所述传输层上没有小量流控制的情况下控制消息对象层上一个或多个消息对象的传输;以及
将至少一个会话联编到多个至远程目的地的连接中的至少一个连接。
12.如权利要求11所述的方法,其特征在于,所述至少一个数据源包括网络。
13.如权利要求12所述的方法,其特征在于,所述网络包括至少一个服务器。
14.如权利要求13所述的方法,其特征在于,所述网络包括局域网。
15.如权利要求11所述的方法,其特征在于,所述传输层包括传输控制协议层。
16.如权利要求11所述的方法,其特征在于,所述远程目的地包括存储器主机。
17.如权利要求11所述的方法,其特征在于,所述缓冲消息对象的步骤包括在至少一个输出缓冲器中排队消息对象的步骤。
18.如权利要求11所述的方法,其特征在于,所述至少一个数据源包括多个数据源。
19.如权利要求11所述的方法,其特征在于,所述联编步骤包括将多于一个会话联编到至远程目的地的连接中的至少一个连接的步骤。
20.如权利要求11所述的方法,其特征在于,按照消息完成端口的状态至少部分地执行缓冲消息对象的步骤。
21.一种采用数据库并通过与基础传输层接口来管理数据的方法,其特征在于,所述方法包括:
从至少一个数据源接收数据;
将数据转换成多个消息对象;
使各个数据源与至少一个相应会话相关联;
在经由传输层传输至数据库之前缓冲所述多个消息对象;
在所述传输层上没有小量流控制的情况下控制消息对象层上一个或多个消息对象的传输;以及
将至少一个会话联编到多个至远程目的地的连接中的至少一个连接。
22.如权利要求21所述的方法,其特征在于,所述至少一个数据源包括网络。
23.如权利要求22所述的方法,其特征在于,所述网络包括至少一个服务器。
24.如权利要求23所述的方法,其特征在于,所述网络包括局域网。
25.如权利要求21所述的方法,其特征在于,所述传输层包括传输控制协议层。
26.如权利要求21所述的方法,其特征在于,所述数据库包括存储器主机。
27.如权利要求21所述的方法,其特征在于,所述缓冲消息对象的步骤包括在至少一个输出缓冲器中排队消息对象的步骤。
28.如权利要求21所述的方法,其特征在于,所述至少一个数据源包括多个数据源。
29.如权利要求21所述的方法,其特征在于,所述联编步骤包括将多于一个会话联编到至远程目的地的连接中的至少一个连接的步骤。
30.如权利要求21所述的方法,其特征在于,按照消息完成端口的状态至少部分地执行缓冲消息对象的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/608,192 | 2003-06-30 | ||
US10/608,192 US7693998B2 (en) | 2003-06-30 | 2003-06-30 | System and method for message-based scalable data transport |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1578280A CN1578280A (zh) | 2005-02-09 |
CN100593306C true CN100593306C (zh) | 2010-03-03 |
Family
ID=33435360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410063322A Expired - Lifetime CN100593306C (zh) | 2003-06-30 | 2004-06-29 | 用于基于消息的可伸缩的数据传输的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7693998B2 (zh) |
EP (1) | EP1494424B1 (zh) |
JP (1) | JP2005025758A (zh) |
KR (1) | KR20050002604A (zh) |
CN (1) | CN100593306C (zh) |
AT (1) | ATE390789T1 (zh) |
DE (1) | DE602004012660T2 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720973B2 (en) * | 2003-06-30 | 2010-05-18 | Microsoft Corporation | Message-based scalable data transport protocol |
US7693998B2 (en) | 2003-06-30 | 2010-04-06 | Microsoft Corporation | System and method for message-based scalable data transport |
US20050086384A1 (en) * | 2003-09-04 | 2005-04-21 | Johannes Ernst | System and method for replicating, integrating and synchronizing distributed information |
US8090837B2 (en) | 2004-05-27 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Communication in multiprocessor using proxy sockets |
EP1653350B1 (en) | 2004-10-27 | 2008-10-08 | Sap Ag | Method and computer system for effecting a preliminary software service in a productive system of a software system landscape |
DE602004015295D1 (de) * | 2004-10-27 | 2008-09-04 | Sap Ag | Rechnersystem und Verfahren zum Bewirken von Softwarewartung in einer Softwaresystemlandschaft |
DE602004006630T2 (de) | 2004-10-27 | 2008-01-17 | Sap Ag | Verfahren zur Durchführung eines Softwaredienstes in einer Systemlandschaft |
EP1653317A1 (en) * | 2004-10-27 | 2006-05-03 | Sap Ag | Method and system for setting change options of software systems |
EP1653348A1 (en) * | 2004-10-27 | 2006-05-03 | Sap Ag | Method for tracking transport requests and computer system with trackable transport requests |
DE602004014622D1 (de) * | 2004-10-27 | 2008-08-07 | Sap Ag | Rechnersystem und Verfahren zum Bewirken von Veränderungen in einer Softwaresystemlandschaft |
ATE400844T1 (de) * | 2004-10-27 | 2008-07-15 | Sap Ag | Verfahren und system zur generierung eines transportweges durch eine softwaresystemlandschaft |
US8316129B2 (en) * | 2005-05-25 | 2012-11-20 | Microsoft Corporation | Data communication coordination with sequence numbers |
US7747894B2 (en) * | 2005-06-06 | 2010-06-29 | Microsoft Corporation | Transport-neutral in-order delivery in a distributed system |
US7913264B2 (en) * | 2007-02-22 | 2011-03-22 | Amadeus Sas | Remote customisation module and system comprising said module |
US8626927B2 (en) * | 2010-05-06 | 2014-01-07 | Verizon Patent And Licensing Inc. | System for and method of distributing files |
US9331955B2 (en) | 2011-06-29 | 2016-05-03 | Microsoft Technology Licensing, Llc | Transporting operations of arbitrary size over remote direct memory access |
US8856582B2 (en) | 2011-06-30 | 2014-10-07 | Microsoft Corporation | Transparent failover |
US20130067095A1 (en) | 2011-09-09 | 2013-03-14 | Microsoft Corporation | Smb2 scaleout |
US9606245B1 (en) | 2015-03-24 | 2017-03-28 | The Research Foundation For The State University Of New York | Autonomous gamma, X-ray, and particle detector |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758184A (en) | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
JP3711156B2 (ja) * | 1995-05-11 | 2005-10-26 | Kddi株式会社 | ファイル転送方法 |
JPH08314821A (ja) * | 1995-05-22 | 1996-11-29 | Canon Inc | データ転送方法 |
US5956509A (en) | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US6298386B1 (en) | 1996-08-14 | 2001-10-02 | Emc Corporation | Network file server having a message collector queue for connection and connectionless oriented protocols |
JPH11242640A (ja) * | 1998-02-25 | 1999-09-07 | Kdd Corp | ファイル転送方法 |
JPH11249978A (ja) * | 1998-03-04 | 1999-09-17 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法および装置 |
AU5286400A (en) * | 1999-05-24 | 2000-12-12 | Adaptec, Inc. | Congestion management in distributed computer system |
US6978464B1 (en) * | 1999-10-07 | 2005-12-20 | Sprint Communications Company L.P. | Communicating between a process and a destination |
US6662213B1 (en) * | 2000-01-10 | 2003-12-09 | Sun Microsystems, Inc. | System and method for ensuring delivery of a single communication between nodes |
US6611879B1 (en) * | 2000-04-28 | 2003-08-26 | Emc Corporation | Data storage system having separate data transfer section and message network with trace buffer |
AU2001271609A1 (en) | 2000-06-30 | 2002-01-14 | Kanad Ghose | System and method for fast, reliable byte stream transport |
US7219346B2 (en) | 2000-12-05 | 2007-05-15 | Microsoft Corporation | System and method for implementing a client side HTTP stack |
US6662281B2 (en) * | 2001-01-31 | 2003-12-09 | Hewlett-Packard Development Company, L.P. | Redundant backup device |
GB2394095A (en) | 2001-05-31 | 2004-04-14 | Espeed Inc | Securities trading system with multiple levels-of-interest |
US20030079121A1 (en) | 2001-10-19 | 2003-04-24 | Applied Materials, Inc. | Secure end-to-end communication over a public network from a computer inside a first private network to a server at a second private network |
JP2003152776A (ja) * | 2001-11-14 | 2003-05-23 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法および装置 |
US6857053B2 (en) * | 2002-04-10 | 2005-02-15 | International Business Machines Corporation | Method, system, and program for backing up objects by creating groups of objects |
US7693998B2 (en) | 2003-06-30 | 2010-04-06 | Microsoft Corporation | System and method for message-based scalable data transport |
US7720973B2 (en) | 2003-06-30 | 2010-05-18 | Microsoft Corporation | Message-based scalable data transport protocol |
-
2003
- 2003-06-30 US US10/608,192 patent/US7693998B2/en active Active
-
2004
- 2004-06-04 AT AT04102523T patent/ATE390789T1/de not_active IP Right Cessation
- 2004-06-04 DE DE602004012660T patent/DE602004012660T2/de not_active Expired - Lifetime
- 2004-06-04 EP EP04102523A patent/EP1494424B1/en not_active Expired - Lifetime
- 2004-06-29 CN CN200410063322A patent/CN100593306C/zh not_active Expired - Lifetime
- 2004-06-29 KR KR1020040049368A patent/KR20050002604A/ko active Search and Examination
- 2004-06-30 JP JP2004194756A patent/JP2005025758A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20050002604A (ko) | 2005-01-07 |
DE602004012660T2 (de) | 2009-06-18 |
DE602004012660D1 (de) | 2008-05-08 |
US20040267935A1 (en) | 2004-12-30 |
ATE390789T1 (de) | 2008-04-15 |
US7693998B2 (en) | 2010-04-06 |
CN1578280A (zh) | 2005-02-09 |
EP1494424B1 (en) | 2008-03-26 |
EP1494424A1 (en) | 2005-01-05 |
JP2005025758A (ja) | 2005-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100593306C (zh) | 用于基于消息的可伸缩的数据传输的系统和方法 | |
US7363343B2 (en) | Computer networks for providing peer to peer remote data storage and collaboration | |
US20100185586A1 (en) | Message-based scalable data transport protocol | |
CN101535948B (zh) | 保护分布式应用程序信息传递 | |
US9071574B1 (en) | Access and control system for network-enabled devices | |
US6799197B1 (en) | Secure method and system for using a public network or email to administer to software on a plurality of client computers | |
CN102201977B (zh) | 批量数据传输 | |
CN101379755B (zh) | 数字对象标题鉴权 | |
US7555558B1 (en) | Method and system for fault-tolerant transfer of files across a network | |
EP2562980A1 (en) | Method and apparatus for secure communications and resource sharing between anonymous non-trusting parties with no central administration | |
WO2004075012A2 (en) | System and method for simplified secure universal access and control of remote network electronic resources | |
CN1816014A (zh) | 用于通过网络通信相关消息的排队会话 | |
WO2013170374A1 (en) | Event-triggered release through third party of pre-encrypted digital data from data owner to data assignee | |
US8144686B2 (en) | Method and systems for bandwidth scheduling and path computation for connection-oriented networks | |
US6687700B1 (en) | Communications system for supporting inter-dependent data messages | |
US20030007645A1 (en) | Method and system for allowing a sender to send an encrypted message to a recipient from any data terminal | |
Galvao | Feasible quantum communication complexity protocol | |
EP3849144A2 (en) | Network architecture with fixed routing | |
US20080256356A1 (en) | Secure media broadcasting using temporal access control | |
Bassi et al. | The logistical backbone: Scalable infrastructure for global data grids | |
JP2003509926A (ja) | ネットワークを介するトランザクションをセキュアにするためのシステムおよび方法 | |
CN112994879A (zh) | 一种用于联盟链的数据落盘加密方法 | |
JPWO2021009390A5 (zh) | ||
Adalier et al. | Cross-domain Autonomous Communication Protocol for Delay Tolerant Networks | |
EP1334433B1 (en) | Communications system for supporting inter-dependent data messages |
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: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
CX01 | Expiry of patent term |
Granted publication date: 20100303 |