Patent classifications
G06F11/1402
Query-attempt processing in a database environment
Disclosed herein are embodiments of systems and methods for query-attempt processing in a database environment. In an embodiment, a database platform receives a query, and operates a first query manager of the database platform to manage a first attempt to execute the query. Based on determining that the attempt to execute the query was unsuccessful, the database platform identifies a second query manager of the database platform as implementing a same version of the database platform as the first query manager, and operates the second query manager to manage a first retry attempt to execute the query.
Reducing likelihood of concurrency error in virtualized computing environment
A system and method for reducing the likelihood of concurrency errors by identifying vulnerable segments of computer code and stalling other virtual machine threads of execution. According to one embodiment of the present invention, the vulnerable segment is identified at runtime, for example in a dynamic translator. According to another embodiment of the present invention, the vulnerable segment is identified ahead of time, for example in a static translator. According to yet another embodiment of the present invention, the vulnerable segment is identified in the binary translator of a virtual machine monitor.
Efficient database undo / redo logging
Log records are accessed as part of a database operation in a database. The log records log insert, update, and delete operations in the database and include, for each row, a row position, a fragment identifier (ID), and a row ID. Thereafter, as part of the database operation, rows specified by the log records are located by: using the fragment identifier and the row position within the corresponding record of the log if the fragment with the corresponding fragment identifier is still available, otherwise, using the row identifier within the corresponding record of the log to look up the row position in an index of a corresponding row identifier column. The database operation is then finalized using the located rows. Related apparatus, systems, techniques and articles are also described.
Run-Time Code Parallelization with Monitoring of Repetitive Instruction Sequences During Branch Mis-Prediction
A processor includes an execution pipeline and monitoring circuity. The execution pipeline is configured to execute instructions of program code. The monitoring circuity is configured to monitor the instructions in a segment of a repetitive sequence of the instructions so as to construct a specification of register access by the monitored instructions, to parallelize execution of the repetitive sequence based on the corrected specification, and to terminate monitoring of the instructions and discard the specification in response to detecting a branch mis-prediction in the monitored instructions.
Multi-redundant digital signage
Technologies are provided for multi-redundant digital signage. A video server computer connected to one or more digital displays is configured to receive one or more videos and content, such as an image or a video, from a content server. A video player application executes on the video server computer to display the video received from the content server on the digital displays. An operating system executing on the video server computer is also configured to present the content as a desktop background. If execution of the video player application fails, the desktop background is presented, thereby displaying the content received from the content server. Additionally, the content may be stored in a non-volatile memory of the one or more digital displays. If a video signal from the video server computer is lost, the digital displays may present the content automatically or in response to a manual user input.
GRANULAR ENTRY SELF-HEALING
A processing device on a first server in a distributed file system detects that the first server has rebooted after being out of service for a period of time. The processing device sends a request to a second server to determine whether a file index stored on the second server comprises any entries corresponding to replicas of a directory in the distributed file system. Responsive to receiving an indication that the file index comprises a first entry corresponding to a first replica stored on the first server, the processing device requests a copy of a second replica stored on the second server, wherein the first replica and the second replica are both replicas of the directory, receives the copy of the second replica and modifies the first replica in view of the second replica so that the first replica matches the second replica.
MRAM smart bit write algorithm with error correction parity bits
Some embodiments relate to a system that includes write circuitry, read circuitry, and comparison circuitry. The write circuitry is configured to attempt to write an expected multi-bit word to a memory location in a memory device. The read circuitry is configured to read an actual multi-bit word from the memory location. The comparison circuitry is configured to compare the actual multi-bit word read from the memory location with the expected multi-bit word which was previously written to the memory location to distinguish between a number of erroneous bits in the actual multi-bit word and a number of correct bits in the actual multi-bit word. The write circuitry is further configured to re-write the number of erroneous bits to the memory location without attempting to re-write the number of correct bits to the memory location.
Pre-population of data for replication of data backups
A system and a method are disclosed for pre-seeding data to backup servers and determining servers for additional backups. Backup data is received from a client device through a first backup request and sent to a primary server for storage. Additional backup data from a second backup request is received. After the initial backup data is stored on the primary server and pre-seeded by the primary server on a secondary server, a status of backup servers associated with the client device is received. The backup servers include the primary server and can include the secondary server. Responsive to the status indicating availability of a server in the backup servers, a recipient server is identified from the backup servers and the additional backup data is sent to the identified recipient server.
Guide word paged hash table
A set of pages including a set of entries are stored on disk. A set of page headers are stored in memory. Each page header corresponds to a page on disk. A page header includes a page number identifying a corresponding page on disk, a first guide word, and a second guide word. The first and second guide words define minimum and maximum name values, respectively, of entries on the page. Upon a request to determine if an entry associated with a name value exists, the page headers are scanned to identify a page number in a header where the name value is between the guide words. The page, if not resident in memory, is located on disk, loaded into memory, and examined to determine whether the entry exists on the page.
MANAGER ELECTION FOR ERASURE CODING GROUPS
To ensure that there is an elected manager among storage nodes of an erasure coding group (“ECG”), an ECG manager (“ECGM”) election process is periodically performed among available storage nodes that are configured with the software to perform the services of an ECGM. When a storage node is activated, an ECGM process of the storage node begins executing and is assigned a process identifier (“PID”). A storage node can utilize a service query framework to identify other available storage nodes and retrieve their ECGM PIDs. The storage node then selects a PID according to a criterion and elects the storage node corresponding to the selected PID to be the acting ECGM. This process is performed periodically, so even if the acting ECGM storage node fails, a new ECGM is eventually selected from the available storage nodes.