首页> 中国专利> 用于经由询问-响应协议的加密带访问控制的系统和方法

用于经由询问-响应协议的加密带访问控制的系统和方法

摘要

公开了一种用于经由询问-响应协议的加密带访问控制的系统和方法。经由在介质上具有独特结构的头,控制了对在可移除的计算机介质(如计算机带)上的加密数据的访问,该头具有由非对称加密隐藏的对称密钥和与该非对称加密相关联的公共密钥。介质上的数据使用所述对称密钥加密。在由阅读器自动阅读数据之前,将询问发出到包括公共密钥以及最好临时用语值的主机系统。主机通过使用与公共密钥相关联的私有密钥对临时用语签名来响应,以便证明它有权解密所述数据。对称密钥使用私有密钥解开,并且最后解开的对称密钥用于解密介质上的数据,从而允许自动阅读带数据,而没有两个管理者共享对称密钥值的需要或风险。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-30

    授权

    授权

  • 2008-07-09

    实质审查的生效

    实质审查的生效

  • 2008-05-14

    公开

    公开

说明书

技术领域

本发明涉及用于安全处理和加密可移除介质中(如计算机带和带驱动器上)的数据的技术。

背景技术

越来越多的数据被写入带作为加密数据,以便在运送中保护该信息。该数据通常通过对称密钥加密,并且需要拥有该密钥来解密带。

也称为密秘密钥密码术(cryptography)的对称加密是指这样的加密方案,其中加密方(或设备)和解密方(或设备)共享单个、公共密钥值。使用仅仅一个密钥或口令值的对称加密,倾向于更简单和更快执行。一种常用的对称加密方案是数据加密标准(“DES”)。

例如,如果将一组数据库记录写入带中以准备将带从一个数据中心运输到另一个中心,则管理员可以指定用于DES加密例程的口令,该DES加密例程然后在数据存储在带上时会加密所述数据。该管理员然后会与在目的数据中心的预定接收者管理员安全地共享所述口令。

如果在运送期间,带被盗、丢失或复制,则企图解密该数据的个人和系统将不能解密,除非他或她拥有秘密密钥(例如,口令)或者加密破解(bust)工具。更普遍的是口令会被泄漏(compromise),而加密破解工具对较弱的加密方案也是可用的。

当带到达其目的数据中心时,第二管理员接着会安装带,将口令提供给DES解密例程,并且接着当从该带读取数据时,数据会被解密并且本地(如在数据库中)存储。

同样,在仅仅能够访问带允许加载密钥并且读取数据的情况下,现有的解密带的手段是基于通过外部实体加载到读取带驱动器的加密密钥。这提供了难以自动操作的相对不安全的环境。

因此,本领域存在对相对容易操作而又提供数据安全的计算机介质加密和解密方法和系统的需要。

发明内容

本发明和相关发明的发明人已经认识到,本领域中未处理的问题是:现有的带加密和处理方法容易使用,但也容易泄漏并且难以自动操作。在加载带时以及在执行任何数据读取之前,本发明通过主机系统来自动操作带加载和解密过程,该主机期望读取多数向带驱动器证明它拥有关于带自身的某些知识的数据。这通过带驱动器发出“询问(challenge)”、所述主机用已知信息置换询问、以及带驱动器确认该置换是期望的来执行。同样,增强了带读取系统和在该带上的数据格式,以便使用更强大的加密形式并且使用“询问-响应”认证方案。

附图说明

当在此结合附图呈现时,下面的详细描述提供了本发明的充分公开。

图1描述了根据本发明的数据结构。

图2a和2b示出通用计算平台结构和这样的计算平台结构的软件和固件的通用组织。

图3a提出将软件部署到客户端的逻辑过程,其中部署的软件体现了本发明的方法和过程。

图3b提出用于将软件集成到其它软件程序的逻辑过程,其中集成的软件体现了本发明的方法和过程。

图3c提出在按需求计算系统中代表客户端机执行软件的逻辑过程,其中执行的软件体现了本发明的方法和过程。

图3d提出经由虚拟个人网络将软件部署到客户端的逻辑过程,其中部署的软件体现了本发明的方法和过程。

图4a、4b和4c图示各种可移除和固定类型的计算机可读介质、信号收发机以及并到串到并信号电路。

图5a和5b图示根据本发明安排和相互操作的各部件和各系统之间的通信和相互作用。

图6提出根据本发明的系统和组件的安排。

图7a和7b提出根据本发明、用于创建数据结构并且控制访问可移除的计算机介质上的加密数据的逻辑过程。

具体实施方式

系统图。图6提出根据本发明的组件和系统的安排(60),包括:系统(62),用于创建或发起在其上或之中存储加密的数据的可移除的计算机可读介质(61)。可应用本发明的一些常用的可移除介质(61)包括:计算机带和带盒(tape cartridge)(52)、软盘(43)、可移除硬盘驱动器(40)、闪存或拇指驱动器(49)、致密盘(例如,CD、CD-ROM、CD-R、CD-RW等)和数字多功能盘(例如,DVD、DVD-R、DVD-RW等)、可移除存储器模块(401)、以及各种存储器卡(例如,CompactFLASH(致密闪存)、SecureData SD(安全数据SD)、Sony Memory Stick[TM](索尼记忆棒)等)(47)。本发明不限于应用到这些具体介质,而是还可以和其它类型的可移除计算机介质一起使用,在该可移除计算机介质上存储或编码了加密的数据。贯穿本公开的剩余部分,我们将参照使用计算机带的所有类型的可移除介质作为代表性例子。

介质(61)被传送到兼容的阅读器或驱动器(63),并且互连到目的系统(64)。根据本发明,目的系统(64)的认证过程完全自动操作,因此不必提供管理员来操作本发明,或者如果提供了管理员,则也不要求管理员相互作用。

数据结构。图1图示(100)根据本发明的数据结构,其被放置在可移除计算机可读介质或多种介质(61)之上或之中。提供了至少一个头区域(101),其与一个或多个加密的数据区域(102)(如加密的数据块或文件)相关联。在该头内,至少存储了一个非对称加密的对称加密密钥EEK(103)、以及至少一个相关联的公共非对称加密密钥KEK-PUB(104),它们都与至少一个加密的数据区域(102)相关联。

通用逻辑过程。图7a和7b图示根据本发明的通用逻辑过程。在图7a中,示出了创建(70)一个或多个可移除计算机可读介质(61)的一般过程,其中管理员指定的对称加密密钥(“EK”)是用非对称加密密钥(例如,密钥加密密钥或KEK)编码(71),以便产生非对称加密的对称加密密钥(“EEK”)的自身。EEK和非对称加密密钥的公共部分(“KEK-PUB”)的副本一起存储(72)在介质(61)的头中。

接着,使用EK对一个或多个数据块、数据文件、记录等对称地加密(73),并且在介质(61)之上或之中存储或编码(74)该加密的数据。介质(61)接着被移除并且传送到目的系统。

图7b示出了根据本发明的通用逻辑过程(700),用于确定目的系统是否被授权来访问数据、以及允许它对该数据解密而不需要管理员共享秘密密钥。首先,可移除介质(61)用这样的方式被接收、安装、插入、装配或部署(701),使得兼容的阅读器或驱动器能够访问在所述介质之上或之中编码或存储的数据。

由驱动器或阅读器生成(702)了随机值(例如,“临时用语(nonce)”),其与非对称加密密钥的公共部分(“KEK-PUB”)一起被发送(703)到目的主机。

目的主机接收所述临时用语和KEK-PUB,并且使用该KEK-PUB选择(704)匹配私有非对称加密密钥(“KEK-PRIV”)。接着使用KEK-PRIV来标记所述临时用语,并且将标记的临时用语返回(706)到驱动器或阅读器。

驱动器或阅读器接着验证来自主机的被标记的值匹配所述临时用语,并且如果是这样,则阅读器、主机或其两者合作,在对来自介质(61)的数据解密(709)之后,使用KEK-PRIV完成对称加密密钥EK的解密(708)。

详细的示例实施例。图5a和5b以更详细的信号流格式,提供了根据本发明的示例性实施例,以便图示在根据本发明安排的各组件和各种系统之间的相互作用。

回到图5a,根据本发明的第一个方面,对称加密密钥EK以头(501)数据结构,通过带创建系统(51)存储在计算机带(52)中,该数据结构自身使用我们称之为密钥加密密钥或KEK的非对称加密密钥来加密。带创建管理员或用户指定用于“隐藏(wrap)”EK的KEK的公共部分,导致非对称地加密的对称加密密钥EEK被存储在所述带上。另外,非对称密码密钥的公共部分KEK-PUB(502)部署在所述带上。接着,在使用EK通过对称密钥过程已经被加密之后,该数据(503)部署在所述带上。

根据本发明的另一个方面,当所述带被读取或被加载到另一个计算机系统(54)中时,将带(52)插入带驱动器(53),并且带驱动器的固件从带读取头信息。该带驱动器生成已知长度的随机值(例如,“临时用语”),如20比特的临时用语,该带驱动器保持该随机值,并且还发送到试图读取所述带数据(504)的主机系统。主机系统还由带驱动器提供有公共密钥KEK-PUB(504),以便用于响应所述“询问”,并且最终解码头中的EK。

所述主机系统接收临时用语和KEK-PUB(502,504),使用该KEK-PUB确定(5100)使用哪个私有密钥(“KEK-PRIV”),并且接着使用选择的KEK-PRIV标记临时用语,并且将它(505)返回到带驱动器(53)。

接着,带驱动器(53)使用从带头中得知的KEK-PUB(502)来检验由主机标记的值与发送到该主机的临时用语相同。如果是这样,则这成功地完成了询问(发出临时用语和KEK-PUB到主机)和响应(主机对KEK-PRIV的正确选择和对临时用语的标记)过程,这证明主机被允许访问该带数据。

最后,根据本发明的另一个方面,在使用解密的EK解密(5400)带的加密数据和匹配对称解密过程之后,主机从带驱动器接收KEK保护的EK(501),使用选择的和证实的KEK-PRIV解密(5300)对称的EK。该示例实施例(50)假设,带驱动器不解密用于主机的所述带数据,而替代地将该加密的数据提供给主机并且主机解密该数据。

然而,如图5b所示,根据本发明的另一个实施例,如果主机提供正确的对称加密密钥(506),则为了执行带数据解密(5400’)的带驱动器调整该过程(50’)的后面部分。所以,在本发明实施例的该变化中,主机使用在询问-响应阶段期间选择(5100)的KEK-PRIV解密(5300)EK,并且接着将该EK(506)发送到带驱动器(53)。带驱动器(53)接着解密(5400’)该带数据,并且将该未保护的或解密的数据(507)发送到主机。

适合的加密方法。任何适合的标准或专有的非对称加密方案可以用于保护对称加密密钥。例如,能够利用根据公知的Rivest-Shamir-Adlema(“RSA”)方案、公知的“pretty good privacy(绝对私密)”(“PGP”),或者根据公知的数字签名算法(“DSA”)的非对称加密。对于对称加密方案,可以利用公知过程如DES或DESX。

适合的计算平台。在本发明的一个实施例中,通过由计算机(如嵌入式微控制器、个人计算机、web服务器、web浏览器)或甚至适当地能够便携的计算平台(如个人数字助理(“PDA”)、web使能的无线电话或其它类型的个人信息管理(“PIM”)设备)执行的软件,部分或全部地执行前面描述的逻辑过程。

因此,回顾(review)计算平台的通用结构是有用的,该计算平台可以跨越从高端web或企业服务器平台到个人计算机、到便携式PDA或web使能的无线电话的实施范围。

转到图2a,呈现了包括中央处理单元(21)(“CPU”)的通用结构,该CPU典型地包括与随机存取存储器(“RAM”)(24)和只读存储器(“ROM”)(25)相关联的微处理器(22)。通常,CPU(21)还配备有高速缓冲存储器(23)和可编程快闪ROM(26)。在微处理器(22)和各种类型的CPU存储器之间的接口(27)通常被称作为“本地总线”,但也可以是更通用的或工业标准总线。

许多计算平台还提供有一个或多个存储驱动器(29),如硬盘驱动器(“HDD”)、软盘驱动器、致密盘驱动器(CD、CD-R、CD-RW、DVD、DVD-R等)、以及专用盘和带驱动器(例如,Iomega Zip[TM]和Jaz[TM]、Addonics SuperDisk(超级盘)[TM]等)。此外,可以通过计算机网络访问某些存储驱动器。

根据计算平台的预期功能,许多计算平台提供有一个或更多通信接口(210)。例如,个人计算机通常提供有高速串行端口(RS-232、RS-422等)、增强型并行端口(“EPP”)、以及一个或更多通用串行总线(“USB”)端口。该计算平台还可以提供有局域网(“LAN”)接口,如以太网卡和其它高速接口(如高性能串行总线IEEE-1394)。

计算平台(如无线电话和无线网络的PDA)也还可以提供有带天线的射频(“RF”)接口。在一些情形中,计算平台还可以提供有红外数据协议(arrangement)(“IrDA”)接口。

计算平台通常配备有一个或更多内部扩展槽(211)(如工业标准结构(“ISA”)、增强型工业标准结构(“EISA”)、外围部件互连(“PCI”))、或用于添加其它硬件(如声卡、存储器板和图形加速器)的专用接口槽。

此外,许多单元(如膝上型计算机和PDA)提供有一个或更多外部扩展槽(212),其允许用户能够容易地安装和移除硬件扩展设备,如PCMCIA卡、智能介质卡和各种专用模块(如可移除硬盘驱动器、CD驱动器和软盘驱动器)。

通常,存储驱动器(29)、通信接口(210)、内部扩展槽(211)和外部扩展槽(212)经由标准或工业开放总线结构(28)(如ISA、EISA或PCI)与CPU(21)互连。在许多情形中,总线(28)可以是专用设计。

计算平台通常提供有一个或更多用户输入设备,如键盘或键区(216)、以及鼠标或指示器设备(217)、和/或触摸屏显示器(218)。在个人计算机的情形中,全尺寸(full size)的键盘通常与鼠标或指示设备(如跟踪球或TrackPoint[TM])一起提供。在web使能的无线电话的情形中,简单的键区可以提供有一个或多个特定功能键。在PDA的情形中,触摸屏(218)通常经常提供有手写识别能力。

此外,给计算平台提供麦克风(219)(如web使能的无线电话的麦克风或个人计算机的麦克风)。该麦克风可以用于简单报告音频和视频信号,并且它还可以用于使用语音识别能力,输入用户选择如web站点的语音导航或自动拨打电话号码。

许多计算平台还可以配备有相机设备(2100),如静止数字相机或全运动(full motion)视频数字相机。

给大多数的计算平台还提供有一个或更多用户输出设备,如显示器(213)。显示器(213)可以采用许多形式,包括阴极射线管(“CRT”)、薄膜晶体管( “TFT”)阵列、或仅仅一组发光二极管(“LED”)或液晶显示器(“LCD”)指示器。

一个或更多扬声器(214)和/或报警器(annunciator)(215)也经常与各计算平台相关联。扬声器(214)可以用于再现音频和音乐,如无线电话的扬声器或个人计算机的扬声器。报警器(215)可以采用通常在某些设备上(如PDA和PIM)发现的简单的嘟嘟发声器或蜂鸣器的形式。

这些用户输入和输出设备可以经由专用总线结构和/或接口直接互连(28’、28”)到CPU(21),或者它们可以通过一个或多个工业开放总线(如ISA、EISA、PCI等)互连。

计算平台还提供有一个或多个软件和固件(2101)程序,用于实现各计算平台期望的功能。

现在回到图2b,在计算平台的该范围内,对软件和固件(2101)的通用组织给出了更多的细节。在计算平台上,可以提供一个或更多操作系统(“OS”)本地应用程序(223),如字处理器、电子表格、合同管理实用程序、通讯簿、日历、电子邮件客户端、演示、财务和报表记录程序。

此外,可以提供一个或多个“可移植”或与设备无关的程序(224),其必须由OS本地特定平台解释程序(225)(如Java[TM]脚本和程序)解释。

通常,计算平台还提供有web浏览器或微浏览器(226)的形式,该浏览器还可以包括一个或多个对浏览器的扩展(如浏览器插件(227))。

计算设备通常提供有操作系统(220),如Microsoft Windows[TM]、UNIX、IBM OS/2 [TM]、IBM AIX[TM]、开放源LINUX、苹果的MAC OS[TM]、或其它平台专用的操作系统。较小的设备(如PDA和无线电话)可以装备有其它形式的操作系统,如实时操作系统(“RTOS”)或掌上型计算的PalmOS[TM]。

通常提供一组基本输入输出功能(“BIOS”)和硬件设备驱动器(221),以允许操作系统(220)和各程序与给计算平台提供的各特定硬件功能接口并对其控制。

此外,通常给许多计算平台提供一个或多个嵌入式固件程序(222),其由作为外围设备(如微控制器或硬盘驱动器、通信处理器、网络接口卡或声音或图形卡)的部分的板上或“嵌入式”微处理器执行。

这样,图2a和2b从一般意义上描述了广泛的多种计算平台的各种硬件部件、软件和固件程序,所述计算平台包括但不限于个人计算机、PDA、PIM、web使能的电话和其它应用(如WebTV[TM]单元)。这样,我们现在把我们的注意力转到本发明的公开内容,其涉及在这样的计算平台上优选实现为软件和固件的过程和方法。本领域技术人员将容易认识到,以下各方法和各过程部分或整体可以替代地实现为硬件功能,而不偏离本发明的精神和范围。

基于服务的实施例

本发明的替代实施例包括本发明的一些或全部的前述逻辑过程和功能,其通过配置软件、部署软件、下载软件和分发软件或在按需求环境中的远程服务客户端提供,以提供对先进的洗衣机的逻辑控制过程。

软件部署实施例。根据本发明的一个实施例,本发明的各方法和各过程由服务提供商作为服务,分发或部署到客户端的(各)计算系统。

转到图3a,通过确定(3001)当处理软件被执行时、是否存在将在服务器或各服务器中驻留的任何程序,部署过程开始(3000)。如果是这样,则识别将包括可执行程序(executable)的服务器(309)。用于该服务器或各服务器的处理软件经由FTP或一些其它协议、或通过使用共享文件系统复制,被直接传输到各服务器存储器(310)。该处理软件然后安装在各服务器(311)上。

接着通过让用户访问服务器或各服务器的处理软件,做出是否要部署该处理软件的确定(3002)。如果用户将访问各服务器上的处理软件,则识别将存储该处理软件的服务器地址(3003)。

在步骤(3004)中,通过经由电子邮件将处理软件发送到用户,做出是否要部署该处理软件的确定。将部署处理软件的用户组与用户客户端计算机一起被识别(3005)。处理软件经由电子邮件发送到每个用户的客户端计算机。用户然后接收电子邮件(305),并且然后将处理软件从电子邮件分派到他们的客户端计算机上的目录(306)。用户执行在他的客户端计算机上安装处理软件的程序(312),然后退出该过程(3008)。

对是否要建立代理服务器来存储处理软件做出确定(300)。代理服务器是位于客户端应用(如web浏览器)和真实服务器之间的服务器。它翻译到真实服务器的所有请求,以知道是否它自身能够实现该请求。如果不能,则它将该请求转发给真实服务器。代理服务器的两个主要益处是改善性能并且过滤请求。如果请求了代理服务器,则安装代理服务器(301)。处理软件经由协议(如FTP)发送到服务器,或经由文件共享直接从源文件复制到服务器文件(302)。另一个实施例将是发送事务(transaction)给包括处理软件的各服务器,并且让服务器处理该事务,然后接收该处理软件并且将其复制到服务器的文件系统。一旦处理软件存储在服务器,用户就经由他们的客户端计算机访问服务器上的处理软件,并且将其复制到他们的客户端计算机文件系统(303)。另一个实施例是让服务器自动将处理软件复制到每个客户端,然后在每个客户端计算机运行该处理软件的安装程序。用户执行在他的客户端计算机上安装处理软件的程序(312),然后退出该过程(3008)。

最后,做出确定是否处理软件将直接发送到他们的客户端计算机上的用户目录(3006)。如果是,则识别用户目录(3007)。该处理软件被直接传输到用户的客户端计算机目录(307)。这能够用若干方式完成如但不限于共享文件系统目录,然后从发送者的文件系统复制到接收用户的文件系统,或替代地使用传输协议(如文件传输协议(“FTP”))。用户在准备安装处理软件中访问他们的客户端文件系统上的目录(308)。用户在他的客户端计算机上执行安装处理软件的程序(312),然后退出该过程(3008)。

软件集成实施例。根据本发明的另一个实施例,体现在此公开的各方法和各过程的软件,由服务提供商作为服务集成到其它软件应用程序、小型应用程序或计算系统。

本发明的集成一般包括:提供处理软件以便与应用程序、操作系统和网络操作系统软件共存,然后在该处理软件将起作用的环境中的客户端和服务器上安装该处理软件。

一般来说,第一个任务是识别处理软件要求的或结合处理软件工作的、客户端和服务器上的任何软件,其包括其中将部署处理软件的网络操作系统。这包括网络操作系统,其是通过添加联网(networking)特征增强基本操作系统的软件。接着,软件应用程序和版本号将被识别、并且与已经被测试的软件应用程序和版本号的列表比较,以便与处理软件一起工作。那些丢失或不匹配正确版本的软件应用程序将用正确版本号更新。

将各参数从处理软件传递到软件应用程序的各程序指令,将被检查以确保参数列表匹配由处理软件请求的参数列表。相反,检查由软件应用程序传递到处理软件的参数,以确保各参数匹配由处理软件请求的各参数。包括网络操作系统的客户端和服务器操作系统将被识别、并且与已经被测试的操作系统、版本号和网络软件的列表比较,以便与处理软件一起工作。那些与测试的操作系统和版本号的列表不匹配的操作系统、版本号和网络软件,将在客户端和服务器上被更新到要求的水平。

在确保其中要部署处理软件的软件处于已经被测试以便与处理软件一起工作的正确版本水平之后,通过在客户端和服务器上安装该处理软件完成集成。

转到图3b,示出根据本发明的集成过程的细节。通过确定是否存在将在服务器或各服务器上执行的任何处理软件程序(321),集成开始(320)。如果不是这样,则集成进行到(327)。如果是这样,则服务器地址被识别(322)。检查各服务器以知道是否它们包括已经用处理软件测试的软件以及它们的版本号(323),该软件包括操作系统(“OS”)、应用程序和网络操作系统(“NOS”)。还检查各服务器以确定是否存在任何由处理软件请求的丢失的软件(323)。

进行确定该版本号是否匹配已经用处理软件测试的OS、应用程序和NOS的版本号(324)。如果所有的版本匹配、并且不存在丢失的请求的软件,则集成在(327)中继续。

如果一个或更多版本号不匹配,则用正确的版本号在服务器或各服务器上更新不匹配的版本(325)。此外,如果存在丢失的要求的软件,则它在服务器或各服务器上被更新(325)。服务器集成通过安装处理软件完成(326)。

继(321)、(324)或(326)后的步骤(327),确定是否存在将在客户端上执行的任何处理软件的程序。如果没有处理软件程序在客户端上执行,则集成进行到(330)并退出。如果不是这样,则客户端地址被识别(328)。

检查各客户端以知道是否它们包括已经用处理软件测试的软件以及它们的版本号(329),该软件包括操作系统(“OS”)、应用程序和网络操作系统( “NOS”)。还检查各客户端以确定是否存在任何由处理软件请求的丢失的软件(329)。

进行确定该版本号是否匹配已经用处理软件测试的OS、应用程序和NOS的版本号331。如果所有的版本匹配、并且不存在丢失的请求的软件,则集成进行到(330)并退出。

如果一个或更多版本号不匹配,则用正确的版本号在各客户端上更新不匹配的版本(332)。此外,如果存在丢失的要求的软件,则它在各客户端上被更新(332)。客户端集成通过在各客户端上安装处理软件完成(333)。集成进行到(330)并退出。

按需求计算服务实施例。根据本发明的另一个方面,通过按需求计算结构提供了在此公开的过程和方法,以便通过服务提供商给客户端提供服务。

转到图3c,一般来说,体现在此公开的方法的处理软件被共享,同时以灵活的自动方式服务多个客户。它是标准化的、几乎不需要定制,并且它是可升级的,以一种预付费(pay-as-you-go)模式按需求提供容量。

处理软件能够存储在从一个或更多服务器可访问的共享文件系统上。处理软件经由各事务执行,该事务包括使用访问的服务器上的CPU单位的服务器处理请求和数据。CPU单位是在服务器的中央处理器上的时间单位如分、秒、小时。此外,访问的服务器可以请求需要CPU单位的其它服务器。CPU单位是表示仅仅一个使用的测量的例子。其它的使用测量包括但是不限于网络带宽、存储器使用、存储使用、分组传输、完成事务等。

当多个客户使用相同的处理软件应用程序时,它们的事务由包括在识别唯一客户和用于该客户的服务类型的事务中的参数区分。记录了所有CPU单位和为每个客户用于服务的其它使用测量。当对任何一个服务器的事务量达到开始影响该服务器的性能的数量的时候,访问其它的服务器以增加容量并共享工作负荷。同样,当其它的使用测量如网络带宽、存储器使用、存储体使用等接近影响性能的容量时,添加其它的网络带宽、存储器使用和存储体等以共享工作负荷。

用于每个服务和客户的使用测量被发送到收集服务器,其对提供处理软件的共享执行的服务器网络中的任何地方处理的每个服务、每个客户的使用测量求和。求和的使用单位的测量用单位成本周期性地相乘,并且得到的总的处理软件应用程序服务成本可替代地发送到客户,并且在由然后给服务提供商汇款的计算机访问的网站上指示。

在另一个实施例中,服务提供商从在银行或金融机构处的客户帐户直接请求支付。

在另一个实施例中,如果服务提供商还是使用处理软件应用程序的客户的客户,则欠服务提供商的付款与服务提供商欠的付款抵消(reconcile),以最小化付款的转账。

图3c提出了通过按需求过程使本发明对客户端可用的详细逻辑过程。创建包括唯一客户识别、请求的服务类型和进一步指定服务类型的任何服务参数的事务(341)。该事务然后被发送到主服务器(342)。在按需求环境中,主服务器开始能够是唯一的服务器,然后随着容量被消耗,其它的服务器被添加到按需求环境。

在按需求环境中的服务器中央处理单元(“CPU”)容量被查询(343)。事务的CPU需求被评估,然后将按需求环境中的服务器可用的CPU容量与事务CPU需求比较,以便知道是否在任何服务器中存在足够的CPU可用容量来处理事务(344)。如果不存在足够的服务器CPU可用容量,则分配另外的服务器CPU容量以便处理该事务(348)。如果已经有足够可用的CPU容量,则事务被发送到选择的服务器(345)。

在执行该事务之前,对剩下的按需求环境进行检查,以确定所述环境是否有足够可用的容量用于处理事务。该环境容量由如但不限于网络带宽、处理器存储器、存储等(345)的项目组成。如果不存在足够可用的容量,则容量将被添加到按需求环境(347)。接着,用于处理该事务的请求的软件被访问,加载到存储器,然后所述事务被执行(349)。

记录使用测量(350)。使用测量由按需求环境中的、用来处理该事务的那些功能的各部分组成。记录的是这些如但不限于网络带宽、处理器存储器、存储和CPU周期的功能的使用。使用测量被求和、用单位成本相乘、然后记录为对请求客户的费用(351)。

如果客户已经请求将按需求成本张贴到网站(352),则张贴它们(353)。如果客户已经请求将按需求成本经由电子邮件发送到客户地址(354),则发送它们(355)。如果客户已经请求按需求成本直接从客户帐户支付(356),则直接从客户帐户接收该付款(357)。最后的步骤是退出该按需求过程。

VPN部署实施例。根据本发明的另一个方面,在此描述的各方法和各过程可以部分或整个地在能够部署到第三方作为服务的软件中体现,其中第三方VPN服务提供为安全部署媒介(vehicle),或者其中VPN按特定部署的需要按需求建立。

虚拟私有网(“VPN”)是能够用来确保通过其它的不安全或不信任的网络连接的技术的任何组合。VPN改善了安全性并且减少了运行成本。VPN使用公共网络(通常是因特网)来将远程站点或用户连接在一起。替代使用专用的、真实世界的连接(如租用线路),VPN使用通过因特网从公司的私有网络路由到远程站点或雇员的“虚拟”连接。经由VPN接入网络能够通过特别地构建VPN提供为服务,用于传递或执行处理软件(即驻留在其它地方的软件)的目的,其中VPN的寿命限于基于支付量的给定的时间段或给定的部署数量。

处理软件可以通过远程接入或站点到站点的VPN被部署、接入和执行。当使用远程接入VPN时,处理软件经由在公司的私有网和远程用户之间的安全、加密的连接,通过第三方服务提供商被部署、接入和执行。企业服务提供商(“ESP”)设置网络接入服务器(“NAS”),并且给远程用户为他们的计算机提供桌面客户端软件。通信机然后能够拨打免费号码以便经由电缆或DSL调制解调器直接附接,从而到达NAS,并且使用他们的VPN客户端软件来接入公司网络,并且访问、下载和执行该处理软件。

当使用站点到站点VPN时,处理软件通过使用专用设备和大规模加密被部署、访问和执行,该专业设备和大规模加密被用来在公共网(如因特网)上连接公司的多个固定站点。

处理软件在VPN上经由隧道处理(tunneling)传输,隧道处理是将整个分组放置在另一个分组内并将其在网络上发送的过程。外部分组的协议被网络和分组进和出该网络的称作为隧道接口的两接口点(point)理解。

转到图3d,通过确定是否要求用于远程访问的VPN(361),VPN部署过程开始(360)。如果没有要求,则前进到(362)。如果要求,则确定是否远程接入VPN退出(364)。

如果VPN退出,则VPN部署过程进行(365)以便识别第三方提供商,该提供商将提供在公司的私有网络和公司的远程用户之间的安全的加密的连接(376)。公司的远程用户被识别(377)。该第三方提供商然后设置网络接入服务器(“NAS”)(378),其允许远程用户拨打免费号码或者经由宽带调制解调器直接附接,以便访问、下载和安装用于远程接入VPN的桌面客户端软件(379)。

在远程接入VPN已经建立后或如果它之前已经安装,则远程用户能够通过拨进NAS或经由电缆或DSL调制解调器直接附接到NAS,访问该处理软件(365)。这允许进入访问处理软件的公司网络(366)。处理软件经由隧道处理通过网络传送到远程用户的桌面。即,处理软件被划分成各分组,并且包括数据和协议的每个分组被放置在另一个分组内(367)。当处理软件到达远程用户的桌面时,其被从分组移除、重构,然后在远程用户桌面上被执行(368)。

进行确定以知道是否用于站点到站点访问的VPN被要求(362)。如果没有要求,则进行以退出过程(363)。否则,确定是否站点到站点VPN存在(369)。如果存在,则进行到(372)。否则,安装要求的专用设备,以建立站点到站点VPN(370)。然后将大规模的加密内建到VPN中(371)。

在站点到站点VPN已经建立后或者如果它之前已经建立,则用户经由VPN访问处理软件(372)。处理软件经由隧道处理通过网络传递到站点用户。即该处理软件被划分成各分组,并且包括数据和协议的每个分组被放置在另一个分组内(374)。当处理软件到达远程用户的桌面时,其被从分组移除、重构,然后在站点用户桌面上被执行(375)。进行以退出过程(363)。

计算机可读介质实施例

在本发明的另一个实施例中,根据本发明并且在此描述的用于控制洗衣机的逻辑过程,编码在一个或更多计算机可读介质之上或之中。一些计算机可读介质是只读的(例如,它们必须使用与最后从该介质读取数据的设备不同的设备编程)、一些是只写的(例如,从数据编码器的观点来看,它们只能够被编码,但不能同时读取)或读-写。还有一些其它介质是一次写、多次读取。

一些介质在它们的安装机制中是相对固定的,而其它的是可移除的或甚至是可传送的。当用数据和/或计算机软件编码时,所有计算机可读介质形成两种类型的系统:(a)当从驱动器或读取机制移除时,它们是存储器设备,其在用适合的电磁、电和/或光信号激励时产生有用的数据驱动的输出;以及(b)当安装在驱动器或读取设备中时,它们形成由计算机可访问的数据存储系统。

图4a图示了一些计算机可读介质,包括:计算机硬盘驱动器(40),其具有一个或更多磁编码的碟(platter)或盘(disk)(41),其可以用一个或更多头(42)读取、写入或二者。这些硬盘驱动器典型地半永久地安装到完整的驱动器单元,其然后可以集成到可配置的计算机系统,如个人计算机、服务器计算机等。

类似地,另一种形式的计算机可读介质是柔性的可移除的“软盘”(43),其被插入到容纳读取头的驱动器中。软盘典型地包括:柔软的可磁编码的盘,其通过滑盖(44)中的窗口(45)由驱动头可访问。

致密盘(“CD”)(46)通常是塑料盘,其使用光和/或磁光过程编码,然后通常使用光过程读取。一些CD是只读的(“CD-ROM”),并且是在分发之前大量生成,且由读取类型驱动器使用。其它CD是一次或多次可写的(例如,“CD-RW”,“CD-R”)。数字多功能盘(“DVD”)是CD的高级版本,其通常包括数据的双侧编码,并且甚至数据的多层编码。与软盘一样,CD或DVD是可移除的介质。

另一个普通类型的可移除介质是几种可移除的基于电路的(例如固态)存储器设备,如致密闪存(“CF”)(47),Secure Data(安全数据“SD”)、Sony Memory Stick(索尼记忆棒)、通用串行总线(“USB”)快闪驱动器和“拇指驱动器”(49)等。这些设备典型地是塑料外壳,其并入数字存储器芯片,如电池支持的随机存取芯片(“RAM”)或快闪只读存储器(“FlashROM”)。对介质的外部部分可用的是用于啮合连接器的一个或更多电连接器(48,400),如CF驱动器槽或USB槽。设备(如USB快闪驱动器)使用串行数据技术访问,其中其它设备(如CF)使用并行技术访问。这些技术通常提供比基于盘的介质更快的访问时间,以及增加了可靠性并且降低了对机械震动和振动的敏感性。通常,它们提供比相对昂贵的基于盘的介质少的存储容量。

另一种类型的计算机可读介质设备是存储器模块(403),其通常被称作为SIMM或DIMM。与CF、SD和FlashDrive(快闪驱动器)类似,这些模块并入了一个或更多存储器设备(402)(如动态RAM(“DRAM”)),其安装在具有一个或更多用于啮合和接口连接另一个电路(如个人计算机主板)的电子连接器的电路板(401)上。这些类型的存储器模块通常不被装入外部壳体,因为它们旨在由受过训练的技师安装,并且通常由更大的外部外壳(如个人计算机机箱)保护。

现在转到图4b,示出了本发明的另一个实施例选项(405),其中计算机可读信号用软件、数据或者两者编码,该实施例选项实现根据本发明的逻辑过程。图4b被一般化来表示无线、有线、电光和光信号系统的功能。例如,图4b中所示的系统能够通过射频(“RF”)以及通过光信号(如红外数据安排(“IrDA”),以适于无线传输的方式实现。图4b的系统还可以以另一种方式实现,以便用作用于USB系统(如用于读取前述USB快闪驱动器的驱动器)的数据发射机、数据接收机或数据收发机,或者访问在盘(如CD或硬盘驱动器碟)上串行存储的数据。

一般来说,微处理器或微控制器(406)从用于数据、程序或两者的存储读取数据,向该存储写入数据,或者既读取又写入数据(407)。可选地包括数模转换器的数据接口(409)与可选的协议栈(408)协同工作,以便在系统前端(410)和微处理器(406)之间发送、接收或收发数据。所述协议栈适合于被发送、接收或收发的信号类型。例如,在局域网(“LAN”)实施例中,协议栈可以实现传输控制协议/因特网协议(“TCP/IP”)。在计算机到计算机或计算机到外围设备的实施例中,协议栈可以实现USB、“FireWire”、RS-232、点对点协议(“ppp”)等的全部或部分。

系统的前端或模拟前端适合于被调制、解调或代码转换的信号类型。例如,在基于RF(413)的系统中,模拟前端包括各种本地振荡器、调制器、解调器等,其实现信号各种发送格式,如频率调制(“FM”)、幅度调制(“AM”)、相位调制(“PM”)、脉冲编码调制(“PCM”)等。这种基于RF的实施例典型地包括:天线(414),用于经由户外(open air)、水、大地或经由RF波导和同轴电缆,发送、接收或收发电磁信号。一些共同的户外传输标准是蓝牙、全球移动通信服务(“GSM”)、时分多址(“TDMA”)、先进移动电话服务(“AMPS”)和无线保真(Wireless Fidelity)(“Wi-Fi”)。

在另一个示例性实施例中,模拟前端可以适合于经由光学接口(415)(如基于激光的光学接口(例如,波分复用、SONET等))、或红外数据安排(“IrDA”)接口(416),发送、接收或收发信号。类似地,模拟前端可以适合于经由使用电缆接口的电缆(412)发送、接收或收发信号,这还包括如USB、以太网、LAN、双绞线对、同轴电缆、简易老式电话业务(“POTS”)等的实施例。

发送、接收或收发的信号以及在盘上或在存储器设备中编码的数据,可以被编码,以防止它被未授权解码和使用。如通过添加奇偶检验位或循环冗余码(“CRC”),其它类型的编码可以用来允许错误检测,并且在一些情况中用来校正。其它类型的编码可以用来允许将数据指引或“路由”到正确的目的地,如分组和基于帧的协议。

图4c图示将并行数据转换为串行数据、以及将串行数据转换为并行数据的转换系统。并行数据最通常直接由微处理器可使用,通常以8位宽字节、16位宽字、32位宽双字等的格式。并行数据能够表示可执行或可解释的软件,或者它可以表示用于计算机使用的数据值。数据通常被串行化,以便通过介质(如RF或光学信道)传输它,或者将其记录到介质(如盘)上。这样,许多计算机可读介质系统包括电路、软件或其二者,用于执行数据串行化和重新并行化。

并行数据(421)可以表示为按时间对齐的数据信号流,使得并行数据单元(字节、字、双字等)(422、423、424)同步传输,同时每位D0-Dn在总线或信号载波上,其中数据单元“宽度”是n-1。在一些系统中,D0用于表示最低有效位(“LSB”),而在其它系统中,它表示最高有效位(“MSB”)。数据通过一次发送一位被串行化(421),使得每个数据单元(422、423、424)典型地根据协议,一个接一个以串行方式发送。

这样,存储在计算机存储器(407、407’)中的并行数据,通常经由并行总线(421)由微处理器或并串转换器(425,425’)访问,并且经由串行总线(421’)交换(例如,发送、接收或收发)。通常在将其存储在计算机存储器中之前,将接收的串行数据转换回并行数据。如之前讨论的,在图4c中一般化的串行总线(421’)可以是有线总线(如USB或Firewire)、或无线通信介质(如RF或光学信道)。

按照这些方式,本发明的各种实施例可以通过将根据本发明的逻辑过程的软件、数据或其二者编码到一个或更多计算机可读介质中来实现,因此产生制造产品和系统,其在适当读取、接收或解码时,产生有用的编程指令、数据或其二者,其包括但不限于在前述段落中描述的计算机可读介质类型。

结论

尽管已经公开了各种实施例的某些例子和细节,但是本领域技术人员将认识到,可以采用实现的变化(如不同的编程方法、计算平台和处理技术),而不偏离本发明的精神和范围。因此,本发明的范围应当由权利要求确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号