公平的筛选了信用的市场数据的分发转让专利

申请号 : CN201480071551.5

文献号 : CN106063186B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 海登·保罗·梅尔顿

申请人 : 汤姆森路透全球资源无限责任公司

摘要 :

本发明涉及用于分发市场数据的系统和方法。在一种实施方式中,系统可以在每次市场数据更新时生成新的加密密钥,并使用该密钥对该更新中每个市场参与者的数据进行加密。在其他因素中,现代计算机网络的特征可以引起参与者在不同时间被发送(以及接收)该更新中他们的加密数据。在更新中向所有参与者发送他们的数据之后,系统可以接下来同时向这些参与者传输密钥,该密钥使参与者能够破译他们的数据。通过这种方式,本发明可以确保,虽然参与者在不同时间接收在给定更新中的他们的数据,但是在所有参与者都同时接收到密钥之前,他们无法破译数据。

权利要求 :

1.一种计算机执行的分发筛选了信用的市场数据的方法,该方法在计算机系统中执行,所述计算机系统包括用计算机程序指令编程的一个或多个物理处理器,当由所述一个或多个物理处理器执行时,所述计算机程序指令使得所述计算机系统执行所述方法,所述方法包括:所述计算机系统获得第一市场数据;

所述计算机系统获得多个数据接收者中的每个数据接收者的信用数据,所述信用数据至少包括第一数据接收者的第一信用数据和第二数据接收者的第二信用数据;

所述计算机系统基于所述第一信用数据和所述第一市场数据生成用于所述第一数据接收者的筛选了信用的第一市场数据;

所述计算机系统基于所述第二信用数据和所述第一市场数据生成用于所述第二数据接收者的筛选了信用的第二市场数据;

所述计算机系统利用加密密钥对所述筛选了信用的第一市场数据的至少一部分进行加密;

所述计算机系统利用所述加密密钥对所述筛选了信用的第二市场数据的至少一部分进行加密;

所述计算机系统在第一时间通过电子通信网络向所述第一数据接收者传输加密的所述筛选了信用的第一市场数据;

所述计算机系统在不同于所述第一时间的第二时间通过所述电子通信网络向所述第二数据接收者传输加密的所述筛选了信用的第二市场数据;以及在不同于所述第一时间和所述第二时间的第三时间,所述计算机系统同时向所述第一数据接收者和所述第二数据接收者传输所述加密密钥。

2.如权利要求1所述的方法,其中利用多播传输协议将所述加密密钥传输给所述第一数据接收者和所述第二数据接收者。

3.如权利要求2所述的方法,其中所述加密密钥的相应副本被传输给所述第一数据接收者和所述第二数据接收者。

4.如权利要求1所述的方法,其中所述筛选了信用的第一市场数据包括针对给定金融票据的价格和数量数据。

5.如权利要求1所述的方法,其中在由所述计算机系统传输所述加密密钥之前,所述第一数据接收者不能破译所述筛选了信用的第一市场数据的加密部分。

6.如权利要求1所述的方法,其中所述筛选了信用的第二市场数据和所述筛选了信用的第一市场数据不同。

7.如权利要求6所述的方法,该方法还包括:

利用传输的所述加密密钥对所述筛选了信用的第一市场数据的加密部分和所述筛选了信用的第二市场数据的加密部分进行解密。

8.如权利要求1所述的方法,其中基于待传输的预定时间传输加密的所述筛选了信用的第一市场数据。

9.如权利要求1所述的方法,该方法还包括:

利用传输的所述加密密钥对所述筛选了信用的第一市场数据的加密部分进行解密;以及在显示设备上至少显示所述筛选了信用的第一市场数据的解密部分。

10.一种用于分发市场数据的系统,所述系统包括:包括一个或多个物理处理器的计算机系统,通过计算机程序指令将所述一个或多个物理处理器编程为:获得第一市场数据;

获得多个数据接收者中的每个数据接收者的信用数据,所述信用数据至少包括第一数据接收者的第一信用数据和第二数据接收者的第二信用数据;

基于所述第一信用数据和所述第一市场数据生成用于所述第一数据接收者的筛选了信用的第一市场数据;

基于所述第二信用数据和所述第一市场数据生成用于所述第二数据接收者的筛选了信用的第二市场数据;

利用加密密钥对所述筛选了信用的第一市场数据的至少一部分进行加密;

利用所述加密密钥对所述筛选了信用的第二市场数据的至少一部分进行加密;

在第一时间通过电子通信网络向所述第一数据接收者传输加密的所述筛选了信用的第一市场数据;

在不同于所述第一时间的第二时间通过所述电子通信网络向所述第二数据接收者传输加密的所述筛选了信用的第二市场数据;以及在不同于所述第一时间和所述第二时间的第三时间,同时向所述第一数据接收者和所述第二数据接收者传输所述加密密钥。

11.如权利要求10所述的系统,其中利用多播传输协议将所述加密密钥传输给所述第一数据接收者和所述第二数据接收者。

12.如权利要求11所述的系统,其中所述加密密钥的相应副本被传输给所述第一数据接收者和所述第二数据接收者。

13.如权利要求10所述的系统,其中所述筛选了信用的第一市场数据包括针对给定金融票据的价格和数量数据。

14.如权利要求10所述的系统,其中在由所述计算机系统传输所述加密密钥之前,所述第一数据接收者不能破译所述筛选了信用的第一市场数据的加密部分。

15.如权利要求10所述的系统,其中所述筛选了信用的第二市场数据和所述筛选了信用的第一市场数据不同。

16.如权利要求15所述的系统,其中所述计算机系统还被编程为:利用传输的所述加密密钥对所述筛选了信用的第一市场数据的加密部分和所述筛选了信用的第二市场数据的加密部分进行解密。

17.如权利要求10所述的系统,其中基于待传输的预定时间传输加密的所述筛选了信用的第一市场数据。

18.如权利要求10所述的系统,其中所述计算机系统还被编程为:利用传输的所述加密密钥对所述筛选了信用的第一市场数据的加密部分进行解密;以及在显示设备上至少显示所述筛选了信用的第一市场数据的解密部分。

19.一种计算机可读介质,所述介质上存储有用于分发筛选了信用的市场数据的计算机指令,当由计算机系统的一个或多个物理处理器执行时,所述指令使得所述计算机系统:获得第一市场数据;

获得多个数据接收者中的每个数据接收者的信用数据,所述信用数据至少包括第一数据接收者的第一信用数据和第二数据接收者的第二信用数据;

基于所述第一信用数据和所述第一市场数据生成用于所述第一数据接收者的筛选了信用的第一市场数据;

基于所述第二信用数据和所述第一市场数据生成用于所述第二数据接收者的筛选了信用的第二市场数据;

利用加密密钥对所述筛选了信用的第一市场数据的至少一部分进行加密;

利用所述加密密钥对所述筛选了信用的第二市场数据的至少一部分进行加密;

在第一时间通过电子通信网络向所述第一数据接收者传输加密的所述筛选了信用的第一市场数据;

在不同于所述第一时间的第二时间通过所述电子通信网络向所述第二数据接收者传输加密的所述筛选了信用的第二市场数据;以及在不同于所述第一时间和所述第二时间的第三时间,同时向所述第一数据接收者和所述第二数据接收者传输所述加密密钥。

20.如权利要求19所述的计算机可读介质,其中利用多播传输协议将所述加密密钥传输给所述第一数据接收者和所述第二数据接收者。

说明书 :

公平的筛选了信用的市场数据的分发

[0001] 相关申请的交叉引用
[0002] 本申请要求2014年11月7日提交的美国专利申请14/535,776的权益,后者要求2013年11月8日提交的标题为“公平的筛选了信用的市场数据的分发”的美国临时专利申请
61/901,551的优先权。

技术领域

[0003] 本发明涉及用于从电子交易场所分发市场数据的系统和方法。

背景技术

[0004] 许多电子交易场所都针对在这些场所交易的票据对中央限价委托订单薄(CLOB)进行操作。根据该票据的CLOB,对来自市场参与者的针对给定票据的订单进行处理。CLOB的状态表现为它所包含的买入(买)订单和卖出(卖)订单,这些订单通常根据接收方、接收价格以及接收时间排列。因此,每个订单可能引起CLOB的状态改变。订单可能由于以下原因而引起CLOB的状态发生变化:匹配(现有的购买订单和新收到的销售订单匹配,反之亦然),取消(删除订单),修改(改变订单的价格或数量),或者新的订单作为买入或卖出被“插入”到CLOB中。
[0005] 在给定交易场所,票据的CLOB的状态可以反映出针对该票据的市场供应和需求。市场参与者的票据购买和销售决定是至少部分依据该票据的主要的供应和需求而通知的,因此许多电子交易场所操作以向该场所的市场参与者传播CLOB的观点。CLOB的这种观点是通过所谓的市场数据更新传播的。该观点的确切性质以及将该观点传播为市场数据更新的特定频率根据场所而不同。但是,由于供应和需求随时间发生变化,以及由于市场参与者需要针对供应和需求的同时期观点—他们基于该观点通知交易决定,在很长一段时间内,电子交易场所倾向于发出非常大数量的市场数据更新。
[0006] 在某些电子交易场所,在任何给定的市场数据更新时,相同的CLOB观点将被传输给所有感兴趣的市场参与者。也就是说,来自市场数据更新的信息对于所有感兴趣的市场参与者而言都是相同的。因此,可以使用点对多点,或一对多通信协议将该信息从交易场所传输给所有感兴趣的市场参与者。为此,在许多现实的电子交易场所中,特别是在相同的CLOB观点被传输给所有感兴趣的市场参与者的股票和期货市场上使用IP多播协议。
[0007] 但是,在其他电子交易场所中,通过给定的市场数据更新将相同的CLOB观点发送给所有感兴趣的市场参与者是不可能(或不实际)的。例如,在即期外汇(spot FX)市场上,通常不存在中央对手方,所有市场参与者都针对中央对手方进行交易。相反,交易的发生是基于市场参与者之间的双边信用关系。如果一个市场参与者希望查看仅包含市场参与者实际上能够交易的订单的CLOB的观点,则接下来在生成该观点的过程中,CLOB中其他参与者提交的订单必须从该观点中排除(或者“筛选”),所述市场参与者和其他参与者没有双边信用。由于参与者所能延展的信用,以及延展给参与者的信用在所有的成对参与者之间是不同的,筛选了信用的(这里简称为“筛选的”)CLOB观点对于每个市场参与者基本上都不相同,即使当这些观点都是取自CLOB的同一时间点的状态时也是如此。从计算机网络的角度看,当基本上不同的数据需要被传输给不同接收者时,可以使用点对点或一对一通信协议将市场数据更新从交易场所传输给所有感兴趣的市场参与者。为此,在很多需要在相同的市场数据更新中将不同的CLOB观点发送给不同参与者的电子交易场所中,使用了TCP/IP协议。
[0008] 电子交易场所的经营者有义务确保其交易场所中的公平性。公平性的一个方面是确保市场数据更新在基本上相同的时间被市场参与者接收到(或者,至少发送给参与者)。人们理解,并且普遍接受,在恰当设计的计算机网络中—在该网络中,电缆的长度以及将每个接收者与数据发送者连接的网络设备对于所有的接收者都是相同的—IP多播可以确保所有的接收者在基本上相同的时间接收到发送者发送的每个数据片段。就此而言,电子交易场所的经营者能够更加容易确保市场数据分发的公平性,在电子交易场所中,在每次市场数据更新时,相同的CLOB观点被发送给所有的市场参与者。但是,在每次市场数据更新时向每个参与者发送不同CLOB观点的电子交易场所中,实现市场数据分发的公平性要更加困难。
[0009] 现代计算机网络将数据序列化,并在此过程中,对正在发送的数据施加整体排序。由于该计算机网络的该特性,意在以点对点方式将数据整批发送至多个接收者的系统可能实际上不能同时为所有接收者提供数据。对于将不同的CLOB观点发送给不同的市场参与者,并且取决于网络的带宽、观点的字节尺寸以及观点正在发送到的参与者的数量,整批发送所有数据的这种方式可能导致在给定的市场更新中正在发送的第一市场参与者的CLOB观点与在相同的更新中正在发送的最后的参与者的CLOB观点之间逝去的数百微秒(μs)或甚至几毫秒。在分发市场数据的环境中,这是不公平的。为了运行公平的市场,市场参与者应该能够同时访问价格。存在这些和其它缺陷。

发明内容

[0010] 解决了这些和其它缺陷的本发明涉及的系统和方法确保分发给多个接收者的数据能够被所有的接收者在基本上相同的时间访问,不管每个接收者实际在什么时间接收到该数据。例如,系统可以分发数据,该数据编码成在没有附加信息(例如,用于加密/解密数据的加密密钥)的情况下不能访问(例如,加密)。因此,在另一个接收者前面接收到数据的接收者在没有附加信息的情况下不能访问或读取数据,防止接收者利用在其他接收者前面接收到数据这一优势。系统可以在对于所有接收者而言共同的时间分发附加信息,由此每个接收者可以和其他接收者一样在基本上相同的时间破译(或解密)数据。例如,一旦系统向每个接收者分发了数据,则系统可以在基本上相同的时间向每个接收者提供附加信息。
[0011] 系统的一种示例性用途涉及向市场参与者分发和与金融票据有关的市场数据更新的信息。市场数据更新可以指示在给定时间针对给定票据的主要供应和需求(例如,通过CLOB中的购买和/或销售订单指示),市场参与者可以利用该信息确定是否购入或售出票据。
[0012] 在一些实例中,来自市场数据更新的信息可以针对给定市场参与者被特定地筛选。例如,系统可以确定市场参与者的信用(例如,执行和其他参与者的交易的能力),并基于市场数据更新和市场参与者的信用生成筛选了信用的市场数据。系统还可以利用市场数据更新和其他市场参与者的信用对其他市场参与者执行这种筛选。因此,与针对另一个市场参与者的其他筛选了信用的市场数据相比,基于市场数据更新的筛选了信用的市场数据可以针对一个市场参与者更早生成并分发给该市场参与者。在这些实例中,系统可以确保每个市场参与者只有在其他市场参与者也接收到(或者被发送)各自的与票据有关的筛选了信用的市场数据之后才能够访问自己的与票据有关的筛选了信用的市场数据。
[0013] 下面针对筛选了信用的市场数据对系统和方法进行描述,该描述只是为了说明清楚,不构成限制。例如,系统可以在其他环境下使用,以确保在不同时间分发给多个接收者(不管数据是否对于每个接收者是完全唯一的)并且被接收到的数据可以在基本上相同的时间被所有的接收者访问。此外,系统可以被用于确保提供给单一接收者的不同数据可以在相同的时间被该接收者访问。例如,系统可以在第一时间向接收者提供第一数据,在第二时间向该接收者提供第二数据。在没有附加信息的情况下,无法访问第一数据以及第二数据。系统可以向接收者提供附加信息,使得接收者只有在被提供了附加信息之后才可以访问(或者解码、或破译)第一数据和第二数据。上面描述了示例性系统功能的高级概述,现在注意力转向对提供给接收者的数据进行编码的实施例。
[0014] 加密筛选了信用的市场数据,延迟向市场参与者提供加密密钥
[0015] 在一种实施方式中,访问筛选了信用的市场数据所要求的附加信息可以包括加密密钥。例如,系统可以生成加密密钥(最初秘密的随机密钥),该加密密钥用于在将筛选了信用的市场数据分发给市场参与者之前对筛选了信用的市场数据进行加密。
[0016] 由于每个筛选了信用的市场数据被加密,即使一个市场参与者早于其他市场参与者接收到其筛选了信用的市场数据,该市场参与者也无法在系统提供(并且市场参与者接收到)加密密钥之前对筛选了信用的市场数据的内容进行破译。
[0017] 在系统向每个市场参与者分发了加密的筛选了信用的市场数据之后,系统可以向所有的市场参与者(基本上同时地)提供加密密钥,加密的筛选了信用的市场数据被分发给这些市场参与者。
[0018] 在一种实施方式中,系统可以通过多播(例如,一对多或多对多分发)传输协议提供加密密钥,所述传输协议将加密密钥同时(或者基本上同时)传输给市场参与者。
[0019] 在一种实施方式中,系统可以只有在预定条件发生之后才向市场参与者提供加密密钥。例如,系统可以只有在确认了加密的筛选了信用的市场数据已经被传输给(例如,“放到线上”)所有市场参与者和/或被所有市场参与者接收之后才向市场参与者提供加密密钥,所有的市场参与者将接收各自的加密的筛选了信用的市场数据。通过这种方式,系统可以确保在提供用于对筛选了信用的市场数据进行解密的加密密钥之前,所有的市场参与者都已经接收到各自的加密的筛选了信用的市场数据。
[0020] 并行分发市场更新以及同步提供加密密钥
[0021] 在一种实施方式中,由于市场数据更新的量可能(并且通常是)较高,因此系统可以采用并行执行的多个信用筛选进程(这里简称为“筛选器”),从而使处理时间最小化。每个筛选器可以负责针对市场参与者的子集生成市场数据更新,利用输入到该进程中的CLOB和所述参与者的子集之间的双边信用关系执行信用筛选,以及生成筛选了信用的市场数据并将其分发至各个市场参与者的集合。系统可以为每个市场数据更新生成单个加密密钥,并将该加密密钥提供给筛选器,因此每个筛选器可以在筛选了信用的市场数据被分发给市场参与者之前利用加密密钥对筛选了信用的市场数据进行加密。
[0022] 系统可以基于每个筛选器是否为它们各自的市场参与者的集合提供了加密的筛选了信用的市场数据而同步向市场参与者提供加密密钥。换句话说,只有当加密的筛选了信用的市场数据已经被传输给应该被提供各自的加密的筛选了信用的市场数据的所有市场参与者和/或被所有市场参与者接收之后,系统才向市场参与者提供加密密钥。
[0023] 系统可以通过各种方式确定加密的筛选了信用的市场数据是否被提供给市场参与者。例如,系统可以仅在每个筛选器已证实它已经将加密的筛选了信用的市场数据分发给它们各自的市场参与者的集合之后才提供加密密钥。在另一个例子中,下游的监听器可以检测筛选器什么时候将加密的筛选了信用的市场数据提供给市场参与者,并将检测结果上报给系统。
[0024] 市场更新与相应加密密钥的映射
[0025] 在一种实施方式中,系统可以将加密的筛选了信用的市场数据和加密密钥关联起来,所述加密密钥用于对筛选了信用的市场数据进行加密。因此,加密的筛选了信用的市场数据可以明白地映射至给定的加密密钥,该加密密钥用于基于所述关联对市场数据进行加密(反之亦然)。系统可以通过各种方式将加密的筛选了信用的市场数据与加密密钥关联起来。例如,系统可以为加密的筛选了信用的市场数据以及加密密钥预先设定或追加未加密的明文字符串。通过这种方式,明文字符串可以被用于将加密的筛选了信用的市场数据与加密密钥关联起来。在另一个实施例中,系统可以存储表格,该表格将加密的筛选了信用的市场数据的标识符(例如,文件名)和相应的加密密钥的标识符关联起来。
[0026] 不管系统通过什么方式将加密的筛选了信用的市场数据与加密密钥关联起来,系统都可以使用关联来识别用于对加密的筛选了信用的市场数据进行加密的加密密钥,反之亦然。例如,系统可以从市场参与者处接收提供加密密钥的请求,该加密密钥用于在请求中识别的加密的筛选了信用的市场数据。这种情况可能在加密密钥通过多播传输协议或其他不可靠网络协议提供的实施方式中发生,所述其他不可靠网络协议不保证数据的传输,市场参与者可能不会收到加密密钥。响应于该请求,系统可以基于加密的筛选了信用的市场数据和适当的加密密钥之间的关联识别适当的加密密钥。如果加密密钥已经被提供给其他市场参与者,则系统可以将加密密钥提供给正在请求的市场参与者。另一方面,如果加密密钥未被提供给其他市场参与者,则系统可以拒绝请求。
[0027] 通过使用这里描述的系统,可以向市场参与者提供自己的筛选了信用的市场数据,该市场数据只有当其他市场参与者也被提供了各自的筛选了信用的市场数据时才可以被访问,与筛选了信用的市场数据实际上什么时间被传输至每个接收者和/或被每个接收者接收无关。
[0028] 通过参考附图而考虑以下描述和所附权利要求,这里所公开的系统和/或方法的这些和其他目标、特征和特性,以及操作方法和相关结构部件以及各部分的组合的功能和制造经济性将变得更为显而易见,所有附图都形成该说明书的一部分,其中同样的附图标记在各图中表示相对应的部分。然而,所要清楚理解的是,附图仅是用于图示和描述的目的而并非意在作为本发明的界限的界定。如说明书和权利要求中所使用的,除非上下文明确另外指出,否则单数形式“一个”、“一种”和“所述”包括多个指示对象。

附图说明

[0029] 图1显示了根据本发明的一种实施方式的用于分发公平的筛选了信用的市场数据的系统;
[0030] 图2显示了根据本发明的一种实施方式的促进筛选了信用的市场数据的分发的系统的部件的流程图;
[0031] 图3显示了根据本发明的一种实施方式的用于分发公平的筛选了信用的市场数据的数据流程图;和
[0032] 图4显示了根据本发明的一种实施方式的分发公平的筛选了信用的市场数据的程序流程图。

具体实施方式

[0033] 图1显示了根据本发明的一种实施方式的用于分发筛选了信用的市场数据的系统100。系统100可以分发数据,该数据编码成在没有附加信息(例如,用于加密/解密数据的加密密钥)的情况下不能访问(例如,加密的)。虽然这里使用加密的例子进行描述,但是也可以使用其他常规的数据模糊处理技术。
[0034] 在另一个接收者前面接收到数据的接收者在没有附加信息的情况下不能访问或读取数据,防止接收者利用在其他接收者前面接收到数据这一优势。系统可以在对于所有接收者而言共同的时间分发附加信息,由此每个接收者可以和其他接收者一样在基本上相同的时间破译数据。例如,一旦系统向每个接收者分发了数据,则系统可以在基本上相同的时间向每个接收者提供附加信息。
[0035] 虽然系统100可以用于向市场参与者分发筛选了信用的市场数据,但是借助这里公开的内容,系统100的替代用途也是显而易见的。系统100可以利用加密密钥,例如随机加密密钥对筛选了信用的市场数据的全部或一部分进行加密。系统100可以将加密的筛选了信用的市场数据传输给市场参与者。因为筛选了信用的市场数据被加密,因此市场参与者在没有加密密钥的情况下无法对筛选了信用的市场数据进行解密。因此,在没有加密密钥的情况下,先于其他市场参与者接收到加密的筛选了信用的市场数据的市场参与者将无法先于其他市场参与者访问筛选了信用的市场数据。
[0036] 系统100可以确定每个市场参与者都已经接收到加密的筛选了信用的市场数据(或者至少加密的筛选了信用的市场数据已经被传输给每个市场参与者)。例如,系统100可以从每个市场参与者接收明确的接收确认,检测加密的筛选了信用的市场数据已经被传输给每个市场参与者,从负责向市场参与者传输加密的筛选了信用的市场数据的一个或多个部件接收指示,和/或确定每个市场参与者已经接收到加密的筛选了信用的市场数据。
[0037] 在确定加密的筛选了信用的市场数据已经被传输给每个市场参与者和/或已经被每个市场参与者接收到后,系统100可以同时向所有的市场参与者传输与加密的筛选了信用的市场数据关联的加密密钥。例如,系统100可以利用一对多或多对多分发协议(例如,IP多播)同时向市场参与者传输加密密钥。在接收到加密密钥后,每个市场参与者可以对筛选了信用的市场数据进行解密和破译,所述市场数据可以包括市场参与者的针对金融票据的筛选了信用的价格和数量。
[0038] 上面描述了某些系统功能的高级概述,现在注意力转向促进这些和其他功能的不同系统部件。
[0039] 系统部件
[0040] 系统100可以包括计算机系统104,一个或多个计算机设备110,一个或多个数据库132,一个或多个筛选器140a,140b,...,140n,一个或多个市场参与者设备142a,142b,...,
142n,交易系统的电子通信网络(ECN)144,和/或其他部件。每个计算机设备110可以包括一个或多个处理器112,一个或多个存储设备114,和/或其他部件。可以通过一个或多个计算机程序指令对处理器112进行编程,所述指令可以存储在存储设备114中。一个或多个计算机程序指令可以包括但不限于市场数据分发应用程序120。
[0041] 市场数据分发应用程序120本身可以包括不同的指令集,每个指令集对处理器112(以及计算机系统104)进行编程。例如,市场数据分发应用程序120可以包括密钥生成器126,映射引擎128,同步引擎130,和/或对计算机系统104进行编程的其他指令136。筛选器
140各自可以与在计算机系统104上执行的进程有关。因此,市场数据分发应用程序120可以包括引起筛选器140在一个或多个物理处理器上执行的指令。为了方便起见,这里使用的不同指令将被描述为当实际上不同指令将计算机系统104编程为执行操作时执行操作。
[0042] 图2显示了根据本发明的一种实施方式的促进筛选了信用的市场数据的分发的系统100的部件的流程图200。这里更详细地对图2(以及其他附图)中描述的各种处理操作和/或数据流进行描述。所描述的操作可以通过上面详细描述的部分或全部系统部件实现,并且在某些实施方式中,各种操作可以按不同顺序执行,并且可以省略各种操作。附加操作可以和所示出的流程图中显示的部分或所有操作一起执行。一个或多个操作可以是同时执行。因此,所显示(以及在下面更详细地描述)的操作只是示例性的,因此不应视为是限制性的。
[0043] 在操作202中,市场数据分发应用程序120可以从ECN144和/或其他信息源接收与金融票据关联的CLOB状态信息和信用关系信息。CLOB状态信息可以反映在给定时间点的给定金融票据的主要价格和数量信息。信用关系信息可以反映在给定时间点不同参与方之间的信用关系。
[0044] 生成并加密筛选了信用的市场数据
[0045] 在一种实施方式中,密钥生成器126可以在给定的时间点生成用于对数据进行加密的加密密钥,所述数据与CLOB状态信息有关。例如,密钥生成器126可以生成加密密钥,该加密密钥用于在每次接收到针对给定金融票据的CLOB状态信息时对数据进行加密。加密密钥大体上可以指代一条信息(例如,随机数、哈希、参数等),该信息确定用于对数据进行加密的处理的功能输出。
[0046] 在操作204中,市场数据分发应用程序120可以向每个筛选器140提供加密密钥、CLOB状态信息、以及信用关系信息。在一种实施方式中,每个筛选器140对自己的市场参与者142的集合负责,它必须对市场参与者142执行信用筛选。例如,筛选器140A可以解析与市场参与者142A有关的信用关系信息。筛选器140A可以基于解析的部分确定市场参与者142A能够针对金融票据执行的实际交易。筛选器140A可以基于CLOB状态信息和市场参与者142A能够执行的实际交易生成筛选了信用的市场数据。例如,针对市场参与者142A的筛选了信用的市场数据可以包括在给定时间点的给定票据的即期外汇票据的最高订单薄买入/卖出(格式为数量@价格):5M@1.0001/3M@1.0002,而针对相同的时间点和相同的票据,针对市场参与者142B的筛选了信用的市场数据可以包括买入/卖出:3M@1.0001/1M@1.0003。
[0047] 筛选器140A可以对市场参与者142B和筛选器140A所负责的任何其他市场参与者142执行上述操作。筛选器140B和/或其他筛选器140也可以为各自的市场参与者142C-F生成筛选了信用的市场数据。
[0048] 每个筛选器140可以在将每个筛选了信用的市场数据传输给目标市场参与者142之前利用加密密钥对市场数据进行加密。所述加密可以使用高级加密标准(AES),或者用作一次填充的XOR密码,或一些其他加密标准或技术。所有的筛选器可以使用相同的(从密钥生成器126接收的)加密密钥对筛选了信用的市场数据进行加密。当然,当接收到新的CLOB状态信息时,该加密密钥将被新的加密密钥取代。
[0049] 传输加密的筛选了信用的市场数据
[0050] 在操作206中,每个筛选器140可以向各个市场参与者传输加密的筛选了信用的市场数据。该传输可以利用点对点通信协议,例如,但是不限于TCP/IP。由于点对点协议的性质,以及向每个市场参与者142提供筛选了信用的市场数据的自定义性质,给定的市场参与者142可以先于另一个市场参与者接收到自己的筛选了信用的市场数据。但是,由于每个筛选了信用的市场数据在传输之前被加密,给定的市场参与者142在没有加密密钥的情况下无法对加密的筛选了信用的市场数据进行解密。应该注意,在一些实施方式中,给定的筛选器140可以利用点对多点或者多点对多点传输协议将它所有加密的筛选了信用的市场数据同时传输给它的市场参与者142。
[0051] 降低传输期间的峰值带宽
[0052] 在一种实施方式中,一个或多个筛选器140可以单独、或者一起延迟加密的筛选了信用的市场数据的传输。例如,一个或多个筛选器140可以将筛选了信用的市场数据存储在存储器中,并在市场更新之间定期(例如,每50毫秒)传输筛选了信用的市场数据。这样做的好处是可降低通常在市场更新(例如,在交易场所公布了新的CLOB状态信息之后)之后产生的峰值网络流量,这样做还可以产生较少的网络错误,例如数据包丢失。因此,系统利用这里描述的对筛选了信用的市场数据进行加密和延迟传输加密密钥,可以降低峰值网络带宽使用。
[0053] 传输加密密钥
[0054] 在操作208中,市场更新分发应用程序120可以获得与金融票据的给定时间有关的加密的筛选了信用的市场数据已经被传输给每个市场参与者142和/或被每个市场参与者142接收到的指示,并响应于该指示,引起向每个市场参与者142提供用于对筛选了信用的市场数据进行加密的加密密钥。
[0055] 对加密密钥的提供进行同步
[0056] 在一种实施方式中,由于市场数据更新的量可能(并且通常是)较高,因此同步引擎130可以监控筛选器的140的活动,筛选器可以彼此并行操作。
[0057] 同步引擎130可以基于每个筛选器140是否已经将相关的市场更新提供给它们各自的市场参与者142的集合而同步将加密密钥提供给市场参与者。换句话说,同步引擎130可以只有在应该被提供市场更新的所有市场参与者都接收到市场更新(或者至少市场更新被传输给所有这些市场参与者)时才将加密密钥提供给市场参与者142。
[0058] 同步引擎130可以通过各种方式确定加密的筛选了信用的市场数据是否被提供给市场参与者142。例如,同步引擎130可以从每个筛选器140接收指示,该指示表明筛选器已经将加密密钥分发给各自的市场参与者142的集合。作为替代或者附加地,同步引擎130还可以从下游监听器,例如有源或无源网络监听器(图2中未显示)接收指示,该指示表明监听器检测到筛选器140已经将加密的筛选了信用的市场数据提供给市场参与者142。作为替代或者附加地,同步引擎130还可以从每个市场参与者142获得指示,该指示表明其已经接收到加密的筛选了信用的市场数据。不管通过什么方式或方式的组合接收到指示,同步引擎130都可以确保,在同时提供用于对加密的市场更新进行解密的加密密钥之前,所有的市场参与者142都已经接收到各自的加密的筛选了信用的市场数据。
[0059] 在一种实施方式中,响应于所有市场参与者142都已经接收到各自的加密的筛选了信用的市场数据的指示,市场更新分发应用程序120可以向市场参与者142传输加密密钥,引起每个筛选器向每个市场参与者142传输适当的加密密钥,或者使加密密钥对于每个市场参与者142都可用。
[0060] 市场更新与相应加密密钥的映射
[0061] 在一种实施方式中,映射引擎128可以将加密的筛选了信用的市场数据和加密密钥关联起来,所述加密密钥用于对筛选了信用的市场数据进行加密。例如,映射引擎128可以为加密的筛选了信用的市场数据以及加密密钥预先设定或追加未加密的明文字符串。通过这种方式,明文字符串可以被用于将加密的筛选了信用的市场数据与加密密钥关联起来。在另一个实施例中,映射引擎128可以存储表格,该表格将加密的筛选了信用的市场数据的标识符(例如,文件名)和相应的加密密钥的标识符关联起来。在一种实施方式中,映射引擎128可以将映射的加密密钥存储在数据库134中。例如,用于对与市场更新关联的筛选了信用的市场数据进行加密的每个加密密钥可以存储在数据库134中。应该注意,密钥生成器126可以为每个市场数据更新,为个别金融票据,为金融票据的集合,和/或其他数据的分组生成新的密钥。映射引擎128可以用于维持加密密钥和加密的筛选了信用的市场数据的关联,不管密钥在什么时间和以什么方式生成的。
[0062] 可以通过各种方式使用给定加密的筛选了信用的市场数据和相应的加密密钥之间的映射。例如,同步引擎130可以使用映射来识别与提供给给定市场参与者142的加密的筛选了信用的市场数据相对应的加密密钥。另举一例,市场参与者142可以为相应的加密的筛选了信用的市场数据请求加密密钥。如果市场参与者142未接收到加密密钥(例如,在预期接收到密钥的超时周期之后),则其可以请求加密密钥。由于加密密钥还未传输给相关的市场参与者(例如,对于与给定时间有关的金融票据,某些市场参与者还未接收到各自的加密的筛选了信用的市场数据),或者由于网络错误(该错误可能是因为通过没有保证的传输协议,例如多播协议传递加密密钥而产生的),市场参与者142可能未接收到加密密钥。
[0063] 和TCP/IP不同,IP多播传输协议不保证传递,加密密钥可能未如实传递。在这些实例中,市场参与者142不会接收到加密密钥,并可以通过提供加密的筛选了信用的数据(或者识别信息,例如文件名)来请求重新传递。
[0064] 市场数据分发应用程序120可以识别适当的加密密钥,并确定该加密密钥是否已经提供给了其他市场参与者142。响应于确定加密密钥还未提供给其他市场参与者142,市场数据分发应用程序120可以拒绝该请求(并可以提供表明加密密钥还不可用的消息)。响应于确定加密密钥已经提供给其他市场参与者142,市场数据分发应用程序120可以拒绝该请求(并可以提供表明加密密钥还不可用的消息)。另一方面,如果加密密钥还未提供给其他市场参与者142,市场数据分发应用程序120可以向正在请求的市场参与者提供加密密钥。
[0065] 接收到加密密钥后,市场参与者142可以解密和破译筛选了信用的市场数据,其包括每个市场参与者的筛选了信用的价格和数量。多播可以通过计算机网络同时传输加密密钥的一个副本,网络相关的特征是相等的,市场参与者可以基本上同时接收到加密密钥的单个副本。
[0066] 系统架构和配置的实施例
[0067] 可以使用不同的系统架构。例如,市场数据分发应用程序120和/或一个或多个筛选器140的全部或一部分可以在服务器设备上执行。换句话说,示出的计算机设备110可以包括服务器设备,该服务器设备从用户操作的用户设备获得用户请求。在市场数据分发应用程序120和/或一个或多个筛选器140的全部或一部分在服务器设备上执行的实施方式中,服务器设备执行市场数据分发应用程序120和/或一个或多个筛选器140的功能的全部或一部分。
[0068] 尽管在图1中被显示为单个部件,但是计算机系统104可以包括多个独立的部件(例如,计算机设备),每个部件编程有这里描述的功能的至少一部分。可以理解,通过这种方式,计算机系统104的某些部件可以执行某些功能,而其他部件可以执行其他功能。一个或多个处理器112各自可以包括用计算机程序指令编程的一个或多个物理处理器。这里描述的各种指令只是为了举例。只要处理器112编程为执行这里描述的功能,也可以使用其他配置和其他数量的指令。
[0069] 此外,应该理解,虽然在图1中各种指令被显示成共同位于单个处理单元内,但是在处理器112包括多个处理单元的实施方式中,一个或多个指令可以相对于其他指令被远程执行。
[0070] 对这里描述的不同指令所提供的功能的描述只是为了说明,而不是限制性的,因为任意指令可以提供比所描述的功能更多或更少的功能。例如,可以删除指令中的一个或多个,它的某些或全部功能可以由其他指令提供。另举一例,可以用一个或多个附加指令来编程处理器112,所述指令可以执行这里归属于一个指令的全部或部分功能。
[0071] 这里描述的各种指令可以存储在存储设备114中,存储设备114可以包括随机存取存储器(RAM)、只读存储器(ROM)、和/或其他存储器。存储设备可以存储将由处理器112执行的计算机程序指令(例如,前面提到的指令)以及可以由处理器112操作的数据。存储设备可以包括软盘、硬盘、光盘、磁带、或用于存储计算机可执行指令和/或数据的其他存储介质。
[0072] 图1所示的各种部件可以通过网络与至少一个其他部件连接,网络可以包括以下网络中的一个或多个:互联网、内联网、个人局域网(PAN)、局域网(LAN)、广域网(WAN)、存储局域网(SAN)、城域网(MAN)、无线网、蜂窝通信网、公共交换电话网、和/或其他网络。在图1和其他附图中,可以使用比所示实体数量更多的实体。此外,根据各种实施方式,这里描述的部件可以实现为硬件和/或配置硬件的软件。
[0073] 这里描述的各种数据库134可以是、或者包括、或者连接至-举例来说-甲骨文公司(Oracle Corporation)出售的OracleTM关系数据库。也可以使用、包含、或者访问其他数据库,例如InformixTM,Database 2(DB2),或其他数据存储器,包括基于文件的数据存储器,查询格式的数据存储器,平台或资源,例如联机分析处理(OLAP),结构化查询语言(SQL),存储局域网(SAN),Microsoft AccessTM等。数据库可以包括存在于一个或多个物理设备中、并且位于一个或多个物理位置的一个或多个所述数据库。数据库可以存储多种类型的数据和/或文件,以及关联数据或文件描述,管理信息,或任何其他数据。
[0074] 图3显示了根据本发明的一种实施方式的用于分发公平的筛选了信用的市场数据的数据流程图300。这里更详细地对图3(以及其他附图)中描述的各种处理操作和/或数据流进行描述。所描述的操作可以通过上面详细描述的全部或部分系统部件实现,并且在某些实施方式中,各种操作可以按不同顺序执行,并且可以省略多种操作。附加操作可以和流程图中显示的部分或所有操作一起执行。一个或多个操作可以是同时执行。因此,所显示(以及在下面更详细地描述)的操作只是示例性的,因此不应视为是限制性的。
[0075] 在示例性数据流300中,加密的筛选了信用的市场数据可以传输给市场参与者A、B和C,并且t=0μs(“μs”为微秒)。当t=0μs时,市场参与者A可以接收加密的筛选了信用的市场数据。当t=10μs时,市场参与者B可以接收加密的筛选了信用的市场数据。当t=20μs时,市场参与者C可以接收加密的筛选了信用的市场数据。因为筛选了信用的市场数据被加密,市场参与者A、B和C无法在接收后破译或理解筛选了信用的市场数据。当t=30μs时,市场参与者A、B和C可以接收用于对筛选了信用的市场数据进行加密的加密密钥。在接收到加密密钥后,市场参与者A、B和C能够利用加密密钥来破译和理解加密的筛选了信用的市场数据。如下表所示,市场参与者A、B和C可以在不同时间接收加密的筛选了信用的市场数据,他们能够在接收到加密密钥之后同时破译或理解筛选了信用的市场数据。
[0076]市场参与者 接收到加密的市场数据的时间 接收到加密密钥的时间
A t=0μs t=30μs
B t=10μs t=30μs
C t=20μs t=30μs
[0077] 图4显示了根据本发明的一种实施方式的筛选了信用的市场数据的分发处理的处理流程图400。这里更详细地对图4(以及其他附图)中描述的各种处理操作和/或数据流进行描述。所描述的实施方式可以通过上面详细描述的全部或部分系统部件实现,并且在某些实施方式中,各种操作可以按不同顺序执行,并且可以省略多种操作。附加操作可以和流程图中显示的部分或所有操作一起执行。一个或多个操作可以是同时执行。因此,所显示(以及在下面更详细地描述)的操作只是示例性的,因此不应视为是限制性的。
[0078] 在操作402中,为一个或多个市场参与者生成筛选了信用的市场数据。在一种实施方式中,一个或多个市场参与者可以从电子交易系统,例如FX ECN接收与金融票据关联的筛选了信用的价格和数量,并且筛选了信用的价格和数量生成指示其的筛选了信用的市场数据。
[0079] 在操作404中,利用加密密钥对筛选了信用的市场数据进行加密。例如,可以利用数据加密密钥对筛选了信用的市场数据进行加密。例如,可以在传输给市场参与者的任何筛选了信用的价格和数量更新之前生成随机加密密钥。随机密钥可以被用于在筛选了信用的价格和数量被传输给市场参与者之前,对所有的(或部分的)筛选了信用的市场数据进行加密。
[0080] 在操作406中,将加密的筛选了信用的市场数据传输给一个或多个市场参与者。在一种实施方式中,加密的筛选了信用的市场数据可以在市场更新之间在预定时间传输给一个或多个市场参与者。因为筛选了信用的市场数据被加密,故市场参与者无法在接收后破译或理解筛选了信用的市场数据。
[0081] 在操作408中,确定是否已经从一个或多个市场参与者接收到回执,该回执确认接收加密的筛选了信用的市场数据。
[0082] 在操作408中,响应于从一个或多个市场参与者接收到确认加密的筛选了信用的市场数据已经被接收的回执,与加密的筛选了信用的市场数据关联的加密密钥被同时传输给一个或多个市场参与者。例如,在针对给定市场数据更新已经向市场参与者发送了加密的筛选了信用的市场数据之后,利用多播传输协议将用于对筛选了信用的市场数据进行加密的加密密钥传输给市场参与者。在一种实施方式中,可以利用多播传输协议同时向市场参与者传输(网络特征相同)加密密钥。接收到加密密钥后,市场参与者可以解密和破译筛选了信用的市场数据,其包括每个市场参与者的筛选了信用的价格和数量。
[0083] 如果未从一个或多个市场参与者接收到确认加密的筛选了信用的市场数据已经被接收的回执,则在预定时间周期之后向一个或多个市场参与者重新传输加密的筛选了信用的市场数据。
[0084] 在操作410中,利用传输的加密密钥对加密的筛选了信用的市场数据进行解密。
[0085] 在上面的描述中,使用了术语(IP)多播和TCP/IP。这些术语是广泛使用的,并广为人知的“标准”网络协议。这些特定术语的使用不意味着机制的适用性只局限于这些特定的网络协议。在本文的背景下,术语“多播”可以理解为任何现有的或将来的网络协议,在这些协议中,发送方将消息的单个副本放在电子网络上,不管消息将要传递到的接收者的数量是多少。同样,除非在文中另外指出(特别是关于可靠性),否则TCP/IP仅用于表示如下的任何协议,在该协议中,存在由发送方放在电子网络上的每个接收者的一个消息副本。
[0086] 在上文中,术语“加密密钥”可以用于指代用于加密数据的密钥,以及用于解密数据的密钥。在一种非对称加密方案中,有一对不同的密钥:解密密钥是发送给接收者(市场参与者)的密钥,加密密钥是发送方用来加密数据的密钥。在上文中,应该理解,“加密密钥”可以指代用于加密数据的密钥,或者用于解密数据的密钥,这取决于上下文,并且这些密钥可以是相同的(如同在对称加密方案中)或不同的(如同在非对称加密方案中)。
[0087] 通过理解说明书和实施本发明,本发明的其他实施方式、用途和优点对于本领域技术人员而言将是显而易见的。说明书应该理解为只是示例性的,本发明的范围因此只由权利要求限定。