用于手持医疗设备的密码数据分布和撤销的制作方法
【专利摘要】一种方法包括:在配置设备处从远程数据服务器接收撤销列表。撤销列表包括分别与N个计算机软件实体关联的N个密码证书,所述N个计算机软件实体不由包括手持医疗设备的一组医疗设备中的任何一个来运行。N是大于或等于零的整数。该方法进一步包括在配置设备处从手持医疗设备接收数据。所述数据包括与给定的计算机软件实体关联的密码证书,所述给定的计算机软件实体当前被安装在手持医疗设备的存储器中以供手持医疗设备运行。该方法进一步包括将密码证书与撤销列表相比较;并且当密码证书与撤销列表的N个密码证书之一相同时,由配置设备来选择性地运行保护功能。
【专利说明】用于手持医疗设备的密码数据分布和撤销
【技术领域】
[0001]本公开涉及手持医疗设备并且更特别地涉及用于手持医疗设备的数据分布及撤销系统和方法。
【背景技术】
[0002]糖尿病症(通常被称作糖尿病)是一种慢性症状,其中人具有由身体的产生和/或使用胰岛素的能力的缺陷所引起的升高的血糖水平。存在三种主要类型的糖尿病。类型I糖尿病通常侵袭儿童和年轻成人,并且能够是自身免疫的、遗传性的、和/或环境方面的。类型2糖尿病占糖尿病情况的90-95%,并与肥胖和身体不活动相联系。妊娠糖尿病是在怀孕期间诊断出的葡萄糖耐受不良的形式,并通常在输液之后自然痊愈。
[0003]在2009年,根据世界卫生组织,全世界至少2亿2千万人患有糖尿病。在2005年,估计有110万人死于糖尿病。糖尿病的发病率快速上升,并且据估计,在2005年到2030年之间,死于糖尿病的人数将翻倍。在美国,将近2千4百万美国人患有糖尿病,其中年龄在60岁以及更老的老年人中估计有25%受到影响。疾病控制和预防中心预报:2000年后出生的3个美国人中有I个将在其寿命期间患上糖尿病。国家糖尿病信息交换中心估计:糖尿病仅仅在美国每年就耗费1320亿美元。在不治疗的情况下,糖尿病可能导致严重的并发症,诸如,心脏病、中风、失明、肾衰竭、截肢以及与肺炎和流感相关的死亡。
[0004]糖尿病的管理是复杂的,原因在于进入血流的血糖水平是动态的。控制葡萄糖输出血流的血流中胰岛素的变化还使糖尿病管理复杂化。血糖水平对饮食和锻炼敏感,而且还会受睡眠、压力、吸烟、旅行、疾病、月经、以及对每个患者来说唯一的其他心理和生活方式因素所影响。血糖和胰岛素的动态性质以及影响血糖的所有其他因素通常需要患有糖尿病的人预报血糖水平。能够调节和定时胰岛素和/或口服药物的给予(administration),以始终将血糖水平维持在适当范围内。
[0005]糖尿病的管理通常是高度侵入的,原因在于需要一直获得可靠的诊断信息、遵照处方治疗、并且管理每天的生活方式。能够利用穿刺设备和试纸条从毛细管血样获得诸如血糖水平之类的诊断信息。经由试纸条使用手持血糖计来测量血糖水平。能够从在身体上佩戴的连续葡萄糖传感器获得间质性葡萄糖水平。
[0006]能够基于患者的血糖水平中的一个或多个来建立针对患者的治疗方案。治疗方案能够包括胰岛素和/或口服药物的给予。胰岛素能够利用注射器、胰岛素笔、便携式输液泵、或以上的两个或更多的组合来给予。在胰岛素治疗的情况下,确定在给定时间处要注射的胰岛素的量能够需要预报膳食量和成分(例如,脂肪、碳水化合物、和蛋白质的成分,以及每种的量)。确定在给定时间处要注射的胰岛素的量还能够需要考虑锻炼和生理状态的影响。患者的对诸如体重、饮食、和锻炼之类的生活方式因素的管理能够显著影响治疗的类型和有效性。
[0007]糖尿病的管理涉及从医疗设备、个人保健设备、患者记录信息、保健专业人士测试结果、处方药物、和记录信息所获取的大量诊断数据和处方数据。医疗设备包括自我监测的bG计、连续葡萄糖监测器、胰岛素输液泵、糖尿病分析软件、和糖尿病设备配置软件,其中每个生成或管理或生成并管理大量的诊断和处方数据。个人保健设备能够包括称重计、血压带、计步器、其他活动监测器、和其他合适设备。患者记录数据能够包括与膳食、锻炼、和生活方式相关的信息。保健专业人士生物标记数据能够包括HbAlC、胆固醇、甘油三酯、空腹血糖、和葡萄糖耐量。保健专业人士记录信息能够包括治疗和其他患者特定的信息。
[0008]随时间的过去,手持医疗设备可能变得过时。在一些情况下,针对手持医疗设备所运行软件的一个或多个更新可以是令人期望的。因而,存在对提供更新手持医疗设备的能力的系统的需要。另外地,存在对提供安全地更新手持医疗设备的能力的系统的需要。
[0009]本文所提供的背景描述是为了大体呈现本公开的上下文的目的。就在本背景章节中的描述而言,当前署名的
【发明者】的工作以及该描述的原本在提交申请时不构成现有技术的各方面,既不明确又不隐含地承认其为针对本公开的现有技术。
【发明内容】
[0010]在一个特征中,提供了一种保护手持医疗设备免于运行被安装在手持医疗设备的存储器中以供手持医疗设备运行的计算机软件实体的方法。该方法包括:在配置设备处从远程数据服务器接收撤销列表。撤销列表包括分别与N个计算机软件实体关联的N个密码证书,所述N个计算机软件实体不由包括手持医疗设备的一组医疗设备中的任何一个来运行。N是大于或等于零的整数。该方法进一步包括在配置设备处从手持医疗设备接收数据。所述数据包括与给定的计算机软件实体关联的密码证书,所述给定的计算机软件实体当前被安装在手持医疗设备的存储器中以供手持医疗设备运行。该方法进一步包括将密码证书与撤销列表相比较;以及当密码证书与撤销列表的N个密码证书之一相同时,由配置设备来选择性地运行保护功能。
[0011]在另一个特征中,提供了一种调节在手持医疗设备的存储器中存储的数据的可更新性的方法。该方法包括:在配置设备处从第一远程数据服务器接收撤销列表。撤销列表包括分别与N个手持医疗设备关联的N个密码证书,所述N个手持医疗设备被拒绝对经由第二远程数据服务器而可访问的数据的访问。N是大于或等于零的整数。该方法进一步包括在配置设备处从手持医疗设备接收数据。所述数据包括与手持医疗设备关联的密码证书。该方法进一步包括将密码证书与撤销列表相比较;并且在确定密码证书与撤销列表的N个密码证书中的任何一个都不同之后,利用来自第二远程数据服务器的数据来选择性地更新手持医疗设备。
[0012]本公开的其他应用领域将根据以下提供的详细描述变得显而易见。应该理解,该详细描述和特定示例仅意在用于示意的目的,而不意在限制本公开的范围。
【专利附图】
【附图说明】
[0013]根据详细描述和附图,本公开将被更充分理解,在附图中:
图1示出了患者以及保健专业人士连同能够被用来帮助患者监测和控制健康的各种设备;
图2示出了带有连续葡萄糖监测器(CGM)、便携式耐用胰岛素输液泵、便携式非耐用胰岛素输液泵、和血糖(bG)管理设备的患者; 图3示出了能够被用来管理糖尿病的系统中的糖尿病护理系统;
图4是手持糖尿病管理设备的示例性实现的高级图;
图5包括手持糖尿病管理设备的示例性实现的功能框图;
图6A包括安全通信系统和方法的示例性图示;
图6B包括示例性数据分布系统的功能框图;以及 图7包括控制对手持医疗设备的数据分布的方法的示例性图示。
【具体实施方式】
[0014]以下描述实质上仅是说明性的,并且绝不意在限制本公开、其应用、或使用。为了清楚的目的,在附图中将使用相同的附图标记来标识类似的元素。如本文所使用的,短语A、B和C中的至少一个应当被理解成意味着使用非排他逻辑或的逻辑(A或B或C)。应该理解,方法内的步骤能够在不更改本公开的原理的情况下按不同次序来运行。
[0015]现在参考图1,在临床环境中示出了患有糖尿病的患者100和保健专业人士 102。患有糖尿病的患者100能够被诊断患有代谢综合征、前驱糖尿病、类型I糖尿病、类型2糖尿病、妊娠糖尿病等。糖尿病的保健提供者是多样的,并包括护士、从业护士、内科医生、内分泌医生和其他,并被通称为保健专业人士。
[0016]在保健咨询期间,患者100通常与保健专业人士 102共享多种数据,包括血糖(bG)测量、连续葡萄糖监测数据、所给予的胰岛素的量和类型、所消耗的食物和饮料的量、锻炼安排、健康状态、和其他生活方式信息。保健专业人士 102能够获得患者100的附加数据,诸如对HbAlC、胆固醇水平、血糖、甘油三酯、血压、和体重的测量。能够在手持糖尿病管理设备104 (例如,手持bG监测器设备)、在个人计算机(PC)106上所运行的糖尿病分析软件、和/或基于web (网络)的糖尿病分析站点上人工或电子地记录所述数据。保健专业人士102能够使用糖尿病分析软件和/或基于web的糖尿病分析站点来人工或电子地分析患者数据。在分析数据并检查先前所开处方的治疗多有效以及患者100对先前所开处方的治疗遵循得多好之后,保健专业人士 102能够决定是否修改针对患者100而开处方的治疗。
[0017]现在参考图2,患者100能够使用连续葡萄糖监测器(CGM)200、便携式耐用胰岛素输液泵204或便携式非耐用胰岛素输液泵202 (通称为胰岛素泵204)、以及糖尿病管理设备104。CGM 200能够使用皮下传感器来感测和监测患者100的葡萄糖的量(例如,葡萄糖浓度)。CGM 200将葡萄糖测量传送至糖尿病管理设备104。
[0018]糖尿病管理设备104执行各种任务,包括测量和记录bG测量、确定要经由胰岛素泵204给予到患者100的胰岛素的量、经由用户界面来接收用户输入、对数据进行存档、执行结构化bG测试等。糖尿病管理设备104能够将指令发送到胰岛素泵204,并且胰岛素泵204选择性地将胰岛素输送至患者100。能够以膳食单次剂量、校正单次剂量、基础剂量等的形式来输送胰岛素。
[0019]现在参考图3,示出了能够由患者100和/或保健专业人士 102来使用的糖尿病管理系统300。系统300能够包括以下设备中的一个或多个:糖尿病管理设备104、CGM 200、胰岛素泵204、移动设备302、在计算机106上所运行的糖尿病管理软件、以及一个或多个其他保健设备304。糖尿病管理设备104能够被配置为系统“中心”,并且与系统300的其他设备中的一个或多个进行通信。胰岛素泵204、移动设备302、或另一个合适的设备能够可替代地充当系统中心。系统300中的各种设备之间的通信能够使用无线接口(例如,蓝牙)和/或有线接口(例如,USB)来执行。这些设备所使用的通信协议能够包括符合如使用由Continua Health Alliance Design Guidelines 所提供的指南而扩展的 IEEE 11073 标准的协议。进一步地,患者100和保健专业人士 102能够使用诸如Microsoft HealthVault ?和Google Health ?之类的保健记录系统来交换信息。
[0020]在计算机106上运行的糖尿病管理软件能够包括存储用于系统300的设备的配置信息的分析器-配置器。仅例如,配置器具有存储用于糖尿病管理设备104和其他设备的配置信息的数据库。患者能够通过基于标准web或计算机图形用户界面(GUI)来对接配置器。配置器选择性地将患者批准的配置发送到系统300的设备。分析器选择性地从系统300的设备检索数据,在数据库中存储所述数据,选择性地分析所述数据,并且通过基于标准web或计算机GUI来输出分析结果。
[0021]现在参考图4,呈现了糖尿病管理设备104的示例性实施例的高级图示。糖尿病管理设备104除其他事物之外还包括外壳404、用户单元控制开关(未具体地编号)、触摸屏显示器408、和bG试纸条端口 420。用户单元控制开关例如能够包括用于bG测试和/或胰岛素给予的开/关开关、音量开关、警报开关,和/或患者能够用来控制糖尿病管理设备104的功能/操作的一个或多个其他开关或其他类型的控制设备。
[0022]能够将bG试纸条416插入到bG试纸条端口 420中。患者能够从位于外壳404内的试纸条鼓(未示出)或者以另一种合适的方式将bG试纸条416插入到bG试纸条端口 420中。在图4的不例中不出了已将bG试纸条416插入到bG试纸条纟而口 420中,并且在图5的示例中还没将其插入到bG试纸条端口 420中。
[0023]能够在显示器408的一部分上显示用户可选择选项424。可选择选项424能够包括菜单选项428、单次胰岛素选项432、碳水化合物选项436、以及事件选项440。一个或多个其他用户可选择选项能够附加或可替代地可用。患者能够通过选择菜单选项428来访问糖尿病管理设备104的设备菜单。患者能够通过选择单次胰岛素选项432来输入各种胰岛素(和/或其他药物)信息(例如,量、胰岛素类型等)。患者能够通过选择碳水化合物选项436来输入各种碳水化合物摄取量信息(例如,量)。患者还能够通过选择碳水化合物选项436来输入其他食物摄取量信息(例如,蛋白质含量、脂肪含量等)。患者能够通过选择事件选项440来输入能够影响患者的bG测量的各种事件相关的信息(例如,膳食、锻炼、压力的时期等)。
[0024]尽管本文中将显示器408描述为触摸屏显示器,但糖尿病管理设备104也能够包括另一种合适形式的显示器(例如,LED等)。在不使用触摸屏显示器的情况下,用户控制开关能够包括特定的按钮或控制装置,患者能够通过所述按钮或控制装置来选择操作糖尿病管理设备104所需的各种选项和输入标记。
[0025]以上描述是糖尿病管理设备104的广泛描述。实际上,由于糖尿病管理设备104能够被期望成进一步增强其与其他组件和设备(例如,计算机、输液泵、蜂窝电话等)的利用或使用,所以其能够包括附加控制装置、输入端口、输出端口等。对糖尿病管理设备104的描述不应该视为针对糖尿病管理设备104的构造或者针对糖尿病管理设备104的特征和能力的限制。
[0026]如本文所使用的,术语“模块”能够指代、属于、或包括以下各项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);运行代码的处理器(共享、专用、或组);提供所描述功能的其他合适组件;或以上的一些或所有的组合,例如在片上系统中。术语“模块”能够包括存储由处理器所运行的代码的存储器(共享、专用、或组)。
[0027]如以上所使用,术语“代码”能够包括软件、固件、和/或微代码,并且能够指代程序、例程、功能、类、和/或对象。如以上所使用,术语“共享”意味着:能够使用单个(共享)处理器来运行来自多个模块的一些或所有代码。另外,来自多个模块的一些或所有代码能够由单个(共享)存储器来存储。如以上所使用的,术语“组”意味着:能够使用一组处理器来运行来自单个模块的一些或所有代码。另外,能够使用一组存储器来存储来自单个模块的一些或所有代码。
[0028]本文所描述的装置和方法能够由一个或多个处理器所运行的一个或多个计算机程序来实现。计算机程序包括在非临时有形计算机可读介质上存储的处理器可执行指令。计算机程序还能够包括所存储的数据。非临时有形计算机可读介质的示例包括但不限于非易失性存储器、磁存储、和光学存储。
[0029]现在参考图5,呈现了糖尿病管理设备104的功能框图。虽然将结合糖尿病管理设备104来讨论本公开,但本公开还可应用于其他手持医疗设备,包括胰岛素泵、CGM、和其他类型的手持医疗设备。
[0030]糖尿病管理设备104能够包括能够从bG测量引擎508接收信息的处理器模块(例如,基于微处理器的子系统)504。bG测量引擎508能够邻近bG试纸条端口 420。bG测量引擎508读取(测量)被插入到bG试纸条端口 420中的bG试纸条416的bG水平。bG测量引擎508能够包括代码密钥模块512,所述代码密钥模块512包括用于确定来自bG试纸条416的bG水平的预校准数据。可以从容纳糖尿病管理设备104内的未使用的bG试纸条的试纸条鼓中提供bG试纸条416。
[0031]bG测量引擎508基于其对bG试纸条416的读取来生成bG样本数据516。除了其他事物之外,bG样本数据516尤其包括指示bG试纸条416上的血样的bG水平的数据。处理器模块504还能够从其他源诸如经由CGM200、显示器408、和/或另一个合适的源来接收bG样本数据。处理器模块504能够经由诸如显示器408、一个或多个按钮/开关/等、和/或一个或多个其他用户输入/输出(I/O)设备之类的一个或多个用户I/O设备514来接收用户输入数据。
[0032]bG测量引擎508还能够生成bG样本数据516以指示读取bG试纸条416的日期和时间。换句话说,bG测量引擎508能够包括与bG样本数据516 —起的时间戳。在各种实现中,处理器模块504能够选择性地对bG样本数据516加时间戳,并且能够在接收到用户输入数据和其他数据时对其加时间戳。
[0033]时钟518能够提供日期和时间。患者能够配置当前的日期和时间,并且此后时钟518追踪当前的日期和时间。在各种实现中,能够从计算机106获取(例如,与其同步)当前的日期和时间。
[0034]糖尿病管理设备104包括数据存储区532。仅例如,数据存储区532可以包括存储器和/或一个或多个其他合适的有形计算机可读介质。可以在数据存储区532中存储各种数据。仅例如,在数据存储区532中存储计算机软件实体536。计算机软件实体536可以包括例如固件、软件、变量等。处理器模块504选择性地运行计算机软件实体536的各部分以执行糖尿病管理设备104的功能。
[0035]在向公众发布糖尿病管理设备104之前,可以将计算机软件实体536写到数据存储区532。在发布了糖尿病管理设备104之后,可以更新计算机软件实体536。可以例如经由在计算机106上运行的软件或者经由远程数据服务器来更新计算机软件实体536 (也见图 6B)。
[0036]还可以在数据存储区532中存储设备数据540。设备数据540可以包括例如产品类型数据、产品版本数据、区域数据、软件证书、唯一设备标识符、设备/用户证书、和其他合适的设备特定数据。产品类型数据可以指示例如bG管理设备、胰岛素泵、CGM等。产品版本数据可以指示例如糖尿病管理设备104的版本(或生成)、模型名称/号码等。软件证书可以包括例如计算机软件实体536的版本或标识符以及其他合适的数据。软件证书是密码(数字)证书。软件证书还可以被称为代码证书。唯一设备标识符可以包括对于糖尿病管理设备104而言是唯一的诸如序列号或另一合适的唯一标识符之类的数据。设备/用户证书是密码(数字)证书,其对于糖尿病管理设备104而言是唯一的。
[0037]还可以在数据存储区532中存储密码数据544。密码数据544可以被用于例如,对糖尿病管理设备104发送到另一个设备的消息进行加密、对糖尿病管理设备104从另一个设备接收的消息进行解密、认证、验证、以及其他密码功能中。仅例如,密码数据544可以包括一个或多个密钥(例如,公共)、一种或多种加密算法、一种或多种解密算法、以及其他合适的密码数据。
[0038]现在参考图6A,呈现了安全通信系统600和安全通信方法602的示例性实现。安全通信系统600包括管理器604和代理606。管理器604可以与一个或多个其他代理进行通信,并且代理606可以与一个或多个其他管理器进行通信。将讨论管理器604与代理606之间的通信,但以下讨论可应用于其他管理器与代理之间的通信。
[0039]管理器604与代理606可以通信,例如结合管理器604更新在代理606的存储器中所存储的数据。然而,根据协议来执行管理器604与代理606之间的通信,以确保通信是安全的。所述协议可以符合根据RSA实验室公钥密码标准(PKCS)卷#1的RSA密码标准或另一合适的密码协议。所述协议可以涉及SHA-2 (例如,SHA-256)密码散列算法、SHA-3密码散列算法、或另一合适的密码散列算法的使用。
[0040]管理器中的每个可以被赋予多个不同角色之一。充当一个角色的管理器可以能够更新在代理606的存储器中所存储的预定类型的数据。每个不同角色可以与更新不同预定类型的数据的能力相关联。更新不同类型的数据的能力可以基于最小特权的原理。更具体地,在第一角色下服务的管理器可以能够更新在代理606的存储器中所存储的第一组类型的数据。在第二角色下服务的管理器可以能够更新第一组类型的数据并且另外能够更新在代理606的存储器中所存储的第二组类型的数据。在第三角色下服务的管理器可以能够更新除第一和第二组类型的之外的第三组类型的数据等等。代理可以被配置成仅从在多个角色中的一个或多个下服务的管理器中接受更新。
[0041]管理器604具有公钥。管理器604还具有私钥。私钥也包括关于公钥的数据。管理器604对消息进行密码地签名,其使用私钥和加密算法来将所述消息发送到代理606。代理606使用公钥和解密算法来验证经签名的消息是由信任源(例如,管理器604)所发送的,并且经签名的消息在被代理606接收之前未被更改。对消息进行签名并验证经签名的消息是由信任源发送的过程可以作为认证程序的一部分来执行。管理器604和代理606可以执行认证,以确保在管理器604能够更新在代理606的存储器中存储的数据之前,管理器604与代理606之间的通信是安全的。
[0042]602图示了认证的示例。管理器604可以将认证请求610发送到代理606,以启动管理器604与代理606之间的安全通信的认证。认证请求610可以包括例如管理器604的角色、公钥、和/或其他合适的数据。在各种实现中,认证请求610可以采用数字证书的形式。
[0043]代理606可以确定代理606是否被配置成从管理器604的角色接受更新。如果否,那么代理606可以将预定的错误代码发送到管理器604并且终止认证。如果这样,那么代理606可以生成认证挑战612并且将认证挑战612发送到管理器604。代理606随机地生成认证挑战612。仅例如,代理606可以使用诸如符合NIST Special Publication 800-90、标题为 “Recommendation for Random Number Generation Using Deterministic RandomBit Generator" (2007年3月)的随机数生成器之类的随机数生成器来随机地生成认证挑战 612。
[0044]管理器604使用私钥来对认证挑战612进行数字地签名,并且以挑战响应614的形式将经签名的认证挑战发送到代理606。基于公钥和认证挑战612,代理606确定挑战响应614是否可信。换句话说,代理606使用公钥和认证挑战612来验证签名。代理606经由认证结果616来通知管理器604认证是通过还是失败。
[0045]如果认证通过,那么管理器604可以选择性地更新在代理606的存储器中存储的数据。认证还可以在管理器604与服务器(例如,图6B)之间来执行,以确保管理器604与服务器之间的安全通信。在管理器604创建或修改要上传到代理606的文件之前,管理器604使用与其角色关联的私钥来对该文件进行签名。管理器604可以使用私钥、RSA和SHA-2算法来对文件进行签名。签名的结果是被签名的数据的经签名散列。与角色中的一个或多个关联的私钥可能没资格用来对文件进行签名。
[0046]当代理606从管理器604接收文件时,代理606验证与该文件一起提供的数字签名。管理器604可以通知代理606要使用哪个公钥来验证签名。代理606可以通过调用用于验证的应用编程接口(API)来验证文件(或诸如挑战响应614之类的其他进来的经签名的数据)。代理606可以为API提供公钥、经签名的文件、和原始数据。还可以指定要被API所使用的算法,并且所述算法可以是例如RSA和SHA-2算法。如果验证失败,那么代理606可以避免使用发送的数据。
[0047]现在参考图6B,呈现了示例性数据分布系统的功能框图。代理606的示例可以是糖尿病管理设备104、胰岛素泵204、CGM 200、移动设备304、和其他手持医疗设备。管理器604的示例可以是配置设备650。仅例如,配置设备650可以包括在诸如计算机106的计算机上运行的应用(例如,软件)。可以更新在糖尿病管理设备104的数据存储区532中存储的计算机软件实体536。当糖尿病管理设备104被连接到配置设备650时,可以响应于更新计算机软件实体536的用户输入请求来更新计算机软件实体536。用户能够将此类请求输入到配置设备650或糖尿病管理设备104。在各种实现中,当糖尿病管理设备104与配置设备650被连接时,可以自动地更新计算机软件实体536。该连接可以是有线或无线的。
[0048]为了更新计算机软件实体536,配置设备650可以利用另一个计算机软件实体来代替计算机软件实体536的一个或多个部分或者代替计算机软件实体536。配置设备650利用从数据分布服务器654下载的数据来更新计算机软件实体536。
[0049]在更新计算机软件实体536之前,配置设备650可以从糖尿病管理设备104获得设备/用户证书。配置设备650可以验证:糖尿病管理设备104被注册并授权成要被更新。在各种实现中,认证/验证可以经由配置设备650与认证服务器658之间的通信来执行。认证服务器658可以与数据分布服务器654不同。
[0050]设备/用户证书可以包括到期。如果设备/用户证书先前已到期,那么配置设备650可能不允许更新计算机软件实体536。配置设备650还可以从认证服务器658接收第一证书撤销列表(CRL)。CRL还可以被称为撤销列表。
[0051 ] 第一 CRL可以包括没资格经由数据分布服务器654接收数据的未到期的设备/用户证书的列表。第一 CRL还可以包括没资格经由数据分布服务器654接收数据的到期的设备/用户证书。如果糖尿病管理设备104的设备/用户证书在第一 CRL上(例如,与第一 CRL中的设备/用户证书之一相同),那么配置设备650可能不允许更新计算机软件实体536。如果设备/用户证书不在第一 CRL上,那么配置设备650可以基于来自数据分布服务器654的数据而更新糖尿病管理设备104。
[0052]当糖尿病管理设备104的设备/用户证书在第一 CRL上时,配置设备650还可以执行一个或多个动作。仅例如,配置设备650可以尝试为糖尿病管理设备104获得新的(未到期的)设备/用户证书、显示糖尿病管理设备104没资格更新的指示(例如,经由配置设备650的显示器和/或糖尿病管理设备104的显示器)、和/或执行一个或多个其他合适的动作。
[0053]可以在数据库672中存储用于更新被授权并注册的包括糖尿病管理设备104的手持医疗设备的数据。数据库672能够由数据分布服务器654来访问。还可以在数据库672中存储用于每个被授权并注册的手持医疗设备的设备特定数据。仅例如,每当更新糖尿病管理设备104时,更新在数据库672中存储的用于糖尿病管理设备104的数据,以使得数据库672包括指示每个手持医疗设备的最新已知特性的数据。
[0054]配置设备650可以选择性地为糖尿病管理设备104从数据分布服务器654获得软件数据。来自数据分布服务器654的软件数据指示了当前的计算机软件实体,当糖尿病管理设备104安装并运行所述计算机软件实体时,数据库672具有其记录。配置设备650还可以从糖尿病管理设备104获得软件证书。配置设备650可以将从数据分布服务器654获得的版本数据与从糖尿病管理设备104获得的软件证书内所指示的版本数据相比较。配置设备650可以通知数据分布服务器654两者是否不同。如果版本数据不同,那么配置设备650可以执行一个或多个保护动作。以下进一步讨论了示例性保护动作。
[0055]配置设备650还可以从数据分布服务器654获得第二 CRL。第二 CRL可以包括不被包括糖尿病管理设备104的一组手持医疗设备中的任何一个所运行的计算机软件实体的列表。配置设备650可以确定用于计算机软件实体536的软件证书是否在第二 CRL中。
[0056]如果用于计算机软件实体536的软件证书在第二 CRL中,那么配置设备650可以执行一个或多个保护动作。仅例如,配置设备650可以防止处理器模块504在将来运行计算机软件实体536。配置设备650可以例如通过改变标志或其他指示符的状态来防止处理器模块504运行计算机软件实体536,处理器模块504在运行计算机软件实体536的任何部分之前检查所述标志或其他指示符。仅是另一个示例,配置设备650可以在糖尿病管理设备104和/或配置设备650的显示器上显示预定消息。仅是又另一个示例,配置设备650可以提示用户输入确认。仅是另一个示例,配置设备650可以基于与不在第二 CRL中的软件证书关联的另一个计算机软件实体来更新计算机软件实体536。
[0057]配置设备650可以接收指示对于糖尿病管理设备104而言可用的可能升级的数据。配置设备650可以显示所述可能升级以供用户选择。配置设备650可以经由糖尿病管理设备104的显示器和/或计算机106的显示器来显示所述可能升级。
[0058]用户可以选择所述可能更新中的一个或多个。配置设备650可以基于所选择的可能更新来更新在糖尿病管理设备104的数据存储区532中存储的数据。仅例如,配置设备650可以基于所选择的计算机软件实体来更新计算机软件实体536。配置设备650还可以执行认证来验证用户有资格更新糖尿病管理设备104。如果用户没资格更新糖尿病管理设备104,那么配置设备650可以制止更新糖尿病管理设备104。在更新之后,处理器模块504运行所选择的计算机软件实体来控制糖尿病管理设备104的功能。配置设备650可以更新设备数据540、密码数据544、和/或其他合适的数据,以反映该更新。
[0059]在更新糖尿病管理设备104之后,配置设备650请求数据分布服务器654针对糖尿病管理设备104更新在数据库672中存储的数据,以将该更新反映到糖尿病管理设备104。以该方式,在用于糖尿病管理设备104的数据库672中存储的数据反映了被安装在糖尿病管理设备104上以供糖尿病管理设备104运行的计算机软件实体536的当前状态。
[0060]现在参考图7,呈现了调节对手持医疗设备的数据分布的示例性方法。配置设备650可以为在糖尿病管理设备104的数据存储区532中存储的设备数据而查询704糖尿病管理设备104。仅例如,配置设备650可以为糖尿病管理设备104的设备/用户证书和软件证书而查询糖尿病管理设备104。配置设备650可以响应于更新请求(未示出)、在糖尿病管理设备104被连接到配置设备650时的时间自动地或者在另一个合适时间生成查询704。糖尿病管理设备104响应于查询704将设备数据708发送到配置设备650。
[0061]配置设备650可以将认证请求712发送到认证服务器658。配置设备650可以例如结合认证设备/用户证书以及验证糖尿病管理设备104有资格从数据分布服务器654接收更新而发送认证请求712。配置设备650可以例如结合认证配置设备650的用户以及验证该用户有资格更新要被更新的糖尿病管理设备104和/或数据类型而发送认证请求712或另一个认证请求。认证服务器658可以基于认证和验证的结果而发送认证响应716。在各种实现中,认证服务器658可以将必需数据发送到配置设备650以供配置设备650执行认证和验证,或者所述必需数据先前可以存储在配置设备650的存储器中。认证响应716可以指示认证和验证是通过还是失败。
[0062]认证服务器658还可以响应于认证请求712而将第一 CRL 720发送到配置设备650。配置设备650将设备/用户证书与第一 CRL 720相比较。如果设备/用户证书在第一 CRL 720中,那么配置设备650可以采取一个或多个撤销证书动作724。
[0063]如果设备/用户证书不在第一 CRL 720上,配置设备650可以将最新信息查询728发送到数据分布服务器654。最新信息查询728可以请求在用于糖尿病管理设备104的数据库672中存储的最新数据。更具体地,最新信息查询728可以请求关于在糖尿病管理设备104的数据存储区532中存储的计算机软件实体的在数据库672中存储的最新信息。[0064]数据分布服务器654响应于该请求来检索最新设备信息732,并且将最新设备信息732发送到配置设备650。数据分布服务器654还将第二 CRL 736发送到配置设备650。如果在数据存储区532中存储的计算机软件实体536与经由最新设备信息732所指示的计算机软件实体不同,那么配置设备650可以将通知(未示出)发送到数据分布服务器654。
[0065]配置设备650将在糖尿病管理设备104的数据库存储区532中存储的软件证书与第二 CRL 736相比较。如果该软件证书在第二 CRL 736中,那么配置设备650可以采取一个或多个保护动作740,例如基于另一个计算机软件实体来更新计算机软件实体536。一旦完成,糖尿病管理设备104就可以将一个或多个保护动作740的结果744发送到配置设备650。配置设备650可以将结果更新748发送到数据分布服务器654。结果更新748可以指示一个或多个保护动作740的结果744。数据分布服务器654可以基于该结果来更新在糖尿病管理设备104的数据库672中存储的数据。当已更新了在数据库672中存储的数据时,数据分布服务器654可以将证实752发送到配置设备650。
[0066]如果该软件证书不在第二 CRL 736中,配置设备650可以选择性地将软件更新请求756发送到数据分布服务器654。软件更新请求756可以指示要被存储到糖尿病管理设备104的数据存储区532的数据(例如,计算机软件实体或更新)。数据分布服务器654可以响应于该请求而从数据库672中检索所指示的数据。数据分布服务器654可以将用于更新糖尿病管理设备104的所检索的数据760发送到配置设备650。
[0067]配置设备650可以基于数据760来更新764糖尿病管理设备104。更具体地,配置设备650可以将数据760加载到糖尿病管理设备104的数据存储区532中。处理器模块504然后能够运行数据760来控制糖尿病管理设备104的操作。
[0068]一旦完成,糖尿病管理设备104就可以将更新的结果768发送到配置设备650。结果768可以指示例如更新是否成功。配置设备650可以将结果更新772发送到数据分布服务器654。结果更新748可以指示更新的结果768。数据分布服务器654可以基于结果更新748来更新在用于糖尿病管理设备104的数据库672中存储的数据。当已更新了在数据库672中存储的数据时,数据分布服务器654可以将证实776发送到配置设备650。
[0069]一种保护手持医疗设备免于运行被安装在手持医疗设备的存储器中以供手持医疗设备运行的计算机软件实体的方法,包括:在配置设备处从远程数据服务器接收撤销列表,所述撤销列表包括分别与N个计算机软件实体关联的N个密码证书,所述N个计算机软件实体不由包括手持医疗设备的一组医疗设备中的任何一个来运行,其中N是大于或等于零的整数;在所述配置设备处从手持医疗设备接收数据,所述数据包括与给定的计算机软件实体关联的密码证书,所述给定的计算机软件实体当前被安装在所述手持医疗设备的存储器中以供所述手持医疗设备运行;将所述密码证书与所述撤销列表相比较;以及当所述密码证书与所述撤销列表的N个密码证书之一相同时,由所述配置设备来选择性地运行保护功能。
[0070]在其他特征中,所述保护功能包括禁止所述手持医疗设备运行所述给定的计算机软件实体。
[0071 ] 在又其他特征中,所述手持医疗设备包括手持血糖管理设备。
[0072]在进一步的特征中,所述保护功能包括在所述手持医疗设备的显示器上显示预定消息。[0073]在又进一步的特征中,所述保护功能进一步包括提示用户输入确认。
[0074]在其他特征中,所述保护功能包括将第二计算机软件实体上传到手持医疗设备的存储器以供手持医疗设备运行,并且第二计算机软件实体与给定的计算机软件实体不同。
[0075]在又其他特征中,该方法进一步包括:在配置设备处接收设备数据,所述设备数据包括手持医疗设备的标识符;并且基于该标识符从多个计算机软件实体中选择第二计算机软件实体。
[0076]在进一步的特征中,该方法进一步包括验证第二计算机软件实体与撤销列表的N个密码证书之一不同。
[0077]一种调节在手持医疗设备的存储器中存储的数据的可更新性的方法,包括:在配置设备处从第一远程数据服务器接收撤销列表,所述撤销列表包括分别与N个手持医疗设备关联的N个密码证书,所述N个手持医疗设备被拒绝对经由第二远程数据服务器而可访问的数据的访问,其中N是大于或等于零的整数;在所述配置设备处从手持医疗设备接收数据,所述数据包括与所述手持医疗设备关联的密码证书;将所述密码证书与所述撤销列表相比较;以及在确定所述密码证书与所述撤销列表的N个密码证书中的任何一个都不同之后,利用来自所述第二远程数据服务器的数据来选择性地更新所述手持医疗设备。
[0078]在其他特征中,第一和第二远程数据服务器不同。
[0079]在又其他特征中,该方法进一步包括,在确定所述密码证书与所述撤销列表的N个密码证书中的任何一个都不同之后:在配置设备处从所述第二远程数据服务器接收第二撤销列表,所述第二撤销列表包括分别与M个计算机软件实体关联的M个密码证书,所述M个计算机软件实体不由包括所述手持医疗设备的一组医疗设备中的任何一个来运行,其中M是大于或等于零的整数,并且其中所述数据进一步包括与给定的计算机软件实体关联的第二密码证书,所述给定的计算机软件实体当前被安装在所述手持医疗设备的存储器中以供所述手持医疗设备运行;以及将所述第二密码证书与所述第二撤销列表相比较。
[0080]在进一步的特征中,该方法进一步包括:响应于确定所述第二密码证书与所述第二撤销列表中的M个密码证书之一相同,由所述配置设备来选择性地执行保护功能。
[0081]在又进一步的特征中,所述保护功能包括禁止所述手持医疗设备运行所述给定的计算机软件实体。
[0082]在其他特征中,所述保护功能包括在手持医疗设备的显示器上显示预定消息。
[0083]在又其他特征中,所述保护功能进一步包括提示用户输入确认。
[0084]在进一步的特征中,所述保护功能包括将第二计算机软件实体上传到手持医疗设备的存储器以供手持医疗设备运行,并且第二计算机软件实体与给定的计算机软件实体不同。
[0085]在又进一步的特征中,该方法进一步包括基于手持医疗设备从多个计算机软件实体中选择第二计算机软件实体。
[0086]在其他特征中,该方法进一步包括验证第二计算机软件实体与第二撤销列表的M个密码证书中的任何一个都不同。
[0087]在又其他特征中,该方法进一步包括在确定密码证书与撤销列表的N个密码证书之一相同之后,避免更新所述手持医疗设备。
[0088]在进一步的特征中,所述手持医疗设备包括手持血糖管理设备。[0089]本公开的广泛教导能够以各种形式来实现。因而,虽然本公开包括特定的示例,但是本公开的真实范围不应该如此限制,原因在于在研究了附图、说明书、以及以下权利要求时,其他修改对于技术从业人员而言将变得明显。
【权利要求】
1.一种保护手持医疗设备免于运行被安装在手持医疗设备的存储器中以供手持医疗设备运行的计算机软件实体的方法,包括: 在配置设备处从远程数据服务器接收撤销列表,所述撤销列表包括分别与N个计算机软件实体关联的N个密码证书,所述N个计算机软件实体不由包括手持医疗设备的一组医疗设备中的任何一个来运行,其中N是大于或等于零的整数; 在所述配置设备处从手持医疗设备接收数据,所述数据包括与给定的计算机软件实体关联的密码证书,所述给定的计算机软件实体当前被安装在所述手持医疗设备的存储器中以供所述手持医疗设备运行; 将所述密码证书与所述撤销列表相比较;以及 当所述密码证书与所述撤销列表的N个密码证书之一相同时,由所述配置设备来选择性地运行保护功能。
2.权利要求1的方法,其中所述保护功能包括禁止所述手持医疗设备运行所述给定的计算机软件实体。
3.权利要求1的方法,其中所述手持医疗设备包括手持血糖管理设备。
4.权利要求1的方法,其中所述保护功能包括在所述手持医疗设备的显示器上显示预定消息。
5.权利要求4的方法,其中所述保护功能进一步包括提示用户输入确认。
6.权利要求1的方法,其中所述保护功能包括将第二计算机软件实体上传到所述手持医疗设备的存储器以供所述手持医疗设备运行,以及 其中所述第二计算机软件实体与所述给定的计算机软件实体不同。
7.权利要求6的方法,进一步包括: 在所述配置设备处接收设备数据,所述设备数据包括所述手持医疗设备的标识符;以及 基于所述标识符从多个计算机软件实体中选择所述第二计算机软件实体。
8.权利要求7的方法,进一步包括验证所述第二计算机软件实体与所述撤销列表的N个密码证书之一不同。
9.一种调节在手持医疗设备的存储器中存储的数据的可更新性的方法,包括: 在配置设备处从第一远程数据服务器接收撤销列表,所述撤销列表包括分别与N个手持医疗设备关联的N个密码证书,所述N个手持医疗设备被拒绝对经由第二远程数据服务器而可访问的数据的访问,其中N是大于或等于零的整数; 在所述配置设备处从手持医疗设备接收数据,所述数据包括与所述手持医疗设备关联的密码证书; 将所述密码证书与所述撤销列表相比较;以及 在确定所述密码证书与所述撤销列表的N个密码证书中的任何一个都不同之后,利用来自所述第二远程数据服务器的数据来选择性地更新所述手持医疗设备。
10.权利要求9的方法,其中所述第一和第二远程数据服务器不同。
11.权利要求9的方法,进一步包括,在确定所述密码证书与所述撤销列表的N个密码证书中的任何一个都不同之后: 在配置设备处从所述第二远程数据服务器接收第二撤销列表,所述第二撤销列表包括分别与M个计算机软件实体关联的M个密码证书,所述M个计算机软件实体不由包括所述手持医疗设备的一组医疗设备中的任何一个来运行, 其中M是大于或等于零的整数,并且 其中所述数据进一步包括与给定的计算机软件实体关联的第二密码证书,所述给定的计算机软件实体当前被安装在所述手持医疗设备的存储器中以供所述手持医疗设备运行;以及
将所述第二密码证书与所述第二撤销列表相比较。
12.权利要求11的方法,进一步包括响应于确定所述第二密码证书与所述第二撤销列表中的M个密码证书之一相同,由所述配置设备来选择性地执行保护功能。
13.权利要求12的方法,其中所述保护功能包括禁止所述手持医疗设备运行所述给定的计算机软件实体。
14.权利要求12的方法,其中所述保护功能包括在所述手持医疗设备的显示器上显示预定消息。
15.权利要求14的方法,其中所述保护功能进一步包括提示用户输入确认。
16.权利要求12的方法,其中所述保护功能包括将第二计算机软件实体上传到所述手持医疗设备的存储器以供所述手持医疗设备运行,并且 其中所述第二计算机软件实体与所述给定的计算机软件实体不同。
17.权利要求16的方法,进一步包括基于所述手持医疗设备从多个计算机软件实体中选择所述第二计算机软件实体。
18.权利要求16的方法,进一步包括验证所述第二计算机软件实体与所述第二撤销列表的M个密码证书中的任何一个都不同。
19.权利要求9的方法,进一步包括在确定所述密码证书与所述撤销列表的N个密码证书之一相同之后,避免更新所述手持医疗设备。
20.权利要求9的方法,其中所述手持医疗设备包括手持血糖管理设备。
21.一种计算机程序,包括用于当在合适的计算机设备上运行所述计算机程序时执行根据权利要求1到20中的任何一个的方法的步骤的指令。
22.—种计算机可读介质,根据权利要求21的计算机程序被编码在其上。
23.—种系统,包括适于执行根据权利要求1到20中的任何一个的方法的步骤的装置。
【文档编号】G06F19/00GK103733201SQ201280038977
【公开日】2014年4月16日 申请日期:2012年8月9日 优先权日:2011年8月11日
【发明者】K-O.施文克, J.滕巴格, D.伯特威斯特尔, U.波施, E.拉希纳 申请人:霍夫曼-拉罗奇有限公司