监控及恢复与医疗诊断器械相关联的软件组件的制作方法

文档序号:6497906阅读:194来源:国知局
监控及恢复与医疗诊断器械相关联的软件组件的制作方法
【专利摘要】本发明提供了一种用于向医疗诊断器械的网络应用恢复机制的系统。该系统包括以下部件:多个医疗诊断器械,每个医疗诊断器械均与网络连接的组件相关联;多个通信模块,每个通信模块均与多个网络连接的计算机软件组件中的对应组件相关联,其中,多个通信模块中的每一个被布置成对与对应组件网络连接的发生故障的组件进行报告;以及恢复模块,其被配置成:(i)获得来自通信模块的报告;(ii)重建发生故障的组件;以及(iii)向所有通信模块通知发生故障的组件的重建,其中每个通信模块还被配置成重建对应的组件与所重建的组件之间的连接。
【专利说明】监控及恢复与医疗诊断器械相关联的软件组件

【背景技术】
[0001] 1.【技术领域】
[0002] 本发明涉及软件组件监视领域,更具体地,涉及监视及恢复与医疗诊断器械相关 联的软件组件。
[0003] 2.现有技术说明
[0004] 当前的趋势是,为了监视和管理的目的,越来越多的诊断器械变为经由通信网络 连接。正在处理的数据的一个特性在于其通常是私人医疗数据。该要求尤其看重数据安全 性措施。另外,由于可能夜以继日地需要诊断器械,因此减少诊断器械的故障之间的平均时 间会是有益的。


【发明内容】

[0005] 本发明的一方面提供了一种用于向医疗诊断器械网络应用恢复机制的系统。该 系统可包括以下部件:多个医疗诊断器械,每个医疗诊断器械均与网络连接的组件相关联; 多个通信模块,每个通信模块均与多个网络连接的计算机软件组件中的对应的计算机软件 组件相关联,其中,多个通信模块中的每一个被布置成对与对应的组件网络连接的发生故 障的计算机软件组件进行报告;以及恢复模块,被配置成:(i)获得来自所述通信模块的报 告;(ii)重建发生故障的计算机软件组件;以及(iii)向所有通信模块通知发生故障的计 算机软件组件的重建,其中每个通信模块还被配置成重建多个计算机软件组件之一与所重 建的计算机软件组件之间的连接。
[0006] 在以下的详细描述中阐述本发明的这些、附加的和/或其他方面和/或优点,并且 它们可以从详细描述中推断出来和/或通过实践本发明来学习。

【专利附图】

【附图说明】
[0007] 根据结合附图所进行的本发明的实施例的详细描述,将更容易理解本发明,在附 图中:
[0008] 图1A是根据本发明的一些实施例的联网组件环境下的恢复机制的高级示意性框 图;
[0009] 图1B是根据本发明的一些实施例的联网组件环境下的恢复机制的高级示意和详 细框图;
[0010] 图2A和图2B是示出根据本发明的一些实施例的方面的序列图;
[0011] 图3A和图3B是示出根据本发明的一些实施例的其他方面的序列图;
[0012] 图4是示出根据本发明的一些实施例的建立彼此之间的连接的框图;
[0013] 图5是示出根据本发明的一些实施例的由CMP监控的两个组件在各层之间的通信 的序列图;
[0014] 图6是示出根据本发明的一些实施例当组件接收到服务请求时启动组件中的模 块的序列图;以及
[0015] 图7是示出根据本发明的一些实施例的通信类库的框图。

【具体实施方式】
[0016] 在详细地说明本发明的至少一个实施例之前,应理解,本发明不限于适用于在以 下描述中所阐述或者在附图中所示出的组件的构造和布置的细节。本发明可适用于其他实 施例或者以各种方式实践或实现。此外,应理解,本文中所采用的短语和术语是出于描述的 目的而不应当认为是进行限制。
[0017] 为了更好地理解本发明,本公开中的以下术语的使用以非限制性方式定义:
[0018] 本申请中此处使用的术语"组件"和"软件组件"被定义为包括业务逻辑、通信层、 订阅管理器和服务组件的软件应用。
[0019] 本申请中此处使用的术语"网络"被定义为使得能够在诸如上述组件的两个或更 多个节点之间交换数据的基础架构。在非限制性的私人情况下,两个或更多个节点可存在 于单个计算机上。
[0020] 本申请中此处使用的术语"通信模块"被定义为与组件相关联且负责以下的模块: (i)报告与组件网络连接的其他组件的故障;以及(ii)重建所重建的组件与对应的组件之 间的连接。
[0021] 本申请中此处使用的术语"恢复模块"被定义为负责系统中的组件的激活状态的 模块。
[0022] 本申请中此处使用的术语"配置管理器服务(CMS) "被定义为用于管理协作环境下 工作流的过程的集合。这些过程可以是手动的或基于计算机的。
[0023] 本申请中此处使用的术语"Windows通信框架(WCF) "被定义为.NET框架中的用 于构建连接的、面向服务的应用的应用程序编程接口(API)。
[0024] 本申请中此处使用的术语"WCF外观(WCF facade ) "被定义为允许WCF客户端 访问正在服务的组件的服务。
[0025] 本申请中此处使用的术语"是否激活调查(IsAlive poll) "被定义为从CMS中的 组件的客户端发送到其对应组件的通信模块以便检查组件的激活状态的消息。
[0026] 本申请中此处使用的术语"看门狗机制"被定义为负责每隔指定的时间段来检查 组件的激活状态的机制。
[0027] 本申请中此处使用的术语"业务逻辑模块"被定义为实际上向其他组件提供服务 并且请求来自其他服务的服务的模块。
[0028] 本申请中此处使用的术语"异常"被定义为当不满足正常流程图条件时程序所发 出的消息。
[0029] 本申请中此处使用的术语"方法调用"被定义为来自组件的用以执行任务的请求。
[0030] 图1A是根据本发明的一些实施例的联网组件90A-90D的环境下的恢复机制100 的高级示意性框图。恢复机制100可以包括多个通信模块110A-110D,每个通信模块均与 联网组件90A-90D中的对应的一个联网组件相关联。每个通信模块110 (例如,通信模块 110A)被布置成对发生故障的组件(例如,经由对应的组件90A与通信模块110A联网的组 件90B和90C)进行报告。另外,恢复机制100还可包括恢复模块120,恢复模块120被布置 成:⑴从通信模块110A-110D获取报告;(ii)重建发生故障的组件,例如组件90B和90C ; 以及(iii)向所有通信模块110A-110D通知发生故障的组件(例如,组件90B和90C)的重 建。
[0031] 响应于通过恢复机制100的操作实现的重建,并且继续上述示例,可向通信模块 110A-110D发送通知,并且通信模块110A-110D继而可重建它们对应的组件90A和90D与所 重建的组件90B和90C之间的连接。另外,可根据作为恢复优先级的、组件的指定优先级列 表130通过恢复模块120执行对发生故障的组件90B和90C的重建。
[0032] 图1B示出在配置管理器服务(CMS)80的背景中以非限制示例实现的恢复机制 的更详细表示,配置管理器服务80对以下内容进行管理:(i)组件150的信息;(ii)总体 配置152 ; (iii)客户端和优先级的信息154 ; (iv)订阅者信息的应用156 ;以及(v)调查 (poll)信息158。通信模块110A-110F与其对应的组件90A-90F之间的连接可经由WCF外 观85A-85F实现,其中,WCF外观85A-85F可以向组件90A-90F提供简化的接口。可触发上 述恢复处理以由以下部件操作:(i)CMS80 ;(ii)任何组件90A-90F ;和/或(iii)通信模块 110F-110F。
[0033] 表1示出了优先级的非限制性示例,并且本文中提供了待恢复的组件90A-90F的 相关联集合。
[0034] 发生故障的组件I优先级列表 |恢复组件 90A -- 90B 中等 90Β, 90C 90C 中等 90C, 90Β 90D f£ 90D 90E f£ 90E 90F M 90F, 90Β, 90C
[0035] 依照本发明的一些实施例,根据联网组件90A-90F之间的指定相互依赖性,可以 通过按组重建发生故障的组件90A-90F来执行恢复,以快速地恢复与组件90A-90F的组相 关联的功能性。
[0036] 图2Α示出了由CMS80执行的"是否激活调查" 200Α。CMS80本地或远程地为系统 中的每个组件保留一个客户端84(84Α、84Β等)。看门狗机制82可以每隔指定的时间段检 查组件(这里未示出)的操作。例如,CMS80可以每隔X分钟发送"是否激活调查",其中X 可经由配置来配置。CMS80中的客户端84Α可以从指示发生故障的组件的服务接收异常。
[0037] 图2Β示出了根据一个实施例的、通信模块之一 110Α对恢复模块的激活200Β。作 为对询问113(即对来自组件90Β的服务的请求)的响应,任意组件90(例如,组件90Β)可 能向组件90Α发出异常。因此,通信模块110Α可以识别出相关联的组件90Α接收到由组 件90Β发出的异常,并且作为发生故障的组件90Β的指示向业务逻辑模块144及其通信层 112(即,通信模块110Α)通知其接收到异常。
[0038] 然后,通信层112可以使用其对应的CMS客户端84向CMS80通知:特定的服务提 供商(即,发生故障的组件90B)发出异常。然后,CMS80可启动恢复机制100。
[0039] 结果,恢复模块120可尝试重新加载已损毁的发生故障的组件90B。在恢复模块 120无法重新加载损毁的组件90B并且组件90B在优先级列表130中被指定为关键的情况 下,恢复模块120激活对组件90B的终止操作。
[0040] 另外,恢复机制100可使用组件的优先级列表130来利于基于优先级的恢复机制。 恢复机制100可支持以下的分布:(i)在同一计算机上运行的本地组件;以及(ii)在网络 上运行的分布式组件。
[0041] 图3A是示出根据本发明的一些实施例的CMS80对WCF环境的激活序列300A的序 列图。CMS80创建用于激活302WCF外观85的客户端116。然后,WCF外观85创建业务逻 辑模块114的实例和通信模块110的实例。因此,通信模块(这里未示出)创建客户端116 以与CMS客户端(这里未示出)进行通信从而交换信息。然后,通信模块110可执行日志 提供商代理306并在WCF外观服务85中创建日志客户端的实例。
[0042] 图3B是示出根据本发明的一些实施例的CMS80对WCF环境的终止序列300B的序 列图。通过CMS80将终止消息310发送到通信层112而开始终止操作304。作为响应,通信 层112中的通信模块(这里未示出)将终止消息310发送到业务逻辑模块114。当业务逻 辑模块114准备经由其通信层112终止时,业务逻辑模块114将响应发送到WCF外观服务 85。然后,WCF外观服务85将准备终止消息118发送到通信模块110。作为响应,通信模块 110将组件准备终止消息321发送到CMS80。
[0043] 图4是示出根据本发明的一些实施例的两个组件建立彼此之间的连接的框图。每 个组件可以包括若干个客户端以向其他组件提供服务。例如,组件90A可经由客户端402B 向另一组件90B提供服务,并且组件90B可经由客户端402A向组件90A提供服务。另外, 每个组件均可包括针对CMS (这里未示出)的客户端,例如,组件90A中的CMS客户端404A 和组件90B中的CMS客户端404B。组件90A可经由客户端404A检索配置信息,并且组件 90B可经由CMS客户端404B检索配置信息。可检索的配置信息的示例是其他组件的服务端 点(endpoint)〇
[0044] 图5是示出由CMS80监控的两个组件90A与90B之间的订阅处理的序列图。根据 本发明的一些实施例,订阅处理经由不同的层执行。当组件90A要求来自组件90B的服务 时,可开始订阅处理。组件90A可以将登记请求消息502发送到CMS80,并且可以检索是指 使用CMS80的客户端所要求的服务的订阅管理器的端点。然后,CMS80在通信层112中对 组件90B的通信模块(这里未示出)创建具有登记请求的事件504。登记请求504是指所 选择的服务。所发送的请求消息的类型是回调方法。然后,在组件90B中,通信模块(这里 未示出)可重新打开订阅管理器模块520并且将登记请求506发送到订阅管理器模块520。 所发送的请求消息的类型是方法调用。作为响应,订阅管理器模块520可以向组件90A中 的客户端402B发送许可或拒绝通知508。该通知可以包括所选择的服务的端点。所发送的 消息的类型是回调方法。在订阅管理器向组件90A发送许可消息的情况下,组件90A打开 订阅者客户端510。所发送的请求消息的类型是回调方法。
[0045] 图6是示出根据本发明的一些实施例的当组件接收到对于服务的请求时启动组 件中的模块的序列图。CMS80可以发送方法调用以激活订阅管理器模块520。CMS80发送 方法调用以激活WCF外观服务85。作为响应,WCF外观服务85可以调用服务默认构造器 618。服务默认构造器618可以通过发送常规的方法调用来创建业务逻辑模块114的实例。 另外,WCF Facade服务85可以在通信层112中创建实例并且传递业务逻辑实例114作为未 来使用的自变量(argument)。
[0046] 然后,通信层112可以创建客户端650以与CMS80进行通信。通信层112可使用 该客户端650来从CMS80检索信息。可检索的信息是:(i)具有组件可能需要登记的所有 订阅管理器服务的端点的订阅信息;(ii)具有可授权组件附接至其的所有服务的端点的 客户端信息。基于从CMS80得到的、从订阅管理器模块520检索608的信息,通信层112可 以创建客户端624并且可发送订阅请求626。另外,通信层112可以基于从CMS80得到的关 于客户端的信息来创建用于所有服务的常规客户端622。然后,通信层112可以进行调用 以初始化WCFFacade85中的用于附加初始化的方法。然后,通信层(这里未示出)可以向 CMS80通知组件被加载。
[0047] 图7是示出根据本发明的一些实施例的通信类库的框图。通信类库允许每个组件 与CMS (这里未示出)进行通信以:(i)检索与组件希望打开的客户端有关的信息;(2)在另 一进程损毁的情况下得到通知;以及(3)得到组件重新加载的通知并且重新创建用于所重 新加载的组件的客户端并且登记至其事件。通信类库允许每个组件将该组件登记至其他进 程事件并且在其他进程服务时打开客户端。
[0048] 在以上描述中,实施例是本发明的示例或实现。"一个实施例"、"实施例"或"一些 实施例"的各种出现不一定都是指相同的实施例。
[0049] 虽然在单个实施例的上下文中可描述本发明的各个特征,但是特征还可单独地或 以任何适当组合提供。相反,虽然为了清楚而在本文中可以在单独实施例的上下文中描述 本发明,但是本发明也可以在单个实施例中实现。
[0050] 此外,应该理解,本发明可以各种方式实现或实践,并且本发明可以以除了在以上 描述中所概述的实施例外的实施例来实现。具体地,本发明不限于那些附图或对应的描述。 例如,流程不需要前进通过每个所示的框或状态,或者精确地以如所示和描述的相同顺序 前进。取决于根据具体特征或示例的应用,本文中所描述的方法可通过各种手段来实现。 例如,这样的方法可以以硬件、固件、软件、离散/固定逻辑电路、其组合等来实现。在硬件 或逻辑电路实现中,例如,处理单元可在一个或多个专用集成电路(ASIC)、数字信号处理器 (DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程栅阵列(FPGA)、处理 器、控制器、微控制器、微处理器、电子装置、被设计为执行本文中所述的功能的其他装置或 单元、或者其组合等内实现。
[0051] 对于固件或软件实现,方法可利用具有执行本文中所描述的功能的指令的模块 (例如,过程、功能等)来实现。可在实现本文中所描述的方法中使用实现指令的任何非暂 态计算机和/或机器可读介质。例如,来自计算机程序产品或其他源的软件代码可存储在 存储器中并由处理器执行。存储器可在处理器内或在处理器外部实现。如本文中所使用, 术语"存储器"是指长期存储器、短期存储器、易失性存储器、非易失性存储器或其他存储器 中的任意类型,并且不限于任何特定类型的存储器或者任何特定数量的存储器、或者储存 有存储器的介质的类型。在至少一些实现中,本文中所描述的存储介质的一个或多个组件 可存储代表由存储介质的特定主体表示的数据或信息的信号。例如,通过影响或改变存储 介质的这样的部分的状态以将数据或信息表示为二进制信息(例如,1和0),代表数据或信 息的电子信息可"存储"在存储介质(例如,存储器)的一部分中。同样,在具体实现中,存 储代表数据或信息的信号的存储介质的部分的状态的改变构成存储介质向不同状态或事 物的变换。
[0052] 除非有相反定义,本文中所使用的技术和科技术语的含义通常为本发明所属的领 域的普通技术人员所理解的那样。
[0053] 尽管针对有限数量的实施例描述了本发明,但是这些不应解释为对本发明的范围 的限制,而是解释为部分优选实施例的例示。其他可能的变化、变型和应用也在本发明的范 围内。因此,本发明的范围不限于迄今为止描述的范围,而是由所附权利要求书及其合法等 同方案限制。
【权利要求】
1. 一种用于向多个计算机软件组件应用恢复机制的系统,所述多个计算机软件组件控 制医疗诊断,所述系统包括: 多个医疗诊断器械,每个医疗诊断器械均与计算机软件组件相关联; 多个通信模块,每个通信模块均与所述多个计算机软件组件中的对应的一个计算机软 件组件相关联,其中所述多个通信模块中的每一个被布置成对发生故障的计算机软件组件 进行报告;以及 恢复模块,其被配置为: (i) 获得来自所述通信模块的报告; (ii) 重建所述发生故障的计算机软件组件;以及 (iii) 向所有通信模块通知所述发生故障的计算机软件组件的重建; 其中,每个通信模块还被配置为重建所述多个计算机软件组件中的对应的一个计算机 软件组件与所重建的计算机软件组件之间的连接。
2. 根据权利要求1所述的系统,其中,所述恢复模块还被配置为根据计算机软件组件 的指定优先级列表重建所述发生故障的计算机软件组件。
3. 根据权利要求1所述的系统,其中,所述恢复模块还被配置为根据指定规则在其它 发生故障的计算机软件组件之前重建关键的发生故障的计算机软件组件。
4. 根据权利要求1所述的系统,其中,所述恢复模块还被配置为根据网络连接的组件 之间的指定相互依赖性,按组重建所述发生故障的计算机软件组件。
5. 根据权利要求1所述的系统,其中,所述恢复模块还被配置为在一个或多个网络连 接的计算机软件组件的重建失败时终止所述一个或多个网络连接的计算机软件组件的操 作。
6. 根据权利要求1所述的系统,其中,所述恢复模块还被配置为基于计算机软件组件 的预定义优先级顺序执行所述通知。
7. -种向控制医疗诊断器械的软件组件应用恢复机制的方法,所述方法包括: 监视多个医疗诊断器械,每个医疗诊断器械均经由多个通信模块与软件组件相关联; 在软件组件发生故障时,获得来自所述通信模块的报告; 在分析所述报告时,重建发生故障的软件组件; 向所有通信模块通知所述发生故障的软件组件的重建;以及 经由所述通信模块重建所述软件组件与所重建的软件组件之间的连接。
8. 根据权利要求7所述的方法,其中,根据软件组件的指定优先级列表来执行所述发 生故障的软件组件的重建。
9. 根据权利要求7所述的方法,其中,根据指定规则执行所述发生故障的组件的重建, 使得在其他发生故障的软件组件之前重建所述发生故障的软件组件。
10. 根据权利要求7所述的方法,其中,根据网络连接的软件组件之间的指定相互依赖 性来执行所述发生故障的软件组件的重建。
11. 根据权利要求7所述的方法,还包括:在一个或多个网络连接的软件组件的重建失 败时终止所述一个或多个网络连接的软件组件的操作。
12. 根据权利要求7所述的方法,其中,基于软件组件的预定义优先级顺序来执行所述 通知。
13. -种在非暂态计算机可读介质上实现的计算机程序产品,所述计算机程序产品包 括: 用于监视与医疗器械相关联的软件组件的计算机代码,每个医疗器械均经由多个通信 模块与软件组件相关联; 用于在软件组件发生故障时获得来自所述通信模块的报告的计算机代码; 用于在分析所述报告时重建发生故障的软件组件的计算机代码; 用于向所有通信模块通知所述发生故障的软件组件的重建的计算机代码;以及 用于经由所述通信模块重建所述软件组件与所重建的软件组件之间的连接的计算机 代码。
14. 根据权利要求13所述的计算机程序产品,其中,根据组件的指定优先级列表来执 行所述发生故障的软件组件的重建。
15. 根据权利要求13所述的计算机程序,其中,根据指定规则执行所述发生故障的软 件组件的重建,使得在其他发生故障的软件组件之前重建所述发生故障的软件组件。
16. 根据权利要求13所述的计算机程序产品,其中,根据网络连接的软件组件之间的 指定相互依赖性来按组执行所述发生故障的软件组件的重建。
17. 根据权利要求13所述的计算机程序产品,还包括:用于在一个或多个网络连接的 软件组件的重建失败时终止所述一个或多个网络连接的软件组件的操作的计算机代码。
18. 根据权利要求13所述的计算机程序产品,其中,基于软件组件的预定义优先级顺 序来执行所述通知。
【文档编号】G06F15/173GK104067264SQ201280066236
【公开日】2014年9月24日 申请日期:2012年11月19日 优先权日:2011年12月6日
【发明者】什洛莫·加贝尔, 埃利兰·塔米尔(已故) 申请人:伯乐实验室有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1