Safe mode for inverse query evaluations
    1.
    发明申请
    Safe mode for inverse query evaluations 有权
    反向查询评估的安全模式

    公开(公告)号:US20070078829A1

    公开(公告)日:2007-04-05

    申请号:US11245322

    申请日:2005-10-05

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30938 G06F21/52

    摘要: Embodiments herein prevent or mitigate attacks on inverse query engines by providing safe mode routines that allow for the acceptance of third party messages and/or query expressions, as well as prevent trusted sources from accidental attacks. The mitigations fall into two categories: compile-time and runtime. Compile-time mitigations prevent query expressions from being accepted and compiled that are susceptible to known attacks. For example, the complexity of query expressions may be limited to functions with linear runtimes; constant memory usage; or ones that do not create large strings. Further, language constructs for the criteria in the query expression may not allow for nested predicates complexities. Runtime mitigations, on the other hand, monitor the data size and processing lengths of messages against the various query expressions. If these runtime quotas are exceeded, an exception or other violation indication may be thrown (e.g., abort), deeming the evaluation as under attack.

    摘要翻译: 这里的实施例通过提供允许接受第三方消息和/或查询表达式的安全模式例程,以及防止可信源来自意外攻击来防止或减轻对反向查询引擎的攻击。 缓解分为两类:编译时和运行时。 编译时缓解阻止查询表达式受到已知攻击的接受和编译。 例如,查询表达式的复杂性可能限于具有线性运行时的函数; 不断的内存使用; 或者不创建大字符串的那些。 此外,查询表达式中的条件的语言结构可能不允许嵌套谓词的复杂性。 另一方面,运行缓解则根据各种查询表达式监视消息的数据大小和处理长度。 如果超出这些运行时配额,可能会抛出异常或其他违规指示(例如,中止),将评估视为受到攻击。

    Common sub-expression elimination for inverse query evaluation
    2.
    发明申请
    Common sub-expression elimination for inverse query evaluation 审中-公开
    反查询评估的公共子表达式消除

    公开(公告)号:US20070078816A1

    公开(公告)日:2007-04-05

    申请号:US11244724

    申请日:2005-10-05

    IPC分类号: G06F17/30

    CPC分类号: G06F16/9027

    摘要: Provided herein are optimizations for an instruction tree of an inverse query engine. Secondary sub-expression elimination trees are provided, which are data structures configured to include nodes that allow for temporary variables that hold processing context or state for idempotent fragments of query expression(s). As such, when sub-paths for a query expression are processed against a message, the processing context may be stored within nodes of one or more sub-expression elimination trees. The next time this same fragment is processed, regardless of where it appears within the instruction tree, the data structure is accessed to identify and retrieve the state information such that the idempotent fragment is only calculated or evaluated once.

    摘要翻译: 这里提供了反向查询引擎的指令树的优化。 提供次级子表达式消除树,其是被配置为包括允许存储用于查询表达式的幂等分片段的处理上下文或状态的临时变量的节点的数据结构。 因此,当针对消息处理查询表达式的子路径时,处理上下文可以存储在一个或多个子表达式消除树的节点内。 下一次处理这个相同的片段时,无论它在指令树中出现的位置如何,都会访问数据结构,以便识别和检索状态信息,以便仅计算或评估幂等片段。

    High performance navigator for parsing inputs of a message
    3.
    发明申请
    High performance navigator for parsing inputs of a message 有权
    用于解析消息输入的高性能导航器

    公开(公告)号:US20070089115A1

    公开(公告)日:2007-04-19

    申请号:US11245323

    申请日:2005-10-05

    IPC分类号: G06F9/46

    摘要: Example embodiments provide a high performance navigator configured to lightly touch on the elements or input of a message, without necessarily having to build an entire tree structure for each input within the message. In addition, as portions of the inputs are identified as requiring further details, only those stub nodes representing that particular input will be created; thus avoiding the setup cost associated with loading an entire tree. Other example embodiments also provide for other optimizations such as reducing the class types of node allocations needed for navigating a particular message. For instance, a single class is defined that holds enough fields to store all of the information needed for numerous input nodes. Further, these common node structures can simultaneously generate as an array that further allows for more efficient navigation of the inputs.

    摘要翻译: 示例性实施例提供了被配置为轻轻触摸消息的元素或输入的高性能导航器,而不必为消息内的每个输入构建整个树结构。 另外,由于输入的部分被识别为需要进一步的细节,所以仅将形成表示该特定输入的那些存根节点; 从而避免与加载整个树相关的设置成本。 其他示例实施例还提供其他优化,例如减少用于导航特定消息所需的节点分配的类类型。 例如,定义了一个类,它保存足够的字段来存储许多输入节点所需的所有信息。 此外,这些公共节点结构可以同时生成为进一步允许输入的更有效的导航的阵列。

    Select indexing in merged inverse query evaluations
    4.
    发明申请
    Select indexing in merged inverse query evaluations 有权
    合并反查询评估中选择索引

    公开(公告)号:US20070078874A1

    公开(公告)日:2007-04-05

    申请号:US11244670

    申请日:2005-10-05

    IPC分类号: G06F7/00

    摘要: Embodiments provide for select indexing, which uses an array to simultaneously construct output sets for instructions that operate on input nodesets with common axes. During evaluation of a message against an instruction tree, when a branching node with a large “splay” is iterated over, rather than iterating over an input nodeset with a common axis once per branch, the select indexing described herein iterates over the nodeset once in total. More specifically, the select index data structure includes an array of empty node sets for instructions that both, branch from a branching node, and evaluate input nodes that share a common axis. Identifiers for the input nodeset are compared to indices within the select index, and matches for the input nodes are added to the corresponding nodeset for the appropriate instruction. The results of the evaluation may then be passed to the branches of the select instructions for further processing.

    摘要翻译: 实施例提供了选择索引,其使用阵列来同时构造用于在具有公共轴的输入节点集上操作的指令的输出集合。 在针对指令树的消息评估期间,当遍历具有大“splay”的分支节点时,而不是遍历具有每个分支的公共轴的输入节点集,这里所述的选择索引在该节点集上一次遍历 总。 更具体地,选择索引数据结构包括用于从分支节点分支并且评估共享公共轴的输入节点的指令的空节点集的阵列。 将输入节点集的标识符与选择索引中的索引进行比较,并将输入节点的匹配添加到相应的节点集中以获取适当的指令。 然后可以将评估结果传递给选择指令的分支用于进一步处理。

    Custom function library for inverse query evaluation of messages
    5.
    发明申请
    Custom function library for inverse query evaluation of messages 审中-公开
    自定义功能库用于消息的反查询评估

    公开(公告)号:US20070078840A1

    公开(公告)日:2007-04-05

    申请号:US11244947

    申请日:2005-10-05

    IPC分类号: G06F17/30

    CPC分类号: G06F16/8373

    摘要: In an inverse query environment, exemplary embodiments describe a set of shortcut keys that can be used to augment common query functions making it easier for developers to write query expressions. Further, these shortcut keys can be used to more efficiently execute equivalent functionality of the common query expressions, without evaluating large query strings against the message. In addition, embodiments described herein allow for automatic versioning of query functions, allowing for more maintainability of query expression sets. For example, a custom query library is provided with information about standard query functions based on industry wisdom of those functions most commonly referenced and/or versioned. Developers can use abbreviated query function shortcut keys in executing equivalent functionality of the lengthier string values for common query functions. The custom query library can also be modified with up-to-date information as industry changes are needed, thereby automatically maintaining the query expressions.

    摘要翻译: 在反向查询环境中,示例性实施例描述了可以用于增加公共查询功能的一组快捷键,使得开发人员更容易编写查询表达式。 此外,这些快捷键可以用于更有效地执行公共查询表达式的等效功能,而不会根据消息评估大型查询字符串。 此外,本文描述的实施例允许查询功能的自动版本化,允许查询表达式集合的更多可维护性。 例如,自定义查询库提供有关基于最常参考和/或版本化的功能的行业智慧的关于标准查询功能的信息。 开发人员可以使用缩写查询功能快捷键来执行常见查询功能的冗长字符串值的等效功能。 自定义查询库也可以随行业更改而被修改为最新信息,从而自动维护查询表达式。

    Evaluating Queries Against In-Memory Objects Without Serialization
    7.
    发明申请
    Evaluating Queries Against In-Memory Objects Without Serialization 有权
    评估内存对象的查询而不进行序列化

    公开(公告)号:US20080040381A1

    公开(公告)日:2008-02-14

    申请号:US11876515

    申请日:2007-10-22

    IPC分类号: G06F7/00

    摘要: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (eXtensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.

    摘要翻译: 本文所描述的至少一个实现涉及针对根据第二不同格式而构造的一个或多个对象,根据第一格式来结构化查询而不串行化该对象。 通常,针对CLR(Common Language Runtime)对象评估XML(可扩展标记语言)查询需要序列化CLR对象并从序列化数据中导出XML构造。 然后根据XML构造来评估查询。 在所描述的实现中,通过创建将对象的属性映射到对象信息集的信息集模型来实现重要的系统资源。 然后使用信息集来评估查询以定位对象值,因此不需要序列化。 动态生成的IL被使用并重新用于有效执行类似查询的后续评估步骤。

    Techniques for phonetic searching
    8.
    发明授权
    Techniques for phonetic searching 有权
    语音搜索技术

    公开(公告)号:US07062482B1

    公开(公告)日:2006-06-13

    申请号:US09965541

    申请日:2001-09-26

    IPC分类号: G06F17/30 G06F17/20

    摘要: In a network providing for electronic commerce, a computer system provides a user with access to a set of electronic commerce pages, category pages and databases for locating products electronically. To locate products electronically, the user performs a search using multiple words. The search terms in the search request are converted to canonical phonetic forms, and a phonetic keyword search based on the canonical phonetic forms is performed. The phonetic keyword search is then used to generate search results.

    摘要翻译: 在提供电子商务的网络中,计算机系统为用户提供对电子商务页面,类别页面和数据库的访问,以便以电子方式定位产品。 要以电子方式查找产品,用户使用多个字进行搜索。 搜索请求中的搜索项被转换为规范的语音形式,并且执行基于规范语音形式的语音关键字搜索。 然后,语音关键字搜索用于生成搜索结果。

    Evaluating queries against in-memory objects without serialization
    9.
    发明申请
    Evaluating queries against in-memory objects without serialization 失效
    评估针对内存中对象的查询而不进行序列化

    公开(公告)号:US20050187908A1

    公开(公告)日:2005-08-25

    申请号:US10783599

    申请日:2004-02-20

    IPC分类号: G06F7/00 G06F17/30

    摘要: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (extensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.

    摘要翻译: 本文所描述的至少一个实现涉及针对根据第二不同格式而构造的一个或多个对象,根据第一格式来结构化查询而不串行化该对象。 通常,针对CLR(公共语言运行时)对象评估XML(可扩展标记语言)查询需要序列化CLR对象并从序列化数据中导出XML构造。 然后根据XML构造来评估查询。 在所描述的实现中,通过创建将对象的属性映射到对象信息集的信息集模型来实现重要的系统资源。 然后使用信息集来评估查询以定位对象值,因此不需要序列化。 动态生成的IL被使用并重新用于有效执行类似查询的后续评估步骤。

    Evaluating queries against in-memory objects without serialization
    10.
    发明申请
    Evaluating queries against in-memory objects without serialization 失效
    评估针对内存中对象的查询而不进行序列化

    公开(公告)号:US20080040333A1

    公开(公告)日:2008-02-14

    申请号:US11876564

    申请日:2007-10-22

    IPC分类号: G06F17/30

    摘要: At least one implementation described herein relates to evaluating queries structured according to a first format against one or more objects structured according to a second, different format without serializing the object. Typically, evaluating an XML (eXtensible Markup Language) query against a CLR (Common Language Runtime) object required serializing the CLR object and deriving an XML construct from the serialized data. The query is then be evaluated against the XML construct. In the described implementations, significant system resources are realized by creating an infoset model that maps properties of an object to an object infoset. The query is then evaluated using the infoset to locate object values and, thus, no serialization is required. Dynamically generated IL is used and re-used to efficiently perform subsequent evaluation steps on similar queries.

    摘要翻译: 本文所描述的至少一个实现涉及针对根据第二不同格式而构造的一个或多个对象,根据第一格式来结构化查询而不串行化该对象。 通常,针对CLR(Common Language Runtime)对象评估XML(可扩展标记语言)查询需要序列化CLR对象并从序列化数据中导出XML构造。 然后根据XML构造来评估查询。 在所描述的实现中,通过创建将对象的属性映射到对象信息集的信息集模型来实现重要的系统资源。 然后使用信息集来评估查询以定位对象值,因此不需要序列化。 动态生成的IL被使用并重新用于有效执行类似查询的后续评估步骤。