来自一组联合数据提供方的自动表格完成
文献发布时间:2023-06-19 09:46:20
技术领域
本申请通常涉及计算机和计算机应用,并且更特别地涉及计算机实现的表格完成和认证。
背景技术
在各种产品或帐户申请过程期间,申请人被要求提供信息以及对该信息的验证,诸如年龄、收入或地址的证明。这通常是通过将来自受信任的数据保管方(诸如银行)的官方支持文档与申请包括在一起而完成的。该文档难以进行认证,并且通常暴露比验证处理申请所需的信息更多的信息。
发明内容
在一个方面,一种计算机实现的方法可以包括托管从服务提供方接收到的申请表格,该服务提供方已经由一组数据保管方中的至少一个数据保管方认证,该申请表格至少包括要以信息填充的表格字段。该方法还可以包括:接收用户对要被自动填充的申请表格的选择,该用户已经由一组数据保管方中的至少一个数据保管方认证。该方法还可以包括向该组数据保管方中的至少一个数据保管方发送数据请求,用于填充表格字段中的至少一些表格字段。该方法还可以包括核对从所述至少一个数据保管方接收到的数据。该方法还可以包括使用经核对的数据填充表格字段中的所述至少一些表格字段。该方法还可以包括将已填充的表格字段返回给服务提供方。
在一个方面,一种系统可以包括硬件处理器。存储器设备可以与硬件处理器被可操作地耦合。硬件处理器可操作为托管从服务提供方接收到的申请表格,该服务提供方已经由一组数据保管方中的至少一个数据保管方认证,该申请表格至少包括要以信息填充的表格字段。硬件处理器还可操作为接收用户对要被自动填充的申请表格的选择,该用户已经由一组数据保管方中的至少一个数据保管方认证。硬件处理器还可操作为向一组数据保管方中的至少一个数据保管方发送数据请求,用于填充表格字段中的至少一些表格字段。硬件处理器还可操作为核对从所述至少一个数据保管方接收到的数据。硬件处理器还可操作为使用经核对的数据填充表格字段中的所述至少一些表格字段。硬件处理器还可操作为将已填充的表格字段返回给服务提供方。
还可以提供一种计算机可读存储介质,该计算机可读存储介质存储可由机器执行以执行本文所描述的一种或多种方法的指令的程序。
以下参考所附的附图详细描述各种实施例的其他特征以及结构和操作。在附图中,相似的附图标记指示相同或功能上类似的元件。
附图说明
图1图示了一个实施例中的用例场景中的组件。
图2是图示了一个实施例中以安全方式自动完成表格的方法的流程图。
图3是示出了一个实施例中的系统的组件的示图,该系统的组件可以安全且自动地提供申请表格填写。
图4是图示了一个实施例中的示例申请表格、与完成表格的过程相关联的信息、以及示例数据保管方的示图,该数据保管方可以保存在申请表格中请求的信息。
图5是图示了一个实施例中的示例申请表格和可以从中获得信息的数据保管方的示图。
图6图示了可以在根据本公开的实施例中实现系统的示例计算机或处理系统的示意图。
具体实施方式
本文中所描述的实施例可以通过示例的方式使用以下术语。
申请人:想要填写申请表格的用户。
服务提供方:提供服务并要求在申请表格中填写信息的实体,诸如公司或组织。
数据保管方:已经存储申请人信息的受信公司;数据保管方的示例可以包括但不限于银行、医疗救助、保险公司。
路由器:一种系统,该系统存储申请表格和针对服务提供方与数据保管方之间的数据的路由请求。路由器还可以托管申请表格,并为申请人提供一种查找、填写和提交申请表格的方式。
必要数据:完成申请所需的最少信息。
粗粒度数据:被提供在桶范围(bucket range)中或被提供为对是/否问题的响应,以便仅提供完成申请的最少必要数据的数据。
可以提供系统、方法和技术,其可以例如通过核对和验证来自一组联合数据保管方的数据来代表申请人自动完成用于产品和/或服务的申请表格。例如,可以提供不受信任的环境中的来自一组联合数据提供方的自动申请表格完成。在一个实施例中,该数据由受信任的数据保管方(诸如银行)捕获和验证(例如,要求物理存在),并且以粗粒度性质被提供,以防止不必要地暴露信息。在一个实施例中,数据还被加密以确保其仅被申请表格旨在的服务提供方看到。以这种方式,各种实施例中的系统和方法可以在不受信任的环境中操作。
在一个实施例中,一种用于自动完成申请表格的方法可以包括:由数据保管方认证服务提供方;以及代表服务提供方托管用于由服务提供方提供的产品或服务的申请表格。数据保管方可以是预先存在的数据保管方,例如,银行。该方法还可以包括例如由数据保管方对申请人进行认证,并且允许申请人选择要被自动完成的申请表格。该方法还可以包括将数据请求发送到联合的一组受信任的数据保管方,以获得关于申请人的已认证信息。联合的一组受信任的数据保管方的示例包括但不限于医疗救助、银行和保险。该方法还可以包括核对来自数据保管方的数据,并填充申请表格。来自数据保管方的数据可以是经加密数据。该方法还可以包括:允许申请人有机会审查最终填充的表格并具有以下可能的选项:在若干个备选之中进行选择的选项、添加不需要被验证的信息的选项、以及同意发送表格的选项。该方法还可以包括将已完成的申请表格返回或发送给服务提供方。已完成的申请表格可以被加密用于发送给服务提供方,然后该申请表格可以被解密和处理。
图4是图示了一个实施例中的示例申请表格、与填写表格的过程相关联的信息、以及示例数据保管方的示图,该数据保管方可以保存在申请表格中请求的信息。希望来自服务提供方的服务的申请人可能需要完成用于该服务的申请表格。例如,诸如住房贷款申请之类的申请表格402可以请求申请人输入信息404,信息中的一些信息可以包括要被保持安全的数据,并且还可能需要真实性的证明或验证。例如,服务提供方可以请求一个或多个支持文档406以验证已输入的信息。然而,可能是这样的情况,一个或多个受信任的数据提供方或数据保管方408存储信息中的一些或全部信息用于完成申请表格。实施例中的系统和/或方法可以通过与一个或多个受信任的数据保管方406通信来自动完成申请。
图5是图示了一个实施例中的示例申请表格和可从中获得信息的数据保管方的示图。该附图图示了在申请表格402中被请求的信息404可以从一个或多个受信任的数据提供方或数据保管方408获得。通过这种方式,申请表格402可以被自动填充并且申请表格可以被提交给服务提供方(前提是最低要求被满足),而例如无需提供文档证明(图4中的406)。
根据本公开的系统的实施例可以提供一种托管由服务提供方建立的申请表格的机制,所述服务提供方已经例如由数据保管方验证了其身份。想要向这些参与方之一提交申请的申请人可以通过从一个或多个受信任的数据保管方那里获取和验证数据字段来自动填写表格,受信任的数据保管方将以“粗粒度”格式提供信息,以使得不暴露多于申请所需信息的任何信息。例如,如果申请表格要求申请人不是未成年人,则数据保管方可以验证他们在法律上是成年人,而无需透露申请人的实际年龄。此外,数据可以由每个数据保管方以这种方式(例如,使用非对称公钥密码术)被加密,使得其仅由请求它的服务提供方可读。
根据本公开的系统的实施例可以从已经具有所需信息的数据保管方获取关于申请人的信息,从而不需要申请人重新输入数据,从而避免将申请人的数据暴露于新的组织或系统,并避免例如在填写申请表格时重做数据验证。
在各种实施例中,根据本公开的系统和/或方法可以在不受信任的环境中操作。例如,在不受信任的环境中工作时,系统例如满足以下性质:系统不会与尚未具有该信息的任何一方共享申请人的任何安全信息(与旨在的服务提供方共享旨在的信息除外);服务提供方接收对于评估申请的目的所必要的最少信息;申请人和服务提供方的验证是使用,或者是由已经具有可靠的机制来执行验证的数据保管方执行,该数据保管方是诸如受制于“了解您的客户”(Know Your Client,KYC)的银行之类的机构,“了解您的客户”(Know YourClient,KYC)进行严格的身份验证过程,使这些机构成为身份信息的受信任的赖的保管人。
下文说明了示例用例。考虑申请人从住房贷款提供方申请住房贷款。这可能涉及申请人取得申请表格、从诸如银行的金融机构获得财务报表、获得其身份证(ID)文档的已认证副本等所有其他必要文档,以便申请贷款。然后,申请人填写表格,然后将表格和支持文档交给住房贷款提供方。
在该示例场景下,被提供的文档可以对住房贷款提供方内的任何人或处理这些文档的任何其他人可见,这可能潜在地暴露信息并造成破坏性情况。附加地,收集这些文档,然后对其进行处理可能是费时且费力的。同样,住房贷款提供方可能不被鼓励仅要求最少的必要数据。
在一个实施例中,系统可以利用数据保管方来使该过程更快、更安全(例如,防止数据被盗用)以及更多的用户信息防护(例如,数据保护)。例如,支持文档不需要被提供,因为可以直接从数据保管方获得信息或数据。在一个实施例中,系统可以包括网络申请。附加地,或在另一实施例中,系统可以包括在设备上运行的多个申请,其中在每个数据保管方、每个服务提供方以及每个申请人处都有一个设备。这些设备可以是计算机、智能手机、信息亭或其他类似设备。可以使用安全网络技术(诸如传输层安全性(TLS)或用于通过计算机网络进行安全通信的另一协议或密码协议)将设备联网。路由器可以是运行路由申请的中央计算机,该计算机可以协调在系统中的各方之间路由的请求和数据,还可以管理用户注册和身份认证。路由器可以以分布式方式被实施为合同执行区块链。简而言之,区块链技术允许以安全的方式在去中心化平台中管理数字交易。
在一个实施例中,路由器可以被实现为区块链中的分布式应用(D-app)。基于区块链的分布式计算平台的示例包括Ethereum
图1图示了一个实施例中的用例场景中的组件。所示出的组件包括计算机实现的组件,例如,在一个或多个硬件处理器上实现和/或运行,或与一个或多个硬件处理器耦合的计算机实现的组件。一个或多个硬件处理器例如可以包括诸如可编程逻辑设备、微控制器、存储器设备和/或其他硬件组件之类的组件,其可以被配置为执行本公开中所描述的相应任务。所耦合的存储器设备可以被配置为选择性地存储可由一个或多个硬件处理器执行的指令。
服务提供方102(诸如住房贷款提供方102)向数据保管方(诸如银行B)104注册。例如,住房贷款提供方可以具有商业银行帐户,并且银行104充当数据保管方,在这种情况下,数据保管方(银行)将已经验证了服务提供方102。类似地,从服务提供方102(例如,住房贷款提供方)申请诸如住房贷款的服务的申请人106向数据保管方110(诸如银行A)注册。在注册过程期间,服务提供方102和申请人106两者都被提供了生成的一对公钥和私钥。在一个实施例中,申请人的设备(例如,在申请人的设备上运行的应用程序)可以生成私钥。在另一实施例中,服务提供方的设备可以生成私钥。在连接到路由器108的服务提供方的硬件102上运行的应用程序或Web浏览器可以生成服务提供方的密钥。申请人的设备或服务提供方的设备利用用户提供的密码保护私钥,并将经加密版本(只有用户才能对其解密)保存在路由器108上,用于在多设备场景下安全保持和恢复。
服务提供方(例如,住房贷款提供方)102将其申请表格118上传到路由器108。该申请表格118是公开的,并且对于该表中的每个字段,服务提供方102可以提供为什么需要这些信息的描述。住房贷款提供方的公钥将被附接到表格,并用于对表格签名来证明作者身份。例如,住房贷款提供方(或另一服务提供方)可能需要来自已验证来源的数据,以便向用户发行住房贷款(或另一服务)。住房贷款提供方(或另一服务提供方)可以与在104处的诸如例如银行之类的数据保管方验证其身份,并创建需要已验证数据的公开申请表格。
用户106可以连接到路由器108,并且路由器108可以管理表格字段数据的检索。例如,用户(例如,申请人106)可能想要在不向住房贷款提供方提供不必要的信息的情况下申请住房贷款。想要申请住房贷款的用户(例如,申请人106)登录到路由器108并访问表格118。用户(例如,申请人106)可以通过链接至数据保管方(例如,银行)110的应用程序等来验证用户的身份。该数据保管方利用诸如FICA和/或KYC之类的现有方法。例如,用户在与诸如银行之类的数据保管方开通用户帐户时,可以使用FICA和KYC方法对用户进行身份验证。此后(例如,当用户检索申请表格时),用户可以使用生物识别技术(例如,指纹、面部ID、视网膜扫描等)或密码等在应用程序或浏览器上对用户进行认证。该认证可以包括两因素认证。
举例来说,用户可以使用由数据保管方110提供的身份登录路由器108。一旦用户的身份已由数据保管方110验证,则用户可以直接在路由器108上填写表格或经由数据保管方的应用程序或网站内部的门户访问路由器108上的表格。
用户(例如,申请人106)可以从例如存储在路由器108中的已验证的公司列表中选择申请表格。对于表格中的每个字段,申请人116被示出为什么需要信息的原因,以及持有在申请表格104、110、112、114、116中被请求的数据的受信任的数据保管方,例如在路由器上注册的所有数据保管方,这些保管人具有关于申请人的特定信息。在一个实施例中,在120中示出的组件可以被认为是受信任的数据提供方和数据验证者的圈子。例如,数据提供方是具有预先存在的验证机制的受信任组的一部分,因此,数据可以被信任为正确的。举例来说,在104处的受信任的数据保管方可以是银行(例如,银行B)、在110处的受信任的数据保管方可以是另一银行(例如,银行A)、在112处的受信任的数据保管方可以是保险公司、在114处的受信任的数据保管方可以是医疗救助、并且在116处的受信任的数据保管方可以是信贷机构。申请人106选择填写来自数据保管方112的姓名和ID字段,例如如由该数据保管方(例如,申请人的保险公司)所存储的姓名和ID字段。对于薪水字段,例如通过在表格上指示从另一受信任的来源或数据保管方(例如,银行)可以接收到哪些信息的选项,申请人选择填写薪水范围,而不是实际薪水。如果不清楚为什么需要该字段,则申请人106可以选择不提供与一个或多个字段相关联的数据,例如家庭住址。路由器108然后可以忽略这些字段。申请人106可以通过允许路由器访问由受信任的数据保管方(例如110)存储的信息,来验证将由路由器108填写到表格118中的申请人的信息。
路由器108然后从(例如,如由申请人选择的)每个数据来源或数据保管方请求该信息,并向申请人示出已填写的表格。举例来说,路由器108可以从一个或多个受信任来源(数据保管方,例如112、114、116)请求粗粒度数据以完成申请表格。在一个实施例中,粗粒度数据被利用服务提供方(例如,住房贷款提供方)102的公钥进行加密并返回。例如,一个或多个数据保管方可以在将数据向路由器108发送之前对数据进行加密。如果申请人106感到满意,则申请人可以选择提交表格。申请人106还可以选择改变一个或多个信息的来源。一个或多个字段在被示出之前可以被预处理或计算。例如,为了回答诸如“申请人是否未成年人?”这样的问卷,可以使用申请人的年龄来计算答复,不需要从其来源传达或可以仅以加密形式被传达。例如,可以在签名和加密之前在数据保管方的设备上执行这种计算。在另一实施例中,可以以“盲计算”形式在路由器108上执行该计算,其中算法(来自服务提供方)和数据(来自数据保管方)通过同态加密向路由器隐藏。同态加密允许对加密数据的计算生成加密结果,该结果仅可由例如所需的接收者解密。在一个实施例中,仅在具有申请人的同意的情况下,输出对申请人106和服务提供方102可见。
响应于申请人选择提交表格,路由器108将表格发送到服务提供方102(例如,住房贷款提供方)用于处理。在一个实施例中,为了防止路由器108访问申请人的信息,由数据保管方使用申请人的公钥对路由器108中使用的数据进行加密。在一个实施例中,当预览针对申请人106的已完成表格时,申请人的设备使用申请人的私钥解密数据。类似地,在一个实施例中,当将表格提交给服务提供方102时,申请人的设备使用服务提供方(例如,住房贷款提供方)的公钥对数据进行加密,然后经加密数据由路由器108转发给服务提供方(例如,住房贷款提供方)102。
在一个实施例中,为了添加对系统的工作的信任,由数据保管方提供的所有数据由数据保管方进行数字签名,以使得服务提供方可以被确保数据来自受信来源并且尚未被篡改。由于数据保管方在法律上有义务(例如,通过诸如KYC和《联邦保险金法案》(FICA)之类的行为)验证其存储的数据,因此服务提供方可以立即处理信息并且一旦信息被处理则回应申请人,当所有处理都以电子方式进行时,这几乎是瞬时的。
在一个实施例中,系统可以正式地促进一条请求的信息与相关联的理由和旨在用途的关联。可以针对每条请求的信息进行此操作。系统可以(例如,通过安全性度量)自动地总结该关联和/或对该关联进行评分以供申请人细读。例如,路由器108可以响应于所创建的申请表格来计算分数。
监管机构将能够通过审查申请表格所请求的信息和所提供的理由来确保法律数据保护要求被实施,以确保其符合法律,甚至确保其尽可能地粗粒度。
在一个实施例中,可以利用对多个数据字段的任意计算来增加申请表格,例如,以确保在最低要求被满足之前不共享数据。这样,如果最低要求未被满足,即使不知道何种最低要求未被满足,服务提供方也无需学习任何信息。例如,当申请表格被创建时,服务提供方可以以校验规则的形式创建计算并将其与申请表格一起保存。这可以在数据保管方的设备处执行,也可以在路由器处执行的可执行脚本的形式,该脚本例如可以使用同态加密来保护实际数据。例如,如果申请人必须满足申请住房贷款的要求,并且如果校验确定申请人不满足要求,则表格将不会被提交。包含多个字段的类似验证可以被创建。
在一个实施例中,任意计算被以这样的方式执行使得算法(例如,服务提供方的算法)、申请人的数据和结果在需要知道的基础上对所有参与方保密,所有参与方包括使用同态计算执行该计算的实体(例如,数据保管方或路由器)。在一个实施例中,路由器看不到数据的实际值,而是看到数据的加密版本。
在一个实施例中,系统不需要从用户收集用户信息或将这些信息存储在新的数据库中。相反,信息可以在申请时以安全的方式从受信任的数据提供方取得。
图2是图示了一个实施例中以安全方式自动完成表格的方法的流程图。该方法可以由一个或多个硬件处理器执行。在202处,该方法包括托管从服务提供方接收到的申请表格。例如,路由器设备可以托管这样的申请表格。服务提供方是已经由一组数据保管方中的至少一个数据保管方认证的服务提供方。该组数据保管方可以包括一个或多个数据保管方,例如,联合的一组受信任的数据保管方。例如,诸如银行之类的预先存在的数据保管方可以认证服务提供方。申请表格至少包括要以信息(例如,用户信息)填充的表格字段。
在一个实施例中,申请表格可以由创建其的服务提供方进行数字签名。例如,服务提供方可以利用服务提供方的私钥对申请表格进行加密,其只能使用对应的公钥进行解密。
在204处,该方法包括接收要被自动填充的申请表格的用户选择。用户例如已经由一组数据保管方中的至少一个数据保管方认证。例如,预先存在的数据保管方(诸如保险公司)可能已经对用户进行了身份验证。然后用户可以被允许选择要被自动完成的申请表格。
在206处,该方法包括向该组数据保管方中的至少一个数据保管方发送针对用于填充至少表格字段中的一些表格字段的数据(例如,与申请人或用户相关联的已认证信息)的数据请求。例如,数据可以从一组联合的数据提供方收集,并且例如,来自多个提供方的相同项的信息可以被验证(例如,比较)。在一个实施例中,可以以粗粒度格式从一个或多个数据保管方接收数据。例如,数据可以是范围形式、类别形式等。举例来说,除了用于指定年龄的特定数字型数据之外,数据还可以指定“高于x”,其中x是数字。提供或使用以粗粒度格式的数据可以确保仅最少的必要信息被返回,并且例如,可以防止不必要的泄漏。
在208处,该方法包括核对从至少一个数据保管方接收到的数据。例如,来自多个数据保管方的数据可以被组合在一起。例如,每个数据保管方可能只能提供数据字段中的一些数据字段。一些字段可以由多个数据保管方提供或验证。在这种情况下,可以删除可能发生的重复项。
在210处,该方法包括使用经核对的数据填充表格字段中的至少一些表格字段。在212处,确定最低要求是否被满足。如果最低要求未被满足,则该方法包括在214处取消申请。否则,该方法前进到216。
在216处,该方法包括将已填充的表格字段返回或提交给服务提供方。例如,路由器可以将已填写或已完成的申请表格返回给服务提供方。在一个实施例中,申请人的数据只能由旨在的服务提供方看到。例如,提供数据的数据保管方可以使用服务提供方的公钥对数据进行加密,其只能由服务提供方的私钥进行解密。在一个实施例中,例如,数据和对该数据执行的任何算法可以通过利用同态计算而对所有未授权方隐藏。在一个实施例中,路由器可以以诸如合同执行区块链的分布式方式被实施。
图3是示出了一个实施例中的系统的组件的示图,该系统的组件可以安全且自动地提供申请表格填写。一个或多个硬件处理器302,诸如中央处理单元(CPU)、图形处理单元(GPU)和/或现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或另一处理器可以与存储器设备304耦合,并托管用于一个或多个服务提供方的(例如,由一个或多个服务提供方创建或上传的)一个或多个申请表格,并在用户所选择的应申请(例如,选自一个或多个所托管的申请)中自动完成一个或多个表格字段。存储器设备304可以包括随机存取存储器(RAM)、只读存储器(ROM)或另一存储器设备,并且可以存储用于实现与本文所描述的方法和/或系统相关联的各种功能的数据和/或处理器指令。一个或多个处理器302可以执行存储在存储器304中或从另一计算机设备或介质接收到的计算机指令。存储器设备304可以例如存储用于一个或多个硬件处理器302的功能的指令和/或数据,并且可以包括操作系统和指令和/或数据的其他程序。一个或多个硬件处理器302可以接收一个或多个申请表格以托管、接收用户所选择的申请表格,并发送与填写所选申请表格中的一个或多个表格字段条目相关联的数据请求。在一个实施例中,已托管的申请可以被存储在存储设备306上或经由网络接口308从远程设备被接收,并且可以被临时加载到存储器设备304中以用于自动表格填写。一种或多种算法可以被存储在例如存储器设备304上,例如以供一个或多个硬件处理器302在使用同态处理时执行。一个或多个硬件处理器302可以将已完成的申请表格在一个或多个细节以粗粒度格式的情况下返回到服务提供方。一个或多个硬件处理器302可以与用于(例如经由网络)与远程系统进行通信的诸如网络接口308之类的接口设备以及用于与诸如键盘、鼠标、显示器和/或其他输入和/或输出设备进行通信的输入/输出接口310耦合。
图6图示了可以在根据本公开的一个实施例中实现系统的示例计算机或处理系统的示意图。该计算机系统仅是适当的处理系统的一个示例,并且不旨在对本文所述方法的实施例的使用范围或功能提出任何限制。所示的处理系统可以与许多其他通用或专用计算系统环境或配置一起操作。适于与图6所示的处理系统一起使用的公知的计算系统、环境和/或配置的示例可以包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、胖客户机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统以及包括上述系统或设备中的任何系统或设备的分布式云计算环境等。
可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的广义语境中描述计算机系统。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。可以在分布式云计算环境中实践计算机系统,在分布式云计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
计算机系统的组件可以包括但不限于一个或多个处理器或处理单元12、系统存储器16以及将包括系统存储器16的各种系统组件耦合到处理器12的总线14。处理器12可以包括执行本文所描述的方法的模块30。模块30可以被编程到处理器12的集成电路中,或者可以从存储器16、存储设备18或网络24或其组合被加载。
总线14可以代表若干种类型的总线结构中的任何总线结构中的一种或多种,包括使用各种总线架构中的任何一种的存储器总线或存储器控制器、外围总线、加速的图形端口以及处理器或本地总线。作为示例而非限制,这种架构包括行业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围组件互连(PCI)总线。
计算机系统可以包括各种计算机系统可读介质。这种介质可以是可由计算机系统访问的任何可用介质,并且可以包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器16可以包括以易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)和/或高速缓存存储器或其他。计算机系统还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统18可以被提供用于从不可移动的非易失性磁性介质(例如,“硬盘驱动器”)读取和向其写入。尽管未示出,但是用于从可移动非易失性磁盘(例如“软盘”)读取和向其写入的磁盘驱动器,以及用于从可移动非易失性光盘(诸如CD-ROM,DVD-ROM或其他光学介质)进行读取或向其写入的光盘驱动器可以被提供。在这种情况下,每个都可以由一个或多个数据介质接口连接到总线14。
计算机系统还可与一个或多个外部设备26通信,外部设备26诸如键盘、指示设备、显示器28等;使用户能够与计算机系统交互的一个或多个设备;和/或使计算机系统能够与一个或多个其他计算设备进行通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口20发生。
仍然,计算机系统可以通过网络适配器22与一个或多个网络24通信,网络24诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如Internet)。如所描绘的,网络适配器22经由总线14与计算机系统的其他组件通信。应该理解,尽管未示出,但是其他硬件和/或软件组件可以结合计算机系统一起被使用。示例包括但不限于:微代码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列,RAID系统,磁带驱动器和数据档案存储系统等。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任何适当的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任何适当的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供方来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以被提供给计算机的处理器或其他可编程数据处理装置以产生机器,以使得经由计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现流程图和/或框图的一个或多个方框中指定的功能/动作的手段。这些计算机可读程序指令也可以被存储在计算机可读存储介质中,该计算机可读存储介质可以指导计算机、可编程数据处理装置和/或其他设备以特定方式起作用,以使得其中存储有指令的计算机可读存储介质包括制造的制品,该制品包括实现流程图和/或框图的一个或多个方框中指定的功能/动作的方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个方框可以代表指令的模块、片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实施方式中,方框中所指出的功能可以不按照附图中所指出的顺序发生。例如,取决于所涉及的功能,连续示出的两个方框实际上可以以在时间上部分或全部重叠的方式作为一个步骤被完成、被同时执行、基本上同时被执行,或者有时方框可以按照相反的顺序被执行。还应注意,框图和/或流程图图示的每个方框以及框图和/或流程图图示中的方框的组合可以由基于硬件的专用系统来实现,该专用系统执行指定功能或动作或执行专用硬件和计算机指令的组合。
本文所使用的术语仅出于描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,单数形式“一个”,“一种”和“该”也旨在包括复数形式,除非上下文另外明确指示。还将理解的是,当在本文中使用时,术语“包括”、“包括有”、“包括了”、“包含”、“包含有”、“包含了”和/或“具有”可以指定所陈述特征、整数、步骤、操作、元素和/或组件的出现,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组合的出现或添加。
以下权利要求书中的所有手段或步骤以及功能元素的任何对应的结构、材料、动作和等同物(如果有的话)旨在包括用于执行与如特别要求的其他所要求保护的元素结合的功能的任何结构、材料或动作。本发明的描述已经出于说明和描述的目的被呈现,但其不旨在是穷举的或被限制为以所公开的形式的本发明。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是明显的。实施例被选择和描述以便最好地解释本发明的原理和实际应用,并使本领域的其他普通技术人员能够理解针对各种实施例的本发明,这些实施例具有适合于预期的特定用途的各种修改。
- 来自一组联合数据提供方的自动表格完成
- 自动完成电子表格公式的系统和方法