Method for optimizing locks in computer programs
    1.
    发明授权
    Method for optimizing locks in computer programs 失效
    用于优化计算机程序中的锁的方法

    公开(公告)号:US06530079B1

    公开(公告)日:2003-03-04

    申请号:US09323989

    申请日:1999-06-02

    IPC分类号: G06F9445

    CPC分类号: G06F9/52 G06F8/443

    摘要: A method and several variants for using information about the scope of access of objects acted upon by mutual exclusion, or mutex, locks to transform a computer program by eliminating locking operations from the program or simplifying the locking operations, while strictly performing the semantics of the original program. In particular, if it can be determined by a compiler that the object locked can only be accessed by a single thread it is not necessary to perform the “acquire” or “release” part of the locking operation, and only its side effects must be performed. Likewise, if it can be determined that the side effects of a locking operation acting on a variable which is locked in multiple threads are not needed, then only the locking operation, and not the side effects, needs to be performed. This simplifies the locking operation, and leads to faster programs which use fewer computer processor resources to execute; and programs which perform fewer shared memory accesses, which in turn not only causes the optimized program, but also other programs executing on the same computing machine to execute faster. The method also describes how information about the semantics of the locking operation side effects and the information about the scope of access can also be used to eliminate performing the side effect parts of the locking operation, thereby completely eliminating the locking operation. The method also describes how to analyze the program to compute the necessary information about the scope of access. Variants of the method show how one or several of the features of the method may be performed.

    摘要翻译: 一种方法和几种变体,用于使用通过互斥或互斥锁进行访问的对象的范围的信息,以通过从程序中消除锁定操作或简化锁定操作来转换计算机程序,同时严格执行 原始程序。 特别是,如果可以由编译器确定锁定的对象只能由单个线程访问,则不需要执行锁定操作的“获取”或“释放”部分,只有其副作用必须是 执行。 同样,如果可以确定不需要对锁定在多个线程中的变量作用的锁定操作的副作用,则仅需要执行锁定操作而不是副作用。 这简化了锁定操作,并导致更快的程序使用更少的计算机处理器资源来执行; 以及执行较少的共享存储器访问的程序,这又不仅导致优化的程序,而且还导致在同一计算机上执行的其他程序执行得更快。 该方法还描述了关于锁定操作侧的语义的信息如何影响以及关于访问范围的信息也可以用于消除执行锁定操作的副作用部分,从而完全消除锁定操作。 该方法还描述了如何分析程序来计算有关访问范围的必要信息。 该方法的变体显示了如何执行该方法的一个或多个特征。

    Method for optimizing creation and destruction of objects in computer programs
    2.
    发明授权
    Method for optimizing creation and destruction of objects in computer programs 失效
    优化计算机程序中对象的创建和破坏的方法

    公开(公告)号:US06381738B1

    公开(公告)日:2002-04-30

    申请号:US09354140

    申请日:1999-07-16

    IPC分类号: G06F945

    摘要: Information is computed about the reachability relationships among objects and pointers to enable transformation of a computer program for optimizing the creation and destruction of objects, while strictly performing the semantics of the original program. An interprocedural analysis is used to determine whether an object that is allocated on the heap during the execution of a procedure is not reachable from any global variable, parameter, or the return value of the procedure after it returns. If so, that object can be allocated on the stack frame of the procedure in which it is otherwise heap-allocated. This simplifies the memory allocation and deallocation operations, as allocation on the stack can be done more efficiently than allocation on the heap, and objects allocated on the stack frame of a procedure are automatically deallocated when the procedure returns, without incurring the overhead of garbage collection. This, in turn, leads to faster programs which use fewer computer processor resources to execute. The interprocedural analysis of the program summarizes the effect of a procedure call succinctly for different calling contexts of the procedure using a single summary representation. The method handles exceptions in the programming language, while taking advantage of the information about the visibility of variables in the exception handler. Variants of the method show how one or several of the features of the method may be performed.

    摘要翻译: 计算关于对象和指针之间的可达性关系的信息,以便在严格执行原始程序的语义的同时,实现用于优化对象的创建和销毁的计算机程序的转换。 过程间分析用于确定在执行过程期间在堆上分配的对象是否从任何全局变量,参数或过程返回后的返回值无法访问。 如果是这样,那么该对象可以分配给过程的堆栈帧,否则它将以堆分配。 这简化了内存分配和释放操作,因为堆栈上的分配可以比堆上的分配更有效地完成,并且当过程返回时,分配给过程的堆栈帧的对象将自动释放,而不会产生垃圾回收的开销 。 这反过来导致更快的程序,使用较少的计算机处理器资源来执行。 程序的程序间分析使用单个摘要表示简要地描述了对程序的不同调用上下文的简单过程调用的影响。 该方法处理编程语言中的异常,同时利用有关异常处理程序中变量可见性的信息。 该方法的变体显示了如何执行该方法的一个或多个特征。

    Interprocedural analysis and optimization of an object oriented program in the presence of dynamic class loading
    3.
    发明授权
    Interprocedural analysis and optimization of an object oriented program in the presence of dynamic class loading 有权
    在存在动态类加载的情况下进行面向对象程序的程序间分析和优化

    公开(公告)号:US06865730B1

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

    申请号:US09579357

    申请日:2000-05-26

    CPC分类号: G06F9/44521 G06F9/4491

    摘要: A method is provided for analyzing an object oriented program that supports dynamic class loading. A set A of classes in the program is identified, wherein each class within set A is capable of, during execution of the program, causing the loading of a class outside of set A. A first set of method calls belonging to the classes in set A are identified that, during execution of the program, are capable of calling only methods belonging to a class within set A. A second set of method calls belonging to the classes in set A are identified that, during execution of the program, are capable of calling methods belonging to a class outside set A. Data that identifies the first and the second set of method calls is stored for subsequent use.

    摘要翻译: 提供了一种用于分析支持动态类加载的面向对象程序的方法。 识别程序中的集合A,其中集合A内的每个类能够在执行程序期间导致在集合A之外加载类。构成集合中的类的第一组方法调用 A被识别为在程序执行期间能够仅调用属于集合A内的类的方法。识别属于集合A中的类的第二组方法调用,在程序的执行期间,能够 调用属于集合A之外的类的调用方法。标识第一和第二组方法调用的数据被存储以供后续使用。

    ASSIGNING WORK ORDERS WITH CONFLICTING EVIDENCES IN SERVICES
    4.
    发明申请
    ASSIGNING WORK ORDERS WITH CONFLICTING EVIDENCES IN SERVICES 审中-公开
    在服务中评估有冲突证据的工作订单

    公开(公告)号:US20130110568A1

    公开(公告)日:2013-05-02

    申请号:US13287386

    申请日:2011-11-02

    IPC分类号: G06Q10/06

    CPC分类号: G06Q10/06

    摘要: A method of recommending an assignment for a work order includes receiving the work order, retrieving information from the work order, identifying a skill set needed to complete the work order using the information retrieved from the work order, extracting, automatically, a first set of evidences from a first data source based on the identified skill set, and a second set of evidences from a second data source based on the identified skill set, combining a first inference and a second inference, by a processor, wherein the first inference is determined using the first set of evidences, the second inference is determined using the second set of evidences, and the first and second set of evidences comprise dissimilar data, and generating a work order assignment recommendation based on the combined inferences.

    摘要翻译: 一种推荐工作分配的方法包括接收工单,从工单中检索信息,使用从工单检索的信息来识别完成工单所需的技能集,自动提取第一组 基于所识别的技能集来自第一数据源的证据,以及基于所识别的技术集合的来自第二数据源的第二组证据,由处理器组合第一推断和第二推断,其中确定第一推断 使用第一组证据,使用第二组证据来确定第二推断,并且第一和第二证据集合包括不同的数据,并且基于组合的推论生成工作分配推荐。

    Hierarchical rule development and binding for web application server firewall
    5.
    发明授权
    Hierarchical rule development and binding for web application server firewall 有权
    Web应用服务器防火墙的层次规则开发和绑定

    公开(公告)号:US08627442B2

    公开(公告)日:2014-01-07

    申请号:US13114315

    申请日:2011-05-24

    摘要: At least one of an HTTP request message and an HTTP response message is intercepted. A corresponding HTTP message model is identified. The HTTP message model includes a plurality of message model sections. Additional steps include parsing a representation of the at least one of an HTTP request message and an HTTP response message into message sections in accordance with the message model sections of the HTTP message model; and binding a plurality of security rules to the message model sections. The plurality of security rules each specify at least one action to be taken in response to a given condition. The given condition is based, at least in part, on a corresponding given one of the message sections. A further step includes processing the at least one of an HTTP request message and an HTTP response message in accordance with the plurality of security rules. Techniques for developing rules for a web application server firewall are also provided.

    摘要翻译: HTTP请求消息和HTTP响应消息中的至少一个被拦截。 识别出相应的HTTP消息模型。 HTTP消息模型包括多个消息模型部分。 附加步骤包括根据HTTP消息模型的消息模型部分将HTTP请求消息和HTTP响应消息中的至少一个的表示解析成消息部分; 并将多个安全规则绑定到消息模型部分。 多个安全规则每个指定响应于给定条件要采取的至少一个动作。 给定条件至少部分地基于相应给定的一个消息部分。 另一步骤包括根据多个安全规则处理HTTP请求消息和HTTP响应消息中的至少一个。 还提供了开发Web应用服务器防火墙规则的技术。

    Method and Apparatus for Programming Software Components
    6.
    发明申请
    Method and Apparatus for Programming Software Components 有权
    用于编程软件组件的方法和装置

    公开(公告)号:US20120185825A1

    公开(公告)日:2012-07-19

    申请号:US13407097

    申请日:2012-02-28

    IPC分类号: G06F9/44

    CPC分类号: G06F8/70 G06F8/315 G06F8/36

    摘要: A method and apparatus are disclosed for programming software components that treats software components as the basic unit of abstraction and computation. A software component is encapsulated and classes and other program entities, such as data fields and methods, within a given component do not exist beyond a component boundary. A component interacts with other components only by means of a defined set of input and output ports. A component can inherit and implement ports declared in a template and can declare and implement new ports. A component can only access the external environment through its output ports. An output port of one component can only be connected to a conforming input port of another component. A connect statement is an explicit plumbing operation for connecting components together. Interactions between components are loosely coupled. A related set of templates can be grouped together to form a group.

    摘要翻译: 公开了一种用于对软件组件进行编程以将软件组件视为抽象和计算的基本单元的方法和装置。 软件组件被封装,给定组件内的类和其他程序实体(如数据字段和方法)不存在于组件边界之外。 组件只能通过一组定义的输入和输出端口与其他组件交互。 组件可以继承和实现在模板中声明的端口,并可以声明和实现新端口。 组件只能通过其输出端口访问外部环境。 一个组件的输出端口只能连接到另一个组件的一致输入端口。 连接语句是将组件连接在一起的显式管道操作。 组件之间的相互作用松耦合。 相关的一组模板可以组合在一起形成一个组。

    Procedure Summaries for Pointer Analysis
    8.
    发明申请
    Procedure Summaries for Pointer Analysis 有权
    指针分析的过程摘要

    公开(公告)号:US20080320451A1

    公开(公告)日:2008-12-25

    申请号:US11765396

    申请日:2007-06-19

    IPC分类号: G06F9/44

    CPC分类号: G06F8/434

    摘要: Pointer analysis is used for different applications, e.g., compilers, debugging tools and programs understanding tools, each having different requirements. A framework for pointer analysis is provided that defines a multidimensional space, for example a three-dimensional space, containing an order sensitivity dimension, a predicate sensitivity dimension and a value persistence dimension. A point in the three-dimensional space is identified. This point yields values for order sensitivity, predicate sensitivity and value persistence. Pointer analysis is then conducted on a computer program in accordance with the identified values for order sensitivity, predicate sensitivity and value persistence.

    摘要翻译: 指针分析用于不同的应用程序,例如编译器,调试工具和程序,了解工具,每个应用程序都有不同的要求。 提供了一种用于指针分析的框架,其定义了多维空间,例如包含订单敏感度维度,谓词敏感度维度和值持久性维度的三维空间。 确定三维空间中的一点。 这一点产生订单敏感性,谓词敏感性和价值持久性的值。 然后根据订单灵敏度,谓词灵敏度和价值持久性的识别值,在计算机程序上进行指针分析。

    METHOD AND APPARATUS FOR CONFIGURATION MODELLING AND CONSISTENCY CHECKING OF WEB APPLICATIONS
    9.
    发明申请
    METHOD AND APPARATUS FOR CONFIGURATION MODELLING AND CONSISTENCY CHECKING OF WEB APPLICATIONS 审中-公开
    WEB应用程序配置建模与一致性检查方法与设备

    公开(公告)号:US20080168017A1

    公开(公告)日:2008-07-10

    申请号:US11620143

    申请日:2007-01-05

    IPC分类号: G06N5/02 G06F9/44

    CPC分类号: G06F8/10

    摘要: A method, system and article are provide for treating consistency checking of a configuration of an information technology system by developing a model of the configuration based on common criteria functional requirements, extending the common criteria to model the configuration, imposing a set of constraints on the configuration model, converting the system configuration to a model instance, and verifying that the model instance satisfies the set of constraints.

    摘要翻译: 提供了一种方法,系统和文章,用于通过基于共同标准功能需求开发配置模型来处理信息技术系统配置的一致性检查,扩展共同标准以对配置进行建模,对 配置模型,将系统配置转换为模型实例,并验证模型实例是否满足约束集。

    Minimizing interaction costs among components of computer programs
    10.
    发明授权
    Minimizing interaction costs among components of computer programs 有权
    最小化计算机程序组件之间的交互成本

    公开(公告)号:US08108841B2

    公开(公告)日:2012-01-31

    申请号:US12037080

    申请日:2008-02-25

    IPC分类号: G06F9/44

    摘要: A method for minimizing total cost of interaction among components of a computer program, each of the components being characterized by at least one implementation property includes steps of: a) carrying out at least a partial run of the program; b) monitoring the at least partial run of the program to measure an amount of interaction between each pair of components; c) determining a cost of interaction between each pair of interacting components; d) determining a choice of implementation properties which minimizes total cost of the at least partial run; and e) assigning that choice of implementation properties to the components for a subsequent at least partial run of the program.

    摘要翻译: 一种用于使计算机程序的组件之间的交互的总成本最小化的方法,每个组件的特征在于至少一个实现属性包括以下步骤:a)执行程序的至少部分运行; b)监视程序的至少部分运行以测量每对组件之间的相互作用量; c)确定每对相互作用的部件之间的交互成本; d)确定最小化至少部分跑步的总成本的实施属性的选择; 以及e)将所述实现属性的选择分配给所述组件以用于所述程序的后续至少部分运行。