容错的资源委托的制作方法

文档序号:6454922阅读:143来源:国知局
专利名称:容错的资源委托的制作方法
容错的资源委托
背景
许多系统都具有需要单个外部资源来执行特定类型的操作的计算设备 但具有可供选择的多个资源。例如,假定银行的计算系统具有各自准备打 印特定文档的一半的两个设备和多个可用的打印资源(例如,激光打印机)。 为在一打印机上打印该文档,银行的计算系统需要分配多个可用打印机中 的一台并将该系统的两个设备委托给该一台打印机。如果两个设备都被委 托给该一台打印机,则该同一打印机可以打印文档的两半。或者,还是举 例,假定会议系统具有其每一个都处理来自不同的会议用户的音频的多个
设备,但需要多个音频多点控制单元(MCU)中的一个来处理所有不同的 用户的音频。为实现这一点,系统可以分配一个音频MCU并将其所有的设 备都委托给它。
某些现有的解决方案依赖于领导设备来将系统所有的设备都委托给一 个资源。该领导设备通常是系统的计算设备中预选择的并被更改为能够委 托系统的那一个。然而,这些现有解决方案可能容易因领导设备以某种方 式发生故障而受到损害。例如,如果领导设备将系统委托给特定资源并随 后崩溃,则其它计算设备可能不再能够使用该资源或其操作可能失败。 概述
本文描述了为具有需要由多个外部资源之一来执行特定类型的操作的 计算设备的系统启用容错的资源委托的工具。这些工具可以不依赖于预选 择的或经更改的计算设备的领导而做到这些。例如,假定系统是会议系统, 计算设备是前端服务器,特定类型的操作是需要处理来自系统中的用户的 音频的操作,而外部资源是其每一个都能够处理来自所有用户的音频的同 质音频多点控制单元(MCU)。在一实施例中,这些工具可以使任何前端 服务器能够分配单个音频MCU并委托所有其它前端服务器使用该单个 MCU以供其音频操作。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的 一些概念。本概述不旨在标识所要求保护的主题的关键或必要特征,也不
6旨在用于帮助确定所要求保护的主题的范围。例如,术语"工具"可以指上 述上下文和通篇文档所准许的系统、方法、计算机可读介质、和/或技术。 附图简述


图1示出本工具的各实施例可在其中操作的示例性操作环境。 图2是示出本工具用于使会议系统的前端服务器能够分配音频多点控 制单元以供会议系统的所有前端服务器使用的方法的示例性过程。
图3示出在图2的过程的描述中所使用的示例性元素,其中某些元素 是图1中阐明的那些元素的示例。
图4是示出本工具用于启用外部资源的容错委托的各实施例和方法的 示例性过程。
贯穿本公开和各附图,使用相同的编号来引用相同的组件和特征。 详细描述

以下文档描述能够为具有需要由多个可用外部资源之一来执行特定类 型的操作的计算设备的系统启用容错的资源委托的工具。
在一些实施例中,该工具可以使用共享数据存储来做到这点。例如, 假定系统设备中的两个基于共享数据存储中的信息来确定该系统尚未被委 托给外部资源。作为响应,其每一个都可以独立地分配不同的外部资源。 然后设备中的一个比另一个更快地联系共享数据存储,基于当前在共享数 据存储中的信息再次确定系统仍然尚未被委托给外部资源,并随后在共享 数据存储中指示其外部资源。该共享数据存储中的这一指示将系统委托给 该第一外部资源。
第二设备随后基于共享数据存储中来自第一设备的指示来确定系统现 已被委托给第一设备的外部资源。该第二设备回退其对不同的外部资源的 分配,并随后使用该第一外部资源。稍后需要分配外部资源的任何其它设 备都可以检查共享数据存储并确定外部资源已被委托。而如果第一设备发 生故障,则其它设备可以继续使用该外部资源。
以下在标题为示^丝凍/#^"裙的一节中阐明该工具可在其中启用这些 和其它动作的环境。该节之后是描述会议系统的前端服务器能用于工作来启用音频MCU的容错委托的示例性方法的另一节,其标题为示激会议y秀
统。最后一节描述其中该工具可以启用容错委托的各种其它实施例和方法 且其标题为该工4游,&^"嚴树。本概览,包括这些节标题和概述,是出 于方便读者的目的而提供的,而非旨在限制权利要求或所命名的各节的范 围。
示树丝凍,界裙
在详细描述该工具之前,提供示例性操作环境的以下讨论来帮助读者 理解可以采用该工具的各发明性方面的方式。以下所描述的环境仅构成一 个示例,并不旨在将该工具的应用限于任何一个特定操作环境、系统、计 算设备类型、外部资源类型、或操作。可以使用其它的环境而不背离所要 求保护的主题的精神和范围。
图1概括地在100处示出一个这样操作环境,包括具有一个或多个处 理器104和计算机可读介质106的计算系统102。系统的处理器能够访问和 /或执行计算机可读介质上的计算机可读指令。该系统包括或可以访问任意 数量n的计算设备108。这些设备可以是独立的或可在系统的处理器上执行 并存储在系统的计算机可读介质中。如技术人员可理解的,该系统可以具 有许多不同的结构和用途。例如,该系统可以包括会议系统;打印系统; 文件使用系统;以及其计算设备是处理线程的处理系统。
计算设备被指定为108a、 108b、 108c,直到108n。每一计算设备的处 理器IIO都能够访问和Z或执行其计算机可读介质112上的计算机可读指令。 每一设备的计算机可读介质包括或可以访问分配/委托模块114。注意,这 些元素中的每一个都用对应于其计算设备的"a"、 "b"、 "c"和"n"来指定。
这些计算设备可以具有一个以上类型的其为之使用外部资源的操作。 例如,计算设备可以向一个外部资源发送其音频并向另一个发送其视频。
这些计算设备在没有特定的计算设备是其它设备的协调者、是优选的、 和/或是被预选择来将系统委托给特定外部资源的意义上可以是同质的(并 且因而该系统是分布式的)。此外,在某些实施例中,所有计算设备在动 作(例如,处理从用户发送的音频)在被发送到计算设备的任何一个的情 况下保证成功的意义上是完全相同的。各计算设备还能够与共享数据存储118进行通信,并且在某些实施例中每一个都可以在本地保存信息。
在图1中,外部资源116被指定为116a、 116b、 116c,直到116p。外
部资源的任一个都能够处理来自多个计算设备108的特定类型的操作(用 在资源和系统之间的虚线来示出)。例如,示例性外部资源可以包括打 印机;记录组件;公布组件;用于存储内容的文件系统目录;以及MCU(音 频媒体、视频媒体、应用程序共享、记录、游戏、或其它)。
数据存储118可由计算设备108直接地或间接地访问,且可以独是计 算系统102的一部分或与其分开(两者都用虚线示出),并可以通过随其
自身的分配/委托模块(未示出) 一起包括的计算系统的各元素来执行操作。
例如,数据存储可以代表计算设备108并以事务性方式执行操作。在某点
处,数据存储可以包括指示系统或计算设备是否已被分配或委托给特定外
部资源的信息。在一些实施例中,数据存储是在计算设备中包括将系统委
托给特定外部资源的计算设备的任何一个发生故障时不必然会发生故障的
数据存储。
示,/会议^"统
在本节中> 使用利用两个前端服务器、音频MCU、和共享数据存储的 会议系统来描述该工具用以工作来启用容错的资源委托的一个示例性方 法。该示例是为供读者理解而提供的;其并不旨在限制该工具或所要求保 护的实施例的范围。该示例主要示于图2和图3中。图4中阐明了参考该 示例和其它示例的更一般的实施例。
图2的过程200被示为表示图3的前端服务器所执行的各个操一作或动 作的一系列框。此处描述的这些和其它过程能以任何合适的硬件、软件、 固件、或其组合来实现;在软件和固件的情况下,这些过程表示被实现为 存储在计算机可读介质中并由一个或多个处理器执行的计算机可执行指令 的操作集合。
在框202,图3的用户302a和302b尝试加入会议。用户拥有在此要通 过通信网络304发送到会议的音频和视频,且期望接收其它会议成员的音 频和视频。为清楚且简单起见,该示例过程只涉及处理从两个用户302a和 302b接收到的音频媒体。图3示出图1中所描述的元素和其它元素的具体示例,所有这些都被
用来描述该实施例。用户302a和302b以具有音频和视频接收和显示能力 的台式计算机示出,但也可以使用其它计算机或非计算机(例如,某些电 话)。会议系统306是计算系统102的一个示例,且具有处理器和计算机 可读介质(未示出)。前端服务器308a和308b是计算设备108a和108b 的示例,且具有处理器、计算机可读介质、和通过其可以执行过程200的 动作的分配/委托模块(未示出)。音频多点控制单元(MCU) 310a、 310b 和310c是外部资源116的示例D会议数据存储312是数据存储118的示例, 且可以包括SQL数据库或分布式散列表。
在框204,前端服务器308a和308b分别管理不同的用户,在此是用户 302a和302b。在该点处,每一前端服务器都可以已经确定会议系统已被委 托给特定音频MCU,尽管在此假定目前为止两个都未完成。
在框206,两个前端服务器都与会议数据存储312进行通信以接收指 示会议是否已被委托给音频MCU的信息。如果会议服务器已被委托,则两 个前端服务器都可以使用向其做了委托的音频MCU (跳至框222)。在此 假定会议系统未被委托。
会议数据存储包含关于,如果有的话,哪一会议(如果系统可以管理 多个会议)、哪些类型的外部资源现已或将来可以被委托、使用(或未使 用)特定类型的外部资源的哪一版本、以及使用每一类型的哪一特定外部 资源的信息。在此,会议是用户尝试加入的会议,外部资源的类型是音频 MCU (由数据存储中的〈MCUInformatior^所指示),且没有委托给音频 MCU (由数据存储中的〈null,0所指示)。在各前端服务器联系数据存储并 询问用户所需的会议是否正使用音频MCU时,其两者都接收到<111111,0> ("null (空)"指示没有委托给音频MCU,而"0"指示0版本),因为系统 未被委托给音频MCU。
在框208,每一前端服务器都在其本地存储器(未示出)中存储信息 (此处为化ul1,0〉)。
在框210,每一前端服务器都分配不同的音频MCU,在此是通过图3 中示出的向MCU工厂314发出的GetMCU命令来进行分配的。MCU工厂
10确定其资源的哪一个适于处理所请求的操作(在此是处理来自用户并预期
供会议使用的音频的特定操作)。MCU工厂分别将音频MCU 310a返回给 前端服务器308a和将音频MCU 310b返回给前端服务器308b。
在框212,每一前端服务器都更新其本地存储器。前端服务器308a通 过记录所分配的音频MCU来更新其存储器,在此是用0,AudioMCUa〉来 更新。同样,前端服务器308b通过记录所分配的音频MCU来更新其存储 器,在此是用0,AudioMCUb〉来更新。
在框214,每一前端服务器在不同的时间与会议数据存储进行通信。 在此,前端服务器308a首先与会议数据存储进行通信。该通信包括用该前 瑞服务器先前存储的信息〈AudioMCUa,0来调用会议数据存储。注意,每 一前端服务器都独立于另一前端服务器或另一前端服务器本地的信息(例 如,另一前端服务器的瞬时状态)而分配了音频MCU。稍后在下面该过程 将返回到前端服务器308b的动作。
在框216,会议数据存储代表前端服务器并以事务性方式确定会议系 统是否被委托了。如果否,则过程继续至框218。如果是,至框220。在此, 会议数据存储312代表前端服务器308a将会议数据存储中的当前信息 <肌11,0>与服务器的本地存储器中同样是<111111,0>的信息进行比较。这些相 同的版本号"O"和"O"指示自从该前端服务器最后一次联系会议数据存储以 来,系统尚未被委托给音频MCU。作为响应,过程继续至框218。
在框218,会议数据存储通过在会议数据存储中指示音频MCU 310a 来代表前端服务器将会议系统委托给其所分配的音频MCU。由此,用反映 该新资源且其是新版本的0,AudioMCUa〉来更新存储。由此,其用 "AudioMCUa"替换"null"并用"l"替换"O",生成<AudioMCUa,l>。
在框222,前端服务器使用会议系统向其做了委托的音频MCU,在此 是音频MCU310a,来处理用户302a的音频。
在前端服务器308a与会议数据存储通信之后,前端服务器308b也根 据框214与其进行通信。第二前端服务器(308b)从会议数据存储接收向 其委托了该系统的音频MCU,如果有的话。在此,会议数据存储返回 <AudioMCUa,l>,而不是〈nul1,0〉。这是因为第一前端服务器308a在框216
11处引起响应于其通信而对会议数据存储的更新。
在框216,会议数据存储代表前端服务器并以事务性方式确定会议系 统是否被委托了。在此,会议数据存储312代表前端服务器308b将来自服 务器的本地存储器中的信息<null,0>与会议数据存储中的当前信息 <AudioMCUa, 1 >进行比较。不同的版本号"0"和"1"指示自从前端服务器 308b最后一次联系会议数据存储以来,系统已被委托给音频MCU。作为响 应,过程继续至框220。
在框220,会议数据存储代表前端服务器回退其对音频MCU 310b的 分配。在框222,前端服务器使用向其做了委托的音频MCU310a。这最后 两个框能用于重新分配MCU310a,由此替换了音频MCU 310b。
如果音频MCU 310a发生故障,则可以重复该过程,但有一些不同。 在框206,两个前端服务器都可以与数据存储进行通信,并且如果资源尚未 被替换,则了解到当前版本仍然是"l"(从接收到〈AudioMCUa,1〉)。在框 208,两个前端服务器都在本地存储器中记录这一信息,并随后在框210分 配不同的音频MCU。在此,前端服务器将在框212记录新分配的音频 MCU包括音频MCU 310b和音频MCU 310c。在框214,两前端服务器再 次但又一次在不同的时间与数据存储进行通信。在此假定前端服务器308b 首先通信并再次从数据存储接收到〈AudioMCUa,1〉。
在框216,会议数据存储代表该前端服务器确定会议仍未被委托给有 效的MCU (其可能被委托给音频MCU 310a,但该前端服务器知道该资源 是无效的),因为刚接收到的版本号"1"与在框206接收到的同样为"1"的版 本号相同。因为会议未被委托给有效的音频MCU,所以前端服务器308b 的过程前进至框218并将会议系统委托给新分配的音频MCU310b。再次, 用会议数据存储中的指示(在此用〈AudioMCUb,2〉)来完成该委托。该前 端服务器的过程随后前进至框222,并使用向其做了委托的音频MCU310b。
另一前端服务器308a通过会议数据存储,并基于在框214和206的动 作的信息来确定会议系统在框216已被委托给有效的音频MCU 310b。由 此,会议数据存储代表该前端服务器将会议数据存储中的来自前端服务器 308b所指示的〈AudioMCUb,2〉的当前版本号"2"与前端服务器先前所接收到的为'T,的版本进行比较。由于会议系统已被委托,所以前端服务器308a 前进至框220和222,用音频MCU 310b重新分配其所分配的音频MCU 310c。注意,每一前端服务器(自身或事务性地通过数据存储)同样地能 够分配资源并随后将会议系统委托给资源,不论其是初始资源还是替换资 源。前端服务器也可以独立于彼此的本地信息而做到这点。 紅厕將实雄
上描述了该工具可以用以工作以在使用数据存储的会议系统中启用容 错的资源委托的示例性方法。下一节描述该工具的另外的实施例,包括图4 中示出的、被示为表示由该工具执行的各个操作或动作的一系列框的过程 400。该工具的这些实施例不旨在限制该工具或权利要求的范围。
框402基于系统的设备可访问的数据存储中的信息来确定,具有计算 设备的系统尚未将其计算设备委托给有效的外部资源,其中这些计算设备 需要由多个外部资源中的一个来执行特定类型的操作,该多个外部资源全 部都能够执行该特定类型的操作。例如,该工具可通过一个或多个计算设 备108或308中的分配/委托模块114来做到这点。
该工具可以从数据存储(例如,数据存储118或会议数据存储312) 接收指示系统没有委托给能够处理特定类型的操作的有效的外部资源的信 息。该信息可以指示该系统未被委托给外部资源或其被委托而该资源是无 效的或设备知道其是无效的。在任一情况下,该工具都允许为系统分配且 委托新的且有效的外部资源。
该信息还可以包括(能够处理所需类型的操作的)外部资源的类型的 指示和该外部资源的顺序或委托时间。例如,外部资源(或其缺失)的顺 序或时间可以包括版本号(例如,如在图2和图3的以上示例中所描述的) 或时间戳。该信息还可以指示已向其做了委托的外部资源是否是有效的, 尽管计算设备可能已经知道。
框404分配能够处理特定类型的操作的外部资源。该工具能以本领域 技术人员所知的方式来做到这些,如通过计算设备的内部计算或通过联系 其它实体(例如,命令MCU工厂分配资源的计算设备308之一的分配/委 托模块114)。注意,在该点处,系统的一个或多个计算设备可以已经确定该系统尚未被委托给有效的外部资源。作为响应,在框404,每一计算设备
都可以分配外部资源。
基于可由该系统的设备访问的数据存储中的信息,框406确定该系统 是否已将其计算设备委托给有效的外部资源。该信息可以来自于与在框402 所联系的相同的数据存储或其它存储。
在一些实施例中,该系统的计算设备之一的分配/委托模块确定数据存 储中的版本或时间戳是否指示系统正使用更加新的外部资源。如果在框402 数据存储指示了版本号,如"0"或"1",或现已过期的时间戳,如用'T'或"2" 或更高的时间戳来指示,则分配/委托模块可以确定该系统现已被委托给有 效的外部资源。如果该系统未被委托,则该工具前进至框408a如果该系统 已被委托,则该工具前进至框410。
框408在共享的数据存储中指示已分配的外部资源,该指示可用于将 系统委托给该已分配的外部资源。注意,任何将来的计算设备都不必联系 或依赖于分配该外部资源并将系统委托给该外部资源的计算设备。相反, 每一设备都可以通过数据存储中的这一指示,诸如用资源的句柄或路径名 来确定系统的向其做了委托的外部资源。由此,现在或稍后期望使用外部 资源来用于特定类型的操作的所有计算设备都将使用所指示的外部资源 (除非其稍后被替换)。已分配另一外部资源的设备可以确定应改为使用 所指示的资源,如用比其它设备在框402所接收到的数字上更高的版本号 或时间上更晚的时间戳来确定。例如,在图2和图3的以上示例中,该工 具用版本号来指示这一点。
框412使用向其委托该系统的外部资源。在此,外部资源是数据存储 中所指示的用有效的所分配的外部资源最快地联系数据存储的计算设备所 分配的外部资源。
框410回退所分配的外部资源。在此,计算设备或其它实体分配外部 资源,但在框406确定该系统已被委托给有效的外部资源。分配外部资源 的每一计算设备在系统已经委托一个设备时可以扔掉其所分配的资源以准
备使用该系统的已向其做了委托的外部资源。在以上示例中,该工具允许 所有前端服务器将其用户的音频发送到同一音频MCU,即使各前端服务器分配了不同的音频MCU。
在某些情况下,只有一个计算设备确定该系统未被委托给外部资源。 稍后,计算设备随后可以在框402 了解到,该系统被委托并随后跳至框412 以使用该资源。然而,在某些其它情况下,许多设备可在其任一个在框408 委托系统之前在框402 了解到该系统未被委托。第一设备(在框408委托 该系统的设备)之后的所有设备随后将确定其所分配的外部资源不需要了, 将其回退,并随后使用该系统的向其做了委托的资源。注意,稍后需要使 用该系统的向其做了委托的资源的所有设备都可以做到这点而不必依赖于 委托该系统的计算设备的稳健性。如果该计算设备发生故障,则数据存储 将不可能也发生故障,由此准许其它设备确定该系统被委托以及被委托给 哪一外部资源。
该工具可以允许任何计算设备用新资源替换外部资源(例如,替换如 图2和图3的实施例中所描述的无效的资源)。其可以不考虑优选的或领 导其它计算设备的任何一个计算设备或其本地的信息而做到这些。任何计 算设备都可在任何时刻做到这些,如在电话会议中间期间在音频MCU发生 或因其它原因应当被替换时。
注意,该工具还可以为多种类型的系统、计算设备、操作、和外部资 源启用这些动作。例如,系统可以是打印系统,每一设备都可以能够准备 文档的一部分以供打印,特定类型的操作可以是打印其各部分已准备的文 档,而外部资源可以是其每一个都能够打印该文档的所有部分的打印机。 结论
以上描述的工具为具有需要由多个外部资源之一来执行特定类型的操 作的计算设备的系统启用容错的资源委托。该工具可以不依赖于预选择的 或经更改的计算设备的领导而做到这些。如此,可以使具有需要使用多个 外部资源之一的计算设备的系统更加容错。虽然已经用对结构特征和/或方 法动作专用的语言描述了该工具,但是应该理解,在所附权利要求中定义 的该工具不必限于所述的具体特征或动作。相反地,这些具体特征和动作
是作为实现该工具的示例性形式而公开的。
1权利要求
1. 一种至少部分由一个或多个计算机处理器实现的方法,包括基于可由所有计算设备[108]访问的数据存储[118]中的信息[402],确定具有所述计算设备[108]的系统[102]尚未将其计算设备[108]委托给多个外部资源[116]中的一个,其中所述计算设备需要由所述多个外部资源[116]中的一个来执行特定类型的操作,所述多个外部资源全部都能够执行所述特定类型的操作;分配[404]所述资源[116]中的一个以执行所述特定类型的操作;基于所述数据存储[118]中的信息确定所述系统[102]仍然未被委托给所述资源[116]的另一个[406];以及在所述数据存储[118]中指示[408]所述资源[116]中的一个资源,所述指示可用于使所述设备[108]中的任一个能确定所述系统[102]被委托给所述资源[116]中的一个资源。
2. 如权利要求l所述的方法,其特征在于,还包括 确定在所述数据存储中所指示的所述资源中的所述一个资源是有效的;分配所述资源中的新的 一 个资源;基于所述数据存储中的信息确定所述系统仍然未被委托给所述资源中 的另一个新资源;以及在所述数据存储中指示资源中的所述新的一个资源,所述指示可用于 使所述设备中的任一个能确定所述系统被委托给所述资源中的所述新的一 个资源。
3. 如权利要求1所述的方法,其特征在于,所述指示动作可用于使所 述设备中的任一个能确定所述系统被委托给所述资源中的所述一个资源, 而所述设备中的任一个无需与所述设备中的其它设备进行通信。
4. 如权利要求1所述的方法,其特征在于,所述确定、分配、确定和 指示动作由所述系统的计算设备中的第一计算设备来执行,且所述方法还 包括由所述系统的计算设备中的第二设备来执行以下动作在所述第一设备的指示动作之前并基于所述数据存储中的信息,确定所述系统尚未将其计算设备委托给所述资源中的一个资源;为所述计算设备中的第二设备分配所述资源中的另一个资源来执行所述特定类型的操作;基于包括所述指示的所述数据存储中的信息且在所述第一设备的指示 动作之后,确定所述系统已被委托给所述资源中的所述一个资源;以及回退所述资源中的所述另一个资源并重新分配资源中的所述一个资源 来执行所述特定类型的操作。
5. —种包括计算设备[108]的系统[102],所述设备[108]中的每一个都 需要由多个外部资源[116]中的一个来执行特定类型的操作,所述多个外部资源全部都能够执行所述特定类型的操作并且可被分配给所述系统[102];以及通过在可由所述计算设备[108]中的任何其它设备访问的数据存储[118] 中指示所述资源[116]中的一个资源,能够独立地将所述系统[102]委托给所 述资源[116]中的所述一个资源,而不依赖于只可通过委托所述系统[102]的 计算设备[108]可用的信息,所述指示可用于使所述其它计算设备[108]能确 定所述系统[102]被委托给所述资源[116]中的所述一个资源。
6. 如权利要求5所述的系统,其特征在于,所述委托系统的能力如下 启用基于所述数据存储中的信息,确定所述系统未被委托给所述资源中的 任一个;分配资源中的所述一个资源;以及基于所述数据存储中的信息,确定所述系统仍未被委托给所述资源中 的任一个;其中所述指示动作是响应于确定所述系统仍未被委托的。
7. 如权利要求5所述的系统,其特征在于,所述计算设备中的每一个 都还能够使用可由所有所述计算设备访问的数据存储中可用的信息并且不 依赖于只可通过所述计算设备中的任何其它设备可用的信息,独立地用所 述资源中的新的一个资源来替换所述系统被委托给的所述资源中的所述一 个资源。
8. 如权利要求5所述的系统,其特征在于,所述委托系统的能力能够 要求所有所述设备将所述资源中的所述一个资源用于其所述特定类型的操 作。
9. 如权利要求5所述的系统,其特征在于,所述计算设备就所述计算 设备中没有一个是预选择来委托所述系统而言是没有领导性的。
10. 如权利要求5所述的系统,其特征在于,所述设备中的每一个都 能够使用其自身的本地信息来独立地委托所述系统。
11. 如权利要求5所述的系统,其特征在于,所述只可通过委托所述 系统的计算设备可用的信息包括所述设备的瞬时状态。
12. 如权利要求5所述的系统,其特征在于,所述系统是会议系统, 所述设备中的每一个都是前端服务器,所述特定类型是音频或视频媒体, 并且所述外部资源是音频多点控制单元或视频多点控制单元。
13. 如权利要求12所述的系统,其特征在于,所述前端服务器中的 每一个都同样地能够将所述系统委托给所述音频多点控制单元中的一个或 所述视频多点控制单元中的一个。
14. 如权利要求5所述的系统,其特征在于,所述系统是打印系统, 所述设备中的每一个都能够准备文档的一部分以供打印,所述特定类型是 打印其各部分已准备的文档,以及所述外部资源是其每一个都能够打印所 述文档的所有部分的打印机。
15. 如权利要求5所述的系统,其特征在于,所述系统是处理系统, 且所述计算设备中的每一个都是处理线程。
16. —种或多种其中具有计算机可读指令[114]的计算机可读介质 [112],所述指令在由一个或多个处理器[110]执行时,使得所述处理器[110] 执行以下动作基于可由前端服务器[308]访问的会议数据存储[312]中的信息[402],确 定具有所述前端服务器[308]的会议系统[306]尚未将其前端服务器[308]委 托给多个外部多点控制单元(MCU) [310]中的一个,其中所述前端服务器 需要由所述多个MCU中的一个来处理来自用户[302]的媒体,所述多个 MCU全部都能够处理所述媒体;向所述前端服务器[308]中的一个分配[210]所述MCU[310]中的一个 MCU来处理所述媒体;基于所述会议数据存储[312]中的信息确定[216]所述会议系统[306]仍 然未被委托给所述MCU[310]中的另一个MCU;以及在所述会议数据存储[312]中指示[218、 408]所述MCU[310]中的所述一 个MCU,所述指示可用于使所述前端服务器[308]中的另一个能确定所述会 议系统[306]被委托给所述MCU[310]中的所述一个MCU。
17. 如权利要求16所述的介质,其特征在于,所述第一确定动作包 括从所述会议数据存储接收第一版本号,而所述第二确定动作包括再次接 收能用于指示所述会议系统仍未被委托给所述MCU中的另一个MCU的所 述第一版本号。
18. 如权利要求16所述的介质,其特征在于,所述指示动作包括, 基于所述会议数据存储中的信息,存储与所接收到的原始版本号或原始时 间戳不相同的版本号或时间戳,作为所述第一确定动作的一部分。
19. 如权利要求16所述的介质,其特征在于,所述媒体是音频媒体, 且所述MCU是音频MCU。
20. 如权利要求16所述的介质,其特征在于,还包括 响应于确定所述MCU中的所述一个MCU是无效的并由所述会议系统向其做了委托,且基于所述会议数据存储中的信息,确定所述会议系统尚 未被委托给所述MCU中的新MCU;以及在所述数据存储中指示所述MCU中的新的一个MCU,所述指示可用 于使所述前端服务器中的另一个能确定所述会议系统被委托给所述MCU 中的所述新的一个MCU。
全文摘要
本文描述了为具有需要由多个外部资源的一个来执行特定类型的操作的计算设备的系统启用容错的资源委托的工具。该工具可以不依赖于预选择的或经更改的计算设备的领导而做到这点。例如,假定系统是会议系统,计算设备是前端服务器,特定类型的操作是要求处理来自会议中的用户的音频的那些操作,以及外部资源是其每一个都能够处理来自所有用户的音频的同质音频多点控制单元(MCU)。在一实施例中,该工具可以使任何前端服务器能分配单个音频MCU并委托所有其它前端服务器使用该单个MCU以供其音频操作。
文档编号G06F11/07GK101454759SQ200780018921
公开日2009年6月10日 申请日期2007年1月29日 优先权日2006年5月23日
发明者D·D·塞卡莱, S·纳拉亚南 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1