Synchronization of threads in a multithreaded computer program
    21.
    发明授权
    Synchronization of threads in a multithreaded computer program 有权
    多线程计算机程序中的线程同步

    公开(公告)号:US07757237B2

    公开(公告)日:2010-07-13

    申请号:US10870721

    申请日:2004-06-16

    IPC分类号: G06F9/46 G06F9/44

    摘要: In one aspect, a data race condition is detected based on an address of a variable shared by at least first and second threads for executing the program code, the shared variable address being stored in a hardware table. Detection of the data race condition in the program code is reported. In another aspect, at least first and second threads for executing the program code are synchronized based on an address of a variable shared by the threads and stored in a hardware table.

    摘要翻译: 一方面,基于由用于执行程序代码的至少第一和第二线程共享的变量的地址来检测数据竞争条件,共享变量地址存储在硬件表中。 报告程序代码中的数据竞争条件的检测。 在另一方面,用于执行程序代码的至少第一和第二线程基于由线程共享并存储在硬件表中的变量的地址来同步。

    Auditing Data Integrity
    22.
    发明申请
    Auditing Data Integrity 有权
    审计数据完整性

    公开(公告)号:US20100080391A1

    公开(公告)日:2010-04-01

    申请号:US12240742

    申请日:2008-09-29

    IPC分类号: G06F17/30 H04L9/00

    摘要: Various approaches are described for auditing integrity of stored data. In one approach, a data set is provided from a client to a storage provider, and the data set is stored at a first storage arrangement by the storage provider. An auditor determines whether the data set stored at the first storage arrangement is corrupt without reliance on any part of the data set and any derivative of any part of the data set stored by the client. While the auditor is determining whether the data set stored at the first storage arrangement is corrupt, the auditor is prevented from being exposed to information specified by the data set. The auditor outputs data indicative of data corruption in response to determining that the data set stored at the first storage arrangement is corrupt.

    摘要翻译: 描述了各种方法来审计存储数据的完整性。 在一种方法中,从客户端向存储提供者提供数据集,并且数据集由存储提供商存储在第一存储装置中。 审核员确定存储在第一存储装置中的数据集是否破坏而不依赖于数据集的任何部分以及由客户机存储的数据集的任何部分的任何导数。 虽然审核员正在确定存储在第一存储装置中的数据集是否损坏,但是防止了审核员暴露于由数据集指定的信息。 响应于确定存储在第一存储装置处的数据集已损坏,审计员输出指示数据损坏的数据。

    Computer language for defining business conversations
    23.
    发明授权
    Computer language for defining business conversations 失效
    用于定义业务对话的计算机语言

    公开(公告)号:US07165113B2

    公开(公告)日:2007-01-16

    申请号:US09994635

    申请日:2001-11-28

    IPC分类号: G06F15/16 G06Q99/00

    摘要: A conversation definition language (CDL) is disclosed that programmers may use to define sequences of interactions for communicating with a web service to facilitate use of the web service. CDL enables web services provided by different entities to engage in flexible and autonomous interactions. Using CDL, services can communicate by exchanging messages, and the message exchanges are expected to follow a specific pattern (i.e., a conversation). CDL is used to define the conversation, such that a service may expect a particular message in response to transmitting a particular message. CDL includes document type descriptions, interactions and transitions for describing a conversation. The document type descriptions describe the messages that may be exchanged. The interactions describe the type of actions (e.g., receive and/or transmit a message) that may be performed, and the transitions describe the possible sequences of the interactions.

    摘要翻译: 公开了一种会话定义语言(CDL),程序员可以用来定义与web服务通信的交互序列,以便于使用Web服务。 CDL使不同实体提供的Web服务能够进行灵活和自主的交互。 使用CDL,服务可以通过交换消息进行通信,并且消息交换被期望遵循特定模式(即,对话)。 CDL用于定义对话,使得服务可以期望响应于发送特定消息的特定消息。 CDL包括用于描述会话的文档类型描述,交互和转换。 文档类型描述描述可以交换的消息。 交互描述可以执行的动作的类型(例如,接收和/或发送消息),并且转换描述了可能的交互序列。

    Method and system of typing resources in a distributed system
    24.
    发明授权
    Method and system of typing resources in a distributed system 失效
    在分布式系统中打字资源的方法和系统

    公开(公告)号:US07028035B1

    公开(公告)日:2006-04-11

    申请号:US09733012

    申请日:2000-12-08

    IPC分类号: G06F7/00 G06F17/30 G06F17/00

    摘要: A system and method for typing resources in a distributed system is provided which enables flexible searching mechanisms for finding distributed resources. The distributed system includes at least three types of resources: service, vocabulary and contract resources. The service resource includes the implementation logic for the service. A contract resource contains interface data used for accessing resources. The vocabulary resource contains an attribute schema defining attributes used to describe resources. Each resource—including service, vocabulary and contract resources—is typed by associating one or more vocabulary resources and one or more contract resources with the resource. The vocabulary resources explain the meaning of attribute lists describing the resource and enable the resource to be discovered. The contract resources provide data for accessing the resource. Because vocabulary and contract resources are themselves resources, they are also typed by vocabulary and contract resources and are, accordingly, discoverable and accessible. Typing resources with vocabularies and contracts that are themselves discoverable resources, provides a structural mechanism for supporting robust resource discovery processes suitable for large, loosely-coupled distributed systems.

    摘要翻译: 提供了一种用于在分布式系统中输入资源的系统和方法,其实现了用于查找分布式资源的灵活搜索机制。 分布式系统至少包含三种资源:服务,词汇和合同资源。 服务资源包括服务的实现逻辑。 合同资源包含用于访问资源的接口数据。 词汇资源包含定义用于描述资源的属性的属性模式。 通过将一个或多个词汇资源和一个或多个合同资源与资源相关联来分类每个包括资源的服务,词汇和合同资源。 词汇资源解释描述资源的属性列表的含义,并使资源被发现。 合同资源提供访问资源的数据。 因为词汇和合同资源本身就是资源,它们也是由词汇和合同资源打入的,因此可以发现和可访问。 使用本身是可发现资源的词汇和合同键入资源,为支持适用于大型,松散耦合的分布式系统的强大的资源发现过程提供了一种结构性机制。

    Resource access control in a software system
    25.
    发明授权
    Resource access control in a software system 失效
    软件系统中的资源访问控制

    公开(公告)号:US06470339B1

    公开(公告)日:2002-10-22

    申请号:US09281876

    申请日:1999-03-31

    IPC分类号: G06F1700

    摘要: A software system that provides access control to resources and that disassociates access rights to resources from references to resources to prevent the formation of large and unwieldy access control lists and to enable advanced decentralized security controls. The software system includes a repository that holds a resource descriptor for each resource including lock/permission pairs. Access to particular resources or groups of resources is provided by providing users with the appropriate keys. The keys are themselves are resources with resource descriptors in the repository. Access rights for users may be revoked by deleting keys from the repository. The software system also provides visibility fields for compartmentalizing access to resources. In addition, the software system provides authorizers that maintain audit trails when critical resource such as keys are passed among users and that enable advanced security control when passing resources among users.

    摘要翻译: 一种提供对资源的访问控制以及将资源的访问权限从资源引用分解的软件系统,以防止形成大而笨重的访问控制列表并实现高级分散安全控制。 该软件系统包括一个存储库,其中包含包含锁/权限对的每个资源的资源描述符。 通过向用户提供适当的密钥来提供对特定资源或资源组的访问。 密钥本身就是存储库中资源描述符的资源。 可以通过从存储库中删除密钥来撤消对用户的访问权限。 软件系统还提供可视化领域,用于区分对资源的访问。 此外,软件系统提供授权人员,当关键资源(如密钥在用户中传递)之间时,可以维护审计跟踪,并且在用户之间传递资源时可实现高级安全控制。

    Execution of an instruction to load two independently selected registers in a single cycle
    26.
    发明授权
    Execution of an instruction to load two independently selected registers in a single cycle 有权
    执行在一个周期内加载两个独立选择的寄存器的指令

    公开(公告)号:US06408380B1

    公开(公告)日:2002-06-18

    申请号:US09316446

    申请日:1999-05-21

    IPC分类号: G06F9312

    摘要: Method and apparatus for storing and executing an instruction to load two independent registers with two values is disclosed. In one embodiment, a computer-readable medium is encoded with an instruction including an opcode field specifying that the instruction is an instruction to load two independent registers with a first value and a second value, a source field specifying the first value and the second value, a first target register field specifying a first target register to load with the first value; a second target register field specifying a second target register to load with the second value. A system to execute the instruction is also disclosed.

    摘要翻译: 公开了用于存储和执行用于加载具有两个值的两个独立寄存器的指令的方法和装置。 在一个实施例中,计算机可读介质用包括指定该指令是用于加载具有第一值和第二值的两个独立寄存器的指令的指令进行编码,指定第一值和第二值的源字段 指定第一目标寄存器以第一值加载的第一目标寄存器字段; 指定第二目标寄存器的第二目标寄存器字段,以加载第二值。 还公开了执行该指令的系统。

    Sectored virtual memory management system and translation look-aside
buffer (TLB) for the same
    27.
    发明授权
    Sectored virtual memory management system and translation look-aside buffer (TLB) for the same 失效
    构建虚拟内存管理系统和翻译后备缓冲区(TLB)相同

    公开(公告)号:US5946716A

    公开(公告)日:1999-08-31

    申请号:US656938

    申请日:1996-05-30

    IPC分类号: G06F12/10

    CPC分类号: G06F12/1027 G06F2212/652

    摘要: A memory management system is described which divides each virtual page into two or more sectors. Each of these sectors can then be individually loaded into memory in order to reduce bandwidth consumed loading virtual pages into a physical memory. A TLB for this system includes a plurality of TLB entries. Each TLB entry includes a variable physical page number (PPN FIELD) and a variable presence field. Each bit of the presence field indicates whether a corresponding sector is present in physical memory. The TLB entry also includes a page size field, which indicates the size of the corresponding virtual page. This size field also indirectly controls the number of sectors within that page and, thus, the number of presence bits required. As the page size grows the number of bits required to store the physical page number reduces. These unused bits are then consumed by additional presence bits so that all the bits in the TLB entry are used for all page sizes and number of sectors.

    摘要翻译: 描述了将每个虚拟页划分成两个或更多个扇区的存储器管理系统。 然后可以将这些扇区中的每一个单独地加载到存储器中,以便减少消耗将虚拟页加载到物理存储器中的带宽。 该系统的TLB包括多个TLB条目。 每个TLB条目包括可变物理页号(PPN FIELD)和可变存在字段。 存在字段的每一位指示物理存储器中是否存在对应扇区。 TLB条目还包括页面大小字段,其指示相应虚拟页面的大小。 该大小字段还间接地控制该页面内的扇区数,并因此间接地控制所需的存在位数。 随着页面大小的增加,存储物理页码所需的位数减少。 这些未使用的位然后被附加存在位消耗,使得TLB条目中的所有位用于所有页面大小和扇区数。

    Method and system for selecting instructions for re-execution for
in-line exception recovery in a speculative execution processor
    28.
    发明授权
    Method and system for selecting instructions for re-execution for in-line exception recovery in a speculative execution processor 失效
    用于在推测执行处理器中选择用于重新执行在线异常恢复的指令的方法和系统

    公开(公告)号:US5881280A

    公开(公告)日:1999-03-09

    申请号:US900274

    申请日:1997-07-25

    IPC分类号: G06F9/38 G06F9/00

    CPC分类号: G06F9/3865 G06F9/3842

    摘要: A method and related control logic for performing in line recovery from deferred exceptions generated by speculative operations. The control logic includes a re-execution register to mark operands of operations that should be re-executed in a special recovery mode. When the processor detects a deferred exception, it branches to the operation that generated the exception and enters the special in-line recovery mode. The processor executes operations non-speculatively in the recovery mode, and marks the result registers of these operations with re-execution flags. The processor then knows whether to re-execute an operation by checking for re-execution flags associated with the operands of an in-line operation. The processor exits recovery mode when it returns to the point where it detected the deferred exception. The re-execution register enables the processor to recover from deferred exceptions using the program code only, without any additional fix-up code or recovery code.

    摘要翻译: 一种方法和相关的控制逻辑,用于执行由推测操作产生的延迟异常的在线恢复。 控制逻辑包括重新执行寄存器,用于标记应该在特殊恢复模式下重新执行的操作的操作数。 当处理器检测到延迟异常时,它会分支到产生异常的操作,并进入特殊的在线恢复模式。 处理器在恢复模式下非推测性地执行操作,并用重新执行标志来标记这些操作的结果寄存器。 然后,处理器知道是否通过检查与行内操作的操作数相关联的重新执行标志来重新执行操作。 当处理器返回到检测到延迟异常的时候,处理器退出恢复模式。 重新执行寄存器使处理器仅使用程序代码从延迟异常中恢复,而无需任何其他修补代码或恢复代码。

    System for inserting constructs into compiled code, defining scoping of
common blocks and dynamically binding common blocks to tasks
    30.
    发明授权
    System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks 失效
    将结构插入编译代码的系统,定义公共块的范围,并将通用块动态绑定到任务

    公开(公告)号:US5093916A

    公开(公告)日:1992-03-03

    申请号:US197060

    申请日:1988-05-20

    IPC分类号: G06F9/45 G06F9/44 G06F9/46

    CPC分类号: G06F9/52 G06F8/45

    摘要: A method performed within a multi-processing, multi-programming computer environment for reducing conflict among tasks concurrently accessing COMMON BLOCKs in code sequences compiled within said environment from a FORTRAN like language system, and for reducing the memory used in the storing of private copies of said COMMON BLOCKs. The method involves inserting constructs at compile time into the compiled code which enable the COMMON BLOCKs to be dynamically bound at runtime to two or more referencing tasks. Then, at execution time responsive to the constructs, the blocks are bound to the tasks dynamically and scoped so that they lie within the dynamic nesting of the tasks.

    摘要翻译: 一种在多处理多编程计算机环境中执行的方法,用于减少在来自FORTRAN类似语言系统的所述环境中编译的代码序列中同时访问COMMON BLOCK的任务之间的冲突,以及用于减少用于存储私有副本的存储器 普通块说 该方法涉及在编译时将构造插入到编译代码中,使得COMMON BLOCKs能够在运行时动态绑定到两个或多个引用任务。 然后,在响应于构造的执行时间,这些块被动态地绑定到任务并且被限定,使得它们位于任务的动态嵌套中。