Access Locking Patents (Class 710/200)
  • Patent number: 10884621
    Abstract: Block volume mount synchronization is provided. A call is received to mount a block volume upon initiation of container generation on the host computer. Metadata of the block volume is checked for host lock prior to mounting the block volume on the host computer. The mounting of the block volume is allowed only when the metadata indicates that prior host lock does not exist thereby restricting usage of the block volume to a single user preventing data corruption of the block volume.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: January 5, 2021
    Assignee: International Business Machines Corporation
    Inventors: Akash V. Gunjal, Shaikh I. Ali, Sushma Korati
  • Patent number: 10880384
    Abstract: Described herein is a system for allocating resources among multiple skills to enable multitasking. The system tracks use of resources using skill sessions. In one case, the system suspends a skill session to release a resource for allocation to another resource. In another case, the system determines if multiple skill sessions can remain active and use resources to provide output to the user at the same time.
    Type: Grant
    Filed: September 11, 2019
    Date of Patent: December 29, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Bo Li, Vikram Kumar Gundeti, Andrew S. Huntwork, Shiladitya Roy, Rongzhou Shen, Eswara Jnana Swaroop Bhupathiraju
  • Patent number: 10866909
    Abstract: Technologies for protecting virtual machine memory of a compute device include a virtual machine (VM) instantiated on the compute device, a virtual machine monitor (VMM) established on the compute device to control operation of the VM, a secured memory, and a memory manager. The memory manager receives a memory access request that includes a virtual linear address (LA) from the VM and performs a translation of the LA to a translated host physical address (HPA) of the compute device using one or more page tables associated with the VM and VMM. The memory manager determines whether a secured translation mapping of LA-to-HPA that corresponds to the LA is locked. If the mapping is locked, the memory manager verifies the translation based on a comparison of the translated HPA to a HPA translated using the secured translation mapping and, if verified, performs the memory access request using the translated HPA.
    Type: Grant
    Filed: June 26, 2017
    Date of Patent: December 15, 2020
    Assignee: INTEL CORPORATION
    Inventors: Prashant Dewan, Uttam K. Sengupta, Siddhartha Chhabra
  • Patent number: 10846237
    Abstract: Methods and apparatus for locking at least a portion of a shared memory resource. In one embodiment, an electronic device configured to lock at least a portion of a shared memory is disclosed. The electronic device includes a host processor, at least one peripheral processor and a physical bus interface configured to couple the host processor to the peripheral processor. The electronic device further includes a software framework that is configured to: attempt to lock a portion of the shared memory; verify that the peripheral processor has not locked the shared memory; when the portion of the shared memory is successfully locked via the verification that the peripheral processor has not locked the portion of the shared memory, execute a critical section of the shared memory; and otherwise attempt to lock the at least the portion of the shared memory at a later time.
    Type: Grant
    Filed: January 28, 2019
    Date of Patent: November 24, 2020
    Assignee: Apple Inc.
    Inventors: Vladislav Petkov, Haining Zhang, Karan Sanghi, Saurabh Garg
  • Patent number: 10831662
    Abstract: The disclosed computer-implemented method for maintaining cache coherency may include (1) receiving an indication of a revocation of a grant to an owner node of a shared lock for a data object owned by the owner node, (2) invalidating, in response to the indication, a copy of the object in a local cache of the owner node, (3) releasing, in response to the indication, the grant of the shared lock, (4) receiving, after the releasing of the grant, a request from the requesting node to update the object in the cache, (5) transmitting, in response to the request to update the object, a request for a shared lock for the object, (6) receiving an indication of a grant of the shared lock, and (7) updating, in response to the grant of the shared lock, the object in the cache. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Grant
    Filed: August 19, 2019
    Date of Patent: November 10, 2020
    Assignee: Veritas Technologies LLC
    Inventors: Jitendra Patidar, Anindya Banerjee, Kundan Kumar
  • Patent number: 10810168
    Abstract: Systems and methods for allocating file system metadata to storage nodes of a distributed file system. An example method may include: defining, by a processing device, a plurality of tokens, wherein each token comprises a sequence of bits; associating each token of the plurality of tokens with a metadata node of a cluster of metadata nodes; receiving a request to create a directory; selecting, among the plurality of tokens, a token associated with the directory; generating a directory identifier comprising the selected token; and creating, on a metadata node associated with the selected token, a directory record comprising the directory identifier.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: October 20, 2020
    Assignee: Red Hat, Inc.
    Inventors: Jeffrey Jon Darcy, Shyamsundar Ranganathan
  • Patent number: 10761946
    Abstract: Technologies are described for facilitating database system recovery in a distributed database environment having a master node and at least one slave node. The master node maintains an in-memory reference that includes transaction identifiers and their corresponding commit identifiers. When a slave node requests that a commit identifier be assigned to a transaction, the transaction and commit identifiers for the transaction are added to the in-memory reference. The commit identifier is sent by the master node to the slave node. The slave node writes a log entry to a commit log that includes the transaction identifier and the assigned commit identifier. If the database system is interrupted before the slave node writes the commit log entry, the slave node can request the commit identifier for the transaction from the master node, which retrieves the identifier from the in-memory reference.
    Type: Grant
    Filed: February 10, 2017
    Date of Patent: September 1, 2020
    Assignee: SAP SE
    Inventors: Christian Bensberg, Steffen Geissinger, Juchang Lee, Chang Gyoo Park, Kyu Hwan Kim, Deok Koo Kim
  • Patent number: 10755012
    Abstract: The present disclosure relates to system(s) and method(s) for generating a functional simulation's progress report simultaneously when the simulation is in progress. The system comprises a testbench and a DUV/SUV connected to the testbench. The testbench generates a set of input data/packets in order to simulate and verify the DUV/SUV. The system is configured to identify one or more components, from a set of components in the testbench. Furthermore, the system receives one or more current progress messages from the one or more components and identifies one or more component Lock-Up conditions based on the processing of the one or more current progress messages and one or more previous progress messages. Further, the system executes one or more actions to resolve the one or more component Lock-Up conditions. Furthermore, the system generates a simulation progress report, simultaneously at runtime, during the simulation.
    Type: Grant
    Filed: September 12, 2018
    Date of Patent: August 25, 2020
    Assignee: HCL Technologies Limited
    Inventors: Manickam Muthiah, Sathish Kumar Krishnamoorthy
  • Patent number: 10712947
    Abstract: A first storage device receives a first reservation preemption command from a host using a target port. The first reservation preemption command includes a port identifier of the target port, a to-be-checked reservation key, and a logical unit number (LUN). The first storage device encapsulates the to-be-checked reservation key, the LUN, the port identifier of the target port, and a port identifier of the forwarding port to obtain a second reservation preemption command. Further, the first storage device sends the second reservation preemption command to a second storage device using the forwarding port. The second storage device performs a reservation preemption operation based on the port identifier of the target port. When a split brain occurs in a host cluster, data consistency of different storage arrays can be ensured without relying on a Fiber Channel switch, thereby ensuring applicability in more scenarios.
    Type: Grant
    Filed: January 25, 2019
    Date of Patent: July 14, 2020
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventor: Haitao Zeng
  • Patent number: 10706165
    Abstract: A method of separating read operations from write operations includes obtaining and storing a client ID after establishing a slave database connection with a slave database corresponding to a client, and receiving an operation request from the client. If the operation request is a write request, the method also includes establishing a master database connection with a master database by use of a public ID and a public passcode and sending the client ID to the master database, where upon receiving, the master database updates the public ID with the received client ID, and updates access permissions associated with the public ID with access permissions associated with the client ID. The method further includes sending the write request to the master database by use of the master database connection, where a write operation corresponding to the write request and to the access permissions associated with client ID is executed.
    Type: Grant
    Filed: February 4, 2016
    Date of Patent: July 7, 2020
    Assignee: Alibaba Group Holding Limited
    Inventor: Xiaobin Lin
  • Patent number: 10684920
    Abstract: In general, certain embodiments of the present disclosure provide techniques or mechanisms for creating efficient and consistent replication of file overwrites. According to various embodiments, a file map with a sequence file number is created for a data file on a source. The file map includes one or more nodes that each include a sequence node number. When an entry in the file map is changed, the sequence file number is incremented, and the corresponding node is updated by, among other things, setting the sequence node number to equal the current sequence file number. All other nodes in the file map that point to the updated node are similarly updated. When replication occurs, only the updated nodes in the file map are replicated and any unreplicated non-updated nodes are maintained.
    Type: Grant
    Filed: September 1, 2015
    Date of Patent: June 16, 2020
    Assignee: QUEST SOFTWARE INC.
    Inventors: Naresh Saladi, Murali Bashyam
  • Patent number: 10685010
    Abstract: A method for data storage, in a system that includes multiple servers, multiple multi-queue storage devices and at least one storage controller that communicate over a network, includes receiving in a server, from an application running on the server, a request to access data belonging to one or more stripes. The stripes are stored on the storage devices and are shared with one or more other servers. In response to the request, the following are performed at least partially in parallel: (i) requesting one or more global locks that prevent the other servers from accessing the stripes, and (ii) reading at least part of the stripes from the storage devices speculatively, irrespective of whether the global locks are granted. Execution of the request is completed upon verifying that the speculatively-read data is valid.
    Type: Grant
    Filed: September 2, 2018
    Date of Patent: June 16, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Alex Friedman, Sergei Dyshel, Ofir Dahan, Alex Liakhovetsky
  • Patent number: 10684880
    Abstract: The purpose of the present invention is to provide a computer which is capable of increasing the number of I/O devices which connect to a PCI fabric which has predetermined specifications.
    Type: Grant
    Filed: October 17, 2016
    Date of Patent: June 16, 2020
    Assignee: NEC CORPORATION
    Inventor: Akira Tsuji
  • Patent number: 10678712
    Abstract: A method is described that includes detecting that an instruction of a thread is a locked instruction. The instruction also includes determining that execution of said instruction includes imposing a bus lock. The instruction also include executing a bus lock assistance function in response to said determining, said bus lock assistance function including a function associated with said bus lock other than implementation of a bus lock protocol.
    Type: Grant
    Filed: February 11, 2019
    Date of Patent: June 9, 2020
    Assignee: Intel Corporation
    Inventors: Robert S. Chappell, John W. Faistl, Hermann W. Gartler, Michael D. Tucknott, Rajesh S. Parthasarathy, David W. Burns
  • Patent number: 10671731
    Abstract: According to one embodiment, an electronic apparatus includes a hardware processor. The hardware processor executes first authentication processing and second authentication processing when the electronic apparatus is powered on or rebooted. The hardware processor executes the first authentication processing using first data stored in the nonvolatile storage region after executing the second authentication processing in a case of executing the second authentication processing when the electronic apparatus is powered on or rebooted. The hardware processor deletes the first data from the nonvolatile storage region when setting of not executing the second authentication processing upon the electronic apparatus is powered on or rebooted is made.
    Type: Grant
    Filed: December 22, 2016
    Date of Patent: June 2, 2020
    Assignee: TOSHIBA CLIENT SOLUTIONS CO., LTD.
    Inventor: Taisuke Furuya
  • Patent number: 10649695
    Abstract: A command processing method and a storage controller are provided. The command processing method includes: receiving multiple read-modify-write (RMW) commands by a command processing pool of the storage controller, wherein each of the RMW commands includes a read command and a write command in pairs; locking a queue by the command processing pool and transmitting a pending first read command of the RMW commands in the command processing pool to the queue; when a second read command paired with a second write command of the RMW commands is pending, not locking the queue by the command processing pool and not transmitting the second write command to the queue; and when a third read command paired with a third write command of the RMW commands is not pending, locking the queue by the command processing pool and transmitting the third write command to the queue.
    Type: Grant
    Filed: January 22, 2019
    Date of Patent: May 12, 2020
    Assignee: Shenzhen EpoStar Electronics Limited CO.
    Inventor: Shih-Tien Liao
  • Patent number: 10635791
    Abstract: A device and method for placing the device in a locked state having an associated set of permitted tasks so as to permit the device owner to share the device with others but maintain security over aspects of the device. A task change request is evaluated to determine whether the requested task is permitted and, if so, the requested task is allowed; if not, then an authorization process is invoked to prompt the user to input authorization data. Upon verification of the authorization data, the device may be unlocked and the requested change implemented. The permitted tasks may designate specific applications, specific operations or functions within applications or at the operating system level, one or more currently open windows, and other levels of granularity.
    Type: Grant
    Filed: March 29, 2013
    Date of Patent: April 28, 2020
    Assignee: BlackBerry Limited
    Inventors: Ahmed E. Hassan, John F. Wilson, Daryl Joseph Martin
  • Patent number: 10630605
    Abstract: A method and system are disclosed for migrating network resources to improve network utilization, for use in a multi-node network wherein nodes of the network share network resources. The method comprises the steps of identifying a group of nodes that share one of the network resources, and identifying one of the nodes satisfying a specified condition based on at least one defined access latency metric. The shared resource is moved to the identified one of the nodes to reduce overall access latency to access the shared resource by said group of nodes. One embodiment of the invention provides a method and system to synchronize tasks in a distributed computation using network attached devices (NADs). A second embodiment of the invention provides a method and system to reduce lock latency and network traffic by migrating lock managers to coupling facility locations closest to nodes seeking resource access.
    Type: Grant
    Filed: February 15, 2019
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventor: Rajaram B. Krishnamurthy
  • Patent number: 10621103
    Abstract: An apparatus and method are provided for handling write operations. The apparatus has a first processing device for executing a sequence of instructions, where the sequence comprises at least one instruction to activate a software protocol to establish an ownership right for writing data to a first memory region, and at least one write instruction executed following establishment of the ownership right, in order to perform one or more write operations to output write data for storage in at least one memory location within the first memory region. A writeback cache associated with the first processing device is used to store the write data output during the one or more write operations. Coherency circuitry is coupled to the writeback cache and to at least one further cache associated with at least one further processing device. The first processing device is responsive to a trigger event to initiate a clean operation in order to cause the write data to be written from the writeback cache to memory.
    Type: Grant
    Filed: December 5, 2017
    Date of Patent: April 14, 2020
    Assignee: Arm Limited
    Inventors: Andrew Christopher Rose, Richard Roy Grisenthwaite, Ali Ghassan Saidi
  • Patent number: 10613934
    Abstract: For managing RAID parity stripe contention using a processor device in a computing environment, delaying, by a host being separate to the RAID, one of a plurality of operations overlapping a parity sector in a parity stripe with a currently running operation and serializing each one of the multiplicity of operations overlapping the parity sector. The host further serializes each one of the plurality of operations overlapping the parity sector. The delaying is performed when the host determines whether a new write written through a hardware performance path comprising the one of the plurality of operations will overlap the parity stripe of a previous write comprising the currently running operation at the RAID controller.
    Type: Grant
    Filed: November 30, 2017
    Date of Patent: April 7, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthew J. Kalos, Karl A. Nielsen, Richard B. Stelmach
  • Patent number: 10613755
    Abstract: Example embodiments of the present invention relate to a method, a system, and a computer program product for copy data management. The method includes creating a snapshot of a volume and exposing the snapshot of the volume as a writable copy of the volume.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: April 7, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Nir Sela, Aviram Katz, Aharon Blitzer, Tamir Segal, Ido Halevi, Yuval Harduf
  • Patent number: 10614039
    Abstract: A lock manager configured for locking files is tested. As part of the test and based on a lock assignment plan, a process acquires locks on portions of the files. Based on a lock testing plan, a second process performs a lock verification for a portion of the locked portions. A result of this lock verification is compared to its expected result. Based on an updated lock assignment plan, the process transitions from the locks to other locks on other portions of the files. Based on an updated lock testing plan, the second process performs a second lock verification for a portion of the other locked portions. A result of this second lock verification is compared to its expected result. Based at least in part on the two comparisons, the lock manager is evaluated.
    Type: Grant
    Filed: April 4, 2017
    Date of Patent: April 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Willard A. Davis, James C. Davis
  • Patent number: 10614040
    Abstract: A lock manager configured for locking files is tested. As part of the test and based on a lock assignment plan, a process acquires locks on portions of the files. Based on a lock testing plan, a second process performs a lock verification for a portion of the locked portions. A result of this lock verification is compared to its expected result. Based on an updated lock assignment plan, the process transitions from the locks to other locks on other portions of the files. Based on an updated lock testing plan, the second process performs a second lock verification for a portion of the other locked portions. A result of this second lock verification is compared to its expected result. Based at least in part on the two comparisons, the lock manager is evaluated.
    Type: Grant
    Filed: October 23, 2017
    Date of Patent: April 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Willard A. Davis, James C. Davis
  • Patent number: 10606666
    Abstract: Systems and methods of enhancing computing performance may provide for detecting a request to acquire a lock associated with a shared resource in a multi-threaded execution environment. A determination may be made as to whether to grant the request based on a context-based lock condition. In one example, the context-based lock condition includes a lock redundancy component and an execution context component.
    Type: Grant
    Filed: November 22, 2017
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventor: Kirk J. Krauss
  • Patent number: 10599470
    Abstract: A system, apparatus, and method for thread synchronization is provided. In one embodiment, a network system receives a signal from a first computing machine, and determines whether one or more processes are waiting for the signal. The network system also transmits the signal to one of the one or more processes on the first computing machine or a second computing machine to execute a thread of the process.
    Type: Grant
    Filed: October 2, 2018
    Date of Patent: March 24, 2020
    Assignee: OPEN INVENTION NETWORK LLC
    Inventor: Marc Todd Yaeger
  • Patent number: 10602248
    Abstract: The present disclosure provides a speaker module, in which at least two leaking holes that communicate with a rear chamber of the housing, and a connecting groove that communicates any two of the at least two leaking holes with each other are arranged at the housing. With such configuration, the processing steps for forming the cone-shaped leaking hole and the air guiding groove are omitted, the processing is significantly simplified compared to the prior art, the processing is much easier and the manufacture efficiency is higher, and an excellent performance in air leakage and pure sounding is guaranteed.
    Type: Grant
    Filed: December 30, 2018
    Date of Patent: March 24, 2020
    Assignee: AAC Technologies Pte. Ltd.
    Inventor: Wei Chen
  • Patent number: 10579441
    Abstract: Creating, maintaining and using a lock dependency graph in a way that includes the following steps: (i) acquiring a first restriction on processor access in a multi-processor computer system; (ii) modeling the first restriction as first locking primitive information; and (iii) storing data corresponding to the first locking primitive information in a lock dependency graph. The first restriction on processor access is one of the following two types: (i) disabling the interrupts on a given processor; and/or (ii) sending inter-processor interrupts with synchronous waiting from one processor to another (including itself).
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: March 3, 2020
    Assignee: International Business Machines Corporation
    Inventor: Srivatsa S. Bhat
  • Patent number: 10572508
    Abstract: A computer program product and system include a first database engine that maintains a first database, a second database engine that maintains a second database, a table that has a first instance in the first database and a second instance in the second database, and program instructions to execute write transactions, asynchronously pool the changes of the first instance, responsive to receiving a query against the table, determine to execute the query against the second instance, identify a first time, define a current replication batch that selectively comprises the pooled changes of the transactions before the first time, asynchronously replicate the current replication batch, store each change, assign a batch-ID to the query, send the query and the batch-ID to the second engine, respond to the current replication batch being completed, by executing the query on the second instance, and return results of the query execution on the second instance.
    Type: Grant
    Filed: November 15, 2017
    Date of Patent: February 25, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Oliver Koeth, Daniel Martin, Knut Stolze
  • Patent number: 10560366
    Abstract: Aspects of the present invention disclose a method, computer program product, and system for determining recommendations for actions based on analysis of a device. The method includes retrieving information associated with a device from one or more databases. The method further includes determining information relevant to device performance as a function of an analysis of the retrieved information associated with the device, where the information relevant to device performance includes one or more factors related to an expected device performance. The method further includes determining a frequency of repair and replacement of one or more components of the device. The method further includes determining a recommendation of an action based on a comparison of an expected frequency of replacement and repair of the components of the device to the determined replacement and repair of the components of the device.
    Type: Grant
    Filed: November 29, 2017
    Date of Patent: February 11, 2020
    Assignee: International Business Machines Corporation
    Inventors: Tomasz Hanusiak, Konrad W. Komnata, Jaroslaw Osinski, Grzegorz P. Szczepanik
  • Patent number: 10554754
    Abstract: Various embodiments are generally directed to techniques for reducing the time required for a node to take over for a failed node or to boot. An apparatus includes an access component to retrieve a metadata from a storage device coupled to a first D-module of a first node during boot, the metadata generated from a first mutable metadata portion and an immutable metadata portion, and the first metadata specifying a first address of a second D-module of a second node; a replication component to contact the second data storage module at the first address; and a generation component to, in response to failure of the contact, request a second mutable metadata portion from a N-module of the first node and generate a second metadata from the second mutable metadata portion and the immutable metadata portion, the second mutable metadata portion specifying a second address of the second D-module.
    Type: Grant
    Filed: November 22, 2017
    Date of Patent: February 4, 2020
    Assignee: NetApp Inc.
    Inventors: Paul Yuedong Mu, Manoj Sundararajan, Paul Ngan
  • Patent number: 10534896
    Abstract: A method of authorising use of a computer program only able to be used when an authorised message is received from an authorising system includes providing an authorisation system, making a request to use a computer program, signalling the request to the authorisation system, the authorisation system recording the use of the computer program and providing the authorisation message to the computer program upon receipt of the authorisation message the computer program may be used.
    Type: Grant
    Filed: November 2, 2017
    Date of Patent: January 14, 2020
    Assignee: FLEXERA SOFTWARE LLC
    Inventor: Leo Joseph Mullins
  • Patent number: 10534740
    Abstract: Provided is a multi-master collision prevention system including: a plurality of functional blocks including a plurality of external modules and a plurality of internal modules performing different functions; a plurality of interfaces respectively connected to the plurality of external modules, respectively; a plurality of dedicated registers including priority information of the plurality of functional blocks and connected to the plurality of functional blocks, respectively; a common block selectively connected to the plurality of functional blocks, and configured to function as a master for controlling the common blocks when the plurality of functional blocks are connected to the common block; and a priority determination unit configured to determine a connection between any one of the plurality of functional blocks and the common block.
    Type: Grant
    Filed: November 29, 2018
    Date of Patent: January 14, 2020
    Assignee: HYUNDAI AUTRON CO., LTD.
    Inventors: Kee Beom Kim, Young Suk Kim
  • Patent number: 10534681
    Abstract: A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem. At least one trusted metadata server assigns a mandatory access control label as an extended attribute of each filesystem object regardless of whether required by a client node accessing the filesystem object. The mandatory access control label indicates the sensitivity and integrity of the filesystem object and is used by the trusted metadata server(s) to control access to the filesystem object by all client nodes.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: January 14, 2020
    Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
    Inventor: Kenneth S. Beck
  • Patent number: 10505962
    Abstract: A computer-implemented method for performing privilege flow analysis is presented. The computer-implemented method includes monitoring at least one program operating system (OS) event handled by a program, generating a privilege flow graph, determining an inferred program behavior context, and generating, based on a combination of the privilege flow graph and the inferred program behavior context, an inferred behavior context-aware privilege flow graph to distinguish different roles of processes and/or threads within the program.
    Type: Grant
    Filed: June 15, 2017
    Date of Patent: December 10, 2019
    Assignee: NEC Corporation
    Inventors: Junghwan Rhee, Yuseok Jeon, Zhichun Li, Kangkook Jee, Zhenyu Wu, Guofei Jiang
  • Patent number: 10503518
    Abstract: Techniques are described herein that are capable of initializing hardware components by loading drivers in parallel and granting the drivers access to the hardware components serially. For instance, a controller may serve as an intermediary between the drivers and the hardware components to synchronize access of the drivers to the respective hardware components. The controller may include software and hardware. The software may program the hardware to grant the drivers access to the respective hardware components serially based at least in part on an event that is capable of being associated with one driver at a time. Accordingly, access of the drivers to the respective hardware components may be granted serially, even though the drivers have been loaded in parallel.
    Type: Grant
    Filed: October 11, 2017
    Date of Patent: December 10, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maria Cheng Lei, Vishal Jain
  • Patent number: 10496573
    Abstract: Methods, apparatus, and system to create interrupts which are resolved at runtime relative to an active compartment. Active compartments may be, for example, a compartment of an operating system (“OS”) or a trusted execution environment (“TEE”). The context-specific interrupts comprise an interrupt dispatch table (“IDT”) for each compartment.
    Type: Grant
    Filed: March 31, 2017
    Date of Patent: December 3, 2019
    Assignee: Intel Corporation
    Inventors: Steffen Schulz, Patrick Koeberl, Vedvyas Shanbhogue, Jason W. Brandt, Venkateswara R. Madduri, Sang W. Kim, Julien Carreno
  • Patent number: 10496853
    Abstract: Approaches for securing a host machine against security attacks conducted using Direct Memory Access (DMA). Platform firmware does not enable bus mastering during PCI bus enumeration. When the platform firmware determines that an expansion card has been plugged into an expansion card slot of the host machine, the platform firmware determines whether the expansion card slot has been approved by a user of the host machine for permitting Direct Memory Access (DMA) with the host machine. Unless the expansion card slot has been determined to be approved by the user for permitting Direct Memory Access (DMA) with the host machine, the platform firmware does not allow drivers that might enable DMA to connect to the device and does not grant permission to the expansion card slot and any upstream bridges to conduct Direct Memory Access (DMA) with the host machine.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: December 3, 2019
    Assignee: Phoenix Technologies Ltd.
    Inventors: Kenneth C. Taylor, James L. Mortensen
  • Patent number: 10469265
    Abstract: Technologies for secure inter-enclave communication include a computing device having a processor with secure enclave support. The computing device establishes a first secure enclave and a second secure enclave with the secure enclave support of the processor. The first secure enclave invokes a report instruction to cause the processor to generate a report targeted to the second secure enclave. The report includes a report body and a message authentication code generated using a report key associated with the second secure enclave. The second secure enclave invokes a get key instruction to cause the processor to generate the report key associated with the second secure enclave and generates the message authentication code over the report body using the report key. The first secure enclave and second secure enclave each perform a cryptographic operation on a message using the message authentication code as a cryptographic key. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: November 5, 2019
    Assignee: Intel Corporation
    Inventor: Bin Xing
  • Patent number: 10459858
    Abstract: Method, apparatus, and program means for a programmable event driven yield mechanism that may activate other threads. In one embodiment, an apparatus includes execution resources to execute a plurality of instructions and a monitor to detect a condition indicating a low level of progress. The monitor can disrupt processing of a program by transferring to a handler in response to detecting the condition indicating a low level of progress. In another embodiment, thread switch logic may be coupled to a plurality of event monitors which monitor events within the multithreading execution logic. The thread switch logic switches threads based at least partially on a programmable condition of one or more of the performance monitors.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: October 29, 2019
    Assignee: Intel Corporation
    Inventors: Hong Wang, Per Hammarlund, Xiang Zou, John P. Shen, Xinmin Tian, Milind Girkar, Perry H. Wang, Piyush N. Desai
  • Patent number: 10437964
    Abstract: A software licensing Application Programming Interface (API) that allows software products to use the license management functionality of a common service. A license specifies rights in a software product. The software product calls a consume method on the API in order to consume a right. If the right exists, the service binds the right to the license in which the right is found. The software product enforces the terms of the license by granting, or denying, access to some or all features depending on whether a valid instance of the right is found. Arbitrary data can be associated with a right. The API includes a method to retrieve data from a right that has been previously bound by the consume method.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: October 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Caglar Gunyakti, Wen-Pin Scott Hsu, Ning Zhang
  • Patent number: 10417199
    Abstract: Distributed locks (e.g., among a plurality of database management services) can be used for accessing a database to ensure data consistency in the database during concurrent continuous data processing and schema or data administration of the database. An exclusive lock of the database may not be held for all operations of an extract, transform, load (ETL) process to load data from a data source into the database. Schema changes that occur to a database schema of the database in the middle of the ETL process when the exclusive lock is not held can be resolved.
    Type: Grant
    Filed: July 17, 2017
    Date of Patent: September 17, 2019
    Assignee: VMware, Inc.
    Inventors: Antoni Ivanov, Denitsa Gencheva, Marin Nozhchev
  • Patent number: 10417057
    Abstract: Techniques are described herein for profiling mutual exclusion locks. In one or more embodiments, a performance profiler identifies a first thread executing an activity within a parallel processing environment. The performance profiler identifies a set of one or more mutual-exclusion locks held by the first thread while the activity is being executed and determines the total number of threads waiting for at least one of the set of mutual-exclusion locks held by the first thread. The performance profiler then determines a total cost associated with execution of the activity based at least on the total number of threads waiting for at least one of the set of mutual-exclusion locks held by the first thread during execution of the activity. In one or more embodiments, the total cost is obtained by multiplying a raw cost with the number of threads waiting.
    Type: Grant
    Filed: January 30, 2017
    Date of Patent: September 17, 2019
    Assignee: Oracle International Corporation
    Inventor: Eugene Ying Loh
  • Patent number: 10402197
    Abstract: Systems, methods, apparatuses, and software for data systems are provided herein. In one example, a data system is presented. The system includes a processing system configured to execute an operating system that comprises a network module for handling data frames directed to a plurality of kernel threads and received over one or more network interfaces of the data system. The network module is configured to establish a plurality of data buffers individually associated with the kernel threads, store associated ones of the data frames for the kernel threads in the data buffers as the data frames are processed through a network stack of the data system, and maintain data exclusivity locks for the plurality of data buffers and individually associate the data exclusivity locks with the kernel threads.
    Type: Grant
    Filed: October 22, 2018
    Date of Patent: September 3, 2019
    Assignee: Liqid Inc.
    Inventor: James Scott Cannata
  • Patent number: 10387158
    Abstract: Systems, methods, and apparatuses for data speculation execution (DSX) are described. In some embodiments, a hardware apparatus for performing DSX comprises a hardware decoder to decode an instruction, the instruction to include an opcode, and execution hardware to execute the decoded instruction inside a speculative execution (DSX) and rollback execution to a stored address and clear a DSX status indication in a DSX status register, and thereby abort the DSX.
    Type: Grant
    Filed: December 24, 2014
    Date of Patent: August 20, 2019
    Assignee: Intel Corporation
    Inventors: Elmoustapha Ould-Ahmed-Vall, Christopher J. Hughes, Robert Valentine, Milind B. Girkar
  • Patent number: 10372726
    Abstract: A method includes, where a first database engine maintains a first database, a second database engine maintains a second database, and a table has a first instance in the first database and a second instance in the second database, executing write transactions, asynchronously pooling the changes of the first instance, and, in response to receiving a query against the table, determining to execute the query against the second instance. The method further includes identifying a first time, defining a current replication batch that selectively comprises the pooled changes of the transactions before the first time, asynchronously replicating the current replication batch, storing each change, assigning a batch-ID to the query, sending the query and the batch-ID to the second engine, responsive to the current replication batch being completed, executing the query on the second instance, and returning results of the query execution on the second instance.
    Type: Grant
    Filed: August 9, 2016
    Date of Patent: August 6, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Oliver Koeth, Daniel Martin, Knut Stolze
  • Patent number: 10346219
    Abstract: A method, a system, and a computer program product are provided for reducing message passing for contention detection in distributed SIP server environments. The method is implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable storage medium having programming instructions operable to determine that a first site is waiting for a first object locked by a second site. The programming instructions are further operable to determine that a third site is waiting for a second object locked by the first site, and to send a first probe to the second site to determine whether the second site is waiting. A second probe is received and indicates that a site is waiting for an object locked by the first site. The second probe further indicates a deadlock in a distributed server environment to be resolved.
    Type: Grant
    Filed: August 4, 2017
    Date of Patent: July 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Abhinay R. Nagpal, Sandeep R. Patil, Sri Ramanathan, Gandhi Sivakumar, Matthew B. Trevathan
  • Patent number: 10331500
    Abstract: Managing lock and unlock operations for a first thread executing on a first processor core includes, for each instruction included in the first thread and identified as being associated with: (1) a lock operation corresponding to a particular lock stored in a particular memory location, in response to determining that the particular lock has already been acquired, continuing to perform the lock operation for multiple attempts using associated operation messages for accessing the particular memory location, or (2) an unlock operation corresponding to a particular lock stored in a particular memory location, releasing the particular lock from the first thread using an associated operation message for accessing the particular memory location. Selected operation messages associated with an unlock operation are prioritized over operation messages associated with a lock operation.
    Type: Grant
    Filed: September 7, 2017
    Date of Patent: June 25, 2019
    Assignee: Cavium, LLC
    Inventors: Shubhendu Sekhar Mukherjee, Isam Wadih Akkawi, David Asher, Michael Bertone, David Albert Carlson, Bradley Dobbie, Richard Eugene Kessler
  • Patent number: 10318487
    Abstract: A method, system and computer program product for sharing resources among remote repositories. In a shared file system, a resource identifier and metadata are created for a resource, where the resource identifier is stored in a lock file in a shared volume accessible by the remote repositories. The lock file is then released in response to distributing the associated resource to the remote repositories. Alternatively, in a peer-to-peer system, a request is received to create, read, update or delete a resource stored in a content repository. A resource name, a resource version and/or a resource fingerprint are received in connection with the request to create, read, update or delete the resource in the content repository. A determination is then made as to whether the received resource name, resource version and/or resource fingerprint matches the respective resource name, resource version and/or resource fingerprint stored in a node graph for the resource.
    Type: Grant
    Filed: August 20, 2014
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventors: Barry P. Gower, Larry R. Hamann, Andrew S. Myers, Seth R. Peterson, Davanum M. Srinivas, Donald R. Woods
  • Patent number: 10289611
    Abstract: User Defined Functions (UDFs) for a parallel database system are enhanced by making memory persist even when the UDFs terminate. The memory can be shared between different instances of the UDF and the memory can be custom mapped, encrypted, and use custom security.
    Type: Grant
    Filed: April 29, 2011
    Date of Patent: May 14, 2019
    Assignee: Teradata US, Inc.
    Inventor: Rolf Gunter Erich Stegelmann
  • Patent number: 10289420
    Abstract: Embodiments relate to lightweight interrupts for floating point exceptions. An aspect includes, based on an exception occurring in a floating point unit of a processor during execution of an application, sending a lightweight interrupt corresponding to the exception to the application; and handling the exception by an exception handler of the application.
    Type: Grant
    Filed: November 28, 2015
    Date of Patent: May 14, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Giles R. Frazier, Michael Karl Gschwind