System and method for adding highly optimized synchronization capability to objects at run-time
    2.
    发明授权
    System and method for adding highly optimized synchronization capability to objects at run-time 失效
    在运行时向对象添加高度优化的同步功能的系统和方法

    公开(公告)号:US06237043B1

    公开(公告)日:2001-05-22

    申请号:US08974751

    申请日:1997-11-19

    CPC classification number: G06F9/52

    Abstract: The present invention is directed to a system, method, and computer-readable medium for providing a highly efficient locking mechanism for an object's shared data. The locking mechanism is bound to an object during program execution (i.e. during run-time) when synchronization is first requested for the object's shared data. Thus, there are no changes to the actual code, either source code or binary code, which defines the object. A locking mechanism is bound to an object by defining a memory area within the object's header, which either contains the locking mechanism or a pointer to a locking mechanism. The locking mechanism remains bound to the object for the life of the object. Efficiency is gained by limiting the use of operating system semaphores (i.e. kernel semaphores). Operating system semaphores are not used unless blocking (i.e. contention) occurs. Rather, the locking mechanism bound to the object is used during non-blocking situations. Additional efficiency is gained by not assigning or initializing an object's locking mechanism until the first synchronization request is received for the object's shared data. In one embodiment of the present invention, the object's header memory area contains the actual locking mechanism. In another embodiment of the present invention, the object's header memory area contains a pointer or index to a locking mechanism.

    Abstract translation: 本发明涉及一种用于为对象的共享数据提供高效锁定机制的系统,方法和计算机可读介质。 当对对象的共享数据进行首次请求同步时,锁定机制在程序执行期间(即在运行期间)被绑定到一个对象。 因此,定义对象的实际代码(源代码或二进制代码)没有任何变化。 锁定机制通过定义对象头部中的内存区域来绑定到对象,该内存区域包含锁定机制或指向锁定机制的指针。 锁定机构在对象的使用寿命期间保持绑定到对象。 通过限制操作系统信号量(即内核信号量)的使用来获得效率。 除非发生阻塞(即争用),否则不使用操作系统信号量。 相反,在非阻塞情况下使用绑定到对象的锁定机制。 直到收到对象的共享数据的第一个同步请求为止,才能分配或初始化对象的锁定机制,从而获得额外的效率。 在本发明的一个实施例中,对象的头部存储区域包含实际的锁定机构。 在本发明的另一个实施例中,对象的头部存储器区域包含指向锁定机构的指针或索引。

    Efficient and scalable event partitioning in business integration applications using multiple delivery queues
    4.
    发明授权
    Efficient and scalable event partitioning in business integration applications using multiple delivery queues 失效
    使用多个传递队列的业务集成应用程序中高效且可扩展的事件分区

    公开(公告)号:US07509653B2

    公开(公告)日:2009-03-24

    申请号:US10763084

    申请日:2004-01-22

    CPC classification number: G06F9/546 G06F2209/548

    Abstract: A business integration (BI) system receives business objects from a source application at an event partitioner. Event partitioner partitions received business objects into independent sets based on interdependent events, and allocates each independent group of business events to a separate event queue based a partitioning modulo reduction transformation of the independent sets to determine the correct event queue for storing a particular received business object. This transformation reduces the number of independent sets to a number of event groups equal to the number of allocated event queues. Events in different groups are delivered to an interchange server through the separate event queues so that they may be processed independently and in parallel, thus improving the overall performance of the interchange server, while guaranteeing that dependent events are processed in the correct serial order.

    Abstract translation: 业务集成(BI)系统从事件分割器的源应用程序接收业务对象。 事件分割器根据相互依赖的事件将业务对象分成独立的集合,并且通过独立集合的分区模数减少转换来将每个独立的业务事件组分配给单独的事件队列,以确定用于存储特定接收到的业务对象的正确事件队列 。 该转换将独立集合的数量减少为等于分配的事件队列数的多个事件组。 不同组中的事件通过单独的事件队列发送到交换服务器,以便它们可以独立和并行处理,从而提高交换服务器的整体性能,同时保证以正确的顺序处理依赖事件。

    System and method for instrumenting application class files with correlation information to the instrumentation
    5.
    发明授权
    System and method for instrumenting application class files with correlation information to the instrumentation 失效
    用于将具有相关信息的应用程序类文件检测到仪器的系统和方法

    公开(公告)号:US06742178B1

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

    申请号:US09620729

    申请日:2000-07-20

    CPC classification number: G06F11/3612 G06F11/3466

    Abstract: The present invention is directed to a system and method for modifying a class file for the purpose of instrumenting without requiring separate files to correlate the instrumentation. A class file is instrumented with hooks. Each hook is injected in a method at a critical point in the code for tracking path flow, such as where the method will be entered or exited. Each hook includes an identifier to identify the method in which it is injected. Rather than using the method's name, hooks use unique major and minor codes to identify the method. Static initializers are declared for the class to output other hooks identifying the methods being instrumented. When a class is loaded, the static initializers are executed and hooks identifying the method name and the major and minor codes for each instrumented method are output to, for instance, a trace record. Then, when a method is entered or exited, the hooks identifying the entry or exit are also outputted to a trace record. When postprocessing the trace records, class and instrumentation correlation information is available for merging from trace records in the trace stream.

    Abstract translation: 本发明涉及一种用于修改类文件以用于仪器化而不需要单独的文件来关联仪器的系统和方法。 一个类文件装有钩子。 每个挂钩都是以跟踪路径流的代码临界点的方法注入的,比如输入或退出方法。 每个钩子包括标识符以标识其被注入的方法。 钩子使用唯一的主要和次要代码来标识方法,而不是使用方法的名称。 声明静态初始化器为类输出标识要检测的方法的其他钩子。 当加载类时,将执行静态初始化程序,并将识别方法名称的钩子和每个已检测方法的主要和次要代码输出到例如跟踪记录。 然后,当输入或退出方法时,识别入口或出口的钩子也被输出到跟踪记录。 当跟踪记录进行后处理时,类和仪器相关信息可用于从跟踪流中的跟踪记录合并。

    Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap
    6.
    发明授权
    Method of instrumenting garbage collection generating a trace file making a single pass analysis of object heap 有权
    检测垃圾收集的方法,生成跟踪文件,进行对象堆的单次分析

    公开(公告)号:US06434575B1

    公开(公告)日:2002-08-13

    申请号:US09190562

    申请日:1998-11-12

    CPC classification number: G06F12/0253 Y10S707/99942 Y10S707/99957

    Abstract: A method and apparatus for instrumenting garbage collection in a data processing system is provided. During garbage collection, a pass is made through the object heap and a plurality of heap data is retrieved and written to a trace file. The data may include the type of object, the size of the object on the heap, the class of the object, if appropriate, and a plurality of pointers, including live set pointers, and one or more tags representing attributes that may be associated with the particular object. The instrumentation may controlled to occur at a preselected phase of the garbage collection process. Additionally, a user may dynamically initiate a garbage collection instrumentation if the user determines that an event has occurred during the operation of the data processing system about which the user wishes further data.

    Abstract translation: 提供了一种用于在数据处理系统中进行垃圾回收的装置的方法和装置。 在垃圾收集期间,通过对象堆进行通过,并且检索多个堆数据并将其写入跟踪文件。 数据可以包括对象的类型,堆上的对象的大小,对象的类,如果合适的话,以及包括活动集指针的多个指针,以及一个或多个表示可以与 特定的对象。 仪器可以控制在垃圾收集过程的预选阶段发生。 另外,如果用户在用户希望进一步的数据的数据处理系统的操作期间确定事件已经发生,用户可以动态地启动垃圾收集检测。

    Process and system for Java virtual method invocation
    8.
    发明授权
    Process and system for Java virtual method invocation 有权
    Java虚拟方法调用的进程和系统

    公开(公告)号:US06507946B2

    公开(公告)日:2003-01-14

    申请号:US09330634

    申请日:1999-06-11

    CPC classification number: G06F9/449

    Abstract: A process and system for optimizing an invocation of a method is provided. A determination is made to compile a calling method, and a call to a callee method is detected within the first method. The callee method may be a non-final, virtual method, and a determination may be made that the callee method has not been previously overridden. The callee method is then inlined within the first method. In addition, no conditional statements are inserted into the calling method along with the inlined method. The determination to compile and optimize these methods may be made by a just-in-time compiler, and if the methods are Java methods, then a Java just-in-time compiler performs the optimization process. If a determination is made to load a class that contains a method that overrides the callee method, then the calling method is recompiled or patched.

    Abstract translation: 提供了一种用于优化方法调用的过程和系统。 确定编译调用方法,并在第一种方法中检测到被叫方法的调用。 被叫方法可以是非最终的虚拟方法,并且可以确定被叫方法尚未被预先覆盖。 然后在第一种方法中对被叫方法进行内联。 另外,没有条件语句与内联方法一起插入到调用方法中。 编译和优化这些方法的决心可能由一个即时编译器来完成,如果这些方法是Java方法,那么一个Java即时编译器就可以执行优化过程。 如果确定加载包含覆盖被调用方法的方法的类,则重新编译或修补调用方法。

    System and method for mapping processor clock values in a multiprocessor
system
    9.
    发明授权
    System and method for mapping processor clock values in a multiprocessor system 失效
    在多处理器系统中映射处理器时钟值的系统和方法

    公开(公告)号:US5964846A

    公开(公告)日:1999-10-12

    申请号:US888551

    申请日:1997-07-07

    CPC classification number: G06F1/14

    Abstract: The present invention is directed to a system and method for accurately and efficiently synchronizing and then mapping, or normalizing, processor clocks in a multiprocessor information handling system. The system and method of the present invention provide sufficient granularity for subcycle variations between processors, while taking into account the problem of clock drifts. A plurality of processors are selected for the purpose of synchronization. The clocks located on the processors are synchronized, and then time values between synchronization points are mapped from each secondary processor to an equivalent, or normalized, time value in a primary processor. To accomplish this mapping, three clock differences are calculated. The first clock difference is the time between the first and second synchronization points for the primary processor, and the second clock difference is the time between the first and second synchronization points for the secondary processor. The third clock difference is the time difference between the time value to be mapped in the secondary processor and the first synchronization point in the secondary processor. The third time difference is multiplied by the ratio of the first time difference to the second time difference, and then the result is added to the time value of the primary clock at the first synchronization point. The final result is the mapped, or normalized, time value.

    Abstract translation: 本发明涉及一种用于在多处理器信息处理系统中准确有效地同步,然后映射或归一化处理器时钟的系统和方法。 本发明的系统和方法在考虑到时钟漂移的问题的同时,为处理器之间的子周期变化提供足够的粒度。 选择多个处理器用于同步的目的。 处理器上的时钟同步,然后同步点之间的时间值从每个辅助处理器映射到主处理器中的等效或归一化的时间值。 为了完成此映射,计算出三个时钟差异。 第一时钟差是主处理器的第一和第二同步点之间的时间,第二时钟差是辅助处理器的第一和第二同步点之间的时间。 第三时钟差是二次处理器中要映射的时间值与辅助处理器中的第一同步点之间的时间差。 将第三时间差乘以第一时间差与第二时间差的比率,然后将结果加到第一同步点的主时钟的时间值。 最终结果是映射或归一化的时间值。

    Efficient and scalable event partitioning in business integration applications using multiple delivery queues
    10.
    发明申请
    Efficient and scalable event partitioning in business integration applications using multiple delivery queues 失效
    使用多个传递队列的业务集成应用程序中高效且可扩展的事件分区

    公开(公告)号:US20050166187A1

    公开(公告)日:2005-07-28

    申请号:US10763084

    申请日:2004-01-22

    CPC classification number: G06F9/546 G06F2209/548

    Abstract: A business integration (BI) system receives business objects from a source application at an event partitioner. Event partitioner partitions received business objects into independent sets based on interdependent events, and allocates each independent group of business events to a separate event queue based a partitioning modulo reduction transformation of the independent sets to determine the correct event queue for storing a particular received business object. This transformation reduces the number of independent sets to a number of event groups equal to the number of allocated event queues. Events in different groups are delivered to an interchange server through the separate event queues so that they may be processed independently and in parallel, thus improving the overall performance of the interchange server, while guaranteeing that dependent events are processed in the correct serial order.

    Abstract translation: 业务集成(BI)系统从事件分割器的源应用程序接收业务对象。 事件分割器根据相互依赖的事件将业务对象分成独立的集合,并且通过独立集合的分区模数减少转换来将每个独立的业务事件组分配给单独的事件队列,以确定用于存储特定接收到的业务对象的正确事件队列 。 该转换将独立集合的数量减少为等于分配的事件队列数的多个事件组。 不同组中的事件通过单独的事件队列发送到交换服务器,以便它们可以独立和并行处理,从而提高交换服务器的整体性能,同时保证以正确的顺序处理依赖事件。

Patent Agency Ranking