CN102369691A - 智能路由 - Google Patents

智能路由 Download PDF

Info

Publication number
CN102369691A
CN102369691A CN2010800158034A CN201080015803A CN102369691A CN 102369691 A CN102369691 A CN 102369691A CN 2010800158034 A CN2010800158034 A CN 2010800158034A CN 201080015803 A CN201080015803 A CN 201080015803A CN 102369691 A CN102369691 A CN 102369691A
Authority
CN
China
Prior art keywords
module
computer
router
server module
transmission
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
CN2010800158034A
Other languages
English (en)
Other versions
CN102369691B (zh
Inventor
B·列夫
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 CN102369691A publication Critical patent/CN102369691A/zh
Application granted granted Critical
Publication of CN102369691B publication Critical patent/CN102369691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

路由器模块接收客户机请求。响应于接收请求,路由器模块获取要履行该请求的服务器模块的网络地址。路由器模块然后判断它是否在与服务器模块相同的物理计算机上执行。如果路由器模块确定服务器模块不在相同物理计算机上执行,则路由器模块利用标准网络传输将客户机请求转发到服务器模块。如果路由器模块确定服务器模块正在相同计算机上执行,则路由器模块使用优化传输,诸如优化的仅本地机传输,将客户机请求转发到服务器模块。

Description

智能路由
背景技术
在许多类型的客户机服务器体系结构中,对客户机作出的请求执行一种形式的路由直到它到达了履行请求的服务器为止。这种类型的路由可因许多原因发生,诸如在一组服务器计算机之间进行负载平衡、向某类客户机提供更高质量的服务等。
在某些情况中,执行路由的服务器和履行客户机请求的服务器是相同物理服务器。在这些情况中,服务器通常通过网络路由客户机请求,并将客户机请求路由回相同物理服务器以便处理。这种类型的路由可能会是低效的。
此处所做出的本公开正是对于这些和其他考虑事项而提出的。
发明内容
此处描述了用于智能路由的技术。具体地,通过实现此处提供的概念和技术,如果进行履行的服务器和路由器位于相同物理计算机系统上,则利用优化传输将客户机请求从路由器带往服务器并带回响应。例如,优化传输可以是仅本地机传输,它不要求客户机请求通过网络被路由。相反,仅本地机传输提供了在不使用网络栈的情况下路由客户机请求的优化机制。
根据一个实施例,路由器模块接收客户机请求。响应于接收这样的请求,路由器模块获取要履行请求的服务器模块的网络地址。例如,路由器模块可查询负载平衡器来获取服务器模块的网络地址。路由器模块然后基于服务器模块的网络地址来判断它是否正在与服务器模块相同的物理计算机上执行。在一个实现中,路由器模块将服务器模块的网络地址与其上执行路由器模块的服务器响应的网络地址列表进行比较以作出这种判断。
如果路由器模块确定服务器模块不在相同物理计算机上执行,则路由器模块利用标准网络传输,诸如传输控制协议/网际协议(“TCP/IP”)、超文本传输协议(“HTTP”)或另一类型的传输将客户机请求转发到服务器模块。如果路由器模块确定服务器模块正在相同计算机上执行,则路由器模块使用优化传输将客户机请求转发到服务器模块。例如,在一个特定实现中,优化传输可包括利用二进制编码的传输,诸如TCP传输。根据另一实现,优化传输包括优化的仅本地机传输,诸如命名管道绑定,以便在不使用网络栈的情况下启用路由器模块与服务器模块之间的通信。优化传输也用于将来自服务器模块的响应传输给服务器模块。
应当理解,上述主题也可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图说明
图1是示出用于此处呈现的各个实施例的一个说明性操作环境的网络图;
图2是示出此处呈现的用于优化路由的一个实施例的各方面的网络图;
图3是示出此处呈现的一个实施例中用于客户机请求的优化路由的一个说明性过程的流程图;以及
图4是示出能够实现本文所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
具体实施方式
以下详细描述针对用于优化路由的技术。尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中呈现了此处描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施此处描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在下面的详细描述中,将参考构成本发明的一部分的附图,并且在附图中作为说明示出了各具体实施例或示例。现在参考附图,其中全部若干附图中相同的标号表示相同的元素,将提供用于优化路由的计算系统和方法的各方面。
现在转向图1,将提供关于此处呈现的各实施例的说明性操作环境的细节。具体而言,图1示出形成用于此处呈现的各个实施例的说明性操作环境的系统100的各方面。如图1中所示,客户机计算机104经由网络106连接至一个或多个服务器计算机102A-102B。应理解,诸如网络106等此处所讨论的网络仅是说明性的,且可在此处呈现的技术的实际实现中利用更多或更少的网络。而且,还应理解,尽管在图1中示出了单个网络106,可在此处呈现的各个实施例中利用多于所示的网络。而且,应理解网络106可例如横跨因特网。例如,客户机104可位于一块大陆上而服务器102A-102B可位于另一大陆上。
还应理解,客户机服务器104可包括能够生成对服务器计算机的请求的任何类型的计算系统。例如,客户机计算机104可包括标准台式或膝上型计算机系统、服务器计算机、手持计算系统、机顶盒或具有数据能力的无线移动电话。
如图1所示,服务器计算机102A-102B中的每一个可分别配备路由器模块108A-108B以及服务器模块110A-110B。路由器模块108A-108B包括从客户机计算机104接收请求的软件程序。路由器模块108A-109B也提供用于将从客户机计算机104接收的请求路由到合适的服务器模块110A-110B进行处理的功能。来自相应的服务器模块110A-110B的响应被返回到曾将原始请求转发到服务器模块的路由器模块108A-108B。路由器模块然后将响应转发到客户机计算机104。应理解,服务器模块110A-110B包括被配置成接收和响应请求的软件组件。例如,服务器模块110A-110B可包括Web服务器程序、Web服务和其它类型的服务器组件。
为了确定从客户机计算机104接收的客户机请求要路由到服务器模块110A-110B中的哪一个,路由器模块108A-108B被配置成利用负载平衡器112的服务。负载平衡器是被配置成标识用于履行来自客户机计算机104的请求的服务器模块110A-110B之一的软件或硬件组件。应理解,负载平衡器112可利用各种算法来标识合适的服务器模块110A-110B,包括但不限于:服务器计算机102A-102B的当前处理负载、向某类客户机计算机104提供更高质量的服务以及其它因素。应理解,此处呈现的实施例不依赖于负载平衡器112用来标识应履行特定客户机请求的服务器模块110A-110B的任何特定机制。
当由路由器模块108A-108B之一从客户机计算机104接收请求时,接收请求的路由器模块针对要履行客户机请求的服务器模块110A-110B的网络地址查询负载平衡器112。一旦路由器模块108A-108B有了用于履行请求的服务器模块110A-110B的网络地址,路由器模块就将客户机请求转发给合适的服务器模块110A-110B。例如,如果指示路由器模块108A将客户机请求转发给服务器模块110B,则通过合适的网络连接建立与服务器模块110B的网络连接114B。类似地,如果指示路由器108B将客户机请求转发给服务器模块110A,则经由网络连接114D转发客户机请求。同样地,如果指示路由器模块108A将请求转发给服务器模块110A,则为该客户机请求在路由器模块与服务器模块110A之间建立网络连接114A。类似地,如果指示路由器模块108B将客户机请求转发给服务器模块110B,则在路由器模块108B与服务器模块110B之间建立网络连接114C并在其上转发客户机请求。来自合适的服务器模块110A-110B的响应也经由相同的网络连接返回给路由器模块108A-108B。
在图1所示的示例中,在路由器模块108A和服务器模块110A之间建立网络连接114A,即使这些组件在相同服务器计算机102A上执行。类似地,在路由器模块108B和服务器模块110B之间建立网络连接114C,即使这些组件在相同物理服务器计算机102B上执行。以这种方式建立网络连接114A和114C是非常低效的。以下参考图2-4描述解决这一特定路由场景的各种概念和技术。
现在转向图2,将描述在路由器模块108A与服务器模块110A之间提供优化路由的说明性系统200的各方面。在图2所示的系统200中,路由器模块108A被配置成,当路由器模块108A与服务器模块110A在相同物理服务器计算机102A上执行时,创建到服务器模块110A的优化路由。关于该过程的附加细节将在以下提供。
如图2所示,路由器模块108A可从客户机计算机104接收客户机请求202。响应于接收客户机请求202,路由器模块108A为了要履行客户机请求202的服务器模块110A-110B的网络地址而将请求204发送给负载平衡器112。响应于接收请求204,负载平衡器112返回要履行客户机请求202的服务器模块110A-110B的目标地址206。
当路由器模块108A从负载平衡器112接收目标地址206时,路由器模块108A判断要履行客户机请求202的服务器模块是否在与路由器模块108A相同的物理计算机102A上执行。例如,在一个实现中,路由器模块108A通过将目标地址206与服务器计算机102A响应的网络地址208的列表进行比较来作出这种判断。如果在网络地址208的列表中标识了该目标地址,则路由器模块108A得出服务器模块110A正在相同物理服务器计算机102A上执行的结论。如果该目标地址未被包含在网络地址208的列表中,则路由器模块108A得出要履行客户机请求202的服务器模块在另一物理计算机(诸如服务器计算机102B)上执行的结论。
如果路由器模块108A得出要履行客户机请求202的服务器模块在另一物理服务器计算机(诸如服务器模块110B)上执行的结论,则路由器模块108A经由标准网络传输212将客户机请求202转发给服务器模块110B。例如,可利用TCP/IP传输机制来将客户机请求202转发给合适的服务器模块110B,并将对客户机请求202的响应返回给路由器模块108A。
然而,如果路由器模块108A确定要履行客户机请求202的服务器模块在相同物理服务器计算机102A上执行,则路由器模块108A经由优化传输210将客户机请求202转发给服务器模块110A。根据一个实施例,优化传输210包括利用二进制编码的TCP传输。
在替换实施例中,优化传输210包括优化的仅本地机传输。优化传输210是不利用网络栈的传输,且因此与其它类型的传输相比被高度优化了。例如,在一个实施例中,优化的仅本地机传输包括WINDOWS通信基础(“WCF”)命名管道绑定。命名管道绑定在服务器计算机102A上创建共享存储器区,路由器模块108A和服务器模块110A可通过该共享存储器区进行通信。应理解,尽管在此处所述的一个特定实现中利用了WCF命名管道绑定,当路由器模块108A与服务器模块110A在相同物理计算机上执行时,可利用本领域技术人员所知的其它类型的进程间通信机制来在这些组件之间创建传输。将在以下关于图3-4提供关于该过程的其他细节。
现在参考图3,将提供关于此处所呈现的用于优化路由的实施例的其它细节。具体地,图3是示出根据此处呈现的一个实施例的路由器模块108A-108B的操作的各方面的流程图。
应理解,此处所述的逻辑操作被实现为(1)一系列计算机实现的动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连的机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,可以选择不同的实现。因此,此处描述的逻辑操作被不同地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑以及它们的任何组合来实现。还应该明白,可以执行比附图中示出并在此处描述的操作更多或更少的操作。这些操作还可以按与此处所描述的不同的次序来执行。
路由器300开始于操作302,其中路由器模块108A检索服务器计算机102用于通信的网络地址的列表208。从操作302,例程300前进至操作304,其中路由器模块108A判断是否从计算机,诸如客户机计算机104,接收到客户机请求202。如果否,例程300返回至操作304,在那里进行另一个这样的判断。应理解,尽管图3所示的功能被示出在循环中执行,其它实施例可不利用循环机制。例如,在一个实现中,图3中所示的过程可在接收到客户机请求时启动。结果,不存在该过程在这样的实现中以图3中所示的方式循环的需要。
如果路由器模块108A接收客户机请求202,例程300前进至操作306。在操作306,路由器模块108A将请求204发送到负载平衡器112,以获取要履行客户机请求202的服务器模块110A-110B的目标地址206。一旦路由器模块108A接收了目标地址206,路由器模块108A就将目标地址206与网络地址列表208中包含的网络地址进行比较,以判断路由器模块108A与将履行客户机请求202的服务器模块110A-110B是否在相同物理计算机系统上执行。
如果路由器模块108和将履行客户机请求202的服务器模块110A-110B不在相同物理计算机上执行,例程300从操作310前进至操作312。在操作312,路由器模块108A利用标准网络传输212将客户机请求202转发到服务器模块,诸如服务器模块110B,并响应于客户机请求202从服务器模块110B接收响应。从操作312,例程300前进至如上所述的操作304,在那里以类似方式处理另一这样的客户机请求。
如果路由器模块108A确定要履行客户机请求202的服务器模块110A-110B的目标地址在相同物理服务器计算机上执行,则例程300从操作310前进至操作314。在操作314,路由器模块108A利用优化传输210将客户机请求202转发到将履行客户机请求202的服务器模块,诸如服务器模块110A,并接收对客户机请求202的响应。如上所述,在一个实施例中,优化传输210可包括利用二进制编码的传输。例如,优化传输210可包括TCP传输。或者,优化传输210可包括利用二进制编码的优化的仅本地机传输,诸如命名管道绑定。从操作314,例程300返回至如上所述的操作304,在那里可按照类似方式接收和处理另一客户机请求202。
图4示出了用于能够按照以上提供的方式执行此处所述的用于优化路由的软件组件的计算机400的说明性计算机体系结构。图4所示的计算机体系结构示出常规台式、膝上型或服务器计算机,并可以用来执行此处呈现的、被描述为在客户计算机104、服务器计算机102A-102B以及负载平衡器112上执行的软件组件的任何方面。
图4所示的计算机体系结构包括中央处理单元402(“CPU”)、包括随机存取存储器414(“RAM”)和只读存储器(“ROM”)416的系统存储器408、以及将存储器耦合至CPU 402的系统总线404。基本输入/输出系统被存储在ROM 416中,该系统包含帮助诸如在启动期间在计算机400中的元件之间传递信息的基本例程。计算机400还包括用于存储操作系统418、应用程序和其他程序模块的大容量存储设备410,这将在本文中更为详尽地描述。
大容量存储设备410通过连接至总线404的大容量存储控制器(未示出)连接到CPU 402。大容量存储设备410及其相关联的计算机可读介质为计算机400提供非易失性的存储。虽然对这里包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机400访问的任何可用计算机存储介质。
作为示例而非限制,计算机可读介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息或其他数据的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机400访问的任何其他介质。
根据各实施例,计算机400可以使用通过诸如网络420之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机400可以通过连接至总线404的网络接口单元406来连接到网络420。应当理解,网络接口单元406还可以被用来连接到其他类型的网络和远程计算机系统。计算机400还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器412,这些设备包括键盘、鼠标或者电子指示笔(未在图4中示出)。类似地,输入/输出控制器可以提供至显示屏、打印机或其他类型的输出设备(也未在图4中示出)的输出。
如前简述的那样,多个程序模块和数据文件可以存储在计算机400的大容量存储设备410和RAM 414内,包括适于控制联网的台式计算机、膝上型计算机或服务器计算机的操作的操作系统418。大容量存储设备410和RAM 414还可以存储一个或多个程序模块。具体地,大容量存储设备410和RAM 414可存储路由器模块108和服务器模块110,其每一个都在上文参考图1-3详细描述。大容量存储设备410和RAM 414还可存储其它类型的程序模块和数据。
应当理解,本文所描述的软件组件在被加载到CPU 402中并被执行时可以将CPU 402和总体计算机400从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 402可以用任意数量的晶体管或其他分离的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU402可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机操作。这些计算机可执行指令可以通过指定CPU 402如何在各状态之间转换来变换CPU 402,由此变换了构成CPU 402的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同的实现中,物理结构的具体变换可取决于各种因素。这些因素的示例包括但不限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主还是次级存储等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在其中编码了软件时变换磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他转换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在计算机400中发生许多类型的物理变换来存储并执行本文所提出的软件组件。还应当理解,计算机400可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可构想计算机400可以不包括图4所示的全部组件,可以包括未在图4中明确示出的其它组件,或者可利用完全不同于图4所示的体系结构。
基于上文,应当理解,本文提供了用于优化路由的技术。尽管用对计算机结构特征、方法和变换动作、特定计算机器和计算机可读介质专用的语言描述了本文所提出的主题,但可以理解,所附权利要求书中定义的本发明不必限于本文所述的具体特征、动作或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。

Claims (13)

1.一种用于将客户机请求(202)路由到服务器模块(110)的计算机实现的方法,所述计算机实现的方法包括用于以下的计算机实现的操作:
在路由器模块(108)处从客户机计算机(104)接收客户机请求(202);以及
响应于接收所述客户机请求(202),针对要履行所述客户机请求(202)的服务器模块(110)的目标网络地址(206)查询负载平衡器(112),将所述目标网络地址(206)与网络地址列表(208)中的一个或多个网络地址进行比较,以判断所述路由器模块(108)和所述要履行客户机请求(202)的服务器模块(110)是否在相同物理计算机上执行,响应于确定所述路由器模块(108)和所述服务器模块(110)在相同物理计算机上执行,经由利用二进制编码的优化传输(210)将所述客户机请求(202)从所述路由器模块(108)转发到所述服务器模块(110)。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述优化传输包括优化的仅本地机传输。
3.如权利要求2所述的计算机实现的方法,其特征在于,所述优化的仅本地机传输利用二进制编码。
4.如权利要求3所述的计算机实现的方法,其特征在于,所述优化的仅本地机传输包括命名管道绑定。
5.一种其上存储有计算机可执行指令的计算机可读介质,所述指令在由计算机执行时使得所述计算机执行如权利要求1所述的方法。
6.一种用于将客户机请求(202)路由到服务器模块(110)的系统,所述系统包括:
服务器模块(110),被配置成接收所述客户机请求(202)并对其作出响应;
路由器模块(108),被配置成接收所述客户机请求(202)并且,响应于接收所述客户机请求(202),来获取所述服务器模块(110)的网络地址,以判断所述服务器模块(110)是否在与所述路由器模块(108)相同的计算机上执行,并且响应于确定所述服务器模块(110)正在相同计算机上执行而利用优化传输(210)将所述请求(202)转发到所述服务器模块(110)。
7.如权利要求6所述的系统,其特征在于,还包括负载平衡器,且其中获取所述服务器模块的网络地址包括查询负载平衡器以获取服务器模块的网络地址。
8.如权利要求7所述的系统,其特征在于,所述路由器模块还被配置成响应于确定所述服务器模块不在相同计算机上执行而利用标准传输。
9.如权利要求8所述的系统,其特征在于,判断所述服务器模块是否在相同计算机上执行包括将从所述负载平衡器接收到的网络地址与执行所述路由器模块的计算机所响应的网络地址列表中的一个或多个网络地址进行比较,以判断所述服务器是否在相同计算机上执行。
10.如权利要求9所述的系统,其特征在于,所述优化传输包括传输控制协议(TCP)传输。
11.如权利要求9所述的系统,其特征在于,所述优化传输包括优化的仅本地机传输。
12.如权利要求11所述的系统,其特征在于,所述优化的仅本地机传输利用二进制编码。
13.如权利要求11所述的系统,其特征在于,所述优化的仅本地机传输包括命名管道绑定。
CN2010800158034A 2009-03-30 2010-03-26 智能路由 Active CN102369691B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/413,607 US8166200B2 (en) 2009-03-30 2009-03-30 Smart routing
US12/413,607 2009-03-30
PCT/US2010/028935 WO2010117689A2 (en) 2009-03-30 2010-03-26 Smart routing

Publications (2)

Publication Number Publication Date
CN102369691A true CN102369691A (zh) 2012-03-07
CN102369691B CN102369691B (zh) 2013-04-24

Family

ID=42785648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010800158034A Active CN102369691B (zh) 2009-03-30 2010-03-26 智能路由

Country Status (10)

Country Link
US (1) US8166200B2 (zh)
EP (1) EP2415213B1 (zh)
JP (1) JP2012522318A (zh)
KR (1) KR101671549B1 (zh)
CN (1) CN102369691B (zh)
BR (1) BRPI1008999A2 (zh)
CA (1) CA2753878C (zh)
RU (1) RU2520360C2 (zh)
SG (1) SG173821A1 (zh)
WO (1) WO2010117689A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9203704B2 (en) * 2011-08-22 2015-12-01 Verizon Patent And Licensing Inc. Discovering a server device, by a non-DLNA device, within a home network
CH705456A1 (de) * 2011-08-31 2013-03-15 Ferag Ag Computerisiertes Maschinensteuerungssystem.
US9183065B1 (en) * 2012-11-01 2015-11-10 Amazon Technologies, Inc. Providing access to an application programming interface through a named pipe
US10171612B2 (en) 2015-12-28 2019-01-01 Microsoft Technology Licensing, Llc Caching service with client-enabled routing
RU2692571C1 (ru) * 2018-01-10 2019-06-25 Акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Контроллер сетевого транспортного протокола
CN108664343B (zh) * 2018-05-09 2022-08-23 顺丰科技有限公司 一种微服务的有状态调用方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271705A1 (en) * 2000-03-16 2006-11-30 Garcia-Luna-Aceves J J System and method for discovering information objects and information object repositories in computer networks
US7480737B2 (en) * 2002-10-25 2009-01-20 International Business Machines Corporation Technique for addressing a cluster of network servers

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3361663B2 (ja) * 1994-10-03 2003-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信管理方法
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US6424992B2 (en) 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US20030069968A1 (en) 1998-10-01 2003-04-10 O'neil Kevin M. System for balancing loads among network servers
US6505254B1 (en) 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US6578068B1 (en) * 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
US6687735B1 (en) * 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
US7082476B1 (en) * 2000-05-24 2006-07-25 Cisco Technology, Inc. System and method of optimizing retrieval of network resources by identifying and substituting embedded symbolic host name references with network addresses in accordance with substitution policies
US7089293B2 (en) * 2000-11-02 2006-08-08 Sun Microsystems, Inc. Switching system method for discovering and accessing SCSI devices in response to query
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7043731B2 (en) 2001-07-12 2006-05-09 Qwest Communications International, Inc. Method and system for distributing access to group of objects based on round robin algorithm and only when the object is available
US6968389B1 (en) 2001-07-17 2005-11-22 Cisco Technology, Inc. System and method for qualifying requests in a network
US7290059B2 (en) * 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
US7117243B2 (en) 2001-10-02 2006-10-03 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
JP2003122732A (ja) * 2001-10-16 2003-04-25 Nec Corp 情報通信システム
US7047315B1 (en) 2002-03-19 2006-05-16 Cisco Technology, Inc. Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US20060048163A1 (en) * 2004-08-27 2006-03-02 Thierry Bessis Method for routing messages between servers located on the same board
US7921216B2 (en) * 2005-02-01 2011-04-05 Microsoft Corporation System and method for building and using communication binding objects
US20090027495A1 (en) 2007-07-25 2009-01-29 Stas Oskin Internet visual surveillance and management technology for telecommunications, Internet, cellular and other communications companies
US8046625B2 (en) * 2008-02-22 2011-10-25 Hill-Rom Services, Inc. Distributed fault tolerant architecture for a healthcare communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060271705A1 (en) * 2000-03-16 2006-11-30 Garcia-Luna-Aceves J J System and method for discovering information objects and information object repositories in computer networks
US7480737B2 (en) * 2002-10-25 2009-01-20 International Business Machines Corporation Technique for addressing a cluster of network servers

Also Published As

Publication number Publication date
US8166200B2 (en) 2012-04-24
CN102369691B (zh) 2013-04-24
WO2010117689A2 (en) 2010-10-14
CA2753878C (en) 2016-08-02
CA2753878A1 (en) 2010-10-14
RU2520360C2 (ru) 2014-06-20
BRPI1008999A2 (pt) 2016-03-22
SG173821A1 (en) 2011-09-29
EP2415213A2 (en) 2012-02-08
WO2010117689A3 (en) 2011-01-13
EP2415213A4 (en) 2015-07-01
JP2012522318A (ja) 2012-09-20
US20100250776A1 (en) 2010-09-30
EP2415213B1 (en) 2019-07-31
KR101671549B1 (ko) 2016-11-01
RU2011139714A (ru) 2013-04-20
KR20120004433A (ko) 2012-01-12

Similar Documents

Publication Publication Date Title
CN102369691B (zh) 智能路由
US20190132276A1 (en) Unified event processing for data/event exchanges with existing systems
CN102119512A (zh) 分布式负载平衡器
US20110131584A1 (en) The method and apparatus for the resource sharing between user devices in computer network
US9596127B2 (en) Scalable data feed system
CN101689169A (zh) 分布式操作系统中外部硬件装置的管理
US20160197997A1 (en) Method and system for transferring data between storage systems
Arustamov et al. Back up data transmission in real-time duplicated computer systems
KR20110065448A (ko) 메시지 처리 파이프라인 구성
CN105814553A (zh) 用于共享数据的社交驱动器
KR102553877B1 (ko) 디앱에서 요구하는 높은 트랜잭션 처리량을 효율적으로 블록체인에서 처리하기 위한 방법 및 시스템
US8990286B2 (en) Integration of web services with a clustered actor based model
EP3528112B1 (en) Management ecosystem of superdistributed hashes
US20090132582A1 (en) Processor-server hybrid system for processing data
US20170359440A1 (en) Resource management system
EP3364348A1 (en) A distributed, heterogeneous business process management process engine for the internet of everything
US20140108523A1 (en) Connection sharing across entities in a distributed messaging system
KR101146742B1 (ko) SaaS의 분산된 세션 관리 방법 및 그 관리 시스템
Lytra et al. A pattern language for service-based platform integration and adaptation
Saraf et al. A Review on Evolution of Architectures, Services, and Applications in Computing Towards Edge Computing
US11810163B1 (en) E-invoice customization system
US20180020064A1 (en) Optimizing client distance to network nodes
TW202422413A (zh) 用以管理人工智慧模型之方法及裝置
CN116436975A (zh) 应用于服务器集群的资源调用方法、装置、设备及介质
KR20220128154A (ko) Msa 기반의 로봇 관제 시스템 및 그 방법

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

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

Effective date of registration: 20150429

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.