Chaining actions for a directed graph
    1.
    发明授权
    Chaining actions for a directed graph 有权
    有向图的链接动作

    公开(公告)号:US06738777B2

    公开(公告)日:2004-05-18

    申请号:US09681072

    申请日:2000-12-20

    IPC分类号: G06F1730

    摘要: A plurality of actions are applied to a directed graph, where the directed graph has a plurality of nodes. A node in the directed graph is traversed to, and an specific method for each of the plurality of actions is performed on the traversed-node. The traversing and performing are repeated until all nodes in the directed graph have been traversed to. Only a single traversal of the directed graph need be performed to apply all of the actions to the directed graph. The plurality of the actions are in the form of a chain. Each action has an action object pointer, and the actions include a base action at a tail end of the chain and at least one chain action at a head end of the chain. The action object pointer of each chain action points to an immediately adjacent action toward the tail end of the chain, and the action object pointer of the base action points to the chain action at the head end of the chain.

    摘要翻译: 有向图被应用于有向图,其中有向图具有多个节点。 遍历有向图中的节点,并且对遍历到节点执行针对多个动作中的每一个的动作特定方法。 重复遍历和执行,直到有向图中的所有节点都被遍历。 只需执行有向图的单次遍历即可将所有动作应用于有向图。 多个动作是链的形式。 每个动作都有一个动作对象指针,并且动作包括在该链的尾端的基本动作,以及在该链的头端的至少一个链动作。 每个链动作的动作对象指针指向与链的尾端紧密相邻的动作,并且基本动作的动作对象指针指向链头端的链动作。

    Automatic root cause analysis and diagnostics engine
    2.
    发明授权
    Automatic root cause analysis and diagnostics engine 有权
    自动根本原因分析和诊断引擎

    公开(公告)号:US07191364B2

    公开(公告)日:2007-03-13

    申请号:US10713867

    申请日:2003-11-14

    IPC分类号: G06F11/00

    摘要: A large portion of software bugs are related to hangs. Analyzing and diagnosing hang-related bugs involves capturing data from a hung program and extracting attributes from the captured data. Extracting attributes from the capture data provides a scheme to determine relevant characteristics of the hang. Moreover, the extracted attributes may be compared to known issues and, based on that comparison, a bug may be classified as known or unknown. Alternatively, triage may be performed on the client computing device in order to determine the potential cause of the hang event. Once the potential cause of the hang event has been determined, troubleshooting steps may be performed on the client computing device to quarantine it. Ultimately, if the hang-inducing bug is known, a user may be provided with a solution to the bug. Alternatively, if the bug is unknown, implementations of the invention send the captured data to be analyzed and fixed by the software's provider.

    摘要翻译: 大部分的软件错误与挂起有关。 分析和诊断挂起相关的错误涉及从挂起的程序捕获数据并从捕获的数据中提取属性。 从捕获数据中提取属性提供了一种确定挂起的相关特征的方案。 此外,提取的属性可以与已知问题进行比较,并且基于该比较,错误可以被分类为已知或未知的。 或者,可以在客户端计算设备上执行分类,以便确定挂起事件的潜在原因。 一旦确定了挂起事件的潜在原因,可能会在客户端计算设备上执行故障排除步骤以进行隔离。 最终,如果知道挂起的bug,可能会向用户提供一个解决方案。 或者,如果该错误是未知的,则本发明的实现发送被软件提供商分析和修复的捕获数据。

    EMULATING POINTERS
    3.
    发明申请
    EMULATING POINTERS 有权
    模拟点

    公开(公告)号:US20120167062A1

    公开(公告)日:2012-06-28

    申请号:US12979094

    申请日:2010-12-27

    IPC分类号: G06F9/45

    CPC分类号: G06F9/455 G06F8/434

    摘要: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.

    摘要翻译: 本发明扩展到用于模拟指针的方法,系统和计算机程序产品。 可以通过用对替换指针来替换指针,并使用标签上的开关替换每个解引用站点,以及在指针指向的相应变量上执行仿真指针访问的交换机主体。 可以使用数据流优化来减少交换机的数量和/或减少在每个仿真指针访问站点需要考虑的情况的数量。

    Threading and communication architecture for a graphical user interface
    4.
    发明授权
    Threading and communication architecture for a graphical user interface 有权
    用于图形用户界面的线程和通信架构

    公开(公告)号:US06823518B1

    公开(公告)日:2004-11-23

    申请号:US09690675

    申请日:2000-10-17

    IPC分类号: G06F954

    CPC分类号: G06F9/451

    摘要: A system and method to facilitate communication between a user interface and an associated process is disclosed. A first thread is associated with the user interface and a second thread is associated with the process for implementing requests by the user interface. At least one state buffer is operable to store state data for controlling ownership to the state buffer by the first and second threads for communicating data between the first and second threads. The architecture may be used in connection with a debugging system, such as to facilitate responsive interaction between the GUI and the associated debugging system.

    摘要翻译: 公开了一种促进用户界面和关联过程之间的通信的系统和方法。 第一个线程与用户界面相关联,第二个线程与用于实现用户界面的请求的过程相关联。 至少一个状态缓冲器可操作以存储用于通过第一和第二线程控制对状态缓冲器的所有权的状态数据,用于在第一和第二线程之间传送数据。 该架构可以与调试系统结合使用,以便于GUI和相关联的调试系统之间的响应交互。

    Emulating pointers
    5.
    发明授权
    Emulating pointers 有权
    模拟指针

    公开(公告)号:US08997066B2

    公开(公告)日:2015-03-31

    申请号:US12979094

    申请日:2010-12-27

    IPC分类号: G06F9/45 G06F9/455

    CPC分类号: G06F9/455 G06F8/434

    摘要: The present invention extends to methods, systems, and computer program products for emulating pointers. Pointers can be emulated by replacing the pointers with a pair and replacing each dereference site with a switch on the tag and a switch body that executes the emulated pointer access on the corresponding variable the pointer points to. Data flow optimizations can be used to reduce the number of switches and/or reduce the number of cases which need be considered at each emulated pointer access sites.

    摘要翻译: 本发明扩展到用于模拟指针的方法,系统和计算机程序产品。 可以通过用对替换指针来替换指针,并使用标签上的开关替换每个解引用站点,以及在指针指向的相应变量上执行仿真指针访问的交换机主体。 可以使用数据流优化来减少交换机的数量和/或减少在每个仿真指针访问站点需要考虑的情况的数量。

    Dynamic subroutine linkage optimizing shader performance
    6.
    发明授权
    Dynamic subroutine linkage optimizing shader performance 有权
    动态子程序链接优化着色器性能

    公开(公告)号:US08581912B2

    公开(公告)日:2013-11-12

    申请号:US12163734

    申请日:2008-06-27

    IPC分类号: G06F15/00 G06T15/50

    摘要: Allocation of memory registers for shaders by a processor is described herein. For each shader, registers are allocated based on the shader's level of complexity. Simpler shader instances are restricted to a smaller number of memory registers. More complex shader instances are allotted more registers. To do so, developers' high level shading level (HLSL) language includes template classes of shaders that can later be replaced by complex or simple versions of the shader. The HLSL is converted to bytecode that can be used to rasterize pixels on a computing device.

    摘要翻译: 这里描述了由处理器分配用于着色器的存储器寄存器。 对于每个着色器,根据着色器的复杂程度分配寄存器。 更简单的着色器实例仅限于较少数量的存储器寄存器。 更复杂的着色器实例被分配更多的寄存器。 为此,开发人员的高级着色级别(HLSL)语言包括着色器的模板类,以后可以被复杂或简单版本的着色器所取代。 HLSL转换为字节码,可用于栅格化计算设备上的像素。

    Method and system for transactioning of modifications to a tree
structured file
    8.
    发明授权
    Method and system for transactioning of modifications to a tree structured file 失效
    树结构化文件修改事务的方法和系统

    公开(公告)号:US5506983A

    公开(公告)日:1996-04-09

    申请号:US909533

    申请日:1992-07-06

    摘要: A method and system for interfacing an application program with a compound document storage system. The present invention provides an interface which an application program uses to manipulate compound documents. In a preferred embodiment, this interface is implemented in a multilayered architecture. The first layer provides methods which an application program uses to access a compound document using the functions of the second layer. The second layer maps requests to store data in the compound document to a storage format using the functions of the third layer. The third layer maps requests to write to a file to an arbitrary storage medium. In another aspect, the present invention provides for the transactioning of modifications to data in a file that is stored in a tree structure having nodes. When modifications are made to a node that is not transacted, the modifications are associated with the closest ancestor node that is transacted. When modifications are made to a node that is transacted, the modifications are associated with that node. When such associated modifications are committed, the modifications are disassociated from that node and associated with the closest ancestor node that is transacted.

    摘要翻译: 一种用于将应用程序与复合文档存储系统进行接口的方法和系统。 本发明提供一种应用程序用于操纵复合文档的接口。 在优选实施例中,该接口以多层架构实现。 第一层提供应用程序用于使用第二层的功能访问复合文档的方法。 第二层使用第三层的功能将请求存储在复合文档中的数据到存储格式。 第三层将要写入文件的请求映射到任意的存储介质。 在另一方面,本发明提供对存储在具有节点的树结构中的文件中的数据的修改的事务。 当对未被处理的节点进行修改时,修改与处理的最接近的祖先节点相关联。 当对已处理的节点进行修改时,修改与该节点相关联。 当提交这样的相关联的修改时,修改与该节点分离并且与被处理的最接近的祖先节点相关联。

    RECONSTRUCTING PROGRAM CONTROL FLOW
    9.
    发明申请
    RECONSTRUCTING PROGRAM CONTROL FLOW 有权
    重新编制程序控制流程

    公开(公告)号:US20120159458A1

    公开(公告)日:2012-06-21

    申请号:US12972198

    申请日:2010-12-17

    IPC分类号: G06F9/45

    CPC分类号: G06F8/51 G06F8/53

    摘要: The present invention extends to methods, systems, and computer program products for reconstructing program control flow. Embodiments include implementing or morphing a control flow graph (“CFG”) into an arbitrary loop structure to reconstruct (preserve) control flow from original source code. Loop structures can be optimized and can adhere to target platform constraints. In some embodiments, C++ source code (a first higher level format) is translated into a CFG (a lower level format). The CFG is then translated into HLSL source code (a second different higher level format) for subsequent compilation into SLSL bytecode (that can then be executed at a Graphical Processing Unit (“GPU”)). The control flow from the C++ source code is preserved in the HLSL source code.

    摘要翻译: 本发明扩展到用于重建程序控制流的方法,系统和计算机程序产品。 实施例包括将控制流程图(“CFG”)实现或变形为任意循环结构,以重构(保留)来自原始源代码的控制流程。 循环结构可以进行优化,并可以遵守目标平台约束。 在一些实施例中,将C ++源代码(第一较高级格式)转换成CFG(较低级格式)。 然后将CFG转换为HLSL源代码(第二种不同的较高级别格式),以便后续编译成SLSL字节码(然后可以在图形处理单元(“GPU”)中执行)。 来自C ++源代码的控制流将保留在HLSL源代码中。

    System and method for capturing kernel-resident information
    10.
    发明授权
    System and method for capturing kernel-resident information 有权
    捕获内核驻留信息的系统和方法

    公开(公告)号:US07302613B2

    公开(公告)日:2007-11-27

    申请号:US10712619

    申请日:2003-11-12

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3476

    摘要: A system, method and interface for consistently capturing kernel resident information are provided. An operating system architecture includes user mode modules and kernel mode applications. A user mode module initiates a kernel mode information request through an application program interface identifying one or more process threads of interest. A kernel mode module captures information corresponding to standard kernel mode information and corresponding to the specifically identified process threads. The information is returned in a pre-allocated buffer.

    摘要翻译: 提供了一种用于始终捕获内核驻留信息的系统,方法和接口。 操作系统架构包括用户模式模块和内核模式应用程序。 用户模式模块通过识别感兴趣的一个或多个进程线程的应用程序接口来发起内核模式信息请求。 内核模式模块捕获与标准内核模式信息相对应的信息,并对应于特定标识的进程线程。 信息在预先分配的缓冲区中返回。