会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明申请
    • A SPLIT STAGE CALL SEQUENCE RESTORATION METHOD
    • 分阶段呼叫序列恢复方法
    • WO2008026957A1
    • 2008-03-06
    • PCT/RU2006/000463
    • 2006-08-30
    • INTEL CORPORATIONBRATANOV, Stanislav ViktorovichALEXANDROV, Alexei Gennadyevich
    • BRATANOV, Stanislav ViktorovichALEXANDROV, Alexei Gennadyevich
    • G06F9/42G06F11/34
    • G06F11/3471G06F9/44521G06F9/4486G06F2212/451
    • Embodiments of the present invention provide for collecting a minimal subset of task execution context in real time and for restoring the task execution context and performing procedure frame unwinding operations at a post-processing stage. A first data structure may be constructed in real time to contain procedure linkage information along with references to the memory area or to a processor register context where each procedure linkage information element (procedure return address or a procedure frame pointer) was originally found. Procedure return addresses may be determined by decoding the instruction preceding the address in question and checking if it is a procedure call instruction. Procedure return addresses may also be determined using other methods (e.g., by checking whether the memory region the address in question belongs to is executable) if the probability of retrieving the correct result is acceptable for a particular area of application of an embodiment of the present invention. Procedure frame pointers may be determined as the conventional memory area elements whose value points back to the conventional memory area. Procedure frame pointers, depending on particular processor architecture, may also have other properties that differentiate them from other elements of the conventional memory area. The conventional memory area for purposes of the present invention may be non-contiguous. The contents of first data structure may then be employed in reconstruction of the task execution environment at the post-processing stage. Then, the procedure frame unwinding operations may be performed over the restored task execution context.
    • 本发明的实施例提供了实时收集任务执行上下文的最小子集,并且用于在后处理阶段恢复任务执行上下文和执行过程帧展开操作。 可以实时地构建第一数据结构以包含过程链接信息以及对存储区域的引用,或包含最初找到每个过程链接信息元素(过程返回地址或过程帧指针)的处理器寄存器上下文。 过程返回地址可以通过对所述地址之前的指令进行解码并检查其是否是过程调用指令来确定。 过程返回地址也可以使用其他方法来确定(例如,通过检查所讨论的地址是否可执行的内存区域),如果检索正确结果的概率对于本发明实施例的特定应用领域是可以接受的 发明。 过程帧指针可以被确定为其值指向常规存储区域的常规存储器区域元素。 取决于特定处理器架构的过程帧指针也可以具有将它们与常规存储器区域的其他元件区分开的其他属性。 用于本发明目的的常规存储区可以是不连续的。 然后可以在后处理阶段将第一数据结构的内容用于任务执行环境的重建。 然后,可以在恢复的任务执行上下文中执行过程帧展开操作。
    • 2. 发明申请
    • A STATISTICAL CONTROL FLOW RESTORATION METHOD
    • 统计控制流程恢复方法
    • WO2009091278A1
    • 2009-07-23
    • PCT/RU2008/000024
    • 2008-01-17
    • INTEL CORPORATIONBRATANOV, Stanislav Viktorovich
    • BRATANOV, Stanislav Viktorovich
    • G06F11/34
    • G06F11/3471G06F11/3476
    • Embodiments of the present invention provide for collecting information on execution control flow in a manner highly correlated with the program performance characteristics. To achieve the correlation, the collection of branch records may be initiated upon reception of a profiling interrupt. The branch records may contain information on at least the source and target addresses of a taken branch instruction. The branch records may be collected automatically by dedicated performance monitoring logic and stored in a memory buffer or preserved in specifically provided registers. The collection may proceed until a predefined number of branches are collected (i.e., said memory buffer or registers are filled with the branch records) or until the reception of a subsequent profiling interrupt, whichever condition occurs first. In case the performance monitoring logic is capable of reporting information on the source and destination branch addresses only, the branch collection may be optionally initiated when a software task being monitored becomes active, and completed after the task goes to the inactive state. The collected branch records may then be processed in a manner that enables future control flow restoration. One embodiment of the present invention may compress the collected branching information and preserve the results in a non-volatile memory for further analysis, while other embodiments may employ methods of constructing control flow graphs at the time of collection and discard the collected branch records, thus eliminating the need for data compression and preservation.
    • 本发明的实施例提供了以与程序性能特征高度相关的方式收集关于执行控制流的信息。 为了实现相关性,可以在接收到分析中断时启动分支记录的收集。 分支记录可以包含至少取决于分支指令的源地址和目标地址的信息。 分支记录可以通过专用性能监视逻辑自动收集并存储在存储器缓冲器中或保存在专门提供的寄存器中。 集合可以进行直到收集预定数量的分支(即,所述存储器缓冲器或寄存器被分支记录填充),或直到接下来的分析中断,无论哪个条件首先出现。 在性能监视逻辑仅能够报告关于源和目的地分支地址的信息的情况下,当被监视的软件任务变为活动时,可以可选地启动分支集合,并且在任务进入非活动状态之后完成。 然后可以以使得将来控制流程恢复的方式来处理收集的分支记录。 本发明的一个实施例可以压缩收集的分支信息并将结果保存在非易失性存储器中用于进一步分析,而其他实施例可以采用在收集时构建控制流程图的方法,并且丢弃所收集的分支记录 消除了对数据压缩和保存的需要。
    • 3. 发明申请
    • A METHOD OF EXTERNAL PERFORMANCE MONITORING FOR VIRTUALIZED ENVIRONMENTS
    • 一种用于虚拟环境的外部性能监测方法
    • WO2009058042A1
    • 2009-05-07
    • PCT/RU2007/000599
    • 2007-10-29
    • INTEL CORPORATIONBRATANOV, Stanislav Viktorovich
    • BRATANOV, Stanislav Viktorovich
    • G06F11/34
    • G06F11/3466G06F9/45533
    • Embodiments of the present invention provide for performance monitoring of virtualized environments by establishing external performance monitoring (in a primary domain) of a virtual machine manager in whose context a virtual machine operates, and simultaneously capturing information on the virtual machine execution states. In accordance with an embodiment of the present invention, the execution states may comprise any combination of a virtualized processor index, execution address, program (task) identifier, and a timestamp. In one embodiment, a primary domain performance monitoring component may initiate time- or event-based profiling of the virtual machine, and a hypervisor may report the virtualized execution states to the performance monitoring component upon reception of each profiling interrupt. Alternatively, the time-based profiling may be initiated in the virtual machine domain. In this case, the hypervisor or virtual machine manager may enable access from within the virtual machine to performance characteristics collected in the primary domain, or communicate the execution states to the external monitoring component upon reception of each profiling interrupt or upon a change in the virtualized execution states. Performance information collected in the primary domain may then be correlated with the execution states of the virtual machine.
    • 本发明的实施例通过在虚拟机操作的上下文中建立虚拟机管理器的外部性能监视(在主域中),同时捕获有关虚拟机执行状态的信息来提供虚拟化环境的性能监视。 根据本发明的实施例,执行状态可以包括虚拟处理器索引,执行地址,程序(任务)标识符和时间戳的任何组合。 在一个实施例中,主域性能监视组件可以发起虚拟机的基于时间或事件的分析,并且管理程序可以在接收每个分析中断时将虚拟执行状态报告给性能监视组件。 或者,可以在虚拟机域中启动基于时间的分析。 在这种情况下,虚拟机管理程序或虚拟机管理器可以实现从虚拟机内的访问到在主域中收集的性能特征,或者在接收到每个分析中断时或者在虚拟化中的变化时将执行状态传达给外部监视组件 执行状态。 然后可以在主域中收集的性能信息与虚拟机的执行状态相关联。
    • 4. 发明申请
    • AN EFFICIENT CALL SEQUENCE RESTORATION METHOD
    • 有效的呼叫序列恢复方法
    • WO2008013470A1
    • 2008-01-31
    • PCT/RU2006/000400
    • 2006-07-26
    • INTEL CORPORATIONBRATANOV, Stanislav Viktorovich
    • BRATANOV, Stanislav Viktorovich
    • G06F9/00G06F11/34G06F11/36G06F12/02
    • G06F9/4486
    • Embodiments of the present invention provide for minimizing the number of procedure frame unwinding operations to be performed when restoring the program control flow information. A first data structure may be constructed to contain procedure linkage information along with references to the conventional memory area where each procedure linkage information element (procedure return address or a procedure frame pointer) was originally found. The first data structure may be initialized upon the initial request for program control flow information. Upon each subsequent request, the contents of the conventional memory area as referenced by the first data structure may be compared with the corresponding elements of the first data structure. As a result of said comparison, changed and unchanged regions within the conventional memory area may be determined. Then, procedure frame unwinding operations may be performed for the changed regions. Procedure linkage information collected during the frame unwinding operations may be stored in a second data structure along with references to the original locations within the conventional memory area. The second data structure may then be extended with procedure linkage information pertaining to the unchanged regions from the first data structure. Once the second data structure is constructed, it may be substituted for the first data structure to be employed in processing subsequent requests for program control flow information.
    • 本发明的实施例提供了在恢复程序控制流程信息时最小化要执行的过程画面展开操作的次数。 可以构造第一数据结构以包含过程链接信息以及最初发现每个过程链接信息元素(过程返回地址或过程帧指针)的常规存储区域的引用。 可以在对程序控制流信息的初始请求时初始化第一数据结构。 在每个后续请求中,可以将由第一数据结构引用的常规存储区域的内容与第一数据结构的相应元素进行比较。 作为所述比较的结果,可以确定常规存储区域内的改变和不变的区域。 然后,可以对改变的区域执行程序框展开操作。 在帧展开操作期间收集的过程链接信息可以与在常规存储区域内的原始位置的引用一起存储在第二数据结构中。 然后可以利用与来自第一数据结构的未改变区域有关的过程链接信息来扩展第二数据结构。 一旦构建了第二数据结构,它可以代替在处理对程序控制流信息的后续请求时采用的第一数据结构。
    • 5. 发明申请
    • A METHOD OF DECODING VARIABLE LENGTH PREFIX CODES
    • 一种解码可变长度前缀码的方法
    • WO2005006562A1
    • 2005-01-20
    • PCT/RU2003/000307
    • 2003-07-15
    • INTEL, ZAKRYTOE AKTSIONERNOE OBSCHESTVOZHELTOV, Sergei NikolaevichBRATANOV, Stanislav Viktorovich
    • ZHELTOV, Sergei NikolaevichBRATANOV, Stanislav Viktorovich
    • H03M7/42
    • H03M7/42
    • The method disclosed may be used together with any prefix oriented decoding method to enable faster decoding of variable length codes when a subset of most frequently used codes with relatively short prefixes may be determined. An embodiment of the present invention reads a number of bits, not less than the maximal possible length of a code, from a bit stream. Then a predetermined number of bits is selected and used as an index to a data structure that contains at least a decoded value and a validity indicator, along with other pre-decoded data, namely: prefix type and length, maximal code length for a group of codes, actual code length, the number of bits to return to the bit stream, etc. The validity indicator is used to determine whether to proceed with the decoding operation, or obtain the valid decoded value from the data structure and return excess bits to the bit stream. If the decoded value is indicated to be invalid, the decoding operation is continued, and a decoding method that estimates the length of the code prefix and the number of significant bits corresponding to the length estimated is applied to the bits initially read from the bit stream.
    • 所公开的方法可以与任何基于前缀的解码方法一起使用,以便当可以确定具有相对较短前缀的最常用的代码的子集时,能够对可变长度代码进行更快的解码。 本发明的实施例从比特流读取不少于代码的最大可能长度的位数。 然后,选择预定数量的比特,并将其用作至少包含解码值和有效性指示符的数据结构的索引以及其他预解码数据,即:前缀类型和长度,组的最大码长度 的代码,实际代码长度,返回比特流的比特数等。有效性指示符用于确定是否进行解码操作,或从数据结构获得有效的解码值,并将多余的比特返回到 比特流。 如果解码值被指示为无效,则继续解码操作,并且将估计码前缀的长度和与所估计的长度相对应的有效位的数量的解码方法应用于从比特流最初读取的比特 。