CN105074698B - 并行地执行连续事件处理(cep)查询 - Google Patents
并行地执行连续事件处理(cep)查询 Download PDFInfo
- Publication number
- CN105074698B CN105074698B CN201480009223.2A CN201480009223A CN105074698B CN 105074698 B CN105074698 B CN 105074698B CN 201480009223 A CN201480009223 A CN 201480009223A CN 105074698 B CN105074698 B CN 105074698B
- Authority
- CN
- China
- Prior art keywords
- cep
- constraint
- operator
- event
- inquiry
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24565—Triggers; Constraints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
连续事件处理(CEP)查询处理器确定如何以及何时可以以并行的方式处理CEP查询,以使得多个执行线程可以并行地执行彼此并行的CEP查询操作中的至少一些操作。根据一种技术,用户可以指示CEP查询处理器试图以并行的方式执行CEP查询。CEP查询处理器响应地基于可以取决于继承和操作类型的某些约束确定是否可以使CEP查询执行或其部分并行地进行。基于此确定,CEP查询处理器可以针对事件流内的相同事件并行地执行CEP查询中的至少某些部分。
Description
技术领域
本申请涉及对连续事件处理(CEP)查询的处理。
背景技术
数据库在传统上已经被用于需要存储数据以及对存储的数据进行查询的能力的应用。因此现有的数据库最适合在有限存储的数据集上运行查询。但是,传统的数据库模型不是很适合于越来越多的在其中数据作为数据事件流而不是有界的数据集被接收的现代应用。数据流也被称为事件流,其特征在于实时、潜在地连续的事件序列。因此数据流或事件流代表无界的数据集。生成数据流的源的示例包括被配置为发送传感器读数序列的传感器和探测器(例如,RFID传感器、温度传感器等)、金融自动报价机、发送网络状态更新的网络监控和流量管理应用、点击流分析工具以及其他。
CEP是一种对处理事件流中的数据有用的技术。CEP是高度有状态的。CEP涉及连续地接收事件,并且在那些事件当中找到某种模式。因此CEP涉及大量的状态维护。由于CEP涉及对如此多状态的维护,所以将CEP查询应用到事件流内的数据的处理总是单线程的。在计算机程序设计中,单线程是一次处理一个命令。
CEP查询处理通常涉及针对事件流内指定的事件对查询的连续执行。例如,为了连续地观测在最近一小时内的股票的平均价格可以使用CEP查询处理。在这样的情况下,针对包含其中每个事件指示在不同时间股票的当前价格的多个事件的事件流,可以执行CEP查询处理。查询可以集合最后一个小时内的股票价格并且然后计算那些股票价格的平均值。查询可以输出每个计算的平均值。随着价格的一小时长窗口的移动,查询可以被连续地执行,并且查询可以输出各种不同的平均股票价格。
由于总是在单个线程内执行这样的CEP查询处理,所以CEP查询处理的伸缩可能变得有问题。当计算机具有能够并行地执行操作的多个处理器时、或当计算系统具有能够并行地执行操作的许多节点时,这样的机器和系统的并行处理能力在执行CEP查询处理时可能被浪费。
另外,在执行CEP查询期间,有时错误可能出现。传统上,当在执行CEP查询期间出现错误时,该错误仅仅使得CEP查询停止执行。连续查询语言(CQL)从结构化查询语言(SQL)发展而来。在SQL中,通常对数据集执行一次查询,而不是对连续的事件流中的事件连续地执行查询。由于SQL查询通常仅被执行一次,所以SQL查询的失败通常通过让数据库管理员手动地调查问题、并且然后让数据库管理员对数据库或查询手动地做出为解决问题所必需的任何改变、并且然后让数据库管理员重新执行查询来进行补救。相反地,可以对事件流中的事件连续地执行CQL查询。使得CQL查询停止执行的错误可能仅仅是因为在事件流内的单个无效事件。令人遗憾地,即使在事件流中的剩余事件有效,只要CQL查询保持停止,那些事件也不会被CQL查询处理。反而,那些事件可能仅仅随着事件流随时间继续流动而丢失。除非管理员手动地重新启动CQL查询,否则CQL查询不会被重新启动。通常地,管理员将仅仅重新启动CQL查询,而根本不会改变CQL查询、不会认识到错误是由于无效事件造成的。在这样的情况下,CQL查询的停止,以及它伴随产生的事件数据的丢失是令人遗憾的并且不必要的。
发明内容
本发明的某些实施例涉及用于确定如何以及何时可以以并行的方式处理CEP查询,以使得多个执行线程可以并行地执行彼此并行的CEP查询的操作中的至少一些操作的技术。根据一种技术,用户可以指示CEP查询处理器试图以并行的方式执行CEP查询。CEP查询处理器响应地基于可以取决于继承和操作类型的某些约束确定是否可以使CEP查询的执行或其部分并行地进行。基于此确定,CEP查询处理器可以针对事件流内的相同事件并行执行CEP查询中的至少某些部分。
本发明的某些实施例涉及用于将故障和故障处理的概念增加到CEP查询的执行的技术。通过把故障处理技术引入到CEP查询(CQL查询是CEP查询的一种)的处理,用户能够指示CEP查询处理器以自定义的方式响应故障,该自定义的方式不一定涉及与故障发生有关的CEP查询的停止。例如,故障可能由临时的问题造成。在这样的情况下,CEP查询处理器可以被指示或被编程以忽略故障并且允许针对事件流的剩余部分继续执行CEP查询。可替换地,如果故障是由CEP查询自身的问题造成的,那么CEP查询处理器可以被指示或被编程以将故障传播通过查询处理系统直到故障最终使得有问题的CEP查询被停止。
本发明的某些实施例涉及用于处理事件数据流的装置,所述装置包括:用于将连续事件处理(CEP)查询分解为多个单独操作符的部件;用于确定针对多个单独操作符内的每个特定操作符的单独约束的部件;用于至少部分地基于针对多个单独操作符确定的约束确定针对CEP查询的约束的部件;用于基于针对CEP查询的约束确定是否可以以并行方式执行CEP查询的至少一部分的部件;以及用于响应于确定可以以并行的方式执行CEP查询的至少一部分来产生并行地处理来自事件流的事件的多个执行线程的部件。
在示例中,该装置还包括用于至少部分地基于与事件流相关联的约束确定针对CEP查询的约束的部件。
在示例中,用于确定针对多个单独操作符内的每个特定操作符的单独约束的部件包括用于至少部分地基于特定操作符从中接收输入的一个或多个其它操作符的一个或多个约束确定针对特定操作符的约束的部件。
在示例中,用于确定针对多个单独操作符内的每个特定操作符的单独约束的部件包括用于至少部分地基于特定操作符的操作类型是否是过滤操作类型来确定针对特定操作符的约束的部件。
在示例中,用于确定针对多个单独操作符内的每个特定操作符的单独约束的部件包括用于通过确定约束集合内最受限的约束来确定针对特定操作符的约束的装置,所述约束集合包括(a)特定操作符从中接收输入的所有其它操作符的约束和(b)与特定操作符的操作类型相关联的约束。
在示例中,该装置还包括:用于将以下合并成为单个共享操作符的部件,(a)由处理事件流中的事件的第一CEP查询使用的第一操作符,和(b)由也处理事件流中的事件的第二CEP查询使用的第二操作符,所述合并响应于确定第一操作符和第二操作符都执行特定类型的操作。
在示例中,该装置还包括:用于将以下合并成为单个共享操作符的部件,(a)由处理事件流中的事件的第一CEP查询使用的第一操作符,和(b)由也处理事件流中的事件的第二CEP查询使用的第二操作符,所述合并响应于确定第一操作符和第二操作符都执行特定类型的操作;其中用于确定针对多个单独操作符内的每个特定操作符的单独约束的部件包括用于至少部分地基于共享操作符的约束确定针对从共享操作符中接收输入的第三操作符的约束的部件;其中用于确定针对多个单独操作符内的每个特定操作符的单独约束的部件包括用于至少部分地基于共享操作符的约束确定针对从共享操作符中接收输入的第四操作符的约束的部件;其中第三操作符由第一CEP查询使用并且不由第二CEP查询使用;其中第四操作符由第二CEP查询使用并且不由第一CEP查询使用。
一种用于处理事件数据流的系统,所述系统包括:被配置为将连续事件处理(CEP)查询分解成为多个单独操作符的查询分解单元;被配置为确定针对多个单独操作符内的每个特定操作符的单独约束的第一约束确定单元;被配置为至少部分地基于第一约束确定单元针对多个单独操作符确定的约束来确定针对CEP查询的约束的第二约束确定单元;以及被配置为基于针对CEP查询的约束确定是否可以以并行方式执行CEP查询的至少一部分的执行确定单元;以及被配置为响应于确定可以以并行的方式执行CEP查询的至少部分来产生并行地处理来自事件流的事件的多个执行线程的线程产生单元。
在示例中,系统还包括被配置为至少部分地基于与事件流相关联的约束确定针对CEP查询的约束的第三约束确定单元。
在示例中,第一约束确定单元被配置为至少部分地通过至少部分地基于特定操作符从中接收输入的一个或多个其它操作符的一个或多个约束确定针对特定操作符的约束,来确定针对多个单独操作符内的每个特定操作符的单独约束。
在示例中,第一约束确定单元被配置为至少部分地通过至少部分地基于特定操作符的操作类型是否是过滤操作类型确定针对特定操作符的约束,来确定针对多个单独操作符内的每个特定操作符的单独约束。
在示例中,第一约束确定单元被配置为至少部分地通过经由确定约束集合内最受限的约束来确定针对特定操作符的约束,来确定针对多个单独操作符内的每个特定操作符的单独约束,所述约束集合包括(a)特定操作符从中接收输入的所有其它操作符的约束和(b)与特定操作符的操作类型相关联的约束。
在示例中,系统还包括被配置为将以下合并成为单个共享操作符的合并单元,(a)由处理事件流中的事件的第一CEP查询使用的第一操作符,和(b)由也处理事件流中的事件的第二CEP查询使用的第二操作符,所述合并响应于确定第一操作符和第二操作符都执行特定类型的操作。
在示例中,系统还包括被配置为将以下合并成为单个共享操作符的合并单元,(a)由处理事件流中的事件的第一CEP查询使用的第一操作符,和(b)由也处理事件流中的事件的第二CEP查询使用的第二操作符,所述合并响应于确定第一操作符和第二操作符都执行特定类型的操作;其中第一约束确定单元还包括:被配置为至少部分地基于共享操作符的约束确定针对从共享操作符中接收输入的第三操作符的约束的第一子单元;和被配置为至少部分地基于共享操作符的约束确定针对从共享操作符中接收输入的第四操作符的约束的第二子单元;其中第三操作符由第一CEP查询使用并且不由第二CEP查询使用;其中第四操作符由第二CEP查询使用并且不由第一CEP查询使用。
当参考下列说明书、权利要求书和附图时,上述连同其它特征和实施例将变得更清晰。
附图说明
图1是说明根据本发明的实施例、用于基于CEP查询的操作符确定是否可以以并行方式执行CEP查询的示例技术的流程图。
图2是说明根据本发明的实施例、用于确定在操作符的有向图中的特定操作符的并行性约束的示例技术的流程图。
图3是说明根据本发明的实施例、用于将操作符增加到CEP查询的开始处以便允许或强制执行在CEP查询的执行中的最大可允许并行性的示例技术的流程图。
图4是说明根据本发明的实施例、CEP查询处理器的用户注册的故障处理器可以借以处理由CEP查询的操作符抛出的故障的示例技术的流程图。
图5是说明根据本发明的实施例可以使用的系统环境的组件的简化框图;
图6是说明根据本发明的实施例可以使用的计算机系统的简化框图;以及
图7是根据本发明的实施例的系统的功能框图。
具体实施方式
在下面的描述中,为了说明的目的,具体的细节被阐述以便提供对本发明的实施例的深入理解。但是,明显的是本发明可以在没有这些具体细节的情况下被实施。
在本发明的一个实施例中,CEP查询处理器可以评估CEP查询的各种组件。基于此评估,CEP查询处理器可以将CEP查询分解成为单独的片段。CEP查询处理器然后可以评估CEP查询的每个这样的片段以便确定是否可以以并行的方式处理那个片段。基于此评估的结果,可以以并行的方式处理CEP查询的某些片段—使得CEP查询的那些片段可以在相同的时间被应用到来自事件流的多个事件—而可以以非并行的、顺序的方式处理CEP查询的其他片段。
可以按时间对事件流中的事件排序,以使得查询处理器可以在接收事件流中最新的事件之前接收那个事件流中最旧的事件。根据本发明的实施例,CEP查询处理器可以从用户处接收指示指定的CEP查询中的没有任何部分、全部或至少一部分可以以并行的方式、或换句话说并行地被处理的指令。例如,用户可以通知CEP查询处理器指定的CEP查询是完全有序的。在这样的情况下,CEP查询处理器可以确定指定的CEP查询中没有任何部分可以以并行的方式被处理,这是因为对完全有序的CEP查询的并行处理可以使得被处理的事件丢失它们的次序。例如另一个实例,用户可以通知CEP查询处理器指定的CEP查询是无序的。如果CEP查询处理并输出来自事件流的事件所依照的次序对用户来说不重要,那么CEP查询是无序的。例如又一个实例,用户可以通知CEP查询处理指定的CEP查询是分区有序的。如果对于CEP查询的分区中的每一个分区,该分区内的事件必须相对于该分区内的其他事件按次序地被处理,但不一定相对于其它分区内的事件按次序地被处理,那么CEP查询是分区有序的。基于用户的指令,CEP查询处理器可以确定CEP查询的哪些片段(如果有的话)可以以并行的方式被处理。基于分区的处理涉及的每个分区可以包含来自不同类别的事件。例如,基于分区的处理可以涉及针对具有在相同事件流内表示的股票价格事件的每个单独公司计算单独的平均股票价格。在这样的情况下,依照股票代码对CEP查询概念地分区。CEP查询可以通过包含“分组(group by)”子句指示它涉及基于分区的处理。
在实施例中,CEP查询的并行处理不会使得事件流中的多个事件被并行地处理。反而,CEP查询的并行处理可以使得该CEP查询的多个部分或多个操作相对于事件流内的特定事件被并行地执行。对于事件流中的每个这样的特定事件,CEP查询的那些多个部分可以相对于该特定事件被并行地执行。在本发明的实施例中,CEP处理器可以通过执行多个线程以并行方式相对于事件处理CEP查询的一部分,其中每个线程可以相对于事件并行地执行CEP查询的操作。当这发生时,无法保证关于多个线程中的哪一个线程将首先完成对它的操作的执行。单个线程可以致力于从事件流中提取事件以防所述事件无意中变得无序。
在实施例中,CEP查询处理器可以接收来自用户的输入,该输入指示由那个用户的应用所具备的某些约束。例如,用户可以具有在控制面板上显示股票价格的应用。可以从事件流中读取股票价格。情况可能是用户不关心来自事件流的股票价格是否严格地按时间次序显示。在这样的情况下,用户的应用可以应对无序的事件。在其它情况下,用户的应用可以要求事件保持有序。例如,应用可以涉及响应于股票价格已经降低到特定阈值以下的确定,对股票的自动买卖。在这样的情况下,股票价格事件的次序按次序地被处理将是重要的。该应用所属于的用户可以通知CEP查询处理器在这一方面该应用所具备的排序约束(如果有的话)。
在实施例中,在接收来自用户的这样的约束信息之后,CEP查询处理器可以确定CEP查询中的哪些片段或操作可以以并行的方式被执行而仍然维持那些约束。在实施例中,CEP处理器可以应用特定的“运算(calculus)”以做出此确定。在做出此确定中,CEP处理器可以确定机器的中央处理单元、和/或系统的节点可以被最大化地利用以执行CEP查询而仍然认可约束所采用的方式。
潜在地,多个不同的CEP查询可以针对相同的事件流执行。在CEP系统中,多个不同的CEP查询可以向CEP系统注册并且然后针对事件流被连续地执行。每个这样的CEP查询可以被概念地构思为操作符的树,每个操作符都具有操作类型。在本发明的实施例中,CEP查询处理器可以概念地通过将那些CEP查询的操作符树结合在一起,将针对相同的事件流要被执行的所有CEP查询集合在一起。CEP查询处理器可以通过首先将每个CEP查询分解成为构成该CEP查询的低级别的操作符来执行此结合。以这样的方式分解CEP查询不一定在CEP查询处理系统内引发任何额外的代价,这是因为无论如何这样的CEP查询经常由于其它原因以这样的方式被分解。在本发明的实施例中,CEP查询处理器可以将CEP查询分解成的操作的种类包括(1)过滤操作、(2)选择操作、(3)投影操作、和(4)连接操作,以及潜在地其他种类的操作。这些是通常在可以针对数据库系统执行的查询中找到的相同种类的操作。CEP查询处理器然后可以基于这些低级别操作符的操作类型确定这些低级别操作符中的潜在地来自于单独的CEP查询的哪些操作符可以被共享。
例如,多个CEP查询可以执行过滤操作。过滤操作可以选择性地输出与从事件流接收到的所有事件相比较少的事件;过滤操作可以从事件流中过滤出不符合特定于操作的过滤标准的其它事件,以使得过滤操作不将那些事件传递到其它查询操作。在实施例中,如果CEP查询的集合中的多个CEP查询针对事件流执行过滤操作,那么CEP查询处理器可以确定在这些CEP查询中的所有过滤操作可以共享相同的过滤操作符,即使这些过滤操作的过滤标准不同。在实施例中,诸如分组(group-by)操作和聚集操作之类的某些其它类型的操作不被允许共享操作符,即使针对事件流执行的多个CEP查询执行那些类型的操作。因此,根据本发明的实施例,诸如过滤操作之类的仅仅某些指定类型的操作可以共享操作符。在本发明的实施例中,CEP查询处理器可以将可以由针对相同的事件流执行的多个CEP查询共享的所有操作符结合在一起,并且留下未结合的所有其它操作符。因此,来自多个CEP查询的多个过滤操作可以通过使得那些过滤操作共享单个过滤操作符而被结合在一起,而分组操作、聚集操作、和其它种类的不可共享的操作可以保留单独的操作符。在本发明的实施例中,CEP查询处理器可以试图使尽可能多的操作共享由上面讨论的操作类型考虑所限制的相同的操作符。
在本发明的实施例中,CEP查询处理器可以将以这样的方式确定和创建的操作符集合连接到一起,潜在地与一些共享一起,成为操作符的有向图。在该图中,操作符可以基于它们的输入和输出被连接到一起。输出事件到其它操作符的操作符可以具有到图中的那些其它操作符的外出链路。从其它操作符接收事件的操作符可以具有从图中的那些其它操作符的进入链路。特定的操作符可以具有来回于图中的其他操作符的多个进入和/或外出链路。如果该特定的操作符是由针对事件流执行的多个单独的CEP查询共享的操作符,这尤其可能出现。因此,来自第一CEP查询的操作符和来自第二CEP查询的操作符都可以将事件输出到由第一和第二CEP查询共享的特定的过滤操作符。如此被共享的该特定的过滤操作符可以将事件从第一CEP查询输出到另一个操作符并且从第二CEP查询输出到另一个操作符。
总体来说,然后操作符的有向图可以具有多个根操作符(每个CEP查询具有一个)、多个中间操作符和多个叶操作符。每个根操作符可以直接从事件流接收事件作为输入并且将那些事件输出到其它操作符。叶操作符可以从其它操作符接收事件,针对那些事件执行操作,并且然后将那些事件输出到应用的事件消费者,诸如基于那些事件显示输出的应用组件。CEP查询处理器可以基于操作符的操作类型对有向图内的这些操作符彼此进行组织。因此,例如,CEP查询处理器可以保证从事件流中提取事件的操作符在过滤那些事件的过滤操作符之前到来,或将输出传递到该过滤操作符。同样,例如,CEP查询处理器可以保证这样的过滤操作符在聚集那些事件指定的数据的聚集操作符(例如,计算平均值)之前到来,或将输出传递到该聚集操作符。这种组织可以基于为了使聚集被适当地执行应当在聚集之前执行过滤的事实,但是这可以潜在地取决于CEP查询的特定语法而变化。
在本发明的实施例中,CEP查询处理器可以针对操作符的有向图中的操作符执行递归技术以确定图中操作符中的哪一个可以与那个图中的其它操作符并行地执行它的操作。更具体地,CEP处理器可以执行此技术以确定图中的每个操作符可以与那个图中的其它操作符并行地执行它的操作所到的程度。如上述讨论,操作符的有向图中的操作符中的一些操作符是图中距离事件流本身最远的叶操作符(根操作符距离事件流最近)。根据一个实施例,CEP查询处理器可以通过针对操作符的有向图中的每个叶操作符执行递归技术开始。递归技术可以涉及确定对其执行技术的特定操作符可以与其它操作符并行地被执行所到的程度。反过来,此确定可以涉及首先对所有其它操作符递归地执行相同的技术,特定操作符在操作符的有向图中具有从所述所有其它操作符的进入链路。如果对其执行递归技术的操作符是直接从事件流接收事件的根操作符,那么可以针对事件流本身递归地执行技术。事件流具有某些属性。这些属性指示事件流是否是完全有序的、无序的、或基于某种指定分区而分区有序的。在实施例中,如上所述,这些属性可以由从事件流接收事件的应用的用户指定。
根据本发明的实施例,在针对操作符的有向图中的特定操作符执行递归技术期间,指示可以与其它操作符并行地执行特定操作符所到的程度的约束可以以下面的方式针对特定的操作符确定。首先,特定操作符的“继承的”约束可以基于在有向图中的它的“父级”(它具有从其而来的进入链路或它从其中接收输入的操作符)的约束被确定。然后,另一个基于特定操作符自己的操作类型的基于类型的约束可以针对特定的操作符确定。特定操作符的最终约束可以基于它的继承的约束和它的基于类型的约束。例如,特定操作符的最终约束可以是它的继承的约束和基于类型的约束中最受限的。
为了确定特定操作符的继承的约束,首先,根据递归技术,可以确定特定操作符在图中具有从其而来的进入链路的其它操作符中的每个操作符的最终约束。特定操作符的继承的约束然后可以变为那些其它操作符中的最受限的最终约束。在实施例中,完全有序是最受限的约束。在实施例中,分区有序是与完全有序相比较少受限的约束,但与无序相比更受限。在实施例中,无序是最少受限的约束。
因此,例如,如果特定操作符具有从操作符的有向图中的三个其它操作符来的进入链路,并且如果这些其它操作符的最终约束是完全有序、分区有序、和无序,那么特定操作符的继承的约束可以变为完全有序(特定操作符具有从其而来的进入链路的其它操作符的约束中最受限的),意味着特定操作符根本不能与其它操作符并行地被执行。例如另一个实例,如果特定操作符具有从操作符的有向图中的两个其它操作符来的进入链路,并且如果这些其它操作符的最终约束两者都是无序的,那么特定操作符的继承的约束类似地可以变为无序。可以基于事件流的属性确定事件流本身的约束。
在基于特定操作符具有从其来的进入链路的其它操作符的约束确定特定操作符的继承的约束之后,特定操作符的最终约束可以变为它的继承的约束,除非特定操作符的基于类型的约束比它的继承的约束更受限。每个操作符可以具有操作类型,并且每个操作类型可以具有约束,该约束是完全有序、分区有序或无序。例如,过滤操作类型可以具有无序的约束;执行过滤所按照的次序不重要。但是,另一个实例,标准偏差操作类型可以具有完全有序的约束。因此,即使标准偏差操作符的继承的约束是无序或分区有序,标准偏差操作符的最终约束可以变为完全有序,这是因为操作符的基于类型的约束比操作符的继承的约束更受限。因此,在本发明的一个实施例中,特定操作符的最终约束可以变为以下约束中最受限的:(a)特定操作符具有在操作符的有向图中的从其来的进入链路的操作符的约束和(b)特定操作符自身的基于类型的约束。如果特定操作符具有到操作符的有向图中的其它操作符的外出链路,那么它可以是用于至少部分地确定那些其它操作符的继承的约束的特定操作符的这个最终约束。
以此递归的方式,在操作符的有向图中的操作符中的每个操作符可以获得指示可以与操作符的有向图中的其它操作符并行地执行操作符所到的程度的属性,所述属性是可以是以下中的一个的最终约束:完全有序,分区有序、或无序。最终,操作符的有向图中的根操作符的每个操作符可以获得这样的属性。由于每个这样的根操作符可以对应于单独的CEP查询,那个根操作符的属性可以变为整个对应的CEP查询的属性。
根据本发明的实施例,在CEP查询中的每个查询以上述讨论的方式获得约束属性之后,CEP查询处理器可以产生针对具有无序的约束的每个这样的CEP查询的多个单独的执行线程。在为特定的CEP查询创建查询执行计划中,CEP查询处理器可以保证这些线程中的每个线程从事件流中并行地接收相同的事件。这些线程然后可以并行地处理那些事件并且将它们处理的事件输出到它们的消费者。在一个实施例中,为了使得这些执行线程在执行特定的CEP查询之前被产生,CEP查询处理器可以将进程产生操作符置于在开始执行那个CEP查询时要被执行的特定CEP查询的开始处。
类似地,在本发明的一个实施例中,CEP查询处理器可以产生针对具有分区有序的约束的每个CEP查询的多个单独的执行线程。基于指定的分区专门地将由这些线程执行的这些操作分离开,以使得每个线程处理仅仅对应于那个线程的不同分区的操作符,并且使得在线程之内,以连续的方式处理事件。在为特定CEP查询创建查询执行计划中,CEP查询处理器可以保证这些线程的每个线程仅仅接收与它的分区相关的事件(例如,过滤指定公司的股票价格),但是这些线程可以并行地对来自事件流的不同事件(不同的分区的)进行操作。在一个实施例中,为了使得这些执行线程在执行特定的CEP查询之前被产生,CEP查询处理器可以在开始执行要被执行的特定CEP查询时将进程产生操作符置于该特定CEP查询的开始处。
在本发明的一个实施例中,对于具有完全有序的约束的每个CEP查询,在执行该CEP查询之前,CEP查询处理器可以在要被执行的CEP查询的执行开始时将锁定操作符置于那个CEP查询的开始处,以便保证在那个CEP查询中涉及的每个操作符的操作在单个线程内顺序地被执行而不是并行地被执行。
图1是说明根据本发明的实施例、用于基于CEP查询的操作符确定是否可以以并行方式执行CEP查询的示例技术100的流程图。虽然在图1中以示例的方式说明某些块,但是本发明的替代实施例可以包含更多、更少、或不同的块,和/或以不同的顺序出现的块。在块102中,CEP查询处理器可以从用户接收指示被施加于涉及一组CEP查询的应用的并行性约束的输入。在块104中,CEP查询处理器可以将组中的每个CEP查询分解成单独的操作符树。在块106中,CEP查询处理器可以通过在树之间共享一些操作符将操作符树结合在一起,由此形成操作符的有向图。在块108中,CEP查询处理器可以确定有向图中的每个操作符的并行性约束。在块110中,CEP查询处理器可以基于那个CEP查询的操作符的并行性约束确定组中的每个CEP查询的并行性约束。在块112中,CEP查询处理器可以基于那些CEP查询的并行性约束将操作符增加到CEP查询的开始以允许或防止对那些CEP查询的并行执行。
图2是说明根据本发明的实施例、用于确定操作符的有向图中的特定操作符的并行性约束的示例技术200的流程图。例如,可以在已经执行图1的块106的结合之后,针对操作符的有向图中的每个操作符执行技术200。虽然在图2中以示例的方式说明某些块,但是本发明的替代实施例可以包含更多、更少、或不同的块,和/或以不同的顺序出现的块。在块202中,CEP查询处理器可以确定特定操作符从其中接收事件的每个其它操作符的最终并行性约束。例如,CEP查询处理器可以递归地使用技术200以确定每个这样的其它操作符的最终并行性约束。在块204中,CEP查询处理器可以将特定操作符的继承的并行性约束设置为特定操作符从其中接收事件的其它操作符的最终并行性约束中最受限的。在块206中,CEP查询处理器可以基于由操作符执行的操作的类型设置特定操作符的基于类型的并行性约束。在块208中,CEP查询处理器可以将特定操作符的最终并行性约束设置为以下约束中最受限的(a)特定操作符的继承的并行性约束和(b)特定操作符的基于类型的并行性约束。
图3是说明根据本发明的实施例、用于将操作符增加到CEP查询的开始处以便允许或强制执行该CEP查询的执行中的最大可允许的并行性的示例技术300的流程图。例如,在已经针对操作符的有向图中的所有操作符执行图2的技术200的应用之后,可以针对在应用中涉及的CEP查询组中的CEP查询中的每个CEP查询执行技术300。虽然在图3中以示例的方式说明某些块,但是本发明的替代实施例可以包含更多、更少、或不同的块,和/或以不同的顺序出现的块。在块302中,CEP查询处理器可以确定在操作符的有向图中的CEP查询的根操作符的最终并行性约束是否是无序、分区有序、或完全有序。如果最终的并行性约束是无序,那么控制转到块306。如果最终的并行性约束是分区有序,那么控制转到块308。如果最终的并行性约束是完全有序,那么控制转到块310。
在块306中,CEP查询处理器可以将使得产生多个执行线程以允许以并行的方式执行CEP查询的操作符增加到CEP查询的开始处。可替换地,在块308中,CEP查询处理器可以将使得为CEP查询处理的事件分区中的每一个分区产生单独的执行线程的操作符增加到CEP查询的开始处。可替换地,在块310中,CEP查询可以将保证按顺序地执行而不是并行地执行CEP查询的操作的锁定操作符增加到CEP查询的开始处。
根据本发明的实施例,CEP查询处理器可以被修改以将故障处理机制引入到CEP查询处理器。在一个实施例中,这些机制涉及上面讨论的对操作符的有向图的分析。该分析可以涉及对有向图中的特定操作符是否由多个执行的CEP查询共享的确定。
在本发明的实施例中,在针对事件流执行多个CEP查询期间,CEP查询处理器可以检测故障的发生。此故障可以由上面讨论的操作符的有向图内的操作符中的一个操作符引起。例如,特定操作符可以响应于确定特定操作符试图对其执行它的操作的事件指定无效数据而引起故障。响应于检测到故障的发生,CEP查询处理器可以确定操作符的有向图中的操作符中的哪一个操作符引起故障。引起故障的操作符可以是针对事件流中的事件执行过滤操作的过滤操作符,或引起故障的操作符可以是一些其它的更复杂类型的操作符,诸如执行连接操作的连接操作符。
在本发明的实施例中,CEP查询处理器可以包括注册设施,通过该注册设施CEP查询处理器的用户可以注册用户自己的规范的自定义故障处理器。该故障处理器可以在范围上与CEP查询处理器执行的所有CEP查询有关,以使得由CEP查询处理器执行的任何CEP查询的操作符引起的故障可以由该故障处理器处理。多个单独和不同的故障处理器可以向相同的CEP查询处理器注册,在这种情况下所有所述的故障处理器可以处理由CEP查询处理器执行的CEP查询中的任何一个CEP查询引起的故障。
根据本发明的实施例,响应于任何执行的CEP查询中的任何操作符引起故障,向CEP查询处理器注册的故障处理器可以按照那些故障处理器的注册次序响应地被调用。CEP查询处理器可以向每个这样的故障处理器提供关于故障的一些上下文信息。此上下文信息可以包括故障本身的身份以及引起故障的操作符(来自操作符的有向图)的身份。随着每个故障处理器被调用,故障处理器可以基于它的内部指令确定是否捕捉故障或重新抛出故障。一些注册的故障处理器可以被自定义以捕捉其它注册的故障处理器没有被自定义捕捉的故障的类型。例如,特定故障处理器可以被自定义以捕捉由过滤操作符引起的故障而不是由连接操作符引起的故障。例如另一个示例,特定的故障处理器可以被自定义以捕捉由事件数据中的时间戳错误造成的故障而不是由事件数据中的其他种类的错误造成的故障。
在本发明的实施例中,如果故障处理器决定捕捉故障,那么故障处理器可以以一种基于它的与该故障类型的故障相关的内部指令的方式处理故障。这些内部指令可以由故障处理器的创建者自定义。在这样的情况下,此后的故障可以被认为似乎没有发生故障;故障的存在可以从系统中移除。CEP查询处理器可以继续执行CEP查询,允许CEP查询处理来自事件流的附加事件,而不停止任何CEP查询。在本发明的实施例中,响应于相同的故障随后被调用的任何其它注册的故障处理器检测到没有它们可以捕捉的故障。
可替换地,在本发明的实施例中,如果特定的故障处理器决定重新抛出故障,意味着特定的故障处理器已经决定不处理故障(潜在地因为特定的故障处理器不包含用于处理该故障的特定类型的故障的指令),那么CEP查询处理器可以按照注册的次序调用下一个注册的故障处理器(如果有的话)。下一个故障处理器然后可以再一次基于它自己的内部指令,类似地决定是否捕捉故障或重新抛出故障。随着CEP查询处理器按照故障处理器的注册次序调用随后的注册的故障处理器,此方法可以重复地继续,或直到注册的故障处理器中的一个故障处理器捕捉并且处理故障,从而从系统中移除故障的存在为止,或直到没有进一步的用户注册的故障处理器被CEP查询处理器调用为止。
根据本发明的实施例,CEP查询处理器除了任何用户注册的、用户自定义的故障处理器之外可以包括默认故障处理器。如果故障没有被用户注册的故障处理器中的任何一个故障处理器捕捉,那么默认故障处理器可以捕捉故障。在本发明的实施例中,默认故障处理器不重新抛出任何故障,但反而捕捉已经由所有用户注册的故障处理器重新抛出的每个故障。响应于捕捉故障,默认故障处理器可以停止对包括引起故障的操作符的每个CEP查询的执行。因为一些操作符可以由多个CEP查询共享,在一些情况下,默认故障处理器可以响应于捕捉由所有那些CEP查询共享的操作符引起的单个故障而停止对多个CEP查询的执行。
如上面所讨论,在本发明的一个实施例中,CEP查询处理器的默认故障处理器可以响应于捕捉故障停止对CEP查询的执行。但是,在本发明的替代实施例中,默认故障处理器不是响应于捕捉故障而停止对CEP查询的执行,而是可以抛出故障作为可以由将事件流的事件馈送给CEP查询处理器的JAVA适配器的故障处理器捕捉的JAVA异常。因此,在这样的情况下,作为事件流的源或发生器的JAVA适配器可以从CEP查询处理器的默认故障处理器中接收故障作为JAVA异常。JAVA适配器处理异常的方式可以基于JAVA适配器的内部指令和程序而变化。例如,如果JAVA适配器是JAVA消息系统(JMS)适配器,那么JAVA适配器可以确定此事件是否无效,并且响应于确定此事件无效,JAVA适配器可以请求JAVA适配器从中获得事件的消息系统将该事件的有效版本重新发送到JAVA适配器。可替换地,JAVA适配器可以回退事件,和/或忽略事件并且允许事件流中的其它事件继续进入到CEP查询处理器。
潜在地,单个事件可以使得操作符的有向图中的多个单独操作符响应于那个事件引起故障。例如,将事件输出到连接操作符的过滤操作符、和连接操作符它本身,两者都可以响应于特定的事件引起故障。在CEP查询处理器以并行的方式处理事件的情况下,这尤其可能发生。在本发明的一个实施例中,当响应于相同的事件引起多个故障时,CEP查询处理器可以把故障组合到一起以用于以统一的方式处理故障。CEP查询处理器可以通过创建被称为“事件处理故障”的“父级”故障实现此组合。此父级故障可以按照父级故障内的上下文,指定使得故障被引起的事件的身份,以及响应于该事件而引起故障的每个操作符的身份。在实施例中,响应于相同的事件多个故障已经被引起的事实可以由从故障引起操作符接收事件作为输入的“父级”操作符检测到,并且可以在此父级操作符处执行所述组合。父级故障然后可以以上面讨论的方式被故障处理器捕捉或重新抛出,而在父级故障内被组合到一起的其它故障可以从系统中被移除,以便不被任何故障处理器单独地捕捉。作为组合的结果,故障处理器可以避免对由相同的事件引起的故障的不必要的重复的故障处理。在本发明的一个实施例中,故障处理器可以被自定义以不同于那些故障处理器处理“简单”故障的方式的方式处理这些“复合的”被组合的故障。
图4是说明根据本发明的实施例、CEP查询处理器的用户注册的故障处理器可以借以处理由CEP查询的操作符抛出的故障的示例技术400的流程图。虽然在图4中以示例的方式说明某些块,但是本发明的替代实施例可以包含更多、更少、或不同的块,和/或以不同的顺序出现的块。在块402中,表示并行地执行CEP查询的操作符的有向图内的操作符可以针对由那个操作符处理的事件引起故障。在块403中,响应于检测到该故障被引起,CEP查询处理器可以确定任何用户故障处理器是否被用户注册以处理故障。如果是的话,那么控制转到块404。如果不是,控制转到块412。在块404中,CEP查询处理器确定用户注册的故障处理器中的任何一个故障处理器是否还没有针对故障被调用。如果至少一个用户注册的故障处理器还没有针对故障被调用,那么控制转到块406。否则,技术400结束。
在块406中,CEP查询处理器可以按照注册顺序调用下一个用户注册的故障处理器以处理故障。在块408中,最近被调用的用户注册的故障处理器可以或捕捉并且处理故障或重新抛出故障。在块410中,可以关于最近被调用的用户注册的故障处理器是否捕捉或重新抛出故障做出确定。如果故障被捕捉,那么技术400完成。可替换地,如果故障被重新抛出,那么控制转回到块404。
可替换地,在块412中,CEP查询处理器可以调用默认故障处理器(不是用户注册的故障处理器)以处理故障。在块414中,默认故障处理器可以捕捉故障并且响应地引起JAVA异常。在块416中,作为包含使得故障在块402中被引起的事件的事件流的源的JAVA适配器的异常处理器,捕捉JAVA异常并且使得事件的修正版本被重新发出到CEP查询处理器。控制然后转回到块402,在其中可以由另一个操作符潜在地引起潜在地与另一个事件有关的另一个故障。
图5是说明根据本发明的实施例可以使用的系统环境500的组件的简化框图。如所示,系统环境500包括一个或多个客户端计算设备502、504、506、508,其被配置为操作诸如网页浏览器、专有客户端(例如,Oracle Forms)等之类的客户端应用。在各个实施例中,客户端计算设备502、504、506、和508可以与服务器计算机512交互。
客户端计算设备502、504、506、508可以是通用的个人计算机(包括,例如运行微软视窗(Microsoft Windows)和/或苹果麦金塔(Apple Macintosh)操作系统的各种版本的个人计算机和/或膝上型计算机)、蜂窝电话或PDA(运行诸如Microsoft Windows Mobile的软件并且启用互联网、电子邮件、SMS、Blackberry、或其他通信协议)、和/或运行各种商用的UNIX或类UNIX操作系统(包括但不限于各种GNU/Linux操作系统)中的任何一个的工作站计算机。可替换地,客户端计算设备502、504、506和508可以是能够在网络(例如,下面描述的网络510)上通信的任何其它电子设备,诸如瘦客户机、启用互联网的游戏系统、和/或个人消息设备。虽然具有四个客户端计算设备的示例性系统环境500被示出,但是任何数量的客户端计算设备可以被支持。诸如具有传感器等等的设备之类的其它设备可以与服务器计算机512交互。
系统环境500可以包括网络510。网络510可以是为那些本领域技术人员所熟知的任何类型的网络,其可以利用各种商用的协议(包括但不限于TCP/IP、SNA、IPX、AppleTalk、等等)中的任何一个协议支持数据通信。仅举例,网络510可以是诸如以太网、令牌环网和/或类似物之类的局域网(LAN);广域网;包括但不限于虚拟专用网络(VPN)的虚拟网络;因特网;内联网;外联网;公用交换电话网(PSTN);红外线网络;无线网络(例如,在IEEE 802.11协议集、本技术领域所知的蓝牙协议、和/或任何其它无线协议中的任何一个协议下运行的网络);和/或这些和/或其他网络的任何组合。
系统环境500还包括一个或多个服务器计算机512,其可以是通用计算机、专门服务器计算机(包括,例如PC服务器、UNIX服务器、中型服务器、大型计算机、机架式服务器,等等)、服务器场、服务器群集、或任何其它适当的布置和/或组合。在各个实施例中,服务器计算机512可以被调整以运行在上述公开中描述的一个或多个服务或软件应用。例如,服务器计算机512可以对应于连续事件处理服务器。
服务器计算机512可以运行操作系统,其包括那些上面讨论的任何一个操作系统,以及任何商用的服务器操作系统。服务器计算机512还可以运行各种附加服务器应用和/或中间层应用中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、Java服务器、数据库服务器以及类似服务器。示例性数据库服务器包括但不限于来自Oracle、Microsoft、Sybase、IBM以及类似公司的那些商用服务器。
系统环境500还可以包括一个或多个数据库514、516。数据库514、516可以存在于各种位置。举例来说,数据库514、516中的一个或多个数据库可以位于服务器计算机512的本地的(和/或居留在其中的)存储介质之上。可替换地,数据库514、516可以远离服务器计算机512,并且与服务器计算机512经由基于网络的或专用的连接进行通信。在一组实施例中,数据库514、516可以位于那些本领域技术人员所熟知的存储区域网络(SAN)之中。类似地,用于执行服务器计算机512所属的功能的任何必要的文件可以被本地地存储在服务器计算机512上,和/或远程地存储,视情况而定。在一组实施例中,数据库514、516可以包括响应于SQL格式的命令被适配以存储、更新以及检索数据的关系数据库(诸如Oracle 10g)。
图6是根据本发明的实施例可以使用的计算机系统600的简化框图。例如,可以使用诸如计算机系统600之类的系统实施连续事件处理的服务器。包括可以经由总线624电耦接的硬件元件的计算机系统600被示出。硬件元件可以包括一个或多个中央处理单元(CPU)602、一个或多个输入设备604(例如,鼠标、键盘、等等)、以及一个或多个输出设备606(例如,显示设备、打印机、等等)。计算机系统600还可以包括一个或多个存储设备608。举例来说,存储设备608可以包括诸如磁盘驱动器、光存储设备之类的设备、和诸如随机存取存储器(RAM)和/或只读存储器(ROM)之类的固态存储设备,其可以是可编程的、闪速可更新的和/或类似的设备。
计算机系统600另外可以包括计算机可读存储介质读取器612、通信子系统614(例如,调制解调器、网卡(无线或有线)、红外线通信设备等等),以及可以包括如上所述的RAM和ROM设备的工作存储器618。在一些实施例中,计算机系统600还可以包括处理加速单元616,其可以包括数字信号处理器(DSP)、专用的处理器、和/或类似处理器。
计算机可读存储介质读取器612还可以被连接到计算机可读存储介质610,共同(并且可选地与存储设备608结合)全面地表示远程、本地、固定、和/或可移动的存储设备加上用于临时地和/或更永久地包含计算机可读信息的存储介质。通信系统614可以允许数据与网络1610和/或参照系统环境1600的上面描述的任何其它计算机进行交换。
计算机系统600还可以包括被显示为当前位于工作存储器618内的软件元件,其包括操作系统620和/或其它代码622(诸如应用程序(其可以是客户端应用、网络浏览器、中间层应用、RDBMS、等等)之类)。在示例性实施例中,工作存储器618可以包括可执行的代码和用于上面描述的技术的相关联数据结构(诸如高速缓存)。应当理解的是,计算机系统600的替代实施例可以具有和如上所述不同的许多变化。例如,还可以使用自定义的硬件和/或在硬件、软件(包括诸如小程序之类的可移植软件)、或两者中执行特定元件。此外,可以采用与诸如网络输入/输出设备之类的其它计算设备的连接。
图7示出用于处理根据如上所述的本发明的原理被配置的事件数据流的系统的功能框图。可以通过硬件、软件、或硬件和软件的组合实施系统的功能块以实现本发明的原理。本领域技术人员将理解,图7中描述的功能块可以被组合或分成子块以实施如上所述的本发明的原理。因此,这里的描述可以支持这里描述的功能块的任何可能的组合或分离或进一步的定义。
参考图7,示出用于处理事件数据流的系统700。系统700可以包括查询分解单元710。查询分解单元710被配置为将连续事件处理(CEP)查询分解成为多个单独的操作符。然后,系统700的第一约束确定单元720可以确定多个单独操作符内的每个特定操作符的单独约束。至少部分地基于第一约束确定单元720已经为多个单独操作符确定的约束,系统700的第二约束确定单元730可以确定CEP查询的约束。系统700还可以包括被配置针对基于CEP查询的约束确定是否可以以并行方式执行CEP查询中的至少一部分的执行确定单元740。响应于确定可以以并行方式执行CEP查询的至少一部分,系统700的线程产生单元750可以产生并行地处理来自事件流的事件的多个执行线程。
在示例中,系统700还包括第三约束确定单元760,其被配置为至少部分地基于与事件流相关联的约束确定CEP查询的约束。
在示例中,第一约束确定单元720可以被配置为至少部分地通过至少部分地基于特定操作符从中接收输入的一个或多个其它操作符的一个或多个约束确定特定操作符的约束,来确定多个单独操作符内的每个特定操作符的单独约束。
在示例中,第一约束确定单元720可以被配置为至少部分地通过至少部分地基于特定操作符的操作类型是否是过滤操作类型确定特定操作符的约束,来确定多个单独操作符内的每个特定操作符的单独约束。
在示例中,第一约束确定单元720可以被配置为至少部分地通过通过确定约束集合内的最受限的约束确定特定操作符的约束,来确定多个单独操作符内的每个特定操作符的单独约束,所述约束集合包括(a)特定操作符从中接收输入的所有其它操作符的约束和(b)与特定操作符的操作类型相关联的约束。
在示例中,系统700还包括合并单元770,其被配置为将以下合并成为单个共享操作符,(a)由处理事件流中的事件的第一CEP查询使用的第一操作符,和(b)由也处理事件流中的事件的第二CEP查询使用的第二操作符,该合并响应于确定第一操作符和第二操作符都执行特定类型的操作。
至于合并单元770,在实例中,第一约束确定单元720还可以包括:第一子单元722,其被配置为至少部分地基于共享操作符的约束确定从共享操作符中接收输入的第三操作符的约束;和第二子单元724,其被配置为至少部分地基于共享操作符的约束确定从共享操作符中接收输入的第四操作符的约束。第三操作符由第一CEP查询使用并且不由第二CEP查询使用,并且第四操作符由第二CEP查询使用并且不由第一CEP查询使用。
用于包含代码、或部分代码的存储介质和计算机可读介质可以包括在本技术领域中已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于在用于存储和/或发送诸如计算机可读指令、数据结构、程序模块、或其它数据之类的信息的任何方法或技术中实施的易失的和非易失的、可移动的和不可移动的介质,包括RAM,ROM、EEPROM、闪速存储器或其它存储技术、CD-ROM、数字通用磁盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、数据信号、数据传输、或可以用于存储或传送期望的信息并且可以由计算机访问的任何其它介质。
虽然已经描述了本发明的具体实施例,但是各种修改、变化、替代构造、和等效物也涵盖在本发明的范围内。本发明的实施例不局限于在某些特定的数据处理环境内的操作,而在多个数据处理环境内自由操作。另外,虽然利用特定系列的事务和步骤已经描述了本发明的实施例,但是应该对本领域技术人员显而易见的是,本发明的范围不局限于所描述的系列事务和步骤。
此外,虽然利用硬件和软件的特定组合描述了本发明的实施例,但是应当承认硬件和软件的其他组合也在本发明的范围内。可以仅仅在硬件中、或仅仅在软件中、或利用其组合实施本发明的实施例。
说明书和附图相应地被认为是说明性的,而不是限制的意义上的。但是,很明显的是,在不背离由权利要求书阐述的广泛的精神和范围的情况下,可以对其做出增加、减少、删除、和其它修改和改变。在这里通过引用的方式将具有下列序列号的美国专利申请包括在内:12/548,187;12/396,008;12/396,464;12/395,871;12/506,891;12/548,209;12/506,905;12/534,384;12/548,222;12/534,398;12/548,281;和12/548,290。
Claims (17)
1.一种存储用于使得处理器执行操作的多个指令的计算机可读存储器,所述多个指令包括:
使得该处理器确定能够并行地执行与事件流中的事件有关的连续事件处理CEP查询的多个部分的指令,所述指令包括:
使得该处理器将该CEP查询分解成为多个单独操作符的指令;
使得该处理器确定针对所述多个单独操作符内的每个特定操作符的单独约束的指令;以及
使得该处理器至少部分地基于针对所述多个单独操作符内的每个操作符的单独约束来确定是否能够以并行方式执行该CEP查询的至少一部分;
使得该处理器响应于确定能够以并行方式执行该CEP查询的至少一部分来产生针对通过该事件流接收的第一事件并行地处理该CEP查询的所述多个部分的多个执行线程的指令;以及
使得该处理器响应于确定第一操作符和第二操作符都执行特定类型的操作将该第一操作符和该第二操作符合并成为单个共享操作符的指令,该第一操作符由至少处理该事件流中的该第一事件的第一CEP查询使用,该第二操作符由也至少处理该事件流中的该第一事件的第二CEP查询使用。
2.如权利要求1所述的计算机可读存储器,其中所述多个指令包括使得该处理器至少部分地基于与该事件流相关联的约束来确定针对该CEP查询的约束的指令。
3.如权利要求1或2所述的计算机可读存储器,其中使得该处理器确定针对所述多个单独操作符内的每个特定操作符的单独约束的指令包括使得该处理器至少部分地基于该特定操作符从中接收输入的一个或多个其它操作符的一个或多个约束来确定针对该特定操作符的约束的指令。
4.如权利要求1或2所述的计算机可读存储器,其中使得该处理器确定针对所述多个单独操作符内的每个特定操作符的单独约束的指令包括使得该处理器至少部分地基于该特定操作符的操作类型是否是过滤操作类型来确定针对该特定操作符的约束的指令。
5.如权利要求1或2所述的计算机可读存储器,其中使得该处理器确定针对所述多个单独操作符内的每个特定操作符的单独约束的指令包括使得该处理器通过确定一组约束内的最受限的约束来确定针对该特定操作符的约束的指令,该组约束包括该特定操作符从中接收输入的所有其它操作符的约束和与该特定操作符的操作类型相关联的约束。
6.如权利要求1或2所述的计算机可读存储器,
其中使得该处理器确定针对所述多个单独操作符内的每个特定操作符的单独约束的指令包括使得该处理器至少部分地基于该单个共享操作符的约束来确定针对从该单个共享操作符接收输入的第三操作符的约束的指令;
其中使得该处理器确定针对所述多个单独操作符内的每个特定操作符的单独约束的指令包括使得该处理器至少部分地基于该单个共享操作符的约束来确定针对从该单个共享操作符接收输入的第四操作符的约束的指令;
其中该第三操作符由该第一CEP查询使用并且不由该第二CEP查询使用;以及
其中该第四操作符由该第二CEP查询使用并且不由该第一CEP查询使用。
7.一种用于处理事件的数据流的系统,所述系统包括:
存储多个指令的存储器;和
耦接到该存储器的处理器,该处理器被配置为执行所述多个指令以:
确定能够并行地执行与事件流中的事件有关的连续事件处理CEP查询的多个部分,所述确定包括;
将该CEP查询分解成为多个单独操作符;
确定针对所述多个单独操作符内的每个特定操作符的单独约束;以及
至少部分地基于针对所述多个单独操作符内的每个操作符的单独约束来确定是否能够以并行方式执行该CEP查询的至少一部分;
响应于确定能够以并行方式执行该CEP查询的至少一部分来产生针对通过该事件流接收的第一事件并行地处理该CEP查询的所述多个部分的多个执行线程;以及
响应于确定第一操作符和第二操作符都执行特定类型的操作,将该第一操作符和该第二操作符合并成为单个共享操作符,该第一操作符由至少处理该事件流中的该第一事件的第一CEP查询使用,该第二操作符由也至少处理该事件流中的该第一事件的第二CEP查询使用。
8.如权利要求7所述的系统,其中该处理器被配置为至少部分地基于与该事件流相关联的约束来确定针对该CEP查询的约束。
9.如权利要求7或8所述的系统,其中该处理器被配置为至少部分地通过,至少部分地基于该特定操作符从中接收输入的一个或多个其它操作符的一个或多个约束确定针对该特定操作符的约束,来确定针对所述多个单独操作符内的每个特定操作符的单独约束。
10.如权利要求7或8所述的系统,其中该处理器被配置为至少部分地通过,至少部分地基于该特定操作符的操作类型是否是过滤操作类型确定针对该特定操作符的约束,来确定针对所述多个单独操作符内的每个特定操作符的单独约束。
11.如权利要求7或8所述的系统,其中该处理器被配置为至少部分地通过,通过确定一组约束内最受限的约束以确定该特定操作符的约束,来确定针对所述多个单独操作符内的每个特定操作符的单独约束,该组约束包括(a)该特定操作符从中接收输入的所有其它操作符的约束和(b)与该特定操作符的操作类型相关联的约束。
12.如权利要求7或8所述的系统,其中该处理器被配置为至少部分地基于该单个共享操作符的约束来确定针对从该单个共享操作符接收输入的第三操作符的约束;其中该处理器被配置为至少部分地基于该单个共享操作符的约束来确定针对从该单个共享操作符中接收输入的第四操作符的约束;其中该第三操作符由该第一CEP查询使用并且不由该第二CEP查询使用;并且其中该第四操作符由该第二CEP查询使用并且不由该第一CEP查询使用。
13.一种用于处理事件的数据流的方法,所述方法包括:
确定能够并行地执行与事件流中的事件有关的连续事件处理CEP查询的多个部分,所述确定包括:
将该CEP查询分解成为多个单独操作符;
确定针对所述多个单独操作符内的每个特定操作符的单独约束;
至少部分地基于针对所述多个单独操作符内的每个操作符的单独约束来确定是否能够以并行方式执行该CEP查询的至少一部分;
响应于确定能够以并行方式执行该CEP查询的至少一部分来产生针对通过该事件流接收的第一事件并行地处理该CEP查询的所述多个部分的多个执行线程;以及
响应于确定第一操作符和第二操作符都执行特定类型的操作,将该第一操作符和该第二操作符合并成为单个共享操作符,该第一操作符由至少处理该事件流中的该第一事件的第一CEP查询使用,该第二操作符由也至少处理该事件流中的该第一事件的第二CEP查询使用。
14.如权利要求13所述的方法,还包括:
至少部分地基于与该事件流相关联的约束来确定针对该CEP查询的约束。
15.如权利要求13或14所述的方法,其中确定针对所述多个单独操作符内的每个特定操作符的单独约束包括至少部分地基于该特定操作符从中接收输入的一个或多个其它操作符的一个或多个约束来确定针对该特定操作符的约束。
16.如权利要求13或14所述的方法,其中确定针对所述多个单独操作符内的特定操作符的单独约束包括至少部分地基于该特定操作符的操作类型是否是过滤操作类型来确定针对该特定操作符的约束。
17.如权利要求13或14所述的方法,
其中确定针对所述多个单独操作符内的每个特定操作符的单独约束包括至少部分地基于该单个共享操作符的约束来确定针对从该单个共享操作符中接收输入的第三操作符的约束;
其中确定针对所述多个单独操作符内的每个特定操作符的单独约束包括至少部分地基于该单个共享操作符的约束来确定针对从该单个共享操作符中接收输入的第四操作符的约束;
其中该第三操作符由该第一CEP查询使用并且不由该第二CEP查询使用;以及
其中该第四操作符由该第二CEP查询使用并且不由该第一CEP查询使用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/770,961 | 2013-02-19 | ||
US13/770,961 US9390135B2 (en) | 2013-02-19 | 2013-02-19 | Executing continuous event processing (CEP) queries in parallel |
PCT/US2014/017061 WO2014130514A2 (en) | 2013-02-19 | 2014-02-19 | Executing continuous event processing (cep) queries in parallel |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105074698A CN105074698A (zh) | 2015-11-18 |
CN105074698B true CN105074698B (zh) | 2019-04-09 |
Family
ID=50272723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480009223.2A Active CN105074698B (zh) | 2013-02-19 | 2014-02-19 | 并行地执行连续事件处理(cep)查询 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9390135B2 (zh) |
EP (1) | EP2959408B1 (zh) |
JP (2) | JP6452629B2 (zh) |
CN (1) | CN105074698B (zh) |
WO (1) | WO2014130514A2 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
US8713049B2 (en) | 2010-09-17 | 2014-04-29 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
US9329975B2 (en) | 2011-07-07 | 2016-05-03 | Oracle International Corporation | Continuous query language (CQL) debugger in complex event processing (CEP) |
US9361308B2 (en) | 2012-09-28 | 2016-06-07 | Oracle International Corporation | State initialization algorithm for continuous queries over archived relations |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US9098587B2 (en) | 2013-01-15 | 2015-08-04 | Oracle International Corporation | Variable duration non-event pattern matching |
US10298444B2 (en) * | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US9047249B2 (en) | 2013-02-19 | 2015-06-02 | Oracle International Corporation | Handling faults in a continuous event processing (CEP) system |
US9992269B1 (en) * | 2013-02-25 | 2018-06-05 | EMC IP Holding Company LLC | Distributed complex event processing |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
EP2866144B1 (en) * | 2013-10-28 | 2020-03-25 | Software AG | Self-correcting complex event processing system and corresponding method for error correction |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US9244978B2 (en) | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US11042929B2 (en) * | 2014-09-09 | 2021-06-22 | Oracle Financial Services Software Limited | Generating instruction sets implementing business rules designed to update business objects of financial applications |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
US10296621B2 (en) * | 2014-09-30 | 2019-05-21 | Hewlett Packard Enterprise Development Lp | Database and data stream query |
CN104394149B (zh) * | 2014-11-26 | 2017-12-12 | 中国航天科工集团第二研究院七〇六所 | 一种基于并行分布式架构的复杂事件处理的方法 |
US10339151B2 (en) * | 2015-02-23 | 2019-07-02 | Red Hat, Inc. | Creating federated data source connectors |
US9910890B2 (en) * | 2015-06-15 | 2018-03-06 | International Business Machines Corporation | Synthetic events to chain queries against structured data |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
CN108140047B (zh) * | 2016-01-05 | 2021-06-29 | 华为技术有限公司 | 数据处理装置和方法以及数据容器结构 |
CN106919700B (zh) * | 2017-03-09 | 2020-05-22 | 华北电力大学 | 基于并行化cep处理的语义驱动犯罪线索实时推荐方法 |
CN109643307B (zh) * | 2017-05-24 | 2021-08-20 | 华为技术有限公司 | 流处理系统和方法 |
EP3425602B1 (en) * | 2017-07-06 | 2020-09-02 | Wincor Nixdorf International GmbH | Method and system of performing an authorization mechanism between a service terminal system and a helpdesk system |
CN109471872A (zh) * | 2017-08-30 | 2019-03-15 | 北京国双科技有限公司 | 处理高并发查询请求的方法及装置 |
US11734086B2 (en) * | 2019-03-29 | 2023-08-22 | Hewlett Packard Enterprise Development Lp | Operation-based event suppression |
US11880354B2 (en) * | 2020-06-30 | 2024-01-23 | Actian Corporation | Patchindex system and method for updatable materialization of approximate constraints |
EP4375848A1 (en) | 2022-11-22 | 2024-05-29 | Fujitsu Limited | Method for executing query and query execution program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549969A (zh) * | 2001-07-06 | 2004-11-24 | 关联并确定系统和企业事件的根本原因的方法和系统 | |
CN101416158A (zh) * | 2006-03-30 | 2009-04-22 | 微软公司 | 用于对过程中心的程序的取消建模的框架 |
Family Cites Families (458)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5051947A (en) | 1985-12-10 | 1991-09-24 | Trw Inc. | High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream |
US4996687A (en) | 1988-10-11 | 1991-02-26 | Honeywell Inc. | Fault recovery mechanism, transparent to digital system function |
US5339392A (en) | 1989-07-27 | 1994-08-16 | Risberg Jeffrey S | Apparatus and method for creation of a user definable video displayed document showing changes in real time data |
JPH04219859A (ja) * | 1990-03-12 | 1992-08-10 | Hewlett Packard Co <Hp> | 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ |
US5761493A (en) | 1990-04-30 | 1998-06-02 | Texas Instruments Incorporated | Apparatus and method for adding an associative query capability to a programming language |
US5495600A (en) | 1992-06-03 | 1996-02-27 | Xerox Corporation | Conversion of queries to monotonically increasing incremental form to continuously query a append only database |
US5918225A (en) | 1993-04-16 | 1999-06-29 | Sybase, Inc. | SQL-based database system with improved indexing methodology |
DE69432746T2 (de) | 1994-06-10 | 2004-03-25 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems |
US5664172A (en) | 1994-07-19 | 1997-09-02 | Oracle Corporation | Range-based query optimizer |
EP0702294A3 (en) | 1994-09-13 | 1997-05-02 | Sun Microsystems Inc | Method and device for diagnosing lexical errors |
US6397262B1 (en) | 1994-10-14 | 2002-05-28 | Qnx Software Systems, Ltd. | Window kernel |
US5706494A (en) | 1995-02-10 | 1998-01-06 | International Business Machines Corporation | System and method for constraint checking bulk data in a database |
US20070299808A1 (en) | 1995-05-19 | 2007-12-27 | Cyberfone Technologies, Inc. | Telephone/Transaction Entry Device and System for Entering Transaction Data into Databases |
US5850544A (en) | 1995-06-06 | 1998-12-15 | International Business Machines Corporation | System and method for efficient relational query generation and tuple-to-object translation in an object-relational gateway supporting class inheritance |
US6158045A (en) | 1995-11-13 | 2000-12-05 | Object Technology Licensing Corporation | Portable debugging services utilizing a client debugger object and a server debugger object with flexible addressing support |
US7035914B1 (en) | 1996-01-26 | 2006-04-25 | Simpleair Holdings, Inc. | System and method for transmission of data |
US5913214A (en) | 1996-05-30 | 1999-06-15 | Massachusetts Inst Technology | Data extraction from world wide web pages |
US5802523A (en) | 1996-06-21 | 1998-09-01 | Oracle Corporation | Method and apparatus for reducing the memory required to store bind variable descriptors in a database |
US5893104A (en) | 1996-07-09 | 1999-04-06 | Oracle Corporation | Method and system for processing queries in a database system using index structures that are not native to the database system |
US6128415A (en) | 1996-09-06 | 2000-10-03 | Polaroid Corporation | Device profiles for use in a digital image processing system |
US5920716A (en) | 1996-11-26 | 1999-07-06 | Hewlett-Packard Company | Compiling a predicated code with direct analysis of the predicated code |
US5937195A (en) | 1996-11-27 | 1999-08-10 | Hewlett-Packard Co | Global control flow treatment of predicated code |
US5937401A (en) | 1996-11-27 | 1999-08-10 | Sybase, Inc. | Database system with improved methods for filtering duplicates from a tuple stream |
US5857182A (en) | 1997-01-21 | 1999-01-05 | International Business Machines Corporation | Database management system, method and program for supporting the mutation of a composite object without read/write and write/write conflicts |
US6212673B1 (en) | 1997-03-31 | 2001-04-03 | International Business Machines Corporation | Component-neutral builder interface |
US6108666A (en) | 1997-06-12 | 2000-08-22 | International Business Machines Corporation | Method and apparatus for pattern discovery in 1-dimensional event streams |
US6041344A (en) | 1997-06-23 | 2000-03-21 | Oracle Corporation | Apparatus and method for passing statements to foreign databases by using a virtual package |
US5822750A (en) | 1997-06-30 | 1998-10-13 | International Business Machines Corporation | Optimization of correlated SQL queries in a relational database management system |
US6081801A (en) | 1997-06-30 | 2000-06-27 | International Business Machines Corporation | Shared nothing parallel execution of procedural constructs in SQL |
US6112198A (en) | 1997-06-30 | 2000-08-29 | International Business Machines Corporation | Optimization of data repartitioning during parallel query optimization |
US6278994B1 (en) | 1997-07-10 | 2001-08-21 | International Business Machines Corporation | Fully integrated architecture for user-defined search |
US6006220A (en) | 1997-09-30 | 1999-12-21 | International Business Machines Corporation | Determining the optimal access path for a query at execution time using an actual value for each variable in a query for estimating a filter factor |
US6006235A (en) | 1997-11-26 | 1999-12-21 | International Business Machines Corporation | Method and apparatus for invoking a stored procedure or a user defined interpreted language function in a database management system |
US6389436B1 (en) | 1997-12-15 | 2002-05-14 | International Business Machines Corporation | Enhanced hypertext categorization using hyperlinks |
US6092065A (en) | 1998-02-13 | 2000-07-18 | International Business Machines Corporation | Method and apparatus for discovery, clustering and classification of patterns in 1-dimensional event streams |
US6341281B1 (en) | 1998-04-14 | 2002-01-22 | Sybase, Inc. | Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree |
US6011916A (en) | 1998-05-12 | 2000-01-04 | International Business Machines Corp. | Java I/O toolkit for applications and applets |
GB9812635D0 (en) | 1998-06-11 | 1998-08-12 | Olivetti Telemedia Spa | Location system |
US6477571B1 (en) | 1998-08-11 | 2002-11-05 | Computer Associates Think, Inc. | Transaction recognition and prediction using regular expressions |
US6263332B1 (en) | 1998-08-14 | 2001-07-17 | Vignette Corporation | System and method for query processing of structured documents |
US6367034B1 (en) | 1998-09-21 | 2002-04-02 | Microsoft Corporation | Using query language for event filtering and aggregation |
US6988271B2 (en) | 1998-10-02 | 2006-01-17 | Microsoft Corporation | Heavyweight and lightweight instrumentation |
US6546381B1 (en) | 1998-11-02 | 2003-04-08 | International Business Machines Corporation | Query optimization system and method |
US6763353B2 (en) | 1998-12-07 | 2004-07-13 | Vitria Technology, Inc. | Real time business process analysis method and apparatus |
US6108659A (en) | 1998-12-22 | 2000-08-22 | Computer Associates Think, Inc. | Method and apparatus for executing stored code objects in a database |
US6370537B1 (en) | 1999-01-14 | 2002-04-09 | Altoweb, Inc. | System and method for the manipulation and display of structured data |
US6427123B1 (en) | 1999-02-18 | 2002-07-30 | Oracle Corporation | Hierarchical indexing for accessing hierarchically organized information in a relational system |
US6438559B1 (en) | 1999-04-02 | 2002-08-20 | Sybase, Inc. | System and method for improved serialization of Java objects |
US7080062B1 (en) | 1999-05-18 | 2006-07-18 | International Business Machines Corporation | Optimizing database queries using query execution plans derived from automatic summary table determining cost based queries |
US6339772B1 (en) | 1999-07-06 | 2002-01-15 | Compaq Computer Corporation | System and method for performing database operations on a continuous stream of tuples |
US6453314B1 (en) | 1999-07-30 | 2002-09-17 | International Business Machines Corporation | System and method for selective incremental deferred constraint processing after bulk loading data |
JP2001060161A (ja) | 1999-08-24 | 2001-03-06 | Nec Ic Microcomput Syst Ltd | デバッグ装置、方法及び記録媒体 |
US7457279B1 (en) | 1999-09-10 | 2008-11-25 | Vertical Communications Acquisition Corp. | Method, system, and computer program product for managing routing servers and services |
WO2001018712A1 (en) | 1999-09-10 | 2001-03-15 | Rodgers William C | Web-based system to facilitate purchase, pick-up, and delivery of, and escrow and payment for, merchandise |
US6766330B1 (en) | 1999-10-19 | 2004-07-20 | International Business Machines Corporation | Universal output constructor for XML queries universal output constructor for XML queries |
US6721727B2 (en) | 1999-12-02 | 2004-04-13 | International Business Machines Corporation | XML documents stored as column data |
US6418448B1 (en) | 1999-12-06 | 2002-07-09 | Shyam Sundar Sarkar | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web |
US20020116371A1 (en) | 1999-12-06 | 2002-08-22 | David Dodds | System and method for the storage, indexing and retrieval of XML documents using relation databases |
JP3937380B2 (ja) | 1999-12-14 | 2007-06-27 | 富士通株式会社 | パスサーチ回路 |
US6615203B1 (en) | 1999-12-17 | 2003-09-02 | International Business Machines Corporation | Method, computer program product, and system for pushdown analysis during query plan generation |
US6594651B2 (en) | 1999-12-22 | 2003-07-15 | Ncr Corporation | Method and apparatus for parallel execution of SQL-from within user defined functions |
US6507834B1 (en) | 1999-12-22 | 2003-01-14 | Ncr Corporation | Method and apparatus for parallel execution of SQL from stored procedures |
US6353821B1 (en) | 1999-12-23 | 2002-03-05 | Bull Hn Information Systems Inc. | Method and data processing system for detecting patterns in SQL to allow optimized use of multi-column indexes |
WO2001052090A2 (en) | 2000-01-14 | 2001-07-19 | Saba Software, Inc. | Method and apparatus for a web content platform |
US20010047372A1 (en) | 2000-02-11 | 2001-11-29 | Alexander Gorelik | Nested relational data model |
US6996557B1 (en) | 2000-02-15 | 2006-02-07 | International Business Machines Corporation | Method of optimizing SQL queries where a predicate matches nullable operands |
US7072896B2 (en) | 2000-02-16 | 2006-07-04 | Verizon Laboratories Inc. | System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor |
US20020029207A1 (en) | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
AU2001239998A1 (en) | 2000-02-28 | 2001-09-12 | Fibercycle Networks, Inc. | System and method for high speed string matching |
US6449620B1 (en) | 2000-03-02 | 2002-09-10 | Nimble Technology, Inc. | Method and apparatus for generating information pages using semi-structured data stored in a structured manner |
US7823066B1 (en) | 2000-03-03 | 2010-10-26 | Tibco Software Inc. | Intelligent console for content-based interactivity |
US6751619B1 (en) | 2000-03-15 | 2004-06-15 | Microsoft Corporation | Methods and apparatus for tuple management in data processing system |
US6633867B1 (en) | 2000-04-05 | 2003-10-14 | International Business Machines Corporation | System and method for providing a session query within the context of a dynamic search result set |
US6523102B1 (en) | 2000-04-14 | 2003-02-18 | Interactive Silicon, Inc. | Parallel compression/decompression system and method for implementation of in-memory compressed cache improving storage density and access speed for industry standard memory subsystems and in-line memory modules |
US7020696B1 (en) | 2000-05-20 | 2006-03-28 | Ciena Corp. | Distributed user management information in telecommunications networks |
US7076647B2 (en) | 2000-06-09 | 2006-07-11 | Hewlett-Packard Development Company, L.P. | Dynamic kernel tunables |
CA2311884A1 (en) | 2000-06-16 | 2001-12-16 | Cognos Incorporated | Method of managing slowly changing dimensions |
US6578032B1 (en) | 2000-06-28 | 2003-06-10 | Microsoft Corporation | Method and system for performing phrase/word clustering and cluster merging |
US7139844B2 (en) | 2000-08-04 | 2006-11-21 | Goldman Sachs & Co. | Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients |
US7958025B2 (en) | 2000-08-04 | 2011-06-07 | Goldman Sachs & Co. | Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects |
US6708186B1 (en) | 2000-08-14 | 2004-03-16 | Oracle International Corporation | Aggregating and manipulating dictionary metadata in a database system |
US7095744B2 (en) | 2000-11-22 | 2006-08-22 | Dune Networks | Method and system for switching variable sized packets |
US20040003132A1 (en) | 2000-12-06 | 2004-01-01 | Biosentients, Inc. | Data pool architecture, system, and method for intelligent object data in heterogeneous data environments |
US6925631B2 (en) | 2000-12-08 | 2005-08-02 | Hewlett-Packard Development Company, L.P. | Method, computer system and computer program product for processing extensible markup language streams |
DE60132243T2 (de) | 2000-12-15 | 2008-12-11 | British Telecommunications P.L.C. | Verfahren zum indizieren von entitäten |
US7062749B2 (en) | 2000-12-15 | 2006-06-13 | Promenix, Inc. | Measuring, monitoring and tracking enterprise communications and processes |
US7577916B2 (en) | 2001-02-21 | 2009-08-18 | Fuji Xerox Co., Ltd. | Method and apparatus for management and representation of dynamic context |
US7185232B1 (en) | 2001-02-28 | 2007-02-27 | Cenzic, Inc. | Fault injection methods and apparatus |
WO2002071260A1 (en) | 2001-03-01 | 2002-09-12 | Aalborg Universitet | Adaptable query optimization and evaluation in temporal middleware |
US6542911B2 (en) | 2001-03-01 | 2003-04-01 | Sun Microsystems, Inc. | Method and apparatus for freeing memory from an extensible markup language document object model tree active in an application cache |
GB2377038A (en) | 2001-04-10 | 2002-12-31 | I2 Ltd | Method for identifying patterns in sequential event streams |
US6904019B2 (en) | 2001-04-13 | 2005-06-07 | Agilent Technologies, Inc. | Identifying a pattern in a data stream |
US6748386B1 (en) | 2001-04-24 | 2004-06-08 | Nec Corporation | System and method for automated construction of URL, cookie, and database query mapping |
US6785677B1 (en) | 2001-05-02 | 2004-08-31 | Unisys Corporation | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector |
US6850925B2 (en) | 2001-05-15 | 2005-02-01 | Microsoft Corporation | Query optimization by sub-plan memoization |
US7540011B2 (en) | 2001-06-11 | 2009-05-26 | Arrowsight, Inc. | Caching graphical interface for displaying video and ancillary data from a saved video |
US7757225B2 (en) | 2001-06-29 | 2010-07-13 | Microsoft Corporation | Linktime recognition of alternative implementations of programmed functionality |
US8332502B1 (en) | 2001-08-15 | 2012-12-11 | Metavante Corporation | Business to business network management event detection and response system and method |
WO2003023548A2 (en) | 2001-09-12 | 2003-03-20 | Raqia Networks, Inc. | High speed data stream pattern recognition |
US7203927B2 (en) | 2001-09-20 | 2007-04-10 | International Business Machines Corporation | SQL debugging using XML dataflows |
US20030065655A1 (en) | 2001-09-28 | 2003-04-03 | International Business Machines Corporation | Method and apparatus for detecting query-driven topical events using textual phrases on foils as indication of topic |
AU2002334721B2 (en) | 2001-09-28 | 2008-10-23 | Oracle International Corporation | An index structure to access hierarchical data in a relational database system |
US6915290B2 (en) | 2001-12-11 | 2005-07-05 | International Business Machines Corporation | Database query optimization apparatus and method that represents queries as graphs |
US7475058B2 (en) | 2001-12-14 | 2009-01-06 | Microsoft Corporation | Method and system for providing a distributed querying and filtering system |
US7117200B2 (en) | 2002-01-11 | 2006-10-03 | International Business Machines Corporation | Synthesizing information-bearing content from multiple channels |
US20030135304A1 (en) | 2002-01-11 | 2003-07-17 | Brian Sroub | System and method for managing transportation assets |
AU2003205166A1 (en) | 2002-01-14 | 2003-07-30 | Jerzy Lewak | Identifier vocabulary data access method and system |
US7225188B1 (en) | 2002-02-13 | 2007-05-29 | Cisco Technology, Inc. | System and method for performing regular expression matching with high parallelism |
US6985904B1 (en) | 2002-02-28 | 2006-01-10 | Oracle International Corporation | Systems and methods for sharing of execution plans for similar database statements |
CA2374271A1 (en) | 2002-03-01 | 2003-09-01 | Ibm Canada Limited-Ibm Canada Limitee | Redundant join elimination and sub-query elimination using subsumption |
US7567953B2 (en) | 2002-03-01 | 2009-07-28 | Business Objects Americas | System and method for retrieving and organizing information from disparate computer network information sources |
US7107285B2 (en) | 2002-03-16 | 2006-09-12 | Questerra Corporation | Method, system, and program for an improved enterprise spatial system |
US20080010241A1 (en) | 2002-04-02 | 2008-01-10 | Mcgoveran David O | Computer-implemented method for managing through symbolic abstraction of a membership expression multiple logical representations and storage structures |
WO2003094051A1 (en) | 2002-04-29 | 2003-11-13 | Laboratory For Computational Analytics And Semiotics, Llc | Sequence miner |
EP1361526A1 (en) | 2002-05-08 | 2003-11-12 | Accenture Global Services GmbH | Electronic data processing system and method of using an electronic processing system for automatically determining a risk indicator value |
US7457810B2 (en) | 2002-05-10 | 2008-11-25 | International Business Machines Corporation | Querying markup language data sources using a relational query processor |
US20030236766A1 (en) | 2002-05-14 | 2003-12-25 | Zenon Fortuna | Identifying occurrences of selected events in a system |
US7093023B2 (en) | 2002-05-21 | 2006-08-15 | Washington University | Methods, systems, and devices using reprogrammable hardware for high-speed processing of streaming data to find a redefinable pattern and respond thereto |
DE10392750T5 (de) | 2002-06-05 | 2005-11-03 | Sap Aktiengesellschaft | Vorrichtung und Verfahren zum Abstimmen von variablen Hilfsinformationen auf Hauptbüroinformationen in einem Firmensystem |
AU2003263987A1 (en) | 2002-08-05 | 2004-02-23 | John Campbell | System of finite state machines |
US7451143B2 (en) | 2002-08-28 | 2008-11-11 | Cisco Technology, Inc. | Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data |
US8165993B2 (en) | 2002-09-06 | 2012-04-24 | Oracle International Corporation | Business intelligence system with interface that provides for immediate user action |
US7120645B2 (en) | 2002-09-27 | 2006-10-10 | Oracle International Corporation | Techniques for rewriting XML queries directed to relational database constructs |
US7043476B2 (en) | 2002-10-11 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for data mining to discover associations and covariances associated with data |
FR2846181B1 (fr) | 2002-10-16 | 2005-09-02 | Canon Kk | Procede et dispositif de selection de donnees dans un reseau de communication |
US7653645B1 (en) | 2002-10-29 | 2010-01-26 | Novell, Inc. | Multi-epoch method for saving and exporting file system events |
US7213040B1 (en) | 2002-10-29 | 2007-05-01 | Novell, Inc. | Apparatus for policy based storage of file data and meta-data changes over time |
US20040088404A1 (en) | 2002-11-01 | 2004-05-06 | Vikas Aggarwal | Administering users in a fault and performance monitoring system using distributed data gathering and storage |
US7134143B2 (en) | 2003-02-04 | 2006-11-07 | Stellenberg Gerald S | Method and apparatus for data packet pattern matching |
GB0228447D0 (en) | 2002-12-06 | 2003-01-08 | Nicholls Charles M | System for detecting and interpreting transactions events or changes in computer systems |
US7051034B1 (en) | 2002-12-18 | 2006-05-23 | Oracle International Corporation | Dynamic optimization for processing a restartable sub-tree of a query execution plan |
US20050096124A1 (en) | 2003-01-21 | 2005-05-05 | Asip Holdings, Inc. | Parimutuel wagering system with opaque transactions |
US7954109B1 (en) | 2003-01-24 | 2011-05-31 | Jds Uniphase Corporation | Systems and methods for time based sorting and display of captured data events in a multi-protocol communications system |
US7437675B2 (en) | 2003-02-03 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | System and method for monitoring event based systems |
US7634501B2 (en) | 2003-02-05 | 2009-12-15 | Next Generation Software | Method and apparatus for mediated cooperation |
US7305391B2 (en) | 2003-02-07 | 2007-12-04 | Safenet, Inc. | System and method for determining the start of a match of a regular expression |
US7062507B2 (en) | 2003-02-24 | 2006-06-13 | The Boeing Company | Indexing profile for efficient and scalable XML based publish and subscribe system |
US7185315B2 (en) | 2003-02-25 | 2007-02-27 | Sheet Dynamics, Ltd. | Graphical feedback of disparities in target designs in graphical development environment |
US7693810B2 (en) | 2003-03-04 | 2010-04-06 | Mantas, Inc. | Method and system for advanced scenario based alert generation and processing |
US7324108B2 (en) | 2003-03-12 | 2008-01-29 | International Business Machines Corporation | Monitoring events in a computer network |
JP2004280283A (ja) | 2003-03-13 | 2004-10-07 | Hitachi Ltd | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 |
US7392239B2 (en) | 2003-04-14 | 2008-06-24 | International Business Machines Corporation | System and method for querying XML streams |
US7644019B2 (en) | 2003-04-21 | 2010-01-05 | Buysafe, Inc. | Safe transaction guaranty |
US6986019B1 (en) | 2003-04-21 | 2006-01-10 | Maxtor Corporation | Method and apparatus for detection and management of data streams |
CA2427209A1 (en) | 2003-04-30 | 2004-10-30 | Ibm Canada Limited - Ibm Canada Limitee | Optimization of queries on views defined by conditional expressions having mutually exclusive conditions |
US7103611B2 (en) | 2003-05-01 | 2006-09-05 | Oracle International Corporation | Techniques for retaining hierarchical information in mapping between XML documents and relational data |
US6836778B2 (en) | 2003-05-01 | 2004-12-28 | Oracle International Corporation | Techniques for changing XML content in a relational database |
US7386568B2 (en) | 2003-05-01 | 2008-06-10 | Oracle International Corporation | Techniques for partial rewrite of XPath queries in a relational database |
US7222123B2 (en) | 2003-05-28 | 2007-05-22 | Oracle International Corporation | Technique for using a current lookup for performing multiple merge operations using source data that is modified in between the merge operations |
US7546284B1 (en) | 2003-06-11 | 2009-06-09 | Blue Titan Software, Inc. | Virtual message persistence service |
US7519577B2 (en) | 2003-06-23 | 2009-04-14 | Microsoft Corporation | Query intermediate language method and system |
US7146352B2 (en) | 2003-06-23 | 2006-12-05 | Microsoft Corporation | Query optimizer system and method |
CA2433750A1 (en) | 2003-06-27 | 2004-12-27 | Ibm Canada Limited - Ibm Canada Limitee | Automatic collection of trace detail and history data |
WO2005008529A2 (en) | 2003-07-07 | 2005-01-27 | Netezza Corporation | Optimized sql code generation |
US20050010896A1 (en) | 2003-07-07 | 2005-01-13 | International Business Machines Corporation | Universal format transformation between relational database management systems and extensible markup language using XML relational transformation |
WO2005010727A2 (en) | 2003-07-23 | 2005-02-03 | Praedea Solutions, Inc. | Extracting data from semi-structured text documents |
EP1654656A4 (en) | 2003-07-25 | 2010-08-04 | Arthur R Zingher | DEVICE AND METHOD FOR SOFTWARE DEBUGGING |
US7873645B2 (en) | 2003-09-05 | 2011-01-18 | Oracle International Corporation | Method and mechanism for handling arbitrarily-sized XML in SQL operator tree |
US20050108368A1 (en) | 2003-10-30 | 2005-05-19 | Aditya Mohan | Method and apparatus for representing data available in a peer-to-peer network using bloom-filters |
US20050097128A1 (en) | 2003-10-31 | 2005-05-05 | Ryan Joseph D. | Method for scalable, fast normalization of XML documents for insertion of data into a relational database |
US7167848B2 (en) | 2003-11-07 | 2007-01-23 | Microsoft Corporation | Generating a hierarchical plain-text execution plan from a database query |
GB0327589D0 (en) | 2003-11-27 | 2003-12-31 | Ibm | Searching in a computer network |
US9116929B2 (en) | 2003-12-08 | 2015-08-25 | Teradata Us, Inc. | Workload priority influenced data temperature |
US7508985B2 (en) | 2003-12-10 | 2009-03-24 | International Business Machines Corporation | Pattern-matching system |
US7308561B2 (en) | 2003-12-12 | 2007-12-11 | Alcatel Lucent | Fast, scalable pattern-matching engine |
US7440461B2 (en) | 2003-12-23 | 2008-10-21 | Intel Corporation | Methods and apparatus for detecting patterns in a data stream |
US7672964B1 (en) | 2003-12-31 | 2010-03-02 | International Business Machines Corporation | Method and system for dynamically initializing a view for a streaming data base system |
US8775412B2 (en) | 2004-01-08 | 2014-07-08 | International Business Machines Corporation | Method and system for a self-healing query access plan |
US7526804B2 (en) | 2004-02-02 | 2009-04-28 | Microsoft Corporation | Hardware assist for pattern matches |
US7376656B2 (en) | 2004-02-10 | 2008-05-20 | Microsoft Corporation | System and method for providing user defined aggregates in a database system |
US7194451B2 (en) | 2004-02-26 | 2007-03-20 | Microsoft Corporation | Database monitoring system |
US20050204340A1 (en) | 2004-03-10 | 2005-09-15 | Ruminer Michael D. | Attribute-based automated business rule identifier and methods of implementing same |
US7218325B1 (en) | 2004-03-31 | 2007-05-15 | Trading Technologies International, Inc. | Graphical display with integrated recent period zoom and historical period context data |
US7398265B2 (en) | 2004-04-09 | 2008-07-08 | Oracle International Corporation | Efficient query processing of XML data using XML index |
US20050273352A1 (en) | 2004-05-07 | 2005-12-08 | Lombardi Software, Inc. | Business method for continuous process improvement |
US20050273450A1 (en) | 2004-05-21 | 2005-12-08 | Mcmillen Robert J | Regular expression acceleration engine and processing model |
US7552365B1 (en) | 2004-05-26 | 2009-06-23 | Amazon Technologies, Inc. | Web site system with automated processes for detecting failure events and for selecting failure events for which to request user feedback |
US7516121B2 (en) | 2004-06-23 | 2009-04-07 | Oracle International Corporation | Efficient evaluation of queries using translation |
US7599924B2 (en) | 2004-06-25 | 2009-10-06 | International Business Machines Corporation | Relationship management in a data abstraction model |
US7370273B2 (en) | 2004-06-30 | 2008-05-06 | International Business Machines Corporation | System and method for creating dynamic folder hierarchies |
US20060007308A1 (en) | 2004-07-12 | 2006-01-12 | Ide Curtis E | Environmentally aware, intelligent surveillance device |
US7668806B2 (en) | 2004-08-05 | 2010-02-23 | Oracle International Corporation | Processing queries against one or more markup language sources |
US20060047696A1 (en) | 2004-08-24 | 2006-03-02 | Microsoft Corporation | Partially materialized views |
GB0420097D0 (en) | 2004-09-10 | 2004-10-13 | Cotares Ltd | Apparatus for and method of providing data to an external application |
US20060064438A1 (en) | 2004-09-17 | 2006-03-23 | International Business Machines Corporation | Methods and apparartus for monitoring abnormalities in data stream |
US7668856B2 (en) | 2004-09-30 | 2010-02-23 | Alcatel-Lucent Usa Inc. | Method for distinct count estimation over joins of continuous update stream |
US7310638B1 (en) | 2004-10-06 | 2007-12-18 | Metra Tech | Method and apparatus for efficiently processing queries in a streaming transaction processing system |
US7519962B2 (en) | 2004-10-07 | 2009-04-14 | Thomson Financial Llc | Command script parsing using local and extended storage for command lookup |
US20080077570A1 (en) | 2004-10-25 | 2008-03-27 | Infovell, Inc. | Full Text Query and Search Systems and Method of Use |
WO2006047654A2 (en) | 2004-10-25 | 2006-05-04 | Yuanhua Tang | Full text query and search systems and methods of use |
US7403945B2 (en) | 2004-11-01 | 2008-07-22 | Sybase, Inc. | Distributed database system providing data and space management methodology |
US7533087B2 (en) | 2004-11-05 | 2009-05-12 | International Business Machines Corporation | Method, system, and program for executing a query having a union all operator and data modifying operations |
US20060100969A1 (en) | 2004-11-08 | 2006-05-11 | Min Wang | Learning-based method for estimating cost and statistics of complex operators in continuous queries |
US7493304B2 (en) | 2004-11-12 | 2009-02-17 | International Business Machines Corporation | Adjusting an amount of data logged for a query based on a change to an access plan |
US7526461B2 (en) | 2004-11-17 | 2009-04-28 | Gm Global Technology Operations, Inc. | System and method for temporal data mining |
JP2006155404A (ja) | 2004-11-30 | 2006-06-15 | Toshiba Corp | 時間情報抽出装置、時間情報抽出方法、及び時間情報抽出プログラム |
US7383253B1 (en) | 2004-12-17 | 2008-06-03 | Coral 8, Inc. | Publish and subscribe capable continuous query processor for real-time data streams |
US20060155719A1 (en) | 2005-01-10 | 2006-07-13 | International Business Machines Corporation | Complex event discovery in event databases |
EP1684192A1 (en) | 2005-01-25 | 2006-07-26 | Ontoprise GmbH | Integration platform for heterogeneous information sources |
US20060166704A1 (en) | 2005-01-26 | 2006-07-27 | Benco David S | Method for alerting a subscriber of an emergency call request |
US8396886B1 (en) | 2005-02-03 | 2013-03-12 | Sybase Inc. | Continuous processing language for real-time data streams |
AU2006217563B2 (en) | 2005-02-22 | 2012-05-17 | Connectif Solutions Inc. | Distributed asset management system and method |
KR100690787B1 (ko) | 2005-02-25 | 2007-03-09 | 엘지전자 주식회사 | 무선통신 시스템에서 이벤트 통지방법 |
AU2006221023A1 (en) | 2005-03-03 | 2006-09-14 | Washington University | Method and apparatus for performing biosequence similarity searching |
US8463801B2 (en) | 2005-04-04 | 2013-06-11 | Oracle International Corporation | Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system |
US7428555B2 (en) * | 2005-04-07 | 2008-09-23 | Google Inc. | Real-time, computer-generated modifications to an online advertising program |
US7685150B2 (en) | 2005-04-19 | 2010-03-23 | Oracle International Corporation | Optimization of queries over XML views that are based on union all operators |
US8145686B2 (en) | 2005-05-06 | 2012-03-27 | Microsoft Corporation | Maintenance of link level consistency between database and file system |
JP4687253B2 (ja) | 2005-06-03 | 2011-05-25 | 株式会社日立製作所 | ストリームデータ処理システムのクエリ処理方法 |
US20060294095A1 (en) | 2005-06-09 | 2006-12-28 | Mantas, Inc. | Runtime thresholds for behavior detection |
US9792351B2 (en) | 2005-06-10 | 2017-10-17 | International Business Machines Corporation | Tolerant and extensible discovery of relationships in data using structural information and data analysis |
US9747560B2 (en) | 2005-07-13 | 2017-08-29 | Sap Se | Method and system for combination of independent demand data streams |
US7818313B1 (en) | 2005-07-18 | 2010-10-19 | Sybase, Inc. | Method for distributing processing of queries over a cluster of servers in a continuous processing system |
JP4723301B2 (ja) | 2005-07-21 | 2011-07-13 | 株式会社日立製作所 | ストリームデータ処理システムおよびストリームデータ処理方法 |
US7962616B2 (en) | 2005-08-11 | 2011-06-14 | Micro Focus (Us), Inc. | Real-time activity monitoring and reporting |
US20090172014A1 (en) | 2005-08-23 | 2009-07-02 | Raymond John Huetter | Stream-Oriented Database Machine and Method |
US7990646B2 (en) | 2005-09-30 | 2011-08-02 | Seagate Technology Llc | Data pattern detection using adaptive search windows |
US7937257B2 (en) | 2005-10-10 | 2011-05-03 | Oracle International Corporation | Estimating performance of application based on automatic resizing of shared memory for messaging |
KR100813000B1 (ko) | 2005-12-01 | 2008-03-13 | 한국전자통신연구원 | 데이터 중복 처리 방지 기능을 가지는 스트림 데이터 처리시스템 및 그 방법 |
US7702629B2 (en) | 2005-12-02 | 2010-04-20 | Exegy Incorporated | Method and device for high performance regular expression pattern matching |
US20070136254A1 (en) | 2005-12-08 | 2007-06-14 | Hyun-Hwa Choi | System and method for processing integrated queries against input data stream and data stored in database using trigger |
US7730023B2 (en) | 2005-12-22 | 2010-06-01 | Business Objects Sotware Ltd. | Apparatus and method for strategy map validation and visualization |
US20070168154A1 (en) | 2005-12-23 | 2007-07-19 | Ericson Richard E | User interface for statistical data analysis |
US7502889B2 (en) | 2005-12-30 | 2009-03-10 | Intel Corporation | Home node aware replacement policy for caches in a multiprocessor system |
US7814111B2 (en) | 2006-01-03 | 2010-10-12 | Microsoft International Holdings B.V. | Detection of patterns in data records |
US7844829B2 (en) | 2006-01-18 | 2010-11-30 | Sybase, Inc. | Secured database system with built-in antivirus protection |
US20070192301A1 (en) | 2006-02-15 | 2007-08-16 | Encirq Corporation | Systems and methods for indexing and searching data records based on distance metrics |
US20070198479A1 (en) | 2006-02-16 | 2007-08-23 | International Business Machines Corporation | Streaming XPath algorithm for XPath expressions with predicates |
US7446352B2 (en) | 2006-03-09 | 2008-11-04 | Tela Innovations, Inc. | Dynamic array architecture |
US7689582B2 (en) | 2006-03-10 | 2010-03-30 | International Business Machines Corporation | Data flow system and method for heterogeneous data integration environments |
US7536396B2 (en) | 2006-03-21 | 2009-05-19 | At&T Intellectual Property Ii, L.P. | Query-aware sampling of data streams |
US7877381B2 (en) | 2006-03-24 | 2011-01-25 | International Business Machines Corporation | Progressive refinement of a federated query plan during query execution |
US20070226188A1 (en) | 2006-03-27 | 2007-09-27 | Theodore Johnson | Method and apparatus for data stream sampling |
US7644066B2 (en) | 2006-03-31 | 2010-01-05 | Oracle International Corporation | Techniques of efficient XML meta-data query using XML table index |
US8788569B2 (en) | 2006-03-31 | 2014-07-22 | British Telecommunications Public Limited Company | Server computer system running versions of an application simultaneously |
GB0606776D0 (en) | 2006-04-03 | 2006-05-10 | Novartis Pharma Ag | Predictive biomarkers for chronic allograft nephropathy |
US7974984B2 (en) | 2006-04-19 | 2011-07-05 | Mobile Content Networks, Inc. | Method and system for managing single and multiple taxonomies |
WO2007122347A1 (fr) | 2006-04-20 | 2007-11-01 | France Telecom | Procede d'optimisation de la collecte d'evenements, procede de supervision, produits programmes d'ordinateur et dispositifs correspondants |
US7636703B2 (en) | 2006-05-02 | 2009-12-22 | Exegy Incorporated | Method and apparatus for approximate pattern matching |
US7548937B2 (en) | 2006-05-04 | 2009-06-16 | International Business Machines Corporation | System and method for scalable processing of multi-way data stream correlations |
US8131696B2 (en) | 2006-05-19 | 2012-03-06 | Oracle International Corporation | Sequence event processing using append-only tables |
JP4804233B2 (ja) | 2006-06-09 | 2011-11-02 | 株式会社日立製作所 | ストリームデータ処理方法 |
US7613848B2 (en) | 2006-06-13 | 2009-11-03 | International Business Machines Corporation | Dynamic stabilization for a stream processing system |
US20070294217A1 (en) | 2006-06-14 | 2007-12-20 | Nec Laboratories America, Inc. | Safety guarantee of continuous join queries over punctuated data streams |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US20080010093A1 (en) | 2006-06-30 | 2008-01-10 | Laplante Pierre | System and Method for Processing Health Information |
US7499909B2 (en) | 2006-07-03 | 2009-03-03 | Oracle International Corporation | Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching |
US20080016095A1 (en) | 2006-07-13 | 2008-01-17 | Nec Laboratories America, Inc. | Multi-Query Optimization of Window-Based Stream Queries |
US7496683B2 (en) | 2006-07-27 | 2009-02-24 | International Business Machines Corporation | Maximization of sustained throughput of distributed continuous queries |
US8671091B2 (en) | 2006-08-02 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Optimizing snowflake schema queries |
US20080034427A1 (en) | 2006-08-02 | 2008-02-07 | Nec Laboratories America, Inc. | Fast and scalable process for regular expression search |
US7580946B2 (en) | 2006-08-11 | 2009-08-25 | Bizweel Ltd. | Smart integration engine and metadata-oriented architecture for automatic EII and business integration |
US8099400B2 (en) | 2006-08-18 | 2012-01-17 | National Instruments Corporation | Intelligent storing and retrieving in an enterprise data system |
KR100778314B1 (ko) | 2006-08-21 | 2007-11-22 | 한국전자통신연구원 | 사용자 정의 공유 트리거를 이용한 데이터 스트림과 저장데이터에 대한 통합 연속 질의 처리 시스템 및 그 방법 |
US8260910B2 (en) | 2006-09-19 | 2012-09-04 | Oracle America, Inc. | Method and apparatus for monitoring a data stream to detect a pattern of data elements using bloom filters |
US20080082484A1 (en) | 2006-09-28 | 2008-04-03 | Ramot At Tel-Aviv University Ltd. | Fast processing of an XML data stream |
US20080082514A1 (en) | 2006-09-29 | 2008-04-03 | International Business Machines Corporation | Method and apparatus for integrating relational and hierarchical data |
US20080098359A1 (en) | 2006-09-29 | 2008-04-24 | Ventsislav Ivanov | Manipulation of trace sessions based on address parameters |
US8645176B2 (en) | 2006-10-05 | 2014-02-04 | Trimble Navigation Limited | Utilizing historical data in an asset management environment |
US7921416B2 (en) | 2006-10-20 | 2011-04-05 | Yahoo! Inc. | Formal language and translator for parallel processing of data |
US7988817B2 (en) | 2006-11-10 | 2011-08-02 | Adp Engineering Co., Ltd. | Lift pin driving device and a flat panel display manufacturing apparatus having same |
JP4933222B2 (ja) | 2006-11-15 | 2012-05-16 | 株式会社日立製作所 | インデックス処理方法及び計算機システム |
US20080120283A1 (en) | 2006-11-17 | 2008-05-22 | Oracle International Corporation | Processing XML data stream(s) using continuous queries in a data stream management system |
US9436779B2 (en) | 2006-11-17 | 2016-09-06 | Oracle International Corporation | Techniques of efficient XML query using combination of XML table index and path/value index |
US7827190B2 (en) | 2006-12-08 | 2010-11-02 | Pandya Ashish A | Complex symbol evaluation for programmable intelligent search memory |
US7716210B2 (en) | 2006-12-20 | 2010-05-11 | International Business Machines Corporation | Method and apparatus for XML query evaluation using early-outs and multiple passes |
US7895187B2 (en) | 2006-12-21 | 2011-02-22 | Sybase, Inc. | Hybrid evaluation of expressions in DBMS |
US20080195577A1 (en) | 2007-02-09 | 2008-08-14 | Wei Fan | Automatically and adaptively determining execution plans for queries with parameter markers |
US7630982B2 (en) | 2007-02-24 | 2009-12-08 | Trend Micro Incorporated | Fast identification of complex strings in a data stream |
US20090327102A1 (en) | 2007-03-23 | 2009-12-31 | Jatin Maniar | System and method for providing real time asset visibility |
US7827146B1 (en) | 2007-03-30 | 2010-11-02 | Symantec Operating Corporation | Storage system |
US8065319B2 (en) | 2007-04-01 | 2011-11-22 | Nec Laboratories America, Inc. | Runtime semantic query optimization for event stream processing |
US8370812B2 (en) | 2007-04-02 | 2013-02-05 | International Business Machines Corporation | Method and system for automatically assembling processing graphs in information processing systems |
US8098248B2 (en) | 2007-04-02 | 2012-01-17 | International Business Machines Corporation | Method for semantic modeling of stream processing components to enable automatic application composition |
US7818292B2 (en) | 2007-04-05 | 2010-10-19 | Anil Kumar Nori | SQL change tracking layer |
JP2008262046A (ja) | 2007-04-12 | 2008-10-30 | Hitachi Ltd | 会議可視化システム、会議可視化方法、及び集計処理サーバ |
US7899904B2 (en) | 2007-04-30 | 2011-03-01 | Lsi Corporation | Hardware processing of regular expressions |
US7788206B2 (en) | 2007-04-30 | 2010-08-31 | Lsi Corporation | State machine compression using multi-character state transition instructions |
US7945540B2 (en) | 2007-05-04 | 2011-05-17 | Oracle International Corporation | Method to create a partition-by time/tuple-based window in an event processing service |
US7912853B2 (en) | 2007-05-07 | 2011-03-22 | International Business Machines Corporation | Query processing client-server database system |
US7953728B2 (en) | 2007-05-18 | 2011-05-31 | Oracle International Corp. | Queries with soft time constraints |
US20080301135A1 (en) | 2007-05-29 | 2008-12-04 | Bea Systems, Inc. | Event processing query language using pattern matching |
US7975109B2 (en) | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US7792784B2 (en) | 2007-05-31 | 2010-09-07 | International Business Machines Corporation | Streaming multidimensional data by bypassing multidimensional query processor |
US7984040B2 (en) | 2007-06-05 | 2011-07-19 | Oracle International Corporation | Methods and systems for querying event streams using multiple event processors |
US7933894B2 (en) | 2007-06-15 | 2011-04-26 | Microsoft Corporation | Parameter-sensitive plans for structural scenarios |
US7689622B2 (en) | 2007-06-28 | 2010-03-30 | Microsoft Corporation | Identification of events of search queries |
US8832073B2 (en) | 2007-06-29 | 2014-09-09 | Alcatel Lucent | Method and apparatus for efficient aggregate computation over data streams |
US7676461B2 (en) | 2007-07-18 | 2010-03-09 | Microsoft Corporation | Implementation of stream algebra over class instances |
US7984043B1 (en) | 2007-07-24 | 2011-07-19 | Amazon Technologies, Inc. | System and method for distributed query processing using configuration-independent query plans |
US8055653B2 (en) | 2007-08-09 | 2011-11-08 | International Business Machines Corporation | Processing overlapping continuous queries |
US20090070786A1 (en) | 2007-09-11 | 2009-03-12 | Bea Systems, Inc. | Xml-based event processing networks for event server |
US7827299B2 (en) | 2007-09-11 | 2010-11-02 | International Business Machines Corporation | Transitioning between historical and real time data streams in the processing of data change messages |
US20090076899A1 (en) | 2007-09-14 | 2009-03-19 | Gbodimowo Gbeminiyi A | Method for analyzing, searching for, and trading targeted advertisement spaces |
US7979420B2 (en) | 2007-10-16 | 2011-07-12 | Oracle International Corporation | Handling silent relations in a data stream management system |
US7996388B2 (en) | 2007-10-17 | 2011-08-09 | Oracle International Corporation | Adding new continuous queries to a data stream management system operating on existing queries |
US8700608B2 (en) | 2007-10-17 | 2014-04-15 | Oracle International Corporation | SQL execution plan verification |
US8296316B2 (en) | 2007-10-17 | 2012-10-23 | Oracle International Corporation | Dynamically sharing a subtree of operators in a data stream management system operating on existing queries |
US8073826B2 (en) | 2007-10-18 | 2011-12-06 | Oracle International Corporation | Support for user defined functions in a data stream management system |
US7739265B2 (en) | 2007-10-18 | 2010-06-15 | Oracle International Corporation | Deleting a continuous query from a data stream management system continuing to operate on other queries |
US8307343B2 (en) | 2007-10-19 | 2012-11-06 | Microsoft Corporation | Application and database context correlation for database application developers |
US7991766B2 (en) | 2007-10-20 | 2011-08-02 | Oracle International Corporation | Support for user defined aggregations in a data stream management system |
US7673065B2 (en) | 2007-10-20 | 2010-03-02 | Oracle International Corporation | Support for sharing computation between aggregations in a data stream management system |
US8521867B2 (en) | 2007-10-20 | 2013-08-27 | Oracle International Corporation | Support for incrementally processing user defined aggregations in a data stream management system |
US7827127B2 (en) | 2007-10-26 | 2010-11-02 | Microsoft Corporation | Data scoping and data flow in a continuation based runtime |
JP5377897B2 (ja) | 2007-10-29 | 2013-12-25 | 株式会社日立製作所 | ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム |
US8335782B2 (en) | 2007-10-29 | 2012-12-18 | Hitachi, Ltd. | Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism |
US8103655B2 (en) | 2007-10-30 | 2012-01-24 | Oracle International Corporation | Specifying a family of logics defining windows in data stream management systems |
US8019747B2 (en) | 2007-10-30 | 2011-09-13 | Oracle International Corporation | Facilitating flexible windows in data stream management systems |
US8315990B2 (en) | 2007-11-08 | 2012-11-20 | Microsoft Corporation | Consistency sensitive streaming operators |
US20090125550A1 (en) | 2007-11-08 | 2009-05-14 | Microsoft Corporation | Temporal event stream model |
US7870167B2 (en) | 2007-11-09 | 2011-01-11 | Oracle America, Inc. | Implementing event processors |
KR100894910B1 (ko) | 2007-11-09 | 2009-04-30 | 한국전자통신연구원 | 이기종 센서 네트워크 환경에서 다중 질의 처리 장치 및방법 |
US9275353B2 (en) | 2007-11-09 | 2016-03-01 | Oracle America, Inc. | Event-processing operators |
WO2009114615A1 (en) | 2008-03-11 | 2009-09-17 | Virtual Agility, Inc. | Techniques for integrating parameterized information request into a system for collaborative work |
US8156134B2 (en) | 2007-11-15 | 2012-04-10 | International Business Machines Corporation | Using different groups of query graph transform modules to generate execution plans for queries for different database types |
US8191074B2 (en) | 2007-11-15 | 2012-05-29 | Ericsson Ab | Method and apparatus for automatic debugging technique |
US8429601B2 (en) | 2007-11-29 | 2013-04-23 | Red Hat, Inc. | Code completion for object relational mapping query language (OQL) queries |
US7870124B2 (en) | 2007-12-13 | 2011-01-11 | Oracle International Corporation | Rewriting node reference-based XQuery using SQL/SML |
CN101932999A (zh) | 2007-12-20 | 2010-12-29 | 汇丰技术股份有限公司 | 用于并行开发和部署项目的自动方法和系统 |
US7882087B2 (en) | 2008-01-15 | 2011-02-01 | At&T Intellectual Property I, L.P. | Complex dependencies for efficient data warehouse updates |
JP2009171193A (ja) | 2008-01-16 | 2009-07-30 | Kyocera Mita Corp | 通信装置、通信方法及び通信制御プログラム |
US20090192981A1 (en) | 2008-01-29 | 2009-07-30 | Olga Papaemmanouil | Query Deployment Plan For A Distributed Shared Stream Processing System |
US9489495B2 (en) | 2008-02-25 | 2016-11-08 | Georgetown University | System and method for detecting, collecting, analyzing, and communicating event-related information |
US8055649B2 (en) | 2008-03-06 | 2011-11-08 | Microsoft Corporation | Scaled management system |
US8903802B2 (en) | 2008-03-06 | 2014-12-02 | Cisco Technology, Inc. | Systems and methods for managing queries |
WO2009119811A1 (ja) | 2008-03-28 | 2009-10-01 | 日本電気株式会社 | 情報再構成システム、情報再構成方法及び情報再構成用プログラム |
US7958114B2 (en) | 2008-04-04 | 2011-06-07 | Microsoft Corporation | Detecting estimation errors in dictinct page counts |
US7872948B2 (en) | 2008-04-14 | 2011-01-18 | The Boeing Company | Acoustic wide area air surveillance system |
US8122050B2 (en) | 2008-04-16 | 2012-02-21 | International Business Machines Corporation | Query processing visualization system and method of visualizing query processing |
JP5198929B2 (ja) | 2008-04-25 | 2013-05-15 | 株式会社日立製作所 | ストリームデータ処理方法及び計算機システム |
US8155880B2 (en) | 2008-05-09 | 2012-04-10 | Locomatix Inc. | Location tracking optimizations |
US8886637B2 (en) | 2008-05-12 | 2014-11-11 | Enpulz, L.L.C. | Web browser accessible search engine which adapts based on user interaction |
US8850409B2 (en) | 2008-05-21 | 2014-09-30 | Optumsoft, Inc. | Notification-based constraint set translation to imperative execution |
US7930322B2 (en) | 2008-05-27 | 2011-04-19 | Microsoft Corporation | Text based schema discovery and information extraction |
US8918507B2 (en) | 2008-05-30 | 2014-12-23 | Red Hat, Inc. | Dynamic grouping of enterprise assets |
US8291006B2 (en) | 2008-05-30 | 2012-10-16 | International Business Machines Corporation | Method for generating a distributed stream processing application |
US8112378B2 (en) | 2008-06-17 | 2012-02-07 | Hitachi, Ltd. | Methods and systems for performing root cause analysis |
US20090319501A1 (en) | 2008-06-24 | 2009-12-24 | Microsoft Corporation | Translation of streaming queries into sql queries |
US8316012B2 (en) | 2008-06-27 | 2012-11-20 | SAP France S.A. | Apparatus and method for facilitating continuous querying of multi-dimensional data streams |
US20110105857A1 (en) | 2008-07-03 | 2011-05-05 | Panasonic Corporation | Impression degree extraction apparatus and impression degree extraction method |
US8086644B2 (en) | 2008-07-10 | 2011-12-27 | International Business Machines Corporation | Simplifying complex data stream problems involving feature extraction from noisy data |
US8447739B2 (en) | 2008-07-16 | 2013-05-21 | SAP France S.A. | Systems and methods to create continuous queries via a semantic layer |
US9135583B2 (en) | 2008-07-16 | 2015-09-15 | Business Objects S.A. | Systems and methods to create continuous queries associated with push-type and pull-type data |
US8185508B2 (en) | 2008-08-08 | 2012-05-22 | Oracle International Corporation | Adaptive filter index for determining queries affected by a DML operation |
US8037040B2 (en) | 2008-08-08 | 2011-10-11 | Oracle International Corporation | Generating continuous query notifications |
US8335793B2 (en) | 2008-08-22 | 2012-12-18 | Disney Enterprises, Inc. | System and method for optimized filtered data feeds to capture data and send to multiple destinations |
US9305238B2 (en) | 2008-08-29 | 2016-04-05 | Oracle International Corporation | Framework for supporting regular expression-based pattern matching in data streams |
EP2329419A4 (en) | 2008-09-15 | 2016-01-13 | James A Aman | AUTOMATED SESSION RECORDING WITH RULE-BASED INDEXING, ANALYSIS AND EXPRESSION OF CONTENT |
US8032544B2 (en) | 2008-09-24 | 2011-10-04 | The Boeing Company | Methods and apparatus for generating dynamic program files based on input queries that facilitate use of persistent query services |
US20100094838A1 (en) | 2008-10-10 | 2010-04-15 | Ants Software Inc. | Compatibility Server for Database Rehosting |
JP5337447B2 (ja) | 2008-10-28 | 2013-11-06 | 株式会社日立製作所 | ストリームデータ処理方法、及びシステム |
JP5465413B2 (ja) | 2008-10-29 | 2014-04-09 | 株式会社日立製作所 | ストリームデータ処理方法、及びそのシステム |
CN102202911B (zh) | 2008-10-31 | 2014-04-09 | 都美工业株式会社 | 汽车用轮辐 |
US7945565B2 (en) | 2008-11-20 | 2011-05-17 | Yahoo! Inc. | Method and system for generating a hyperlink-click graph |
US8538981B2 (en) | 2008-11-20 | 2013-09-17 | Sap Ag | Stream sharing for event data within an enterprise network |
US8392402B2 (en) | 2008-12-03 | 2013-03-05 | International Business Machines Corporation | Hybrid push/pull execution of continuous SQL queries |
US8145621B2 (en) | 2008-12-19 | 2012-03-27 | Ianywhere Solutions, Inc. | Graphical representation of query optimizer search space in a database management system |
US8935293B2 (en) | 2009-03-02 | 2015-01-13 | Oracle International Corporation | Framework for dynamically generating tuple and page classes |
US8145859B2 (en) | 2009-03-02 | 2012-03-27 | Oracle International Corporation | Method and system for spilling from a queue to a persistent store |
US8352517B2 (en) * | 2009-03-02 | 2013-01-08 | Oracle International Corporation | Infrastructure for spilling pages to a persistent store |
JP5149840B2 (ja) * | 2009-03-03 | 2013-02-20 | 株式会社日立製作所 | ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置 |
US8725707B2 (en) | 2009-03-26 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Data continuous SQL process |
US8713038B2 (en) | 2009-04-02 | 2014-04-29 | Pivotal Software, Inc. | Integrating map-reduce into a distributed relational database |
US8285709B2 (en) | 2009-05-12 | 2012-10-09 | Teradata Us, Inc. | High-concurrency query operator and method |
US8161035B2 (en) | 2009-06-04 | 2012-04-17 | Oracle International Corporation | Query optimization by specifying path-based predicate evaluation in a path-based query operator |
US8996556B2 (en) * | 2009-06-05 | 2015-03-31 | Microsoft Technology Licensing, Llc | Parallel processing of an ordered data stream |
US8868725B2 (en) | 2009-06-12 | 2014-10-21 | Kent State University | Apparatus and methods for real-time multimedia network traffic management and control in wireless networks |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
US8572589B2 (en) | 2009-06-30 | 2013-10-29 | Agilent Technologies, Inc. | Programming language translator and enabling translation of machine-centric commands for controlling instrument |
US8180801B2 (en) | 2009-07-16 | 2012-05-15 | Sap Ag | Unified window support for event stream data management |
US8880524B2 (en) | 2009-07-17 | 2014-11-04 | Apple Inc. | Scalable real time event stream processing |
US8387076B2 (en) | 2009-07-21 | 2013-02-26 | Oracle International Corporation | Standardized database connectivity support for an event processing server |
US8321450B2 (en) | 2009-07-21 | 2012-11-27 | Oracle International Corporation | Standardized database connectivity support for an event processing server in an embedded context |
US8572016B2 (en) | 2009-07-31 | 2013-10-29 | International Business Machines Corporation | Match engine for detection of multi-pattern rules |
US8527458B2 (en) | 2009-08-03 | 2013-09-03 | Oracle International Corporation | Logging framework for a data stream processing server |
US8386466B2 (en) | 2009-08-03 | 2013-02-26 | Oracle International Corporation | Log visualization tool for a data stream processing server |
US20110035253A1 (en) | 2009-08-07 | 2011-02-10 | onFucus Healthcare | Systems and Methods for Optimizing Enterprise Performance Relationships to Other Applications |
CA2754159C (en) | 2009-08-11 | 2012-05-15 | Certusview Technologies, Llc | Systems and methods for complex event processing of vehicle-related information |
JP4925143B2 (ja) | 2009-08-12 | 2012-04-25 | 株式会社日立製作所 | ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム |
JP5395565B2 (ja) * | 2009-08-12 | 2014-01-22 | 株式会社日立製作所 | ストリームデータ処理方法及び装置 |
US8204873B2 (en) | 2009-08-26 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | System and method for query expression optimization |
US20110084967A1 (en) | 2009-10-09 | 2011-04-14 | International Business Machines Corporation | Visualization of Datasets |
US8195648B2 (en) * | 2009-10-21 | 2012-06-05 | Microsoft Corporation | Partitioned query execution in event processing systems |
US20110131588A1 (en) | 2009-12-01 | 2011-06-02 | International Business Machines Corporation | Software architecture that can sense and respond to contextual and state information |
US9430494B2 (en) | 2009-12-28 | 2016-08-30 | Oracle International Corporation | Spatial data cartridge for event processing systems |
US8959106B2 (en) | 2009-12-28 | 2015-02-17 | Oracle International Corporation | Class loading using java data cartridges |
US9305057B2 (en) | 2009-12-28 | 2016-04-05 | Oracle International Corporation | Extensible indexing framework using data cartridges |
US9307038B2 (en) | 2009-12-29 | 2016-04-05 | Motorola Solutions, Inc. | Method for presence notification based on a sequence of events |
US8423576B2 (en) | 2010-01-11 | 2013-04-16 | International Business Machines Corporation | System and method for querying data streams |
EP2348416A1 (en) | 2010-01-21 | 2011-07-27 | Software AG | Analysis system and method for analyzing continuous queries for data streams |
US9805101B2 (en) | 2010-02-26 | 2017-10-31 | Ebay Inc. | Parallel data stream processing system |
US8484243B2 (en) | 2010-05-05 | 2013-07-09 | Cisco Technology, Inc. | Order-independent stream query processing |
US8762297B2 (en) | 2010-05-17 | 2014-06-24 | Microsoft Corporation | Dynamic pattern matching over ordered and disordered data streams |
US8595234B2 (en) | 2010-05-17 | 2013-11-26 | Wal-Mart Stores, Inc. | Processing data feeds |
US10380186B2 (en) | 2010-05-26 | 2019-08-13 | Entit Software Llc | Virtual topological queries |
US8595840B1 (en) | 2010-06-01 | 2013-11-26 | Trend Micro Incorporated | Detection of computer network data streams from a malware and its variants |
US20120116982A1 (en) | 2010-06-02 | 2012-05-10 | Salesforce. com. Inc. | Method and system for escalating content of discussions to particular memory locations |
CN101866353B (zh) | 2010-06-09 | 2012-10-10 | 孟小峰 | 一种基于位置服务的连续查询隐私保护方法 |
US8442863B2 (en) | 2010-06-17 | 2013-05-14 | Microsoft Corporation | Real-time-ready behavioral targeting in a large-scale advertisement system |
US20110314019A1 (en) | 2010-06-18 | 2011-12-22 | Universidad Politecnica De Madrid | Parallel processing of continuous queries on data streams |
US8627329B2 (en) | 2010-06-24 | 2014-01-07 | International Business Machines Corporation | Multithreaded physics engine with predictive load balancing |
US8719207B2 (en) | 2010-07-27 | 2014-05-06 | Oracle International Corporation | Method and system for providing decision making based on sense and respond |
US8713049B2 (en) | 2010-09-17 | 2014-04-29 | Oracle International Corporation | Support for a parameterized query/view in complex event processing |
US8260803B2 (en) | 2010-09-23 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | System and method for data stream processing |
EP2628093A1 (en) | 2010-10-11 | 2013-08-21 | Hewlett-Packard Development Company, L.P. | System and method for querying a data stream |
WO2012050582A1 (en) | 2010-10-14 | 2012-04-19 | Hewlett-Packard Development Company, L.P. | Continuous querying of a data stream |
US9189280B2 (en) | 2010-11-18 | 2015-11-17 | Oracle International Corporation | Tracking large numbers of moving objects in an event processing system |
US20120130963A1 (en) | 2010-11-24 | 2012-05-24 | Teradata Us, Inc. | User defined function database processing |
EP2469420B1 (en) * | 2010-12-22 | 2019-11-27 | Software AG | CEP engine and method for processing CEP queries |
US8478743B2 (en) * | 2010-12-23 | 2013-07-02 | Microsoft Corporation | Asynchronous transfer of state information between continuous query plans |
US8788484B2 (en) | 2010-12-27 | 2014-07-22 | Software Ag | Systems and/or methods for user feedback driven dynamic query rewriting in complex event processing environments |
US9350567B2 (en) | 2011-01-25 | 2016-05-24 | International Business Machines Corporation | Network resource configurations |
US8799271B2 (en) | 2011-01-25 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Range predicate canonization for translating a query |
JP2012168725A (ja) * | 2011-02-14 | 2012-09-06 | Toyota Motor Corp | マルチスレッド・プロセッサ |
US8655825B2 (en) * | 2011-03-10 | 2014-02-18 | Sap Ag | Efficient management of data quality for streaming event data |
US8751639B2 (en) | 2011-04-27 | 2014-06-10 | Rackspace Us, Inc. | Event queuing and distribution system |
US8990416B2 (en) | 2011-05-06 | 2015-03-24 | Oracle International Corporation | Support for a new insert stream (ISTREAM) operation in complex event processing (CEP) |
WO2012152315A1 (en) | 2011-05-10 | 2012-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Optimised data stream management system |
US8738572B2 (en) | 2011-05-24 | 2014-05-27 | Red Lambda, Inc. | System and method for storing data streams in a distributed environment |
US9965520B2 (en) | 2011-06-17 | 2018-05-08 | Microsoft Corporation | Efficient logical merging over physically divergent streams |
US9329975B2 (en) | 2011-07-07 | 2016-05-03 | Oracle International Corporation | Continuous query language (CQL) debugger in complex event processing (CEP) |
US20130031567A1 (en) | 2011-07-25 | 2013-01-31 | Microsoft Corporation | Local event processing |
US9286354B2 (en) | 2011-08-15 | 2016-03-15 | Software Ag | Systems and/or methods for forecasting future behavior of event streams in complex event processing (CEP) environments |
US8880493B2 (en) | 2011-09-28 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Multi-streams analytics |
US8635208B2 (en) | 2011-11-03 | 2014-01-21 | Sap Ag | Multi-state query migration in data stream management |
US9424150B2 (en) | 2011-12-06 | 2016-08-23 | Sap Se | Fault tolerance based query execution |
WO2013131570A1 (en) | 2012-03-08 | 2013-09-12 | Telefonaktiebolaget L M Ericsson (Publ) | Data stream management systems |
US9201911B2 (en) | 2012-03-29 | 2015-12-01 | International Business Machines Corporation | Managing test data in large scale performance environment |
US9239864B2 (en) | 2012-04-17 | 2016-01-19 | Cisco Technology, Inc. | Distributing and processing streams over one or more networks |
CN102665207A (zh) | 2012-05-08 | 2012-09-12 | 杭州电子科技大学 | Lbs中基于移动终端的连续查询用户位置隐匿方法 |
US20130332240A1 (en) * | 2012-06-08 | 2013-12-12 | University Of Southern California | System for integrating event-driven information in the oil and gas fields |
WO2014000819A1 (en) | 2012-06-29 | 2014-01-03 | Telefonaktiebolaget Lm Ericsson (Publ) | A method of and network server for detecting data patterns in an input data stream |
US20140019194A1 (en) | 2012-07-12 | 2014-01-16 | Bank Of America | Predictive Key Risk Indicator Identification Process Using Quantitative Methods |
US9009213B2 (en) | 2012-08-27 | 2015-04-14 | Sap Se | Distributing pre-rendering processing tasks |
CN102892073B (zh) | 2012-09-11 | 2015-07-01 | 北京航空航天大学 | 一种适用于位置服务系统中面向连续查询的位置匿名方法 |
US20140082013A1 (en) | 2012-09-20 | 2014-03-20 | Sap Ag | Query templates for queries in data stream management systems |
US9361308B2 (en) | 2012-09-28 | 2016-06-07 | Oracle International Corporation | State initialization algorithm for continuous queries over archived relations |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US8892484B2 (en) | 2012-09-28 | 2014-11-18 | Sphere Of Influence, Inc. | System and method for predicting events |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US9053210B2 (en) | 2012-12-14 | 2015-06-09 | Microsoft Technology Licensing, Llc | Graph query processing using plurality of engines |
US20140172506A1 (en) | 2012-12-17 | 2014-06-19 | Microsoft Corporation | Customer segmentation |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US9098587B2 (en) | 2013-01-15 | 2015-08-04 | Oracle International Corporation | Variable duration non-event pattern matching |
US20140237487A1 (en) | 2013-02-15 | 2014-08-21 | University Of Southern California | Complex event processing for dynamic data |
US9047249B2 (en) | 2013-02-19 | 2015-06-02 | Oracle International Corporation | Handling faults in a continuous event processing (CEP) system |
US9390135B2 (en) | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
US20140324530A1 (en) | 2013-04-30 | 2014-10-30 | Liveops, Inc. | Method and system for detecting patters in data streams |
US9418113B2 (en) | 2013-05-30 | 2016-08-16 | Oracle International Corporation | Value based windows on relations in continuous data streams |
CN104252469B (zh) | 2013-06-27 | 2017-10-20 | 国际商业机器公司 | 用于模式匹配的方法、设备和电路 |
US9934279B2 (en) | 2013-12-05 | 2018-04-03 | Oracle International Corporation | Pattern matching across multiple input data streams |
US9838512B2 (en) | 2014-10-30 | 2017-12-05 | Splunk Inc. | Protocol-based capture of network data using remote capture agents |
US9244978B2 (en) | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US9712645B2 (en) | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US9886486B2 (en) | 2014-09-24 | 2018-02-06 | Oracle International Corporation | Enriching events with dynamically typed big data for event processing |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
WO2017018901A1 (en) | 2015-07-24 | 2017-02-02 | Oracle International Corporation | Visually exploring and analyzing event streams |
-
2013
- 2013-02-19 US US13/770,961 patent/US9390135B2/en active Active
-
2014
- 2014-02-19 WO PCT/US2014/017061 patent/WO2014130514A2/en active Application Filing
- 2014-02-19 EP EP14709807.3A patent/EP2959408B1/en active Active
- 2014-02-19 JP JP2015558217A patent/JP6452629B2/ja active Active
- 2014-02-19 CN CN201480009223.2A patent/CN105074698B/zh active Active
-
2016
- 2016-06-08 US US15/177,147 patent/US10083210B2/en active Active
-
2018
- 2018-09-28 JP JP2018183302A patent/JP6602435B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549969A (zh) * | 2001-07-06 | 2004-11-24 | 关联并确定系统和企业事件的根本原因的方法和系统 | |
CN101416158A (zh) * | 2006-03-30 | 2009-04-22 | 微软公司 | 用于对过程中心的程序的取消建模的框架 |
Also Published As
Publication number | Publication date |
---|---|
JP2019032864A (ja) | 2019-02-28 |
JP6452629B2 (ja) | 2019-01-16 |
WO2014130514A3 (en) | 2014-11-13 |
CN105074698A (zh) | 2015-11-18 |
JP2016514299A (ja) | 2016-05-19 |
US10083210B2 (en) | 2018-09-25 |
EP2959408B1 (en) | 2019-10-23 |
JP6602435B2 (ja) | 2019-11-06 |
US20160283555A1 (en) | 2016-09-29 |
EP2959408A2 (en) | 2015-12-30 |
US20140236983A1 (en) | 2014-08-21 |
WO2014130514A2 (en) | 2014-08-28 |
US9390135B2 (en) | 2016-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105074698B (zh) | 并行地执行连续事件处理(cep)查询 | |
US11646953B2 (en) | Identification of network issues by correlation of cross-platform performance data | |
US20210037037A1 (en) | Predictive model selection for anomaly detection | |
US11567959B2 (en) | Self-contained files for generating a visualization of query results | |
US11422873B2 (en) | Efficient message queuing service using multiplexing | |
US9262258B2 (en) | Handling faults in a continuous event processing (CEP) system | |
US10984013B1 (en) | Tokenized event collector | |
US8321549B2 (en) | Action execution management for service configuration items | |
US11829381B2 (en) | Data source metric visualizations | |
US11921693B1 (en) | HTTP events with custom fields | |
US11573955B1 (en) | Data-determinant query terms | |
US11874794B2 (en) | Entity snapshots partitioning and combining | |
CN111930355A (zh) | 一种web后端开发框架及其构建方法 | |
CN108064379A (zh) | 用于远程端点信息取回的查询引擎 | |
US11178160B2 (en) | Detecting and mitigating leaked cloud authorization keys | |
US11635953B2 (en) | Proactive notifications for robotic process automation | |
CN107066366B (zh) | 面向物联网的复杂事件处理引擎状态监控与灾难恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |