CN113545017B - 智能路由***和方法 - Google Patents
智能路由***和方法 Download PDFInfo
- Publication number
- CN113545017B CN113545017B CN201980093309.0A CN201980093309A CN113545017B CN 113545017 B CN113545017 B CN 113545017B CN 201980093309 A CN201980093309 A CN 201980093309A CN 113545017 B CN113545017 B CN 113545017B
- Authority
- CN
- China
- Prior art keywords
- computer
- transmitting computer
- transmitting
- gateway server
- authorization request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0686—Additional information in the notification, e.g. enhancement of specific meta-data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
提供用于到传输计算机等网络中的节点的智能路由的技术。网关服务器可以从资源提供商计算机接收授权请求。取决于各方之间建立的关系,可能存在可能要将所述授权请求路由到的多个潜在传输计算机。可以基于实时网络测量和/或静态规则自动地作出路由决策。实时网络测量可以通过监测传输计算机的故障、延迟或其它不合需要的活动来获得。所述路由决策可以进一步基于期望数据量(例如,基于对数据量中的历史激增的分析)。所述路由决策可以进一步基于经由路由管理界面接收到的用户配置的规则和偏好。
Description
背景技术
在分布式网络中,网关执行将消息路由到适当目的地的重要功能。计算机网络使得不同计算机能够合作执行动作。例如,第一计算机可以发出请求,该请求被发送给网关以将请求路由到一系列计算机,所述一系列计算机合作处理请求。这些计算机中的每一者可以执行特定功能。日益增多的是,网络中可能有多个节点可以执行特定功能,从而创建路由选项。
然而,常规的授权路由容易出现故障。在给定时间,网络中的计算机可能会处于故障状态,或因流量而过载,从而引起延迟。如果特定计算机无法被访问或正经历延迟(例如,由于基础设施故障、***不稳定性、维护、DDoS攻击等),则消息可能无法及时通过网络移动。
因此,需要用于将消息自动路由到理想目的地的新***和方法,例如路由到可以执行给定功能的若干潜在计算机中的一者。
发明内容
本公开的实施例包括用于使用自动规则和实时网络测量来将授权请求智能路由到适当传输计算机的方法和***。传输计算机可以选自与特定资源提供商有关系的一组传输计算机。
自动规则可以用于基于实时网络测量而创建路由逻辑。网络测量可以由持续或周期性地监测一组传输计算机的网关服务器确定。网关服务器可以对故障或延迟进行计数,同时维持滞后阈值,以用于控制授权消息在不同通信网络到不同传输计算机之间的流动。
网关服务器可以基于响应代码、响应时间和/或错误甄别来确定传输计算机可用性。网关服务器可以进一步(例如,基于周期性数据量(volumn)变化而)确定特定于期望数据量的映射。网关服务器可以进一步基于待路由请求的百分比(例如,50%的请求路由到传输计算机1且50%的请求路由到传输计算机2)、基于响应时间的加权规则、基于成功/拒绝百分比的规则和基于吞吐量度量的规则来确定路由规则。
路由决策可以进一步基于用户定义的规则。所述用户定义的规则可以经由路由管理界面配置。用户可以提供与选择传输计算机的次序有关的偏好。替代地或另外,用户可以配置用于手动超控路由逻辑的规则。
可参考以下详细描述和附图来更好地理解本公开的实施例的性质和优势。
附图说明
图1A是示出根据一些实施例的用于授权路由的***和方法的概述的示意图。
图1B是示出根据一些实施例的授权路由***的概述的框图。
图2是示出根据一些实施例的网关服务器的框图。
图3是示出根据一些实施例的资源提供商计算机的框图。
图4是示出根据一些实施例的消息的智能授权路由的序列图。
图5是示出根据一些实施例的基于接收到的对消息的响应而确定传输计算机可用性的方法的流程图。
图6是示出根据一些实施例使用心跳消息来确定传输计算机可用性的方法的流程图。
图7是示出根据一些实施例的确定传输计算机的期望数据量的方法的流程图。
图8是示出根据一些实施例的评估对应于传输计算机的拒绝与成功比率的方法的流程图。
图9A-9C是根据一些实施例的用于路由管理的示例界面。
图10是示出根据一些实施例的计算机***的框图。
术语
在论述各种实施例之前,一些术语的描述可以有助于理解本公开的实施例。
术语“资源提供商计算机”可以指参与交易的计算机或计算机***和用于提供对商品或服务的访问的其它电子通信。资源提供商计算机可以与“资源提供商”相关联,所述资源提供商是可以提供商品、服务、信息和/或访问等资源的实体。资源提供商的实例包括商家、数据提供商、运输代理、政府实体、场地和住宅运营商等。
术语“网关服务器”可以指管理对资源提供商***的请求的服务器计算机。此网关服务器可以代表资源提供商***处理路由授权请求消息和响应消息,并且可以实现资源提供商***与相关联的传输计算机之间的通信。
术语“授权计算机”可以指接收授权请求的计算机。授权计算机可以访问电子记录以确定授权响应,由此允许处理网络为其它计算机提供消息以协调交易的授权和结算。授权计算机可以与为用户维持账户的发行方(例如,银行)相关联。
术语“传输计算机”可以指代表资源提供商***处理电子支付通信的计算机。传输计算机可以接收源自资源提供商***的源地址的授权请求和结算通信,以及来自授权计算机的源地址的授权响应,电子支付消息也可以源自所述授权计算机的源地址。传输计算机可以与“收单方”相关联,所述收单方通常可以是与特定资源提供商或其它实体有业务关系的企业实体(例如,商业银行)。一些实体可执行发行方和收单方两者的功能。一些实施例可涵盖此类单个实体发行方-收单方。
“处理网络”可以是计算机,其用于支持和交付凭证颁发服务、授权服务、异常文件服务以及清算和结算服务。处理网络可以是“支付处理网络”。示例性支付处理网络可以包括VisaNetTM。VisaNetTM等支付处理网络能够处理***交易、借记卡交易和/或其它类型的商业交易。支付处理网络可以包括一个或多个服务器计算机。支付处理网络可以使用任何合适的有线或无线网络,包括因特网。
如本文中所使用,支付或购买“交易数据/信息”可以指对应于或描述涉及商品、项目、服务等的购买、预定、开***、支付的任何信息,可以包括但不限于购买金额、商家标识符、与购买项目相关联的描述代码(例如,NAICS:北美工业分类***)、购买项目的费用和交易,以及购买项目、购买日期、购买金额、使用的支付账户的指示、是否在线进行购买的指示、确认号、订单号、取消号、运输状态更新(例如,订单正处理、正运输、正配送、延期交货等)、配送跟踪号、取消通知、更新等的描述。
术语“通信信道”可以指用于对应于特定源地址和目的地地址的两个计算机之间的通信的特定源地址和目的地地址(包括用于路由的中间地址)。通信信道可以指特定协议(例如,HTTP、TCP、UDP等)且可具有相关联加密密钥的特定集合。地址还可指定特定端口,且因此两个目的地地址可具有同一IP地址,但可具有不同端口。
术语“授权请求消息”或“授权请求”可以指发送给支付处理网络和/或支付账户的授权以请求交易授权的电子消息。根据一些实施例的授权请求消息可以符合ISO 8583、ISO20022和/或ISO 8538/20022,它们是用于交换与消费者使用支付装置或支付账户进行的支付相关联的电子交易信息的***的标准。授权请求消息可包括主账号(PAN)或与消费型支付装置或支付账户相关联的其它标识信息。授权请求消息还可包括对应于标识信息的额外数据要素,包括(仅作为实例):服务代码、卡验证值(CVV/iCVV)、动态卡验证值(dCVV)、密码(例如用于交易的唯一密码值)、到期日期等。授权请求消息还可以包括交易信息,例如与当前交易相关联的任何信息,例如交易金额、资源提供商标识符(例如MVV,“资源提供商验证值”)、资源提供商位置、资源提供商类别代码等,以及可以用于确定是否授权交易的任何其它信息。
“授权响应消息”或“授权响应”可以指对授权请求消息的消息应答。授权响应消息可以包括(只作为实例)以下状态指示符中的一个或多个:批准——交易被批准;拒绝——交易不被批准;或呼叫中心——响应未决的更多信息,资源提供商必须呼叫免费授权电话号码。授权响应消息还可以包括授权代码,其可以是***发行银行响应于电子消息中的授权请求消息(直接地或通过支付处理网络)传回资源提供商的访问装置(例如,POS设备)的指示交易被批准的代码。所述代码可以充当授权的证据。
术语“心跳消息”可以指经过发送以指示发送装置是否可用或以确定接收装置是否可用的消息。心跳消息可周期性地发送并且在发送实体可用时继续发送。心跳消息的不存在可指示发送实体不再可用。
术语“握手同步消息”可以指由一个装置发送以与另一装置建立通信信道的消息。可运用握手同步响应消息响应握手同步消息,从而指示两个实体是同步的并且能够进行进一步通信。
“处理器”可以指任何合适的一个或多个数据计算装置。处理器可以包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或***生成的请求的程序组件。CPU可以是微处理器,例如AMD的Athlon、Duron和/或Opteron;IBM和/或Motorola的PowerPC;IBM和Sony的Cell处理器;Intel的Celeron、Itanium、Pentium、Xeon和/或XScale;和/或类似处理器。
“存储器”可以是可以存储电子数据的任何合适的一个或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实现所要方法的指令。存储器的实例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可以使用任何合适的电、光和/或磁操作模式来操作。
“服务器计算机”可以包括功能强大的计算机或计算机群集。例如,服务器计算机可以是大型主机、小型计算机集群或像单元一样工作的一组服务器。在一个实例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可以耦合到数据库,并且可包括用于服务于来自一个或多个客户端计算机的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算机可以包括一个或多个计算设备,且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
具体实施方式
本公开提供用于联网***中的智能路由的方法和***,所述联网***例如医院计算机网络、分布式数据库或用于管理交易和使用***促进商品和服务的支付的***。在这些联网***中,存在多个服务器、计算机和处理器,其中的每一个在过程中各自发挥作用。如果给定的计算机不可用于在适当的时间范围内在网络中执行其个别功能,则整个网络的性能会受到影响。所公开的方法和***提供此问题的解决方案,使得网络能够执行其预期功能,即使当个别计算机、服务器或处理器不可用时也是如此。
尽管以下的实例和语言集中于交易上下文,但下文所描述的方法和***可适用于较一般的网络***。本公开的一些实施例的基本方面是能够基于网络测量和用户配置规则来在网络中选择将消息路由到的适当节点。这在许多网络方案中具有优点,尤其是其中速度和可靠性均重要的网络方案。
此***的实例是包括冗余服务器的云计算***。此***可以代表大量客户端计算机执行计算操作(例如,数千个客户端计算机可以利用云计算***)。
当客户端计算机向云计算***发送处理数据的请求时,云计算***可以具有可能处理数据的数百个冗余服务器。通过将请求智能地路由到理想服务器计算机,可以最有效的方式处理数据。
另一实例是用于处理支付的***。实施例可以包括包括资源提供商计算机、网关服务器、多个传输计算机、处理网络和授权计算机的***。在一些实施例中,资源提供商计算机创建通过网络发送给授权计算机的授权请求。资源提供商计算机接收授权响应,所述授权响应是通过网络从授权计算机发送的。授权请求可以从资源提供商计算机路由到网关服务器,然后路由到传输计算机,然后路由到处理网络,然后在授权计算机到达其目的地。然而,如果第一选项传输计算机不可用或正经历延迟,则可以选择另一传输计算机。在这样做时,授权请求可以及时到达授权计算机,即使第一选项传输计算机不可用或正经历延迟。相比于授权请求的常规***和方法,这提供了相当大的优点。
本公开的实施例相比于常规***和方法提供优点,这是因为授权授权请求中使用的常规***和方法不能基于网络测量和用户定义的规则将消息智能地路由到适当的传输计算机。因此,通常基于盲目地将消息路由到固定计算机,可能会发生延迟或完全故障。例如,在用于处理授权请求的常规***中,如果对应于给定资源提供商的传输计算机不可用,则无法处理授权请求,这是因为传输计算机无法接收授权请求并将其转发到支付网络。如果没有完全故障,则传输计算机可能会经历数据量激增的情况,这可能会减慢处理请求的速度。相比而言,本公开的实施例可以标识要将授权请求路由到的若干传输计算机中的一者,从而即使给定传输计算机不可用或正经历延迟,也允许快速授权请求。结果是较顺畅且高效的联网环境。
下文描述各种计算机和其它网络实体以及它们彼此交互和通信的方式,连同一些个别实体自身的描述。还提供了网关服务器可以借以根据传输计算机可用性、期望数据量和/或静态规则等因素通过不同传输计算机路由授权请求的方法。在确定网络上传输计算机的可用性的实例之后,讨论确定传输计算机的期望数据量的方式。描述了用于计算拒绝/成功比率的方法。最后,描述了示例路由配置界面。
I.智能路由***和方法的概述
图1A是示出根据一些实施例的智能路由***和方法100A的概述的示意图。如图所示,***100A包括资源提供商计算机101、网关服务器103、多个传输计算机(例如,传输计算机A 111A、传输计算机B 111B和传输计算机C 111C)和路由管理界面107。其它网络装置可存在于所展示的例如因特网路由器的各个网络计算机之间,本领域技术人员已知这些网络计算机的功能。***100A可以进一步包括额外组件,传输计算机可以将消息路由到所述额外组件,如图1B所示。下文第II节详细描述了这些组件的功能性的细节。
在初始时间,路由管理界面107可以接受来自例如与资源提供商相关联的管理员的用户的规则参数。路由管理界面107可以直接或经由例如资源提供商计算机的另一装置显示用于接受用户配置的规则的界面元素。例如,用户可以规定初级传输计算机和用于使用一个或多个备份传输计算机的一组条件。在图9A中示出且在第VII节中描述此界面的实例。
在步骤S1,路由配置服务103C可以从路由管理界面107检取用户配置的规则。路由配置服务103C可以将规则转换成合适的形式,并且在步骤S2,将配置规则存储到路由数据库105。路由配置服务103C可以接受来自各种不同资源提供商的不同规则集合。可以与为其配置规则的资源提供商相关联地存储所述规则。路由数据库105可以存储基于不同资源提供商的偏好配置的多个不同规则集合。
在步骤S3,实时网络管理引擎103B可以监测多个传输计算机。为简单说明起见,图1A示出了三个传输计算机,即传输计算机A 111A、传输计算机B 111B和传输计算机C 111C。然而,实时网络管理引擎103B可以监测许多(例如,数百个或数千个)传输计算机。监测传输计算机可以涉及从传输计算机检取数据,例如错误代码和带有时间戳的响应。带有时间戳的响应可以用于确定响应时间。可以通过将例如请求消息和握手消息等消息发送给传输计算机来收集此类数据。替代地或另外,可以通过收听心跳消息从传输计算机收集数据。下文在第III-VI节详细描述了监测传输计算机的各种方法。
在步骤S4,路由管理器103A可以从资源提供商计算机101接收请求。请求可以是授权请求。
在步骤S5,路由管理器103A选择要将请求发送给的传输计算机。通常,此请求将被路由到预定传输计算机(例如,基于资源提供商与管理传输计算机的实体之间的业务关系)。相比而言,使用智能路由方法,路由管理器充分利用路由数据库中的用户配置的规则和通过监测一组传输计算机收集的实时网络测量来作出路由决策并选择传输计算机。路由管理器可以例如计算每个潜在传输计算机的得分,并且基于得分选择要将请求路由到的传输计算机。下文第III节详细描述了选择传输计算机。在选择传输计算机之后,路由管理器103将请求发送给所选择的传输计算机。
II.包括多个传输计算机的***
根据一些实施例的***包括一系列计算机和服务器。包括资源提供商计算机、网关服务器、多个传输计算机、处理网络和授权计算机。授权请求和响应由网关服务器和处理网络在资源提供商计算机、传输计算机和授权计算机之间路由。网关服务器基于通过监测传输计算机、预测传输计算机的期望数据量确定的网络测量和/或预定路由规则等标准,选择要将授权请求和/或响应路由到的理想传输计算机。
***可以进一步包括用以接受用户定义的参数且向用户显示信息的路由管理界面。所述***可以使界面元素的显示使得用户——例如与资源提供商相关联的管理员——能够配置路由偏好。例如,用户可以选择要将授权请求路由到的第一选项、第二选项和第三选项传输计算机。路由界面可以进一步接受输入以配置路由标准(例如,在路由决策中使定价加权到高于定时,或反之亦然)。路由管理界面可以进一步显示关于一个或多个传输计算机的健康状态的信息。
A.***概述
图1B是示出根据一些实施例的授权路由***100B的概述的框图。图1B的一些元件可以对应于图1A中的元件。如图所示,***100B包括资源提供商计算机102、网关服务器104、多个传输计算机(例如,传输计算机A106A、传输计算机B 106B传输计算机C 106C和传输计算机D 106D)、处理网络110、授权计算机112、路由管理界面108和用户装置114。其它网络装置可存在于所展示的例如因特网路由器的各个网络计算机之间,本领域技术人员已知这些网络计算机的功能。在所示实例中,网关服务器104可以在向授权计算机112的最终目的地发送授权消息时选择四个传输计算机中的一者。
用户装置114可以是由用户操作的任何合适的装置,例如计算机、智能电话、平板计算机等。替代地,用户装置可以是被配置成代表用户执行操作的具有物联网能力的装置。用户装置114可以将信息发送给资源提供商计算机102,以用于发起交互,例如对访问资源的请求。例如,用户可以经由智能电话输入支付信息并选择购买的项目,然后将所述支付信息发送给资源提供商计算机102以供处理。
资源提供商计算机102可以与用户装置114电子通信,例如通过因特网或另一网络。资源提供商计算机102可以从用户装置114接收标识信息。根据通信上下文的不同,此信息可采用不同的形式。
在一些实施例中,例如在用户装置114被认证的实施方案中,资源提供商计算机102可以从用户装置114接收标识信息,例如IP或MAC地址。在安全更重要的情况下,资源提供商计算机102可以接收散列,所述散列可以由资源提供商计算机102或由授权计算机112验证。在其它情况下,资源提供商计算机102可以接收已加密消息。资源提供商计算机102或授权计算机112可以对消息进行解密并将已解密消息与期望消息进行比较。如果已解密消息与期望消息匹配,则可以标识用户装置114。标识信息还可采用来自消费者的支付凭证的形式,所述支付凭证例如是个人账号或PAN,以及其它凭证或标识信息,例如家庭地址、邮政编码、***CVV2值、***到期日期及完整的法定名称。
资源提供商计算机102可以另外生成授权请求。授权请求可以与资源提供商计算机102与用户装置114之间的交互有关。例如,资源提供商计算机102可以生成授权请求,以便从第三方请求对资源提供商计算机102与用户装置114之间的交互的授权。第三方可以是授权计算机112。授权请求消息可被加密或未被加密,通过直接或分布式网络(例如互联网)发送,并且采用任何适用于电子通信的形式。下文关于图3描述了用于执行此类功能的资源提供商计算机102的各种组件。
作为另一实例,用户装置114可以从资源提供商计算机102请求受保护或敏感的记录,例如患者病史记录。用户装置114可以将标识信息提供到资源提供商计算机,例如用户ID和口令。资源提供商计算机102可以生成授权请求消息以便验证用户装置114的身份,以便确定用户装置114是否被授权以接收病史记录。
作为另一实例,用户装置114可以属于消费者,其希望从资源提供商计算机102获取商品或服务。用户装置114可以提供标识信息,例如PAN。资源提供商计算机102可以生成包括PAN的授权请求消息并且发送其以便接收完成交易的授权。
网关服务器104可以从资源提供商计算机接收授权请求或其它请求,并为这些请求提供服务。其它请求的实例包括结算请求和捕获请求。网关服务器104可以采用支付网关的形式,所述支付网关例如通过解析并分析支付请求消息的内容来为许多资源提供商计算机提供对***100B中所示的通信基础架构的访问。网关服务器104可以提供额外功能性,例如生成已服务请求的记录。
作为提供对授权基础设施的访问的一部分,网关服务器104可以通过通信信道与传输计算机建立通信。网关服务器104可以被配置成与各种传输计算机通信。为了针对给定授权请求标识适当的传输计算机,网关服务器104可以使用静态规则和实时网络测量的组合。例如,网关服务器104可以包括存储多个资源提供商中的每一者的规则的数据库。每个资源提供商可以与对应于不同传输计算机的不同相应收单方组有关系。规则可以包括由资源提供商配置的规则(例如,三个潜在传输计算机的偏好次序),以及一般路由规则(例如,选择最接近的节点和/或最低成本选项)。网关服务器104可以进一步分析传输计算机行为和模式以确定期望数据量以及传输计算机健康和可用性,这也可以用于路由决策中。下文关于图2描述了用于执行此类功能的网关服务器104的各种组件。
此“智能路由”呈现了许多优点。网关服务器可以选择要将例如授权请求消息的消息发送给的若干传输计算机中的一者。因此,即使一个或多个传输计算机正经历故障或延迟,也可以几乎实时的方式处理请求。另外,可以使用网关服务器可用的大量数据集合来选择传输计算机。网关服务器可以在大量不同的资源提供商和传输计算机之间转发请求。另外,网关服务器可以被配置成处理在此类装置之间发送的请求,并利用其中的数据。因此,网关服务器具有大量数据,可用于关于传输计算机何时可能会经历延迟而作出有根据的决策。这与网关服务器的作为消息在交易早期传递通过的节点的位置结合,使得通过网关服务器路由到不同传输计算机非常有利。
传输计算机(例如,传输计算机A 106A、传输计算机B 106B、传输计算机C 106C和传输计算机D 106D)可以管理资源提供商计算机102的一个或多个资源提供商账户。传输计算机可以路由请求,例如授权请求消息、授权响应消息、结算请求或捕获请求。作为结算的一部分,传输计算机可以借记或贷记与资源提供商计算机102相关联的资源提供商账户。
传输计算机(例如,传输计算机A 106A、传输计算机B 106B、传输计算机C 106C和传输计算机D 106D)还可以与处理网络110通信。这些通信可通过因特网或通过另一合适网络以电子方式进行。这些通信主要呈授权请求、授权响应、结算请求或其它结算消息的形式,但可取决于传输计算机或授权计算机112的需要而呈其它形式。例如,传输计算机和授权计算机112关于结算请求的状态可能存在不一致。在此情况下,传输计算机可以与处理网络110通信以促进与授权计算机112的通信。一般来说,传输计算机可以与处理网络110通信,以用于将通信路由到其既定接收方,例如特定授权计算机112。
处理网络110可以促进一个或多个传输计算机(例如,传输计算机A106A、传输计算机B 106B、传输计算机C 106C和/或传输计算机D 106D)与一个或多个授权计算机(例如,授权计算机112)之间的消息传送和信息跟踪。例如,处理网络110可以从传输计算机接收授权请求消息,并分析所述授权请求消息以确定授权计算机112与所述授权请求消息相关联。对应的授权计算机的此类标识可通过分析账号中对应于银行标识号(BIN)的一部分来执行,所述BIN可用于访问使对应的授权计算机存储成与所述BIN相关联的数据库。处理网络110可以将从传输计算机接收到的授权消息转发到授权计算机112以用于授权。处理网络110接着可以从授权计算机112接收授权响应消息并进一步将授权响应消息发送给传输计算机。
路由管理界面108可以包括被配置成接受用户输入配置路由规则的软件和/或硬件。路由管理界面108可以进一步包括用于向用户(例如,与资源提供商相关联的管理员)显示信息的功能性。
路由管理界面108可以直接或经由资源提供商计算机102,使得显示用于配置路由规则的界面元素。在图9A中示出且在第VII节中描述此界面。作为实例,路由管理界面108可以将指令发送给资源提供商计算机102,由此使资源提供商计算机生成并引起例如链接、模式、图像、文本的界面元素的显示。用户可以与此类界面元素交互。用户可以通过例如点击按钮或URL来发起规则的生成。规则可以生成并发送给网关服务器104。
资源提供商计算机102和/或(例如,管理员的)用户装置114可以进一步包括用于呈现路由管理界面108的功能性。资源提供商计算机102可以包括用于显示界面元素的显示器,例如屏幕。资源提供商计算机102可以包括用于接受用户输入的元素,例如键盘、鼠标、语音检测硬件/软件等。基于经由路由管理界面108显示在显示元素上的配置选项,资源提供商计算机102可以经由一个或多个用户输入元素接受配置数据。
授权计算机112可以接收并分析授权请求消息,例如以标识对应于在请求中提供的账户信息的所存储记录。接着可创建授权响应消息。此类授权响应消息可包含授权请求消息是否被授权的指示,以及关于请求的授权状态的信息或其它信息。此类信息可包括状态指示符(例如批准、拒绝或呼叫中心)。所述信息还可以包括时间戳。时间戳可以指示发送授权请求的时间和/或发送授权响应的时间。此信息还可包括授权代码,其可充当授权证明。授权代码可用作稍后的捕获请求的一部分。授权代码和关于授权状态的其它信息可适用于保存记录的目的,因为捕获请求的进行时间经常晚于授权请求。
图1中的网络计算机可通过例如互联网的分布式网络或通过一系列直接连接、两者的混合或实体之间的任何其它适当的通信方法来通信。另外,在一些实施例中,可能存在多个资源提供商计算机、网关服务器、传输计算机、处理网络110、授权计算机112、路由管理界面108和/或用户装置114。
B.网关服务器
图2是示出根据一些实施例的网关服务器200的框图。网关服务器200可以包括硬件和/或软件,其被配置成在资源提供商计算机与一个或多个传输计算机之间路由消息。网关服务器200可以包括以操作方式耦合到网络接口202的处理器204、存储器206和计算机可读介质208。网关服务器200可以进一步包括路由数据库216。
处理器204可以实施为一个或多个集成电路(例如,一个或多个单核或多核微处理器和/或微控制器)。处理器204可以用于控制网关服务器200的操作。处理器204可以响应于存储在存储器206中的程序代码或计算机可读代码而执行各种程序。处理器204可以包括用以维持多个同时执行的程序或过程的功能性。
网络接口202可以被配置成连接到一个或多个通信网络,以允许网关服务器200与例如资源提供商计算机、传输计算机、路由管理界面等其它实体通信。例如,与传输计算机的通信可以是直接的、间接的和/或通过API。
可以使用任何数目的非易失性存储器(例如,快闪存储器)和易失性存储器(例如,DRAM、SRAM)的任何组合或任何其它非瞬态存储介质或介质的组合来实施存储器206。
计算机可读介质208可以包括用于存储和/或发送的一个或多个非瞬态介质。例如,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质或例如光盘(CD)或数字通用光盘(DVD)的光学介质、快闪存储器等。计算机可读介质208可以是此类存储或发送装置的任何组合。
计算机可读介质208可以包括存储为一系列指令或命令的软件代码。计算机可读介质208包括可由处理器204执行以实施本文中所描述的方法的代码。计算机可读介质208可以包括路由管理器210、实时网络测量引擎212和路由配置服务214。这些模块中的每一个可以包括被配置成结合处理器204执行以下描述的功能的代码。
实时网络测量引擎212可以包括被配置成检测一个或多个传输计算机的可用性度量的代码。这可涉及记录、计数和/或分析握手消息、授权响应消息、确认消息和/或心跳消息以便确定传输计算机的可用性。实时网络测量引擎212可以与路由管理器210通信以将所收集的信息提供到路由管理器210。路由管理器210接着可以使用所提供的信息来将消息路由到理想目的地。下文关于图4-6进一步详细论述了检测传输计算机的可用性度量的方法。
路由配置服务214可以包括被配置成接收并处理用户定义的路由配置参数的代码。路由配置服务可以与路由管理界面通信。路由配置服务214可以将信息发送给路由管理界面,使得可以向给定资源提供商显示适当的配置选项。路由配置服务214可以从路由管理界面(例如,路由管理界面108,上文关于图1B所描述)检取用户定义的规则。路由配置服务214可以将用户定义的路由规则存储到路由数据库216。
路由管理器210可以包括被配置成路由授权请求和/或其它消息的代码。路由管理器可以从实时网络测量引擎212获得关于一个或多个传输计算机的实时网络测量。路由管理器可以从路由配置服务214和/或路由数据库216获得用户定义的路由偏好。路由管理器可以进一步从路由数据库获得静态规则。路由管理器210可以使用这些因素的任何组合以及下文所描述的额外因素来作出路由决策。
路由管理器210可以进一步包括被配置成执行用于路由决策的分析的代码。路由管理器210可以预测期望数据量。可以基于当前数据量预测期望数据量。替代地或另外,可以基于历史数据量分析预测期望数据量。路由管理器210可以将在处理先前授权请求的过程中检取和存储的历史参数与对应于当前授权请求的对应参数进行比较。作为实例,历史数据可以示出,位于美国西部的一组特定传输计算机历史上在“黑色星期五”(所述地区的特定疯狂购物日)的上午9点左右经历数据量激增。因此,路由管理器210此时可以预测这些传输计算机的高数据量。路由管理器210可以确定路由决策中使用的各种其它度量,例如响应时间、成功/拒绝比率、响应比率和静态规则,如下文关于图4-8详细描述的。
路由管理器210可以进一步包括被配置成处理授权请求和响应的代码。这可涉及解释消息的内容以确定消息的最终接收方和授权状态。还可涉及将一些或全部信息存储在例如路由数据库216的数据库中以供将来访问。路由管理器210可以另外对授权请求和响应进行解密或加密。作为实例,路由管理器210可以对授权响应消息进行解密以便获取并解释消息的内容。在授权响应消息发送给适当的资源提供商计算机之前,路由管理器210可以再次对消息进行加密以用于安全发送。
路由管理器210可以进一步准备用于路由到所选择目的地的消息。这可涉及评估网络地址,并确定适当的通信协议或标准。另外,路由管理器210可以格式化授权请求或响应以使得其符合适当的通信协议。作为实例,路由管理器210可以确定将授权请求路由到传输计算机需要使用传输控制协议,并且消息应符合ISO 8583。路由管理器210可以格式化所述消息,使得其符合协议和标准两者,接着将所述消息路由到传输计算机以供进一步处理。如果确定请求具有欺诈性,则路由管理器210可以将授权响应消息发送给商家计算机***,指示已拒绝所述请求。
路由数据库216可以是用于存储数据的存储单元和/或装置(例如,文件***、数据库、表的集合或其它存储机制)。路由数据库216可以存储路由规则。此类规则可以与多个不同资源提供商相关联地存储。每个资源提供商可以(例如,经由路由管理界面)定义他们自身的路由偏好。替代地或另外,路由数据库216可以存储一般规则(例如,路由到期望将以最快速度处理请求的传输计算机,和/或路由到成本最低的传输计算机)。
在一些实施例中,网关服务器200可以进一步包括硬件和/或软件,其被配置成分析交易数据以标识是否满足指定标准或以其它方式对访问资源的请求进行欺诈评估。如果网关服务器200确定交易可能是欺诈性的,则网关服务器200可以确定应拒绝所述交易且不应将所述交易转发到其它网络实体以用于获得授权响应消息。如果网关服务器200确定交易不是欺诈性的,则网关服务器200可以确定应允许交易。如果网关服务器200无法确定交易是否是欺诈性的,则网关服务器200可以将交易发送给传输计算机或处理网络以供进一步审核。
C.资源提供商计算机
如图3中所描绘,资源提供商计算机300可以包括硬件和/或软件,其被配置成生成并发送授权请求以发起对访问资源的请求。资源提供商计算机300可以包括以操作方式耦合到网络接口302的处理器304、存储器306和计算机可读介质310。
处理器304、网络接口302和存储器306可以大体上类似于上文关于图2所描述的处理器204、网络接口202和存储器206。
计算机可读介质310可以包括用于存储和/或发送的一个或多个非瞬态介质。例如,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质或例如光盘(CD)或数字通用光盘(DVD)的光学介质、快闪存储器等。计算机可读介质310可以是此类存储或发送装置的任何组合。
计算机可读介质310可以包括存储为一系列指令或命令的软件代码。计算机可读介质310包括可由处理器304执行以实施如本文中所描述的方法的代码。计算机可读介质310可以包括请求处理模块312和消息传递模块314。
消息传递模块314可以包括用于准备和发送消息的代码。消息传递模块314可以进一步被配置成接受并分析消息。消息传递模块314可以包括发送授权请求消息和接收授权响应消息的功能性。消息传递模块314可以被配置成准备并发送通知(例如,在确定已拒绝请求时)。
请求处理模块312可以包括被配置成处理例如授权请求的请求的软件。请求处理模块312可以从请求访问资源的用户的用户装置接收交易信息。例如,请求处理模块312可以从用户装置接收交易信息,例如支付信息、待购买商品、用户的姓名和地址等。请求处理模块312可以使用接收到的信息来生成授权请求消息。请求处理模块312可以处理授权响应消息,从而规定请求是被批准还是被拒绝的授权结果。基于授权结果,请求处理模块312可以继续处理请求,或通知消息传递模块314已拒绝请求。
III.智能路由方法
一般来说,“智能路由”方法涉及网关服务器,其促进将授权请求消息发送给多个传输计算机中的一者。可以基于错误代码、实时网络测量和/或期望数据量等因素选择适当的传输计算机。此智能路由方法可以涉及接收授权请求消息,接着确定传输计算机的可用性和期望数据量,以及将授权请求消息路由到适当的传输计算机。
图4是示出根据本发明的一些实施例的详述授权路由的方法400的序列图。资源提供商计算机401、网关服务器403、传输计算机A 405A和传输计算机B 405B分别对应于上文关于图1所描述的资源提供商计算机102、网关服务器104、传输计算机A 106A和传输计算机B 106B。尽管为简单说明起见示出了两个传输计算机,但是可以涉及更大的传输计算机组。
在步骤S402,资源提供商计算机401准备与对访问资源的请求相关联的授权请求,并将授权请求发送给网关服务器403。授权请求可以符合ISO8583或用于电子通信的另一标准,并且可以包括例如资源提供商标识符的标识信息。所述授权请求可以包括可以用于授权的各种类型的标识信息,例如用户名、口令、PAN或上文叙述的标识信息的其它实例中的任一者,以及其它形式的标识信息。网关服务器403接收授权请求。
在步骤S404,网关服务器403确定一组传输计算机。网关服务器403可以基于资源提供商确定所述一组传输计算机。网关服务器可以使用从授权请求中获取的资源提供商标识符来标识可供资源提供商使用的一组传输计算机。例如,第一资源提供商可以与两个收单银行有关系,与可以处理授权请求的两个或更多个对应的传输计算机有关系。第二资源提供商可以与一个收单银行和一个第三方收单方处理器有关系,与可以处理授权请求的两个或更多个对应的传输计算机有关系。因此,基于由资源提供商建立的关系,可以使用不同的传输计算机组。可以通过基于资源提供商标识符检取所存储的映射来标识适当的传输计算机组。
在步骤S406,网关服务器403从确定的传输计算机组(例如,传输计算机A 405A和传输计算机B 405B)检取状态信息。网关服务器403可以将消息(例如,授权请求消息或握手消息)发送给每个传输计算机。作为响应,网关服务器403可以接收带有对应时间戳的响应消息,从而指示响应时间。替代地或另外,响应消息可以包括一个或多个错误代码。替代地或另外,网关服务器403可以保持收听状态,以等待例如来自传输计算机的心跳消息的连续发送的消息。
在步骤408,网关服务器403确定传输计算机405A、405B的网络可用性的相应度量。网关服务器403可以使用错误代码、响应时间、连接成功与失败的比率或所记录的错过心跳与期望心跳的比率中的一个或多个来确定网络可用性的度量。
在一些实施例中,此确定可涉及第一授权请求集合的接收速率的分析。作为实例,网关服务器403可以将发送给每个传输计算机的授权请求的数目与(例如,通过确认消息)被确认为由传输计算机接收的授权请求的数目进行比较。网关服务器403可以进一步确定与传输计算机相关联的响应时间。
可以多种方式完成分析接收到的授权请求的接收。例如,传输计算机可以针对第一授权请求消息中的每一者将电子接收消息发送给网关服务器403。此电子接收消息可以指示传输计算机已接收给定的第一授权请求。在其它状况下,使用不同消息来指示所接收授权请求的数目可为适合的。
举例来说,根据TCP,计算机来回发送一系列握手消息以便建立通信信道。假定一旦已建立通信信道,则所述消息将由接收方接收,在此情况下由传输计算机接收。如果未接收到握手消息,则无法建立通信信道,并且给定的第一授权请求无法由传输计算机接收。因此,可以通过比较发送给接收到的握手响应的握手消息的数目来确定传输计算机的可用性。
其它方法可以用于确定传输计算机的可用性的度量。在一些实施例中,心跳消息用于确定传输计算机的可用性。心跳消息可以是短消息,并且可以是以预定速率发送给网络中的一个或多个计算机的y。心跳消息向其接收方指示发送心跳消息的计算机可用于通信。在一些实施例中,网关服务器403可以周期性地从传输计算机接收心跳消息。网关服务器403可以将接收到的心跳消息的数目与心跳消息的期望数目进行比较,以便确定传输计算机的可用性。另外,网关服务器403可以确定接收到的心跳消息的数目与心跳消息的期望数目的比率,且将所述比率与预定阈值进行比较。作为实例,心跳消息平均每秒发送一次。网关服务器403可以计算在任意时间段内接收到的心跳消息的期望数目。在30分钟的时间内,网关服务器期望接收1800条心跳消息。如果网关服务器改为接收1000条心跳消息,则接收到的心跳消息与期望心跳消息的比率为0.556。在确定要将授权请求发送给的传输计算机时,可以将此比率与其它传输计算机的比率进行比较。下文第IV节进一步详细讨论用于确定传输计算机405A、405B的网络可用性的度量的方法。
在步骤410,网关服务器403标识传输计算机405A、405B的期望授权请求数据量。网关服务器403可以通过分析最近数据量和/或将当前传输计算机参数与历史传输计算机参数进行比较来确定期望授权请求数据量。下文第V节详细讨论了用于确定传输计算机405A、405B的期望数据量的方法。
在步骤412,网关服务器403选择特定传输计算机(例如,传输计算机A 405A或传输计算机405B)以处理请求。网关服务器403可以基于确定的网络可用性的度量和/或传输计算机的期望数据量而选择特定传输计算机以处理请求。网关服务器在作出路由确定时可以使用额外因素,例如预定义规则、成功/拒绝速率和吞吐量度量。此类因素可以组合以达到用于传输计算机的得分或“健康得分”。网关服务器403可以基于得分(例如,通过根据所使用的评分***选择得分最高或最低的传输计算机)而选择传输计算机以处理请求。
网关服务器403可以在进行路由确定时使用用于传输计算机选择的预定义规则。网关服务器403可以从路由数据库检取此类预定义规则。如上文关于图1A所描述,一些或所有规则可以与不同的资源提供商相关联地存储。基于例如资源提供商标识符,网关服务器403可以检取规则集合。可以经由用户输入接受此类规则。例如,特定资源提供商可能通常更愿意基于有利关系而使用特定传输计算机。用于此资源提供商的规则接着可以规定应利用特定传输计算机,除非所述传输计算机处于故障状态。在特定传输计算机处于故障状态的情况下,资源提供商可以规定可以将消息路由到的一个或多个备份传输计算机。
预定义规则的其它实例包括:向一组传输计算机中的每一者发送一定百分比的请求(例如,向传输计算机A发送70%的请求、向传输计算机B发送20%的请求并且向传输计算机C发送10%的请求),以及基于请求详情(例如,交易渠道(例如,出示卡、不出示卡、芯片、条、PIN等)、货币、国家、金额等)进行路由。在一些实施例中,用户配置的规则可以用于超控路由逻辑。例如,规则可以规定:即使优选的传输计算机正经历延迟,也应使用所述传输计算机。下文第VII节详细描述了用户经由此界面选择规则。替代地或另外,网关服务器403可以跨资源提供商使用预定义默认规则(例如,选择最接近的节点、选择最快的计算机等)。
网关服务器403可以进一步使用成功/拒绝速率进行路由确定。如果由传输计算机处理的消息以相对较高的速率被拒绝(例如,与其它传输计算机和/或先前时间点相比),这可以指示传输计算机正传递不准确的数据且并非理想消息目的地。
网关服务器403可以进一步在作出路由确定时使用吞吐量容量。吞吐量容量可以指示特定传输计算机在特定时间段内能够处理的请求的数目。可以在初始时间确定每个传输计算机的吞吐量容量。例如,网关服务器403可以从传输计算机A 405A和传输计算机B405B检取信息,所述信息指示传输计算机的类型、传输计算机的处理速度和/或传输计算机的吞吐量容量中的一个或多个。如果未直接提供传输计算机的吞吐量容量,则网关服务器可以计算所述吞吐量容量。
网关服务器403可以在计算多个传输计算机中的每一者的得分时组合如上文所描述的各种度量。所述得分可以例如经由决策算法计算,所述决策算法组合各种静态规则和实时网络测量以达成路由决策。例如,对于特定资源提供商,决策算法可以规定使用以下公式来选择得分最高的传输计算机(例如,用于路由的理想节点):其中V是传输计算机的期望数据量,A是传输计算机的可用性的度量,C是与传输计算机相关联的成本(例如,每次请求传输计算机向资源提供商收取的美元数额或百分比),P是传输计算机的接近度得分(例如,最接近节点的接近度得分可以为1,并且最远节点的接近度得分可以为0,其中中间距离处的节点具有中间值),并且R是传输计算机的成功/拒绝比率。B1、B2、B3、B4和B5是可根据需要调整以加权决策逻辑中的因素的系数。
网关服务器403可以进一步使用滞后以避免在传输计算机之间进行不必要的切换。网关服务器可以建立一个或多个滞后阈值。例如,第一滞后阈值可以用于从传输计算机A切换到传输计算机B,并且第二滞后阈值可以用于从传输计算机B切换到传输计算机C。滞后阈值可以用于使用于作出路由决策的一个或多个因素的影响减弱。例如,选择算法可以包括这样的条件,即:如果次级传输计算机被给予的得分超过初级传输计算机的得分,超过的量超过滞后阈值,则仅从初级传输计算机改变。使用滞后阈值是有利的,因为这可以防止在传输计算机之间进行不必要的来回切换。当路由算法对例如数据量和/或响应时间的小变化敏感时,此类扰动可能特别成问题。
在步骤414,网关服务器403将授权请求发送给所选择的特定传输计算机。此通信可以通过直接连接或经由例如因特网的网络进行,并且可以遵守任何适当的标准并使用任何适当的传输协议或方案。
在一些实施例中,网关服务器403可以确定将授权请求直接发送给处理网络以进行处理(例如,如果一个或多个传输计算机不可用或正经历延迟)。当传输计算机变得可用时,可以将另外的结算消息发送给传输计算机。在美国专利申请第15/653,350号中详细描述到处理网络的备份路由,所述美国专利申请案以全文引用的方式并入本文中。
IV.确定网络可用性
检测可用性通常涉及对在网关服务器与传输计算机之间发送的消息的统计分析。
下文所述的检测可用性的一种此方法涉及分析由网关服务器从传输计算机接收到的错误代码。在确定一组潜在传输计算机的网络可用性时,网关服务器可以基于各种不同方案分析由传输计算机生成的错误代码。
下文所述的检测可用性的另一种此方法涉及分析由网关服务器从传输计算机接收到的消息。例如握手消息的一些消息可以用于在两个实体之间建立通信信道。如果网关服务器向传输计算机发送消息且传输计算机未用其自身的响应消息作出响应,则通信通常不会进行。另外,如果传输计算机未在阈值时间段内作出响应,则网关服务器可以优选地将消息路由到另一传输计算机。因此,网关服务器可以评估在一时间段内接收到的响应和在所述时间段内记录的响应时间的一些组合,以便确定网关服务器与传输计算机之间的通信的质量。如果仅及时响应小部分消息,和/或响应时间长于平均值,则这可以指示传输计算机不是授权请求消息的所需目的地。
检测可用性的另一此方法可以涉及心跳消息的统计分析。心跳消息可涉及重复的消息发送,其指示实体可用于通过信道进行通信。稳定的心跳消息流指示“健康”连接,不稳定的心跳信号可能指示网络问题(例如,传输计算机可能经历延迟或故障)。通过分析某一预定时间段内的接收到的心跳消息的数目与接收到的心跳的期望数目,可以确定传输计算机的可用性。
A.错误代码
根据一些实施例,服务器计算机可以使用错误代码来确定传输计算机的可用性的度量。网关服务器可以最初将请求发送给传输计算机。请求可以是授权请求。替代地或另外,请求可以是握手消息,如下文关于图6所描述。因此,以错误状态发送给传输计算机的各种类型的消息可以提示错误代码的接收。
网关服务器可以确定传输计算机是否传回错误代码。例如,网关服务器可以存储一个或多个表,其限定供不同传输计算机使用的错误代码。作为实例,第一传输计算机可能传回指示传输计算机不可用的错误代码04,或指示未规定的原因的故障的错误代码07。另一传输计算机可以使用另一错误代码方案(例如,5677指示传输计算机不可用)。传输计算机可以使用此类表查找接收到的代码,以确定是否已传回错误代码。如果传输计算机传回错误代码,则网关服务器可以确定不在特定时间段内(例如,在1分钟或4小时内)将授权请求路由到此传输计算机。替代地或另外,网关服务器可以将接收到的错误代码的类型作为计算传输计算机的健康得分的因素。
B.响应分析
图5示出了根据一些实施例的用于使用从传输计算机接收到的响应的分析来确定传输计算机的可用性的度量的方法500。
在步骤502,网关服务器将消息发送给传输计算机。例如,消息可以是授权请求消息或握手消息。握手消息可以包括握手过程所需的任何信息。握手过程用于例如“传输控制协议”或TCP的许多不同传输协议中,并且用于在更实质性的通信进行之前建立稳定的通信信道。
此握手过程可以涉及首先由网关服务器将第一握手消息发送给传输计算机。第一握手消息可以向传输计算机指示网关服务器希望建立通信信道。第一握手消息可以包括信息,例如可以到达网关服务器的网络地址。第一握手消息还可以包括向传输计算机通知通信或握手协议的指示符或代码。在步骤502发送的握手消息可以类似于上文所描述的第一握手消息。另外,在步骤502发送的握手消息可以是作为握手过程的一部分发送的稍后消息。握手消息可表示为八位组流,八个位的群组。握手消息还可以不同数据结构表示。握手消息的大小和数据量可取决于握手过程的性质或网络。
在步骤504,网关服务器等待预定时间段,以便传输计算机对消息作出响应。预定时间段可以基于网关服务器或其它因素或经验观测处理的请求的数据量。例如,如果实验确定规定百分比(例如,99.99%)的响应发生在发送消息的30毫秒内,则预定时间段可以为30毫秒。
在步骤506,网关服务器确定传输计算机是否在预定时间段内响应授权请求或握手消息。此确定可以涉及确定响应时间。例如,可以基于将消息发送给传输计算机与从传输计算机接收响应之间经过的时间来测量响应时间。网关服务器可以确定此经过时间,并将所述经过时间与预定阈值进行比较。
替代地或另外,此确定可以涉及评估网关服务器是否在预定时间段内接收到对握手消息的有效响应。对于一些通信协议,网关服务器可以期望经过特定格式化的握手消息响应。作为实例,网关服务器可以期望对应于网络地址的第一八个八位组、对应于时间戳的第二2个八位组,和对应于“操作代码”的最后八位组,其指示握手过程中的下一步骤。如果传输计算机无法发送有效响应,则网关服务器可以确定传输计算机未对握手消息作出响应。
当消息是授权请求消息时,来自传输计算机的响应可以是确认响应或授权响应。确认响应可以用于一些网络通信协议中以便验证已经接收到消息。在从传输计算机接收到何实质性的通信之后,可以期望传输计算机提供授权响应,作为八位组流或另一数据结构。
如果传输计算机已在预定时间段内响应消息,则流程进行到步骤508。如果传输计算机未在预定时间段内响应消息,则流程进行到步骤510。
在步骤508,当网关服务器确定传输计算机已响应消息时,网关服务器记录响应时间。网关服务器可以例如通过从接收到响应的时间减去发送消息的时间来计算响应时间。网关服务器可以将响应时间与其它相关数据一起存储在阵列中,所述其它相关数据例如传输计算机的标识符、资源提供商的标识符、与请求相关联的时间戳等。
在510,当网关服务器确定传输计算机未响应消息时,网关服务器记录连接故障。所记录的连接故障可能指示传输计算机未在阈值时间内响应消息。这种记录的连接故障可以包括时间戳等信息,其指示连接故障发生的时间。例如,网关服务器可以通过递增计数器或通过更新所存储的故障数据阵列以指示对应于故障时间的时间戳来记录连接故障。
在步骤512,网关服务器确定其是否已进行了预定次数的到达传输计算机的尝试。例如,网关服务器可以在进行尝试时递增尝试计数器。尝试计数器可以用作网关服务器进行的尝试次数的记录。尝试计数器可以是软件计数器,或其可被实施为专用硬件。在任一情况下,尝试计数器可以由网关服务器递增或读取。在递增计数器之后,网关服务器可以将计数器值与一些预定尝试次数进行比较。例如,可根据情况将预定尝试次数设置为例如二、三或十的值。
反复尝试到达传输计算机的优点从统计视角来看是显而易见的。如果90%的通信接收到对消息的响应,那么十个通信中有一个将失效。然而,如果响应机率是独立的,那么四个通信未能接收到对消息的响应的机率仅是10,000中有一个,这是低得多的失效率。
在步骤512,当网关服务器未进行预定次数的到达传输计算机的尝试时,流程返回步骤502,并且网关服务器进行另一到达传输计算机的尝试,重复此操作直到网关服务器已进行预定次数的尝试。
在步骤516,当网关服务器已进行预定次数的到达传输计算机的尝试时,网关服务器可以确定传输计算机的可用性。确定传输计算机的可用性可以涉及基于所记录的响应时间和连接故障而计算可用性得分。作为实例,网关服务器可以计算可用性得分,其与预定次数的尝试之后所记录的平均响应时间和连接故障次数成反比。可以基于预定尝试次数和/或在一时间段内评估响应时间和连接故障。可以进一步基于额外因素来确定可用性,所述额外因素例如错误代码、成功/拒绝比率、心跳消息等。
C.心跳消息
图6示出了使用心跳消息来确定传输计算机可用性的方法600。
在步骤602,网关服务器等待来自传输计算机的心跳消息。心跳消息可以是在不存在其它通信期间发送的消息,并且指示在传输计算机接受通信的意义上所述传输计算机“在运作中”。心跳消息可在常规时间间隔期间或在不规律但已知的时间表内发送。心跳消息可例如在不存在其它通信情况下每秒发送一次。
在步骤604,网关服务器评估其是否从传输计算机接收到心跳消息。如果网关服务器接收到心跳消息,则不会发生任何异常情况且期望传输计算机的可用性不变。在此情况下,流程进行到步骤608。如果网关服务器未接收到心跳消息,则流程进行到步骤606。
在步骤606,网关服务器记录错过的心跳。存在网关服务器可以记录错过的心跳的多种方式。例如,网关服务器可以使用软件或硬件来维持错过的心跳的计数或错过的心跳和接收到的心跳两者的计数。例如,网关服务器可以维持存储在存储器中的变量,所述变量在错过心跳时递增。作为第二实例,网关服务器可以维持两行乘以N列阵列,其中每一列对应于错过或接收到的心跳和时间戳。
在步骤608,网关服务器记录接收到的心跳。如上文关于步骤606所描述,可以与记录错过的心跳类似的方式执行记录接收到的心跳。
在步骤610,网关服务器确定预定时间是否已过去。预定时间可以是用于分析心跳消息集合的一些所存储时间间隔。例如,预定时间段可长达五分钟。在一些情况下,在例如心跳比率高的情况下具有较短时间段或在心跳比率低的情况下具有较长时间段可为有利的。因此,网关服务器可以在预定时间段内获得所存储数目的所记录的错过的和接收到的心跳。在确定预定时间已过去之后,网关服务器可以进行到步骤610。如果网关服务器确定预定时间尚未过去,则网关服务器可以返回到步骤602并继续收集额外心跳数据。
在步骤612,网关服务器计算预定时间段内的所记录的错过的心跳与期望的心跳的比率。计算比率可涉及遍历保存心跳记录的数据结构及计算错过的心跳的数目与心跳的总数目。计算比率还可以涉及确定流逝的时间值(例如,由软件或硬件计时器记录)以及计算心跳消息的期望数目作为经过的时间长度与已知的心跳消息比率(例如,规定的心跳消息比率)的乘积。接着可以通过将错过的心跳的所记录数目除以心跳的总数目来计算比率。
替代地或另外,可以使用心跳的不同分组(例如,不使用时间间隔)来计算错过的心跳的比率。例如,可针对最后10000个心跳而非针对预定时间范围中的心跳的数目计算比率。
在步骤614,网关服务器确定传输计算机的可用性。网关服务器可以基于错过的心跳的比率来确定传输计算机的可用性。错过的心跳的比率可以与被视为正常的错过的心跳的预定水平进行比较(例如,小于0.2被认为是指示符或健康状况不佳)。替代地或另外,错过的心跳的比率可以与其它因素结合使用,以(例如,基于错过的心跳、响应时间和成功/拒绝比率而)确定传输计算机的总体健康得分。
V.确定期望数据量
确定期望数据流涉及分析传输计算机的历史行为。可以基于时间接近度和/或基于循环模式来选择历史行为。
下文所述的确定期望数据量的一种此方法涉及对和与传输计算机相关联的当前参数相比的历史参数的分析。当处理请求时,网关服务器可以存储与传输计算机相关联的参数以及数据量数据。此类数据的分析可以用于基于当前条件创建用于确定期望数据量的预测模型。
下文所述的确定期望数据量的另一种此方法涉及对最近数据量的分析。网关服务器可以存储与多个传输计算机中的每一者相关联的数据量数据。网关服务器可以使用所存储的数据量数据来标识最近经历相对高数据量的传输计算机。
A.历史参数分析
图7示出了使用历史参数分析来确定传输计算机最近数据量的方法700。
在步骤702,网关服务器将初始授权请求集合发送给传输计算机。网关服务器可以从各种资源提供商计算机接收所述初始授权请求集合。网关服务器可以将初始授权请求集合转发到传输计算机。这可以在特定时间段内发生。例如,网关服务器可以在几个月的时间内跟踪初始授权请求,以收集用于训练模型的数据。
在步骤704,网关服务器存储与所述初始授权请求集合相关联的多个参数。例如,网关服务器可以将参数存储在路由数据库中的一个或多个阵列或对象。网关服务器可以基于授权请求的数据字段解析每个接收到的消息以获取参数。参数可以包括时间、位置、金额、通信信道等。对应于这些参数的值可以编索引方式存储到路由数据库中(例如,阵列的一列可以对应于与一系列接收到的授权请求中的每一者相关联的时间戳,阵列的另一列可以对应于对应的金额等)。
在步骤706,网关服务器接收新的授权请求。网关服务器可以从资源提供商计算机接收新的授权请求,如上文第III节所描述。
在步骤708,网关服务器标识与传输计算机相关联的多个当前数据元素。在数据元素关于传输计算机的意义上,所述数据元素可以与传输计算机相关联。例如,数据元素可以包括传输计算机的位置、传输计算机记录的时间戳、传输计算机使用的通信信道或传输计算机的错误状态中的一个或多个。网关服务器可以解析新的授权请求并获取各种数据元素,大体上如上文关于在步骤704收集历史参数所描述。
在步骤710,网关服务器分析与所述初始授权请求集合相关联的参数。网关服务器可以分析初始授权请求以标识与高历史数据量相关联的参数。例如,特定日期、当日时间和/或位置在历史上可能与传输计算机的高于平均水平的数据量相关联。网关服务器可以标识与高于平均水平的数据量相关联的特定参数值或其组合。这可以包括使用所收集的历史数据来确定平均数据量。
在步骤712,网关服务器确定传输计算机的期望数据量。网关服务器可以通过将当前数据和与初始授权请求集合相关联的分析参数进行比较来确定传输计算机的期望数据量。这可以利用基于步骤710的分析确定的规则来完成。例如,基于步骤710的参数分析,网关服务器可能已确定:在印度的财神节(Dhanteras)——印度的流行购物日,传输计算机的数据量预计会很高。如果当前请求数据指示已在财神日接收到请求,则网关服务器可以预测高数据量。
B.最近数据量
网关服务器可以基于授权请求的最近数据量而确定传输计算机的期望数据量。网关服务器可以跟踪在一时间段内路由到传输计算机的消息和/或多个授权请求。例如,每当消息在一小时的时间内路由到传输计算机时,网关服务器都可以递增计数器。作为另一实例,网关服务器可以将与传输计算机的每个消息相关联的数据存储到路由数据库。此类数据可以包括时间戳、消息源、交易渠道等。
网关服务器可以分析最近的消息以确定期望数据量。网关服务器可以使用在预定时间段内计算出的计数器值,并且将其用作当前数据量的指示。当前数据量可以用作近期数据量的良好度量。替代地或另外,网关服务器可以计算最近时间段内的数据量变化。例如,如果数据量在一小时内一直稳步上升,则期望数据量可以类似的轨迹持续上升。
VI.成功/拒绝分析
图8示出了根据一些实施例的使用成功/拒绝分析来确定传输计算机的可用性的度量的方法800。
在步骤802,网关服务器将请求发送给传输计算机。请求可以是授权请求。替代地或另外,请求可以是认证请求。
随后,传输计算机可以接收请求。传输计算机可以将数据和/或代码添加到请求。传输计算机可以将请求发送给处理网络和/或授权计算机。
处理网络和/或授权计算机可以执行欺诈分析。在一些情况下,基于从传输计算机接收到的信息,处理网络和/或授权计算机可以确定应错误地拒绝请求。例如,传输计算机可以在继续发送请求之前将不正确的代码或信息片段添加到所述请求。因此,一些传输计算机可能会使***基于误报而拒绝不成比例的数目的请求。因此,被拒绝请求与成功请求的比率可以用于评估传输计算机的健康状况。
处理网络和/或授权计算机将响应发送给传输计算机,指示成功(例如,请求通过欺诈甄别)或拒绝(例如,请求未通过欺诈甄别)。传输计算机接收响应,并将响应发送给网关服务器。网关服务器接收响应。
在步骤804,网关服务器确定传输计算机传回成功还是拒绝。网关服务器可以分析接收到的消息以进行此确定。例如,网关服务器可以接收包含数字代码的授权响应消息,所述数字代码指示请求是已被批准还是已被拒绝。网关服务器可以标识消息内的代码,并使用所存储的映射来查找代码的含义。这些代码可以在传输计算机、处理网络和/或授权计算机之间变化。因此,网关服务器可以维持规定由不同实体使用的不同批准/拒绝代码的映射集合。
如果网关服务器确定传输计算机传回成功(例如,授权请求被批准),则网关服务器可以进行到步骤806。如果网关服务器确定传输计算机传回拒绝(例如,授权请求被拒绝),则网关服务器可以进行到步骤808。
在步骤806,网关服务器记录成功。作为实例,网关服务器可以维持存储在存储器中的变量,所述变量随着接收到指示成功的消息而递增。作为第二实例,网关服务器可以维持两行乘以N列的阵列,其中每一列分别对应于指示成功或拒绝的接收到的消息。
在步骤808,网关服务器记录拒绝。作为实例,网关服务器可以维持存储在存储器中的变量,所述变量随着接收到指示拒绝的消息而递增。作为第二实例,网关服务器可以将成功和拒绝存储到阵列,如上文关于步骤806所描述。
在步骤810,网关服务器确定预定时间是否已过去。网关服务器可以定期评估一组所记录的成功和拒绝。这可以对应于所存储的预定时间间隔。例如,每天或每两小时,网关服务器可以确定预定时间已过去。因此,网关服务器可以在预定时间间隔内获得所存储数目的所记录的成功和失败。在确定预定时间已过去之后,网关服务器可以进行到步骤812。如果网关服务器确定预定时间尚未过去,则网关服务器可以返回到步骤802并继续收集额外成功/拒绝数据。
在步骤812,网关服务器计算拒绝/成功比率。网关服务器可以标识所存储的所记录的成功的数目。网关服务器可以标识所存储的所记录的拒绝的数目。网关服务器可以基于所记录的成功和拒绝而计算拒绝/成功比率。
替代地或另外,可以使用不同的响应分组(例如,不使用时间间隔)来计算拒绝/成功比率。例如,可针对最后10000个响应而非针对预定时间范围中的响应的数目计算比率。
在步骤814,网关服务器将比率与基线比率进行比较。网关服务器可以标识所存储的基线比率。基线比率可以对应于成功与拒绝的平均或可接受比率。例如,在一年的特定地区和/或时间,10%的请求是欺诈性的。因此,网关服务器可以确定:处理其中30%或更高百分比的请求被拒绝为欺诈性的请求的传输计算机很可能是错误地这样做,并且相比于处理其中近10%的请求被标志为欺诈性的请求的那些传输计算机,所述传输计算机是用于路由消息的不太理想的目的地。
VII.示例界面
在图9A-9C中示出了示例界面。图9A的界面可以由(例如,与资源提供商相关联的)管理员使用以配置路由规则。图9B和9C的界面可供管理员用于检查传输计算机的健康状况。
A.规则配置
图9A示出了根据一些实施例的用于智能规则配置的界面900。智能规则配置界面可以包括使得用户(例如,与资源提供商相关联的管理员)能够配置路由偏好的各种元素,以便在上文详细描述的智能路由决策中使用。
界面900可以包括用于规则名称902的字段。用于规则名称902的字段可以使得用户能够输入名称以区分要配置的各种规则。界面900可以经由文本条目和/或下拉菜单接受规则名称。如图9A所示,规则名称为ROUTING_RULE_1。
界面900可以包括用于资源提供商ID 904的字段。用于资源提供商ID904的字段可以使得用户能够输入或选择规定对应于规则的资源提供商的数据。界面900可以经由文本条目和/或下拉菜单接受资源提供商ID。如图9A所示,规则名称为1234567。
界面900可以包括规定一组传输计算机(906、908、910)的字段。这些字段可以包括用于规定初级传输计算机的初级传输计算机字段906。此初级传输计算机可以在路由选择中接收偏好。次级传输计算机字段908可以被配置成接受规定第二选项传输计算机的输入。第三级传输计算机字段910可以被配置成接受规定第三选项传输计算机的输入。界面900可以使用文本条目和/或下拉菜单来接受规定一组传输计算机的数据。如图9A所示,初级传输计算机为TC1,次级传输计算机为TC2,且第三级传输计算机为TC3。在一些实施例中,路由算法通常可以将请求发送给初级传输计算机,并且在初级传输计算机健康状况不佳(例如,经历故障和/或延迟导致健康得分低)的情况下将请求发送给次级或第三级传输计算机。替代地或另外,传输计算机的排名可以用作路由算法中的因素(例如,初级传输计算机的加权比次级传输计算机大,而次级传输计算机的加权又比第三级传输计算机大)。
界面900可以进一步包括用于配置特定规则的字段。可以使用“字段”条目914来选择参数。这些参数可以对应于在授权请求消息中接收到的信息。如图9A所示,被配置的规则与“货币”字段有关。这可以对应于授权请求消息的特定字段。例如,以ISO 8583格式,字段49对应于交易货币代码。使用“字段”条目914,用户可以规定对应于授权请求消息的此类字段的数据。其它实例包括交易时间(ISO 8583中的字段12)、交易日期(ISO 8583中的字段13)和交易金额(ISO 8583中的字段4)。
“值”条目916可以被配置成接收对应于值的信息,所述值对应于“字段”条目914。如图9A所示,第一规则规定用于货币的值为美元(USD),第二规则规定用于货币的值为加元(CAD),并且第三规则规定货币为英镑(GBP)。作为另一实例,如果字段为交易金额,则所述值可以是用于交易的美元数额(例如,100美元)。
“优先级”条目918可以被配置成接收规定规则的优先级的信息。如图中918所示,规则的优先级分别为1、2、3。这可能指示:优先级为“1”的规则的加权应比优先级为“2”的规则大,而优先级为“2”的规则的加权应比优先级为“3”的规则大。在图9A所示的实例中,规则相互排斥(例如,货币为美元、加元或英镑)。然而,其它规则集合可以包括可同时适用的两个或更多个规则。例如,规则1规定货币=美元,规则2规定大于1,000美元。在此情况下,规则的优先级可能会起作用。
“传输计算机”条目920可以被配置成接收规定传输计算机以结合规则进行选择的信息。如图中918所示,用于规则的传输计算机分别为TC1、TC1和TC2。因此,如果根据第一规则,货币为美元,则应选择TC1。如果根据第二规则,货币为加元,则也应选择TC1。如果根据第三规则,货币为英镑,则应选择TC2。
“条件”条目922可以被配置成接收规定条件的信息。所述条件可以将字段与值连接。例如,如图9A所示,条件条目中的每一者为“等于”。因此,规则规定“货币等于美元”、“货币等于加元”和“货币等于英镑”。作为另一实例,如果字段为“交易金额”且值为“100美元”,则条件可以为“等于”、“大于”、“大于或等于”、“小于”、“小于或等于”。
界面900可以进一步包括用于提交规则的规则提交元素924。此规则提交元素924可以为例如可点击按钮,如图9A所示。在检测到用户与规则提交元素924的交互之后,界面可以检取用户选择的数据,并基于此用户选择的数据生成和存储规则。
B.传输计算机状态
图9B和9C示出了显示关于传输计算机状态的信息的界面。这些界面可以包括向用户(例如,与资源提供商相关联的管理员)示出关于传输计算机健康状况的详细信息的各种元素。
图9B示出了用于显示关于传输计算机状态的信息的界面950,其中一组传输计算机具有“健康状态”。界面950包括规则部分952。规则部分952为由资源提供商ID 958限定的特定资源提供商规定一组路由筛选规则954和一组有序传输计算机956。
一组有序传输计算机956指示将要按偏好次序使用的三个传输计算机(初级传输计算机A、次级传输计算机B和第三级传输计算机C)。路由筛选规则954规定应选择特定传输计算机——包括额外传输计算机(D和E)——的条件。
界面950进一步包括守护进程(daemon)状态部分960。守护进程状态部分960示出了规则部分952中指示的传输计算机962中的每一者的状态964。如图9B所示,传输计算机中的每一者都具有“健康”状态。这可以指示这些传输计算机没有传回错误代码、不能作出响应或经历明显延迟或数据量激增。守护进程状态部分960可以进一步包括以显著的、对用户友好的方式指示传输计算机的健康状况的颜色代码968。守护进程状态部分960可以进一步包括传输计算机962中的每一者的最后活动966的时间。
界面950进一步包括“所有状态”部分970。“所有状态”部分970示出了关于由传输计算机处理的特定请求的详细信息。此详细信息可以包括标识特定请求的请求ID 972、处理对应请求的传输计算机974以及每个传输计算机的响应时间976(例如,在将请求发送给相应传输计算机之后接收响应需要多长时间)。此详细信息可以进一步包括对应于请求(例如,授权)的服务978、请求状态980(例如,成功接受(SOK))、金额982(例如,99美元或101美元)以及对应于提交请求的资源提供商的资源提供商ID 984。尽管特定资源提供商可能已配置界面950所示的规则,但“所有状态”部分可以示出基于多个资源提供商之间的交易检取的信息,从而充分利用网关计算机可用的大量数据。
图9C示出了用于显示关于传输计算机状态的信息的界面990,其中传输计算机具有“不健康”状态。界面990的元素大体上类似于上文关于图9B的界面950所描述的。然而,传输计算机E具有“不健康”状态992,并且利用不同的健康颜色代码994指示。由于传输计算机E是通过规则之一选择的,因此这将向管理员示出:规则很可能会由于传输计算机健康状况不佳而被超控。
VIII.计算机***
本文中提及的任何计算机***都可利用任何合适数目的子***。图10中的计算机设备1000中展示此类子***的实例。在一些实施例中,计算机***包括单一计算机设备,其中子***可以是计算机设备的组件。在其它实施例中,计算机***可包括具有内部组件的多个计算机设备,每个计算机设备是子***。
图10中展示的子***通过***总线1005互连。展示额外子***,例如打印机1004、键盘1008、存储装置1009、耦合到显示适配器1011的监视器1006等等。耦合到输入/输出(I/O)控制器1001的***设备和I/O装置可通过本领域中已知的任何数目个构件连接到计算机***,所述构件例如输入/输出(I/O)端口1007(例如USB、)。例如,I/O端口1007或外部接口1010(例如以太网、Wi-Fi等)可用于将计算机***1000连接到例如互联网的广域网、鼠标输入装置或扫描仪。通过***总线1005的互连允许中央处理器1003与每个子***通信并且控制来自***存储器1002或存储装置1009(例如,固定盘,例如硬盘驱动器或光盘)的指令的执行,以及子***之间的信息交换。***存储器1002和/或存储装置1009可体现计算机可读介质。在本文中提及的任何数据可从一个组件输出到另一组件并且可输出到用户。
计算机***可包括例如通过外部接口1010或通过内部接口连接在一起的多个相同组件或子***。在一些实施例中,计算机***、子***或设备可通过网络进行通信。在此类情况下,一个计算机可视为客户端,且另一计算机可视为服务器,其中每台计算机可以是同一计算机***的一部分。客户端和服务器可以各自包括多个***、子***或组件。
应理解,本发明的任何实施例都可以使用硬件(例如,专用集成电路或现场可编程门阵列)和/或使用计算机软件以控制逻辑的形式实现,其中通用可编程处理器是模块化的或集成的。如本文所用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本公开和本文中所提供的教示,本领域的普通技术人员将知道并且了解使用硬件和硬件与软件的组合来实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift的任何合适的计算机语言或例如Perl或Python的脚本语言使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或发送,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、快闪存储器等。计算机可读介质可以是此类存储或发送装置的任何组合。
此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行发送的载波信号来编码和发送。因此,根据本发明的实施例的计算机可读介质可以使用以此类程序编码的数据信号来创建。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,经由互联网下载)。任何此类计算机可读介质可以驻留于单个计算机产品(例如,硬盘驱动器、CD或整个计算机***)上或内,且可存在于***或网络上的不同计算机产品上或内。计算机***可包括用于将本文中所提及的任何结果提供给用户的监视器、打印机或其它合适的显示器。
本文所描述的任何方法可完全或部分地通过计算机***执行,所述计算机***包括可被配置以执行所述步骤的一个或多个处理器。因此,实施例可涉及被配置成执行本文中所描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机***。尽管以编号的步骤呈现,但是本文中的方法步骤也可以同时执行或以不同的次序执行。另外,这些步骤的部分可与来自其它方法的其它步骤的部分一起使用。同样,一个步骤的全部或部分可以是可选的。另外,任何方法的任何步骤可以用模块、电路或用于执行这些步骤的其它手段来执行。
特定实施例的具体细节可按任何适合的方式组合而不脱离本发明实施例的精神和范围。然而,本发明的其它实施例可针对与每个个别方面或这些个别方面的特定组合相关的具体实施例。上文对本发明的示例性实施例的描述已经出于说明和描述的目的呈现。不旨在是详尽的,或将本发明局限到描述的精确形式,根据上文的教导许多修改和变形是可能的。选择和描述这些实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的技术人员能够在各种实施例中最好地利用本发明,并且进行适合于预期的特定用途的各种修改。
除非明确指示有相反的意思,否则叙述“一个/种”或“该/所述”旨在表示“一个/种或多个/种”。除非明确指示有相反的意思,“或”的使用旨在表示是“包括性的或”,而不是“排他性的或”。
本文中提及的所有专利、专利申请、公开和描述出于所有目的以引用方式全部并入本文。不承认它们是现有技术。
Claims (20)
1.一种方法,包括由网关服务器执行以下操作:
从资源提供商计算机接收对访问资源的授权请求,所述授权请求包括对应于资源提供商的资源提供商标识符;
基于所述资源提供商标识符确定一组传输计算机;
针对所述一组传输计算机中的每个传输计算机:
从所述传输计算机检取所述传输计算机的状态信息;
基于从所述传输计算机检取到的所述状态信息,确定所述传输计算机在网络上的网络可用性的度量;以及
标识所述传输计算机的授权请求的期望数据量,其中标识所述期望数据量包括:
计算最近由所述传输计算机接收到的授权请求的数据量,或者
将与先前由所述传输计算机接收到的授权请求集合相关联的多个参数和与所述传输计算机相关联的对应的多个当前数据元素进行比较;
检取用于传输计算机选择的所存储的多个规则;
至少基于所述所存储的多个规则、所述一组传输计算机中的每个传输计算机的授权请求的所述期望数据量,以及所述一组传输计算机中的每个传输计算机的网络可用性的所述度量:
选择用于处理所述授权请求的特定传输计算机;以及
通过所述网络将所述授权请求发送给所述特定传输计算机。
2.根据权利要求1所述的方法,其中标识所述一组传输计算机中的每个传输计算机的授权请求的所述期望数据量包括计算最近由所述传输计算机接收到的授权请求的所述数据量。
3.根据权利要求1所述的方法,其中标识所述传输计算机的授权请求的所述期望数据量包括:
检取与先前由所述传输计算机接收到的授权请求集合相关联的所述多个参数;
标识与所述传输计算机相关联的所述对应的多个当前数据元素;以及
将与所述传输计算机相关联的所述对应的多个当前数据元素和与先前由所述传输计算机接收到的所述授权请求集合相关联的所述多个参数进行比较。
4.根据权利要求1所述的方法,其中从所述传输计算机检取到的所述状态信息包括以下各项中的一个或多个:错误代码、响应代码或响应时间。
5.根据权利要求1所述的方法,其中:
检取所述传输计算机的所述状态信息包括:
将一个或多个消息发送给所述传输计算机;以及
记录一个或多个相应响应时间或连接故障;并且
确定所述传输计算机的网络可用性的所述度量包括基于所述一个或多个相应响应时间或连接故障而计算得分。
6.根据权利要求1所述的方法,其中确定所述传输计算机的网络可用性的所述度量包括:
在一时间段内从所述传输计算机接收一定数目的心跳消息;并且
确定所述传输计算机的网络可用性的所述度量包括将在所述时间段内接收到的心跳消息的所述数目与要在所述时间段内接收到的心跳消息的期望数目进行比较,心跳消息的所述期望数目是基于指定心跳消息比率和所述时间段的长度而确定的。
7.根据权利要求1所述的方法,进一步包括:
将多个请求发送给所述传输计算机;
从所述传输计算机接收相应多个响应,每个响应指示成功或拒绝;
基于所述相应多个响应,计算拒绝与成功的比率;以及
将计算出的比率与基线比率进行比较,
其中所述特定传输计算机是基于所述比较而选择的。
8.根据权利要求1所述的方法,进一步包括:
基于网络可用性的所述度量、授权请求的所述期望数据量和所述所存储的多个规则而计算得分;以及
在选择所述特定传输计算机时使用所述得分。
9.根据权利要求1所述的方法,进一步包括,在检取所述所存储的多个规则之前:
使得显示供所述资源提供商配置规则的界面;
由所述网关服务器经由所述界面接收配置规则的输入;
基于所述输入,生成所述规则;以及
将所述规则存储为所述所存储的多个规则的一部分。
10.根据权利要求1所述的方法,进一步包括:
接收所述特定传输计算机未能处理所述授权请求的通知;
至少基于所述通知、所述所存储的多个规则、所述一组传输计算机中的每个传输计算机的授权请求的所述期望数据量,以及所述一组传输计算机中的每个传输计算机的网络可用性的所述度量:
选择用于处理所述授权请求的不同传输计算机;以及
将所述授权请求发送给所述不同传输计算机。
11.一种网关服务器,包括:
处理器;以及
非瞬态计算机可读介质,所述非瞬态计算机可读介质耦合到所述处理器,所述非瞬态计算机可读介质包括能由所述处理器执行以用于执行方法的代码,所述方法包括:
从资源提供商计算机接收对访问资源的授权请求,所述授权请求包括对应于资源提供商的资源提供商标识符;
基于所述资源提供商标识符确定一组传输计算机;
针对所述一组传输计算机中的每个传输计算机:
从所述传输计算机检取所述传输计算机的状态信息;
基于从所述传输计算机检取到的所述状态信息,确定所述传输计算机在网络上的网络可用性的度量;以及
标识所述传输计算机的授权请求的期望数据量,其中标识所述期望数据量包括:
计算最近由所述传输计算机接收到的授权请求的数据量,或
者
将与先前由所述传输计算机接收到的授权请求集合相关联的多个参数和与所述传输计算机相关联的对应的多个当前数据元素进行比较;
检取用于传输计算机选择的所存储的多个规则;
至少基于所述所存储的多个规则、所述一组传输计算机中的每个传输计算机的授权请求的所述期望数据量,以及所述一组传输计算机中的每个传输计算机的网络可用性的所述度量:
选择用于处理所述授权请求的特定传输计算机;以及
通过所述网络将所述授权请求发送给所述特定传输计算机。
12.根据权利要求11所述的网关服务器,其中标识所述一组传输计算机中的每个传输计算机的授权请求的所述期望数据量包括计算最近由所述传输计算机接收到的授权请求的所述数据量。
13.根据权利要求11所述的网关服务器,其中标识所述传输计算机的授权请求的所述期望数据量包括:
检取与先前由所述传输计算机接收到的授权请求集合相关联的所述多个参数;
标识与所述传输计算机相关联的所述对应的多个当前数据元素;以及
将与所述传输计算机相关联的所述对应的多个当前数据元素和与先前由所述传输计算机接收到的所述授权请求集合相关联的所述多个参数进行比较。
14.根据权利要求11所述的网关服务器,其中从所述传输计算机检取到的所述状态信息包括以下各项中的一个或多个:错误代码、在一时间段内从所述传输计算机接收到的心跳消息的数目、响应代码或响应时间。
15.根据权利要求11所述的网关服务器,其中:
检取所述传输计算机的所述状态信息包括:
将一个或多个消息发送给所述传输计算机;以及
记录一时间内的一个或多个相应响应时间或连接故障;并且
确定所述传输计算机的网络可用性的所述度量包括基于所述一个或多个相应响应时间或连接故障而计算得分。
16.根据权利要求11所述的网关服务器,其中:
检取所述传输计算机的所述状态信息包括在一时间段内从所述传输计算机接收一定数目的心跳消息;并且
确定所述传输计算机的网络可用性的所述度量包括将在所述时间段内接收到的心跳消息的所述数目与要在所述时间段内接收到的心跳消息的期望数目进行比较,心跳消息的所述期望数目是基于指定心跳消息比率和所述时间段的长度而确定的。
17.根据权利要求11所述的网关服务器,进一步包括:
将多个请求发送给所述传输计算机;
从所述传输计算机接收相应多个响应,每个响应指示成功或拒绝;
基于所述相应多个响应,计算拒绝与成功的比率;以及
将计算出的比率与基线比率进行比较,
其中所述特定传输计算机是基于所述比较而选择的。
18.根据权利要求11所述的网关服务器,进一步包括:
基于网络可用性的所述度量、授权请求的所述期望数据量和所述所存储的多个规则而计算得分;以及
在选择所述特定传输计算机时使用所述得分。
19.根据权利要求11所述的网关服务器,所述方法进一步包括,在检取所述所存储的多个规则之前:
使得显示供所述资源提供商配置规则的界面;
由所述网关服务器经由所述界面接收配置规则的输入;
基于所述输入,生成所述规则;以及
将所述规则存储为所述所存储的多个规则的一部分。
20.根据权利要求11所述的网关服务器,所述方法进一步包括:
接收所述特定传输计算机未能处理所述授权请求的通知;
至少基于所述通知、所述所存储的多个规则、所述一组传输计算机中的每个传输计算机的授权请求的所述期望数据量,以及所述一组传输计算机中的每个传输计算机的网络可用性的所述度量:
选择用于处理所述授权请求的不同传输计算机;以及
将所述授权请求发送给所述不同传输计算机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310273159.XA CN116233261A (zh) | 2019-05-01 | 2019-05-01 | 智能路由***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/030265 WO2020222843A1 (en) | 2019-05-01 | 2019-05-01 | Smart routing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310273159.XA Division CN116233261A (zh) | 2019-05-01 | 2019-05-01 | 智能路由***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113545017A CN113545017A (zh) | 2021-10-22 |
CN113545017B true CN113545017B (zh) | 2023-04-04 |
Family
ID=73029065
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980093309.0A Active CN113545017B (zh) | 2019-05-01 | 2019-05-01 | 智能路由***和方法 |
CN202310273159.XA Pending CN116233261A (zh) | 2019-05-01 | 2019-05-01 | 智能路由***和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310273159.XA Pending CN116233261A (zh) | 2019-05-01 | 2019-05-01 | 智能路由***和方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11356364B2 (zh) |
CN (2) | CN113545017B (zh) |
SG (1) | SG11202108628UA (zh) |
WO (1) | WO2020222843A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263628B2 (en) | 2017-07-18 | 2022-03-01 | Visa International Service Association | Fallback authorization routing |
SG11202108628UA (en) | 2019-05-01 | 2021-09-29 | Visa Int Service Ass | Smart routing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592672A (en) * | 1993-11-02 | 1997-01-07 | Bell Communications Research, Inc. | System for load balancing between message processors by routing all queued messages to a particular processor selected by a deterministic rule |
CN101180840A (zh) * | 2005-03-24 | 2008-05-14 | 奥林奇股份有限公司 | 到移动用户设备的互联网协议分组的传送 |
CN101427278A (zh) * | 2006-03-16 | 2009-05-06 | A·琼斯 | 交易网络资源 |
JP2017092665A (ja) * | 2015-11-09 | 2017-05-25 | 日本電気株式会社 | 通信装置および通信方法 |
CN108701295A (zh) * | 2016-02-18 | 2018-10-23 | 万事达卡国际公司 | 用于预处理网络消息以优化路由的***和方法 |
CN109074578A (zh) * | 2016-04-19 | 2018-12-21 | 维萨国际服务协会 | 用于执行推送交易的***和方法 |
EP3422185A1 (en) * | 2016-03-28 | 2019-01-02 | Hitachi, Ltd. | Processing system and processing method |
CN109416790A (zh) * | 2016-06-29 | 2019-03-01 | 维萨国际服务协会 | 用于过境处理的方法和*** |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7127422B1 (en) | 2000-05-19 | 2006-10-24 | Etp Holdings, Inc. | Latency monitor |
US7536632B2 (en) | 2004-01-10 | 2009-05-19 | International Business Machines Corporation | Method for monitoring data processing system availability |
US7774402B2 (en) | 2005-06-29 | 2010-08-10 | Visa U.S.A. | Adaptive gateway for switching transactions and data on unreliable networks using context-based rules |
US7725351B1 (en) | 2006-04-26 | 2010-05-25 | Rbs Lynk Incorporated | Point of sale system interface for processing of transactions at a secondary transaction payment network |
US8762210B2 (en) | 2008-06-03 | 2014-06-24 | Cardinalcommerce Corporation | Alternative payment implementation for electronic retailers |
AU2009285780B2 (en) | 2008-08-27 | 2015-07-02 | Cardinalcommerce Corporation | Intelligent server routing |
US20100106611A1 (en) | 2008-10-24 | 2010-04-29 | Uc Group Ltd. | Financial transactions systems and methods |
WO2010106395A1 (en) * | 2009-03-20 | 2010-09-23 | Anthony Conway | A policy-based payment transaction routing service for credit card payment processing |
WO2012161808A2 (en) | 2011-02-25 | 2012-11-29 | Visa International Service Association | Direct connection systems and methods |
WO2012135618A1 (en) | 2011-04-01 | 2012-10-04 | Hogg Russell Elton | Method and system for enabling transaction card security |
US20120271765A1 (en) | 2011-04-20 | 2012-10-25 | Karen Cervenka | Routing optimization |
US9047183B2 (en) | 2013-01-14 | 2015-06-02 | Department Of Veterans Affairs | Systems and methods for detecting outages in a medical record exchange system |
US20140358789A1 (en) | 2013-05-30 | 2014-12-04 | B. Scott Boding | Acquirer facing fraud management system and method |
US9552550B2 (en) * | 2014-05-13 | 2017-01-24 | Cisco Technology, Inc. | Traffic shaping based on predicted network resources |
US11080711B2 (en) * | 2014-11-24 | 2021-08-03 | Zooz Mobile Ltd. | Computerized transaction routing system and methods useful in conjunction therewith |
US10498897B1 (en) * | 2015-03-31 | 2019-12-03 | United Services Automobile Association (Usaa) | Systems and methods for simulating multiple call center balancing |
CA3003287A1 (en) * | 2015-12-04 | 2017-06-08 | Visa International Service Association | Secure token distribution |
US20180316599A1 (en) * | 2017-04-27 | 2018-11-01 | Hewlett Packard Enterprise Development Lp | Routing packets considering the propagation delay of routes |
US11263628B2 (en) | 2017-07-18 | 2022-03-01 | Visa International Service Association | Fallback authorization routing |
SG11202108628UA (en) | 2019-05-01 | 2021-09-29 | Visa Int Service Ass | Smart routing |
-
2019
- 2019-05-01 SG SG11202108628UA patent/SG11202108628UA/en unknown
- 2019-05-01 US US17/428,947 patent/US11356364B2/en active Active
- 2019-05-01 CN CN201980093309.0A patent/CN113545017B/zh active Active
- 2019-05-01 WO PCT/US2019/030265 patent/WO2020222843A1/en active Application Filing
- 2019-05-01 CN CN202310273159.XA patent/CN116233261A/zh active Pending
-
2022
- 2022-05-06 US US17/738,921 patent/US11888729B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5592672A (en) * | 1993-11-02 | 1997-01-07 | Bell Communications Research, Inc. | System for load balancing between message processors by routing all queued messages to a particular processor selected by a deterministic rule |
CN101180840A (zh) * | 2005-03-24 | 2008-05-14 | 奥林奇股份有限公司 | 到移动用户设备的互联网协议分组的传送 |
CN101427278A (zh) * | 2006-03-16 | 2009-05-06 | A·琼斯 | 交易网络资源 |
JP2017092665A (ja) * | 2015-11-09 | 2017-05-25 | 日本電気株式会社 | 通信装置および通信方法 |
CN108701295A (zh) * | 2016-02-18 | 2018-10-23 | 万事达卡国际公司 | 用于预处理网络消息以优化路由的***和方法 |
EP3422185A1 (en) * | 2016-03-28 | 2019-01-02 | Hitachi, Ltd. | Processing system and processing method |
CN109074578A (zh) * | 2016-04-19 | 2018-12-21 | 维萨国际服务协会 | 用于执行推送交易的***和方法 |
CN109416790A (zh) * | 2016-06-29 | 2019-03-01 | 维萨国际服务协会 | 用于过境处理的方法和*** |
Non-Patent Citations (2)
Title |
---|
《Construction of short-block nonbinary LDPC codes based on cyclic codes》;Hengzhou Xu 等;《IEEE》;20171231;全文 * |
《云计算环境下资源需求预测与优化配置方法研究》;徐达宇;《中国优秀硕士学位论文全文数据库》;20140915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11356364B2 (en) | 2022-06-07 |
SG11202108628UA (en) | 2021-09-29 |
CN116233261A (zh) | 2023-06-06 |
WO2020222843A1 (en) | 2020-11-05 |
CN113545017A (zh) | 2021-10-22 |
US20220263755A1 (en) | 2022-08-18 |
US20220086084A1 (en) | 2022-03-17 |
US11888729B2 (en) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11948147B2 (en) | Fallback authorization routing | |
US9348896B2 (en) | Dynamic network analytics system | |
US11888729B2 (en) | Smart routing | |
US10580005B2 (en) | Method and system for providing risk information in connection with transaction processing | |
US10282709B2 (en) | Processor issuer detection and user level stand-in authorization | |
US20190342203A1 (en) | System and method for optimizing routing of transactions over a computer network | |
US20210192488A1 (en) | Adaptive gateway switching system | |
US20130346311A1 (en) | Method and System For Data Security Utilizing User Behavior and Device Identification | |
EP3640883A1 (en) | Method and system for authentication data collection and reporting associated with an online transaction | |
US20130282583A1 (en) | Fraud detection system rule profile interaction | |
US20190342205A1 (en) | System and method for optimizing routing of transactions over a computer network | |
US11023895B2 (en) | Automated review system for transactions | |
US7257611B1 (en) | Distributed nonstop architecture for an event processing system | |
CN112868005A (zh) | 用于增强型授权消息的***和方法 | |
US20190340589A1 (en) | System and method for optimizing routing of transactions over a computer network | |
US11935062B2 (en) | Generating a fraud risk score for a third party provider transaction | |
US20240242224A1 (en) | Method and system for entity and payment rail verification in transaction processing | |
US11997162B1 (en) | Systems and methods of exposing data from blockchain nodes | |
US20170180375A1 (en) | System and method for push authorization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |