具体实施方式
图1是示例智能安全性***100的框图。***100可以建立受信身份,并且可以在企业之间提供该受信身份。计算机网络110(诸如,局域网(LAN)、广域网(WAN)、因特网或者其结合)连接凭据收集器102、中间人***104以及访问***106。
在一个实现中,凭据收集器102可以从一个或者多个用户收集各种生物计量和履历数据。如将在下文中描述,生物计量和履历数据可以用于文档认证,以及用于卡管理、生物计量智能卡发行,以及协作人力资源集成。
在一个实现中,中间人***104可以用于身份验证服务。中间人***104例如可以针对政府、商业和本地数据库来验证通过凭据收集器102接收的履历数据。中间人***104还可以针对政府、商业和本地数据库来验证通过凭据收集器102接收的生物计量数据。
基于从中间人***104接收以及由访问***106评估的数据,访问***106可以提供用户的身份,并且授权用户访问。访问***106例如可以跨***100使用受信的或者强认证的身份记录。访问***106可以授予跨多个***的访问权限,并且促进与强认证身份的集成和校准。
智能安全性***100可以将强身份建立能力与主要的提供(leadingprovisioning)和访问管理能力相集成。***100可以为政府和商业客户提供企业身份管理能力。***100例如可以包括履历和生物计量登记、多模态生物计量、文档认证、针对公共和私有源的身份验证查询、生物计量匹配和验证、支持生物计量/公钥基础设施(PKI)的智能卡发行、卡管理、与商业企业资源计划(ERP)方案的集成、以及与逻辑和物理访问控制的企业范围的集成,在下文中将对其更详细地进行描述。
在一个实现中,智能安全性***100可以集成多个(同类中最佳的)身份管理技术,并且提供多种优势。所述优势例如可以包括:降低方案递送成本和时间周期(降低预先集成努力)、基于偏好/需求来支持对现有投资的更好经营/整合的高度互操作资产、标识/卡相关的管理成本中的配合降低、通过强身份建立来实现降低协作风险、以及基于强身份的集成逻辑和物理访问管理。强身份是指用户已经得到智能安全性***的确认时。
图2是示例智能安全性***的另一框图。智能安全性***200可以包括一个或者多个用户202、终端用户应用204、身份访问管理(IAM)***206、企业服务总线208以及生物计量后端***210,其全部由LAN(WAN)、因特网或者其结合连接。***200例如可以使用一个或者多个计算设备,该计算设备包括存储处理指令的存储器设备和用于执行处理指令的处理设备。参考图5示出和描述了示例计算***。然而,还可以使用其他实现。
在一个实现中,终端用户应用204可以从用户102收集生物计量和履历数据。用户202可以包括必须访问与***200相关联的一个或者多个***的用户。在用户202被授权访问之前,智能标识***200可以确定该用户202是否存在安全性问题,从而应当以任何方式来限制该用户针对任何***的访问级别。依赖于所收集的关于用户202的信息,用户202可以通过受限方式或者非受限方式来访问各***和程序。***200例如可以通过采集来自用户202的生物计量和履历数据来确定访问级别。
在一个实现中,履历数据例如可以包括用户的姓名、身高、体重、头发颜色、身体标记(包括胎记、纹身、伤疤)、地址、年龄、社会保险号码、雇员类型、职务、管理者等。履历数据还可以同与该用户202相关联的身份相关联。可以收集履历数据的终端用户应用204例如可以包括从诸如德国瓦尔多夫的SAP以及Oracle的多个软件应用提供者214处可获得的一个或者多个类型的企业应用。
生物计量数据例如可以包括持久性生理学特点或者身体人类特征。生物计量数据可以包括语音模式、指纹/拇指指纹、掌纹、手/腕脉络图案、视网膜/虹膜眼扫描、手部几何/拓扑、击键动态、打字节奏、DNA、签名以及面部数字图像。用于收集生物计量数据的终端用户应用204例如可以包括语音识别/验证***、指纹/拇指指纹标识***、掌纹***、手部/腕部脉络图案识别***、视网膜/虹膜眼扫描仪、手部几何/拓扑***、识别击键动态或者打字节奏的***、接收和分析DNA的***以及用于获取签名的***。
可以在用户202初始登记时收集履历和生物计量数据。由此,在授权用户202访问***200中的任何程序或者应用之前,首先收集履历和生物计量数据。在另一实现中,即使在***200基于初始登记而授权用户202访问之后,也可以在不止一个实例处采集履历和生物计量数据。例如,可以在已经授权用户202访问***200中的应用和程序之后,在经过预定义的时段后再次收集生物计量数据。
应用204例如可以包括基于所采集的生物计量和履历数据的、用于智能卡管理和卡发行能力的应用204,将在下文中进一步描述。应用204例如可以包括SAP客户端220、web浏览器222、客户端224、以及L-1Vissage文档验证器228。
应用程序204还可以包括用于与生物计量数据收集***相集成的特定应用。此类应用可以包括Aware环球资源客户端226,其由马萨诸塞州的贝德福德的Aware提供。应用还可以包括用于客户端侧文档验证的应用。例如,软件可以是由L1通信提供的i-authenticated。
身份访问管理***206可以管理身份以及与创建账户以及其他下游企业***相关联的工作流过程。身份访问管理***206可以与卡管理***通信,以管理用户和账户。
身份访问管理***206可以包括用于管理用户102的身份的***234,以及可以提供web服务用于与用户的身份和简档进行交互。***234可以支持预登记过程、登记过程、标识验证之后的判定过程以及访问修改过程。***234例如可以是由加利福尼亚州的SantaClara的SUN Microsystems公司提供的Sun Java System IdentityManagement Server(Sun Java***身份管理服务器)。***206还可以包括一个或者多个数据存储,用以存储所获得的关于每个用户202的履历和生物计量数据。
在一个实现中,身份管理***206可以包括***236,该***236可以用作逻辑访问控制提供器。***例如可以实现为由加利福尼亚州的Santa Clara的SUN Microsystems公司提供的SUN Java SystemAccess Manager(SUN Java***访问管理器)。
在一个实现中,身份管理***206可以包括***236,该***236用作通过使用基于web代理的方案而用于信号标记的中央点。***236例如可以实现为SUN Java SystemAccess Manager。
在一个实现中,身份管理***206可以包括用于支持智能卡的卡发行的活跃身份卡管理***238。***238还可以管理证书发行和存储。卡管理***例如可以由加利福尼亚州的Fremont的Active Identity公司提供。
在一个实现中,终端用户应用204可以向外部***212提交所接收到的履历和生物计量数据,以便确定任何外部数据库是否包含关于用户202的信息。终端用户应用204例如还可以将生物计量和履历数据与包含关于该用户202的信息的内部数据库进行比较。
外部***212例如可以比较所接收的生物计量和履历数据,以确定***是否包含与该生物计量或履历数据相关联的任何数据。外部***212中的信息可以根据履历和生物计量数据来进行分类。由此,外部***212可以通过履历和生物计量数据来搜索数据库。生物计量数据例如可以与政府机构数据库、商业数据库以及自动指纹标识***(AFIS)数据库进行比较。外部***212可以包括与用户相关联的各种数据,并且各种数据可以根据与用户相关联的生物计量和履历数据来进行存储。外部***212例如可以包括与该用户相关联的交通违章、与该用户相关联的犯罪记录、或者该用户是否正处于任何政府机构的监视列表中。外部***212还可以包括关于用户的信用、破产和财产所有权的信息。例如,由***200所接收的财务记录可以示出该用户具有糟糕的信用历史,并且由此可以根据该财务历史来限制该用户对特定***的访问。
在一个实现中,***200可以包括一个或者多个后端***210,该后端***210可以对履历和生物计量数据以及从外部***212接收的外部数据进行分析。后端***210可以包括由马萨诸塞州的贝德福德的Aware所提供的Aware BWP Services 250、Aware BWPServer 252和Aware James SMTP Server 254。后端***210还可以包括由弗吉尼亚州的Reston的DAON提供的DAON数据库。
在一个实现中,后端***210可以包括与中间人***(诸如安全性生物计量清洁网络(SBCN)258)进行接口通信,以接收关于后端背景检查等的信息。
后端***210可以包括支持登记、标识验证发起以及标识验证完成处理的***。支持这些处理的***例如可以包括由马萨诸塞州的贝德福德的Aware所提供的AWARE BWPServices 250。后端***210还可以包括数字存储251,以存储从用户102接收的生物计量数据。后端***210还可以包括生物计量引擎260,用于支持生物计量登记、标识验证处理、生物计量存储和唯一性检查。
在一个实现中,后端***210可以从外部***212接收外部数据,并且评估该外部数据。基于所接收的数据,后端***210例如可以确定与外部数据相关联的用户202是否应当被授权访问一个或者多个***、应用或者资产。
在一个实现中,后端***210可以配置与***200相关联的一个或者多个业务规则。业务规则例如可能需要与履历或者生物计量数据相关联的用户的外部数据的一个或者多个部分,以反映预定义的量或者传递预定义的阈值;如果满足该规则,则用户202可以被授权访问与特定业务规则相关联的***。业务规则例如可以需要用户202与如下情况相关联:没有交通违章、或者没有由外部***212确定的安全性问题。
在一个实现中,后端***210可以基于从外部***212接收的外部数据,来向用户202授权对***200内部或者***200外部的一个或者多个***或者应用的各种访问级别。后端***210例如还可以基于是否满足业务规则来授权各种访问级别。例如,可以授权用户202对***200中应用A的完全访问,但是不授权对应用B的任何访问。在另一示例中,可以授权用户202访问公司内的特定房间,但是拒绝其访问其他房间。
后端***210可以将各种访问级别同与用户202相关联的智能卡进行关联。由此,用户202可以通过使用智能卡来访问***和程序。在一个实现中,可以在智能卡上存储各种访问级别。在另一实现中,可以在后端***210上存储各种访问级别,并且将其传输至智能卡。用户202例如可以使用智能卡来访问任何应用或者***,而不是进行登录。
在一个实现中,后端***210可以使用双***访问方案来关联用户对***的访问。用户202由此可以使用两个单独的访问方法来访问***。访问方法可以包括如下文所述的智能卡或者任何其他卡、FOB或者RFID卡、以及密码或者用户的生物计量。例如,可以利用智能卡以及用户的指纹授权用户对***的访问。
在一个实现中,访问级别可以与其他卡相关联,其他卡诸如,芯片卡或者集成电路卡(ICC)、磁卡、RFID卡、密钥FOB、USB密钥、移动设备以及令牌。由此,后端***210可以利用访问级别来配置例如USB密钥或者密钥FOB之类的其他卡中的每一个。
在一个实现中,***200还可以包括可以用作中间件主干的企业服务总线208。企业服务总线208例如可以提供业务处理管理服务,并且可以与IAM***206和生物计量后端***210相集成。中间件例如可以实现为由加利福尼亚州的Santa Clara的SUNMicrosystems公司提供的SUN Java CAPs。
在一个实现中,***200还使用物理访问安全性管理引擎240,其允许安全性管理者在无需自定义码的情况下跨异类的物理安全性应用、***和设备来集成和部署访问规则。设计这一能力是为了通过将传统上是人工和多错的过程进行中央化和自动化,从而使物理安全性管理快速、容易并且成本有效。
在一个实现中,***200经由第7层能力来向SOA环境中的web服务提供综合安全性。在不影响应用自身的情况下,此安全性确保仅对web服务进行授权的访问,而防止由这些服务传输的信息被篡改,并且维护***完整性。
在一个实现中,作为将智能卡用作第二因素用户认证的备选,***200可以与Anakam.TFATM 242双因素认证能力相结合。这消除了终端用户的基于硬件和软件的双因素方案的需要。该能力通过已经在用户手中的日常设备(诸如蜂窝电话、家用电话、web连接的计算机和办公室电话)的使用,来提供真正的双因素认证。例如,日常设备可以用于对用户认证。用户的移动电话号码可以仅与一个用户相关联。由此,基于该用户的移动电话号码,可以建立用户的标识。
下文的过程和子过程可以由***200实现。
遵照政府PIV的身份建立过程。这是主要的业务过程。此表概述了在此过程中出现的活动。
名称 |
描述 |
角色 |
Start PreEnrollment |
|
|
RequestInit |
申请者发起请求。在主办者(sponsor)工作列表中创建任务项。 |
全部用户 |
RequestSponsorship |
主办者/管理者批准/拒绝来自工作列表的请求。此后***必须等待以用于登记的输入。 |
管理者/主办者 |
Enrollment |
接收来自单独业务过程的输入,其接收用于登记的Aware URC消息,并且将其与现有过程实例相关。 |
*** |
IDVerificationInit |
更新发起的外部AFIS验证状态。***在此后等待用于CardIssuance状态的消息。 |
*** |
CardIssuance |
更新发行的卡的状态,此后等待用于IDVerificationCompletion的消息。 |
*** |
IDVerificationComplete |
从Aware BWP接收关于验证完成信息的输入,并将其与现有过程实例关联。在判定器的工作列表中创建任务项。 |
*** |
Adjudication |
判定请求为批准或者拒绝。 |
判定者 |
CardActivation |
在接收到来自IDM的输入后,将状态更新为卡被激活,并且将其与现有过程实例相关。 |
*** |
EnrollmentFailure |
出现登记失败是因为1:多个匹配失败。更新状态1:多个匹配已失败。通知负责者。 |
*** |
AdjudicationFailure |
由IdVerification失败导致的失败。通知申请者、主办者。 |
*** |
RequestInit子过程。此表概述了在此过程中出现的活动。
名称 |
描述 |
角色 |
StartRequestInit |
初始映射 |
|
RetrieveEmployeNumberFromSS |
此活动使用Sun AM的SSO API来获取EmployeeNumber用户属性。此活动被映射至JCD,其从web应用的HttpRequest读出Http报头。从报头中获取雇员编号,并将其传递至下一活动。 |
BPM |
RetrieveGEIAUserFromIDM |
此活动使用雇员编号来从IDM获取应用的用户属性。其通过JCD来实现,其针对GEIASPMLManager Java对象来调取searchByEmplyeeNumber方法。获取GEIAUserJava对象。将GEIAUser对象传递至下一活动。 |
BPM |
ShowRequestInitiationPage |
此活动显示凭据请求页。从GEIAUserJava对象中的信息来填充该字段。申请者在验证信息之后点击“提交请求”,以便继续该过程。 |
全部用户 |
ValidateRequest |
此活动确认:雇佣对于PIV请求而言是适当的。 |
BPM向IDM谈话 |
PersistRequest |
此活动调取GEIASPMLManager的updateCredentialRequested来更新状态,以便在IDM中保存信息(使用账户的/雇员编号作为用户标示符)。此活动还在eInsight数据库中保存BAM信息。 |
BPM |
EndRequestInit |
完成请求发起子过程。该子过程在主办者/管理者的用户列表中生成任务。 |
BPM |
RequestSponsorship子过程。此表概述了在此过程中出现的活动。在结尾处,最高级别过程等待得到登记应用的通知,以便继续最高级别过程(部分9.2.1),并且等待从登记应用接收消息以便继续。
名称 |
描述 |
角色 |
BeginSponsorRequest |
初始映射 |
|
ReadReqFromDatabase |
此活动获取请求细节,并且使用雇员编号来从数据存储读取请求细节。 |
BPM |
ShowSponsorPage |
此活动显示负责身份页面。主办者/管理者批准/拒绝对此页面的请求。 |
管理者/主办者 |
ValidateSponsorship |
在此活动中,***针对在应用记录中的雇员编号来验证负责者的雇员编号。 |
BPM |
PersistDescision |
通过调取GEIASPMLManager的updateSponsorship的更新状态方法。更新BPM中的请求数据。 |
BPM |
PrepareEmail |
使用应用信息来创建电子邮件。 |
BPM |
SendEmail |
向申请者发送关于主办决策的电子邮件。 |
BPM |
ShowAckPage |
显示主办确认页面。当主办者点击退出按钮时,过程完成。 |
BPM/管理者 |
EndSponsorReq |
请求映射结束。创建WSD响应。 |
BPM |
登记子过程。此过程由从生物计量登记应用(例如,Aware URC)接收的独立业务过程(或者JCD)来调取。这避免在BPI数据存储中保存大量的NISTXML数据。JCD使用Aware BWPWSDL而表现为web服务(从而使Aware URC可以调取它),并且还将调取Aware BWPWeb服务端点用于登记。
名称 |
描述 |
角色 |
StartEnrollment |
初始映射 |
|
Correlate |
使用雇员编号作为过程实例的相关ID。 |
BPM |
ValidateEnrollment |
确认应用雇佣和主办 |
BPM |
PeristStatus |
针对GEIASPMLClient Java对象调取one2ManyMatchStatus方法,并传送雇员编号。 |
BPM |
UpdateBAM |
更新BAM信息 |
|
EndEnrollment |
结束 |
|
ID验证初始子过程。在此过程中的活动概述如下:
名称 |
描述 |
角色 |
StartIDVeritication |
初始映射 |
|
PersistStatus |
调取GEIASPMLClient的updateIDVerificationStatus方法,以便更新IDM中的用户属性。 |
BPM |
UpdateBAM |
更新BAM信息 |
BPM |
EndVerification |
完成映射 |
|
卡发行子过程。针对用户而言,当IDM中的cardIssuance状态被改变至“真”时,由投票过程开始此过程。
名称 |
描述 |
角色 |
StartIssuance |
初始映射 |
|
PersistInformation |
在BPM数据存储中保持卡发行状态。 |
BPM |
UpdateBAM |
更新BAM信息 |
BPM |
EndIssuance |
完成映射 |
|
ID验证完成子过程。当Aware BWP利用雇员编号(empnum)作为关联键来调取此web服务时,开始此过程。
名称 |
描述 |
角色 |
StartCompletion |
初始映射 |
|
Correlate |
使用雇员编号来与现有过程实例相关 |
BPM |
PersistInformation |
调用GEIASPMLClient更新IDVerficationStatus方法 |
BPM |
UpdateBAM |
更新BAM信息 |
BPM |
EndCompletion |
完成映射。向判定器工作列表添加任务项。 |
|
判定子过程。该子过程是类似于具有判定器的主办子过程,其与***交互而不是与主办者交互。
卡激活子进程。其基本类似于卡发行过程。当IDM中的cardActivation属性被改变至“真”时,开始此过程。
登记失败子过程。其基本类似于卡发行过程。仅保存失败信息而不保存发行信息。另外,作为附加活动,向负责者发送电子邮件。
判定失败子过程。其基本类似于卡发行过程。仅将失败信息而不是发行信息进行保存。
Aware URC登记提交过程。此过程是web服务,其执行来自于Aware的BioEnrollWSDL。此过程可以在登记完成时由Aware URC调取,以便传递生物计量信息。此过程利用相同的消息调取AwareBWP服务断电。在下一步骤中,其向等待处理登记子过程的主业务过程发送消息。使用雇员编号来关联。
卡发行投票过程。针对已经完成IDVerificationInit活动的全部用户,此过程针对IDM中的卡发行属性进行投票。一旦cardIssuance属性改变至“真”,则其向标识监理业务过程(9.2.1)中发送消息,其中雇员编号作为关联键以保持过程执行。
图3示出了基于生物计量数据而向用户提供访问的实例过程300。过程300例如可以在诸如图2的智能标识***200中实现。
级302接收与用户相关联的履历数据。例如,终端用户应用204可以接收与用户202相关联的履历数据。
级304接收与用户相关联的生物计量数据。例如,终端用户应用204可以接收与用户202相关联的生物计量数据。
级306接收与履历数据和生物计量数据相关联的外部数据。例如,***200可以从外部***212接收与履历数据和生物计量数据相关联的外部数据。
级308基于外部数据来确定授权给用户的访问级别。例如,后端***210可以基于外部数据来确定授权给用户202的访问级别。
级310基于访问级别来配置与智能卡相关联的一个或者多个设置。例如,后端***210可以基于访问级别来配置与智能卡相关联的一个或者多个设置。
图4是基于生物计量数据而提供访问的实例过程400。过程400例如可以在诸如图2的智能表示***200的***中实现。
级402接收与用户相关联的生物计量数据。例如,终端用户应用204可以接收与用户202相关联的生物计量数据。
级404提供将与一个或者多个外部数据库进行比较的生物计量数据。例如,终端用户应用204可以提供将于一个或者多个外部数据库进行比较的生物计量数据。
级406接收与生物计量数据相关联的外部数据。例如,后端***210可以接收与生物计量数据相关联的外部数据。
级408基于外部数据来确定用户对一个或者多个***的访问级别。例如,后端***210可以基于外部数据来确定用户202对一个或者多个***的访问级别。
级410允许用户利用生物计量数据来访问一个或者多个***,其中该访问受到访问级别的控制。例如,后端***210可以允许用户202利用生物计量数据来访问一个或者多个***。
在一个实现中,***200可以与旅行安全***结合使用,其中***可以使用电子护照(e-护照)、多模态生物计量、自动门、亭、二维(2D)条形码登机牌、射频标识(RFID)行李标签和移动设备,以便将以下使以下操作成为流线化:乘客登记、入境、搭乘和到达安全性操作,以便有利于航空旅行中的全部关键利害关系人。***200可以包括三个单独的模块:旅行前模块、出发模块和到达模块。
旅行前模块可以使用包括多个生物计量设备和e-护照或者智能卡读取器的生物测量站来注册旅客以及发布e-护照或者已注册旅客非接触智能卡。旅行前模块还可以包括用于管理权限和政府监管名单的应用。
出发模块可以使用多个生物计量扫描仪(指纹、虹膜和面部)、e-护照/智能卡读取器、2D条形码登记牌打印机以及自动门用于辅助全部过程,包括:签入、票据呈现、移民和登机。出发模块可以与如图5中所示的可以由航空公司或者安全人员使用的移动手持设备协作,以便在需要时增加签入和登机容量。
在一个实现中,到达模块可以使用包括多个生物计量扫描仪(指纹、虹膜和面部)的自动门以及e-护照/智能卡读取器和物理障碍(转门或者滑动门)来便辅助入境。
安全***方案可以包括可扩展技术框架以及支持进行快速登记、管理和生物计量标识应用的一套软件。生物计量标识可以在固定点(亭或者门)处或者如图5所示使用移动设备来执行。
在一个实现中,***200可以使用由爱尔兰的Daon Crete所提供的生物计量中间件产品的Daon套件。***200可以支持大范围的生物计量捕获设备和匹配子***,以便为标识验证提供完整的集成方案,例如,集成指纹、虹膜和面部识别。***200可以依赖于服务器上的J2EE标准,以及可以与主要数据库提供商和操作***一起工作,并且支持客户端上的Java或者基于微软的开发。
旅行安全***在空中、陆地、或者海洋乘客旅行中、或者在需要大规模安全标识验证的任何行业中都是有用的。对于旅行行业,其设计用于连接至中央预定出发控制***、以及交互式高级乘客信息或者“有权承载”***。***200可以与标准国际民航组织e-护照以及其他非接触智能卡进行接口通信,该非接触智能卡支持(例如)基于无线连接设备的e-护照生物计量验证。***200还可以与种族标识卡一起使用。
图5是可以用于在此所述的技术的通用计算设备500和通用移动计算设备550的框图。计算设备500旨在代表各种形式的数字计算机,诸如膝上型计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机以及其他适合的计算机。计算设备550旨在代表各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话以及其他类似的计算设备。在此示出的组件、其连接和关系及其功能仅仅是示意性的,并非意在限制此描述和/或在本文中要求的本发明的实现。
计算设备500包括:处理器502、存储器504、存储设备506、连接至存储器504和高速扩展端口510的高速接口508、以及连接至低速总线514和存储设备506的低速接口512。组件502、504、506、508、510以及512中的每个使用各种总线来互联,并且可以安装在公共主板上,或者以其他适合的方式来安装。处理器502可以处理用于在计算设备500内执行的指令,包括存储在存储器504中或者存储设备506中、用于在外部输入/输出设备(诸如,耦合至高速接口508的显示器516)的GUI上显示图形信息的指令。在其他实现中,可以适当地使用多个处理器和/或多个总线,并且可以使用多个存储器和多种类型的存储器。另外,多个计算设备500可以与提供所需操作的部分的每个设备(诸如,服务器组、一组刀片服务器或者多处理器***)相连接。
存储器504在计算设备500内部存储信息。在一个实现中,存储器504是一个或者多个易失性存储单元。在另一实现中,存储器504是一个或者多个非易失性存储单元。存储器504还可以是诸如磁盘或者光盘的其他形式的计算机可读介质。
存储设备506能够为计算设备500提供大容量存储装置。在一个实现中,存储设备506可以是或者可以包括计算机可读介质,诸如,软盘设备、硬盘设备、光盘设备或者带设备、闪存设备或者其他类似的固态存储器设备、或者设备阵列,包括存储局域网络或者其他配置中的设备。计算机程序产品有形地包含在信息载体中。计算机程序产品还可以包括指令,当执行该指令时,其执行一个或者多个方法(诸如,上文描述的方法)。信息载体是计算机或者机器可读介质,诸如存储器504、存储设备506或者处理器502上的存储器、或者传输信号。
高速控制器508管理对计算设备500的带宽密集型操作,而低速控制器512管理较低的带宽密集型操作。此类任务分配仅仅是示意性的。在一个实现中,高速控制器508耦合至存储器504、显示器516(例如,通过图形处理器或者加速器)、以及高速扩展端口510,其中高速扩展端口510可以接受各种扩展卡(未示出)。在该实现中,低速控制器512耦合至存储设备506以及低速扩展端口514。低速扩展端口可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网),该低速扩展端口可以耦合至一个或者多个输入/输出设备,诸如键盘、指示设备、扫描仪或者例如通过网络适配器的联网设备(诸如,交换机或者路由器)。
如图所示,可以通过各种不同方式来实现计算设备500。例如,其可以实现为标准服务器520,或者在一组此类服务器中多次实现。还可以实现为骨干服务器***524的部分。另外,其可以实现为个人计算机,诸如膝上型计算机522。备选地,来自计算设备500的组件可以与诸如设备550的移动设备中的其他组件(未示出)相结合。每个此类设备可以包括一个或者多个计算设备500、550,以及整个***可以构成与彼此进行通信的多个数据设备500、550。
计算设备550包括:处理器552、存储器564、输入/输出设备(诸如,显示器554)、通信接口566、收发机568以及其他组件。设备550还可以具有存储设备(诸如微驱动器或者其他设备)以便提供附加存储装置。组件550、552、564、554、566以及568中的每一个可以使用各种总线来互联,并且多个组件可以安装在公共主板上,或者可以以其他适当方式进行安装。
处理器552可以在计算设备550内部执行指令,包括存储在存储器564中的指令。处理器还可以实现为包括单独的以及多个模拟和数字处理器的芯片组。处理器例如可以提供例如与设备550的其他组件进行协调,诸如控制用户接口、由设备550运行的应用、以及由设备550进行的无线通信。
处理器552可以通过控制接口558以及耦合至显示器554的显示接口556来与用户进行通信。显示器554例如可以是TFT(薄膜晶体管液晶显示器)显示器或者OLED(有机发光二极管)显示器、或者其他适合的显示器技术。显示接口556可以包括适当的电路,用于驱动显示器554以便向用户呈现图形和其他信息。控制接口558可以从用户接收命令,并且将其转换用于向处理器552发送。另外,外部接口562可以提供用于与处理器552进行通信,从而使得设备550的相邻区域与其他设备进行通信。在某些实现中,外部接口562例如可以提供例如有线通信;或者在其他实现中,可以是无线通信;以及还可以使用多种接口。
存储器564在计算设备550中存储信息。存储器564可以实现为以下的一个或者多个:计算机可读介质或者媒体、一个或者多个易失性存储单元或者一个或者多个非易失性存储单元。还可以提供扩展存储器574,并且通过扩展接口572将其连接至设备550,该扩展接口572例如可以包括SIMM(单列存储器模块)卡接口。此类扩展存储器574可以为设备550提供额外的存储空间,或者还可以为设备550存储应用或者其他信息。特别地,扩展存储器574可以包括用于执行或者补充上述过程的指令,并且还可以包括安全信息。由此,例如,可以将扩展存储器574作为设备550的安全模块来提供,并且可以利用允许设备550安全使用的指令来对其编程。另外,可以与其他信息一起经由SIMM卡来提供安全应用,诸如将标识信息以黑客不可侵犯的方式放置在SIMM卡上。
如下文将所述,存储器可以包括例如闪存和/或NVRAM存储器。在一个实现中,计算机程序产品有形地包含在信息载体中。计算机程序产品包括指令,当执行该指令时,其执行如上文所述的一个或者多个方法。信息载体是计算机可读介质或者机器可读介质,诸如存储器564、扩展存储器574或者处理器552上的存储器,其例如可以通过收发机568或者外部接口562来接收。
设备550可以通过通信接口566进行无线通信,在需要时,通信接口566可以包括数字信号处理电路。通信接口566可以提供用于在各种模式或者协议下进行通信,诸如GSM语音呼叫、SMS、EMS或者MMS消息发送、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS等。此类通信例如可以通过射频收发机568来执行。另外,近程通信例如可以使用蓝牙、WiFi或者其他此类收发机(未示出)来进行。另外GPS(全球定位***)接收机模块570可以对设备550提供附加的导航和位置相关的无线数据,其可以由在设备550上运行的应用以适当方式使用。
设备550还可以使用音频编解码器560以可听方式进行通信,其可以从用户接收话音信息,并且将其转换为可用的数字信息。音频编解码器560同样可以为用户生成可听的声音,诸如通过设备550手持机中的扬声器。此类声音可以包括来自语音电话呼叫的声音,可以包括录制的声音(例如,语音消息、音乐文件等),以及还可以包括由在设备550上操作的应用来生成。
计算设备550可以通过各种不同方式来实现,如附图中所示。例如,其可以实现为蜂窝电话580。还可以实现为智能电话582、个人数字助理或者其他类似移动设备的部分。
在此描述的***和技术的各种实现可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其结合中实现。这些各种实现可以包括一个或者多个计算机程序中的实现,其可以在可编程***上执行和/或解释,所述可编程***包括至少一个专用的或者通用的可编程处理器,其被耦合以便往来于存储***、至少一个输入设备、以及至少一个输出设备而接收或者发送数据和指令。
这些计算机程序(还称作程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令,并且可以在高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如在此所使用,术语“机器可读介质”、“计算机可读介质”是指用以向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括机器可读介质,该介质接收作为机器可读信号的机器指令。术语“机器可读信号”是指用以向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户进行交互,可以在如下计算机上实现在此描述的***和方法,所述计算机具有:显示设备(例如,CRT(阴极射线管)或者LCD(液晶显示器),用于向用户显示信息;以及键盘和指示设备(例如,鼠标或者轨迹球),用户可以通过其向计算机提供输入。同样可以使用其他类型的设备来提供与用户进行交互;例如,向用户提供的反馈可以是任何形式的传感反馈(例如,可视反馈、可听反馈或者触觉反馈);以及可以以任何形式接收来自用户的输入,包括声学、语音或者触觉输入。
在此描述的***和技术可以在计算***中实现,该计算***包括后端组件(例如,作为数据服务器)或者包括中间件组件(例如,应用服务器)或者包括前端组件(例如,客户端计算机,具有图形用户界面或者Web浏览器,用户可以通过其与在此所述的***和技术的实现进行交互),或者包括此类后端、中间件或者前端组件的任意结合。***的组件可以以各种方式或者通过数字数据通信介质(例如,通信网络)来进行互联。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)以及因特网。
计算***可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络来进行交互。客户端和服务器的关系借助于在相应计算机上运行的计算机程序来实现,并且彼此具有客户端-服务器关系。
已经描述了多个实现。然而应该理解,可以进行各种修改。例如,通过对步骤进行重新排序、添加或者删除,可以以各种形式使用上文所示的流程。