使用一系列设备指纹识别来自用户设备的欺诈行为的系统和方法与流程

文档序号:21409298发布日期:2020-07-07 14:44阅读:197来源:国知局
使用一系列设备指纹识别来自用户设备的欺诈行为的系统和方法与流程

本发明涉及用于保证用户与在线服务的安全交互的方案,更具体地涉及使用一系列设备指纹从用户设备识别欺诈行为的系统和方法。



背景技术:

近年来,银行服务的范围已显著扩展。银行顾客作为银行服务的it基础设施的用户,被提供与银行交互的新方式以及资金支付和转账的方法。大量支付系统、信用卡和银行服务(银行服务经常被称为远程银行服务)允许用户使用计算设备执行各种各样的交易。网上银行和移动银行使得能够使用信用卡或银行账户信息执行金融操作。

存在用于保护用户资金免受第三方访问的各种机制。当用户使用网上银行时,经常使用诸如双重认证的方法。在使用浏览器在银行网站上或在移动设备上的银行应用程序中输入认证数据(诸如登录名和密码,其可能成为第三方可访问的)之后,银行在用户的移动电话上向他或她发送消息,该消息例如包含在特殊栏中需要输入的补充验证码。

然而,应当注意,在用户与银行服务的交互中存在许多利用漏洞的攻击,这类攻击由犯罪分子进行实施,目的是获得对用户资金的访问权。这类攻击经常被称为欺诈行为。因此,例如可以借助钓鱼网站获得用于访问在线银行的登录名和密码。用于移动设备的恶意软件允许犯罪分子获得对补充验证码的访问权且在用户不知情的情况下进行具有确认的交易。

已知采用用户设备的所谓“指纹”的系统和方法,以便保护用户免受欺诈行为的影响。用户通常使用相同的设备,每个设备包含银行已知的特定一套软件和特征(硬件和软件数据)。如果在设备上更改了软件套件,或者如果设备本身已改变,则发生欺诈行为的概率很高。当在设备上进行欺诈行为时,该设备被远程银行服务视为危险的。

然而,可出现设备指纹的冲突。设备经常不提供识别其序列号或imei的访问权,因此两个设备可以具有相同指纹或彼此相似程度大于阈值的指纹。

此外,指纹的匹配可以指示合法用户的设备可能正被另一用户使用,或正进行模拟(复制)用户设备的尝试。

还应当提及的是,由于已知指纹的数量庞大(百万级),因此无法在短时间段内将一设备(从该设备,用户与在线服务交互)的指纹与所有已知指纹进行比较。



技术实现要素:

因此,作为一个优化可能,还需要解决在所有已知指纹中识别相似指纹(候选指纹)的问题。本发明有效地解决了当用户与在线服务交互时选择候选指纹进行设备的指纹比较的问题。

本发明描述了使用来自多个设备的大量的所有已知的指纹的一系列设备指纹识别来自用户设备的欺诈行为的方法。

本发明的技术效果是实现所陈述的目的。

根据一个变型方面,一种示例性方法包括:计算属于访问在线服务的用户的一个或多个设备的数字指纹;确定出现所述数字指纹的一组数字指纹;针对在确定的所述组内的每个数字指纹的改变的特征,计算所述特征的多个矢量;计算所述数字指纹与在确定的所述组内的每个数字指纹属于同一系列指纹的概率;从所述组的所述数字指纹中识别属于所述同一系列指纹的概率越过阈值的候选指纹的集合;将计算的所述一个或多个设备的所述数字指纹与所述候选指纹的集合中的设备的指纹相比较;当所述比较导致高于指定阈值的匹配时,确定所述一个或多个设备对应于在所述候选指纹的集合中识别的设备之一;以及响应于确定所述一个或多个设备对应于在所述候选指纹的集合中的所述设备之一,允许用户动作,否则将所述用户与所述在线服务的交互作为欺诈行为跟踪。

根据另一个变型方面,示出一种方法,其中,根据特征将指纹分解为多组,使得来自不同组的任何给定的一对指纹之间的相似度的测量值等于零。

根据一个特定变型方面,示出一种方法,其中,计算特征的联合成对概率的矩阵。

根据一个特定变型方面,示出一种方法,其中,从所述联合成对概率的矩阵识别改变的特征的矢量所对应的列和行。

根据一个特定变型方面,示出一种方法,其中,识别计算的矩阵中的最小元素。

根据一个特定变型方面,其中,一组的公共特征包括操作系统系列和浏览器系列。

根据一个特定变型方面,该方法还包括:在设备的数字指纹的按时间排序的一系列值期间,计算特征变化的概率。

根据一个变型方面,另一示例性方法包括:借助收集模块计算用户设备的数字指纹,其中,该数字指纹包含在所述用户使用该用户设备发生与远程服务的交互的时刻所收集的该用户设备的至少一个特性;借助分析模块确定出现上述指纹的一组指纹;借助分析模块针对在该指纹和该组的所有指纹中已改变的特征计算矢量;所述分析模块用于计算该指纹与该组的每个指纹属于同一系列的概率;所述分析模块用于识别所述组中的与上述指纹属于同一系列的概率高于阈值的指纹。

根据另一个方面,本发明的系统包括硬件处理器,所述硬件处理器被配置为:计算属于访问在线服务的用户的一个或多个设备的数字指纹;确定出现所述数字指纹的一组数字指纹;针对在确定的所述组内的每个数字指纹的改变的特征,计算所述特征的多个矢量;计算所述数字指纹与在确定的所述组内的每个数字指纹属于同一系列指纹的概率;从所述组的所述数字指纹中识别属于所述同一系列指纹的概率越过阈值的候选指纹的集合;将计算出的所述一个或多个设备的所述数字指纹与所述候选指纹的集合中的设备的指纹相比较;当所述比较导致高于指定阈值的匹配时,确定所述一个或多个设备对应于在所述候选指纹的集合中识别的设备之一;以及响应于确定所述一个或多个设备对应于在所述候选指纹的集合中的所述设备之一,允许用户交互,否则将所述用户与所述在线服务的交互作为欺诈行为跟踪。

在另一个示例性方面中,也提供了一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有执行上文和本文中所描述的方法和系统的指令。

以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键的或主要的要素,也不旨在勾画本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且示例性指出的特征。

附图说明

并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。

图1为根据本发明的示例性方面的用于选择候选指纹以比较用户的设备的指纹的系统的框图。

图2示出了根据本发明的示例性方面的用于选择候选指纹以比较用户的设备的指纹的方法的流程图。

图3示出了根据本发明的示例性方面的其上可实现本发明的通用计算机系统的示例。

具体实施方式

本文中在选择候选指纹进行设备的指纹比较的系统、方法和计算机程序产品的背景下描述示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是示例性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。

本发明的系统包括真实的设备、系统、部件、和部件组,这些设备、系统、部件、和部件组利用硬件(诸如集成微电路(专用集成电路,asic)或现场可编程门阵列(fpga))或例如以软件和硬件的组合(诸如微处理器系统和一组程序指令)的形式、以及在神经突触芯片上实现。系统的指示组件的功能可以排外地通过硬件且也以组合形式来实现,其中,系统的组件的一些功能通过软件来实现且一些功能通过硬件来实现。在特定变型方面中,可以在通用计算机(诸如在图3中所示的通用计算机)的处理器上实现一些组件或全部组件。系统的各个组件可以在单一计算设备内实现或散布在多个互连计算设备之中。

图1为根据本发明的示例性方面的用于选择候选指纹以比较用户的设备190的指纹的系统100的框图。系统100包括收集模块110和分析模块120。在示例性方面中,用户使用设备190来与远程服务交互。系统100被配置为在用户正与远程服务交互时解决设备190的数字指纹(在下文中,使用术语“指纹”)的冲突。远程服务为在远程服务器上(或在服务器的分布式系统上)或作为云服务运行(运作)的网络或在线服务,用户使用账户与该网络或在线服务交互。这类服务的示例为银行服务、电子邮件、社交网络等(在下文中,在线服务199)。

在本发明的背景下的设备190包括在计算设备上运行的程序执行环境。在示例性方面中,该程序执行环境可以为在计算机上运行的浏览器、在移动设备上运行的银行应用程序等。

本发明解决从设备190的众多的所有已知指纹搜索与用户正在与在线服务199交互所利用的设备190的指纹相似的设备190的指纹的问题。

为了解决该问题,使用一对指纹属于同一设备190的一系列指纹的概率作为相似度的测量值。在一个方面中,设备190的该系列指纹指的是设备190所对应的指纹的按时间排序的一系列值。换言之,该系列指纹为用于给定设备190的指纹的一系列演变。

在一个变型方面中,收集模块110被配置为采集多个设备190的指纹。在一般情况下,指纹包含设备190的特性。设备190的特性至少包括:

·设备190在其控制下工作的操作系统的标识符;

·设备190的固件的地域特性(诸如洲/国家/城市);

·帐户标识符(例如微软、谷歌或苹果账户标识符);

·关于设备190(程序执行环境)是否在虚拟机或仿真器内运行(该设备是否被仿真)的数据;

·设备190上的根访问的存在性;

·设备190上安装的浏览器(设备190的浏览器)的版本;

·设备190的浏览器中安装的插件;

·设备190上安装的易受攻击的应用程序(应用程序的已知漏洞);和/或

·设备190的其它属性。

在一个变型方面中,通过在设备190的浏览器中执行脚本(诸如javascript)采集数字指纹。该脚本可以被存储在远程服务器上且在设备190访问在线服务199时被发送到设备190。因此,将收集模块110存储在服务器(例如银行服务器)上,以及在用户的设备190上执行收集模块110。

在另一个变型方面中,通过安全应用程序(诸如防病毒应用程序)采集数字指纹。在该情况下,收集模块110为安全应用程序的模块。

在又一变型方面中,上述的数字指纹的采集通过在设备190上运行的应用程序来完成,其中,该应用程序可以被设计为访问在线服务199且使用软件开发工具包(softwaredevelopmentkit,sdk)来创建,该sdk例如由防病毒应用程序开发商(例如,卡巴斯基(kaspersky)和移动安全sdk)提供。在该情况下,收集模块110为该应用程序的模块。

在一个变型方面中,收集模块110在用户使用所述设备190与服务199的交互发生的时刻采集设备190的指纹。因此,收集模块110还在活跃会话期间收集用户在设备190上与服务199交互的时段期间的信息。在另一个变型方面中,收集模块110在确定的时刻(例如,按照时间表、在周末每天一次、在工作日每天两次)采集设备190的所述指纹。在又一个变型方面中,收集模块110按确定的时间间隔(例如每6小时)采集设备190的上述指纹。

在优选变型方面中,收集模块110采集用户使用设备190与在线服务199交互的会话的位置。

将由收集模块110采集的关于设备190的数据发送到分析模块120。在一个变型方面中,由收集模块110采集的关于设备190的所述数字指纹被收集模块110保存在数据库111中。

分析模块120在远程服务器上(或在服务器的分布式系统上)或作为云服务被执行(运作)。

在一些方面中,分析模块120使用相似度测量值来识别与给定的指纹相似的设备190的指纹。该给定的指纹为正在用于与在线服务199的会话的设备的指纹。一旦识别到设备190的相似指纹,分析模块120就计算该指纹与该给定的指纹属于同一设备190的概率。将指纹属于设备190的概率与阈值相比较,如果越过/超过该阈值,则分析模块120推断这些指纹属于同一设备190。

使用上述的相似度的测量值(一对指纹属于同一设备190的一系列指纹的概率),用于选择候选指纹的阈值在于如下:该阈值为由分析模块120选择的指纹可以存在于与给定指纹相同的系列中(即,该指纹属于同一设备190)的最小概率。

因此,对于给定指纹,需要找到相似指纹并将这些指纹按照相似度的顺序排列。当计算相似度的测量值时,出现将初始指纹与在给定时刻得知的各个指纹相比较的问题。用于选择候选指纹的算法的复杂度与指纹集合的基数成正比(集合的基数为在现有技术中已知的不可计算的/无穷大的集合的特性)。基于来自本发明的工作的统计数据,指纹集的数量相当可观(设备190的大约1500万个指纹)。

为了限制所考虑的指纹集,分析模块120按特征将设备190的指纹分解为多组。在示例性方面中,来自不同组的任何给定的一对指纹之间的相似度的测量值将等于零。因此,指纹的选择受限于初始指纹出现的组。

通常,设备190无法存在于不同类型的os的控制下和同时利用不同类型的浏览器,从而分析模块120将os系列和浏览器系列分配到多组的特征。

此外,当整个一系列特征中缺乏正在被比较的特征之一时,比较一对指纹是没有用的。因此,例如,如果在设备190上未使用在浏览器(webgl)中用于3d图形的跨平台api,则用于设备190的指纹将缺少与该api相关的特征集合。在另一示例中,与该api相关的特征可以具有零值,但是在计算中使用这些特征是无益的。因此,在特定变型方面中,分析模块120会将附加数据添加到多组指纹的特征,诸如用于使用webgl的标志。

基于上文,为了计算一对指纹属于同一设备190的同一系列指纹的概率,分析模块120必须:

·识别已改变的特征组,

·计算该改变的特征组的联合概率。

该指纹包括相当大数量的特征(本发明的实际实现方式使用多于260个特征)–二元特征、类别特征和集合(脚本、插件等)。对于每个特征,分析模块120可以计算在设备190的指纹演变期间该特征变化的概率。设备的指纹演变是指设备190的指纹的按时间排序的一系列特定值。从该系列指纹,提取可能的多对指纹并将其用于计算概率。

为了计算联合概率的准确值,需要评估所有改变的特征的总联合概率且此外将每个特征内的特定值的变化的概率考虑在内,即例如将特定屏幕分辨率变化为不同特定值的概率考虑在内。联合概率为所考虑的随机事件(在本发明中,事件为指纹的特定特征的改变)将同时出现的概率,例如,浏览器版本已改变且同时新字体已出现的概率。这类方法显著地使本发明的实现复杂化且提高了复杂度。因此,分析模块120评估特征改变的概率而不考虑其特定值,即只考虑变化的事实。

对于联合概率的准确计算,需要针对所有可能的特征组计算联合概率,考虑到巨大数量的特征(如上所述,本发明的实际实现方式使用多于260个特征),这在计算上是不可能的。

由于在本发明的实际实现方式中的不同可观察的多组特征的数量在成千上万的级别(这大大低于理论上可能的数量)上,因此在一般方面中,分析模块120按照其在由收集模块110采集的关于指纹的数据中出现的频率来评估特定特征组的变化的概率。

分析模块120通过来自基于该特征组形成的所有可能对的一对特征的最小联合概率来评估该特征组的变化的联合概率的上限。例如,指纹的3个特征已改变:即特征a、b和c。在计算了联合概率p(a,b)、p(a,c)、p(b,c)之后,考虑到p(a,b,c)<=min(p(a,b),p(a,c),p(b,c)),分析模块120将该最小联合概率选为上限。

基于评估概率的该方法,分析模块120首先针对每组指纹计算特征的联合成对概率的矩阵(例如,尺寸为260*260的矩阵)。当评估一对指纹时,已知改变的特征的矢量,分析模块120从全矩阵选择改变的特征的矢量所对应的行和列,并在形成的矩阵中识别最小元素。

应当注意,我们在剩余的文本中应当使用这种结构:

x={x|<条件>}。

这些结构被称为“集合符号(set-buildernotation)”,且在一般情况下,它们意味着指定集合“x”,该集合“x”包括满足“条件”的所有元素“x”。

初始数据为:

·fpquery=(v0,v1,…)-特征的矢量的形式的设备190的初始指纹,对此确定设备190的相似指纹;

i)f-设备190的初始指纹所属的设备190组的所有指纹的集合;

ii)n=|fpquery|-设备190的指纹的特征的矢量的维度;

iii)m-用于设备190的初始指纹所属的设备190组的指纹的成对联合概率的矩阵;

iv)

·probamin-概率的最小值以便在候选指纹中包括设备190的指纹;

分析模块120计算设备190的两个指纹的不同矢量:

fp_diff(fp1,fp2)={i|i∈[0,n]&fp1[i]≠fp2[i]}

使用如此计算的矢量,分析模块120计算设备190的指纹属于相邻对的概率:

neighbour_proba(fp1,fp2)=min({mij|i,j∈fp_diff(fp1,fp2)})

基于如此计算的概率,分析模块120进行候选指纹的选择:

fp_candidates(fpquery,probamin)=

{fp|fp∈f&neighbour_proba(fpquery,fp)≥probamin}

所获得的结果被现有技术中已知的系统和系统用于更精确地比较设备190的指纹。重要的是在此要理解,在比较中不是将设备190的指纹与所有已知指纹进行比较,而是仅与由于本发明的工作所选择的候选指纹进行比较,这显著提高了在线服务199的系统的性能且允许实时地或以最小延迟将在线服务199提供给用户。

在一般情况下,通过分析模块120将结果分派到在线服务199的安全系统以供进一步分析和做出关于用户使用设备190的当前动作(如由收集模块110所识别的当前动作)进行的判决(例如,来自设备190的动作是否为欺诈性的)以及跟踪用户的动作(例如,以便如果识别到欺诈行为,则阻断交易)。

图2示出了根据本发明的示例性方面的用于选择候选指纹以比较用户的设备的指纹的方法的流程图。

在步骤210中,使用收集模块110收集设备190的数字指纹。在示例性方面中,该数字指纹包含在用户使用该设备190与在线服务199的交互时刻所收集的该设备190的至少一个特性。

在步骤220中,借助分析模块120确定出现上述指纹的一组指纹。在一个变型方面中,通过分析模块120根据特征将这些指纹分解为多组,使得来自不同组的任何给定的一对指纹之间的相似度的测量值等于零。相似度的测量值为一对指纹属于同一设备190的一系列指纹的概率。

在步骤230中,分析模块120针对在该指纹和该组的所有指纹中已改变的特征计算矢量。在一个变型方面中,分析模块120计算特征的联合成对概率的矩阵以确定哪些特征已改变。随后,分析模块120从所述联合成对概率的矩阵识别改变的特征的矢量所对应的列和行。

在步骤240中,分析模块120用于计算该指纹和该组的每个指纹属于同一系列的概率。在一个变型方面中,分析模块120在计算的特征的联合成对概率的矩阵中识别最小元素。

在步骤250中,分析模块120用于识别该组中的与上述指纹属于同一系列的概率高于阈值的设备的指纹。

在步骤260中,分析模块120将计算的一个或多个设备的数字指纹与在候选指纹集合中的设备的指纹相比较。

在步骤270中,当该比较导致指定标准的匹配高于指定阈值时,分析模块120确定该一个或多个设备对应于在候选指纹集合中识别的设备之一。然后分析模块120允许用户行动,否则,如果该比较没有导致高于指定阈值的匹配,则分析模块120将用户与在线服务的动作作为欺诈行为进行跟踪。

图3为示出了根据示例性方面的计算机系统20的框图,在计算机系统20上可实施选择候选指纹进行设备的指纹比较的系统和方法的各方面的计算机系统20的框图。应当注意,计算机系统20可以对应于前文所描述的系统100的任何组件。计算机系统20可以为多个计算设备的形式、或单一计算设备的形式,例如:台式电脑、笔记本电脑、手提电脑、移动计算设备、智能手机、平板电脑、服务器、主机、嵌入式设备和其它形式的计算设备。

如图所示,计算机系统20包括中央处理单元(centralprocessingunit,cpu)21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。总线的示例可以包括pci、isa、串行总线(pci-express)、超传输tm(hypertransporttm)、无限带宽tm(infinibandtm)、串行ata、i2c、和其它合适的互连。中央处理单元21(也称为处理器)可以包括单组或多组具有单核或多核的处理器。处理器21可以执行实现本发明的技术的一种或多种计算机可执行代码。系统存储器22可以为用于存储本文中所使用的数据和/或由处理器21可执行的计算机程序的任何存储器。系统存储器22可以包括易失性存储器(诸如随机存取存储器(randomaccessmemory,ram)25)和非易失性存储器(诸如只读存储器(read-onlymemory,rom)24、闪存等)或其任一组合。基本输入/输出系统(basicinput/outputsystem,bios)26可以存储用于在计算机系统20的元件之间传输信息的基本程序,例如在使用rom24加载操作系统时的那些基本程序。

计算机系统20可以包括一个或多个存储设备,诸如一个或多个可移除存储设备27、一个或多个不可移除存储设备28、或其组合。所述一个或多个可移除存储设备27和一个或多个不可移除存储设备28借助存储器接口32连接到系统总线23。在一个方面中,存储设备和相应的计算机可读存储介质为用于存储计算机系统20的计算机指令、数据结构、程序模块、和其它数据的电源独立的模块。系统存储器22、可移除存储设备27和不可移除存储设备28可以使用各种各样的计算机可读存储介质。计算机可读存储介质的示例包括:机器存储器,诸如缓存、sram、dram、零电容ram、双晶体管ram、edram、edoram、ddrram、eeprom、nram、rram、sonos、pram;闪存或其它存储技术,诸如在固态驱动器(solidstatedrive,ssd)或闪盘驱动器中;磁带盒、磁带、和磁盘存储器,诸如在硬盘驱动器或软盘驱动器中;光学存储器,诸如在光盘(cd-rom)或数字通用光盘(digitalversatiledisk,dvd)中;以及可用于存储期望数据且可被计算机系统20访问的任何其它介质。

计算机系统20的系统存储器22、可移除存储设备27和不可移除存储设备28可以用于存储操作系统35、附加程序应用37、其它程序模块38和程序数据39。计算机系统20可以包括用于传送来自输入设备40的数据的外围接口46,该输入设备40诸如键盘、鼠标、针式打印机、游戏控制器、语音输入设备、触点输入设备、或其它外围设备,诸如借助一个或多个i/o端口的打印机或扫描仪,该一个或多个i/o端口诸如串行端口、并行端口、通用串行总线(universalserialbus,usb)、或其它外围接口。显示设备47(诸如一个或多个监控器、投影仪或集成显示器)也可以通过输出接口48(诸如视频适配器)上连接到系统总线23。除了显示设备47之外,计算机系统20还可以装配有其它外围输出设备(未示出),诸如扬声器和其它视听设备。

计算机系统20可以使用与一个或多个远程计算机49的网络连接而在网络环境中工作。所述一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括前面在描述计算机系统20的性质时所述的元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。计算机系统20可以包括用于借助一个或多个网络而与远程计算机49通信的一个或多个网络接口51或网络适配器,该一个或多个网络诸如局域计算机网络(local-areacomputernetwork,lan)50、广域计算机网络(wide-areacomputernetwork,wan)、内联网、和因特网。网络接口51的示例可以包括以太网接口、帧中继接口、同步光纤网(sonet)接口、和无线接口。

本发明的各个方面可以为系统、方法和/或计算机程序产品。计算机程序产品可以包括一种或多种计算机可读存储介质,该计算机可读存储介质上具有用于使处理器执行本发明的方面的计算机可读程序指令。

计算机可读存储介质可以为有形设备,该有形设备可以保持且存储指令或数据结构的形式的程序代码,该程序代码可以被计算设备的处理器(诸如计算系统20)访问。计算机可读存储介质可以为电子存储设备、磁性存储设备、光学存储设备、电磁存储设备、半导体存储设备、或其任何合适组合。通过示例方式,这类计算机可读存储介质可以包括随机存取存储器(ram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、便携式光盘只读存储器(cd-rom)、数字通用光盘(dvd)、闪存、硬盘、便携式电脑磁盘、记忆棒、软盘、或甚至机械编码设备,诸如在其上记录有指令的凹槽中的打孔卡或凸起结构。如在本文中所使用的,计算机可读存储介质不应被视为暂时性信号本身,暂时性信号诸如无线电波或其它自由传播的电磁波、通过波导或传输介质传播的电磁波、或通过电线传输的电信号。

可以将本文中所描述的计算机可读程序指令从计算机可读存储介质下载到各个计算设备、或借助网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光学传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。在每个计算设备中的网络接口从网络接收计算机可读程序指令并转发该计算机可读程序指令,用以存储在各个计算设备内的计算机可读存储介质中。

用于执行本发明的操作的计算机可读程序指令可以为汇编指令、指令集架构(instruction-set-architecture,isa)指令、机器指令、机器相关从属指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言(包括面向对象的编程语言和传统程序化编程语言)的任一组合编写的源代码或目标代码。计算机可读程序指令(作为独立的软件包)可以完全地在用户的计算机上、部分地在用户的计算机上、部分地在用户的计算机上且部分地在远程计算机上、或完全地在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括lan或wan)连接到用户的计算机,或可以进行与外部计算机的连接(例如通过因特网)。在一些方面中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(fpga)、可编程门阵列(programmablelogicarray,pla))可以通过利用计算机可读程序指令的状态信息使该电子电路个性化而执行计算机可读程序指令,从而执行本发明的方面。

在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、组件、或使用硬件(例如通过专用集成电路(applicationspecificintegratedcircuit,asic)或fpga)实现的组件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令组(该指令组在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以在计算机系统(例如上文在图3中更详细描述的计算机系统)的处理器上运行。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所例示的任何特定的实现方式。

为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。

此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。

本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1