在用户与银行服务的交互期间识别新设备的系统和方法与流程

文档序号:17324393发布日期:2019-04-05 21:42阅读:550来源:国知局
在用户与银行服务的交互期间识别新设备的系统和方法与流程

本发明总体涉及用于确保用户与银行服务的安全交互的方案,且更具体地涉及在用户与银行服务的交互期间识别新设备的系统和方法。



背景技术:

近来,银行服务的范围已显著扩展。向银行客户(替选地被称为“用户”)提供与银行交互的新方式以及资金支付和转账的方法。大量支付系统、塑料卡和银行服务(诸如远程银行服务)允许用户通过使用计算设备执行各种各样的交易。网上银行和移动银行使得可以在不涉及塑料卡或银行账户细节的情况下进行货币操作。

此外,存在用于保护用户的资金免受第三方访问的各种机制。当用户利用网上银行作业时,频繁地使用诸如双重认证的方法。在银行网站上的浏览器中输入认证数据(诸如登录名和密码,其可能已成为第三方可访问的)之后,银行向用户发送消息(将消息发送到他或她的移动电话上),该消息例如包含在特殊栏中必须输入的附加验证码。

然而,应当注意,在用户与银行服务的交互中存在许多利用易受攻击的方面的攻击,罪犯进行这些攻击以获得对用户资金的访问权。这类攻击经常被称为欺诈行为(fraudactivity)。例如,使用钓鱼网站,可以获得用户的登录名和密码,以用于访问该用户的网上银行账户和服务。用于移动设备的恶意软件允许罪犯从银行获取对验证码的访问权,以在确认下使用盗用的银行账户进行用户不知道的交易。

当前的解决方案使用“用户设备印迹(print)”来保护用户免受欺诈行为。通常,用户始终使用相同设备访问银行服务,且每个设备包含银行已知的一组特定软件和特征。在该组软件在设备上改变或设备自身改变的情况下,有很高的可能性是正在发生欺诈行为。当在设备上发生欺诈行为时,该设备被银行视为危险的。

因此,一些解决方案提出描述了用于用户交易的认证的系统和方法。该认证使用设备的“印迹”以及参数(设备的特性、地理位置、关于交易本身的信息)的各种组合的向量。

然而,有时候用户可能使用具有不同程序组、不同固件和不同浏览器的完全相同的设备访问网上银行服务。已知的比较设备的印迹的系统和方法识别用户之前是否使用过设备。如果是且如果该设备为可信设备,则简化与银行交互的过程。例如,当使用银行应用程序时,用户无需每次都输入登录名和密码然后等待sms;使用针对给定用户所设置的应用程序的pin码就足以仅获得进入权。然而,在上文提及的多组程序和固件改变的情况下,该设备会被银行的安全系统识别为用户先前从未用于与银行服务交互的新设备。在该情况下,需要再次识别和认证该完全相同的设备,这使其使用不方便。这类对于用户来说设备是新的的判定,也被称为安全系统的误报。

本发明有效地解决了在用户与银行服务的交互期间识别新设备的问题。



技术实现要素:

公开了用于在用户与在线服务(诸如银行服务)的交互期间识别新设备的系统和方法。

在一个示例性方面中,提供一种用于在用户与在线服务的交互期间识别新设备的方法。在本方面中,所述方法包括:收集用于与用户相关联的设备的指纹式特征(fingerprint);从所述指纹式特征分离所述设备的、影响设备安全的一个或多个关键特性;基于所述一个或多个关键特性执行被用户使用的先前已知设备的聚类;计算所述设备的所述一个或多个关键特性与所述用户先前用于访问在线服务的一个或多个设备的一个或多个关键特性之间的差值,其中,所述一个或多个设备来自所述先前已知设备的聚类;以及当所述差值超过阈值时,确定所述设备为所述用户使用的新设备。

在另一个示例性方面中,所述方法包括,其中,所述一个或多个关键特性包括如下项中的一者或多者:所述设备的操作系统的版本、所述设备的固件、所述设备上安装的应用程序及所述应用程序的版本、设备标识符、设备序列号、设备imei、和设备硬件特征。

在另一个示例性方面中,计算差值包括:计算所述一个或多个关键特性的向量之间的距离,针对通过先前已知设备的所述聚类创建的一个或多个集群计算所述距离的变化率;其中,当所述变化率大于阈值时,确定所述设备为新设备。

在另一个示例性方面中,计算所述变化率包括:基于计算出的所述差值确定所述设备的一个或多个风险因素,以及将关于所述一个或多个风险因素的数据发送到提供所述在线服务的服务器,以防止在所述在线服务上的欺诈行为。

在另一个示例性方面中,提供一种用于在用户与在线服务的交互期间识别新设备的系统。所述系统包括:提供在线服务的在线服务器;收集模块,所述收集模块连接到所述在线服务器且在硬件处理器上执行,所述收集模块被配置为收集用于与访问所述在线服务的用户相关联的设备的指纹式特征;以及分析模块,所述分析模块连接到所述在线服务器和所述收集模块且在所述硬件处理器上执行,所述分析模块被配置为:1)从所述指纹式特征分离所述设备的、影响设备安全的一个或多个关键特性;2)基于所述一个或多个关键特性执行被用户使用的先前已知设备的聚类;3)计算所述设备的所述一个或多个关键特性与所述用户先前用于访问所述在线服务的一个或多个设备的一个或多个关键特性之间的差值,其中,所述一个或多个设备来自所述先前已知设备的聚类;以及4)当所述差值超过阈值时,确定所述设备为所述用户用于访问所述在线服务的新设备。

在另一个示例性方面中,提供一种计算机可读介质,所述计算机可读介质中存储有指令,所述指令在被执行时执行本发明中所描述的方法。

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

附图说明

并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,并与具体实施方式一起用来阐述这些示例性方面的原理和实现方式。

图1为根据本发明的示例性方面的用于识别用户的新设备的系统的框图。

图2a至图2c示出了根据本发明的示例性方面的设备的特性随时间进程改变的示例。

图3为根据本发明的示例性方面的识别用户的新设备的方法的流程图。

图4示出了根据本发明的示例性方面的在其上可实现所述系统的各个方面的通用计算机系统的示例。

具体实施方式

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

图1为根据本发明的示例性方面的用于识别用户的新设备的系统100的框图。当用户借助设备190、使用账户与远程服务交互时,用于识别新设备190的系统100向用户提供远程服务。在一个方面中,系统100包括收集模块110和分析模块120且被设计成在用户与远程服务的交互期间识别新设备190。在示例性方面中,远程服务可以为用户使用账户进行交互的网络服务或在线服务。这类服务的示例为在线服务,诸如银行服务、电子邮件、社交网络等(在下文中非限制地称为银行服务199)。在本发明的一些方面中,网络服务或在线服务在远程服务器、服务器的分布式系统中的一者或多者上被执行且由其来提供,或可替选地网络服务或在线服务作为云服务被提供。

根据本发明的一个方面,设备190为计算设备,诸如运行软件执行环境的计算机或移动设备。在一些方面中,设备190可以执行浏览器应用程序或银行应用程序。

在一个方面中,收集模块110被设计成收集或采集新设备190的指纹式特征(在下文中,使用术语“印迹”)。通常,印迹包含设备190的特性。根据本发明的一个方面,设备190的特性可以包括:

·设备190的操作系统(operatingsystem,os)的标识符;

·设备190的位置(地理位置);

·设备190上安装的固件的固件版本和地域特性(诸如洲/国家/城市);

·设备190上使用的账户标识符(例如,微软、谷歌或苹果账户的标识符);

·关于设备190是否在虚拟机或模拟器(该设备是否可模拟)内工作的数据;

·设备190上的根(root)访问权限的存在性;

·设备190上安装的浏览器的类型和版本;

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

·设备190上安装的易受攻击的应用程序连同这些应用程序的已知漏洞;

·设备型号;

·设备标识符;

·设备的硬件特征(例如,处理器的类型、存储容量、磁盘数量、稀有设备(诸如专业声卡));

·设备190的序列号;

·设备imei;以及

·可发现的其它设备特性。

在一个方面中,通过在设备190的浏览器中执行的脚本(例如javascript脚本)来执行所提及的指纹式特征的采集。在一些方面中,该脚本可以被存储在银行服务器上且在设备190访问银行服务199时被执行。因此,在本方面中,收集模块110被存储在银行服务器上且在用户的设备190上被执行。

在另一方面中,通过安全应用程序(诸如防病毒应用程序)来执行来自设备190的指纹式特征的采集。在该情况下,收集模块110为安装在计算机系统上的安全应用程序的模块。

在另一方面中,通过在设备190上运行的应用程序来执行来自设备190的指纹式特征的采集,其中,该应用程序可以被设计成访问银行服务(例如,花旗银行在线应用程序)199。在本方面中,使用软件开发工具包(softwaredevelopmentkit,sdk)创建该应用程序,该sdk例如由防病毒应用程序的制造商提供(例如,卡巴斯基移动安全sdk)。在本方面中,收集模块110为所提及的应用程序的模块。

在一个方面中,在用户使用设备190进行与银行服务的交互时,收集模块110间或地采集设备190的指纹式特征。在另一方面中,收集模块110在特定时间(例如,根据时间表,在休息日每天一次、在工作日每天两次)采集所提及的设备190的印迹。在另一方面中,收集模块110按特定时间间隔(例如每6小时)采集所提及的设备190的印迹。

由收集模块110采集的关于设备190的数据被发送到分析模块120。在一个方面中,所提及的由收集模块110采集的关于设备190的指纹式特征被收集模块110保存在数据库111中。

分析模块120在远程服务器上(或在服务器的分布式系统上)执行或作为云服务执行(执行功能)。一般而言,分析模块120基于从收集模块110或从数据库111获得的数据计算来自设备190的印迹的关键特性的向量。

一般而言,分析模块120挑选出关键特性,这些关键特性为影响被用户用于与银行服务199交互的设备190的安全的特性。一般而言,在系统的操作过程中统计地挑选出这些关键特性。例如,特性“计算器应用程序的版本”不能为关键特性,因为它不影响用户正在用于与银行服务199交互的设备190的安全。在一些方面中,关键特性为影响设备安全的那些特性。关键特性可以包括设备自身上的软件、不经常与因特网交互的应用程序的版本等。根据一个方面,分析模块120不考虑那些不影响设备安全的设备特性。在本方面中,由系统的管理员预先确定或基于设备190动态地确定待考虑的特性。此外,关键特性为在设备使用期间、在设备的“生命周期”内改变的那些特性。例如,设备的序列号或imei不改变,然而,手机的官方固件和非官方固件将显示同一imei。然而,尽管物理上为同一设备,但是系统100将仍将该设备识别为不同的设备。

在一个方面中,分析模块120基于从设备190的印迹挑选出的设备190的至少一个关键特性创建设备190的集群(执行聚类)。根据一个方面,聚类为系统的学习过程。在本方面中,基于已挑选出的设备190的所提及的关键特性中的若干关键特性执行聚类,这些转而为设备190的关键特性的向量。因此,关键特性的向量包含挑选出的设备的关键特性中的至少一些关键特性。因此,对于每个用户,分析模块120形成由先前已知设备190组成的一组集群。该组集群不仅包括用于该特定用户的设备、而且还包括具有这些关键特性的设备。对于各个不同的用户,形成包括先前已知设备的一组集群。

接着,距离计算模块122计算用户正在用于与银行服务199交互的设备190的关键特性的向量与用户先前用于与在线服务(诸如银行服务199)交互的至少一个设备190的关键特性的向量之间的距离。在本方面中,用户先前交互的设备形成先前由分析模块120创建的集群的一部分。如果计算出的距离超过阈值,则设备190被视为新的。在本方面中,“新的”指用户之前未利用该设备与在线服务(诸如银行服务199)交互。

总的来说,对于新设备190可以使用基本安全策略,诸如双重认证。新设备190的识别是重要任务,但是不能将每个设备190都视为新的,因为这对用户来说极其不方便,原因是必须保持应用相同的安全策略。例如,对于用户先前已用于与银行服务199交互的设备,不提供额外的密码请求(双重认证)、也不执行数据输入检查(例如验证码(captcha))。如果用户第一次从不同浏览器或从新移动手机进入网上银行,则所讨论的设备为新的。然而,如果设备190上的浏览器版本已被更新或用户已将手机固件更新到新版本,则设备190不为新的。

然而,在一些方面中,距离函数是不是充分的,因为该函数未完全反映设备190的关键特性的向量的可能变化的性质。因此,例如,用户在略微冗长的时间间隔的进程中可以对他或她的设备190进行多次更新。在该过程中,将改变固件版本(例如,安卓将从版本6更新到版本7),该固件中的应用程序集、用户的应用程序集以及安装的应用程序的版本集也会改变。因此,完全相同的设备的关键特性的向量在该时间间隔(在此期间更新设备190的固件和若干安装的应用程序)的开始和结束之间的距离将大于阈值,这对本系统来说意味着用户已经获得新设备190,即使该设备190实际上保持不变。因此,将发生系统的误报。为了解决减少误报的问题,距离的计算可以将在设备190的特性的采集之间流逝的时间考虑在内。

因此,在一个方面中,分析模块120计算设备190的特性的向量之间的距离的变化率。一般而言,该距离的变化率由分析模块120基于关于其它用户的、对应于所创建的集群的所有已知设备190的距离的变化率的信息来计算。为所有设备(所有用户的设备)生成集群,并将特定用户的设备与其被分配的集群相比较。如果在用于所有设备的集群与分配的集群之间存在变化,则根据这两个集群相比于其它用户来说对应于这些变化的程度来计算变化率。例如,如果设备(不一定为移动手机)从集群显著偏离(例如,具有windows10设备的用户,该设备具有旧版本的因特网浏览器),则该设备为新的。该用于验证新设备的过程进行分析,并且设备集群的正常行为是浏览器版本的提高而非回滚到“过时”版本。

在计算出的距离具有大于阈值的计算出的距离的变化率的容差的情况下,设备190被视为对于用户是新的。在一个方面中,考虑自先前采集设备190的印迹的时间以来经过的时间而设置该阈值。

可以计算距离的变化率,例如通过使设备190的关键特性的向量的距离的变化随时间归一化。例如,针对设备190对应的集群所对应的所有用户的设备190计算关键特性的可允许的标准值。在一个方面中,将可允许的标准值计算为算术平均值。在另一个方面中,基于正态分布(高斯分布)统计地计算可允许的标准值。

在图2a至图2c中呈现了随时间的变化率的示例。图2a示出了固件版本随时间的变化的图。在一个示例中,设备最初安装了安卓6作为操作系统。在时间t1处,用户与银行服务199交互。随后,在时间t2和t3处,用户与银行服务199交互,但是该设备已分别将操作系统更新到版本安卓7.0和安卓7.1.1。因此,在时间t4处,如果设备190已更新到版本安卓8,则可能的是用户利用第三方固件(诸如)更新了手机。因此,该设备可以被视为新设备190,因为该固件及其故障和漏洞是未知的。在技术上,该设备可以被视为新的,因为给定的关键特性的值不对应先前创建的集群,原因是该固件不是由制造商官方发布的。带阴影的指定区段示出了距离的变化率的可允许的偏离。例如,如果用户具有三星galaxys6手机,则不存在来自安卓5和安卓8的官方固件。如果在设备上检测到这类固件(且该设备具有相同的imei和sn),则用户很可能安装了自定义固件。因此,这类设备的安全性已改变,且用户需要验证该设备。系统100将该设备视为新的。

图2b示出了浏览器版本随时间的变化。在时间t1处,用户使用浏览器版本25.6访问网上银行。随后,在时间t2处,用户使用版本28.3,但是存在其它的具有类似关键特性的设备190的集群。然而,如果浏览器版本在时间t3处变为16.3,则可能的是设备190被盗用或改变。因此,分析模块实际地决定将设备190视为新设备。图2c示出了设备190的序列号随时间的变化。序列号通常应当保持不变。

在本发明的示例性方面中,所计算的其他用户的所有已知设备190的关键特性的向量之间的距离的变化率可以被分析模块120保存在数据库111中。

在本发明的一个方面中,设备190的关键特性的向量的序列可以由分析模块120以事件链的形式来提供,其中,该链的节点将为设备190的关键特性的向量,并且链式链接它们自身将直接取决于时间。

在一个方面中,分析模块120基于多个用户或多组用户的设备190的集群挑选出设备190的关键特性的向量将随时间改变的概率(例如,在统计方面)。尽管该概率很小,但是如果关键特性的向量已改变,则分析模块120将该改变事件确定为风险因素。

一般而言,关键特性在具有距离变化率的容差下改变的概率由分析模块120从数据库111选择。可以基于统计数据自动地(例如由分析模块120)或由计算机安全方面的专家将关键特性的改变的概率添加到数据库111。

在一个方面中,分析模块120分析沿着整个链且在其单独区段的比率的变化。比率的急剧变化/跳变将被分析模块120确定为风险因素。

在另一个方面中,分析模块120确定设备190的特性随时间的变化动态和可允许的偏离。因此,例如,由于更新,设备190的特定特性应当总是沿着同一方向变化(例如,版本号通常总是增大)。但是如果关键特性在该方向性的事件链的中的变化指向与预期方向(即便在其中一个节点中的预期方向)相反,则分析模块120将此确定为风险因素。

在另一方面中,分析模块120确定在设备190的特性中已出现的变化的可靠性。出于该目的,可能需要来自外部资源的关于预期变化的性质的知识(例如,来自卡巴斯基安全网络(kasperskysecuritynetwork,ksn)的数据)。例如,如果已知在特定时间间隔内未公布设备190的新版本,则在所观察的事件链中应当不出现对应变化。当检测到这类变化时,分析模块120将确定存在欺诈行为的风险因素。

通常,风险因素的出现证明了出现风险因素的设备190的较高的欺诈概率。在一个方面中,在出现风险因素的情况下,通过分析模块120将关于风险因素的数据发送到银行服务199的安全系统,目的是做出防止欺诈行为的决定(例如,决定阻断交易)。

图3示出了识别用户的新设备的方法300的图。

该方法300是系统100的各个部分的示例性实现,这些部分例如为如在计算机系统(诸如在图4中所示的计算机系统20)上执行的收集模块110和分析模块120。

在步骤310中,收集模块110可以收集或采集用户的设备的指纹式特征。在示例性方面中,该指纹式特征包括当用户正在与银行服务199交互时,所述设备190的至少一个特性。

在步骤320中,分析模块120可以从收集的特性中挑选出影响所提及的设备190的安全的关键特性。

在步骤330中,分析模块120可以形成由所述用户的先前已知设备190组成的一组集群。在本发明的一个方面中,基于设备190的关键特性的向量执行聚类,其中,该向量包括挑选出的设备190的关键特性中的至少一些关键特性。

在步骤340中,分析模块120可以计算所提及的设备的关键特性的向量与先前向用户提供银行服务199的至少一个设备190(并且其形成步骤330中所创建的集群的一部分)的关键特性的向量之间的距离。

在步骤350中,分析模块120可以针对形成的该组集群计算在步骤340中计算出的距离的变化率。在一个方面中,该变化率是基于关于其它用户的、针对该组提及的集群的所有已知设备190上的距离的变化率的信息来计算的。

在步骤360中,分析模块120在计算出的距离具有大于阈值的计算出的距离的变化率的容差的情况下,可以确定该设备190为用户的新设备190。

一般而言,可以使用用于将偏差与阈值相比较的任何规则。尽管上文提及了一些特性,但是可以考虑许多其它特性。例如,os版本可以具有3个值(安卓6、安卓7、安卓7.1),而浏览器版本可以具有多很多的值,例如,谷歌浏览器可以具有300个版本(62.0.3282至64.1.3132)。确定版本数量取决于系统100的实现细节。如果设备的os已偏离到安卓5.1,则这是超过阈值的。如果谷歌浏览器的版本已偏离到61.0.1000,则这是“相对”新的浏览器,在此,在一些情况下,偏差还未超过阈值。但是如果谷歌浏览器版本变为“25.00.0001”,则该版本对于本系统是可疑的,且偏差将超过阈值。

在一个方面中,在步骤370中,分析模块120可以另外地基于计算出的距离的变化率以及关键特性的变化概率而确定所提及的设备190的风险因素。

在一个方面中,在步骤380中,在出现风险因素的情况下,将分析模块120的关于确定的风险因素的数据发送到银行服务199的安全系统,以采取行动防止欺诈行为。

图4为示出了根据本发明的示例性方面的在其上可实施在用户与在线服务的交互期间识别新设备的系统和方法的各个方面的通用计算机系统的图。

如图所示,该计算机系统20(其可以是个人计算机或服务器)包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。如本领域的普通技术人员能够领会的,系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它总线架构交互的本地总线。系统存储器可以包括永久性存储器(rom)24和随机存取存储器(random-accessmemory,ram)25。基本输入/输出系统(basicinput/outputsystem,bios)26可以存储用于在计算机系统20的元件之间信息传输的基本程序,例如在使用rom24加载操作系统时的那些基本程序。

计算机系统20还可以包括用于读取和写入数据的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28、以及用于读取和写入可移动光盘31(诸如cd-rom、dvd-rom和其它光学介质)的光盘驱动器30。硬盘27、磁盘驱动器28和光盘驱动器30分别通过硬盘接口32、磁盘接口33和光盘驱动器接口34连接到系统总线23。驱动器和对应的计算机信息介质为用于存储计算机系统20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。

计算机系统20包括经由控制器55连接到系统总线23的硬盘27、可移动磁盘29和可移动光盘31。本领域的普通技术人员能够理解,也可以利用能够以计算机可读的形式存储数据的任何类型的介质56(固态驱动器、闪存卡、数字盘、随机存取存储器(ram)等等)。

计算机系统20具有可以存储操作系统35的文件系统36、以及另外的程序应用37、其它程序模块38和程序数据39。计算机系统20的用户可以使用键盘40、鼠标42、或本领域的普通技术人员已知的任何其它输入设备(诸如但不限于麦克风、操纵杆、游戏控制器、扫描仪等)输入命令和信息。这些输入设备通常通过串行端口46插入到计算机系统20中,串行端口46转而连接到系统总线,但是本领域的普通技术人员能够领会,输入设备也可以以其它方式被连接,诸如但不限于经由并行端口、游戏端口、或通用串行总线(universalserialbus,usb)连接。监控器47或其它类型的显示设备也可以通过接口(例如视频适配器48)连接到系统总线23。除了监控器47,个人计算机还可以配备有其它的外围输出设备(未示出),例如扬声器、打印机等。

计算机系统20可以使用到一个或多个远程计算机49的网络连接而工作在网络环境中。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括在描述计算机系统20的性质时所述的元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。

网络连接可以形成局域计算机网络(local-areacomputernetwork,lan)50和广域计算机网络(wide-areacomputernetwork,wan)。这些网络用在企业计算机网络和公司内部网络中,并且这些网络通常有权访问因特网。在lan或wan网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,计算机20系统可以采用调制解调器54或本领域的普通技术人员所熟知的能够与广域计算机网络(诸如因特网)通信的其它模块。可以是内部设备或外部设备的调制解调器54,可以通过串行端口46连接到系统总线23。本领域的普通技术人员能够领会,所述网络连接是使用通信模块建立一个计算机与另一个计算机的连接的许多熟知方式的非限制性示例。

在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或其任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括ram、rom、eeprom、cd-rom、闪存或其它类型的电存储介质、磁存储介质或光存储介质、或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。

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

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

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

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

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