CN105453058A - 目录服务发现和/或学习 - Google Patents

目录服务发现和/或学习 Download PDF

Info

Publication number
CN105453058A
CN105453058A CN201480040950.5A CN201480040950A CN105453058A CN 105453058 A CN105453058 A CN 105453058A CN 201480040950 A CN201480040950 A CN 201480040950A CN 105453058 A CN105453058 A CN 105453058A
Authority
CN
China
Prior art keywords
server node
client
programmed
permit holder
end subsystem
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
CN201480040950.5A
Other languages
English (en)
Other versions
CN105453058B (zh
Inventor
S.阿南萨拉姆
A.比斯沃斯
H.S.帕戴伊
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.)
Qindarui company
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105453058A publication Critical patent/CN105453058A/zh
Application granted granted Critical
Publication of CN105453058B publication Critical patent/CN105453058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在代表租用者(诸如覆盖租用者)需要使用目录服务的客户端子系统的情境中,通过以下步骤学习可以提供这样的目录服务的服务器节点的身份:(i)由客户端子系统向第一服务器节点发送用于第一租用者的目录服务的第一目录服务请求;(ii)由所述客户端子系统从第二服务器节点接收第一确认;以及(iii)由所述客户端子系统基于所述第一确认,学习到所述第二服务器节点能够提供用于所述第一租用者的目录服务。

Description

目录服务发现和/或学习
技术领域
本发明一般涉及目录服务领域,并且更具体地涉及目录服务发现和/或学习(learning)。
背景技术
目录服务是存储、组织“目录”中的信息和提供对“目录”中的信息的访问的软件系统。“目录”是将“名称”与“值”相关的映射。映射的相关性允许在给定名称的情况下查找值。与目录中的词可能具有多个定义的方式类似地,“名称”可与多个信息关联。为了扩展这种类比,因为目录中列出的词可交替地表示讲话的不同部分以及不同定义,所以“目录”中的“名称”可具有与其相关的多种不同类型的数据。
目录服务是NOS(网络操作系统)的重要组件。在网络操作系统(NOS)所使用的目录中,节点表示由NOS管理的资源。这些资源可以包括:用户、计算机、打印机、和/或其它共享资源。一些目录服务已经源自(descend)X.500目录服务。目录服务是用于定位、管理、支配和组织公共项目和网络资源的共享信息基础架构,其中,公共项目和网络资源可以包括:卷、文件夹、文件、打印机、用户、组、设备、电话号码和其它对象。本领域技术人员将理解,目录服务与“关系数据库”不同。
现在将解释使用目录服务的传统系统的示例作为引入这里使用的一些术语的方式。系统具有多个服务器节点,每个服务器节点提供目录服务。提供目录服务的这些多个服务器节点统称为“集群”。集群处理系统范围的所有集体租用者(tenant)。在此示例系统中:(i)存在两个租用者;(ii)两个租用者(公司A和公司B)是“覆盖租用者”;(iii)每个租用者具有其自己的私有“覆盖网络”;以及(iv)每个租用者的各自的覆盖网络对另一覆盖租用者不可见。“客户端”(当在此使用该术语时)提供覆盖网络连通性。例如,一种客户端是交换机,其提供到属于公司A和公司B两者的虚拟机(VM)和/或主机的连通性。
发明内容
根据本发明的一方面,提供一种方法,包括以下步骤:(i)由客户端子系统向第一服务器节点发送对用于第一租用者的目录服务的第一目录服务请求;(ii)由客户端子系统接收来自第二服务器节点的第一确认;以及(iii)由客户端子系统基于第一确认学习到第二服务器节点可以提供用于第一租用者的目录服务。
附图说明
图1是根据本发明的计算机系统(即,包括一个或多个处理设备的系统)的第一实施例的示意图;
图2是第一实施例计算机系统的客户端计算机子系统部分的示意图;
图3是示出至少部分地由第一实施例计算机系统执行的第一处理的流程图;
图4是示出至少部分地由第一实施例计算机系统执行的第二处理的流程图,其中该处理是在图3的学习处理不工作时可以使用的发现机制;
图5是由第一实施例计算机系统执行的软件程序的示意图;以及
图6是根据本发明的计算机系统(即,包括一个或多个处理设备的系统)的第二实施例的示意图。
具体实施方式
此“具体实施方式”部分被划分为以下子部分:(i)硬件和软件环境;(ii)本发明的实施例的操作;(iii)进一步的意见和/或实施例;以及(iv)定义。
I.硬件和软件环境
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java(注意:术语“Java”可能在全世界的不同司法管辖区中受到商标权保护,并且在此,在这些商标权存在的程度上,仅参考由该商标恰当命名的产品或服务而使用该术语)、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(articleofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
现在将参考附图详细描述根据本发明的用于软件和/或方法的可能硬件和软件环境的实施例。图1和图2共同组成图示计算机系统100的各个部分的功能框图,包括:端点(endpoint)实体101;客户端子系统102;管理子系统104;第一服务器节点106;第二服务器节点108;第三服务器节点110;第四服务器节点112;通信网络114;客户端计算机200;通信单元202;处理器集204;输入/输出(i/o)单元206;存储器设备208;持久存储设备210;显示设备212;外部设备集214;随机存取存储器(RAM)设备230;高速缓冲存储器设备232;以及程序240。在此实施例中,端点实体是虚拟机,但是,端点实体可以是现在已知的或未来要开发的用于充当网络通信端点的合适设备。
如图2中所示,客户端子系统102(包括其组成计算机200和外设)是普通的老的常规计算机子系统,并且在许多方面代表本发明中的各个计算机子系统。替代地并且如以下关于图6的实施例讨论的,客户端子系统可以主要包括诸如“交换机”的专用计算机。现在将在以下段落中讨论计算机子系统102的一些部分。
客户端子系统102可以是膝上型计算机,平板型计算机、上网本型计算机、个人计算机(PC)、桌上型计算机、个人数字助理(PDA)、智能电话、或任何能够经由网络114与管理子系统和服务器节点通信的可编程电子设备。程序240是用于创建、管理和控制下面将在“具体实施方式”部分的“实施例的操作”子部分中详细讨论的某些软件功能的机器可读指令和/或数据的集合。
客户端子系统102能够经由网络114与其它计算机子系统通信(见图1)。网络114可以是例如局域网(LAN)、诸如因特网的广域网(WAN)、或两者的组合,并且可以包括有线、无线或光纤连接。一般地,网络114可以是将支持服务器与客户端子系统之间的通信的连接和协议的任意组合。
应理解,图1和图2一起仅提供了一个实施方式(即,系统100)的图示,并且不暗示关于可以在其中实施不同实施例的环境的任何限制。可以进行对所描述的环境的许多修改,尤其是关于在云计算、分布式计算、更小的计算设备、网络通信等方面的当前的和预期未来的改进。
如图2中所示,客户端子系统102示出为具有许多双向箭头的框图。这些双向箭头(没有单独的标号)表示通信构造,其提供在子系统102的各个组件之间的通信。此通信构造可以以任意被设计用于在系统内的处理器(诸如,微处理器、通信和网络处理器等)、系统存储器、外围设备、和任意其它硬件组件之间传递数据和/或控制信息的架构来实施。例如,通信构造可以至少部分地以一个或多个总线来实施。
存储器208和持久存储设备210是计算机可读存储介质。一般地,存储器208可以包括任意合适的易失性或非易失性计算机可读存储介质。还应注意,现在和/或在不久的将来:(i)外部设备214可能能够提供用于子系统102的某些或全部存储器;以及/或者(ii)子系统102外部的设备可能能够提供用于子系统102的存储器。
程序240存储在持久存储设备210中,用以由各个计算机处理器204中的一个或多个通常通过存储器208的一个或多个存储器访问和/或执行。持久存储设备210:(i)至少比在途(intransit)信号更持久;(ii)将该设备存储在有形介质(诸如磁或光域)上;以及(iii)基本上不如永久存储设备持久。替代地,数据存储可比由持久存储设备210提供的存储类型更持久和/或永久。
程序240可以包括机器可读且可执行指令和/或实质性数据(即,数据库中存储的数据的类型)。在此特定实施例中,持久存储设备210包括磁硬盘驱动器。为了命名某些可能的变型,持久存储设备210可以包括固态硬盘驱动器、半导体存储设备、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存、或任何其它能够存储程序指令或数字信息的计算机可读存储介质。
持久存储设备210所使用的介质还可以是可移除的。例如,可移除硬盘驱动器可以用于持久存储设备210。其它示例包括光和磁盘、拇指驱动器、以及智能卡,它们被插入驱动器,以用于转移(transfer)到也作为持久存储设备210的部分的另一计算机可读存储介质上。
在这些示例中,通信单元202提供与子系统102外部的其它数据处理系统或设备(诸如,服务器节点(参见下面在“定义”子部分中的定义)106、108、110、112)的通信。在这些示例中,通信单元202包括一个或多个网络接口卡。通信单元202可通过使用物理和无线通信链路中的任一者或两者提供通信。可以通过通信单元(诸如通信单元202)将这里讨论的任何软件模块下载到持久存储设备(诸如,持久存储设备210)。
I/O接口206允许利用可以在数据通信中与服务器计算机200本地连接的其它设备输入和输出数据。例如,I/O接口206提供到外部设备集214的连接。外部设备集214将典型地包括诸如键盘、小键盘、触摸屏、和/或一些其它合适的输入设备的设备。外部设备集214还可以包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光或磁盘、和存储卡。用于实践本发明的实施例的软件和数据(例如,程序240)可以存储在这样的便携式计算机可读存储介质上。在这些实施例中,相关软件可以(或者,可以不)经由I/O接口集206全部或部分地被加载到持久存储设备210上。I/O接口集206还在数据通信中与显示设备212连接。
显示设备212提供用于向用户显示数据的机构,并且可以是例如计算机监视器或智能电话显示屏。
基于在本发明的特定实施例中实施这里描述的程序的应用来识别所述程序。然而,应理解,使用这里的任何特定程序命名仅仅为了方便,因此本发明不应被限于仅在通过这样的命名识别和/或暗示的任何特定应用中使用。
II.本发明的实施例的操作
初步说明:以下附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现指定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个显示为连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行指定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
图3和图4分别示出描绘根据本公开的某些实施例的两个方法的流程图300和360。这两个方法均可以帮助客户端计算机子系统找到用于提供目录服务的适当的服务器节点。在某些实施例中,仅当图3的方法300无法向客户端计算机子系统提供适当的服务器节点时,才使用图4的方法360。图5示出用于执行方法300和360的方法步骤中的至少一些的程序240。现在将通过全面参考图3、图4(用于方法步骤框)和图5(用于软件框),在以下段落中讨论这些方法和相关联的软件。
方法300开始于步骤S305,在其中,客户端子系统102的程序240的端点注册模块(“mod”)405注册端点实体101(参见图1和图2)。更具体地,端点实体101属于“租用者”,并且由此被允许使用某些服务器节点106、108、110、112用于目录服务。客户端可以使用任意服务器节点用于目录服务。属于一租用者的端点可能不能与另一租用者中的端点交谈(talk)。管理子系统104具有关于哪些服务器节点可被端点实体101的租用者使用的信息。在此方法300中,程序240的服务器节点数据库402被提供有应当适合于端点101的租用者使用的服务器节点的身份(identity)(即,地址等)。在此示例中:(i)该服务器节点是第一服务器节点106;以及(ii)客户端子系统102的程序240的服务器节点数据库402通过在方法300开始之前询问管理子系统104而接收到第一服务器节点106的身份。替代地,服务器节点数据库402可能已经以其它方式接收到该信息,如将在下面的“进一步的意见和/或实施例子部分”中讨论的。
处理前进至步骤S310,在其中,目录服务请求模块410通过网络114(参见图1)向第一服务器节点106产生对于目录服务的第一请求。该请求是对第一服务器节点、而非其它服务器节点之一产生的,因为服务器节点数据库402将第一服务器节点识别为是对于端点101的租用者合适的服务器节点,如以上关于步骤S305所讨论的。如果服务器节点数据库402不具有精确匹配(租用者-节点),那么其将返回已知服务器节点中的任何一个。
处理前进至步骤S315,在其中,第一服务器节点106判定其是否可以以及应当处置由客户端子系统102代表端点101(参见图1)的租用者发送的第一请求。第一服务器节点可能确定其将不向客户端子系统102提供目录服务的一个可能的原因是:服务器数据库可能还不具有租用者-节点映射(即,初始请求)。
如果在步骤S315,第一服务器节点确定其可以处置对于目录服务的请求,那么处理前进至步骤S320,在其中,在第一服务器节点处更新本地数据结构。更具体地,因为注册或改变了端点数据(例如,将新IP地址添加至该端点101),所以进行更新。
处理前进至步骤S330,在其中,第一服务器节点向客户端子系统102的程序240的接收ACK模块430发送确认(“ACK”)。根据此确认,第一服务器节点106为代表端点实体101的租用者行动的客户端子系统102提供目录服务。在处理流的此分支下,不存在客户端子系统102的“发现”或“学习”,因为为该租用者提供目录服务的服务器节点是客户端子系统102(具体地,程序240的服务器节点数据库402)已经“已知”可用于为代表端点实体101的租用者的该客户端提供目录服务的服务器节点。
如果在步骤S315,第一服务器节点确定其不能处置对于目录服务的请求,那么处理前进至步骤S335,在其中,将第一请求从第一服务器节点106转发至第二服务器节点108。在方法300的此示例中,第二服务器节点108有资格服务端点实体101的租用者。
处理前进至步骤S340,在其中,更新第二服务器节点108(参见附图)。更具体地,因为注册或改变了端点数据(例如,将新IP地址添加至该端点101),所以进行更新。该数据也将被存储在其它节点。第二服务器节点108将确定哪些其它实体需要更新它们的数据库(即,管理该租用者的其它节点)。
处理前进至步骤S345,在其中,第二服务器节点向客户端子系统102的程序240的接收ACK模块430发送确认(“ACK”)。根据此确认,第二服务器节点108为代表端点实体101的租用者行动的客户端子系统102提供目录服务。客户端子系统记录此事实。这样,来自客户端子系统102的与该(端点101的)租用者有关的未来的请求将去往节点108(即,与由与端点101相同的租用者表征的客户端102上的其它端点有关的更新和请求将去往节点108)。
处理前进至步骤S350,在其中,客户端子系统102的程序240的学习模块450:(i)“学习”第二服务器节点可以为端点实体101的租用者提供目录服务;以及(ii)将此学习的信息存储在客户端子系统102的程序240的服务器节点数据库402上。
现在将继续参考图5的软件框讨论图4的方法360。处理360开始于步骤S365,在其中,客户端子系统102的程序240的目录服务请求模块410代表端点实体101的租用者向第一服务器节点106发送对用于端点实体101和其关联的租用者的目录服务的目录服务请求。此步骤类似于之前讨论的处理300的步骤S310。
在处理360中,第一服务器节点106:(i)不能自己处置第一目录服务请求;以及(ii)不能找到可以处置由服务请求模块410在步骤S365产生的第一目录服务请求的替代服务器节点。
处理前进至步骤S370,在其中,接收拒绝模块470接收由第一服务器节点106发送回至客户端子系统102的拒绝。典型地,此拒绝不明确,而是宁愿采取该请求被丢弃并且客户端子系统超时的形式。
处理前进至步骤S375,在其中,管理子系统请求模块475向管理子系统104发送出第二请求。该第二请求请求管理子系统104提供可处置代表端点实体101的租用者产生的目录服务请求的至少一个服务器节点的身份。
处理前进至步骤S380,在其中,接收服务器标识(identification)模块480从管理子系统104接收响应,该响应包括可以为租用者提供目录服务的一个或多个服务器节点的身份。在步骤S380,将这些一个或多个服务器节点的标识存储在客户端子系统102的程序240的服务器节点数据库402中。
处理前进至步骤S385,在其中,客户端子系统102的程序240的目录服务请求模块410向在步骤S380发现的一个或多个服务器节点中的一个发送对用于其租用者的目录服务的第三请求。此请求被接受,并且,发现服务现在对于端点实体101可用。
注意,程序240具有足够的软件来提供方法300和方法360两者。本公开的其它实施例可以仅执行这些软件实施的方法中的一个,而不需要执行另一个。
III.进一步的意见和/或实施例
此公开描述了当存在提供目录服务的多个服务器时发现和/或学习提供目录服务的服务器的方法。在此示例中,发现和学习是不同、但相关的处理。在本发明的一些实施例中,客户端子系统将:(i)通过向管理站查询种子/起始站的身份来发现“种子/起始服务器”;然后,(ii)随后通过向“种子”或其它新学习的服务器交谈来学习其它相关服务器。因此,这里使用“发现”来应用于通过具体地查询该信息而接收组件的身份,而“学习”应用于通过除了接收对特定请求的响应之外的操作推断一种组件的身份而确定组件的身份。
在本发明的一些实施例中,客户端与“连通性服务器”通信,以确定哪些VM和/或主机可以在给定覆盖网络中彼此通信。
提供目录服务的服务器集群中的一个“服务器节点”:(i)将总体处置多个覆盖租用者;但是,(ii)将不处置系统范围的所有覆盖租用者。目录服务的每个覆盖租用者将具有提供目录服务的服务器节点的子集的知识,并且将专门使用该子集的服务器节点来获得所需的目录服务信息。客户端检查来自服务器节点的响应(在它们中带有租用者信息),并且,如果响应服务器节点不包括在该客户端的已知服务器节点集中,那么该响应服务器节点将被添加到该客户端的已知节点集。这样,客户端“学习”新服务器节点,而非通过请求“发现”该服务器节点。集群中的服务器节点:(i)具有指示在租用者与分别处置每个客户端的服务器节点之间的映射的信息;以及(ii)当客户端的询问已经被引导到不正确的服务器节点时,可以将询问转发至正确的服务器节点。对于每个客户端来说有益的是:学习租用者与处置它们的服务器节点之间的(不是通常的一对一)映射,使得可以向正确的服务器节点产生来自该客户端的任何后续请求。
图6示出计算机系统600,包括:第一服务器节点(注意:服务器节点还可以称为“网络控制系统”)602;第二服务器节点604;第三服务器节606;管理站608;交换机(更一般地,称为联网系统)610;第一虚拟机612;以及第二虚拟机614。联网系统610具有管理站608的地址,并且通过向管理站608发送请求而向其注册。响应于该请求,管理站608将至少一个服务器节点的IP地址(在此情况下是第一服务器节点602的地址)发送回联网系统610。这样,交换机610“发现”提供目录服务的服务器节点。
当端点(即,VM612、614)激活(comealive)时,交换机610进行至注册所述端点。交换机610将关于所注册的端点的信息和关联的覆盖租用者信息发送至第一服务器节点602。在响应中,第一服务器节点602确定其是否正在处置所注册的端点的特定覆盖租用者。存在可能由从交换机610至第一服务器节点602的目录服务请求产生的三个可能结果,将在以下三段中分别讨论所述三个可能结果。
作为第一可能结果,如果第一服务器节点602处置该特定覆盖租用者,那么执行以下动作:(i)更新本地数据结构;(ii)进行从第一服务器节点到至少第二服务器节点的复制;以及(iii)第一服务器节点将确认(“ACK”)发送至交换机610。
作为第二可能结果,如果第一服务器节点602不处置所注册的端点的覆盖租用者,那么执行以下动作:(i)将请求从交换机610转发至第二服务器节点604;(ii)第二服务器节点604学习交换机610与其注册的端点612、614的覆盖租用者之间的映射;(iii)第二服务器节点604进行复制;以及(iv)第二服务器节点604将ACK发送至交换机610。这样,交换机610基于从第二服务器节点604接收到ACK的事实至少“学习到”:(i)第一服务器节点602不适合于其VM612、614的覆盖租用者;以及(ii)第二服务器节点604适合于其VM612、614的覆盖租用者。通过交换机610学习第二服务器节点604是目录服务学习的形式。因为对“注册端点”的答复将从第二服务器节点604来到交换机610,所以,对于VM612和614的覆盖租用者由第二服务器节点604处置的效果来说,其是隐含通信。
作为第三可能结果,如果来自交换机610的目录服务请求在系统范围没有来自任意服务器节点602、604、606的回复,那么交换机610请求管理站608提供至少一个新服务器节点的IP地址。此第三可能性是“目录”的形式,因为交换机必须产生用于接收对于给定覆盖租用者的合适服务器节点的指示的明确请求。
在此实施例中,管理站608的地址由用户输入到交换机610。替代地,管理站地址可以包括在客户端配置处理期间自动发生的信息上载中。在此实施例中,管理站608:(i)优化负载平衡;以及(ii)向交换机610提供至少一个DSPIP地址(即,种子/起始者地址)。负载可以被定义为以下的任意组合:接收/发出的请求的数目、使用的资源的数目、使用的cpu(中央处理单元)处理时间、使用的存储器、业务量,等等。在本公开的各个实施例中,关于如何达到负载平衡存在至少两个选项:(i)客户端具有可以处置给定覆盖租用者的各个服务器节点的身份,并基于覆盖租用者的身份以及负载平衡类型考虑而选择服务器节点;以及/或者(ii)在将请求转发至正确的服务器节点之前,从客户端接收对于目录服务的初始请求的服务器节点可以执行负载平衡,以确定向哪个服务器节点转发该请求(至少部分地基于覆盖租用者的身份)。
本公开的一些实施例可以具有以下优点、特点和/或优点中的一个或多个:(i)管理系统(例如,控制器)可以执行用于优化负载平衡的功能;(ii)管理系统(例如,分布式覆盖虚拟以太网(dove)控制器)将租用者和配置信息传递至所有客户端(例如,所有分布式覆盖虚拟以太网交换机);(iii)客户端(例如,分布式覆盖虚拟以太网交换机)具有识别正在处置给定覆盖租用者的多个服务器节点(或许甚至是所有服务器节点)的信息;(iv)在将请求转发至正确的服务器节点之前,服务器可以执行负载平衡以确定哪些其它服务器节点应当最优地具有被转发至其的请求;(v)当将请求从一个服务器节点转发至另一个服务器节点时,所转发的服务器节点学习产生请求的客户端A(例如,分布式覆盖虚拟以太网交换机)与产生请求所针对的覆盖租用者之间的映射;(vi)客户端(例如,分布式覆盖虚拟以太网交换机)执行负载平衡(具体地,用于与特定租用者有关的请求的客户端侧负载平衡),以确定选择哪个服务器节点用于目录服务请求;以及/或者(vii)如果至服务器节点的客户端请求没有(来自系统范围任何服务器节点的)答复,那么客户端请求管理系统提供适合于其请求目录服务器的覆盖租用者的至少一个新服务器节点地址。作为对在前语句中的项(i)的可能(以及或许甚至是优选)替代,服务器节点的集群也可以挑选一个服务器节点来进行覆盖平衡。
本公开的一些实施例可以具有以下特征、特点和/或优点中的一个或多个:(i)提供“主机名称服务器”(即,服务器节点)的发现和/或映射;(ii)用于服务租用者的客户端通信子系统;(iii)不需要洪泛;(iv)可以处置除了VLAN交换机类型的客户端之外的客户端;(v)不需要重定向器节点;(vi)不需要广播方法;(vii)客户端将目录服务请求发送至内容/数据集群的任何单个服务器节点,并且,此请求可以被或可以不被其初始发送至的服务器节点转发。
IV.定义
本发明:应当被当作如下绝对指示:由术语“本发明”描述的主题被提交时的权利要求覆盖,或者被在专利审查之后最终公告的权利要求覆盖;虽然术语“本发明”用于帮助读者对于被认为可能是新的这里的公开得到一个总体的感觉,但是,如通过使用术语“本发明”指示的,此理解是暂定和临时的,且经过专利审查的过程而经受改变,这是因为,相关信息被展开并且权利要求被潜在地修改。
实施例:参见上述“本发明”的定义—类似的提醒适用于术语“实施例”。
和/或:非独占性的或;例如,A和/或B意味着:(i)A为真并且B为假;或者(ii)A为假并且B为真;或者(iii)A和B均为真。
数据通信:现在已知的或未来将开发的任何种类的数据通信方案,包括无线通信、有线通信、以及具有无线和有线部分的通信路线;数据通信不一定限于:(i)直接数据通信;(ii)间接数据通信;和/或(iii)格式、分组状态、介质、加密状态和/或协议在整个数据通信过程中保持恒定的数据通信。
计算机:具有显著的数据处理和/或机器可读指令读取能力的任何设备,包括但不限于:桌面型计算机、大型机计算机、膝上型计算机、基于现场可编程门阵列(fpga)的设备、智能电话、个人数字助理(PDA)、身体装载式(body-mounted)或插入式计算机、嵌入式设备型计算机、以及基于专用集成电路(ASIC)的设备。
服务器节点:提供目录服务的任何服务器。

Claims (19)

1.一种方法,包括:
由客户端子系统向第一服务器节点发送对用于第一租用者的目录服务的第一目录服务请求;
由所述客户端子系统从第二服务器节点接收第一确认;以及
由所述客户端子系统基于所述第一确认,学习到所述第二服务器节点能够提供用于所述第一租用者的目录服务。
2.如权利要求1所述的方法,其中,所述客户端子系统包括交换机。
3.如权利要求1所述的方法,其中,所述租用者是覆盖租用者。
4.如权利要求1所述的方法,还包括:
在数据通信中将第一客户端子系统与第一租用者的第一端点实体相连接。
5.如权利要求4所述的方法,其中,所述第一端点实体是虚拟机。
6.如权利要求4所述的方法,还包括:
由所述客户端子系统发现所述第一服务器节点的身份。
7.如权利要求6所述的方法,还包括:
由所述客户端子系统从管理子系统接收所述第一服务器节点的身份。
8.如权利要求1所述的方法,还包括:
响应于所述第一服务器节点接收到所述第一目录服务请求,选择第二服务器节点。
9.如权利要求8所述的方法,还包括:
将所述第一目录服务请求从所述第一服务器节点转发至所述第二服务器节点;以及
用更新的端点信息更新所述第二服务器节点。
10.一种计算机程序产品,包括存储在软件存储设备上的软件,所述软件包括:
第一程序指令,被编程用于由客户端子系统向第一服务器节点发送用于第一租用者的目录服务的第一目录服务请求;
第二程序指令,被编程用于由所述客户端子系统从第二服务器节点接收第一确认;以及
第三程序指令,被编程用于由所述客户端子系统基于所述第一确认,学习到所述第二服务器节点能够提供用于所述第一租用者的目录服务;
其中:
以不比在途信号短暂的方式将所述软件存储在软件存储设备上。
11.如权利要求10所述的产品,其中,所述客户端子系统包括交换机。
12.如权利要求10所述的产品,其中,所述租用者是覆盖租用者。
13.如权利要求10所述的产品,还包括:
第四程序指令,被编程用于在数据通信中将第一客户端子系统与第一租用者的第一端点实体相连接。
14.如权利要求13所述的产品,其中,所述第一端点实体是虚拟机。
15.如权利要求13所述的产品,还包括:
第五程序指令,被编程用于由所述客户端子系统发现所述第一服务器节点的身份。
16.如权利要求15所述的产品,还包括:
第六程序指令,被编程用于由所述客户端子系统从管理子系统接收所述第一服务器节点的身份。
17.如权利要求10所述的产品,还包括:
第四程序指令,被编程用于响应于所述第一服务器节点接收到所述第一目录服务请求,选择第二服务器节点。
18.如权利要求17所述的产品,还包括:
第五程序指令,被编程用于将所述第一目录服务请求从所述第一服务器节点转发至所述第二服务器节点;以及
第六程序指令,被编程用于用更新的端点信息更新所述第二服务器节点。
19.一种计算机系统,包括:
处理器集;以及
软件存储设备;
其中:
所述处理器集被结构化、定位、连接和/或编程用于运行存储在所述软件存储设备上的软件;并且
所述软件包括:
第一程序指令,被编程用于由客户端子系统向第一服务器节点发送用于第一租用者的目录服务的第一目录服务请求;
第二程序指令,被编程用于由所述客户端子系统从第二服务器节点接收第一确认;以及
第三程序指令,被编程用于由所述客户端子系统基于所述第一确认,学习到所述第二服务器节点能够提供用于所述第一租用者的目录服务。
CN201480040950.5A 2013-07-19 2014-07-07 目录服务发现和/或学习 Active CN105453058B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/945,998 2013-07-19
US13/945,998 US9392079B2 (en) 2013-07-19 2013-07-19 Directory service discovery and/or learning
PCT/JP2014/003586 WO2015008450A1 (en) 2013-07-19 2014-07-07 Directory service discovery and/or learning

Publications (2)

Publication Number Publication Date
CN105453058A true CN105453058A (zh) 2016-03-30
CN105453058B CN105453058B (zh) 2018-11-02

Family

ID=52344408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480040950.5A Active CN105453058B (zh) 2013-07-19 2014-07-07 目录服务发现和/或学习

Country Status (3)

Country Link
US (2) US9392079B2 (zh)
CN (1) CN105453058B (zh)
WO (1) WO2015008450A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107094171A (zh) * 2017-03-30 2017-08-25 聚好看科技股份有限公司 负载均衡方法及装置
US10594804B2 (en) 2013-07-19 2020-03-17 International Business Machines Corporation Directory service discovery and/or learning

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9338071B2 (en) 2014-10-08 2016-05-10 Google Inc. Locale profile for a fabric network
US10033647B2 (en) 2015-10-13 2018-07-24 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
CN105511170A (zh) * 2016-01-28 2016-04-20 武汉华星光电技术有限公司 液晶显示面板
US10033646B2 (en) * 2016-05-12 2018-07-24 International Business Machines Corporation Resilient active-active data link layer gateway cluster
CN108616572A (zh) * 2018-03-29 2018-10-02 阿里巴巴集团控股有限公司 通信方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229070A (ja) * 2000-02-16 2001-08-24 Toshiba Corp ディレクトリサーバ検索装置及びディレクトリサーバ検索装置における検索プログラムを記録した記録媒体
US20020013827A1 (en) * 2000-05-18 2002-01-31 Edstrom Claes G.R. Personal service environment management apparatus and methods
US20060248191A1 (en) * 2005-04-27 2006-11-02 Hudson Charles L Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections
US20110004649A1 (en) * 2009-05-02 2011-01-06 Nord Joseph Methods and systems for providing a consistent profile to overlapping user sessions
JP2012123459A (ja) * 2010-12-06 2012-06-28 Hitachi Solutions Ltd 仮想環境管理システム、及びその制御方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684800A (en) 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US6859834B1 (en) 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US8316104B2 (en) 2005-11-15 2012-11-20 California Institute Of Technology Method and apparatus for collaborative system
US8145760B2 (en) 2006-07-24 2012-03-27 Northwestern University Methods and systems for automatic inference and adaptation of virtualized computing environments
BRPI0822100A2 (pt) 2007-12-20 2015-06-30 Hsbc Technologies Inc Método e sistema para administrar automaticamente processos no desenvolvimento paralelo de um aplicativo por uma interface de usuário gráfica, sistema de desenvolvimento de aplicativo de computador, e, meio legível por computador de instruções
US8407366B2 (en) * 2010-05-14 2013-03-26 Microsoft Corporation Interconnecting members of a virtual network
US8688994B2 (en) 2010-06-25 2014-04-01 Microsoft Corporation Federation among services for supporting virtual-network overlays
US8843600B1 (en) * 2010-09-30 2014-09-23 Amazon Technologies, Inc. Providing private access to network-accessible services
US20120291024A1 (en) 2011-05-13 2012-11-15 International Business Machines Corporation Virtual Managed Network
US8660124B2 (en) 2011-08-05 2014-02-25 International Business Machines Corporation Distributed overlay network data traffic management by a virtual server
US9137563B2 (en) * 2012-08-24 2015-09-15 Google Technology Holdings LLC Processing emergency alert system messages
US9392079B2 (en) 2013-07-19 2016-07-12 International Business Machines Corporation Directory service discovery and/or learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229070A (ja) * 2000-02-16 2001-08-24 Toshiba Corp ディレクトリサーバ検索装置及びディレクトリサーバ検索装置における検索プログラムを記録した記録媒体
US20020013827A1 (en) * 2000-05-18 2002-01-31 Edstrom Claes G.R. Personal service environment management apparatus and methods
US20060248191A1 (en) * 2005-04-27 2006-11-02 Hudson Charles L Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections
US20110004649A1 (en) * 2009-05-02 2011-01-06 Nord Joseph Methods and systems for providing a consistent profile to overlapping user sessions
JP2012123459A (ja) * 2010-12-06 2012-06-28 Hitachi Solutions Ltd 仮想環境管理システム、及びその制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10594804B2 (en) 2013-07-19 2020-03-17 International Business Machines Corporation Directory service discovery and/or learning
CN107094171A (zh) * 2017-03-30 2017-08-25 聚好看科技股份有限公司 负载均衡方法及装置

Also Published As

Publication number Publication date
CN105453058B (zh) 2018-11-02
US10594804B2 (en) 2020-03-17
WO2015008450A1 (en) 2015-01-22
US9392079B2 (en) 2016-07-12
US20150026102A1 (en) 2015-01-22
US20160241649A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
CN105453058A (zh) 目录服务发现和/或学习
US9294550B2 (en) Efficient data transfer for cloud storage by centralized management of access tokens
CN104040521B (zh) 生物特征云通信和数据移动
US20200364075A1 (en) Blockchain network transaction processing method, apparatus, device, and storage medium
CN103765423B (zh) 收集与本地存储的数据文件相关联的事务数据
WO2017113201A1 (zh) 一种网络服务的生命周期管理方法及设备
CN104380278B (zh) 用于客户端管理会话持续性的设备、系统和方法
WO2021031473A1 (zh) 基于多资产模型的区块链资产处理方法及相关设备
JP6166467B2 (ja) ブルートゥース通信方法及びブルートゥース通信設備
KR102288521B1 (ko) 블록체인 기반의 데이터 저장 장치 및 방법
CN104796257A (zh) 灵活的数据认证
CN111612167B (zh) 机器学习模型的联合训练方法、装置、设备及存储介质
CN106101984B (zh) 一种nfc移动支付终端的安全模块管理方法及终端
CN104836715A (zh) 在移动设备上运行的多个应用之间共享数据的方法和装置
CN109600349A (zh) 一种业务数据的共享实现方法、装置、设备和介质
CN109521956A (zh) 一种基于区块链的云存储方法、装置、设备及存储介质
CN104811392A (zh) 用于处理网络中的资源访问请求的方法和系统
CN102045335B (zh) 终端设备、签名生成服务器、简单标识管理系统以及方法
CN1973282A (zh) 用于管理针对集群配置的改变的系统和方法
CN103444152B (zh) 一种信息操纵方法和系统
WO2019095388A1 (zh) 一种远程协助处理方法及设备
CN108540552A (zh) 设备互连方法、装置、系统、设备和存储介质
CN110620706B (zh) 一种参数调整方法和设备
US20160308933A1 (en) Addressing application program interface format modifications to ensure client compatibility
TW201349005A (zh) 基於擴展參數集的安全性資訊交互系統、裝置及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211110

Address after: New York, United States

Patentee after: Qindarui company

Address before: Armank, New York, USA

Patentee before: International Business Machines