用于认证的方法和系统的制作方法

文档序号:10618236阅读:408来源:国知局
用于认证的方法和系统的制作方法
【专利摘要】提供了用于认证的方法和系统。更具体而言,提供了一种用于认证的方法。该方法执行通过一个或多个计算机处理器识别试图访问分带数据的账户。该方法执行通过一个或多个计算机处理器识别与该账户相关联的一个或多个计算设备。该方法执行通过一个或多个计算机处理器确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离。该方法执行通过一个或多个计算机处理器确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内。该方法还基于阈值接近度被满足或超过而准许或拒绝对分带数据的访问。
【专利说明】
用于认证的方法和系统
技术领域
[000?]本发明一般而言涉及数据分带(data striping),并且更具体地,涉及基于计算设备的位置参考另一台计算设备的位置准许或拒绝对分带数据的访问。
【背景技术】
[0002]在计算机数据存储中,数据分带(striping)是用于逻辑上分段(segmenting)顺序数据(例如,文件),使得连续的段被存储在不同物理存储设备上的技术。当处理设备请求数据的速度比单个存储设备能够提供数据的速度更快时,分带会是有用的。跨多个可被并行访问的设备分散区段(segment)可以增加总的数据吞吐量。数据分带对于跨磁盘阵列平衡输入/输出(I/O)负载也会是有用的方法。分带跨在独立磁盘冗余阵列(RAID)存储中的磁盘驱动器、网络接口控制器、在集群文件系统和面向栅格的存储中的不同计算机、以及在一些系统中的随机存取存储器(RAM)被使用。

【发明内容】

[0003]本发明的各方面提供了根据本发明实施例的用于认证的方法。在一个方面中,一种方法包括通过一个或多个计算机处理器识别试图访问分带数据的账户。该方法包括通过一个或多个计算机处理器识别与该账户相关联的一个或多个计算设备。该方法包括通过一个或多个计算机处理器确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离。该方法包括通过一个或多个计算机处理器确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内。
[0004]在另一个方面,一种计算机程序产品包括识别试图访问分带数据的账户的程序指令。该计算机程序产品包括识别与该账户相关联的一个或多个计算设备的程序指令。该计算机程序产品包括确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离的程序指令。该计算机程序产品包括确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内的程序指令。
[0005]在还有的另一方面中,一种计算机系统包括识别试图访问分带数据的账户的程序指令。该计算机系统包括识别与该账户相关联的一个或多个计算设备的程序指令。该计算机系统包括确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离的程序指令。该计算机系统包括确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内的程序指令。
[0006]在还有的另一个方面中,一种用于部署用于认证的系统的方法包括提供能操作以通过一个或多个计算机处理器识别试图访问分带数据的账户的计算机基础设施。该方法包括通过一个或多个计算机处理器识别与该账户相关联的一个或多个计算设备。该方法包括通过一个或多个计算机处理器确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离。该方法包括通过一个或多个计算机处理器确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内。
[0007]在还有的另一方面中,响应于确定从第一计算设备到第二计算设备的距离在阈值接近度之内,通过一个或多个计算机处理器准许对分带数据的访问。
[0008]在还有的另一方面中,响应于确定从第一计算设备到第二计算设备的距离在阈值接近度之内,通过一个或多个计算机处理器准许对分带数据的访问。
[0009]在还有的另一方面中,其中确定从第一计算设备到第二计算设备的距离包括通过一个或多个计算机处理器基于第一计算设备和第二计算设备是否能够经由无线个人区域网(WPAN)通信确定从第一计算设备到第二计算设备的距离。该方法包括其中如果第一计算设备和第二计算设备能够利用WPAN通信,则所确定的距离是在阈值接近度之内。该方法包括其中如果第一计算设备和第二计算设备不能利用WPAN通信,则所确定的距离超过阈值接近度。
[00?0]在还有的另一个方面中,该方法包括确定规定数量的(a quorum of)计算设备是否在彼此的阈值接近度之内。该方法包括识别与所述账户相关联的计算设备。该方法包括通过一个或多个计算设备确定与所述账户相关联的预设数量的计算设备是否在彼此的阈值接近度之内。
【附图说明】
[0011 ]图1表示根据本发明一实施例的云计算节点;
[0012]图2表示根据本发明一实施例的云计算环境;
[0013]图3表示根据本发明一实施例的抽象模型层;
[0014]图4是示出根据本发明一实施例的分布式数据处理环境的功能框图;
[0015]图5是表示根据本发明一实施例的程序的操作步骤的流程图;及
[0016]图6是表示根据本发明一实施例的程序的操作步骤的流程图。
【具体实施方式】
[0017]本发明的实施例认识到,跨多个设备存储数据以增加数据吞吐量会是有益的。本发明的实施例认识到,在单个设备上存储数据会给数据带来风险,如果该设备被侵犯(breached)或被盗的话。
[0018]首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
[0019]云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
[0020]特征包括:
[0021]按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0022]广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
[0023]资源池:提供者的计算资源被归入资源池并通过多租户(mult1-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0024]迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
[0025]可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0026]服务模型如下:
[0027]软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0028]平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0029]基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0030]部署模型如下:
[0031 ]私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0032]共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0033]公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0034]混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0035]云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
[0036]现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
[0037]云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12—起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
[0038]计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0039]现在将参照附图详细描述本发明。
[0040]如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0041]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0042]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0043]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM, DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0044]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0045]计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12—起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0046]现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0047]现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
[0048]硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:大型机;RISC(精简指令集计算机);基于架构的服务器;存储设备;网络和网络组件。在一些实施例中,软件组件包括网络应用服务器软件。
[0049]虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
[0050]在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
[0051]工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及移动设备数据分带。
[0052]图4是示出根据本发明一实施例的一般地表示为400的数据处理环境的功能框图。图4只提供一个实现的图示并且不意味着关于其中可以实现不同实施例的系统和环境的任何限制。可以由本领域技术人员在不背离如由权利要求所述的本发明的范围的情况下作出对所绘出的实施例的许多修改。
[0053]分布式数据处理环境400包括服务器402和客户端设备404A?404C,它们都通过网络412互连。网络412表示例如电信网络、局域网(LAN)、诸如互联网的广域网(WAN)、或三者的组合,并且包括有线、无线和/或光纤连接。网络412包括能够接收和发送数据、语音和/或视频信号一一包括包含语音、数据和视频信息的多媒体信号在内的一个或多个有线和/或无线网络。
[0054]在所绘出的环境中,服务器402是管理服务器、web服务器或能够接收、分析和发送数据的任何其它电子设备或计算系统中的一个或多个。在这个实施例中,服务器402基于客户端设备具有的到一个或多个其它客户端设备的接近度确定对数据的访问。在其它实施例中,服务器402表示诸如在云计算环境中的、利用多个计算机作为服务器系统的服务器计算系统。在例子中,服务器402可以是云计算节点10。在另一种实施例中,服务器402表示膝上型计算机、平板计算机、笔记本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话、或能够经由网络412与客户端设备通信的任何可编程电子设备。在另一种实施例中,服务器402表示利用集群计算机和组件作为单个无缝资源池的计算系统。根据本发明实施例的,服务器402可以包括如关于图1绘出和进一步详细描述的组件。服务器402包括访问程序420和数据库440。
[0055]在所绘出的分布式数据处理环境400中,访问程序420驻留在服务器402上并且基于客户端设备具有的到一个或多个其它客户端设备的接近度准许或拒绝对数据的访问。在各种实施例中,访问程序420从客户端设备接收数据并且将数据分带到组成一组客户端设备的一个或多个其它客户端设备。在这些实施例中,访问程序420基于客户端设备到所述一个或多个其它客户端设备的接近度准许或拒绝对分带数据的访问。在例子中,客户端设备(例如,客户端设备404A)是具有分带给它们的数据的三个客户端设备(例如,客户端设备404A?404C)之一。在这个例子中,如果客户端设备中的任何一个在阈值接近度(例如,10英里半径)之外,则访问程序420不准许客户端设备对任何分带数据的访问。在计算机数据存储中,数据分带是逻辑上分段顺序数据(诸如文件),使得连续的段被存储在不同物理存储设备上的技术。当处理设备请求数据的速度比单个存储设备能够提供数据的速度更快时,分带是有用的。跨多个可被并行访问的设备分散区段能够增加总的数据吞吐量。分带跨在独立磁盘冗余阵列(RAID)存储中的磁盘驱动、网络接口控制器、在集群文件系统和面向栅格的存储中的不同计算机、以及在一些系统中的随机存取存储器(RAM)器被使用。
[0056]在一些实施例中,在彼此接近距离内的客户端设备的数量与具有已分带给设备数据的客户端设备的总数相比可以是在准许或拒绝对分带数据的访问时的因素。在各种实施例中,在分带数据上也利用了加密。在其它实施例中,访问程序420可以利用用户名和密码并结合接近度阈值,以及优先于(override)接近度阈值的要求的可能性。参照图5和6绘出和进一步详细描述访问程序420。
[0057]在所绘出的实施例中,数据库440驻留在服务器402上。在另一种实施例中,数据库440可以驻留在分布式数据处理环境400的其它地方,诸如在服务器402、客户端设备404A?404C内,或者独立地作为能够通过网络412与服务器402和/或客户端设备404A?404C通信的单独数据库。数据库是有组织的数据集合。数据库440能够利用能存储由服务器402和客户端设备404A?404C访问和利用的数据的任何类型的存储设备(诸如数据库服务器、硬盘驱动器或闪存存储器)来实现。在其它实施例中,数据库440表示在服务器402中的多个存储设备。数据库440存储信息,诸如用户名、账号、密码、接近度阈值、属于账户的客户端设备的数量、分带数据、准许针对账户需要准许访问的客户端设备的数量(例如,规定数量)、加密信息等。在例子中,数据库440存储包括到属于账户的客户端设备的中心点的半径的接近度阈值。在另一个例子中,分带数据的一大部分存储在数据库440中,以不占用客户端设备404A?404C上所有可用的数据库存储。
[0058]在所绘出的实施例中,客户端设备404A?404C是台式计算机、膝上型计算机、平板计算机、专用计算机服务器、智能电话或能够经由网络412与服务器402和与分布式数据处理环境400内的各种组件和设备通信的任何可编程电子设备中的一个或多个。在例子中,客户端设备404A?404C中的每一个可以是节点,诸如云计算节点10。一般而言,客户端设备404A?404C表示任何可编程电子设备或能够执行机器可读程序指令并且经由诸如网络412的网络与其它计算设备通信的可编程电子设备的组合。客户端设备404A?404C可以包括根据本发明实施例的、如相对于图1绘出和进一步详细描述的组件。
[0059]在实施例中,客户端设备404A经由网络412将数据发送到服务器402,用于通过访问程序420或未绘出的另一个数据分带程序分带到其它客户端设备(例如,客户端设备404B和客户端设备404C)。在各种实施例中,客户端设备404A?404C可以表示一组计算设备(例如,蜂窝电话、台式计算机、平板电脑等),其可以属于一个人、部门、公司等。在例子中,客户端设备404A是由于与客户端设备404B和404C相同的用户或实体拥有的三个蜂窝电话之一。在另一种实施例中,客户端设备404A请求对已被分带到其它客户端设备(例如,客户端设备404B和404C)的数据的访问,并且访问程序420或者准许或者拒绝客户端设备404A对分带数据的访问。在例子中,客户端设备404A从访问程序420请求对分带数据的访问,并且取决于属于用于客户端设备404A的用户的账户的客户端设备(例如,客户端设备404A?404C)的接近度而或者被准许或者被拒绝对分带数据的访问。客户端设备404A?404C分别包含客户端访问程序430A?430C和数据库450A?450C。
[0060]在所绘出的分布式数据处理环境400中,客户端访问程序430A?430C分别驻留在客户端设备404A?404C上并且请求对已分带到其它客户端设备的数据的访问。在实施例中,客户端访问程序430A?430C可以从用户接收数据并且将数据分带到其它客户端设备(例如,客户端设备404B和404C)。在另一种实施例中,客户端访问程序(例如,客户端访问程序430A)可以将数据发送到访问程序420,其然后将数据分带到一些或所有客户端设备以及与该客户端访问程序(例如,客户端访问程序430A)属于同一账户的客户端访问程序(例如,客户端访问程序430B和430C)。在各种实施例中,客户端访问程序430A?430C可以不分带数据,而是发送和接收与准许或拒绝对位于至少一个客户端设备(例如,客户端设备404A?404C)或服务器(例如,服务器402)上的分带数据的访问相关的数据。在例子中,客户端访问程序430A发送可以包括位置、用户名、密码、对已分带的特定文件的请求等的信息。
[0061 ] 在所绘出的实施例中,数据库450A?450C分别驻留在客户端设备404A?404C上。在另一种实施例中,数据库450A?450C可以驻留在分布式数据处理环境400的其它地方,诸如在服务器402内或者独立地作为能够经由网络412与服务器402和/或客户端设备404A?404C通信的单独数据库。数据库是有组织的数据集合。数据库450A?450C与能够存储由服务器402和客户端设备404A?404C访问和利用的数据的任何类型的存储设备一一诸如数据库服务器、硬盘驱动器或闪存存储器一一来实现。在其它实施例中,数据库450A?450C表示在客户端设备404A?404C中的多个存储设备。数据库450A?450C存储信息,诸如用户名、账号、密码、接近度阈值、属于账户的客户端设备的数量、分带数据、准许针对账户需要准许访问的客户端设备的数量、加密信息等。在例子中,数据库450A存储已从数据的较大集合中被分带并且跨多个设备或数据库(例如,数据库450A?450C)分布的一条数据。在另一个例子中,数据库450A?450C可以包括已被加密的分带数据以及计算设备(例如,客户端设备404A?404C)的位置和被存储用于客户端访问程序430A?430C的任何密码。
[0062]图5绘出了根据本发明一实施例的流程图500,其示出了访问程序420的功能。访问程序420在服务器402上运行并且为分带数据创建用户账户和访问参数。在各种实施例中,用于访问程序420的访问和账户信息可以在当对账户进行任何更改(例如,给账户添加计算设备)和/或当访问程序420接收到新的数据时的初始账户设置期间进行创建。在一种实施例中,当客户端设备(例如,客户端设备404A)的用户第一次建立针对访问程序420的账户时,用户启动访问程序420的操作步骤。在另一种实施例中,访问程序420可以在设定数量的天数之后启动访问程序420的操作步骤。在还有的另一种实施例中,访问程序420可以响应于客户端设备(例如,客户端设备404A)试图访问分带数据的实例而启动。在一些实施例中,访问程序420可以是经由对等网络通信的客户端访问程序430A?430C的功能。
[0063]访问程序420接收创建客户账户的信息(步骤502)。在各种实施例中,访问程序420从客户端设备(例如,客户端设备404A)接收数据以创建针对访问程序420的账户。在例子中,访问程序420从客户端访问程序430A接收指示新账户的创建的数据。在这个例子中,客户端访问程序430A提供指示属于该账户的客户端设备(例如,客户端设备404A?404C)的数量的数据。在另一种实施例中,访问程序420确定不是账户的成员的客户端设备频繁地与注册到用于访问程序420的账户的设备通信。在这个实施例中,访问程序420可以发送请求给客户端访问程序430A?430C,从而提示客户端访问程序430A?430C的用户来指示该客户端设备是否应该被添加到该账户。例如,客户端设备404A?404C频繁地彼此通信。客户端设备404A和404B是针对访问程序420的同一账户的成员,但客户端设备404C不是。访问程序420可以发送提示到客户端访问程序430A和430B,以确定客户端设备404C是否应该被添加到该账户。在一些实施例中,访问程序420可以接收创建账户所需的信息,诸如用户名、密码、计算设备序列号、IP地址、或本领域技术人员已知的任何其它识别特征。
[0064]访问程序420接收用于客户端设备的阈值接近度(步骤504)。在各种实施例中,访问程序420从客户端访问程序(例如,客户端访问程序430A?430C)接收指示用于共享访问程序420的账户的计算设备的阈值接近度的数据,以允许客户端设备(例如,客户端设备404A?404C)访问分带数据。在一些实施例中,阈值接近度可以是到向访问程序420的账户注册的所有设备的中心点的半径距离。在其它实施例中,阈值接近度可以是从一个设备到另一个设备而不是中心位置的距离。在实施例中,客户端设备的位置可以通过位于该设备上的全球定位系统来确定。接收阈值接近度是有利的,因为它允许用户来确定对与账户相关联的客户端设备期望的限制和安全级别。
[0065]在其它实施例中,阈值接近度可以通过设备的信号强度或到无线网络的连接性进行测量。在一个例子中,连接性可以是测得的到无线个人区域网(WPAN)的连接性。WPAN是个人区域网络,其启用客户端设备经由无线信号、红外信号或本领域技术人员已知的任何其它连接性方法的连接。在一些实施例中,访问程序420可以从客户端访问程序(例如,客户端访问程序430A)接收指示在允许访问分带数据之前阈值数量的设备需要在与该账户相关联的其它客户端设备的阈值接近度之内的数据。在例子中,针对访问程序420的账户已注册有十个客户端设备;但是,十个注册的客户端设备中只有七个需要在彼此的阈值接近度之内,以使访问程序420允许对分带数据的访问。在一种实施例中,阈值半径可以从正在请求对分带数据访问的客户端设备(例如,客户端设备404A)来测量。
[0066]在还有的其它实施例中,取决于与和针对访问程序420的账户相关联的设备有关的各种因素,诸如某个地点的犯罪事件、与某个地区的犯罪有关的新闻条目、恶意软件的报告、网络钓鱼(phishing)的报告、与社交网络相关联的危险、与该账户相关联的设备的类型等,访问程序420可以设置或调整阈值。在一些实施例中,基于属于账户的客户端设备的位置以及地点的犯罪事件、与某个地区的犯罪有关的新闻条目、恶意软件的报告、网络钓鱼的报告、与社交网络相关联的危险、设备的类型等,访问程序420可以确定分带数据将被泄漏(breached)的概率。
[0067]在各种实施例中,阈值接近度以及访问分带数据所需的规定数量的设备,可以由客户端设备的用户、公司策略、第三方、服务提供者、访问程序420的管理员等设置。在一种实施例中,当与账户相关联的全部客户端设备中预设数量的客户端设备在阈值接近度之内时,存在规定数量的设备。在一个例子中,当与账户相关联的十个客户端设备中的七个在彼此的阈值邻近度之内时,满足规定数量的设备。在这个例子中,如果只有六个与该账户相关联的设备在彼此的阈值接近度之内,则对分带数据的访问被拒绝。
[0068]访问程序420接收数据并且跨客户端设备将数据分带(步骤506)。在各种实施例中,访问程序420跨用于账户的计算设备分带数据。在例子中,客户端设备404A创建、下载等新的数据,并且客户端访问程序430A将数据发送到访问程序420 ο访问程序420接收新的数据并且将接收到的新的数据分带到与客户端设备404A共享针对访问程序420的账户的一个或多个客户端设备,诸如客户端设备404B。在一些实施例中,访问程序420也可以将一些数据存储在数据库440中。在一些实施例中,客户端访问程序(例如,客户端访问程序430A)可以将数据分带到共享访问程序420账户的其它客户端设备。在其它实施例中,访问程序420可以不分带数据,而是单独的数据分带程序可以分带数据。在还有的其它实施例中,在跨计算设备分带数据之前,访问程序420可以只验证用于访问程序420的登录信息。跨多个设备分带数据是有利的,因为它将数据分离到不同的位置,从而使侵犯需要包括多个设备,以便获得一致的数据。
[0069]图6绘出了根据本发明一实施例的、示出访问程序420的功能的流程图600。由流程图600表示的访问程序420的功能在服务器402上运行,并且确定对于对分带数据的访问接近度阈值是否已满足。在各种实施例中,用于流程图600的访问程序420的操作步骤可以在访问程序420已完成步骤506之后开始。在其它实施例中,用于流程图600的访问程序420的操作步骤可以在每次请求对分带数据的访问时开始,这由访问程序420审查(oversee)。
[0070]访问程序420从客户端设备接收用于访问的请求(步骤602)。在各种实施例中,访问程序420从客户端设备(例如,客户端设备404A?404C)接收用于访问分带数据的请求。在例子中,访问程序420从客户端访问程序430A接收用于访问分带数据的请求。在另一个例子中,在客户端设备404A的用户登录到访问程序420之后,访问程序420从客户端设备404A接收用于访问分带数据的请求。在一些实施例中,访问程序420可以从管理企业网络的服务器计算机接收用于访问的请求。在还有的另一种实施例中,访问程序420可以从诸如客户端访问程序430A的客户端访问程序接收用于访问分带数据的请求。
[0071 ]访问程序420确定客户端设备的位置(步骤604)。在各种实施例中,访问程序420识别属于为其请求访问的账户的客户端设备的位置。在例子中,客户端设备404A请求对位于数据存储450A?450C中的分带数据的访问。访问程序420识别属于生成请求的账户的所有设备(例如,客户端设备404A?404C)。在各种实施例中,访问程序420可以从客户端访问程序(例如,客户端访问程序430A)、位于客户端设备上的GPS、蜂窝塔的三角测量、互联网协议(IP)地址等接收客户端设备(例如,客户端设备404A)的地理位置。在这些实施例中,访问程序420可以存储这种信息,并且只在如果客户端设备位置改变时才接收更新。在一些实施例中,访问程序420可以不确定客户端设备的地理位置,而是确定信号强度、或者到网络或属于用于访问程序420的同一账户的另一个客户端设备的无线连接性。在一些实施例中,访问程序420可能不能确定属于针对访问程序420的账户的所有客户端设备的位置。确定客户端设备的位置是有利的,因为识别客户端设备的位置有助于验证对分带数据的请求的真实性。
[0072]访问程序420确定客户端设备是否在阈值接近度之内(决定606)。访问程序420与确定请求访问分带数据的客户端设备(例如,客户端设备404A)注册到同一账户的客户端设备(例如,客户端设备404B和404C)是否在彼此的阈值接近度之内。在例子中,属于账户的所有客户端设备必须在一英里的预定半径之内,以允许访问存储在设备上的分带数据。在另一个例子中,当请求被访问程序420接收到时,访问程序420可以基于客户端设备的当前位置和在当前位置中的犯罪事件率重新校准预设的阈值接近度。在一些实施例中,在阈值接近度内的客户端设备的数量也可以确定是否可以准许对分带数据的访问。在例子中,客户端设备404A请求对存储在客户端设备404A?404C上的分带数据的访问。正在被客户端设备404A请求的针对访问程序420的账户具有预设:三个客户端设备(例如,客户端设备404A?404C)中的至少两个必须在彼此(例如,客户端设备404A和404B)的无线通信范围之内,以使得能够访问在针对账户的所有客户端设备(例如,客户端设备404A?404C)上的分带数据。确定客户端设备是否在阈值接近度之内是有利的,因为阈值接近度是验证对分带数据的真实性的一个方面。
[0073]在其它实施例中,阈值接近度可以包括被隔开一定距离的设备。在例子中,如果客户端设备404A请求对客户端设备404A?404C上的分带数据的访问,则访问程序420将确定客户端设备是否被隔开阈值距离(例如,分开250英里)。在这个例子中,如果多个设备被盗,则它们将必须被分离远的距离,以获得对分带数据的访问。在一些例子中,客户端密码和/或加密可以具有高优先级和/或与访问程序420结合工作。
[0074]在一些实施例中,阈值接近度可以基于设置和/或级别对分带数据的部分进行调整。在例子中,分带数据的一部分可以具有高级别的安全性设置。在这个例子中,用户可能已将分带数据的该部分预设为高安全性级别,并且访问程序420减少属于账户的设备彼此必须的阈值接近度。在另一个例子中,访问程序420基于分带数据的内容为分带数据的一部分设置安全性级别。在另一个例子中,因为用于分带数据所请求部分的安全性级别低,因此访问程序420可以将接近度阈值调整为更远的距离。
[0075]如果访问程序420确定客户端设备在彼此的阈值接近度之内(决定606的“是”分支),则访问程序420允许对分带数据的访问(步骤608)。在实施例中,访问程序420确定来自针对访问程序420的账户的阈值数量的客户端设备在彼此的阈值接近度之内。在例子中,在访问程序420的一个账户中存在二十个客户端设备,其中一个正在请求对这二十个客户端设备中的一个或多个客户端设备上的分带数据的访问。访问程序420确定20个客户端设备中的15个是在彼此的无线范围之内。因为针对访问程序420的账户具有预设的、用向账户注册的客户端设备的50%的无线连接性范围的阈值接近度距离,因此访问程序420准许对分带数据的访问。在一些实施例中,访问程序420允许对位于属于针对访问程序420的账户的客户端设备中一个或多个客户端设备上的分带数据的访问,但是数据仍然是受密码保护的或加密的。在其它实施例中,访问程序420只允许对在请求方客户端设备的阈值接近度之内的分带数据访问。
[0076]如果访问程序420确定客户端设备不在彼此的阈值接近度之内(决定606的“否”分支),则访问程序420结束。在一些实施例中,访问程序420可以确定客户端设备的阈值接近度尚未达到;并且因此,锁定位于客户端设备上的分带数据。在一个例子中,客户端设备404A和404B被连接到同一个无线路由器,但是客户端设备404C没有;并且因此,访问程序420不允许访问分带数据。在另一个例子中,注册到针对访问程序420的账户的所有客户端设备都在彼此的预设阈值接近度之内,但是客户端设备中的一个或多个客户端设备处于或接近被访问程序420确定为是威胁的位置处。在这个例子中,客户端设备被拒绝对在注册到针对访问程序420的账户的客户端设备上的分带数据的访问。在另一种实施例中,如果访问程序420确定客户端设备不在彼此的阈值接近度之内,则访问程序420可以前进到步骤604。在各种实施例中,如果访问程序420确定客户端设备不在彼此的阈值接近度之内,则访问程序420可以提醒正试图访问分带数据的那个账户的用户。
[0077]本文所描述的程序是基于在本文具体实施例中它们为其实现的应用来识别的。但是,应当认识到,本文的任何特定程序命名都仅仅是为了方便而使用的,因此,本发明不应当局限于仅仅在由这种命名识别和/或暗示的任何具体应用中使用。
[0078]本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0079]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是一一但不限于一一电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备(例如其上存储有指令的打孔卡或凹槽内凸起结构)以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0080]这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0081]用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如Smalltalk、C++等,以及常规的过程式编程语言一诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一一包括局域网(LAN)或广域网(WAN)—一连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0082]这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0083]这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0084]也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0085]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0086]在另一种实施例中,本发明提供了基于订阅、广告和/或收费来执行本发明过程的方法。即,服务提供商(例如解决方案集成商)可以提供通过接收文件、开始位位置和位的总数量来提供认证验证。在这种情况下,服务器提供商可以创建、维护和支持等为一个或多个消费者执行本发明过程的计算机基础设施,例如计算机系统12(图1)。反过来,服务提供商可以根据订阅和/或收费协议从消费者收费和/或服务提供商可以从广告内容向一个或多个第三方的销售收费。
[0087]在还有另一种实施例中,本发明提供了用于认证对安全信息的访问的计算机实现方法。在这种情况下,可以提供计算机基础设施,例如计算机系统服务器12(图1),而且可以获得(例如,创建、购买、使用、修改等)用于执行本发明过程的一个或多个系统并且部署到该计算机基础设施。就此而言,系统的部署可以包括以下一个或多个:(I)在计算机设备,例如计算机系统服务器12(图1),上安装来自计算机可读介质的程序代码;(2)把一个或多个计算机设备添加到计算机基础设施;及(3)结合和/或修改计算机基础设施的一个或多个现有系统,以便使计算机基础设施能够执行本发明的过程。
[0088]已给出的本发明的各种实施例的描述是为了说明的目的,但是并非要穷举或限于所公开的实施例。在不背离本发明的范围和主旨的情况下,许多修改和变化都将对本领域普通技术人员显而易见。本文所使用的术语的选择是为了最好地解释实施例的原理、实践应用或者优于市场上见到的技术的技术改进,或者为了使本领域其他普通技术人员能够理解本文所公开的实施例。
【主权项】
1.一种用于认证的方法,该方法包括: 通过一个或多个计算机处理器识别试图访问分带数据的账户; 通过一个或多个计算机处理器识别与该账户相关联的一个或多个计算设备; 通过一个或多个计算机处理器确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离;及 通过一个或多个计算机处理器确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内。2.如权利要求1所述的方法,还包括: 响应于确定从第一计算设备到第二计算设备的距离在阈值接近度之内,通过一个或多个计算机处理器准许对分带数据的访问。3.如权利要求1所述的方法,还包括: 响应于确定从第一计算设备到第二计算设备的距离超过阈值接近度,通过一个或多个计算机处理器准许对分带数据的访问。4.如权利要求1所述的方法,其中确定从第一计算设备到第二计算设备的距离包括: 通过一个或多个计算机处理器基于第一计算设备和第二计算设备是否能够经由无线个人区域网(WPAN)通信确定从第一计算设备到第二计算设备的距离; 其中如果第一计算设备和第二计算设备能够利用WPAN通信,则所确定的距离在阈值接近度之内;及 其中如果第一计算设备和第二计算设备不能够利用WPAN通信,则所确定的距离超过阈值接近度。5.如权利要求1所述的方法,还包括确定是否有规定数量的计算设备在彼此的阈值接近度之内: 通过一个或多个计算机处理器识别与所述账户相关联的计算设备;及通过一个或多个计算设备确定是否有与所述账户相关联的预设数量的计算设备在彼此的阈值接近度之内。6.如权利要求1所述的方法,还包括: 通过一个或多个计算机处理器识别对于与所述账户相关联的计算设备上的分带数据的数据泄漏的概率,所述识别基于来自所述账户的所述计算设备的位置;及 通过一个或多个计算机处理器基于所识别的数据泄漏的概率调整用于所述账户的接近度阈值。7.如权利要求1所述的方法,还包括: 通过一个或多个计算机处理器识别用于分带数据的一部分的安全性级别;及通过一个或多个计算机处理器基于所识别的用于分带数据的所述部分的安全性级别调整用于所述账户的接近度阈值。8.如权利要求1所述的方法,还包括: 响应于确定从第一计算设备到第二计算设备的距离在阈值接近度之外,通过一个或多个计算机处理器拒绝对分带数据的访问。9.一种用于认证的计算机系统,该计算机系统包括: 一个或多个计算机处理器; 一个或多个计算机可读存储介质; 存储在计算机可读存储介质上用于被所述一个或多个计算机处理器中的至少一个执行的程序指令,该程序指令包括: 识别试图访问分带数据的账户的程序指令; 识别与所述账户相关联的一个或多个计算设备的程序指令; 确定从所识别的一个或多个计算设备中的第一计算设备到所识别的一个或多个计算设备中的第二计算设备的距离的程序指令;及 确定从第一计算设备到第二计算设备的距离是否在阈值接近度之内的程序指令。10.如权利要求9所述的计算机系统,还包括用于执行以下操作的程序指令: 响应于确定从第一计算设备到第二计算设备的距离在阈值接近度之内的程序指令,该程序指令准许对分带数据的访问。11.如权利要求9所述的计算机系统,还包括用于执行以下操作的程序指令: 响应于确定从第一计算设备到第二计算设备的距离超过阈值接近度的程序指令,该程序指令准许对分带数据的访问。12.如权利要求9所述的计算机系统,其中确定从第一计算设备到第二计算设备的距离的程序指令包括用于执行以下操作的程序指令: 基于第一计算设备和第二计算设备是否能够经由无线个人区域网(WPAN)通信确定从第一计算设备到第二计算设备的距离; 其中如果第一计算设备和第二计算设备能够利用WPAN通信,则所确定的距离在阈值接近度之内;及 其中如果第一计算设备和第二计算设备不能利用WPAN通信,则所确定的距离超过阈值接近度。13.如权利要求9所述的计算机系统,还包括确定是否有规定数量的计算设备在彼此的阈值接近度之内的程序指令,包括用于执行以下操作的程序指令: 识别与所述账户相关联的计算设备;及 确定是否有与所述账户相关联的预设数量的计算设备在彼此的阈值接近度之内。14.如权利要求9所述的计算机系统,还包括用于执行以下操作的程序指令: 识别对于与所述账户相关联的计算设备上的分带数据的数据泄漏的概率,所述识别基于来自所述账户的所述计算设备的位置;及 基于所识别的数据泄露的概率调整用于所述账户的接近度阈值。
【文档编号】H04L29/08GK105989275SQ201610156518
【公开日】2016年10月5日
【申请日】2016年3月18日
【发明人】R·L·奇尔德拉斯, I·古尔德伯格, C·A·匹克奥沃, N·桑迪
【申请人】国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1