CN102469106B - 检测和解决分布式服务器环境中的死锁的方法和系统 - Google Patents

检测和解决分布式服务器环境中的死锁的方法和系统 Download PDF

Info

Publication number
CN102469106B
CN102469106B CN201110333827.0A CN201110333827A CN102469106B CN 102469106 B CN102469106 B CN 102469106B CN 201110333827 A CN201110333827 A CN 201110333827A CN 102469106 B CN102469106 B CN 102469106B
Authority
CN
China
Prior art keywords
website
affairs
server environment
distributed server
deadlock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110333827.0A
Other languages
English (en)
Other versions
CN102469106A (zh
Inventor
A·R·纳戈帕尔
S·R·帕蒂尔
S·拉马纳坦
G·西华古玛
M·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.)
International Business Machines Corp
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 CN102469106A publication Critical patent/CN102469106A/zh
Application granted granted Critical
Publication of CN102469106B publication Critical patent/CN102469106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了一种减少用于分布式SIP服务器环境中争用检测的消息传递的方法、系统和计算机程序产品。所述方法在计算机基础设施中实现,所述计算机基础设施包含有形地体现在计算机可读存储介质中的计算机可执行代码,所述计算机可读存储介质包含可通过运行判定第一站点正在等待由第二站点锁定的第一对象的编程指令。所述编程指令进一步可通过运行判定第三站点正在等待由所述第一站点锁定的第二对象,以及将第一探针发送到所述第二站点以判定所述第二站点是否正在等待。接收第二探针并且该探针指示有个站点正在等待由所述第一站点锁定的对象。所述第二探针进一步指示分布式服务器环境中要解决的死锁。

Description

检测和解决分布式服务器环境中的死锁的方法和系统
技术领域
本发明涉及会话发起协议(SIP)服务器环境中的争用检测,更具体地说,本发明涉及减少用于分布式SIP服务器环境中争用检测的消息传递的方法、系统和计算机程序产品。
背景技术
IP语音(VoIP)包括多种通过诸如因特网和蜂窝网络之类的网际协议(IP)网络传送语音通信以及多媒体会话的技术。这些技术之一是会话发起协议(SIP),该技术是一种信令协议,用于创建、修改和终止语音通信和多媒体会话。VoIP服务可包括多种功能或应用,例如呼叫等待、呼叫转接以及合并通话(call merge)。这些应用可以实现为驻留在跨IP网络的节点中的SIP应用服务器中的SIP小服务程序(应用)。
每台SIP应用服务器可包括管理VoIP应用的各种问题的容器。例如,当从另一VoIP应用接收用于本VoIP应用消息时,所述容器便会分派专用控制线程或事务来处理该消息。此时,所述线程可访问服务器本地数据库中的数据,或者可创建和使用要存储在本地数据库中的数据。为了防止数据损坏,所述容器可锁定被访问数据,以防在处理消息之前另一控制线程访问这些数据。
但是,其他SIP应用服务器中的容器不知道这些容器操作。这在分布式SIP服务器环境中会导致出现问题,在这样的环境中,一台服务器中的控制线程可能需要访问另一服务器中可能被本地控制线程锁定的数据。此外,跨多台SIP应用服务器传输有关所有容器操作的信息可涉及传输复杂的大型消息以及频繁地在容器之间传输这些消息。SIP容器的标准规范未涉及这些同步问题。
发明内容
在本发明的第一方面,一种方法在计算机基础设施中实现,所述计算机基础设施包含有形地体现在计算机可读存储介质中的计算机可执行代码,所述计算机可读存储介质包含可通过运行判定第一站点正在等待由第二站点锁定的第一对象的编程指令。所述编程指令进一步可通过运行判定第三站点正在等待由所述第一站点锁定的第二对象,以及将第一探针(probe)发送到所述第二站点以判定所述第二站点是否正在等待。接收第二探针并且该探针指示有个站点正在等待由所述第一站点锁定的对象。所述第二探针进一步指示分布式服务器环境中要解决的死锁。
在本发明的另一方面,一种系统在硬件中实现,其包括可通过运行选择至少第一对象作为候选来检测和解决分布式服务器环境中的死锁,以及判定第一站点正在等待由第二站点锁定的第一对象的事务管理器。所述事务管理器进一步可通过运行判定第三站点正在等待由所述第一站点锁定的第二对象,以及将第一探针发送到所述第二站点以判定所述第二站点是否正在等待。接收第二探针并且该探针指示有个站点正在等待由所述第一站点锁定的对象。所述第二探针进一步指示分布式服务器环境中要解决的死锁。
在本发明的又一方面,一种计算机程序产品包括计算机可用存储介质,所述计算机可用存储介质包含体现在存储介质中的可读程序代码,所述计算机程序产品包括至少一个可通过运行从第一站点接收第一探针以判定第二站点是否正在等待由第三站点锁定的对象的组件。所述至少一个组件进一步可通过运行判定所述第二站点正在等待由所述第三站点锁定的对象,以及将第二探针发送到所述第三站点以判定所述第三站点是否正在等待。
在本发明的进一步的方面,一种用于检测和解决分布式服务器环境中的死锁的计算机系统包括CPU、计算机可读存储器和计算机可读存储介质。所述系统进一步包括判定第一站点正在等待由第二站点锁定的第一对象的第一程序指令以及判定第三站点正在等待由所述第一站点锁定的第二对象的第二程序指令。第三程序指令将第一探针发送到所述第二站点以判定所述第二站点是否正在等待,以及第四程序指令接收指示有个站点正在等待由所述第一站点锁定的对象的第二探针。所述第二探针进一步指示分布式服务器环境中要解决的死锁。所述第一、第二、第三和第四程序指令存储在计算机可读存储介质中以便由CPU通过计算机可读存储器来执行。
在本发明的另一方面,一种部署用于检测和解决分布式服务器环境中的死锁的系统的方法包括提供计算机基础设施,所述计算机基础设施可通过运行获取第一站点上的本地等待图(WFG)。所述计算机基础设施进一步可通过运行根据所述第一站点上的本地WFG,判定所述第一站点上的第一事务正在等待由第二站点上的第二事务锁定的第一对象。判定第三站点上的第三事务正在等待由所述第一站点上的所述第一事务锁定的第二对象,以及将第一探针发送到所述第二站点以判定所述第二站点是否正在等待。接收逆向探针并且该探针指示所述第二站点未在等待。所述逆向探针进一步指示分布式服务器环境中没有死锁。接收第二探针并且该探针指示有个站点正在等待由所述第一站点锁定的对象。所述第二探针进一步指示分布式服务器环境中要解决的死锁。所述计算机基础设施还可通过运行解决分布式服务器环境中的死锁,包括结束正在等待所述第一对象的所述第一站点上的所述第一事务。
附图说明
下面将参考所列的多个附图,通过本发明的示例性实施例的非限制示例在详细说明中对本发明进行描述。
图1是用于实现根据本发明的方面的步骤的示例性环境;
图2示出根据本发明的方面在分布式会话发起协议(SIP)服务器环境中的两个事务发生死锁时的示例性方块图;
图3示出根据本发明的方面分布式数据库中的包含所有对象集的示例表;
图4示出根据本发明的方面站点Sn启动检测和解决分布式SIP服务器环境中的死锁的过程的示例性方块图;
图5A示出根据本发明的方面的示例性流程;
图5B示出根据本发明的方面的图5A中的示例性流程的继续;以及
图6示出根据本发明的方面的另一示例性流程。
具体实施方式
本发明一般地涉及会话发起协议(SIP)服务器环境中的争用检测,具体地说,本发明涉及减少用于分布式SIP服务器环境中争用检测的消息传递的方法、系统和计算机程序产品。更具体地说,本发明涉及产生、计数和选择分布式数据库中的对象作为候选以便检测和解决分布式SIP服务器环境中的数据争用(例如,数据锁定问题)。根据数据库中对象的数据锁定历史以及引用此类对象的事务信息来选择候选对象。候选对象的选择还基于获取事务启动者和对象之间的依赖性以及形成此类启动者和对象的约简(较小的集合)。
选择候选对象之后,本发明的方法和系统包括通过探测和逆向探测分布式SIP服务器环境中服务器或站点上的事务管理器,检测和解决涉及候选对象的数据锁定问题。具体而言,根据一个站点上的锁定对象被另一站点上的事务等待,探测(例如,查询)该一个站点上的事务管理器,以查看这两个站点之间是否存在数据锁定问题。换言之,本发明考虑了由给定事务集锁定的给定对象集发生实际数据锁定问题的可能性。
有利地,本发明提供了在不必在分布式SIP服务器环境中的所有站点之间传递有关所有事务的大型复杂消息的情况下,对数据锁定问题的检测和解决。实际上,通过基于在个别站点上等待对象的事务进行探测,不必在没有相关对象和事务且因此不涉及任何数据锁定问题的站点之间传递消息。此外,通过选择候选对象,检测和解决数据锁定问题进一步仅关注相互之间通常会具有数据锁定问题的对象和事务。本发明极大地提高了分布式SIP服务器环境中所有站点的效率和处理能力。
进一步地,本发明将工作负载和事务信息以及死锁历史作为输入,获取事务指示器和对象之间的依赖性,以及形成具有高水平熵的此类对象和应用的约简。本发明使用试探法,不仅不需要额外的等待图(WFG)来检测任何死锁,而且还减少了消息传递。这是通过根据对象和事务之间的依赖性或对于给定应用集锁定的给定对象集发生实际死锁的可能性,设置探测和逆向探测阈值,来实现的。
系统环境
本领域的技术人员将理解,本发明的方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面的实施例的形式,所有这些软件和硬件方面在此通常被称为“电路”、“模块”或“系统”。此外,本发明的方面可以采取体现在一个或多个计算机可读介质(在介质中具有计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外线或半导体系统、装置或设备或上述任何适合的组合。计算机可读存储介质的更具体的示例(非穷举列表)可以包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述任何适合的组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的有形介质。
计算机可读信号介质可以包括其中包含计算机可读程序代码(例如,在基带中或作为载波的一部分)的传播数据信号。此类传播信号可以采取多种形式中的任何一种,包括但不限于电磁、光或上述任何适合的组合。计算机可读信号介质可以是任何并非计算机可读存储介质以及传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的计算机可读介质。
可以使用任何适当的介质(包括但不限于无线、线缆、光缆、RF等或上述任何适合的组合)来传输计算机可读介质中包含的程序代码。
用于执行本发明的方面的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++或类似语言之类的面向对象的编程语言或者诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行,部分地在用户计算机上执行,作为独立的软件包执行,部分地在用户计算机上并部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后者的情况中,所述远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
下面参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明的方面进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。
这些计算机程序指令也可以被存储在引导计算机、其他可编程数据处理装置或其他设备以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的所述指令产生一件包括实现在所述一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。
所述计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备,以导致在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
图1示出用于管理根据本发明过程的环境10。就此而言,环境10包括可以执行此处所述的过程的服务器或其他计算系统12。具体而言,服务器12包括计算设备14。计算设备14可以驻留在网络基础设施或第三方服务提供者的计算设备上(图1一般性地表示了这两种情况中的任何一种)。
计算设备14还包括处理器20、存储器22A、I/O接口24以及总线26。存储器22A可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。此外,所述计算设备还包括随机存取存储器(RAM)、只读存储器(ROM)和操作系统(O/S)。
计算设备14与外部I/O设备/资源28以及存储系统22B进行通信。例如,I/O设备28可包括任何允许个人与计算设备14进行交互的设备(例如,用户接口)或任何允许计算设备14使用任何类型的通信链路与一个或多个其他计算设备进行通信的设备。外部I/O设备/资源28可以例如是,手持设备、PDA、手机、键盘等。
通常而言,处理器20执行计算机程序代码(例如,程序控制器44),所述代码可存储在存储器22A和/或存储系统22B中。而且,根据本发明的方面,程序控制器44控制应用105和事务管理器110,例如此处所述的过程。应用105和事务管理器110可以单独模块或组合模块的形式实现为存储器22A中存储的程序控制器44内的一个或多个程序代码。此外,应用105和事务管理器110可以实现为单独的专用处理器或者单个或多个处理器以提供这些工具的功能。在执行计算机程序代码时,处理器20还可以将数据写入存储器22A、存储系统22B和/或I/O接口24或从上述装置读取数据。程序代码执行本发明的过程,例如,检测和解决分布式SIP服务器环境中的数据锁定问题。总线26提供计算设备14中各组件之间的通信链路。
计算设备14可包括能够执行其上安装的计算机程序代码的任何通用计算制品(例如,个人计算机、服务器等)。但是应该理解,计算设备14只是可执行此处所述过程的各种可能的等价计算设备的代表。就此而言,在实施例中,计算设备14提供的功能可由包括通用和/或专用硬件和/或计算机程序代码的任何组合的计算制品实现。在每个实施例中,程序代码和硬件可分别使用标准编程技术和工程技术创建。
类似地,计算基础设施12只是用于实现本发明的各种类型的计算机基础设施的示例。例如,在实施例中,服务器12包括通过诸如网络、共享存储器之类的任何类型的通信链路通信,以执行此处所述的过程的两个或多个计算设备(例如,服务器群集)。进一步地,在执行此处所述的过程时,服务器12上的一个或多个计算设备可使用任何类型的通信链路与服务器12以外的一个或多个其他计算设备进行通信。所述通信链路可包括有线和/或无线链路的任意组合、一个或多个网络类型(例如,因特网、广域网、局域网、虚拟专用网等)的任意组合和/或使用传输技术和协议的任意组合。
服务器12可以是IP网络中包括应用105和事务管理器110的SIP应用服务器。应用105可以例如是,实现为SIP小服务程序的VoIP应用(例如,呼叫等待、呼叫转接和合并通话)。如上所述,应用105由程序控制器44控制。进一步地,应用105与事务管理器110进行通信并由事务管理器110进行管理,事务管理器110可以实现为SIP容器并且也受程序控制器44的控制。
事务管理器110管理应用105的各种问题。例如,当从另一VoIP应用接收用于本应用105的消息时,事务管理器110可在应用105中启动专用控制线程或事务来处理该消息。在执行此操作期间,事务可能访问服务器12的数据库115中的数据(例如,对象),或可能创建和使用要存储在数据库115中的数据,数据库115可能例如在存储系统22B和/或服务器12的一单独存储器中实现。为了防止损坏数据,事务管理器110可锁定被访问数据,以防在处理消息之前另一事务访问这些数据。
在分布式SIP服务器环境(例如,环境10)中,服务器12(称为“站点1”)中的事务管理器110可与多个外部站点,例如站点2(120)、站点3(125)以及站点N(130),进行通信。N是环境10中的站点总数。这些站点120、125、130中的每个站点都可以实现为IP网络中的SIP应用服务器,并且可包括至少一个访问其自己的数据库以及其他站点上的数据库的VoIP应用。例如,站点1(12)上的应用可访问数据库115和站点2(120)、站点3(125)以及站点N(130)上的数据库。此外,站点120、125和130分别包括事务管理器135、140和145。事务管理器135、140和145中的每个都管理其各自的应用并且相互之间以及与事务管理器110进行通信。
图2示出根据本发明的方面分布式SIP服务器环境中的两个事务发生死锁时的示例性方块图200。具体而言,方块图200示出三个事务205、210和215。第一事务205(“S1.TX1”)由图1中站点1(“S1”)上的事务管理器110启动。第二事务210(“S1.TX2”)也由S1上的事务管理器110启动。第三事务215(“S2.TX3”)由图1中站点2(“S2”)上的事务管理器135启动。
最初,第一事务205希望获取对数据库中数据(具体是指第一对象220(O1”))的访问,并且请求和接收对于该对象的锁225。锁225通过确保没有其他任何事务可以读取和/或修改第一对象220,允许图1中的事务管理器110向应用105提供其事务隔离保证。当锁定发生时,事务(“锁定者”)持有数据库记录(“被锁对象”)上的锁。锁可在事务管理器中实现为一数据结构,该数据结构锁定该数据结构中表示的对象。
接下来,为了完成事务,第一事务205希望获取对第二对象230(“O2”)的访问,但是必须等待才能获取对第二对象230的访问,因为第二事务210已持有第二对象230上的锁235。第一事务205和第二事务210之间的这种关系可在S1上的等待图(WFG)中示出,如下所示:
S1.TX1-->S1.TX2
其中“-->”表示第一事务205(“S1.TX1”)正在等待第二事务210(“S1.TX2”)释放第一事务205希望获得访问的第二对象230。
同时,第二事务210希望获取对第三对象240(“O3”)的访问,但是必须等待才能获取对第三对象240的访问,因为第三事务215持有第三对象240上的锁245。S1上的WFG将更新为如下所示:
S1.TX1-->S1.TX2-->S2.TX3
当第三事务215希望获取对第一对象220的访问时,在事务205、210、215之间发生死锁,因此它们相互阻止。换言之,事务205、210、215中的每个都在等待由另一事务持有或锁定的对象,因此,将不会释放阻止其他事务的锁。当死锁发生时,死锁中涉及的事务永远不可能取得任何进展(例如,获取对数据的访问),除非某个外部代理采取行动来打破这种死锁。死锁会耗尽服务器的资源,尤其是其处理器功率,不必要地浪费了处理器。
每个站点可由其等待事务的本地WFG表示并可以构建该本地WFG,S2上的WFG如下所示:
S2.TX3-->S1.TX1.
因此,包括S1和S2的所有站点上的全局WFG如下所示:
S1.TX1-->S1.TX2-->S2.TX3-->S1.TX1.
如全局WFG中所示,WFG中的循环指示分布式SIP服务器环境中已发生死锁。需要结束(victimize)或终止上述事务205、210、215中的至少一个才能解决死锁。
为了如上所述在不必构建、维护和传输所有可能的大型复杂WFG的情况下,高效地检测和解决分布式SIP服务器环境中的死锁,可以实现本发明的方法、系统和计算机程序产品。具体而言,可在图1内的每个事务管理器110、135、140、145中实现本发明的方法、系统和计算机程序产品。在操作中,本发明包括位于站点Sn(例如,站点1(12)、站点2(120)、站点3(125)和站点N(130))上的事务管理器(例如,事务管理器110、135、140、145)。所述事务管理器可首先启动产生、计数和选择分布式数据库中的对象作为候选以便检测和解决分布式SIP服务器环境中的死锁的过程。
具体而言,站点Sn上的事务管理器首先产生分布式数据库中的所有对象集。图3示出根据本发明的方面包括分布式数据库中的所有对象O1-O10的集合的示例表300。所述对象可驻留在站点Sn或其他站点上的数据库中。所述事务管理器然后针对分布式数据库中的每个对象,计数(例如,跟踪)在预定时间段(例如,一评估间隔)内引用对象的请求或查询的数量。该数量被称为死锁查询引用计数,如表300中所示。例如,在表300中,对象O1-O10中的每个在评估间隔内的死锁查询引用计数为100次查询。在实施例中,所述事务管理器还可针对分布式数据库中的每个对象和事务,计数单个事务在评估间隔内做出的对对象的请求或查询的数量(例如,事务查询引用计数)。这是指表300中位于事务S1.TX1、S1.TX2、S2.TX3、S3.TX4和S4.TX5下面的数量。例如,在表300中,在评估间隔内,事务S1.TX1查询对象O1和O2一次,查询对象O3、O5、O7、O9和O10两次。
评估间隔结束后,所述事务管理器从所有对象集中选择大对象作为用于检测和解决分布式SIP服务器环境中的死锁的候选对象。在实施例中,如果一个对象的死锁引用计数大于预定阈值,则被认为是大对象。在实施例中,所述事务管理器可通过删除所有对象集中所有不大的对象来选择大对象。所述从所有对象集中选择对象产生了候选对象集。
在实施例中,所述事务管理器通过约简所有对象集中的对象,选择所有对象集中的候选对象。这是通过比较对象集所产生的等价关系实现的。删除一些对象以便约简集提供的判定功能的预测能力与原始集相同。所述约简集被定义为条件对象集C的最小基数Rmin的子集,从而:
γR(D)=γC(D)  (1);
R = { X : X ⊆ C ; γ X ( D ) = γ C ( D ) } - - - ( 2 ) ;
R min = { X : X ∈ R ; ∀ Y ∈ R ; | X | ≤ | Y | } - - - ( 3 ) .
这可得出非常粗略的等价类结构,其包括如下所示的依赖事务集:
{S1.TX1,S2.TX3}。
所述等价类结构还包括如下所示的依赖对象集:
{O1,O2};
{O3,O5,O7,O9,O10};
{O4,O6,O8}。
Sn事务管理器完成选择对象作为候选的过程之后,Sn事务管理器可启动检测和解决分布式SIP服务器环境中的死锁的过程。图4示出根据本发明的方面站点Sn(“405”)启动该过程的的示例性方块图400。站点Sn405首先检查其本地WFG以判定是否存在可能的死锁。具体而言,针对本地WFG中的每个本地事务TXn,站点Sn405判定事务TXn是否正在等待访问由站点Sm410上的远程事务TXm锁定或持有的对象Om。在实施例中,站点Sn405可判定事务TXn等待访问对象Om的时间是否在长于预定时间段(例如,10秒)。在实施例中,对象Om可能必须为选定的候选(例如,位于候选对象集中)以用于检测和解决死锁的过程。站点Sn405还判定站点Sp415上的远程事务TXp是否正在等待由事务TXn持有的对象On。
如果其中一个判定为假(例如,事务TXn未在等待访问对象Om),则站点Sn405判定分布式SIP服务器环境中没有死锁。但是,如果两个判定均为真,则站点Sn405向站点Sm410发送探针420。探针420包括标识站点Sn405、事务TXn以及所需对象Om的数据。例如,所有探针中的数据可包括经过鉴别的标识(例如,用户名和密码)、IP地址、端口号和/或标识站点、事务和对象的其他标识信息。
站点Sm410接收探针420并判定事务TXm是否正在等待访问由站点Sm+1425上的远程事务TXm+1持有的对象Om+1。如果事务TXm未在等待访问对象Om+1,则站点Sm410向站点Sn405发送逆向探针430。逆向探针430包括标识初始探针420的站点Sn405、事务TXn以及对象Om的数据。逆向探针430向站点Sn405指示没有更多锁定对象可寻找,因此分布式环境中没有死锁。
但是,如果事务TXm正在等待访问对象Om+1,则站点Sm410向站点Sm+1425发送探针435。探针435包括标识站点Sm410、事务TXm以及所需对象Om+1的数据。站点Sm+1425接收探针435。与站点Sm410类似,站点Sm+1425判定是否发送向Sm410指示分布式环境中没有更多锁定对象以及没有死锁的逆向探针440,或者是否向另一站点发送新的前向探针以查看站点Sm+1425上的事务TXm+1是否正在等待访问该另一站点上的对象。
如果事务TXm+1正在等待访问站点Sp415上的对象Op,则站点Sm+1425向站点Sp415发送探针445。探针445包括标识站点Sm+1425、事务TXm+1以及所需对象Op的数据。如果站点Sp415从站点Sm+1425接收到探针445,则站点Sp415向站点Sn405发送探针450,因为事务TXp是正在等待访问站点Sn405上的对象On的事务。探针450包括标识站点Sp415、事务Tp以及所需对象On的数据。探针450向站点Sn405指示分布式环境中存在死锁,因为站点Sn405由于它的等待事务而启动了检测死锁的过程,却接收到针对该相同等待事务持有的对象的探针。换言之,探针450指示分布式环境中存在死锁,因为探针450指示分布式系统中存在等待事务的循环。
如果站点Sn405接收到探针450,则站点Sn405判定分布式环境中存在死锁并解决该死锁。在实施例中,可通过结束或终止站点Sn405上的本地事务TXn来解决所述死锁。在其他实施例中,可通过结束死锁两端(例如,事务TXn和TXp)上的事务和/或结束分布式环境中的所有事务来解决死锁。通过此检测和解决分布式环境中的死锁的过程,不必构建、维护以及在站点(例如,站点405、410、415和425)之间传输分布式环境的潜在复杂大型的全局WFG。因此,此检测和解决死锁的过程更有效,因为它节省了处理功率和存储,并且降低了每个消息的消息传输大小以及消息的数量。
下面是根据本发明的方面的示例性伪代码:
流程图
图5A-5B和图6示出用于执行本发明的方面的示例性流程。图5A-5B和图6可以在例如图1的环境中实现。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的逻辑功能的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为相继的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
此外本发明可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述计算机可用或计算机可读介质提供由计算机或任何指令执行系统使用或与所述计算机或任何指令执行系统结合的程序。所述软件和/或计算机程序产品可以在图1的环境中实现。为了此说明的目的,所述计算机可用或计算机可读介质可以是任何能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的装置。所述介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读存储介质的示例包括半导体或固态存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的当前示例包括光盘只读存储器(CD-ROM)、光盘读/写存储器(CD-R/W)和DVD。
图5A示出根据本发明的方面的过程的示例性流程500。在步骤505,过程开始。在步骤510,由站点Sn上的事务管理器产生分布式数据库中的所有对象集。在步骤515,站点Sn计数所产生的集合中所有对象在评估间隔期间的死锁查询引用计数。
在步骤520,站点Sn计数分布式数据库中所有对象和事务在评估间隔期间的事务查询引用计数。在步骤525,站点Sn判定评估间隔是否结束。如果未结束,则过程返回步骤515。如果评估间隔结束,则在步骤530,站点Sn从所有对象集中选择候选以用于检测和解决分布式SIP服务器环境中的死锁的过程。在实施例中,站点Sn可根据所计数的死锁查询引用计数和事务查询引用计数从所有对象集中选择候选。所述过程继续到图5B的步骤535,其将在下面进行说明。
图5B示出根据本发明的方面的过程的示例性流程500的继续。在步骤535,过程开始,这是图5A中步骤530的继续。具体而言,在步骤535,站点Sn上的事务管理器获取本地WFG。在步骤540,使用本地WFG,站点Sn判定站点Sn上的事务TXn是否正在等待站点Sm上的事务TXm持有的对象。在实施例中,事务TXn的等待时间可能必须长于预定时间段,并且对象Om可能必须是从所有对象集中选择的候选对象。如果事务TXn不在等待,则过程继续到步骤575。
如果事务TXn正在等待,则在步骤545,站点Sn判定站点Sp上的事务TXp是否正在等待事务TXn持有的对象On。如果事务TXp不在等待,则过程继续到步骤575。如果事务TXp正在等待,则在步骤550,站点Sn向站点Sm发送探针。在步骤555,站点Sn判定是否已从站点Sm接收到逆向探针。如果接收到逆向探针,则过程继续到步骤575。
如果未接收到逆向探针,则在步骤560,站点Sn判定是否从,例如,包括等待对象On的事务TXp的站点Sp接收到探针。如果未接收到探针,则过程继续到步骤555。如果接收到探针,则在步骤565,站点Sn判定分布式环境中存在死锁(例如,将死锁参数设为真)。在步骤570,站点Sn结束本地事务TXn以解决分布式环境中的死锁。在步骤575,站点Sn判定分布式系统中没有死锁(例如,将死锁参数设为假)。在步骤580,过程结束。
图6示出根据本发明的方面的另一过程的另一示例性流程600。在步骤605,过程开始。在步骤610,站点Sm上的事务管理器接收来自站点Sn的探针。在步骤615,站点Sm判定站点Sm上的事务TXm是否正在等待站点Sm+1上的事务TXm+1持有的对象Om+1。如果TXm正在等待,则在步骤620,站点Sm向站点Sm+1发送探针。否则,在步骤625,站点Sm向站点Sn发送逆向探针。在步骤630,过程结束。
在实施例中,诸如解决方案集成商之类的服务提供者可能提供执行此处所述的过程的服务。在这种情况下,服务提供者可创建、维护、部署、支持等计算机基础设施,该计算机基础设施为一位或多位用户执行本发明的过程步骤。这些用户可以例如是任何使用技术的企业。作为回报,服务提供者可以根据订阅和/或收费协议从用户那里收费,以及/或者服务提供者通过向一位或多位第三方销售广告内容来收费。
在此使用的术语仅出于描述特定实施例的目的,并非对本发明进行限制。正如在此使用的那样,单数形式“一”、“一个”和“所述”旨在同时包括复数形式,除非上下文另外明确指出。将进一步理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定存在所述特性、整数、步骤、操作、元件和/或组件,但并不排除其中存在或添加一个或多个其他特性、整数、步骤、操作、元件、组件和/或由此构成的组。
权利要求中的所有装置功能元件或步骤功能元件(在适用时)的对应结构、材料、操作和等价物旨在包括用于与如具体声明的那样的其他所声明的元件结合执行所述功能的任何结构、材料或操作。出于说明和描述目的给出了对本发明的描述,但是所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,许多修改和变化对于本领域的技术人员来说都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且使得本领域的其他技术人员能够针对具有各种修改的适合于所构想的特定使用的各种实施例理解本发明。因此,尽管根据实施例对本发明进行了描述,但是本领域的技术人员将理解,本发明的实现可以具有修改并且处于所附权利要求的精神和范围中。

Claims (17)

1.一种用于检测和解决分布式服务器环境中的死锁的方法,包括:
获取所述分布式服务器环境中的第一站点上的本地等待图WFG;
根据所述第一站点上的本地WFG,判定所述第一站点正在等待由所述分布式服务器环境中的第二站点锁定的第一对象;
判定所述分布式服务器环境中的第三站点正在等待由所述第一站点锁定的第二对象;
将第一探针发送到所述第二站点以判定所述第二站点是否正在等待;
由所述第一站点接收指示所述分布式服务器环境中有个站点正在等待由所述第一站点锁定的对象的第二探针,其中所述第二探针进一步对所述第一站点指示分布式服务器环境中要解决的死锁;以及
解决分布式服务器环境中的死锁,包括结束正在等待所述第一对象的所述第一站点上的事务。
2.如权利要求1中所述的方法,其中通过运行接收指示所述第二站点未在等待的逆向探针,其中所述逆向探针进一步指示分布式服务器环境中没有死锁。
3.如权利要求1中所述的方法,其中通过运行根据所述第一站点上的本地WFG,判定所述第一站点上的第一事务正在等待由所述第二站点上的第二事务锁定的所述第一对象。
4.如权利要求3中所述的方法,其中通过运行判定所述第三站点上的第三事务正在等待由所述第一站点上的所述第一事务锁定的所述第二对象。
5.如权利要求1中所述的方法,其中通过运行产生分布式服务器环境中的所有对象集。
6.如权利要求5中所述的方法,还包括:
计数所述所有对象集中的每个对象的死锁查询引用计数;以及
计数所述所有对象集中的每个对象以及分布式服务器环境中的每个事务的事务查询引用计数。
7.如权利要求6中所述的方法,其中通过运行选择至少所述第一对象作为候选以便根据计数死锁查询引用计数和计数事务查询引用计数检测和解决分布式服务器环境中的死锁。
8.如权利要求1中所述的方法,其中服务提供者至少执行所述分布式服务器环境基础设施的创建、维护、部署和支持中的一项。
9.如权利要求1中所述的方法,其中权利要求1中的步骤由服务提供者基于订阅、广告和/或收费来提供。
10.一种用于检测和解决分布式服务器环境中的死锁的系统,包括:
用于获取所述分布式服务器环境中的第一站点上的本地等待图WFG的装置;
用于根据所述第一站点上的本地WFG,判定所述分布式服务器环境中的第一站点正在等待由所述分布式服务器环境中的第二站点锁定的第一对象的装置;
用于判定所述分布式服务器环境中的第三站点正在等待由所述第一站点锁定的第二对象的装置;
用于将第一探针发送到所述第二站点以判定所述第二站点是否正在等待的装置;
用于由所述第一站点接收指示所述分布式服务器环境中有个站点正在等待由所述第一站点锁定的对象的第二探针的装置,其中所述第二探针进一步对所述第一站点指示分布式服务器环境中要解决的死锁;以及
用于解决分布式服务器环境中的死锁,包括结束正在等待所述第一对象的所述第一站点上的事务的装置。
11.如权利要求10中所述的系统,其中通过运行接收指示所述第二站点未在等待的逆向探针,其中所述逆向探针进一步指示分布式服务器环境中没有死锁。
12.如权利要求10中所述的系统,其中通过运行根据所述第一站点上的本地WFG,判定所述第一站点上的第一事务正在等待由所述第二站点上的第二事务锁定的所述第一对象。
13.如权利要求12中所述的系统,其中通过运行判定所述第三站点上的第三事务正在等待由所述第一站点上的所述第一事务锁定的所述第二对象。
14.如权利要求10中所述的系统,其中通过运行产生分布式服务器环境中的所有对象集。
15.如权利要求14中所述的系统,还包括:
用于计数所述所有对象集中的每个对象的死锁查询引用计数的装置;以及
用于计数所述所有对象集中的每个对象以及分布式服务器环境中的每个事务的事务查询引用计数的装置。
16.如权利要求15中所述的系统,其中通过运行选择至少所述第一对象作为候选以便根据计数死锁查询引用计数和计数事务查询引用计数检测和解决分布式服务器环境中的死锁。
17.一种部署用于检测和解决分布式服务器环境中的死锁的系统的方法,包括:
获取第一站点上的本地等待图WFG;
根据所述第一站点上的本地WFG,判定所述第一站点上的第一事务正在等待由第二站点上的第二事务锁定的第一对象;
判定第三站点上的第三事务正在等待由所述第一站点上的所述第一事务锁定的第二对象;
将第一探针发送到所述第二站点以判定所述第二站点是否正在等待;
接收指示所述第二站点未在等待的逆向探针,其中所述逆向探针进一步指示分布式服务器环境中没有死锁;
接收指示有个站点正在等待由所述第一站点锁定的对象的第二探针,其中所述第二探针进一步指示分布式服务器环境中要解决的死锁;以及
解决分布式服务器环境中的死锁,包括结束正在等待所述第一对象的所述第一站点上的所述第一事务。
CN201110333827.0A 2010-11-18 2011-10-28 检测和解决分布式服务器环境中的死锁的方法和系统 Active CN102469106B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/949,151 2010-11-18
US12/949,151 US8977730B2 (en) 2010-11-18 2010-11-18 Method and system for reducing message passing for contention detection in distributed SIP server environments

Publications (2)

Publication Number Publication Date
CN102469106A CN102469106A (zh) 2012-05-23
CN102469106B true CN102469106B (zh) 2015-03-18

Family

ID=46065416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110333827.0A Active CN102469106B (zh) 2010-11-18 2011-10-28 检测和解决分布式服务器环境中的死锁的方法和系统

Country Status (2)

Country Link
US (3) US8977730B2 (zh)
CN (1) CN102469106B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977730B2 (en) 2010-11-18 2015-03-10 International Business Machines Corporation Method and system for reducing message passing for contention detection in distributed SIP server environments
US10171511B2 (en) 2014-09-25 2019-01-01 Microsoft Technology Licensing, Llc Media session between network endpoints
US10244003B2 (en) 2014-09-25 2019-03-26 Microsoft Technology Licensing, Llc Media session between network endpoints
US9596272B2 (en) 2014-09-25 2017-03-14 Microsoft Technology Licensing, Llc Media session between network endpoints
CN105980979B (zh) * 2014-12-13 2018-11-20 上海兆芯集成电路有限公司 用于检测暂停的逻辑分析器
WO2016092347A1 (en) * 2014-12-13 2016-06-16 Via Alliance Semiconductor Co., Ltd. Distributed hang recovery logic
CN105934743B (zh) 2014-12-13 2019-06-04 上海兆芯集成电路有限公司 一种微处理器及在其中检测arb的模式的方法
US9946651B2 (en) * 2014-12-13 2018-04-17 Via Alliance Semiconductor Co., Ltd Pattern detector for detecting hangs
CN105426234B (zh) * 2015-10-30 2019-02-19 小米科技有限责任公司 数据库死锁检测方法及装置
US10158679B2 (en) 2015-11-18 2018-12-18 Microsoft Technology Licensing, Llc Media session between network endpoints
US10079863B2 (en) 2015-11-18 2018-09-18 Microsoft Technology Licensing, Llc Media session between network endpoints
CN106557371B (zh) * 2016-10-26 2019-09-10 北京交通大学 一种基于边追踪的分布式系统死锁检测方法
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
CN107166666A (zh) * 2017-06-09 2017-09-15 广东美的制冷设备有限公司 空调器制热控制方法、装置及计算机可读存储介质
US10891179B2 (en) * 2018-10-22 2021-01-12 Western Digital Technologies, Inc. Data storage device with deadlock recovery capabilities
CN110163155B (zh) * 2019-05-23 2021-07-09 北京旷视科技有限公司 人脸数据的处理方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459871A (en) * 1992-10-24 1995-10-17 International Computers Limited Detection and resolution of resource deadlocks in a distributed data processing system
CN101657766A (zh) * 2007-04-13 2010-02-24 西门子共同研究公司 用于分布式工厂控制系统的在线故障检测和避免框架
US7735089B2 (en) * 2005-03-08 2010-06-08 Oracle International Corporation Method and system for deadlock detection in a distributed environment

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US781012A (en) 1904-07-07 1905-01-31 Samuel J Mcdonald Neck-yoke center.
DE69422743T2 (de) 1993-03-30 2000-06-08 Fujitsu Ltd Endlosschleife-Erkennungsgerät
US5682537A (en) * 1995-08-31 1997-10-28 Unisys Corporation Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system
US6834386B1 (en) 1999-07-16 2004-12-21 Microsoft Corporation Method and system for regulating background tasks using performance measurements
US7403945B2 (en) * 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US7512606B2 (en) 2005-03-31 2009-03-31 International Business Machines Corporation Database contention and deadlock detection and reduction within application servers
US8219697B2 (en) * 2006-05-17 2012-07-10 Oracle International Corporation Diameter protocol and SH interface support for SIP server architecture
US20080282244A1 (en) 2007-05-07 2008-11-13 Microsoft Corporation Distributed transactional deadlock detection
US8977730B2 (en) 2010-11-18 2015-03-10 International Business Machines Corporation Method and system for reducing message passing for contention detection in distributed SIP server environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459871A (en) * 1992-10-24 1995-10-17 International Computers Limited Detection and resolution of resource deadlocks in a distributed data processing system
US7735089B2 (en) * 2005-03-08 2010-06-08 Oracle International Corporation Method and system for deadlock detection in a distributed environment
CN101657766A (zh) * 2007-04-13 2010-02-24 西门子共同研究公司 用于分布式工厂控制系统的在线故障检测和避免框架

Also Published As

Publication number Publication date
US8977730B2 (en) 2015-03-10
CN102469106A (zh) 2012-05-23
US10346219B2 (en) 2019-07-09
US20170337093A1 (en) 2017-11-23
US20150215341A1 (en) 2015-07-30
US20120131159A1 (en) 2012-05-24
US9794300B2 (en) 2017-10-17

Similar Documents

Publication Publication Date Title
CN102469106B (zh) 检测和解决分布式服务器环境中的死锁的方法和系统
CN110046998B (zh) 跨链用权系统及方法、装置、电子设备、存储介质
CN104954322B (zh) 一种账号的绑定处理方法、装置及系统
CN100534047C (zh) 对Web服务资源的基于属性的索引和/或查询方法及系统
US10664498B2 (en) Interconnected graph structured database for identifying and remediating conflicts in resource deployment
US11544119B2 (en) Business rules processing framework for implementing new desired functionality in a telecommunication application
CN103999082A (zh) 用于检测社交媒体中的社区的方法、计算机程序和计算机
CN106131064A (zh) 面向多应用的用户数据管理方法和系统
USRE49866E1 (en) Correlation across non-logging components
Sandhu et al. A stochastic game net‐based model for effective decision‐making in smart environments
US10965517B2 (en) Correlation across non-logging components
Sukarsa et al. A New Framework for Information System Development on Instant Messaging for Low Cost Solution
Bhargava et al. An ontological context model for representing a situation and the design of an intelligent context-aware middleware
Liu et al. Node Importance Evaluation of Cyber‐Physical System under Cyber‐Attacks Spreading
Xiong et al. An axiomatic foundation for Yager's decision theory
US10484461B2 (en) Correlation across non-logging components
CN105468752B (zh) 一种数据产品构建系统
US20140052868A1 (en) Cobrowsing macros
CN106990992A (zh) 服务配置方法、装置、服务器及存储介质
US8250146B2 (en) Service adaptation machine
Tang et al. Improved document ranking in ontology‐based document search engine using evidential reasoning
Bhargava et al. RoCoMo: a generic ontology for context modeling, representation and reasoning in a context-aware middleware
CN102866909B (zh) 一种控制对接口资源访问的资源锁的系统和方法
CN111245875B (zh) 事件通知方法、设备、装置和计算机存储介质
Gong et al. Qualitative Analysis of Commercial Services in MEC as Phased‐Mission Systems

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