US Pat. No. 10,795,931

ACQUIRING, MAINTAINING, AND PROCESSING A RICH SET OF METADATA FOR MUSICAL PROJECTS

MUSO.AI INC., North Holl...

1. A computer-implemented method comprising:monitoring and receiving, by a computing device via application programming interface (API) calls, metadata relating to a project, wherein the metadata includes information identifying a plurality of individual contributors involved in the production of the project, and wherein the information includes a role of each of the plurality of individual contributors and a level of involvement of each of the plurality of individual contributors in terms of time spent by each of the plurality of individual contributors on the project;
storing, by the computing device, the metadata;
receiving, by the computing device, a query from a user for royalty distributions for the project;
accessing, by the computing device, the stored metadata to generate a response to the query to the user based on the stored metadata;
determining the royalty distributions of each of the plurality of individual contributors, in response to the query, based on the stored information regarding the role of each of the plurality of individual contributors in production of the project and the level of involvement of each of the plurality of individual contributors in production of the project; and
providing, by the computing device, the response to the query, including the royalty distributions of each of the plurality of individual contributors, for display to the user.

US Pat. No. 10,795,929

INTERACTIVE MUSIC FEEDBACK SYSTEM

Trent R. McKenzie, Austi...

1. A method comprising:providing a user interface at a user device, wherein the user interface enables a user to control playback of audio content provided by a media content server, wherein the user interface comprises a plurality of selectable portions, wherein each selectable portion of the plurality of selectable portions represents an associated, different musical instrument featured in the audio content;
receiving, by the user interface, user input from the user during playback of the audio content, wherein the user input comprises a selection of a selectable portion of the plurality of selectable portions at a point in time during playback;
transforming, by a processor of the user device, the user input into transformed user input, wherein the transformed user input comprises a value associated with the selected selectable portion and a timestamp of the point in time during playback at which the selection was received; and
transmitting, by a communication interface of the user device, the transformed user input to a first database not comprised in the user device for storage, wherein the transformed user input is associated with the audio content in the first database,
wherein the transformed user input is used for generating, by a computing processor, a display of user input received during playback of the audio content, wherein the display includes a horizontal axis representing duration of the audio content and an indication that a performance of the musical instrument associated with the selected selectable portion was liked or disliked at the point in time during playback, wherein the indication has an x-coordinate along the horizontal axis representing the timestamp, wherein the indication has a y-coordinate above or below the horizontal axis representing the value, and wherein the indication is displayed in a color associated with at least one of the user and the musical instrument associated with the selected selectable portion.

US Pat. No. 10,795,928

IMAGE SEARCH APPARATUS, SYSTEM, AND METHOD

Hitachi, Ltd., Tokyo (JP...

1. An image search apparatus comprising:an accumulation unit that accumulates search target images;
an area detector that learns search priority by analyzing first information extracted from a plurality of first areas included in a plurality of the search target images, analyzes second information extracted from a plurality of second areas included in a query image, and detects the second areas, the search priority of which is high, as conspicuous areas by using the second information; and
an image search unit that searches for the search target images by using an image feature extracted from the conspicuous areas;
wherein the area detector analyzes a plurality of pieces of the first information, learns the first information with lowest appearance frequency as conspicuity information the search priority of which is the highest, and detects the conspicuous areas on the basis of a distance between the second information and the conspicuity information.

US Pat. No. 10,795,927

ON-DEMAND METADATA EXTRACTION OF CLINICAL IMAGE DATA

Commvault Systems, Inc., ...

1. A tangible computer-readable storage medium excluding transitory signals, and which contains instructions for performing a method of on-demand metadata extraction, the method comprising:receive, via an implementation of a function of an API invoked by at least one user device, a list of clinical image data files containing clinical image data, wherein each file in the list of files is associated with a metadata file,
wherein the metadata files are stored in a location remote from the user devices, and
wherein the remote location is a cloud storage device;
receive a list of metadata attributes, via an implementation of a function of the API invoked by the at least one user device, wherein the list of metadata attributes are associated with clinical image data; and
for each clinical image data file in the list of clinical image data files:
retrieve only a header portion of the clinical image data file,
wherein a size of the retrieved header portion of the clinical image data file is smaller than a size of the clinical image data file to thereby gain efficiencies in data transmission, and
wherein the retrieved header portion includes only metadata; and,
for each attribute in the list of metadata attributes:
parse the retrieved header portion of the clinical image data file to identify a value associated with the attribute; and
update the metadata file associated with the clinical image data file to include the attribute and the identified value associated with the attribute.

US Pat. No. 10,795,926

SUPPRESSING PERSONALLY OBJECTIONABLE CONTENT IN SEARCH RESULTS

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:receiving a first search query;
determining that the first search query requests personally objectionable content, wherein determining that the first search query requests personally objectionable content comprises:
obtaining a measure of popularity of the first search query;
determining, from the measure of popularity of the first search query, that the measure of popularity of the first search query does not satisfy a popularity threshold; and
determining that the first search query requests personally objectionable content based on determining that the measure of popularity of the first search query does not satisfy the popularity threshold;
in response to determining that the first search query requests personally objectionable content, performing a classification process including evaluating a resource identified by a search result generated in response to the first search query to determine that the resource is likely to have personally objectionable content, including:
obtaining image content from the resource,
classifying, by a first classifier, the image content as including objectionable content, and
classifying, by a second classifier, the image content as including amateur imagery;
receiving a second search query from a user device;
obtaining a plurality of second search results that satisfy the second search query, the plurality of second search results including the search result identifying the resource evaluated by the classification process in response to determining that the first search query requests personally objectionable content;
preemptively filtering, from the plurality of second search results before the second search results are provided to the user device, the search result identifying the resource; and
providing one or more second search results that remain after filtering the search result identifying the resource.

US Pat. No. 10,795,925

METHOD, DEVICE AND ARRANGEMENT FOR MEASUREMENT OF APP USAGE BASED ON VISUAL CHARACTERISTICS

Verto Analytics Oy, Espo...

1. A method for cultivating a digital reference library for digital content, such as a plurality of applications, linking content identity information and visual characteristics data, comprising:receiving content identity information and receiving visual characteristics data associated with the content that the content identity information identifies, thus linking the content identity information and visual characteristics data, said visual characteristics data representing and being automatically created based on the displayed on-screen appearance of the content, such as application or other content item, in the terminal device by predetermined observation logic running in the terminal device for establishing and transmitting at least visual characteristics data, without application identity information;
matching the data as is or in processed form with the existing data in the entries of the library to find the identity of a matching content item;
determining usage statistics based on the identified, visual characteristics data;
and
adapting the digital reference library by updating an entry therein having regard to said content with the visual characteristics data in the received or processed form, wherein the entry is addressable with the content identity information,
wherein said automatic creating of visual characteristics data at the terminal device comprises detecting of a new content item among the executed ones, and capturing, substantially immediately or at least within few seconds, at least one image for establishing the visual characteristics data to be associated with content identity information of the new content item.

US Pat. No. 10,795,924

METHOD AND APPARATUS FOR MANAGING MULTIMEDIA FILES

Tagmotion Pty Limited, P...

9. A method for tagging a region within a frame of a video file, comprising:populating metadata fields of a metadata database with a file name and a start time of a video file, the metadata database being remote from the online digital repository;
segmenting frames of the video file into segmented regions within the frames, including assigning a point in time with each segmented region, each frame when visually presented having a whole area dimension extending to the outer confines of each frame, each segmented region having an area dimension less than the area dimension of the frame containing the segmented region;
providing a link to the point in time in the video file containing the segmented region to retrieve the segmented region;
assigning a classification term to each segmented region;
arranging the classification terms in a hierarchical structure;
permitting a keyword search of the classification terms;
presenting results of the keyword search of the classification terms three-dimensionally on a screen divided into panels, one of the panels being a panel to navigate the results of the search; and
retrieving the segmented region of the video file based on the keyword search.

US Pat. No. 10,795,923

SELECTIVELY GENERATING WORD VECTOR AND PARAGRAPH VECTOR REPRESENTATIONS OF FIELDS FOR MACHINE LEARNING

ServiceNow, Inc., Santa ...

1. A system, comprising:a processor; and
a memory, accessible by the processor, the memory storing:
a database configurable to store an indication of a first incident report comprising a first input field and a second input field; and
instructions that, when executed by the processor, cause the processor to perform operations, the operations comprising:
identifying the first input field and the second input field as respective types of fields common to a plurality of incident reports;
determining to omit the first input field from at least a portion of a training of an artificial neural network (ANN) based at least in part on a likelihood of the first input field to receive an input common to a subset of the plurality of incident reports;
training the ANN using the second input field to generate a trained ANN;
receiving a second incident report;
generating a vector representation of the second incident report using the trained ANN; and
classifying the second incident report into a cluster of incident reports based at least in part on the vector representation.

US Pat. No. 10,795,922

AUTHORSHIP ENHANCED CORPUS INGESTION FOR NATURAL LANGUAGE PROCESSING

International Business Ma...

1. A method, in a data processing system comprising a processor and a memory, for processing a corpus of information in a natural language processing system, the method comprising:receiving, by the data processing system, a user input specifying at least one author profile indicating authors whose content is to be ingested by a natural language processing system to perform natural language processing (NLP) operations based on ingested content;
generating, by the data processing system, a content profile for a portion of content of a corpus of information;
comparing, by the data processing system, the content profile to the at least one author profile at least by, for each author profile in the at least one author profile:
comparing each of one or more first features extracted from the content profile to corresponding ones of one or more second features extracted from the author profile;
calculating a degree of matching between the each of the one or more first features and corresponding ones of the one or more second features to determine a level of matching of the content profile with the author profile; and
comparing the level of matching with a predetermined threshold value; and
controlling an ingestion operation of the natural NLP system, for ingesting content from the corpus of information into a memory data structure for processing by the NLP system, based on results of comparing the level of matching with the predetermined threshold, wherein in response to results of the comparing of the level of matching with the predetermined threshold value indicating that the level of matching has a first relationship relative to the predetermined threshold, controlling the ingestion operation comprises not ingesting, by the NLP system, the portion of content, and wherein in response to results of the comparing of the level of matching with the predetermined threshold value indicating that the level of matching has a second relationship relative to the predetermined threshold, controlling the ingestion operation comprises ingesting the portion of content by the NLP system.

US Pat. No. 10,795,921

DETERMINING ANSWERS TO QUESTIONS USING A HIERARCHY OF QUESTION AND ANSWER PAIRS

International Business Ma...

1. A method comprising:generating a plurality of question and answer pairs, where the plurality of question and answer pairs includes at least a first answer paired to a first question and a second answer paired to a second question, where the second answer paired to the second question is a subset of the first answer paired to the first question;
identifying a hierarchy of question and answer pairs, where the first answer paired to the first question is at a root node in the hierarchy of question and answer pairs, and where the second answer paired to the second question is at a node below the root node in the hierarchy of question and answer pairs based, at least in part, on the second answer being a subset of the first answer;
receiving, by a question answering system, an input question from a first user, where the input question matches the first question;
identifying first user contextual information pertaining to the first user, where the first user contextual information indicates a desired answer length based on a screen size of a device used by the first user to submit the input question, the desired answer length being shorter than a length of the first answer; and
answering the input question with the second answer, by the question answering system, based, at least in part, on the hierarchy of question and answer pairs and the first user contextual information, where answering the input question with the second answer includes sending the second answer to the device used by the user to submit the input question.

US Pat. No. 10,795,920

INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND COMPUTER-READABLE STORAGE MEDIUM

NEC SOLUTION INNOVATORS, ...

1. An information processing device that processes a data structure that represents a set of points included in a multidimensional space, comprising:a search unit that, when a particular multidimensional region is specified as a query region, specifies regions that are expressed as portions shared between regions starting with feature value prefixes and regions starting with coordinate prefixes with respect to respective dimensions, and that are included in the query region, and outputs selected sections that are sections included in a data structure corresponding to the specified regions, the feature value prefixes being prefixes obtained from bit representations of feature values of the points, and the coordinate prefixes being prefixes obtained from bit representations of coordinates of the points with respect to a particular dimension; and
an aggregation unit that calculates information regarding a set of points included in the query region, by using the selected sections,
wherein the data structure is built such that the data structure is expressed by using a part of a bit representation of a subsequence obtained by, with respect to each dimension, extracting, using a coordinate sequence, only coordinates whose bit representations start with the same coordinate prefix, from the coordinate sequence with respect to the dimension, while maintaining the order, and such that a section included in the subsequence and satisfying a condition that bit representations of feature values of points corresponding to coordinates included in the section start with the feature value prefix can be specified, the coordinate sequence being obtained by, with respect to each dimension, taking out, from a feature value sequence, coordinates of the points with respect to the dimension in the same order as the feature values, and the feature value sequence being obtained by arranging the feature values of the set of points in the multidimensional space in ascending order, and
the search unit outputs, as the selected sections, sections included in the subsequence and satisfying: a condition that bit representations of feature values of points corresponding to coordinates included in the sections start with the feature value prefix; and a condition that a set of points corresponding to the coordinates included in the sections is entirely included in the query region.

US Pat. No. 10,795,919

ASSISTED KNOWLEDGE DISCOVERY AND PUBLICATION SYSTEM AND METHOD

Hamid Hatami-Hanza, Thor...

1. A method of knowledge discovery and publication or broadcasting comprising:identifying a subject matter;
designating at least one online shop, for publishing or broadcasting electronic contents, corresponding to the subject matter;
accessing or building a first collection of content corresponding to the subject matter,
building, using one or more data processing or computing devices, said one or more data processing or computing device having compound processing speeds of one thousand million or larger than one thousand million instructions per second, a first set of association value spectrums for one or more ontological subjects of the first collection of content by analyzing said first collection of content,
receiving an electronic content from a generator, related to the subject matter, through a data communication network, said data communication network carries, transmit, or transport data at the rate of 10 million bits per second or larger than 10 million bits per second,
building, using one or more data processing or computing devices, a second set of association value spectrums for one or more ontological subjects of the received electronic content by analyzing said received electronic content;
assigning, using one or more data processing or computing devices, a merit value to the received electronic content, by processing data of the second set of association value spectrums with data of the first set of association value spectrums, and
publishing or broadcasting the received electronic content in at least one of the at least one online shop or passing it for further review, based on the merit value of the received electronic content.

US Pat. No. 10,795,918

SIMPLIFIED FRONTEND PROCESSING AND VISUALIZATION OF LARGE DATASETS

Palantir Technologies Inc...

1. A method comprising:generating a first group of data objects based on a first object property, wherein generating the first group of data objects comprises identifying a subset of data objects from a larger group of data objects that are associated with a first object property;
generating second group of data objects based on a second object property, the second object property being different than the first object property, wherein generating the second group of data objects comprises identifying a second subset of data objects from the larger group of data objects that are associated with the second object property, the second group of data objects including at least one data object that is also included in the first group of data objects;
generating summary information that summarizes a relationship between the first group of data objects and the second group of data objects without including the second object property itself;
generating a visualization comprising a plurality of nodes including a first node that represents the first group of data objects and including the summary information; and
causing presentation of the visualization on a user interface of a user device of a user.

US Pat. No. 10,795,917

AUTOMATIC GENERATION OF REGULAR EXPRESSIONS FOR HOMOGENOUS CLUSTERS OF DOCUMENTS

salesforce.com, inc., Sa...

1. A computer implemented method for automatically generating regular expressions, the method comprising:receiving a first plurality of documents;
generating a first plurality of homogenous clusters using the first plurality of documents, wherein each of the first plurality of documents is included in only one of the clusters, wherein each of the clusters includes one or more of the documents and wherein the documents in each cluster share certain characteristics more closely with each other than the documents of the other clusters in the first plurality of clusters;
for each cluster in the first plurality of clusters:
selecting a single document from the cluster;
generating a first set of tokens from only the single document selected from the cluster, wherein an order of the tokens in the single document selected from the cluster is preserved in an order of the tokens in the first set of tokens;
identifying a second set of tokens in the first set of tokens that occur in each of the other documents in the cluster in the preserved order;
generating a regular expression for the cluster using the second set of tokens and the preserved order; and
providing the regular expressions for each of the first plurality of clusters to a document classifier.

US Pat. No. 10,795,916

TEMPORAL CLUSTERING OF SOCIAL NETWORKING CONTENT

FACEBOOK, INC., Menlo Pa...

1. A method comprising:identifying a set of digital content items based on each digital content item of the set of digital content items comprising a user-defined annotation, and wherein each digital content item is associated with a timestamp;
grouping the set of digital content items into randomized subsets of digital content items by generating groups of instances of the user-defined annotation based on randomizing timestamps associated with the set of digital content items over a defined period of time;
performing, by at least one processor and for each of the randomized subsets of digital content items, a first iteration of a clustering algorithm to identify one or more temporal clusters of the user-defined annotation for the set of digital content items by:
determining a time distance value; and
determining that timestamps within a range of timestamps are separated by less than the time distance value, wherein each of the one or more temporal clusters includes a threshold number of digital content items contained within the range of timestamps within the defined period of time; and
wherein performing the clustering algorithm further comprises classifying a group of digital content items outside a range of the one or more temporal clusters as noise;
grouping a reduced set of digital content items associated with timestamps having the user-defined annotation into reduced subsets of digital content items having the user-defined annotation;
performing, by the at least one processor and for each of the reduced subsets of digital content items, a second iteration of the clustering algorithm by performing the clustering algorithm on the group of digital content items classified as noise without considering any instances of the set of digital content items within the range of the one or more temporal clusters to identify one or more additional temporal clusters of the user-defined annotation for the reduced set of digital content items; and
determining that the user-defined annotation is periodic based on a time period between the one or more temporal clusters and the one or more additional temporal clusters.

US Pat. No. 10,795,915

SYSTEM AND METHOD FOR MERGING SLOWLY CHANGING DATA

IQVIA Inc., Parsippany, ...

1. A computer-implemented method comprising:accessing a first volume of multiple data records from a first data server managed by a first entity, the first volume covering a first period and including a first set of dimensions, each dimension labelled specifically to the first entity;
accessing a second volume of multiple data records from a second data server managed by a second entity that is different from the first entity, the second volume covering a second period and including a second set of dimensions, each dimension labelled specifically to the second entity, and the second period overlapping the first period during an overlapping period;
identifying a plurality of candidate data records keyed by a plurality of managed keys, wherein each of the plurality of managed keys spans a subset of dimensions included by the first volume and the second volume, and wherein at least one dimension from the subset of dimensions is labelled differently between the first volume and the second volume;
determining that a managed key from the plurality of managed keys is valid based on a comparison of the plurality of candidate data records from the first volume with the plurality of candidate data records from the second volume, wherein the plurality of candidate data records from the first volume and the plurality of candidate data records from the second volume both cover the overlapping period; and
consolidating the first volume with the second volume by joining the plurality of candidate data records from the first volume with the plurality of candidate data records from the second volume according to the valid managed key such that the plurality of candidate data records from the first volume and the plurality of candidate data records from the second volume keyed by the valid managed key are merged and accessible as one continuous entry.

US Pat. No. 10,795,914

QUERY PLANS FOR ANALYTIC SQL CONSTRUCTS

Snowflake Inc., San Mate...

1. A non-transitory computer-readable medium storing instructions which, when executed by one or more third processors of a computing device, cause the computing device to:receive a query for information stored in one or more databases;
access an execution plan comprising one or more steps on a set of data referenced by the query;
initiate, within a first processor, a first parallel execution process in the execution plan to process the set of data and generate an intermediate result of a query;
push, by the first processor, during execution of the query plan, the intermediate result to a plurality of second processors in the query plan for processing by the plurality of secondary parallel execution processes within the plurality of second processors, wherein each of the first processor and the plurality of second processors decoupled from a disk storage;
initiate each of the plurality of secondary parallel execution processes with the plurality of second processors to process the intermediate result to generate a plurality of second results; and
store a final result to disk storage within a storage platform.

US Pat. No. 10,795,913

SYNCHING AND READING ARRANGEMENTS FOR MULTI-REGIONAL ACTIVE/ACTIVE DATABASES

Capital One Services, LLC...

1. An active-active multi-region database system comprising:a first server arrangement comprising memory and one or more processors;
a second server arrangement comprising memory and one or more processors;
an active first region database, implemented on the first server arrangement, provided for a first geographical region, actively accessible by a first-region application both to service data requests to output first read data from the first-region database, and to write first-region data to the first-region database;
a first database replica, implemented on the second server arrangement, provided for a second geographical region which is remote from the first geographical region, the first database replica being accessible by a replicator to copy the first-region data written to the first-region database, into the first database replica;
an active second region database, implemented on the second server arrangement, provided for the second geographical region, actively accessible by a second-region application at a same time that the first region database is actively accessible by the first region application, both to service data requests to output second read data from the second region database, and to write second-region data to the second-region database, and accessible by a second-region copy utility to copy the first-region data from the first database replica into the second-region database, as dictated by a second-region cadence;
a second database replica, implemented on the first server arrangement, provided for the first geographical region, accessible by the replicator to copy the second-region data written to the second-region database into the second database replica;
wherein the first-region database is further accessible by a first-region copy utility to write the second-region data from the second database replica into the first-region database, as dictated by a first-region cadence;
wherein the second database replica is further accessible by the replicator to copy the first-region data from the second-region database into the second database replica, and the first database replica is further accessible by the replicator to copy the second-region data from the first-region database into the first database replica;
a first-region non-transitory storage medium provided for the first geographical region, to store information indicating that the first-region data copied from the second-region database into the second database replicator, is data previously written to the first region database;
a second-region non-transitory storage medium provided for the second geographical region, to store information indicating that the second-region data copied from the first-region database into the first database replicator, is data previously written to the second region database;
wherein the first-region copy utility references the information from the first-region non-transitory storage medium to not copy the first-region data from the second database replica into the first-region database; and
wherein the second-region copy utility references the information from the second-region non-transitory storage medium to not copy the second-region data from the first database replica into the second-region database.

US Pat. No. 10,795,912

SYNCHRONIZING A FORWARDING DATABASE WITHIN A HIGH-AVAILABILITY CLUSTER

Fortinet, Inc., Sunnyval...

1. A method comprising:receiving, by an internal switch running on a primary virtualized network security device, a packet via a sub-interface of a physical Ethernet interface of the primary virtualized network security device, wherein the sub-interface is assigned a media access control (MAC) address based on a MAC address of the physical Ethernet interface, and wherein the primary virtualized network security device and a secondary virtualized network security device are part of a high-availability (HA) cluster;
causing, by the internal switch, a first forwarding database maintained by the primary virtualized network security device within a kernel space of a first network security operating system running on the primary virtualized network device to learn or update an association between a source MAC address of the packet and the sub-interface by storing an entry in the first forwarding database containing the source MAC address and information regarding the sub-interface; and
performing real-time synchronization of the first forwarding database and a second forwarding database maintained by the secondary virtualized network security device within a kernel space of a second network security operating system running on the secondary virtualized network security device by responsive to the learned or updated association:
transferring, via a first interprocess communication (IPC) interface of the first network security operating system, information regarding the entry from the kernel space of the first network security operating system to a first synchronization process running within a user space of the first network security operating system, wherein the first IPC interface comprises a first socket established between a process in the kernel space of the first network security operating system and the first synchronization process; and
causing, by the first synchronization process, the second forwarding database to be updated by responsive to receipt of the information regarding the entry, by transmitting, via a host-to-host communication service, the information regarding the entry to a second synchronization process running within a user space of the second network security operating system.

US Pat. No. 10,795,911

APPARATUS AND METHOD FOR REPLICATING CHANGED-DATA IN SOURCE DATABASE MANAGEMENT SYSTEM TO TARGET DATABASE MANAGEMENT SYSTEM IN REAL TIME

DataStreams Corp., Seoul...

1. A method of replicating changed-data in a source database management system to a target database management system in real time, the method comprising:(a) confirming an existence of a synchronization target log in a source server when log file synchronization is preliminarily prepared;
(b) performing synchronization error processing when the synchronization target log is not found in the source server in step (a), or establishing a synchronization network connection between the source server and a target server through a log synchronization process when the synchronization target log exists in the source server;
(c) transmitting changed-data of a redo log file and an archive log file in a log file format from the source server to the target server;
(d) generating a synchronization network error event through network monitoring when the synchronization network connection to the target server is not established in a state that log replication is preliminarily prepared;
(e) performing the log synchronization process when the synchronization network connection to the target server is established;
(f) when the log synchronization process is normally performed in step (e), analyzing a log synchronization type in the target server and receiving the changed-data to synchronize the changed-data through a replication process when the log synchronization type is a log synchronization file; and
(g) receiving entire changed-data and storing the entire changed-data in a memory when the log synchronization type analyzed in the target server is not the log synchronization file,
wherein step (a) comprises:
(a1) setting a real application cluster (RAC) node for an Oracle replication target;
(a2) checking completion of the preliminary preparation for the replication;
(a3) creating a log replication list management table and executing synchronization for entire redo logs when the preliminary preparation for the replication is not completed;
(a4) checking a recovery time-point after the preliminary preparation for the replication is completed or after the synchronization for the entire redo logs is executed; and
(a5) setting a current time-point log file synchronization mode when it is not the recovery time-point, or setting a past time-point log file synchronization mode when the recovery time-point is confirmed, as a result of checking the recovery time-point.

US Pat. No. 10,795,910

ROBUST COMMUNICATION SYSTEM FOR GUARANTEED MESSAGE SEQUENCING WITH THE DETECTION OF DUPLICATE SENDERS

SYBASE, INC., Dublin, CA...

1. A method for synchronization between a first database and a second database, comprising:maintaining first state information associated with the first database at the first database, the first state information including a current session identifier representing a current communication session between the first database and the second database and a previous session identifier representing a previous communication session between the first database and the second database, wherein second state information associated with the first database is maintained at the second database, the second state information including a session identifier associated with either the current communication session or the previous communication session based on whether the current communication session is in progress between the first database and the second database;
sending, to the second database, a message including the first state information and changed rows, within the current communication session, between the first database and the second database since a last synchronization of the previous communication session;
receiving, from the second database, a status of the last synchronization, wherein the status indicates whether a synchronization error is detected, and wherein the synchronization error is generated when a synchronization request is received at the second database from a duplicated first database, and the synchronization error is detected by the second database based on a comparison of the previous session identifier, from the first state information, with the current session identifier, from the second state information; and
without waiting for a response from the second database, applying, based on the message, the changed rows between the first database and the second database upon determining that the status is free from the synchronization error.

US Pat. No. 10,795,909

MINIMIZED AND COLLAPSED RESOURCE DEPENDENCY PATH

PALANTIR TECHNOLOGIES INC...

1. A method of generating an interactive graphical user interface, the method comprising:accessing resource dependency data indicating resource dependency information among a plurality of data items;
determining a dependency graph based on the resource dependency information, wherein the dependency graph includes:
nodes corresponding to each data item of the plurality of data items, and
connections among the nodes based at least in part on the resource dependency data, wherein each connection represents a dependency relationship indicating one or more parent or child relationships between the nodes;
automatically displaying the dependency graph in a first portion of a graphical user interface, wherein the nodes of the dependency graph are selectable, and wherein the connections are represented by lines connecting the nodes;
receiving a user selection, in the first portion of the graphical user interface, of a selected node of the dependency graph;
in response to the user selection, generating a resource dependency toolbar representing root nodes, intermediary nodes, and leaf nodes associated with the selected node, wherein generating comprises:
identifying, based on the resource dependency data, within the dependency graph:
path data nodes having a direct or indirect association with the selected node;
root nodes of the path data nodes, the root nodes each having a parent relationship to the selected node and not depending on any other node;
leaf nodes of the path data nodes, the leaf nodes each having a child relationship to the selected node and not having any child dependencies; and
intermediary nodes of the path data nodes, the intermediary nodes including:
path data nodes between the root nodes and the selected node, not including the root nodes or selected node;
path data nodes between the leaf nodes and the selected node, not including the leaf nodes or selected node; and
the selected node, as long as the selected node is not a root node or leaf node; and
further in response to the user selection, automatically displaying the resource dependency toolbar in a second portion of the graphical user interface, wherein the resource dependency toolbar includes:
a root indicator of a quantity of the identified root nodes;
an intermediary indicator of a quantity of the identified intermediary nodes;
a leaf indicator of a quantity of the identified leaf nodes; and
a selection indicator indicating that the selected node is currently selected, wherein the selection indicator is displayed at a position relative to the root indicator, the intermediary indicator, and the leaf indicator, the relative display position of the selection indicator changes based on whether the selected node is a root node, an intermediary node, or a leaf node;
wherein the dependency graph and the resource dependency toolbar are displayed simultaneously in the graphical user interface, and are updated automatically based on one or more user selections of other nodes of the dependency graph; and
wherein the method is performed using one or more processors.

US Pat. No. 10,795,908

NESTED SORTING OF DATA MARKS IN DATA VISUALIZATIONS

Tableau Software, Inc., ...

1. A method comprising:at a computer having a display, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:
displaying a user interface on the display, wherein the user interface comprises (i) a schema information region containing a plurality of data fields and (ii) a data visualization region having a plurality of shelves;
receiving user actions to (i) associate a first data field of the plurality of data fields with a first shelf of the plurality of shelves and (ii) associate a second data field and a third data field of the plurality of data fields with a second shelf of the plurality of shelves, wherein the second data field is positioned at an outer-most position on the second shelf and the third data field is positioned at an inner-most position on the second shelf;
receiving, via an affordance displayed in the data visualization region, an additional user action to specify a nested sort operation according to data for the first data field and the third data field;
in response to the additional user action, generating and displaying a first data visualization in the data visualization region in accordance with the user actions and the additional user action, including:
partitioning retrieved data into groups of tuples, each tuple including data for the first, second, and third data fields, wherein each group of tuples corresponds to a respective distinct value of the second data field;
forming a plurality of panes, each pane corresponding to a respective group of tuples; and
within each pane, displaying a sorted set of data marks, each data mark corresponding to a respective tuple in the respective group of tuples, wherein the sorted set of data marks is sorted according to data values for the first data field in the respective tuples;
receiving a second additional user action to associate a fourth data field of the plurality of data fields with the second shelf, thereby arranging the fourth data field at the inner-most position on the second shelf instead of the third data field; and
in response to receiving the second additional user action, generating and displaying a second data visualization in the data visualization region, including:
repartitioning retrieved data into subgroups of tuples, each tuple including data for the first, second, third, and fourth data fields, wherein each subgroup of tuples corresponds to a respective distinct combination of values of the second and third data fields;
forming a plurality of subpanes, each subpane corresponding to a respective subgroup of tuples; and
within each subpane, displaying a respective plurality of data marks, each data mark corresponding to a respective tuple in the respective subgroup of tuples, wherein displaying the respective plurality of data marks comprises displaying the respective plurality of marks in order according to data values for the first data field in the respective tuples.

US Pat. No. 10,795,907

MANAGEMENT OF DATA SOURCES IN DATABASE SYSTEM

SAP SE, Walldorf (DE)

1. A computer implemented method for managing data sources, the method comprising:receiving one or more requests at an interface of an application from a user to establish a remote connection;
transferring the one or more requests from the interface to a back-end module of the application to request data corresponding to establishing the remote connection;
receiving one or more remote system types from the back-end module;
receiving user selection of a data source from the one or more remote system types;
generating a connection to the selected data source based on a set of parameters for the connection, wherein the set of parameters are uniquely related to a type of the selected data source and wherein the set of parameters comprises:
common configuration parameters applicable to all data sources; and
connection specific parameters applicable to a particular connection;
after generating the connection to the selected data source:
receiving, by the interface, data source groups of a plurality of data sources from the back end module, wherein the groups comprise a group for data sets that are local to the application platform, a group for data sets that have been imported from a remote source, and a group for remote sources that are connected to the application platform;
displaying, by the interface, a selectable option corresponding to each data source group for navigation of the data source group;
receiving user selection of a data source group;
receiving a plurality of second user selections of a hierarchy of data sets of the selected data source group, the plurality of user selections comprising one or more requests for one or more hierarchy levels and one or more requests for editing one or more entities stored in the data sets;
transferring the plurality of second user selections from the interface to the back-end module of the application, wherein the one or more requests for one or more hierarchy levels are associated with location information for the one or more requested hierarchy levels from the hierarchy of the data sets, wherein the location information is displayed at the interface, and wherein the one or more requests for editing one or more entities cause the back-end module to edit the one or more entities based on the editing request;
in response to receiving the requests for one or more hierarchy levels, receiving one or more responses from the back-end module of the application, wherein the one or more responses comprises metadata for a plurality of data sets from a requested hierarchy level; and
generating, by the interface, one or more browsing options to receive an additional user selection of a data set from the hierarchy of data sets of the selected data source group based on the received one or more responses.

US Pat. No. 10,795,906

TRANSACTION TRACKING

Hostbridge Technology, LL...

1. A computer-implemented method for tracking a consumer transaction from a non-mainframe environment into a Customer Information Control System (CICS) mainframe environment comprising:receiving a transaction request from a non-mainframe application server over a network;
detecting the arrival of a transaction request from a non-mainframe application server over a network via a Listener process;
initiating the execution of an Initial User Task (IUT) to oversee the execution of an Initial User Program (IUP);
transferring control to an Extractor process, which is defined to CICS as a Task Related User Exit (TRUE) that is to be given control when any task starts (CICS Start of Task TRUE), wherein the extraction step occurs after the initiation of the IUT but prior to the IUT initiating execution of the IUP;
wherein the extraction step includes:
determining if the transaction request is an HTTP request, if the transaction request is an HTTP request then checking the Program Name and Transaction ID associated with the request against a database containing Program Names and Transaction IDs associated with HTTP requests;
determining if the transaction request includes Request Correlation Data (RCD), wherein the HTTP Headers associated with the request are checked against a database containing HTTP Header Names that can carry RCD, based upon the request being an HTTP request;
extracting the RCD from the transaction request, based upon the request including RCD;
initiating the execution of an IUT Annotator process;
transferring control to CICS for completion of the transaction, wherein the transference step occurs after completion of the annotation step;
wherein the annotation step includes:
identifying the XMT_XN control block associated with the transaction;
using the XMT_XN control block to locate the Association Data Control Block (ADCB) associated with the transaction;
locating the Origin Data Record (ODR) within the ADCB;
validating the ODR;
updating the ODR by annotating the RCD associated with the transaction;
setting the ODR Update Flag indicating that the ODR has been updated with the RCD;
using the XMT_XN control block to locate the XMT_MA control block associated with the transaction;
updating the XMT_MA control block by annotating the RCD associated with the transaction;
returning control to the Extractor process;
completing the consumer transaction within the CICS mainframe environment, wherein the completion step occurs after completion of the extraction and annotation steps.

US Pat. No. 10,795,905

DATA STREAM INGESTION AND PERSISTENCE TECHNIQUES

Amazon Technologies, Inc....

1. A system, comprising:one or more computing devices of a stream management service comprising one or more processors and memory and configured to:
receive, from a client of the stream management service, a selection of a data ingestion policy for a particular data stream from among a plurality of data ingestion policies, wherein the data ingestion policies comprise different respective policies for obtaining records from one or more producers;
receive, from the client of the stream management service, a selection of a data persistence policy for the particular data stream from among a plurality of data persistence policies, wherein the data persistence policies comprise different respective policies for storing the records obtained from the one or more producer;
obtain respective data records of the particular data stream from the one or more producers at one or more data ingestion nodes in accordance with the selected data ingestion policy; and
subsequent to the obtaining of the respective data records of the particular data stream from the one or more producers at the one or more data ingestion nodes in accordance with the selected data ingestion policy, store the obtained data records of the particular data stream at one or more data storage nodes in accordance with the selected data persistence policy.

US Pat. No. 10,795,904

OBJECT SEARCH ON PARTIAL DATA RECEIVED FROM EXTERNAL SYSTEM

SAP SE, Walldorf (DE)

1. A system comprising:one or more hardware processors configured to perform operations comprising:
receiving a first payload in a first electronic communication, the first payload containing localization information regarding a first node in a taxonomy of objects, categories, and characteristics, the localization information including information about an object, category, or characteristic corresponding to the first node;
parsing the first payload to identify one or more dependencies among two or more of the objects, categories, or characteristics;
for each of the one or more dependencies:
creating a dummy node, corresponding to the dependency, in the taxonomy, the dummy node containing information about the dependency identified in the first payload; and
providing a search mechanism to a graphical user interface, the search mechanism configured to receive user interactions from a user and cause the one or more hardware processors to retrieve and cause display of information in one or more of the dummy nodes in the taxonomy.

US Pat. No. 10,795,903

METHOD AND SYSTEM FOR DETERMINING DATA USAGE BEHAVIOR IN A DATABASE SYSTEM

DataVard GmbH, Heidelber...

1. A computer system for determining data usage behavior in a database system wherein an application uses a plurality of tables stored in at least one database system and each table includes one or more fields, the computer system comprising:an interface component configured to receive, from one or more applications, a plurality of SQL queries, wherein the SQL queries have data selection conditions to access data stored in the at least one database system, the interface component being further configured to receive one or more characteristics, wherein each characteristic relates to one or more respective fields;
a data storage component configured to store the received SQL queries;
an initialization component configured to determine one or more data usage categories, wherein a data usage category is based on one or more characteristics values in stored data records, the one or more characteristics values corresponding to one or more stored field values of the one or more respective fields;
a data usage analyzer component configured to analyze at least one of the stored SQL queries by:
comparing the data selection condition of the at least one stored SQL query with the determined one or more data usage categories by adjusting the at least one stored SQL query to transform the at least one stored SQL query into an SQL statement being adapted to retrieve distinct field values of the one or more respective fields associated with the received one or more characteristics while maintaining the remainder of the selection condition of the at least one stored SQL query, and applying the adjusted SQL query to the database; and
if the data selection condition of the at least one stored SQL query indicates at least one query access to the stored data records including field values in accordance with a particular data usage category, incrementing a data usage counter associated with the particular data usage category matching a selection condition of a particular SQL query launched by at least one of the one or more applications;wherein the interface component further comprises a display configured to prompt a user with the data usage counter values associated with the respective data usage categories to initiate a corrective action for the database system.

US Pat. No. 10,795,902

APPLYING NATURAL LANGUAGE PRAGMATICS IN A DATA VISUALIZATION USER INTERFACE

Tableau Software, Inc., ...

1. A method of using natural language for visual analysis of a dataset, comprising:at computer having a display, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:
displaying a data visualization based on a first dataset retrieved from a database using a first set of one or more queries;
receiving a first user input to specify a first natural language command related to the data visualization;
extracting a first set of one or more independent analytic phrases from the first natural language command;
computing a first set of one or more conversation centers associated with the first natural language command based on the first set of one or more analytic phrases;
creating a first set of one or more functional phrases by computing a first set of analytical functions associated with the first set of one or more conversation centers;
updating the data visualization based on the first set of one or more functional phrases;
determining whether a widget corresponding to a first variable has been removed by the user, wherein each of the conversation centers of the first set of one or more conversation centers comprises a value for the first variable that specifies either a data field attribute or a data visualization property;
in accordance with the determination that the widget has been removed, applying a SHIFT rule for including each conversation center in the first set of one or more conversation centers in a second set of one or more conversation centers, and replacing the value for the first variable in the second set of one or more conversation centers with a new value that includes the first value;
creating a second set of one or more functional phrases by computing a second set of analytical functions associated with the second set of one or more conversation centers; and
updating the data visualization based on the second set of one or more functional phrases.

US Pat. No. 10,795,901

GENERIC ENTRY AND EXIT NETWORK INTERFACE SYSTEM AND METHOD

JPMORGAN CHASE BANK, N.A....

1. A computer-implemented method for providing data services for a user via a bidirectional network interface, wherein the user is a client of a financial institution, the financial institution provides data services to the client via an application programming interface (API), and the API enables the client to transmit client-specific data to the financial institution, the method comprising:exposing to the user, via the API, data services which have been made available electronically to the user, wherein the data services are invoked with a query comprising a set of parameters;
enabling the user, with the API, to electronically transmit client-specific data to a client managed data store maintained as part of a reference data store in a data sources layer;
storing the client-specific data in the client managed data store;
electronically mapping, using information stored in a metadata store maintained by the financial institution, the client-specific data to one or more of the data services provided by the financial institution;
enabling the user to specify, via the API, a presentation mode for a data set returned by the query, wherein the presentation mode comprises: (a) a standard mode in which the data set provided by the financial institution is presented electronically to the user in a standard view of the financial institution, (b) a custom mode in which one or more client-specific data elements replace one or more business-specific data elements in the returned data set; and (c) a hybrid mode in which both client-specific data elements and business-specific data elements are presented in the returned data set; and
electronically presenting the returned data set to the user in the presentation mode selected by the user.

US Pat. No. 10,795,900

REAL TIME ANALYSES USING COMMON FEATURES

Twitter, Inc., San Franc...

1. A method performed by one or more computers, the method comprising:receiving a content recommendation request for a first account holder of a messaging system, the messaging system storing historical engagement data of engagements by account holders with content made accessible by the messaging system, each engagement being an engagement of a respective engagement type recorded by the messaging system;
accessing a set of pairs of factor matrices, including:
an engagement-specific pair of factor matrices UE and VE each comprising engagement-specific parameter values computed from training examples of only a first engagement type, wherein the engagement-specific matrices each define a respective engagement-specific vector of values for each of a plurality of account holders, wherein an engagement-specific dot product dot(UE(j),VE(i)) for account holders i and j is the dot product of the vector UE(i) for account holder i and the vector VE(j) for the account holder j, and
a general pair of factor matrices U and V each comprising general parameter values computed from training examples of a plurality of engagement types comprising the first engagement type and one or more other engagement types, wherein the general matrices each define a respective general vector of values for each of a plurality of account holders, wherein a general dot product dot(U(i),V(j)) for account holders i and j is the dot product of the vector U(i) for account holder i and the vector V(j) for the account holder j;
accessing data representing a plurality of historical engagements of the first engagement type performed by account holders of the messaging system other than the first account holder;
determining, for each of the accessed historical engagements, a respective predicted likelihood that the first account holder will perform a new engagement of the first engagement type with content associated with the accessed historical engagement, each accessed historical engagement being associated with a respective second account holder, including:
computing a general engagement score, for each of a plurality of second account holders, from the general dot product for the first account holder and the respective second account holder,
computing an engagement-specific score for the first engagement type, for each of the plurality of second account holders, from the engagement-specific dot product for the first account holder and the respective second account holder, and
computing, for each of the plurality of second account holders, the predicted likelihood of engagement for the first engagement type from a sum of the general engagement score for the plurality of engagement types and the engagement-specific score for the first engagement type;
selecting one or more content items associated with respective historical engagements of the plurality of historical engagements based on the respective computed predicted likelihood of engagement for the first engagement type; and
responding to the content recommendation request with the selected one or more content items.

US Pat. No. 10,795,899

DATA DISCOVERY SOLUTION FOR DATA CURATION

PRAXI DATA, INC., Hillsb...

1. A method of generating a set of candidate patterns corresponding a search query, wherein the set of candidate patterns are selected from a plurality of validated patterns that associate a plurality of tags to a plurality of datasets discovered from one or more data sources, and wherein the plurality of validated patterns are generated using a crowdsource-based game application with a plurality of players, the method comprises:A) estimating computing resources to be allocated to a job that profiles the one or more data sources based on any of: i) information in one or more configuration files indicative of computing resource allocation in the one or more data sources, ii) a count of the one or more data sources, or iii) a record of a previous profiling job, wherein the job uses a scalable parallelization scheme to extract the plurality of datasets, wherein the plurality of datasets represent technical metadata of a plurality of files existing in the one or more data sources;
B) performing said job for profiling the one or more data sources by:
dividing said job into a plurality of subtask chunks;
creating a subtask configuration file for each subtask chunk, wherein the subtask configuration files include:
information for service connection to each of the one or more data sources;
parallelization parameters; and
memory usage;
processing the subtask chunks using a plurality of paralleled workers, wherein each paralleled worker is a continuous delivery pipeline deployed in a container or a virtual machine of the one or more data sources;
outputting the plurality of datasets from the one or more data sources via the paralleled workers; and
storing the plurality of datasets in a database configured to send the plurality of datasets to the crowdsource-based gaming application for pattern matching and pattern validation;
C) generating a plurality of unvalidated patterns from the plurality of datasets using a matcher game component of the gaming application by:
identifying a first player of the plurality of players to transmit a matcher game question, wherein the matcher game question is configured to solicit a player-response that matches a dataset from the plurality of datasets to a tag from the plurality of tags to establish an unvalidated pattern of the plurality of unvalidated patterns;
transmitting the matcher game question to the first player via a first corresponding gaming application;
receiving the unvalidated pattern from the first player via the first corresponding gaming application; and
storing the unvalidated pattern to the database;
D) validating the plurality of unvalidated patterns using a validator game component of the gaming application with the plurality of players by:
identifying a second player of the plurality of game players to transmit a validator game question to based on a reliability rating of the second player, wherein the reliability rating of the second player is based a previous history of responses to test questions by the second player, and wherein the validator game question is configured to solicit a player-response that confirms or rejects the unvalidated pattern;
transmitting the validator game question to the second player via a second corresponding gaming application;
receiving confirmation from the second player regarding the unvalidated pattern via the second corresponding gaming application;
after receiving a threshold number of confirmations from among the plurality of game players including the second player, establishing a first validated pattern that confirms the unvalidated pattern; and
storing the first validated pattern with the plurality of validated patterns;
E) receiving the search query from a user via a search engine in a front-end interface; and
F) generating a plurality of candidate patterns corresponding the search query by:
filtering out a first subset of validated patterns of the plurality of validated patterns that do not match a data type of the search query to establish a set of preliminary candidate patterns;
reducing a search score of a second subset of validated patterns of the set of preliminary candidate patterns that match a blacklisted pattern associated with the search query by a first amount, wherein the first amount is dynamically determined by a variable user-validation metric;
increasing a search score of a third subset of validated patterns of the set of preliminary candidate patterns that match a whitelisted pattern associated with the search query by a second amount, wherein the second amount is dynamically determined by the variable user-validation metric;
increasing a search score of a fourth subset of validated patterns of the set of preliminary candidate patterns that match the search query to any of a plurality of technical metadata of the datasets associated with the fourth subset of validated patterns by a third amount, wherein the third amount is dynamically determined by the variable user-validation metric;
increasing a search score of a fifth subset of validated patterns of the set of preliminary candidate patterns based on a comparison of the search query to a plurality of normalized field names of the datasets corresponding the validated patterns of the set of preliminary candidate patterns;
establishing the set of candidate patterns as a subset of the validated patterns of the set of preliminary candidate patterns; and
listing the set of candidate patterns in the front-end interface, wherein the set of candidate patterns include a subset of the validated patterns of the set of preliminary candidate patterns ranked according to corresponding search scores of the validated patterns.

US Pat. No. 10,795,898

RANK-BASED CALCULATION FOR KEYWORD SEARCHES

International Business Ma...

1. A computer system for keyword searching, the computer system comprising:one or more computer processors;
one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to collect user information associated with a keyword search, wherein the user information comprises object search information, holding time information, and selecting time information;
program instructions to store the collected user information associated with the keyword search in a memory;
program instructions to receive an indication of a search of content for at least one keyword;
program instructions to determine whether the at least one keyword is associated with the collected user information associated with the keyword search in the memory; and
program instructions to, responsive to determining that the at least one keyword is associated with the collected user information associated with the keyword search in the memory, calculate a rank for the at least one keyword.

US Pat. No. 10,795,897

TECHNIQUES FOR QUERYING USER PROFILES USING NEURAL NETWORKS

Microsoft Technology Lice...

1. A computer-implemented method comprising:for each one of a plurality of user profiles stored on a database of an online service, retrieving, by a first neural network, profile data of the one of the plurality of user profiles from the database of the online service;
for each one of the plurality of user profiles, generating, by the first neural network, a profile vector representation based on the retrieved profile data of the one of the plurality of user profiles;
storing the profile vector representations of the plurality of user profiles in the database of the online service;
receiving, by a computer system having a memory and at least one hardware processor, a query from a computing device of a querying user subsequent to the storing of the profile vector representations, the query comprising query data, the query data comprising at least one of query text or facet selection data;
generating, by a second neural network distinct from the first neural network, a query vector representation for the query based on the query data of the query in response to the receiving of the query;
retrieving, by the computer system, the stored profile vector representations of the plurality of user profiles from the database of the online service based on the receiving of the query;
for each one of the plurality of user profiles, generating, by a third neural network distinct from the first neural network and the second neural network, a corresponding score for a pairing of the one of the plurality of user profiles and the query based on a determined level of similarity between the profile vector representation of the one of the plurality of user profiles and the query vector representation;
ranking the plurality of user profiles based on their corresponding scores; and
causing, by the computer system, an indication of at least a portion of the plurality of user profiles to be displayed on the computing device as search results for the query based on the ranking of the plurality of user profiles.

US Pat. No. 10,795,896

SYSTEMS AND METHODS FOR AUTOMATICALLY IDENTIFYING SPECIFIC TEAMS OF USERS TO SOLVE SPECIFIC AND REAL-TIME PROBLEMS

Northwestern University, ...

1. A system for logically arranging users of a social networking platform into groups comprising:a computing device to:
execute a query to generate a recommendation of a group of users capable of resolving a problem, the group of users identified from a plurality of users active in a social network deployed within a communications network, the query comprising:
a set of preferences corresponding the problem; and
information defining at least one of a skill and an expertise for each user of the plurality of users; and
based on the set of preferences corresponding the problem and the information defining the at least one of the skill and the expertise for each user of the plurality of users, calculate a score for each user of the plurality of users by:
determining the information defining the at least one of the skill and the expertise for a user based on the query:
determining a weighting for the determined information based on the set of preferences,
calculating intermediate scores for each user in the plurality of users for each preference in the set of preferences; and
calculating the score for each user in the plurality of users based on the calculated intermediate scores for the user;
based on the score of each user of the plurality of users, include respective users in the group of users; and
cause the recommendation of the group of users to be displayed in real-time in a graphical user-interface at a client device.

US Pat. No. 10,795,895

BUSINESS DATA LAKE SEARCH ENGINE

EMC IP Holding Company LL...

1. A method comprising:obtaining a directed graphical structure representing a plurality of tables of a Business Data Lake, where each node in the directed graphical structure represents one of said tables and edges between the nodes represent connections established by foreign keys in the tables, wherein a foreign key in a first table identifies a row of one or more of another table and the first table;
applying a node rank algorithm to the directed graphical structure to determine a relevancy score of the tables based on a number of links to or from other tables;
in response to a query, performing the following steps:
ranking a relevancy of one or more items in the query based on a term frequency-based score to generate candidate results;
extracting a candidate sub-graph from the directed graphical structure based on one or more of the following: a top-L tables based on the term frequency-based score, and a top-M tables based on a topic model distance score for the given query and items in candidate results;
enriching the extracted candidate sub-graph by adding one or more tables not previously in the extracted candidate sub-graph using an item-to-item collaborative filter where a similarity value between two tables is measured based on a number of interactions with the two tables by a plurality of users of the Business Data Lake that have interacted with the two tables; and
ordering the tables in the enriched extracted candidate sub-graph based on one or more of the relevancy score generated by the node rank algorithm and a user-to-item collaborative filter that evaluates past interactions of the users with prior search results.

US Pat. No. 10,795,894

HYBRID FACET COUNTING USING DIFFERENT SAMPLING RATES

Microsoft Technology Lice...

1. A computer-implemented method comprising:receiving, via a user interface, a search query;
obtaining first search results to the search query from a database;
displaying, in the user interface, a first set of results from the first search results;
displaying, in the user interface, a plurality of facets of the first search results, each facet including one or more selectable filters, each facet corresponding to a different type of information in the first search results, and each selectable filter corresponding to a particular value for a type of information corresponding to its facet;
retrieving a sampling scheme, the sampling scheme defining a first sampling rate for a first quantity of a single set of search results and a second sampling rate for a second quantity of the single set of search results, the first sampling rate defining a first frequency at which search results are sampled and the second sampling rate defining a second frequency, different that the first frequency, at which search results are sampled, wherein sampling involves examining some search results in a given quantity while ignoring other search results in the given quantity;
for a first quantity of the first search results, sampling the first quantity of the first search results at the first sampling rate, thereby examining some search results in the first quantity while ignoring other search results in the first quantity, and for each examined search result in the first quantity, causing an increase in a first facet count for a facet and/or selectable filter having a matching value in the examined search result in the first quantity of the first search results;
increasing the first facet count for the facet and/or selectable filter having a matching value by a factor inverse to the first sampling rate;
for a second quantity of the first search results, sampling the second quantity of the first search results at the second sampling rate, thereby examining some search results in the second quantity while ignoring other search results in the second quantity, and for each examined search result in the second quantity, causing an increase in a facet count for a facet and/or selectable filter having a matching value in the examined search result in the first quantity of the first search results;
increasing the second facet count for the facet and/or selectable filter having the matching value by a factor inverse to the second sampling rate;
adding the first facet count to the second facet count to arrive at a final facet count for the facet and/or selectable filter having the matching value;
displaying, in the user interface, the final facet count for the facet and/or selectable filter having the matching value.

US Pat. No. 10,795,893

SYSTEMS AND METHODS FOR ALLOCATING CAPITAL TO TRADING STRATEGIES FOR BIG DATA TRADING IN FINANCIAL MARKETS

Capitalogix IP Owner, LLC...

1. A method for allocating capital to trading strategies comprising:generating a virtual machine by a master virtual machine server for a trading strategy in a historical server;
obtaining historical performance data for the trading strategy from the historical server;
transforming by the virtual machine the historical performance data into metrical data;
transforming by the virtual machine the historical performance data and metrical data into a neural network usable data set;
creating by the virtual machine a neural network base;
forming by the virtual machine a neural network; further comprising the virtual machine and the historical server comprising separate entities, the virtual machine being generated and dedicated for a specific trading strategy;
training by the virtual machine neural network for one or more data points;
calculating by the virtual machine an error rate for the one or more data points until the error rate stops converging or cannot converge;
saving by the virtual machine the neural network;
testing by the virtual machine the saved neural network against updated metrical and historical data;
training by the virtual machine the saved neural network;
saving by the virtual machine the neural network as a binary object;
transmitting by the virtual machine the binary object to the historical server;
activating by a fusion server the neural network; and
obtaining by the fusion server historical metrical and historical performance data.

US Pat. No. 10,795,892

EVALUATING COLLIDING DATA RECORDS

AMERICAN EXPRESS TRAVEL R...

1. A method, comprising:generating, by a computing device, a candidate data set comprising data values from a data input and a stored data, a timestamp corresponding to individual ones of the data values from the data input and the stored data, and at least two data candidates, wherein each data candidate comprises a unique identifier, a permutation of the data values from the data input and the stored data, and data indicating a data source of the individual ones of the data values from the data input and the stored data;
determining, by the computing device, that the permutation of the data values from the data input and the stored data comprises a logical combination of respective ones of the data values from the data input and the stored data;
evaluating, by the computing device, each data candidate based on at least one evaluation factor;
generating, by the computing device, a candidate record score for each data candidate, wherein the candidate record score is based on the evaluation; and
evaluating, by the computing device, the candidate record score for each data candidate to determine the data candidate having a greatest candidate record score.

US Pat. No. 10,795,891

DATA DEDUPLICATION FOR EVENTUAL CONSISTENCY SYSTEM AND METHOD

Neverfail Ltd., (GB)

1. A computer-implemented method for synchronizing data between a server computer, a client computer and data storage accessible to the server computer to provide a strongly consistent data repository, the method comprising:receiving a request to synchronize client data on the client computer with data in the data storage connected to the server computer;
breaking the client data to be stored in the data storage connected to the server computer into pieces;
using the server computer, running an algorithm on the client data and comparing the client data to existing data in the data storage to determine if the client data already exists in the data storage;
if the client data is not present in the data storage, combining the client data into a grouping called a first vessel (V1), creating a first vessel manifest (M1) having a first identifier (N1) that identifies the first vessel (V1) and storing the first vessel and the first vessel manifest (M1) in the data storage and storing a pointer to the first vessel manifest (M1) in a first metadata file; and
if the client data is present in the data storage:
comparing the contents of the client data to the existing data to determine if the client data needs to be revised; if so, creating a second vessel (V2) and storing the client data in the second vessel (V2) and creating a second vessel manifest (M2) having the same first identifier (N1) but the contents of the second vessel manifest identify the second vessel (V2); and if the client data does not need to be revised, no further action taken;
creating a stub redirect vessel (V3) having a redirect vessel identifier that describes the data in the second vessel (V2); and
deleting the first vessel (V1).

US Pat. No. 10,795,890

USER INTERFACE FOR EVENT DATA STORE

Sumo Logic, Inc., Redwoo...

1. A method comprising:receiving, by a processing device, a query comprising a first field value and a time period;
performing, by the processing device, a first search of a data store using the first field value to identify a plurality of events having the time period and at least one field that comprises the first field value;
determining a first subset of the plurality of events associated with a first context definition, wherein the first context definition has a first context type;
determining a plurality of fields specified in the first context definition;
determining, for events in the first subset, field values of one or more fields specified in the first context definition;
determining an event context for each event in the first subset, each event context from an event in the first subset comprising a list of key value pairs, wherein keys in the list correspond to the fields specified in the first context definition and values in the list correspond to field values associated with the fields;
determining a plurality of events from the first subset having a particular event context;
generating a report based on the field values of the one or more fields specified in the first context definition from the events in the first subset;
determining a second subset of the plurality of events associated with a second context definition having the first context type;
determining a second plurality of fields specified in the second context definition;
determining, for events in the second subset, field values of one or more fields specified in the second context definition, wherein the report is further based on the field values of the one or more fields specified in the second context definition from the events in the second subset;
determining the event context for each event in the second subset, each event context from events in the second subset comprising an additional list of key value pairs, wherein keys in the additional list correspond to the fields specified in the second context definition and values in the list correspond to field values associated with the fields specified in the second context definition;
determining a plurality of events from the second subset having the particular event context;
indicating in a first section of the report associated with the first context type a number of events having the particular event context; and
generating a response to the query that comprises at least a portion of the report.

US Pat. No. 10,795,889

QUERY PATH WITH AGGREGATE PROJECTION

MICRO FOCUS LLC, Santa C...

1. A method comprising:receiving a query to retrieve data;
generating, by a processor, a query path for retrieving the data from a database by:
determining a non-aggregate projection that includes data values from a table column of a database table referenced in the query;
determining an aggregate projection that includes an aggregated value calculated from the table column of the database table referenced in the query;
generating a first join graph using the non-aggregate projection;
generating a second join graph using the aggregate projection;
identifying join orders of the first join graph as first candidate query paths derived from the non-aggregate projection;
identifying join orders of the second join graph as second candidate query paths derived from the aggregate projection;
comparing the first candidate query paths with the second candidate query paths to determine a selected query path for the query; and
retrieving, by the processor, the data from the database for the query using the selected query path.

US Pat. No. 10,795,888

ELIMINATION OF QUERY FRAGMENT DUPLICATION IN COMPLEX DATABASE QUERIES

Tableau Software, Inc., ...

1. A database engine, comprising:one or more computing devices, each having one or more processors and memory, wherein the memory stores one or more programs configured for execution by the one or more processors and the one or more programs comprise instructions for:
receiving a database query from a client;
parsing the database query to build a query operator tree, the query operator tree including a plurality of query operators;
performing one or more optimization passes on the query operator tree, including a deduplication optimization pass, to form an optimized execution plan, the deduplication optimization pass including:
creating a list of query operators via a first traversal of the query operator tree;
determining a first query operator that is equivalent to a second query operator, based on a hash map, via a second traversal of the query operator tree; and
substituting, via a third traversal of the query operator tree, the second query operator with a tree node that links to the first query operator;
executing the optimized execution plan to retrieve a result set from the database; and
returning the result set to the client.

US Pat. No. 10,795,887

DYNAMIC REBUILDING OF QUERY EXECUTION TREES AND RESELECTION OF QUERY EXECUTION OPERATORS

Tableau Software, Inc., ...

1. A method for dynamically selecting query execution operators, comprising:at a computing device having one or more processors, volatile memory, and non-volatile memory, executing one or more programs to retrieve data from a database, including:
receiving a query;
parsing the query to form a first intermediate query;
compiling the first intermediate query to form a first executable plan that includes a plurality of in-memory operators that execute within the volatile memory without swapping to the non-volatile memory;
initiating execution of the first executable plan;
while executing a first in-memory operator in the first executable plan, detecting insufficient memory to complete execution of the first in-memory operator;
in response to detecting insufficient memory to complete execution of the first in-memory operator:
aborting execution of the first executable plan;
performing an optimization pass on the first intermediate query to form a second intermediate query, wherein the optimization pass restructures the second intermediate query in a different way from the first intermediate query, thereby accounting for the insufficient memory and including one or more spooling operators instead of at least some of the in-memory operators;
compiling the second intermediate query to form a second executable plan, wherein each of the spooling operators executes within a respective fixed volatile memory budget and is configured to swap to non-volatile memory according to the respective fixed volatile memory budget;
executing the second executable plan, including the one or more spooling operators, to identify a set of results from the database that is responsive to the query; and
returning the set of results.

US Pat. No. 10,795,886

DYNAMIC QUERY ROUTING SYSTEM

TOWNSEND STREET LABS, INC...

1. A system comprising:one or more memories storing computer-executable instructions; and
one or more hardware processors to execute the computer-executable instructions to:
receive a first query from a first user device;
determine, using a first model, a first group and a first confidence value that the first query is associated with the first group;
determine the first confidence value is less than a first threshold;
in response to the first confidence value being less than the first threshold, access initial model data that associates a set of possible groups with one or more terms of the first query;
determine, for each group in the set of possible groups, a second confidence value that is indicative of correspondence between the first query and the one or more terms of the initial model data;
determine a first group of the set of possible groups that is associated with a greatest second confidence value that exceeds a second threshold;
route the first query to the first group; and
receive response data generated by one or more resources, wherein the response data is indicative of the first group.

US Pat. No. 10,795,885

PREDICTIVE QUERY IMPROVEMENT

ServiceNow, Inc., Santa ...

1. An architecture for handling database operations, comprising:one or more hardware processors configured to execute instructions from non-transitory memory to cause the system to perform operations comprising:
receiving or accessing a query containing an expression specifying a field and a value within a source table;
identifying a term table specific to the field and the value, wherein the term table comprises a number of records corresponding to an incidence of the value within the field within the source table and wherein the term table comprises a column storing index values for each record in the source table having the value in the field;
performing an inner join of the term table and the source table to generate a result set containing only the records from the source table having the value in the field; and
providing the result set as an output.

US Pat. No. 10,795,884

DYNAMIC RESOURCE ALLOCATION FOR COMMON STORAGE QUERY

Splunk Inc., San Francis...

1. A method comprising:receiving, at a computerized data index and query system that maintains a set of data within a distributed set of computing devices, a query including criteria for identifying search results from the set of data, wherein the set of data is stored on the distributed set of computing devices in a plurality of buckets of data, wherein individual buckets within the plurality of buckets represent individually searchable subsets of data from the set of data, and wherein the plurality of buckets are hosted by a plurality of computing devices within the distributed set of computing devices;
defining, by the data index and query system, a query processing scheme for identifying the search results from the set of data, the query processing scheme including a dynamic allocation of computer processors to process the plurality of buckets to identify the search results, wherein defining the query processing scheme comprises:
determining, from metadata regarding the plurality of buckets, a subset of buckets from the plurality of buckets that potentially include the search results, wherein the metadata for an individual bucket identifies an attribute of the data stored within the individual bucket; and
dynamically allocating individual buckets from the subset of buckets to individual computer processors, the individual computer processors to obtain in parallel data from the individual buckets allocated to the individual computer processors and to locate, within the data from the individual buckets, portions of data that potentially include one or more results of the search results; and
executing the query based on the query processing scheme, wherein executing the query comprises causing the individual computer processors to obtain in parallel the data from the individual buckets allocated to the individual computer processors and to locate, within the data from the individual buckets, portions of data that potentially include one or more results of the search results.

US Pat. No. 10,795,883

METHOD AND SYSTEM FOR ENTERPRISE SEARCH NAVIGATION

ORACLE INTERNATIONAL CORP...

1. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:providing for display, one or more selectable interface elements, each of the selectable interface elements associated with a respective repository of a set of repositories on which a search request is performed to generate search results associated with the set of repositories, wherein the search request is performed on the set of repositories by communicating the search request to a search index coupled to the set of repositories via a plurality of repository interfaces;
receiving a selection of a first selectable interface element of the one or more selectable interface elements, the first selectable interface element associated with a first repository of the set of repositories;
ranking first revised search results in response to the receiving the selection of the first selectable interface element based on relevance, wherein the ranking is determined based at least in part on linguistic considerations, and wherein the first revised search results include only search results associated with the first repository;
providing for display, the first revised search results, wherein each of the first revised search results includes at least one or more boldfaced words that correspond to one or more words in the search request;
providing for display, for each of the one or more selectable interface elements, a repository hit value indicative of a number of search results associated with each selectable interface element of the one or more selectable interface elements;
providing for display, the search results associated with the set of repositories, wherein the search results include a preview comprising at least one of text snippets or graphic thumbnails of data referenced in the search results, the text snippets or the graphic thumbnails are augmented by data retrieved from repositories corresponding to the set of repositories, and wherein the search results include clickable hypertext links to the data referenced in the search results;
receiving a de-selection of the first selectable interface element;
providing for display, the search results associated with the set of repositories in response to the receiving the de-selection of the first selectable interface element;
receiving a selection of a second selectable interface element of the one or more selectable interface elements, the second selectable interface element associated with a second repository of the set of repositories;
providing for display, second revised search results in response to the receiving the selection of the second selectable interface element, wherein the second revised search results include only search results associated with the second repository, wherein providing the second revised search results further comprises providing a second set of sub-categories associated with the second repository; and
providing for display, for each sub-category of the second set of sub-categories, a sub-category hit value indicative of a number of search results associated with each sub-category of the second set of sub-categories.

US Pat. No. 10,795,882

BLOCKCHAIN-BASED DATA COMPRESSION AND SEARCHING

Alibaba Group Holding Lim...

1. A computer-implemented method comprising:receiving, by a node device on a blockchain, storage transaction data;
wherein the storage transaction data comprises compressed target data to be stored and a unique identifier of a smart contract published on the blockchain, wherein the compressed target data comprises target data compressed according to a preset compression template, and wherein the smart contract comprises the preset compression template;
searching for the smart contract published on the blockchain based on the unique identifier;
invoking the preset compression template of the smart contract to determine that a data format of the target data conforms to a data format specified by the preset compression template, wherein the preset compression template comprises a rule for compression of data having the data format of the target data; and
in response to determining that the data format of the target data conforms to the data format specified by the preset compression template, storing the compressed target data.

US Pat. No. 10,795,881

TABLE REPLICATION IN A DATABASE ENVIRONMENT

SAP SE, Walldorf (DE)

1. A method, implemented at least in part by a source node comprising a processing unit and memory, the source node being in communication with a replica node, the source node storing at least one database table and the replica node storing a copy of the at least one database table, for replicating the at least one database table from the source node to the replica node, the method comprising:receiving from a database client a database operation;
executing the database operation on the at least one database table at the source node;
sending the database operation to the replica node;
receiving a commit request for a transaction that comprises the database operation;
in response to receiving the commit request, assigning a commit identifier to the transaction;
in response to the receiving the commit request, sending a synchronous prepare commit request to the replica node, wherein, in response to receiving the synchronous prepare commit request from the source node, the replica node assigns a precommit identifier to the transaction, which marks the transaction as in doubt, wherein an in-doubt database transaction is a database transaction that has not been committed or aborted and the precommit identifier determines whether the transaction will be visible to a read operation;
in response to the receiving the commit request, after assigning the commit identifier to the transaction and after, or currently with, sending the synchronous prepare commit request to the replica node, and without waiting to receive a synchronous prepare commit acknowledgment from the replica node in response to the synchronous prepare commit request:
initiating writing of a commit log entry for the transaction comprising the database operation to persistent storage, the commit log entry comprising the commit identifier, wherein the synchronous prepare commit request is sent to the replica node prior to finishing writing of the commit log; and
wherein a time taken to complete a replication process is reduced by overlapping the writing of the commit log with the synchronous prepare commit request and the synchronous prepare commit acknowledgement;
receiving the synchronous prepare commit acknowledgment from the replica node, wherein the prepare commit acknowledgment indicates that the database operation was executed at the replica node; and
after receiving the synchronous prepare commit acknowledgement from the replica node, sending a commit acknowledgement to the database client.

US Pat. No. 10,795,880

SYSTEM AND METHOD FOR INTER-PROGRAM FILE CONTROL COMMUNICATION

Bank of America Corporati...

1. A system for communication between two or more computer programs comprising:a memory stores a first file, expected metadata for the first file, expected metadata for one or more fields in the first file, and a second computer program;
an interface receives one or more files from a first computer program, wherein the files comprise one or more fields, wherein each of the one or more fields comprises information provided by one or more sources;
a processor executing the second computer program to:
extract a first set of file metadata from a received file, wherein:
the file comprises source code; and
the first set of metadata comprises licensing information for a license associated with the source code;
compare the extracted first set of file metadata to the expected metadata for the first file, wherein comparing the extracted first set of file metadata to the expected metadata for the first file comprises comparing the licensing information to a list of approved licenses;
determine that the extracted first set of file metadata corresponds to the expected metadata for the first file, and, in response:
extract a first set of field metadata from a first set of fields in the received file, wherein the first set of field metadata comprises an expiration date for the license associated with the source code;
compare the extracted first set of field metadata to the expected metadata for the first set of fields, wherein comparing the extracted first set of field metadata to the expected metadata for the first set of fields comprises comparing the expiration date for the license to a predetermined time range;
determine if the extracted first set of field metadata corresponds to the expected metadata for the first set of fields; and
if the extracted first set of field metadata does not correspond to the expected metadata for the first set of fields, communicate an error to a user instructing the user to provide the expected metadata for the first set of fields; and
if the extracted first set of field metadata does correspond to the expected metadata for the first set of fields, store the first file in the memory.

US Pat. No. 10,795,879

METHODS AND SYSTEMS FOR PREDICTIVE CLINICAL PLANNING AND DESIGN

IQVIA Inc., Parsippany, ...

1. A method of planning and designing a clinical trial using visual representations on a computing device, the method comprising steps of:instantiating, on the computing device, a plurality of data objects, each comprising one or more data items pertaining to the clinical trial;
establishing, on the computing device, a hierarchically connected plurality of graphical nodes by selecting, and forming a connection between, source and destination graphical nodes of the plurality of graphical nodes, each representing instantiated data objects of the plurality of data objects;
graphically presenting, on the computing device, at least a portion of the clinical trial using the plurality of hierarchically connected graphical nodes each forming a preceding and/or one or more child graphical nodes, wherein the data objects represented by the preceding graphical nodes reference or are referenced by the data objects represented by the child graphical nodes, and the one or more data items are modifiable within the plurality of graphical nodes;
propagating
the one or more data items of the source graphical node to the destination graphical node via the plurality of hierarchically connected graphical nodes, and
an association between the one or more data items of the source and destination graphical nodes based on a condition;
selecting a first of the plurality of graphical nodes;
modifying at least one of the one or more data items of the respective data object of the selected first graphical node;
propagating the modification to the one or more data items of the preceding and child graphical nodes of the first graphical node, the propagation modifying a corresponding data item of the respective preceding and child graphical nodes; and
expanding the graphical presentation, within the at least one of the first, preceding and child graphical nodes, by displaying the modified one or more data items.

US Pat. No. 10,795,878

SYSTEM AND METHOD FOR IDENTIFYING ANSWER KEY PROBLEMS IN A NATURAL LANGUAGE QUESTION AND ANSWERING SYSTEM

International Business Ma...

1. A method of evaluating question-answer pairs in an answer key, the method comprising:selecting, by a first information handling system comprising a processor and a memory, a first answer from the answer key;
comparing, by the first information handling system, the first answer to a plurality of candidate answers generated in response to a first question corresponding to the first answer in the answer key by using a semantic analysis to determine if the plurality of candidate answers are semantically related to each other and are not related to the first answer from the answer key; and
presenting, by the first information handling system, an indication that the answer key may have a problem if comparing the first answer to the plurality of candidate answers indicates that the plurality of candidate answers are more semantically related to one another than to the first answer.

US Pat. No. 10,795,877

MULTI-VERSION CONCURRENCY CONTROL (MVCC) IN NON-VOLATILE MEMORY

SAP SE, Walldorf (DE)

1. A computer implemented method, comprising:determining that an event occurred, wherein one or more write transactions to one or more records of a multi-version database that were pending prior to the event did not commit, and wherein the multi-version database is stored in a non-volatile memory;
identifying the one or more write transactions based on a commit value that was stored in the non-volatile memory prior to the event, wherein each of the one or more write transactions includes a commit value;
selecting a particular one of the identified uncommitted write transactions;
identifying, from the multi-version database, a first version of a record corresponding to the selected uncommitted write transaction, wherein the first version was not committed;
identifying an earlier version of the record that was committed prior to the event;
setting a visibility of the record to indicate that the earlier version of the record is visible and the first version of the record is not visible;
setting a delete timestamp corresponding to the first version of the record below a garbage collection threshold;
determining that the delete timestamp is part of an update operation;
adding a new version of the record corresponding to the first version of the record to the database; and
setting a commit timestamp for the new version of the record greater than the garbage collection threshold.

US Pat. No. 10,795,876

PROCESSING QUERY OF DATABASE AND DATA STREAM

Hewlett Packard Enterpris...

1. A computing device comprising:a processor to:
receive a query for data associated with at least one of a database and a buffer storing streamed data from a data stream, the database storing database data previously stored in the buffer, wherein a data merger engine manages the data in the buffer and the database such that queries are provided a consistent view of the data as of some point in time;
identify a range associated with the query, where the range includes time range and count range;
determine whether the range is associated with a database or a buffer storing streamed data from a data stream, the database storing database data previously stored in the buffer wherein the data is not moved from the buffer to the database while query is being processed;
check the database and the buffer to determine location of the data requested by the query;
generate a set of sub-queries by splitting the query based on age of data to be accessed, wherein the sub-quires includes:
a buffer sub-query if the range is determined to be associated with the streamed data in the buffer, and
a database sub-query if the range is determined to be associated with the database data in the database;
process the set of sub-queries to result in a particular value; and
provide a query result of the query, the query result being a combination of sub-query results of the set of sub-queries by accessing relevant data in the buffer based on the range, sending the relevant data to the database, and processing the one or more sub-queries using the data in the database after the relevant data has been sent to the database to provide query result.

US Pat. No. 10,795,875

DATA STORING METHOD USING MULTI-VERSION BASED DATA STRUCTURE

Industry-University Coope...

1. A data storing method performed by a data storing apparatus, the method comprising:(a) calling insert operation for storing first data in a first page having a space for storing data;
(b) checking whether overflow in which there is no space for storing the first data in the first page occurs;
(c) checking whether the overflow occurs in the first page and dead data exists in the first page,
(d) generating an overflow buffer page to store the first data in the overflow buffer page without deleting the dead data when as a checking result in (c), the overflow occurs in the first page and the dead data exists in the first page and there is a transaction accessing the dead data;
(e) storing the first data in the first page after deleting the dead data when as the checking result in (c), the overflow occurs in the first page and the dead data exists in the first page and there is no transaction accessing the dead data; and
(f) generating a second page to store at least one data selected from data of the first page and the first data in the second page and setting the at least one data selected from the data of the first page as the dead data in the first page when as the checking result in (c), the overflow occurs in, the first page but the dead data does not exist in the first page,
wherein the step (e) includes storing second data in the first page when there is the second data stored in the overflow buffer page,
wherein the step (f) includes storing third data in the second page when there is the third data stored in the overflow buffer page,
wherein in the step (a), the first data has a key value and a version corresponding to the key value of the first data,
wherein in the step (f), the first data and the at least one data, which are stored in the second page, are stored with the version of the first data as a starting version, and
wherein as ending version of the at least one data stored in the first page is set to be identical to the version of the first data so that the at least one data stored in the first page is set as the dead data.

US Pat. No. 10,795,874

CREATING INDEX IN BLOCKCHAIN-TYPE LEDGER

Alibaba Group Holding Lim...

1. A computer-implemented method comprising:obtaining, by a centralized database server, a service attribute and a sequence number comprised in a data record, wherein the data record is stored in a blockchain-type ledger;
determining location information of the data record in the blockchain-type ledger, wherein the location information comprises a block height of a data block comprising the data record, and an offset of the data record in the data block;
establishing a mapping relationship between the service attribute, the location information, and the sequence number;
based on the sequence number, sequentially writing the mapping relationship to an index that uses the service attribute as a primary key, wherein
each data block other than an initial data block of the blockchain-type ledger comprises at least one data record and a hash value of the data block itself that is determined based on a hash value of a previous data block and a data record comprised in the data block itself, and wherein block heights of data blocks increase based on a sequence of block forming time;
receiving a query instruction, from a query instruction sender, wherein the query instruction comprises a specific value of the service attribute;
performing matching in an index table based on the specific value of the service attribute to determine location information and sequence numbers corresponding to the specific value of the service attribute in the index table; and
obtaining corresponding data records from the blockchain-type ledger based on the location information, and sequentially returning the obtained corresponding data records to the query instruction sender based on the sequence numbers.

US Pat. No. 10,795,873

HASH OUTPUT MANIPULATION

Innovium, Inc., San Jose...

1. A networking apparatus comprising:a hashing component, configured to:
input one or more key values derived from a hash key;
generate multiple hash values for the hash key, including generating a first hash value using a first hash function of a first key value derived from the hash key and generating a second hash value using a second hash function of a second key value derived from the hash key; and
output the multiple hash values;
a hash output manipulation component, configured to:
input the hash key;
input the multiple hash values that were outputted from the hashing component;
generate multiple transformed hash values based upon the hash key, a fixed mask value, and the multiple hash values; and
output the multiple transformed hash values; and
a hash-based operation component configured to perform a hash-based operation based on a particular transformed hash value selected from the multiple transformed hash values outputted by the hash output manipulation component, the hash-based operation including searching for information mapped to the hash key using the particular transformed hash value and handling a message associated with the hash key based on the information.

US Pat. No. 10,795,872

INCREMENTAL BLOOM FILTER REBUILD FOR B+ TREES UNDER MULTI-VERSION CONCURRENCY CONTROL

EMC IP HOLDING COMPANY LL...

1. A method comprising:processing an update to search tree, the search tree storing information about one or more objects indexed by corresponding object keys;
determining an estimated accuracy for a first Bloom filter based on a ratio of a tree object count and a filter object count, wherein; (i) the tree object count includes a count of objects that are currently stored in the search tree, and (ii) the filter object count includes a sum of the count of objects that are currently stored in the search tree and a count of objects that have been deleted from the search tree;
determining to rebuild the first Bloom filter based on the estimated accuracy, the first Bloom filter associated with the search tree;
generating a second Bloom filter associated with the search tree;
populating the second Bloom filter as part of a tracing garbage collection process, the populating including visiting any of a plurality of leaves in the search tree by the trace garbage collection process, and adding, to the second Bloom filter, an object key that corresponds to a leaf; and
replacing the first Bloom filter with the second Bloom filter.

US Pat. No. 10,795,871

KEY-VALUE STORES IMPLEMENTED USING FRAGMENTED LOG-STRUCTURED MERGE TREES

VMware, Inc., Palo Alto,...

1. A method of updating a fragmented log-structured merge (FLSM) tree implementing a key-value store on a computer system having a central processing unit (CPU), a memory, and a storage system, the method comprising:obtaining a plurality of key-value pairs having keys defined within a key space, the key space divided by a plurality of guards for each of H levels of the FLSM tree, where H is an integer greater than one, wherein a number of the plurality of guards for each of the H levels of the FLSM tree varies in proportion to an amount of data to be stored in the storage system at such level;
sorting, through execution of code by the CPU, the plurality of key-value pairs into one or more segments of sorted key-value pairs based on the plurality of guards of a target level of the H levels of the FLSM tree, wherein a first guard log of a plurality of guard logs of the target level comprises at least one segment of sorted key-value pairs; and
appending, by writing to the storage system, each of the one or more segments to a different corresponding one of the plurality of guard logs of the target level of the FLSM tree without modifying any existing segments in the plurality of guard logs of the target level, wherein a first segment of the one or more segments is appended to the first guard log without modifying the at least one segment.

US Pat. No. 10,795,870

SCHEMA BASED VALIDATION OF EXTRA FIELDS IN A DATA FILE

Capital One Services, LLC...

1. An apparatus for arranging information related to marketing campaigns for a company, comprising:network interconnect circuitry to connect to a network;
a processor coupled to the network interconnect circuitry; and memory coupled to the processor, the memory comprising instructions that when executed by the processor cause the processor to:
receive, via the network interconnect circuitry, a first information element comprising indications of a plurality of name-value pairs, the plurality of name value pairs comprising at least a first name-value pair and a second name-value pair;
receive, via the network interconnect circuitry, a second information element comprising an indication that the first name-value pair is allowed;
generate a redacted information element comprising indications of ones of the plurality of name-value pairs comprising the first name-value pair but not the second name-value pair;
receive, via the network interconnect circuitry, a schema associated with the plurality of name-value pairs comprising a third name-value pair, wherein the second information element comprises an indication that the third name-value pair is allowed and wherein the redacted information element comprises indications of the third-name value pair;
validate the first name-value pair based in part on the schema; and
send, via the network interconnect circuitry, the redacted information element to a data storage computing device.

US Pat. No. 10,795,869

AUTOMATIC ENFORCEMENT OF DATA RETENTION POLICY FOR ARCHIVED DATA

SAP SE, Walldorf (DE)

1. One or more computer-readable storage media storing computer-executable instructions for causing a computing system, the computing system comprising one or more processing units and one or more memories, when programmed thereby to perform operations for archiving and automatically deleting data objects, the operations comprising:receiving a request to archive a plurality of first data objects, the plurality of first data objects comprising one or more structured data objects and one or more unstructured data objects;
requesting the plurality of first data objects from a data store;
receiving the plurality of first data objects in response to the request;
analyzing one or more properties of the plurality of first data objects;
determining expiration dates associated with at least one of plurality of first data objects based at least in part on the one or more properties;
associating the expiration dates with one or more of the plurality of first data objects; and
generating an association list that links at least one of the one or more unstructured data objects with at least one of the one or more structured data objects, the association list being maintained in a first structured data object, the first structured data object being a structured data object of the one or more structured data objects or a structured data object that is not a structured data object of the one or more structured data objects; and
sending the plurality of first data objects and the first structured data object to an archive to be stored, wherein the plurality of first data objects are automatically deleted by the archive when the expiration date has passed and wherein the association list is stored in the archive with the first structured data object.

US Pat. No. 10,795,868

SUMMARIZING STATISTICAL DATA FOR DATABASE SYSTEMS AND/OR ENVIRONMENTS

Teradata US, Inc., San D...

1. A computer-implemented method of storing database values and their associated indicator values in a summarized form, wherein the method is implemented at least partly by a device that includes one or more processors, and wherein the computer-implemented method comprises:arranging, by the one or more processors, database values of a database in multiple buckets in accordance with an order in an arrangement in an ascending order, wherein each one of the database values in each one of the multiple buckets is associated with an indicator value, and wherein each one of the multiple buckets includes only one of the database values with its associated indicator value;
obtaining a desired total number of buckets;
determining, by the one or more processors, whether to reduce the number of buckets, by at least determining whether the desired total number of buckets has been reached;
combining, by, the one or more processors, two adjacent buckets in the arrangement into a combined bucket based on a criterion associated with the indicator values when the determining determines to reduce the number of buckets, wherein the criterion includes an error criterion determined based on a difference between two or more of the indicator values.
In response to determining hot database values that are not desired to be combined with one or more other database values of the database values, integrating at least one workload constraint into a combining strategy for combining the buckets, and adding a preliminary constant error value to a default delta-error associated with the one or more database values to avoid combining the one or more database values with one more other database values of the database values; and
repeating, by the one or more processors, the combining for yet another two adjacent buckets until the determining determines not to further reduce the number of buckets when it is determined that the desired total number of buckets has been reached, thereby reducing the number of buckets in accordance with the desired total number of buckets.

US Pat. No. 10,795,867

DETERMINING AVAILABLE REMOTE STORAGES IN A NETWORK TO USE TO REPLICATE A FILE BASED ON A GEOGRAPHICAL REQUIREMENT WITH RESPECT TO THE FILE

International Business Ma...

1. A computer program product for replicating a file to remote storages in a network, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:in response to determining that available remote storages do not satisfy both a geographical location requirement at which to replicate the file and a replication requirement indicating a minimum number of remote storages at which to replicate the file, performing:
replicating the file to each available remote storage that satisfies the geographical location requirement;
determining a remaining number of replications comprising the minimum number of remote storages minus a number of available remote storages to which the file is replicated; and
configuring at least one additional remote storage for the remaining number of replications to satisfy the geographical location requirement for replicating the file.

US Pat. No. 10,795,866

DISTRIBUTED FILE SYSTEMS ON CONTENT DELIVERY NETWORKS

EMC IP HOLDING COMPANY LL...

1. A method for accessing data using a content delivery network (CDN) that is associated with object stores configured to store the data, the CDN including a plurality of servers and a plurality of datacenters, the method comprising:receiving a request associated with an object at a metadata server in a communication from a client, wherein the metadata server comprises metadata mapping a plurality of objects to an object store;
determining an object identifier associated with the requested object and a CDN domain;
generating a URL to the CDN domain from the object identifier and the CDN domain;
returning the URL to the client; and
communicating with a server of the CDN domain to perform an IO request using the URL generated from the object identifier and the CDN domain, wherein the server of the CDN domain serves as a cache and a proxy to the object store and performs the IO request to the object store when the requested object is not cached at the server of the CDN domain.

US Pat. No. 10,795,865

SYSTEM AND METHOD FOR SUPPORTING ZERO-COPY BINARY RADIX TREE IN A DISTRIBUTED COMPUTING ENVIRONMENT

ORACLE INTERNATIONAL CORP...

1. A method for supporting key management in a distributed computing environment comprising a plurality of server nodes, the method comprising:interning a plurality of binary keys in a binary radix tree on each of said plurality of server nodes;
serializing the binary radix tree to generate a serialized binary radix tree in a buffer on each of said plurality of server nodes;
accessing the serialized binary radix tree on each of said plurality of server nodes via an interface which enables realization of the plurality of binary keys without maintaining copies of the plurality of binary keys; and
accessing data associated with the plurality of binary keys and stored on said plurality of server nodes in response to realization of the plurality of binary keys without maintaining copies of the plurality of binary keys.

US Pat. No. 10,795,864

METHOD AND APPARATUS FOR BI-DIRECTIONAL COMMUNICATION AND DATA REPLICATION BETWEEN LOCAL AND REMOTE DATABASES DURING INTERMITTENT CONNECTIVITY

TRITAN SOFTWARE CORPORATI...

1. A method for synchronizing contents of a local database with contents of at least one remote database, the method comprising:writing at least one data transaction received from a user terminal from the local database to a local transaction log file;
assigning a bin number to each of the at least one data transaction;
determining, by a local replicator service, if the assigned bin number has changed due to receipt of at least one subsequent data transaction;
determining if the at least one data transaction is applicable to each of the at least one remote database;
if the bin number has changed, and the at least one data transaction is applicable to each of the at least one remote database, inserting, by the local replicator service, the at least one subsequent data transaction into a local sequence log file and assigning the at least one subsequent data transaction a first sequence number;
in response to a request by a remote replicator service, providing, to the remote replicator service, access to the first sequence number, the remote replicator service having access to a second sequence number stored in the at least one remote database; and
if the first sequence number does not match the second sequence number,
providing, to the requesting remote replicator service, access to the at least one subsequent data transaction associated with the first sequence number, the remote replication service updating the at least one remote database to include the at least one subsequent data transaction if the at least one data transaction is applicable to each of the at least one remote database.

US Pat. No. 10,795,863

GEOGRAPHICALLY-DISTRIBUTED FILE SYSTEM USING COORDINATED NAMESPACE REPLICATION OVER A WIDE AREA NETWORK

WANdisco Inc., San Ramon...

1. A computer-implemented method of maintaining a state of a single namespace of a distributed file system in a local area network (LAN), the method comprising:storing the state of the single namespace of the distributed file system in respective local persistent storage coupled to each of a plurality of simultaneously-active peer server node computing devices coupled to the LAN;
receiving, in at least some of the plurality of server node computing devices, at least one request to change the state of the single namespace from at least some of a plurality of data node computing devices coupled to the LAN;
generating, by each of the plurality of simultaneously-active peer server node computing devices having received the at least one request to change the state of the single namespace and for each of the at least one received request, a corresponding proposal to make the change to the state of the single namespace;
sending the generated proposals to a single coordination engine, the single coordination engine being coupled to the LAN and to each of the plurality of server node computing devices;
receiving, by the plurality of simultaneously-active peer server node computing devices and for at least some of the generated proposals, an ordered set of namespace modification agreements sent from the single coordination engine, the ordered set of namespace modification agreements specifying an order in which the plurality simultaneously-active peer server node computing devices are to update the state of the single namespace stored in the respective local persistent storages coupled thereto; and
updating, by the plurality of server node computing devices, the state of the single namespace of the distributed file system stored in the respective local persistent storages, in an order specified by the ordered set of namespace modification agreements received from the single coordination engine, such that the state of the single namespace stored in each of the respective local persistent storages is brought into consistency across the plurality of simultaneously-active peer server node computing devices.

US Pat. No. 10,795,862

IDENTIFICATION OF HIGH DEDUPLICATION DATA

International Business Ma...

1. A computer-implemented method for identifying portions of a dataset with high deduplication potential, comprising:determining a sample size of a plurality of chunks to be sampled for each region of a plurality of regions included in a dataset, wherein the sample size is determined based, at least in part, on:
a likelihood of identifying at least one identical hash value between a first region corresponding to a portion of a first system backup and a second region corresponding to a portion of a second system backup included in the dataset;
sampling the plurality of chunks for each region of the plurality of regions based on the determined sample size;
generating a hash value in an index for each chunk of the plurality of chunks sampled for each region of the plurality of regions;
comparing hash values calculated for each chunk of the plurality of chunks sampled for respective regions against hash values calculated for each chunk of the plurality of chunks sampled for all other regions of the plurality of regions;
determining that two regions include identical data based, at least in part, on two regions sharing one or more identical hash values;
selecting a first series of regions of the plurality of regions for migration to a first storage system that supports data deduplication based, at least in part, on each successive region in the first series of regions sharing a number of identical hash values above a given threshold with a previous region in the first series of regions; and
migrating the first series of regions to the first storage system.

US Pat. No. 10,795,861

ONLINE MEASUREMENT OF POTENTIAL DEDUPLICATION EFFICIENCY

International Business Ma...

1. A computer-implemented method, comprising:determining which of a plurality of fingerprints correspond to a copy of user data stored in one or more logical volumes at a storage location, and which of the plurality of fingerprints correspond to a pointer that points to a copy of user data stored in the one or more logical volumes at the storage location;
determining a number of unique fingerprints;
determining a number of the copies of user data stored in the one or more logical volumes;
using the number of the copies of user data and the number of unique fingerprints to calculate an actual deduplication efficiency value;
using the number of the copies of user data and the number of unique fingerprints to calculate a potential deduplication efficiency value;
comparing the actual deduplication efficiency value to the potential deduplication efficiency value; and
outputting a result of the comparison.

US Pat. No. 10,795,860

WAN OPTIMIZED MICRO-SERVICE BASED DEDUPLICATION

EMC IP Holding Company LL...

1. A system for managing an object storage, comprising:a plurality of frontend micro-services programmed to:
obtain a request to store data in an object storage;
divide the data into slices;
send a slice analysis request, based on a slice of the slices, to a plurality of backend micro-services, wherein the slice analysis request comprises:
a sketch of the slice that does not uniquely identify the slice, and
a fingerprint of each segment of the slice that virtually uniquely identifies the respective segment;
obtain, from the plurality of backend micro-services, a list of segments of the slice that are not stored in the object storage;
add a segment specified by the list of segments to a compression region;
the plurality of backend micro-services programmed to:
identify segments of the slice specified by the slice analysis request that are not stored in the object storage using the sketch of the slice and the fingerprints; and
generate the list of segments of the slice based on the identified segments;
a load balancer programmed to:
obtain requests to store data in the object storage; and
distribute the requests to the plurality of frontend micro-services,
wherein the system dynamically adjusts a number of available frontend micro-services based on a number of pending requests in the load balancer.

US Pat. No. 10,795,859

MICRO-SERVICE BASED DEDUPLICATION

EMC IP Holding Company LL...

1. A system for managing an object storage, comprising:a physical device configured to execute first instructions adapted to cause a plurality of frontend micro-services to:
obtain a request to store data in an object storage;
divide the data into slices; and
a second physical device configured to execute second instructions adapted to cause a plurality of backend micro-services to:
generate a sketch of each slice;
match each slice to a similarity group of a plurality of similarity groups using the respective sketch of each slice;
obtain meta-data associated with each matched similarity group;
add at least a portion of a slice of the slices to a compression region using the meta-data,
wherein the sketch of each slice comprises a bit string that does not uniquely identify the slice.

US Pat. No. 10,795,858

UNIVERSAL ABSTRACTION AND DE-ABSTRACTION OF A DIGITAL DATA STREAM

Erich Schmitt, Naples, F...

1. A computing device implemented method comprises:receiving by a computing device that includes an abstraction engine, an input bit string having a finite bit length L;
producing by the computing device from the input string, the one's complement of the input string;
iteratively calculating by the abstraction engine in the computing device from the input string a first set of pairs function codes corresponding to the bits in the input string, and from the one's complement of the input string, a second set of pairs of function codes corresponding to the bits in the one's complement of the input string; and
returning by the computing device, the first and second pairs of function codes from the first set and the second set of function codes which were calculated at the bit length L, as a set of abstraction codes that correspond to a representation of the input string, with the representation having fewer number of bits than the input bit string.

US Pat. No. 10,795,857

BLOCKCHAIN SYSTEM AND METHOD THEREOF

Industrial Technology Res...

1. A method implemented in a blockchain system, the blockchain system comprising a plurality of blockchain devices that participate in a verification of a blockchain to generate a plurality of blocks in the blockchain, wherein the method comprises:monitoring a status information of the blockchain system by a first blockchain device of the blockchain devices;
determining whether the status information complies with a blockchain branch condition by the first blockchain device;
when the first blockchain device determines that the status information complies with the blockchain branch condition, the first blockchain device writes a branch instruction to a selected block in the blockchain, wherein the branch instruction is configured for enabling the blockchain to form a plurality of branches, and the blockchain devices are divided into a plurality of groups in response to the branch instruction for verifying the branches in parallel, wherein the first blockchain device joins a first group of the groups, and the first group is responsible for verifying a first branch of the branches; and
obtaining an in-group maximum transmission delay time of the first group by the first blockchain device, and determining a time interval of generation of new block to generate a plurality of blocks in the first branch according to the in-group maximum transmission delay time;
wherein the first blockchain device comprises a processor;
wherein the blockchain branch condition comprises at least one of a condition (1) and a condition (2), wherein
the condition (1) is: a computing power of verifying the blockchain or one of the branches is greater than a first computing power threshold value, and an amount of transactions to be processed is great than a first transaction amount threshold value; and
the condition (2) is: a number of the blockchain devices for verifying the blockchain or one of the branches is greater than a first device number threshold value, and the amount of transactions to be processed is great than a second transaction amount threshold value.

US Pat. No. 10,795,856

METHODS, SYSTEMS, AND COMPUTER READABLE MEDIUMS FOR IMPLEMENTING A DATA PROTECTION POLICY FOR A TRANSFERRED ENTERPRISE APPLICATION

EMC IP Holding Company LL...

1. A method for implementing a data protection policy for a transferred enterprise application, the method comprising:capturing metadata specifying both a data protection policy applied to an enterprise application supported by a host computing system and a location of backup file data associated with the enterprise application;
transferring the enterprise application and the metadata from the host computing system to a target computing system; and
utilizing the metadata to reconstruct the data protection policy for the transferred enterprise application on the target computing system, wherein the metadata specifies a data protection solution for each of a plurality of resource components supporting the transferred enterprise application on the target computing system, wherein the plurality of resource components include compute components, storage components, and networking components that are collectively configured to host virtual machines that implement the transferred enterprise application, wherein the data protection policy is reconstructed on the target computing system after the target computing system queries a virtualization manager on the target computing system to determine if the number and operational status of the virtual machines available in the target computing system satisfies requirements of the data protection policy.

US Pat. No. 10,795,855

METHOD AND APPARATUS FOR CONTINUOUS COMPLIANCE ASSESSMENT

Tripwire, Inc., Portland...

1. A method, comprising:receiving, by a compliance server, change data associated with a change captured on a target host, the target host providing the change data in response to detecting the change, wherein the change data includes one or more rules, settings, and/or parameters;
storing, by the compliance server, the received change data in a change database of the compliance server;
filtering, by the compliance server, the received change data, wherein the filtering includes determining whether the target host specified in the change data is associated with one or more waivers specified by one or more compliance policies;
conditional on the target host not being associated with the one or more waivers specified by the one or more compliance policies, determining, by the compliance server, that the change data does not meet the one or more compliance policies; and
generating, by the compliance server, element data to place the change data into compliance with the one or more compliance policies.

US Pat. No. 10,795,854

METHOD AND APPARATUS FOR CONSTRUCTING MULTIVALUED MICROPROCESSOR

Louisiana Tech Research C...

1. A multivalued microprocessor configured to accept an n-valued input and generate an n-valued output, where n is at least 3 voltage values, the microprocessor comprising:(a) a multivalued processing module including a plurality of multivalued processing units constructed of multivalued logic gates, wherein (i) the logic gates are configured to distinguish at least three voltage values at inputs to the logic gates and produce at least three voltage values at outputs, and (ii) the plurality of multivalued processing units include at least a Not, an And, an Or, and an Add processing unit;
(b) a multivalued register file including a plurality of registers, wherein the registers are constructed with multivalued memory cells;
(c) a multivalued instruction memory constructed with multivalued memory cells, the instruction memory configured to transmit an instruction to multiple decoders;
(d) a multivalued data storage constructed with multivalued memory cells;
(e) a plurality of multivalued buses transmitting multivalued data between the processing module, the register file, the instruction memory, and the data storage; and
(f) a plurality of multivalued tristate buffers with a control input positioned between processing units and the bus to which the processing units transmit data.

US Pat. No. 10,795,853

MULTIPLE DIES HARDWARE PROCESSORS AND METHODS

Intel Corporation, Santa...

1. A hardware processor comprising:a plurality of physically separate dies;
an interconnect to electrically couple the plurality of physically separate dies together;
a first transmitter circuit of a first die of the plurality of physically separate dies;
a second receiver circuit of a second die of the plurality of physically separate dies electrically coupled to the first transmitter circuit of the first die through at least one data lane of the interconnect that corresponds to a clock lane of the interconnect; and
a clock circuit to receive a request from the first transmitter circuit to change the second receiver circuit to an operating frequency and a clocking rate for the operating frequency, cause a look-up in a data storage device of a predetermined clock phase placement for the operating frequency and the clocking rate for the operating frequency from a plurality of predetermined clock phase placements for a first clocking rate for each single frequency of different operating frequencies and for a second, different clocking rate for each single frequency of different operating frequencies, and cause the second receiver circuit to receive data from the first transmitter circuit on the at least one data lane with the predetermined clock phase placement for the operating frequency and the clocking rate for the operating frequency on the clock lane.

US Pat. No. 10,795,852

DATA CENTER MANAGEMENT SYSTEM AND METHOD

HONGFUJIN PRECISION ELECT...

1. A method of managing a data center deploying a plurality of server cabinets, each server cabinet deploying a plurality of servers, each server coupled to a data center network, the method comprising:pre-obtaining a MAC address and location information pair of every server, the information pair comprising information of the MAC address and a corresponding physical location;
saving the information pair as a computer-readable document;
obtaining a MAC address of a server to be queried;
comparing the MAC address of the server to be queried to the computer-readable document and obtaining the physical address of the server to be queried, wherein the physical address comprises the server cabinet and a server cabinet port of the server being located;
obtaining an IP address list of every server, each IP address linked to a corresponding one of the MAC addresses;
determining whether there exists in the obtained IP address list a duplicate IP address;
confirming, when there exists a duplicate IP address, the corresponding server cabinet port of the server according to the linked MAC address; and
closing the server cabinet port of the duplicate IP address according to the physical address.

US Pat. No. 10,795,851

RELAY DEVICE AND INFORMATION PROCESSING SYSTEM

FUJITSU CLIENT COMPUTING ...

1. An information processing system comprising:platforms, each serving as a computer that executes arithmetic processing; and
a relay device that is connected to the platforms and that communicates with each of the platforms to relay communication between the platforms over a Peripheral Component Interconnect Express (PCIe) bus, wherein
the relay device includes
a first end point that receives data from a root complex of a first platform among the platforms, and
a second end point that transfers the data to a root complex of a second platform among the platforms, wherein the data to be transferred is received at the second end point by tunneling from the first end point,
each of the platforms includes a physical memory including memory areas each associated with the respective end points,
a platform that is a transmission source of transmission data among the platforms stores the transmission data in a memory area associated with an end point of a transmission destination among the memory areas of the physical memory of itself, and
when receiving transmission data from the first platform that is a transmission source serving as a root complex via the first end point connected to the first platform, the relay device transmits the received transmission data to the second platform that is a transmission destination serving as a root complex via the second end point that is a transmission destination associated with a memory area in which the received transmission data has been stored.

US Pat. No. 10,795,850

METHODS AND APPARATUS TO TRANSITION DEVICES BETWEEN OPERATIONAL STATES

TEXAS INSTRUMENTS INCORPO...

1. An apparatus comprising:an activity detector having first and second inputs and first and second outputs, wherein the second output is coupled to a communication bus;
a communication bus controller having a first terminal and a second terminal, wherein the second terminal of the communication bus controller is coupled to the first input of the activity detector;
a hardware wakeup controller having first and second inputs and first, second, and third outputs, wherein the first output of the hardware wakeup controller is coupled to the second input of the activity detector and the second input of the hardware wakeup controller is coupled to the first output of the activity detector;
a switching circuit including first, second, and third inputs, and an output, wherein the output of the switching circuit is coupled to the first input of the hardware wakeup controller and the first input of the switching circuit is coupled to the second output of the hardware wakeup controller;
a first oscillator having an output coupled to the second input of the switching circuit; and
a second oscillator having an input and an output, wherein the output of the second oscillator is coupled to the third input of the switching circuit and the input of the second oscillator is coupled to the third output of the hardware wakeup controller.

US Pat. No. 10,795,849

SYSTEM OF AUTOMATION COMPONENTS AND METHOD FOR OPERATING THE SAME

1. A system of automation components, comprising:a control unit including a memory area adapted to store a parameter data record required for operation of the control unit;
a key memory connectable to the control unit via a specifically allocatable, electrically conductive connection, the key memory being location-bound and/or spatially fixedly allocatable to a specific point in a system as a whole, the key memory including at least one non-volatile memory area adapted to store a specific item of identification information, the control unit adapted to read out the identification information; and
an external data memory (a) directly accessible, (b) directly accessible via a plug-in connection, and/or (c) accessible via a system and/or a field-bus system, the external data memory including at least one non-volatile memory area adapted to store at least one parameter data record, each being specifically linked to an item of identification information;
wherein the control unit and the external data memory are adapted to exchange information therebetween.

US Pat. No. 10,795,848

DUAL WAY COMMUNICATION METHOD, SYSTEM, AND MASTER DEVICE THEREOF

WIWYNN CORPORATION, New ...

1. A dual way communication method adapted for a multipoint transmission structure and applied to a controller, the dual way communication method comprising:detecting whether a transmission demanding terminal triggers a notice signal;
enabling, via a transmission channel, a dual way communication channel for connecting to the transmission demanding terminal which triggers the notice signal when the notice signal is detected; and
receiving or transmitting a dual way demanding message corresponding to the transmission demanding terminal through the dual way communication channel,
wherein detecting whether the transmission demanding terminal triggers the notice signal, comprises:
reading a status signal via an expander; and
recognizing, according to the status signal, the notice signal triggered by the transmission demanding terminal.

US Pat. No. 10,795,847

COUPLER FOR AN AUTOMATION SYSTEM

WAGO Verwaltungsgesellsch...

1. A coupler for an automation system for controlling a process, the coupler comprising:a first interface for connection to a field bus for receiving a field bus message with process data of the process, the first interface having a first interface circuit adapted to a protocol or a physical characteristic of the field bus by converting the process data from the protocol or the physical characteristic of the field bus;
a second interface for connection to a local bus for transmitting a local bus message with a changed process data of the process, the second interface having a second interface circuit adapted to a protocol or a physical characteristic of the local bus by converting the changed process to the protocol or the physical characteristic of the local bus, wherein the protocol or the physical characteristic of the local bus are different from that of the field bus; and
a circuit arranged between the first interface and the second interface,
wherein the circuit has a non-clocked logic circuit comprising at least one hardware logic element,
wherein the non-clocked logic circuit is equipped to change process data received through the first interface,
wherein the circuit is equipped to output the changed process data in the local bus message,
wherein the non-clocked logic circuit as a hardware logic element comprises:
an AND gate;
an OR gate;
an exclusive-OR gate;
an inverter; or
a lookup table; or
a combination thereof, and
wherein the second interface is equipped to generate the local bus message by creating a header and a trailer and by inserting the changed process data between the header and the trailer.

US Pat. No. 10,795,846

SCALABLE NVME STORAGE MANAGEMENT OVER SYSTEM MANAGEMENT BUS

Cisco Technology, Inc., ...

1. A method comprising:receiving, at a first expander card, from baseboard management controller (BMC), a management message, addressed to a second expander card that is in communication with the first expander card;
forwarding the management message to the second expander card; and
sending, by the second expander card, the management message, via a sideband management bus, to a device in communication with the second expander card,
wherein each of the first expander card and the second expander card includes a first Ethernet port and a second Ethernet port, and the first Ethernet port of each of the first expander card and the second expander card has a first same Internet Protocol (IP) address, and the second Ethernet port on each of the first expander card and the second expander card has a second same IP address, different from the first same IP address.

US Pat. No. 10,795,845

METHOD AND SYSTEM FOR AUTO-ADDRESSING NODES ON A COMMUNICATION BUS

TEXAS INSTRUMENTS INCORPO...

1. An apparatus for auto addressing nodes on a communication bus comprising:a central module including:
a central power converter having a central power converter output;
a central module microcontroller unit (MCU) having a general purpose input and output and a communication port;
a central module communication bus physical layer (PHY) having a first input/output port coupled to a communication bus and a second input/output port coupled to the communication port of the central module MCU; and
a central module low side switch having a control terminal coupled to the general purpose output of the central module MCU, a first current terminal coupled to the central power converter output, and a second current terminal coupled to ground;
a first satellite module including:
a first power converter having a first power converter output;
a first satellite MCU having a general purpose input and output and a communication port, in which a general purpose input is coupled to the first current terminal of the central module low side switch and receives a first wake pulse;
a first satellite communication bus PHY having a first input/output port coupled to the communication bus and a second input/output port coupled to the communication port of the first satellite MCU; and
a first satellite low side switch having a control terminal coupled to the general purpose output of the first satellite MCU, a first current terminal coupled to the first power converter output, and a second current terminal coupled to ground; and
a second satellite module including:
a second power converter having a second power converter output;
a second satellite MCU having a general purpose input and output and a communication port, in which the input is coupled to the of the first current terminal of the first satellite low side switch and receives a second wake pulse;
a second satellite communication bus PHY having a first input/output port coupled to the communication bus and a second input/output port coupled to the communication port of the second satellite MCU.

US Pat. No. 10,795,844

MULTICORE BUS ARCHITECTURE WITH NON-BLOCKING HIGH PERFORMANCE TRANSACTION CREDIT SYSTEM

TEXAS INSTRUMENTS INCORPO...

1. A system comprising:a first bus agent;
a second bus agent; and
a bus interface coupled between the first bus agent and the second bus agent that includes a credited attribute channel from the first bus agent to the second bus agent and a non-credited data channel from the first bus agent to the second bus agent, wherein:
the first bus agent includes a counter operable to track credits of the credited attribute channel, wherein the credits are associated with a plurality of credit types; and
the first bus agent is operable to:
determine, using the counter, whether the credited attribute channel has sufficient credits of a first credit type of the plurality of credit types corresponding to a first transaction type to perform a transaction; and
in response to the credited attribute channel having sufficient credits, perform the transaction by:
transferring an attribute of the transaction to the second bus agent over the credited attribute channel; and
transferring data of the transaction to the second bus agent over the non-credited data channel.

US Pat. No. 10,795,843

SYSTEM AND METHOD FOR SUPPORTING MULTI-PATH AND/OR MULTI-MODE NMVE OVER FABRICS DEVICES

Samsung Electronics Co., ...

1. A device comprising:a network engine;
a switch module; and
a connector connecting to a motherboard of a switch over a midplane,
wherein the device is removably connected to the switch,
wherein the network engine transports a first signal to the switch via a first signal path that is established over the midplane,
wherein the switch module transports a second signal to the switch via a second signal path that is established over the midplane,
wherein the second signal path is different from the first signal path,
wherein the device supports both a non-volatile memory express (NVMe) protocol and an NVMe over fabrics (NVMeoF) protocol, and
wherein the device is configurable to switch between the NVMe protocol and the NVMeoF protocol.

US Pat. No. 10,795,842

FABRIC SWITCHED GRAPHICS MODULES WITHIN STORAGE ENCLOSURES

Liqid Inc., Broomfield, ...

1. A data system, comprising:a first assembly comprising a chassis having a plurality of modular bays populated with one or more graphics processing modules each including a graphics processing unit (GPU), wherein the plurality of modular bays each comprise a bay connector that includes a bay Peripheral Component Interconnect Express (PCIe) connection;
the first assembly further comprising PCIe switch circuitry configured to communicatively couple the bay PCIe connections to a PCIe fabric over one or more external PCIe links; and
in the PCIe switch circuitry, providing an isolation function to form a peer-to-peer arrangement between at least two GPUs populated in the chassis, wherein the isolation function isolates a first address domain associated with the GPUs from at least a second address domain associated with a host by at least establishing synthetic devices representing the GPUs in the second address domain and redirects traffic transferred by the host for the GPUs in the second address domain for delivery to corresponding ones of the GPUs in the first address domain.

US Pat. No. 10,795,841

HIGH PERFORMANCE INTERCONNECT PHYSICAL LAYER

Intel Corporation, Santa...

1. An apparatus comprising:a first linear feedback shift register (LFSR) to scramble data to be transmitted on a link; and
link training circuitry to:
transmit a first instance of the first pattern to an endpoint device during training of the link for a programmed amount of time, wherein the first pattern is to be used in a particular one of a plurality of link training states, the first pattern comprises a plurality of consecutive instances of a x‘FF00’ value, and the first pattern is to be transmitted non-scrambled;
receive a second instance of the first pattern from the endpoint device in the particular link training state;
calibrate lanes of the link based on the first pattern;
transition to another link training state;
transmit a first instance of a second pattern during the other link training state, wherein the second pattern comprises a plurality of training sequences, each training sequence in the plurality of training sequences comprises a scrambler synchronization field to be used to synchronize the first LFSR with a second LFSR of the endpoint device, and the second pattern further identifies lane numbering, lane swap information, and lane width information for the link;
receive a second instance of the second pattern from the endpoint during the other link training state; and
deskew the link during the other link training state based on the second pattern.

US Pat. No. 10,795,840

PERSISTENT KERNEL FOR GRAPHICS PROCESSING UNIT DIRECT MEMORY ACCESS NETWORK PACKET PROCESSING

1. A method comprising:determining, by a graphics processing unit in accordance with a kernel, that at least a first packet is written to a memory buffer of the graphics processing unit by a network interface card via a direct memory access, wherein the kernel is executed by at least one streaming multiprocessor of the graphics processing unit;
processing, by the graphics processing unit, the at least the first packet in accordance with the kernel;
providing, by the graphics processing unit, a first notification to a central processing unit that the at least the first packet is processed in accordance with the kernel;
determining, by the graphics processing unit in accordance with the kernel, that at least a second packet is written to the memory buffer by the network interface card via the direct memory access;
processing, by the graphics processing unit, the at least the second packet in accordance with the kernel, wherein the kernel comprises a persistent kernel; and
providing, by the graphics processing unit, a second notification to the central processing unit that the at least the second packet is processed in accordance with the kernel.

US Pat. No. 10,795,839

SYSTEMS AND METHODS FOR CREATING PIPELINE PATHS

Palantir Technologies Inc...

1. A system comprising:one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the system to perform:
obtaining a data pipeline including a plurality of graph pipeline paths, each of the plurality of graph pipeline paths including a plurality of pipeline nodes, at least one pipeline node of the plurality of pipeline nodes having at least two inputs, each of the at least two inputs comprising outputs of two or more other pipeline nodes of the plurality of pipelines nodes;
providing a linear pipeline path interface for creating and presenting a linear pipeline path of the data pipeline, the linear pipeline path including a plurality of pipeline nodes, each of the plurality of pipeline nodes being limited to a single input and a single output, the linear pipeline path interface being limited to interacting with linear pipeline paths, wherein the linear pipeline path interface comprises a first graphical user interface, and wherein the plurality of pipeline nodes of the of the linear pipeline path are configured to receive one or more out-of-path inputs in addition to the single input;
providing a graph pipeline interface for presenting and modifying at least a portion of the data pipeline, the at least a portion of the data pipeline including at least one graph pipeline path of the plurality of graph pipeline paths and the linear pipeline path, wherein the graph pipeline interface comprises a second graphical user interface;
switching from the linear pipeline path interface to the graph pipeline interface in response to a first user input received through the first graphical user interface; and
providing a mini-map interface presenting a scaled-down representation of a portion of the data pipeline corresponding to a portion of the linear pipeline path.

US Pat. No. 10,795,838

USING TRANSFER BUFFER TO HANDLE HOST READ COLLISIONS IN SSD

Intel Corporation, Santa...

1. A semiconductor apparatus for use with an electronic storage device, comprising:one or more substrates; and
logic coupled to the one or more substrates, wherein the logic is at least partly implemented in one or more of configurable logic and fixed-functionality hardware logic, the logic coupled to the one or more substrates to:
detect a collision for a read request of an electronic storage device, wherein the detection of the collision is based on an exception flag in a logical-to-physical table entry which corresponds to the read request, and
read data for the read request directly from a transfer buffer if the collision is detected.

US Pat. No. 10,795,837

ALLOCATION OF MEMORY BUFFERS IN COMPUTING SYSTEM WITH MULTIPLE MEMORY CHANNELS

Advanced Micro Devices, I...

1. A method for improving bus efficiency of a computer system, the method comprising:maintaining tracking information for utilization of a memory that includes a first plurality of memory banks, a second plurality of memory banks and a third plurality of memory banks, wherein the tracking information includes indications of whether memory buffers allocated within the memory are in use, free, or reserved;
allocating a first memory buffer to the first plurality of memory banks;
allocating a second memory buffer to the second plurality of memory banks, where the second plurality of memory banks spans multiple memory channels;
in response to receiving a request for a third memory buffer, reallocating the first memory buffer and the second memory buffer based on the indications included in the tracking information;
allocating the third memory buffer to the third plurality of memory banks;
updating one or more clock frequencies of the one or more of the multiple memory channels based on the reallocating of the first memory buffer and the second memory buffer;
associating a first sequence identifier to the first memory buffer;
associating a second sequence identifier to the second memory buffer; and
accessing the first memory buffer and the second memory buffer based on the first sequence identifier and the second sequence identifier.

US Pat. No. 10,795,836

DATA PROCESSING PERFORMANCE ENHANCEMENT FOR NEURAL NETWORKS USING A VIRTUALIZED DATA ITERATOR

Microsoft Technology Lice...

1. A system for enhanced data processing using one or more virtualized hardware iterators in a neural network environment, the system comprising:at least one processor;
at least one hardware iterator operable to perform one or more data iteration functions; and
at least one memory in communication with the at least one processor, the at least one memory having computer-readable instructions stored thereupon that, when executed by the at least one processor, cause the at least one processor to:
receive one or more initialization parameters from a cooperating controller component of the neural network environment, the initialization parameters comprising data representative of the dimensions of the data to be processed by the neural network environment;
load data from a cooperating memory component of the neural network environment;
receive one or more instructions from the cooperating controller component of the neural network environment to traverse the loaded data according to one or more iterator operation types and the one or more initialization parameters;
process the one or more instructions to select one or more portions of the loaded data according to one or more iterator operation types and the one or more initialization parameters; and
communicate the one or more portions of the loaded data to one or more processing components of the neural network environment.

US Pat. No. 10,795,835

STORAGE DEVICE AND INTERFACE CHIP THEREOF

Silicon Motion, Inc., Hs...

1. An interface chip within a storage device, the interface chip comprising:a control circuit, for controlling operations of the interface chip;
a slave interface circuit, for coupling the control circuit of the interface chip to a memory controller within the storage device to make the interface chip play a role of slave of the memory controller in the storage device; and
at least one bypass interface circuit, for coupling the control circuit of the interface chip to at least one other interface chip of the storage device to make the at least one other interface chip also play a role of slave of the memory controller in the storage device which comprises the memory controller, the interface chip as well as the at least one other interface chip, and a non-volatile (NV) memory comprising a plurality of NV memory chips;
wherein under the control of the control circuit, the interface chip bypasses at least one of data and at least one command between the memory controller and the at least one other interface chip, allowing the memory controller to access the NV memory through the interface chip in response to a host device command from a host device.

US Pat. No. 10,795,834

MEMORY CONTROLLER FOR SELECTIVE RANK OR SUBRANK ACCESS

Rambus Inc., San Jose, C...

1. A memory module comprising:ranks of memory, each rank of memory comprising memory arrays;
an interface to receive commands from a requestor and to distribute the commands via at least one shared path; and
circuitry to selectively operate each one of the ranks of memory in a manner that provides subrank access, by causing selectively-delayed sampling of the commands for access to a subset of the memory arrays of a corresponding one of the ranks of memory relative to access of others of the memory arrays of the corresponding one of the ranks of memory.

US Pat. No. 10,795,833

TRAY FOR AVIONICS BAY COMPRISING A RECORDING DEVICE, ASSOCIATED AVIONICS BAY AND AIRCRAFT

AIRBUS SAS, Blagnac (FR)...

1. A tray configured to be mounted in an avionics bay of an aircraft, the tray comprisinga body configured to support electrical equipment received into the avionics bay, and
a recording device comprising:
a first input/output port configured to be connected to a connector of the avionics bay;
a second input/output port configured to be connected to a connector of the electrical equipment;
a data bus connected between the first input/output port and the second input/output port and configured to rout signals between the first input/output port and the second input/output port;
a collection member configured to acquire at least some of the signals routed by the data bus between the first input/output port and the second input/output port; and
a memory configured to store the signals acquired by the collection member,
wherein the recording device is rigidly connected to the body.

US Pat. No. 10,795,832

ELECTRONIC TOOL FOR COMMUNICATING OVER A COMMUNICATION NETWORK

BARCO N.V., Kortrijk (BE...

1. A peripheral device comprising:a base,
a connector configured to connect to a serial plug and play port of a host processing device,
a flexible connection between the base and the connector configured to transfer data signals and power, and
wherein the base has electronics comprising a wireless transceiver and a processing engine, wherein said wireless transceiver and the processing engine are configured to connect the peripheral device directly to a wireless communications network, and
a physical actuator on the base being configured to actuate a signal and to transfer the signal to the connector to transfer to the serial plug and play port via at least one pre-installed generic driver for the port, and the serial plug and play port is configured to receive thereafter image data displayed on the host processing device,
wherein the physical actuator is configured to be activated by a user action applied to the physical actuator which triggers delivery of the image data from the host processing device via the serial plug and play port to the wireless transceiver, and from the wireless transceiver to the wireless communications network.

US Pat. No. 10,795,831

INFORMATION PROCESSING DEVICE, COMMUNICATION SYSTEM, INFORMATION PROCESSING METHOD

SONY CORPORATION, Tokyo ...

1. An information processing device, comprising:a central processing unit (CPU) configured to:
control reception of user information from an electronic device, wherein
the user information is associated with a relative position between a user and a display unit,
the user information includes rotation information, and
the rotation information indicates a direction of a face of the user with respect to the display unit;
control reception of a first image from a source device associated with the user;
control, based on the direction of the face of the user and the relative position between the user and the display unit, a location of the first image on the display unit, a size of the first image on the display unit, a rotation of the first image on the display unit, and a presence or an absence of an overlap between the first image and a second image on the display unit; and
control exchange of the user information with the electronic device based on a protocol of Wi-Fi Certified Miracast.

US Pat. No. 10,795,830

WRITE ACCESS CONTROL FOR DOUBLE DATA RATE WRITE-X/DATACOPY0 COMMANDS

Qualcomm Incorporated, S...

1. An apparatus comprising:an execution engine access (EE) controller and a Dynamic Random Access Memory (DRAM) controller,
wherein the EE controller is configured to:
receive an indirect access command on a control path comprising a control path data bus and a control path address bus, the indirect access command being a command to access a DRAM device and in which at least a part of the command is received on a path other than on a data path, and
translate a target address of the indirect access command expressed on the control path data bus, and
wherein the DRAM controller is configured to:
determine whether to allow or block the indirect access command based on the translated target address,
transmit the indirect access command to a DRAM device when it is determined that the indirect access command is to be allowed, and
block the indirect access command from being transmitted to the DRAM device when it is determined that the indirect access command is to be blocked, and
wherein the DRAM device is coupled to the apparatus over a DRAM link, and
wherein the indirect access command is transmitted over the DRAM link when it is determined that the indirect access command is to be allowed.

US Pat. No. 10,795,829

DEVICE, METHOD AND SYSTEM TO SELECTIVELY PROVIDE DATA VALIDATION FUNCTIONALITY

Intel Corporation, Santa...

1. An integrated circuit comprising:first circuitry to couple to a processor and to a memory, the first circuitry comprising:
a first circuit to detect a request by the processor to write data to the memory and, based on the request, to perform a calculation with the data to generate integrity information; and
a second circuit to determine a validity of a version of the data based both on the integrity information and another request by the processor to read the data from the memory; and
second circuitry coupled to the first circuitry, the second circuitry to:
detect a command from the processor, wherein the command comprises an indication of a first domain of the memory; and
transition the first circuitry to a state based on the indication, wherein the state is to:
enable the first circuit to generate first integrity information based on first data which is successfully written to the first domain during the state; and
prevent an access by the second circuit to second data which is successfully read from the first domain during the state, the access to determine a validity of the second data.

US Pat. No. 10,795,828

DATA VALIDITY TRACKING IN A NON-VOLATILE MEMORY

MICRON TECHNOLOGY, INC., ...

1. A method comprising:reading, by a computer device, an indicator from a configuration file, the indicator identifying a granularity of units of data at which to track validity, wherein the granularity is a group of units of data and the granularity is one of a plurality of granularities ranging from one unit of data in each group to many units of data in each group;
generating, by the computer device based on the indicator in the configuration file, a machine-readable file configured to cause a processing device of a memory system to track validity of one or more units of data within each group at the identified granularity using a plurality of data validity counters, each data validity counter in the plurality of data validity counters tracking validity of each individual unit of data in a corresponding group at the identified granularity, wherein each data validity counter indicates a number of units of data in a corresponding group of units of data that are valid; and
transferring the machine-readable file from the computer device to a memory of the memory system.

US Pat. No. 10,795,827

ADAPTIVE MANAGEMENT OF INTERMEDIATE STORAGE

Western Digital Technolog...

1. A storage device that receives read and write commands from a host, the storage device comprising:non-volatile memory including a portion of which is designated as intermediate storage (IS) memory and another portion of which designated as main storage (MS) memory, wherein the IS memory has lower write and read latencies, greater endurance, and lower storage density and capacity than the MS memory; and
an intermediate storage (IS) manager configured to
predict a host activity pattern based on at least one of one or more activity logs that keep track of at least one of read or write operations performed for the host, wherein the predicted host activity pattern is specified at least in part in terms of logical block addresses (LBAs) and/or LBA ranges;
perform comparisons between the predicted host activity pattern and a plurality of stored potential host activity patterns to thereby produce a plurality of matching scores each indicative of a level of similarity between the predicted host activity pattern and a respective one of the plurality of stored potential host activity patterns, wherein each of the plurality of stored potential host activity patterns is specified at least in part in terms of LBAs and/or LBA ranges and is associated with one of a plurality of stored relocation schemes;
select one of the plurality of stored relocation schemes based on the matching scores resulting from the comparisons, so long as at least one of the matching scores exceeds a specified matching threshold;
in response to none of the matching scores exceeding the specified matching threshold, generate and store a further relocation scheme associated with a further potential host activity pattern, wherein the further relocation scheme after being generated and stored is available for selection and execution; and
execute the selected relocation scheme to thereby selectively relocate one or more portions of data from the IS memory to the MS memory in accordance with the selected relocation scheme.

US Pat. No. 10,795,826

TRANSLATION LOOKASIDE BUFFER MANAGEMENT METHOD AND MULTI-CORE PROCESSOR

HUAWEI TECHNOLOGIES CO., ...

1. A translation lookaside buffer (TLB) management method, applied to a multi-core processor, wherein the multi-core processor comprises a first core, the first core comprises a TLB, and the method comprises:receiving, by the first core, a first address translation request, and querying the TLB of the first core based on the first address translation request;
determining, by the first core, that a first target TLB entry corresponding to the first address translation request is missing in the TLB of the first core;
obtaining, by the first core, the first target TLB entry;
determining, by the first core, that entry storage in the TLB of the first core is full;
determining, by the first core, a second core from cores in an idle state in the multi-core processor; and
replacing, by the first core, a first entry in the TLB of the first core with the first target TLB entry, and storing the first entry into a TLB of the second core, and
wherein the determining, by the first core, the second core from the cores in the idle state in the multi-core processor comprises:
sending, by the first core, a status query request to each of other cores in the multi-core processor, wherein the status query request is used to query whether each core is in the idle state;
receiving, by the first core, a response message sent by each of the other cores, wherein the response message is used to indicate whether each core is in the idle state; and
selecting, by the first core based on the response message, one the cores in the idle state as the second core.

US Pat. No. 10,795,825

COMPRESSING DATA FOR STORAGE IN CACHE MEMORIES IN A HIERARCHY OF CACHE MEMORIES

ADVANCED MICRO DEVICES, I...

1. An electronic device that compresses data for storage in cache memories, the electronic device comprising:a hierarchy of cache memories including a first cache memory and a second cache memory, the first cache memory being lower in the hierarchy than the second cache memory; and
at least one compression-decompression functional block configured to:
receive data in an uncompressed state;
compress the data using one of a first compression or a second compression by using the second compression and then using the first compression when using the second compression does not result in compression of the data;
after compressing the data, provide the data to the first cache memory for storage therein;
when the data is retrieved from the first cache memory to be stored in the second cache memory, when the data is compressed using the first compression, decompress the data to reverse effects of the first compression on the data, thereby restoring the data to the uncompressed state; and
provide the data compressed using the second compression or in the uncompressed state to the second cache memory for storage therein.

US Pat. No. 10,795,824

SPECULATIVE DATA RETURN CONCURRENT TO AN EXCLUSIVE INVALIDATE REQUEST

INTERNATIONAL BUSINESS MA...

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:at least one computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method comprising:
requesting, by a requesting processor of the computing environment, data of a shared cache, the data being owned by another processor of the computing environment; and
obtaining the data by the requesting processor concurrent to an invalidate request being sent to the other processor requesting the other processor to release ownership of the data being requested, wherein the data is obtained by the requesting processor prior to there being a response from the invalidate request.

US Pat. No. 10,795,823

DYNAMIC PARTIAL POWER DOWN OF MEMORY-SIDE CACHE IN A 2-LEVEL MEMORY HIERARCHY

Intel Corporation, Santa...

9. A computer-implemented method, comprising:performing the following for a main memory subsystem comprised of a non-volatile system memory and a volatile memory side cache (MSC) that caches portions of the non-volatile system memory:
specifying with software a specified region of the MSC as a fraction of the MSC;
applying a usage metric to the specified region of the MSC by the software;
triggering a deactivation condition by the software because the usage metric reflects that the specified region of the MSC is not being sufficiently utilized to justify continued operation of the specified region of the MSC;
flushing the specified region of the MSC to the non-volatile system memory in response to the deactivation condition, the flushing comprising scanning the specified region of the MSC for dirty cache lines within the specified region of the MSC and evicting the dirty cache lines to the non volatile system memory;
deactivating the specified region of the MSC by placing the specified region of the MSC in a lower power state by throttling down clocking and/or disabling refreshing; and,
continuing to execute software program code out of the non-volatile system memory after the specified region of the MSC has been deactivated into the lower power state.

US Pat. No. 10,795,822

SYSTEM AND METHOD FOR NEGATIVE FEEDBACK CACHE DATA FLUSH IN PRIMARY STORAGE SYSTEMS

EMC IP Holding Company, L...

1. A computer-implemented method comprising:determining, by a computing device, a number of dirty pages capable of being generated per process on a backing device;
determining whether the number of dirty pages capable of being generated per process on the backing device exceeds a threshold set point of actual dirty pages currently generated per process on the backing device;
determining a variable amount of time to sleep if the number of dirty pages capable of being generated per process on the backing device exceeds the threshold set point of actual dirty pages currently generated per process on the backing device; and
executing sleep for the variable amount of time, wherein generation of additional dirty pages is paused.

US Pat. No. 10,795,821

MEMORY EFFICIENT KEY-VALUE STORE

VMware, Inc., Palo Alto,...

1. A computer system, comprising:one or more processors; and
memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:
receiving a first key associated with data;
obtaining, from memory, a block address of a block of keys, wherein the block address corresponds to an address on disk storage corresponding to the block of keys, and wherein each key of a plurality of keys in the block of keys correspond to a respective value stored on the disk storage;
obtaining, from the disk storage, the block of keys using the block address;
locating a second key in the block of keys, wherein locating the second key includes comparing the first key to the plurality of keys in the block of keys and determining that the second key matches the first key; and
obtaining a value of the respective values using the second key.

US Pat. No. 10,795,820

READ TRANSACTION TRACKER LIFETIMES IN A COHERENT INTERCONNECT SYSTEM

ARM Limited, Cambridge (...

1. Apparatus for a coherent interconnect system comprising:interface circuitry to receive coherency protocol transactions from a requesting master device and to exchange further coherency protocol transactions with a data-storing slave device;
transaction tracking circuitry to maintain records of the coherency protocol transactions received from the requesting master device whilst completion of the coherency protocol transactions are pending; and
transaction control circuitry responsive to reception at the interface circuitry of a read transaction of the coherency protocol transactions from the requesting master device for a data item stored in the data-storing slave device to issue a direct memory transfer request to the data-storing slave device, wherein the direct memory transfer request comprises a read acknowledgement trigger to solicit a read acknowledgement signal from the data-storing slave device,
and wherein the transaction tracking circuitry is responsive to reception at the interface circuitry of the read acknowledgement signal from the data-storing slave device to update a record in the transaction tracking circuitry created by reception of the read transaction to indicate completion of the direct memory transfer request.

US Pat. No. 10,795,819

MULTI-PROCESSOR SYSTEM WITH CONFIGURABLE CACHE SUB-DOMAINS AND CROSS-DIE MEMORY COHERENCY

Intel Corporation, Santa...

1. A system comprising:R racks, each rack comprising N nodes;
each node comprising D dies;
each die comprising C cores and a die shadow tag array;
each core comprising P pipelines and a core shadow tag array;
each pipeline associated with a data cache and a data cache tag array;
each data cache being either non-coherent or coherent; and
each coherent cache being associated with one of X coherency domains, and having cache lines with a modified, owned, exclusive, shared, invalid, or forward (MOESI-F) state;
wherein each pipeline, when needing to read a cache line, issues a read request to its associated data cache, then, if need be, issues a read request to its associated core-level cache, then, if need be, issues a read request to its associated die-level cache, then, if need be, issues a no-cache remote read request to one of the D dies being mapped to hold the cache line.

US Pat. No. 10,795,818

METHOD AND APPARATUS FOR ENSURING REAL-TIME SNOOP LATENCY

Apple Inc., Cupertino, C...

1. An apparatus, comprising:a processor; and
a cache controller coupled to receive cache snoop requests from the processor via a channel, the snoop requests including latency-sensitive snoop requests and non-latency sensitive snoop requests, wherein latency-sensitive snoop requests are not prioritized over non-latency sensitive snoop requests in the channel;
wherein the cache controller is configured to limit, to a predetermined value, a number of received non-latency sensitive snoop requests that can be processed ahead of an incoming latency-sensitive snoop request;
wherein to limit the number of received non-latency sensitive snoop requests that can be processed ahead of the incoming latency-sensitive snoop request the cache controller is further configured to determine that the number of received non-latency sensitive requests has reached the predetermined value and responsively prioritize latency-sensitive snoop requests over non-latency sensitive snoop requests.

US Pat. No. 10,795,817

CACHE COHERENCE FOR FILE SYSTEM INTERFACES

Western Digital Technolog...

1. A system, comprising:a first file server configured to manage a plurality of file data requests from at least one client system, wherein the first file server and the at least one client system use a file system protocol for the plurality of file data requests;
a first data cache;
a reference data store configured to store a cross-reference of file data references and storage data references; and
a cache coherence manager configured to:
assign at least one coherence value to the first data cache, wherein the at least one coherence value corresponds to at least one file data reference for file data in the first data cache;
store the at least one coherence value in a coherence reference associated with the at least one file data reference for file data in the first data cache; and
in response to a new file data request corresponding to the at least one file data reference, compare the at least one coherence value of the first data cache to the coherence reference associated with the at least one file data reference,
wherein the first file server is further configured to execute, responsive to a comparison between the at least one coherence value of the first data cache and the coherence reference, the new file data request using one of: file data in the first data cache if the comparison matches; and file data in a second data cache location in a second data cache if the comparison does not match, wherein the first file server identifies the second data cache location based on the coherence reference.

US Pat. No. 10,795,816

METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR IMPLEMENTING FILTER CACHE IN A GROUP-BASED COMMUNICATION PLATFORM

Slack Technologies, Inc.,...

1. An apparatus comprising at least one processor and at least one non-transitory memory comprising program code, the at least one non-transitory memory and the program code configured to, with the at least one processor, cause the apparatus to at least:generate an index document array, wherein the index document array comprises a plurality of index documents, wherein each of the plurality of index documents is associated with a group identifier and a channel identifier;
generate a group identifier lookup array comprising a plurality of group identifier nodes, wherein each group identifier node corresponds to a unique group identifier associated with the plurality of index documents;
generate a channel identifier lookup array comprising a plurality of channel identifier nodes, wherein each channel identifier node corresponds to a unique channel identifier associated with the plurality of index documents;
generate a filter cache for the index document array based at least on the group identifier lookup array and the channel identifier lookup array, wherein the filter cache comprises:
a group identifier offset array comprising a plurality of group identifier pointers, wherein each group identifier pointer maps a group identifier node in the group identifier lookup array to a first corresponding channel identifier node in the channel identifier lookup array; and
a channel identifier offset array comprising a plurality of channel identifier pointers, where each channel identifier pointer maps a channel identifier node in the channel identifier lookup array to a first corresponding index document in the index document array; and
store the filter cache in the at least one non-transitory memory.

US Pat. No. 10,795,815

METHOD AND APPARATUS FOR MAINTAINING DATA COHERENCE IN A NON-UNIFORM COMPUTE DEVICE

ARM Limited, Cambridge (...

1. A method for maintaining data coherence in an apparatus comprising a host processor having a first processing unit, one or more near memory processing units, and a multi-level memory system having a plurality of logical levels, where a highest level of the memory system comprises an L1 cache accessible by the first processing unit, where a second level of the memory system, at a lower logical level of the multi-level memory system than the first level, comprises a second cache tightly coupled with a processing unit of the one or more near memory processing units, and where a third level of the memory system comprises a non-cache memory, the method comprising:loading a block of instructions to operate on first data;
selecting, as a target processing unit, the first processing unit or a processing unit of the one or more near memory processing units, where the first data is stored at first data locations in a cache tightly coupled to the target processing unit and is associated with first memory addresses in the non-cache memory;
issuing the block of instructions to the target processing unit;
prior to executing the block of instructions by the target processing unit:
backing up the first data to second data locations;
blocking access to data associated with the first memory addresses by processing units other than the target processing unit;
writing the first data having a modified state in the cache tightly coupled to the target processing unit to the non-cache memory; and
setting the first data having an unmodified state in the cache tightly coupled to the target processing unit to a modified state; and
executing, by the target processing unit, the block of instructions to:
read the first data from the first data locations in the cache tightly coupled to the target processing unit;
operate on the first data to produce second data; and
write the second data to the cache tightly coupled to the target processing unit.

US Pat. No. 10,795,814

PLACEMENT OF LOCAL CACHE AREAS

EMC IP Holding Company LL...

1. A method of maintaining multiple cache areas in a storage device having multiple processors, comprising:loading data from a specific portion of non-volatile storage into a first local cache area in response to a first processor of a first subset of the processors performing a read operation to the specific portion of non-volatile storage, wherein the first local cache area is accessible to the first subset of the processors and is inaccessible to a second subset of the processors that is different than the first subset of the processors and is inaccessible to a third subset of the processors that is different than the first subset of the processors and the second subset of the processors;
loading data from the specific portion of non-volatile storage into a second local cache area in response to a second processor of the second subset of the processors performing a read operation to the specific portion of non-volatile storage, wherein the second local cache area is different from the first local cache area and wherein the second local cache area is accessible to the second subset of the processors and is inaccessible to the first subset of the processors and the third subset of the processors;
loading data from the specific portion of non-volatile storage into a global cache area in response to one of the processors performing a write operation to the specific portion of non-volatile storage, wherein the global cache area is accessible to the first subset of the processors and to the second subset of the processors and to the third subset of processors; and
eliminating specific data from the third cache area in response to the specific data being loaded into the global cache area and removed from the second cache area.

US Pat. No. 10,795,813

IMPLEMENTING PER-PROCESSOR MEMORY AREAS WITH NON-PREEMPTIBLE OPERATIONS USING VIRTUAL ALIASES

VMware, Inc., Palo Alto,...

1. A method for assuring safe execution of non-preemptible code, comprising:assigning a context to execute on a first central processing unit (CPU);
receiving an exception and, while processing the exception, determining whether the context is currently executing non-preemptible code;
if the context is currently executing non-preemptible code, setting a flag indicating that a preemption is pending;
completing the exception processing on the first CPU;
completing execution of the non-preemptible code;
discovering whether the flag is set; and
if the flag is set, allowing a preemption to move the context to a second CPU.

US Pat. No. 10,795,812

VIRTUAL COPY FORWARD METHOD AND SYSTEM FOR GARBAGE COLLECTION IN CLOUD COMPUTING NETWORKS

EMC IP Holding Company LL...

1. A computer-implemented method comprising:implementing a garbage collection (GC) process as part of a deduplication backup system executed on a server computer in a cloud computing network;
identifying metadata stored in file system (FS) segments;
storing the metadata in a locally stored metadata container on the server as well as on a cloud storage device maintained in the network;
reading the locally stored metadata container through the GC process to obtain metadata of the FS containers and determine live data regions of the FS containers, wherein the metadata contains fingerprints of all segments of the file system containers;
performing a copy forward process to forward the live data regions to new containers written both locally on the server and on the cloud storage device;
writing live portions of the metadata container to a new metadata container written both locally on the server and on the cloud storage device; and
deleting dead compression regions from the cloud storage device and deleting the original metadata container from local storage on the server and the cloud storage device, wherein files of the file system are represented as a segment tree comprising data segments represented by leaf nodes (L0) and indirect segments represented as parent nodes (L1 to L6) of the segment tree, and wherein L1 to L6 data chunks are referred to as LP chunks, where P is a parameter that ranges from 1 to 6 and indicates metadata representing a file.

US Pat. No. 10,795,811

METHOD FOR MANAGING A MEMORY APPARATUS

Silicon Motion, Inc., Hs...

1. A method for managing a memory apparatus, the memory apparatus comprising at least one non-volatile (NV) memory element comprising a plurality of physical blocks, the method comprising:obtaining a first host address and first data from a received first access command;
obtaining a second host address and second data from a received second access command;
linking the first host address to at least a first page of a physical block of the plurality of physical blocks and linking the second host address to at least a second page of the physical block;
storing the first data and second data into the physical block; and
selectively erasing a portion of the plurality of physical blocks according to a valid/invalid page count of each physical block of the plurality of physical blocks, the valid/invalid page count corresponding to accessing pages of the plurality of physical blocks;
wherein a difference value of the first host address and the second host address is greater than a number of pages of the physical block.

US Pat. No. 10,795,810

WEAR-LEVELING SCHEME FOR MEMORY SUBSYSTEMS

MICRON TECHNOLOGY, INC., ...

1. A method comprising:selecting a source chunk to be removed from a usable address space of a memory subsystem to distribute wear across all available chunks in the memory subsystem, the memory subsystem having a plurality of non-volatile memory components, the plurality of non-volatile memory components including a plurality of chunks including at least one chunk in an unusable address space of the memory subsystem;
copying valid data of the source chunk to a destination chunk in the unusable address space of the memory subsystem, the copying including a phase driven migration that tracks a pre-migration phase and a post-migration phase for the source chunk and the destination chunk; and
updating a virtualization table to track assignment of the destination chunk to a location in the usable address space of the memory subsystem occupied by the source chunk.

US Pat. No. 10,795,809

NON-VOLATILE LOGIC DEVICE FOR ENERGY-EFFICIENT LOGIC STATE RESTORATION

Arizona Board of Regents ...

1. A non-volatile logic device on a semiconductor die, the non-volatile logic device comprising:a volatile scan flip-flop comprising a first differential node and a second differential node; and
a non-volatile storage unit coupled to the volatile scan flip-flop and comprising:
a first write buffer coupled to the first differential node;
a second write buffer coupled to the second differential node; and
a data transistor coupled between a first output of the first write buffer and a second output of the second write buffer;
wherein:
during a backup mode, the non-volatile storage unit stores a state of the volatile scan flip-flop; and
upon loss of power to the non-volatile logic device, the non-volatile storage unit retains the stored state.

US Pat. No. 10,795,808

METHOD FOR SECURING AT LEAST ONE MEMORY ZONE OF AN ELECTRONIC DEVICE, CORRESPONDING SECURING MODULE, ELECTRONIC DEVICE AND COMPUTER PROGRAM

INGENICO GROUP, Paris (F...

1. A method for securing at least one memory zone of an electronic device, wherein the method comprises the following acts:detecting a deallocation, when it occurs, of at least one portion of said memory zone, called a deallocated portion;
in response to the detecting, replacing at least one part of said deallocated portion with at least one predetermined instruction, called an alert instruction, or at least one combination of predetermined instructions, called a combination of alert instructions;
marking said deallocated portion to deliver a marked memory zone according to different types of marking; and
a preliminary act of determining a size of said deallocated portion, and:
when said determined size is below a predetermined threshold, said replacing act replaces all the bytes of said deallocated portion by at least one alert instruction or at least one combination of alert instructions, and said marking delivers a secured marked memory zone; and
when said determined size is above a predetermined threshold, said replacing act replaces at least the n first and the m last bytes of said deallocated portion by at least one alert instruction or at least one combination of alert instructions, with n and m being predetermined integers greater than zero, and said marking delivers an unsecured marked memory zone.

US Pat. No. 10,795,807

PARALLEL TESTING AND REPORTING SYSTEM

Accenture Global Solution...

1. A computing device comprising:a machine-readable medium, other than a transitory signal; and
instructions stored on the machine-readable medium, the instructions configured to, when executed, cause processing circuitry to:
retrieve, from a reporting database:
a first set of output results associated with a legacy application, and
a second set of output results associated with a target application;
determine a variance result between the first set of output results and the second set of output results;
determine the variance result is categorized into a non-acceptable category bucket;
determine a defect is associated with the variance result,
the defect determined based on the variance result being categorized into the non-acceptable category bucket; and
assign a testing resource to the variance result.

US Pat. No. 10,795,806

DEVICES AND METHODS FOR GENERATING A STREAM OF HEALTH-RELATED DATA

VOLUNTIS S.A., Paris (FR...

1. A method of generating a stream of data, said data being representative of at least an algorithm of a software as a medical device, the method comprising:designing said at least an algorithm using first programming language items of a determined domain-specific language, said determined domain-specific language being obtained using a determined language workbench environment;
simulating an executing of said at least an algorithm with a simulation environment obtained using second programming language items of said determined domain-specific language, said simulating being implemented in said determined language workbench environment;
testing said at least an algorithm with at least a test function written with third programming language items of said determined domain-specific language, said testing being implemented in said determined language workbench environment;
generating said stream of data.

US Pat. No. 10,795,805

PERFORMANCE ENGINEERING PLATFORM AND METRIC MANAGEMENT

Capital One Services, LLC...

1. A system to test a system under test (SUT), comprising:a processor; and
a non-volatile memory storing test platform program code, the test platform program code operable when executed upon by the processor to:
control a user interface of a workstation that is configured to receive input for a test to test the SUT, the input including a plurality of test attributes and a selected performance metric, wherein the plurality of test attributes include a number of simulated users for the test, a geographic location of the test, a test duration, a test ramp up time, and a test ramp down time;
generate the test for the SUT based on the plurality of test attributes;
deploy an agent to a pool of servers to execute the test on a server of the pool of servers, the server selected from the pool of servers based on the plurality of test attributes, the agent for generating first network traffic in accordance with the plurality of test attributes to test the SUT;
store second network traffic, the second network traffic comprising test results received from applying the first network traffic to the SUT;
process the test results to determine a resulting performance metric for the SUT; and
display the resulting performance metric on the user interface.

US Pat. No. 10,795,804

COLLISION EVALUATION FOR LOG-BASED SIMULATIONS

Waymo LLC, Mountain View...

1. A method of testing software for operating a vehicle in an autonomous driving mode, the method comprising:accessing, from a storage system, log data collected by a vehicle operating in an autonomous driving mode,
running, by one or more processors, a first simulation using the log data,
wherein the first simulation is run using the software to control a first simulated vehicle, and
wherein the log data identifies at least one agent included in the first simulation;
during the running of the first simulation, determining, by the one or more processors, that a particular type of interaction between the first simulated vehicle and the at least one agent has occurred;
in response to the determining that the particular type of interaction between the first simulated vehicle and the at least one agent has occurred, running, by the one or more processors, a second simulation using the log data by replacing the at least one agent with a model agent that simulates a road user capable of responding to actions performed by simulated vehicles,
wherein the second simulation is run using the software to control a second simulated vehicle; and
determining, by the one or more processors, whether the particular type of interaction between the second simulated vehicle and the model agent has occurred in order to determine whether the software is able to complete the second simulation without the particular type of interaction between the second simulated vehicle and the model agent having occurred.

US Pat. No. 10,795,803

SYSTEMS AND METHODS FOR SUMMARIZATION AND VISUALIZATION OF TRACE DATA

GREEN HILLS SOFTWARE LLC,...

1. A computer-implemented method to summarize trace data comprising a plurality of trace events to facilitate visual analysis of said trace data, comprising:assigning one or more of said trace events within a received stream of said trace events associated with a unit of execution into one or more substreams;
for each said substream, creating a plurality of summary entries from said substream, wherein each of said summary entries is associated with one or more of a plurality of summary levels, and wherein each of said summary entries represents a plurality of said trace events,
wherein each of said summary entries comprises a representation of said plurality of said trace events that occurred within a time range corresponding to said plurality of said trace events, wherein each of said representations comprises a trace event signature; and
translating said summary entries into a graphical representation to facilitate said visual analysis of said trace data.

US Pat. No. 10,795,802

SYSTEMS AND METHODS FOR A REAL TIME EMBEDDED TRACE

Honeywell International I...

1. A system for acquiring data, the system comprising:a first computing system comprising:
a memory unit; and
a processing unit executing software, wherein the software comprises at least one real time trace instruction, wherein the at least one real time trace instruction is a high level instruction inserted into the executing software from a software library, wherein high level instructions in the software library allow for the recording of a plurality of data parameters;
wherein execution of the at least one real time trace instruction directs the processing unit to directly store non-executable data onto the memory unit; and
wherein the stored data is translated for a user after it is stored onto the memory unit.

US Pat. No. 10,795,801

TIME TRAVEL SOURCE CODE DEBUGGER INCORPORATING ASYNCHRONOUS COLLABORATION

OZCODE LTD, Herzelia (IL...

1. A method, implemented on a computer that includes one or more processors, of asynchronous collaborative debugging of a debuggee application having source code associated therewith, the method comprising:capturing, on a first computer, both a dump file and a current debugging session state, said dump file and said current debugging session state sent to at least one of a cloud debugger, and an on-premise production debugger;
generating and transmitting, on said first computer, a collaboration request message to one or more participants of a debugging session which includes a debug session link to said captured dump file and said current debugging session state;
generating and sharing, on said first computer, one or more point in time links with participants in the debugging session, each point in time link indicating a specific location in the source code and execution context including a specific point in time in the execution of the source code;
in response to the collaboration request message and utilizing said debug session link, obtaining, on a second computer, the current debugging session state captured previously on said first computer and utilizing it immediately for debugging while contemporaneously obtaining the dump file captured previously on said first computer;
obtaining on said second computer a memory delta buffer, ceasing using the captured current debugging session state, and utilizing the captured dump file and memory delta buffer for the debugging session; and
reconstructing one or more variables, on said second computer, by traversing backwards through said memory delta buffer from a memory delta buffer index indicated by said point in time link whereby variables found in said memory delta buffer are set equal to values stored therein.

US Pat. No. 10,795,800

PROGRAMMING LANGUAGE RUNTIME DEFERRED EXCEPTION HANDLING

International Business Ma...

1. A computer-implemented method for handling computer program runtime exceptions, comprising executing on a computer processor:in response to a program exception in an application thread that is deferrable, inspecting a call stack for context of critical sections of program code that the application thread entered without exiting;
determining that a currently executing statement of the program code is within the critical sections based on the inspected call stack;
counting for the application thread levels of critical sections of program code that the application thread entered without exiting according to the inspected call stack; and
in response to the program exception in the application thread that is deferrable and a non-zero count of the levels of critical sections, executing a remainder of program code within the critical sections of program code.

US Pat. No. 10,795,799

WEBSITE DEBUGGER FOR NATURAL LANGUAGE TRANSLATION AND LOCALIZATION

salesforce.com, inc., Sa...

1. A computer-assisted debugging method, comprising:comparing, by one or more processors, a source language file having a first string property, and a translated language file having a second string property, to identify characteristics relating to translation states, the characteristics comprise translated string properties, string properties intended to be translated but that are not yet translated, and other elements not intended to be translated, and wherein the translated language file is a translated version of the source language file;
generating, by the one or more processors, visual coding of the second string property in a user interface panel, wherein the visual coding enables a user to differentiate among the characteristics relating to the translation states;
modifying, by the one or more processors, in response to an input by the user received through the user interface panel, the second string property to create a modified string property;
displaying, by the one or more processors, the modified string property in the user interface panel; and
exporting, by the one or more processors, the modified string property to a file that includes the translated language file.

US Pat. No. 10,795,798

NOTIFICATION CONTROL METHOD AND INFORMATION PROCESSING APPARATUS

FUJITSU LIMITED, Kawasak...

1. A non-transitory computer-readable recording medium having stored therein a program that causes a computer to execute a notification control process, the notification control process comprising:acquiring identification information of a process executed on a virtual machine and information indicating a behavior of the process at a time when the process is executed, and sequentially storing the information in a memory;
referring to the information stored in the memory when a deployment of software in the virtual machine is detected, identify first identification information of a first process such that a change of the behavior at the time when the first process is executed before and after the deployment exceeds a predetermined first criterion; and
notifying the first identification information to a monitoring process that monitors an operation of the software.

US Pat. No. 10,795,797

CONTROLLER, SATA SYSTEM AND METHOD OF OPERATION THEREFOR

NXP USA, Inc., Austin, T...

1. A controller for operably coupling a drive unit to a host unit in a serial advanced technology attachment (SATA) system, wherein the controller comprises a hardware processor arranged to:receive a plurality of SATA data frames;
determine that a sequence of primitives in at least one of the plurality of SATA data frames matches a first primitive sequence stored at a register, the sequence of primitives received without errors and including more than one primitive, wherein the first primitive sequence adversely affects a data transfer performance of the SATA system; and
replace the sequence of primitives with a second primitive sequence to improve the data transfer performance of the SATA system relative to the first primitive sequence.

US Pat. No. 10,795,796

PREDICTIVE PERFORMANCE ANALYSIS FOR FILE SYSTEMS

Qumulo, Inc., Seattle, W...

1. A method for managing file systems over a network using one or more processors that execute instructions to perform actions, comprising:providing a core specification that defines one or more characteristics of a portion of a file system and one or more parameters, wherein the one or more characteristics include one or more storage device characteristics, and wherein the one or more parameters include one or more of node counts for a plurality of cluster sizes, or a plurality of protection levels;
iteratively generating a plurality of file system models based on the core specification and the one or more parameters, wherein each file system model corresponds to a file system that conforms to a core specification and a specific value for the one or more parameters;
employing a simulation engine to provide one or more simulation results for each of the file system models;
iteratively generating a plurality of deployment models based on the simulation results for the plurality of file system models, wherein each deployment model is associated with one or more file system performance characteristics; and
employing one or more file system performance requirements to select one or more of the plurality of deployment models to provision one or more file systems that conform to the one or more file system performance characteristics associated with its corresponding deployment model.

US Pat. No. 10,795,795

INTERMEDIATE CHECK POINTS AND CONTROLLABLE PARAMETERS FOR ADDRESSING PROCESS DEFICIENCIES

1. A system comprising:a data storage that stores data sets for a plurality of cases, each data set for each case of the plurality of cases comprising:
identification data for the case; a type of a process executed;
a set of one or more potential checkpoint indicators, each potential checkpoint indicator of the set of one or more potential checkpoint indicators indicating an attribute of the process executed or an attribute pertaining to a checkpoint during execution of the process; and
a set of one or more result variables, each result variable of the set one or more result variables indicating whether an event occurred after or during execution of the process, the event relating to the checkpoint and being indicative of a quality of performance of the process;
one or more processors configured to provide:
a population quantifier that:
accesses the set of one or more potential checkpoint indicators and the set of one or more result variables from each data set for each case of a set of cases from amongst the plurality of cases;
determines, for each potential checkpoint indicator from the sets of one or more potential checkpoint indicators, whether the potential checkpoint indicator is predictive of a process result that depends on at least one result variable of the sets of one or more result variables;
a variable selector that identifies at least one potential checkpoint indicator of the sets of one or more potential checkpoint indicators as being an identified checkpoint indicator;
a first engine that:
accesses a criterion pertaining to the identified checkpoint indicator and corresponding to a target value or range of values;
determines a result that indicates whether the criterion is met based on a checkpoint statistic; and
a second engine that, when the criterion is not met, sends a transmission to facilitate causing at least one system component to automatically make a change to a controllable parameter to influence a corresponding checkpoint.

US Pat. No. 10,795,794

LENDING TARGET DEVICE RESOURCES TO HOST DEVICE COMPUTING ENVIRONMENT

Microsoft Technology Lice...

1. A target device that fulfills a request to participate in a host computing environment of a host device, the target device comprising:a processor executing a target computing environment; and
a target device presentation component provided within the target computing environment; and
a memory storing instructions that, when executed on the processor, provide:
a target device hardware resource advertiser that advertises an availability of the target device hardware resource; and
a device resource lender that, responsive to receiving a request to borrow the target device presentation component for use in the host computing environment to display a rendering of at least a portion of the host computing environment:
reserves the target device presentation component for the host computing environment;
transmits to the host device an acceptance of the request;
presents the rendering of at least a portion of the host computing environment using target device presentation component; and
while presenting the at least a portion of the computing environment through the target presentation component, concurrently continues to execute the target computing environment on the target device.

US Pat. No. 10,795,793

METHOD AND SYSTEM FOR SIMULATING SYSTEM FAILURES USING DOMAIN-SPECIFIC LANGUAGE CONSTRUCTS

INTUIT INC., Mountain Vi...

1. A method for executing failure tests on a distributed computing system, comprising:receiving a request to invoke a failure in a distributed computing system, the request including identified properties of a simulated system failure and an expected outcome of the simulated system failure;
generating a failure scenario definition from the received request by inserting the identified properties of the simulated system failure and an expected outcome of the simulated system failure into a template associated with an identified type of failure and formatted according to the defined format, wherein:
the failure scenario definition comprises a natural language input specifying a failure scenario in a domain-specific language (DSL) defining a format in which simulated system failures are to be received;
generating commands directed to each of the identified systems to simulate a system failure on the identified systems according to the identified properties;
transmitting the generated commands to the identified systems;
monitoring the distributed computing system to record an outcome of the simulated system failure;
comparing the recorded outcome of the simulated system failure to the expected outcome of the simulated system failure; and
upon determining that the recorded outcome and expected outcome of the simulated system failure differs, generating an alert identifying a difference between the recorded outcome and the expected outcome.

US Pat. No. 10,795,792

METHODS, APPARATUSES AND SYSTEMS FOR CLOUD-BASED DISASTER RECOVERY TEST

Storage Engine, Inc., Ti...

1. A method for providing a cloud-based disaster recovery test, comprising:receiving, at a cloud-based computing platform, a request for a disaster recovery test of at least a portion of a client's data network with an indication of a recovery point at which to perform the cloud-based disaster recovery test;
in response to the received request and indication:
creating an isolated network in the cloud-based computing platform;
cloning, in the isolated network, machines and configurations of the at least the portion of the client's data network to be included in the cloud-based disaster recovery test, wherein the machines are cloned to reflect respective configurations at the recovery point;
retrieving data associated with the cloned machines at the recovery point from a storage means having a backup copy of such data;
provisioning the cloned machines with the retrieved data for performing the cloud-based disaster recovery test in the cloud-based computing platform;
reserving resources of the cloud-based computing platform based on the cloned machines and configurations of the at least the portion of the client's data network and an associated data handler to be deployed in the cloud-based disaster recovery test; and
enabling the cloned machines for use by the client for performing the cloud-based disaster recovery test in the cloud-based computing platform.

US Pat. No. 10,795,791

STATE-TRACKED TESTING ACROSS NETWORK BOUNDARIES

Amazon Technologies, Inc....

1. A system, comprising:one or more processors; and
memory with instructions that, as a result of execution by the one or more processors, cause the system to:
determine, based at least in part on executable code associated with a first network, information for a second system within a second network to run the executable code;
provide at least the information to the second system;
configure, based at least in part on the information, the second system within the second network to run the executable code from the second network by at least performing one or more operations using the second system in response to a command from a different system on the first network; and
as a result of the second system running the executable code, restore the second system to a previous state from prior to the second system running of the executable code.

US Pat. No. 10,795,790

STORAGE CONTROL APPARATUS, METHOD AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM

FUJITSU LIMITED, Kawasak...

1. A storage control apparatus comprising:a memory; and
a processor coupled to the memory and configured to:
access a physical storage region in a storage apparatus, the physical storage region corresponding to a logical address of a logical storage region;
when an error is detected in the accessing of the physical storage region corresponding to the logical address, obtain a physical address of the physical storage region;
measure, for each of a plurality of divisional schemes, an error occurred number by using the obtained physical address, the error occurred number indicating a number of times in which the error is detected in the physical storage region, the plurality of divisional schemes including at least any of sectors, tracks, or heads; and
execute a recovery processing when the error occurred number corresponding to any of the plurality of divisional schemes is equal to or greater than a first threshold, the recovery processing including:
selecting a recovery target region from among the physical storage region in the storage apparatus, the recovery target region having a range corresponding to the any of the plurality of divisional schemes;
selecting a first recovery method from among a plurality of recovery methods, each of the plurality of recovery methods corresponding to an associated divisional scheme from among the plurality of divisional schemes, the first recovery method corresponding to the any of the plurality of divisional scheme; and
causing the storage apparatus to recover one or more logical addresses by using the first recovery method, each of the one or more logical addresses being a logical address belonging the recovery target region in the storage apparatus.

US Pat. No. 10,795,789

EFFICIENT RECOVERY OF ERASURE CODED DATA

NETAPP, INC., Sunnyvale,...

1. A method comprising:identifying a set of virtual chunk spaces storing an erasure coded data object across a first plurality of storage nodes, wherein each virtual chunk space corresponds to a respective storage node, further wherein the set of virtual chunk spaces is affected by data loss;
reading first data fragments from a group of active storage nodes in the first plurality of storage nodes;
reconstructing the data object from the first data fragments according to an erasure coding algorithm;
generating new data fragments from reconstructing the data object; and
storing the new data fragments within the set of virtual chunk spaces across a second plurality of storage nodes.

US Pat. No. 10,795,788

REMOTE DATA REPLICATION METHOD AND SYSTEM

HUAWEI TECHNOLOGIES CO., ...

1. A remote data replication method performed by a disaster recovery storage system that is remotely connected with a production storage system, comprising:receiving, from the production storage system, a data replication request, wherein the data replication request comprises a data block replication, a logical address of the data block in the production storage system, and an identifier of a source object that contains the data block, wherein the source object is a data container used to carry a file or a directory and corresponds to one or more segments of physical space of a hard disk of the production storage system, wherein the data block is stored in the one or more segments of the physical space of the hard disk of the production storage system, and wherein an address of the data block stored in the one or more segments of the physical space of the production storage system is a source physical address;
in response to determining that the disaster recovery storage system does not comprise an object having a same identifier as the identifier of the source object from the data replication request, generating a target object corresponding to one or more segments of physical space of a hard disk of the disaster recovery storage system, wherein the target object corresponds to the data container used to carry the file or the directory, and is assigned the same identifier as the identifier of the source object from the data replication request;
writing the data block from the data replication request into the one or more segments of the physical space of the hard disk of the disaster recovery storage system, wherein an address of the data block stored in the one or more segments of the physical space of the hard disk of the disaster recovery storage system is a target physical address, wherein the target physical address is different from the source physical address, and wherein the written data block is assigned a same logical address as the logical address from the data replication request; and
after writing the data block, storing a correspondence between the identifier of the target object and the target physical address.

US Pat. No. 10,795,787

DISASTER RECOVERY FOR SOFTWARE DEFINED NETWORK ATTACHED STORAGE USING STORAGE ARRAY ASYNCHRONOUS DATA REPLICATION

EMC IP Holding Company LL...

1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing disaster recovery for Software Defined Network Attached Storage (SDNAS) using synchronous data replication facilities of the underlying storage arrays, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:creating an asynchronous replication remote data facility between a primary storage array and a backup storage array;
instantiating a first Virtual Data Mover (VDM) executing in an emulation on a first storage system associated with the primary storage array, the VDM being responsible for managing a plurality of user filesystems stored in the primary storage array and having a VDM configuration filesystem describing a mapping between the user filesystems and locations of the user file systems in the primary storage array;
associating the VDM configuration filesystem with a first storage group;
associating a set of the user filesystems with a second storage group;
associating the first storage group and second storage group with the remote data facility;
using the asynchronous replication remote data facility to mirror data of the VDM configuration filesystem and data of the set of user filesystems to the remote data facility by the primary storage array to the backup storage array;
instantiating a second VDM in a second emulation on a second storage system associated with the backup storage array;
disabling the set of user filesystems on the first VDM on the first storage system; and
mounting the set of user filesystems to the second VDM on the second storage system.

US Pat. No. 10,795,786

DISASTER RECOVERY FOR SOFTWARE DEFINED NETWORK ATTACHED STORAGE USING STORAGE ARRAY SYNCHRONOUS DATA REPLICATION

EMC IP Holding Company LL...

1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing disaster recovery for Software Defined Network Attached Storage (SDNAS) using synchronous data replication facilities of the underlying storage arrays, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of:creating a synchronous replication remote data facility between a primary storage array and a backup storage array;
instantiating a first Virtual Data Mover (VDM) executing in an emulation on a first storage system associated with the primary storage array, the VDM being responsible for managing a plurality of user filesystems stored in the primary storage array and having a VDM configuration filesystem describing a mapping between the user filesystems and locations of the user file systems in the primary storage array;
associating the VDM configuration filesystem with a first storage group;
associating a set of the user filesystems with a second storage group;
associating the first storage group and second storage group with the remote data facility;
using the synchronous replication remote data facility to mirror data of the VDM configuration filesystem and data of the set of user filesystems to the remote data facility by the primary storage array to the backup storage array;
instantiating a second VDM in a second emulation on a second storage system associated with the backup storage array;
selecting one of the set of user filesystems; and
disabling the selected one of the set of user filesystems on the first VDM on the first storage system without disabling other user filesystems of the set of user filesystems on the first VDM; and
mounting the selected one of the set of user filesystems to the second VDM on the second storage system.

US Pat. No. 10,795,785

FAILOVER METHOD, APPARATUS AND SYSTEM

HUAWEI TECHNOLOGIES CO., ...

1. A failover system, comprising:a first device configured to process a transaction to access a peripheral component interconnect express (PCIe) device; and
a second device in communication with the first device and configured to:
receive a transaction content of the transaction and a transaction status data of the transaction, wherein the transaction status data is used to resume the transaction when the transaction is interrupted by a failure of the first device; and
continue to process the transaction according to the transaction content and the transaction status data when detecting that the first device fails.

US Pat. No. 10,795,784

METHODS, SYSTEMS, AND COMPUTER READABLE STORAGE DEVICES FOR MANAGING FAULTS IN A VIRTUAL MACHINE NETWORK

1. A method comprising:detecting, by a processing system including at least one processor, a failure of operation of a virtual machine among a plurality of different types of virtual machines operating in a virtual machine network, wherein the virtual machine network comprises a plurality of network elements;
determining, by the processing system, a cause of the failure of operation of the virtual machine via a fault signature, wherein the determining the cause of the failure includes identifying the cause of the failure from among a plurality of possible causes which include:
a fault of a network element of the plurality of network elements;
a fault of the virtual machine;
a fault of a virtual application being executed by the virtual machine; and
a fault of a transport mechanism serving the virtual machine network;
initiating, by the processing system, a recovery of the virtual machine based on the cause of the failure that is determined, wherein when the cause of the failure is determined to be the fault of the virtual machine, the initiating the recovery of the virtual machine includes selecting between whether to: restore operation of the virtual machine or stop operation of the virtual machine and replace the virtual machine with a new virtual machine; and
responsive to a selection to stop operation of the virtual machine and replace the virtual machine with the new virtual machine, determining, by the processing system, whether to instantiate the new virtual machine on a same network element on which the failure of operation of the virtual machine occurs or to instantiate the new virtual machine on a new network element, wherein the determining whether to instantiate the new virtual machine on the same network element or to instantiate the new virtual machine on the new network element is based upon a type of the virtual machine from among the plurality of different types of virtual machines.

US Pat. No. 10,795,783

FAULT TOLERANT CLOCK MONITOR SYSTEM

MICROCHIP TECHNOLOGY INCO...

1. A clock monitor, comprising:a first clock input, configured as a test clock input;
a second clock input, configured as a reference clock input;
a third clock input;
a measurement circuit configured to generate a first measurement of a frequency or a duty cycle of the test clock input using the reference clock input;
a comparator circuit configured to compare the first measurement to one or more thresholds; and
control logic configured to:
determine whether the first measurement was below a lower limit or above an upper limit of one or more thresholds;
based on a determination that the first measurement was below a lower limit or above an upper limit of one or more thresholds, cause the measurement circuit to generate a second measurement of a frequency or a duty cycle using the third clock input in combination with the test clock input or the reference clock input;
determine whether the second measurement was below a lower limit or above an upper limit of one or more thresholds;
based on whether the second measurement was below a lower limit or above an upper limit of one or more thresholds, determine that the test clock input or the reference clock input are faulty.

US Pat. No. 10,795,782

DATA PROCESSING APPARATUSES AND METHODS TO SUPPORT TRANSFERRING CONTROL BETWEEN A PRIMARY DATA PROCESSING SYSTEM AND A SECONDARY DATA PROCESSING SYSTEM IN RESPONSE TO AN EVENT

Hewlett Packard Enterpris...

1. An apparatus to support providing a computing service to a client including transferring control between a primary data processing system and a secondary data processing system in response to an event, wherein the apparatus comprises:the primary data processing system comprising a first processor, a monitoring circuit, and a first associated memory,
the secondary data processing system comprising a second processor and a second associated memory, and
wherein the apparatus is configured to:
maintain, at the monitoring circuit of the primary data processing system, a list of memory operations between the primary data processing system and the secondary data processing system, wherein the list of memory operations correspond with memory operations since a first time of a completed transaction and a current time since the first time corresponding with the completed transaction;
at a second time and corresponding with the event, access restoration data corresponding with data associated with the list of memory operations between the first time and the second time;
access a transaction consistent state of the first processor of the primary data processing system, wherein the transaction consistent state of the first processor is before the second time; and
transmit the restoration data and the transaction consistent state of the first processor to the secondary data processing system for storage in the second associated memory, wherein the second data processing system is enabled to provide the computing service to the client from the secondary data processing system.

US Pat. No. 10,795,781

RECREATING A COMPUTING ENVIRONMENT USING TAGS AND SNAPSHOTS

Red Hat, Inc., Raleigh, ...

1. A method comprising:receiving a request to recreate an application from a particular point in time;
determining, by a processing device, a set of hierarchical tags in a data store of hierarchical tags, the set of hierarchical tags describes a computing environment hosting the application from the particular point in time;
copying, from the data store, a snapshot associated with a source data tag of the set of hierarchical tags; and
recreating the computing environment hosting the application from the particular point in time in a replication environment using the set of hierarchical tags and the snapshot.

US Pat. No. 10,795,780

DATA BREACH SOURCE AND TIMELINE ANALYSIS

International Business Ma...

1. A method for analyzing a potential data breach, the method comprising:identifying a time frame and data store in which a data breach potentially occurred;
reconstructing the data store to a point in time near an end of the time frame;
repeatedly performing the following until the data store reaches a point in time near a beginning of the time frame:
reverting to a previous version of the data store by removing an incremental update to the data store;
recording changes to the data store caused by removing the incremental update; and
recording timestamps associated with the changes;
creating a report that documents the changes and the timestamps; and
confirming that the changes documented in the report were caused by legitimate non-breach activity by comparing the changes against a recovery log.

US Pat. No. 10,795,779

ASYNCHRONOUS GARBAGE COLLECTION IN DATABASE REDO LOG REPLAY

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:initiating recovery of a database system by taking the database system offline;
replaying recovery operations specified by a redo log of the database system;
generating a cleanup log identifying cleanup operations occurring during the replay of the recovery operations for garbage collection;
initiating, concurrent with the startup of the database, garbage collection of the cleanup operations as specified in a last database savepoint;
initiating, concurrent with the replay of the recovery operations and with the garbage collection of the cleanup operations as specified in the last database savepoint, garbage collection of the cleanup operations specified by the cleanup log; and
bringing the database system online after all of the recovery operations are replayed;
wherein the cleanup operations as specified in the last database savepoint are processed sequentially and the cleanup operations specified by the cleanup log are processed in parallel.

US Pat. No. 10,795,778

SHARED DATA RECOVERY METHOD AND APPARATUS, COMPUTER DEVICE, AND STORAGE MEDIUM

TENCENT TECHNOLOGY (SHENZ...

1. A shared data recovery method performed at a first node, the first node being any node of a data sharing system, and the method comprising:obtaining a first eigenvalue of the first node after receiving a recovery request carrying a first block height, the first eigenvalue being used to uniquely indicate data within a range of the first block height in shared data stored by the first node;
broadcasting the first eigenvalue to at least one second node of the data sharing system, the second node being a node other than the first node;
broadcasting recovery indication information to the at least one second node after receiving a plurality of second eigenvalues broadcast by the at least one second node, each second eigenvalue being used to uniquely indicate data within the range of the first block height in shared data stored by the second node;
determining, based on the first eigenvalue and the plurality of second eigenvalues, that data within the range of the first block height in the shared data stored by all nodes of the data sharing system is consistent; and
recovering the data within the range of the first block height in the shared data after receiving a preset quantity of a plurality of pieces of recovery indication information.

US Pat. No. 10,795,777

CONTINUOUS VERIFIED BACKUPS

Amazon Technologies, Inc....

1. A system, comprising:a memory to store program instructions which, if performed by at least one processor, cause the at least one processor to perform a method to at least:
receive a trigger to back up a portion of a database, the database in a native format;
create, in a non-native format, by a forward converter, a snapshot of a replica of the portion of the database;
reverse, by a reverse converter, the snapshot of the replica in the non-native format to a copy of the replica in the native format;
based on identifying, at a data-storage-level, a match of the replica to the copy of the replica, send the snapshot of the replica in the non-native format to a snapshot data store; and
for received items of a change log that corresponds to the portion of the database:
create, by a forward converter, from a native format for the database, an archive of items of the change log in a non-native format;
reverse, by a reverse converter, each item of the archive of items in the non-native format to create respective reversed items in the native format; and
based on identifying a match of the received items of the change log to the respective reversed items, send the archive of items in the non-native format to an archive data store.

US Pat. No. 10,795,776

MULTIPLE POINT-IN-TIME COPIES ON A REMOTE SYSTEM

International Business Ma...

1. A computer-implemented method, comprising:maintaining a cascaded mapping relationship at a secondary system, wherein the cascaded mapping relationship extends between the secondary system and a remote primary system,
wherein maintaining the cascaded mapping relationship includes:
in response to receiving a remote point-in-time copy from the remote primary system, inserting the received remote point-in-time copy immediately downstream from an interface of the cascaded mapping relationship between the secondary system and the remote primary system; and
inserting each local point-in-time copy of a storage volume in the secondary system immediately downstream from the storage volume,
wherein upon detecting that a storage volume in the secondary system has gone offline, causing all storage volumes downstream from the offline storage volume to go offline also, and
in response to receiving a write request at the secondary system:
determining whether one or more regions in a storage volume corresponding to the write request contain primary data;
determining whether one or more other storage volumes in the secondary system depend on the primary data in response to determining that the one or more regions in the storage volume corresponding to the write request contain the primary data;
copying the primary data to the one or more other storage volumes in the secondary system which depend on the primary data in response to determining that one or more other storage volumes in the secondary system depend on the primary data;
determining whether at least a portion of the write request will fill one or more regions in the storage volume corresponding to the write request;
performing the at least a portion of the write request in response to determining that the at least a portion of the write request will fill the one or more regions in the storage volume corresponding to the write request;
determining whether secondary data corresponding to the at least a portion of the write request will fill one or more regions in at least one other storage volume in the secondary system in response to determining that the write request will not fill one or more regions in the storage volume corresponding to the write request;
copying the secondary data from the one or more regions in the at least one other storage volume to the storage volume corresponding to the write request in response to determining that the secondary data will fill one or more regions in at least one other storage volume in the secondary system;
sending a request to the primary system for the primary data in response to determining that the secondary data will not fill one or more regions in at least one other storage volume in the secondary system;
writing the primary data received from the primary system to the one or more regions in the storage volume corresponding to the write request; and
performing the write request.

US Pat. No. 10,795,775

APPARATUSES, METHODS, AND SYSTEMS FOR STORAGE AND ANALYSIS OF SAAS DATA AND NON-SAAS DATA FOR BUSINESSES AND OTHER ORGANIZATIONS

DATTO, INC., Norwalk, CT...

1. A method to execute a local ingestion of Software as a Service (SaaS) user data, the method comprising:receiving, at a local ingestion server, a Saas data backup request, wherein the Saas data backup request comprises a set of user authentication credentials to connect to a first Saas application and a schedule indicating when to execute the local ingestion of first Saas user data generated by the first Saas application;
acquiring, from a secure cloud-based server, a first backup definition for the first Saas application identified in the Saas data backup request, the acquiring comprising:
acquiring an application programming interface (API) tree structure and trigger fields to connect to the endpoint of the first Saas application, and
acquiring a first data scheme comprising a set of rules describing a systematic arrangement to convert data from the first Saas application into a high fidelity format;
executing a first local ingestion of the first Saas user data stored in a first remote server hosting the first Saas application, the first local ingestion comprising:
connecting to an endpoint of the first Saas application specified in the first backup definition; and
retrieving an instance of the first Saas user data from the endpoint of the first Saas application; and
generating a first backup file of the instance of the first Saas user data.

US Pat. No. 10,795,774

DISASTER RECOVERY OF ARCHIVED DATA

Rubrik, Inc., Palo Alto,...

1. A method for operating a data management system, comprising:identifying a first version of a virtual machine out of a plurality of point in time versions of the virtual machine stored within a data storage domain;
acquiring a first snapshot mapping file for the first version of the virtual machine from the data storage domain;
identifying a first set of blocks corresponding with the first version of the virtual machine using the first snapshot mapping file, the first set of blocks including a first block and a second block;
determining a first portion of the first block that includes a first portion of the first version of the virtual machine, wherein the first portion of the first block locates between a ninety percent and a hundred percent of a memory space of the first block;
determining a second portion of the second block that includes a second portion of the first version of the virtual machine, wherein the second portion of the second block locates between a beginning and a twenty percent of a memory space of second block;
acquiring the first portion of the first block and the second portion of the second block from the data storage domain;
identifying a second version of the virtual machine out of the plurality of point in time versions of the virtual machine stored within the data storage domain;
acquiring a second snapshot mapping file for the second version of the virtual machine from the data storage domain;
identifying a subset of a second set of blocks corresponding with the second version of the virtual machine using the second snapshot mapping file, the subset of the second set of blocks including a new data block not included in the first set of blocks;
acquiring the new data block from the subset of the second set of blocks from the data storage domain; and
restoring a version of the virtual machine using the first portion of the first block and the second portion of the second block and the new data block from the subset of the second set of blocks.

US Pat. No. 10,795,773

PERSISTENT VIDEO CAMERA AND METHOD OF OPERATION

EAGLE EYE NETWORKS, INC, ...

1. A method of operation for a video doorbell comprising an IP camera (Videoorbell) apparatus comprising the processes:rebooting a processor at expiration of a first timer;
opening a communication application programming interface at expiration of a second timer;
upon successful connection to a server by the application programming interface, receiving and executing a command to reset at least one of first and second timer;
capturing an audio-video stream;
transforming date-time of capture and an optically encoded credential (OEC) within said audio-video stream into a hash;
matching a stored transformation of an OEC with said hash; and
performing an access policy according to the condition of one of success of said matching, and failure of said matching.

US Pat. No. 10,795,772

MEMORY SYSTEM

TOSHIBA MEMORY CORPORATIO...

1. A memory system comprising:a volatile memory;
a nonvolatile memory; and
a controller configured to execute a non-volatilization process to store data in the volatile memory into the nonvolatile memory in response to an initiate request received by the controller if no cancellation request is received by the controller during a cancelable period that begins upon receipt of the initiate request by the controller, and to transmit a completion notification when the non-volatilization process has completed,
wherein
the controller is configured to not execute the non-volatilization process if the cancellation request is received during the cancelable period, and
the cancelable period is configurable based on a set feature command received by the controller, the set feature command including information output by a host for setting a feature of the memory system.

US Pat. No. 10,795,771

INFORMATION HANDLING SYSTEM WITH REDUCED DATA LOSS IN BLOCK MODE

Dell Products, L.P., Rou...

1. An information handling system comprising:a non-volatile memory configured in a block translation table mode, the non-volatile memory being divided into a plurality of sectors;
a central processing unit to communicate with the non-volatile memory, the central processing unit to write data to the non-volatile memory by sector of the non-volatile memory; and
a memory controller to communicate with the central processing unit and with the non-volatile memory, the memory controller to detect a power loss in the information handling system, to determine a memory address of a last successful write within the non-volatile memory, to store the memory address in an unused portion of the non-volatile memory, to start a save operation including storing of the data assigned to addresses beyond the memory address to a backup memory; to determine whether the memory address of the last successful write is a multiple of a block window size, and if the memory address is not a multiple of the block window size, to move the memory address back to a location that is a multiple of the block window size prior to the memory address being stored in the unused portion of the non-volatile memory.

US Pat. No. 10,795,770

REARRANGING DATA IN MEMORY SYSTEMS

Macronix International Co...

1. A method of rearranging data in a memory, the method comprising:determining that a particular logical page in a logical block fails based on error bits in a particular physical page that is in a first physical block mapped with the logical block and corresponds to the particular logical page, logical pages in the logical block being mapped to physical pages in the first physical block with an initial mapping order; and
executing a refresh operation on the first physical block with a rearranged mapping order for the logical block, the rearranged mapping order being different from the initial mapping order, wherein, for the refresh operation, the logical pages in the logical block are mapped to physical pages in a second physical block with the rearranged mapping order.

US Pat. No. 10,795,769

FACILITATING THE IDENTIFICATION OF A SERVICE OPERATING SYSTEM WHEN A MAIN OPERATING SYSTEM FAILS

Dell Products L.P., Roun...

1. A method for facilitating the identification and loading of an appropriate service operating system when a main operating system fails, the method comprising:in response to a first main operating system failing to boot on the client, updating a first Unified Extensible Firmware Interface (UEFI) variable that is specific to the first main operating system to indicate that the first main operating system failed to boot;
based on the first UEFI variable indicating that the first main operating system failed to boot, obtaining characteristics of the first main operating system from the first UEFI variable;
creating a service location protocol (SLP) request that includes in a vendor extension the characteristics of the first main operating system that were obtained from the first UEFI variable;
sending the SLP request to a server;
receiving, from the server, a service operating system corresponding to the characteristics of the first main operating system that were included in the vendor extension; and
causing the client to boot the service operating system.

US Pat. No. 10,795,768

MEMORY REALLOCATION DURING RAID REBUILD

Seagate Technology LLC, ...

1. A method comprising:storing each of a plurality of distributed data sets across a plurality of storage devices each having a non-volatile memory (NVM);
replacing a selected storage device with a new storage device responsive to an anomalous event; and
performing a rebuild operation to reconstruct data from the selected storage device to the new storage device by accessing a list of distributed data sets in a local memory and, for each distributed data set in the list identified as constituting valid data, issuing read commands to the remaining storage devices and a write command to the new storage device, and, for each distributed data set in the list identified as constituting unused data, issuing a data clear command to each of the remaining storage devices and to the new storage device, wherein responsive to the clear command each of the remaining storage devices marks an associated set of data blocks stored in the associated NVM for garbage collection and the new storage device performs a backside allocation adjustment of the associated NVM of the new storage device, the backside allocation adjustment comprising adjusting at least a selected one of an allocation of semiconductor memory dies of the NVM of the new storage device to a selected user, an inner code rate, an outercode rate, or a size of a garbage collection unit (GCU) comprising a plurality of erasure blocks that are erased and allocated as a unit.

US Pat. No. 10,795,767

ERROR CORRECTING SYSTEM SHARED BY MULTIPLE MEMORY DEVICES

M31 TECHNOLOGY CORPORATIO...

1. An error correcting system shared by a plurality of memory devices, a data path width of each memory device having a data bit width and a parity bit width, the error correcting system comprising:an error correcting code (ECC) circuit, having M input terminals, the ECC circuit configured to encode input data received from the M input terminals to generate encoded data in response to a write operation, and output the encoded data toward the memory devices, wherein M is a positive integer greater than one, the input data comprises write data associated with the write operation, and the encoded data comprises the input data and associated parity data; and
a control circuit, coupled to at least one of the M input terminals, wherein when the write operation is directed to a first memory device of the memory devices having a data bit width less than M bits, the write data is inputted to a first portion of the M input terminals, the control circuit is configured to provide reference data to a second portion of the M input terminals, and the write data and the reference data serve as the input data.

US Pat. No. 10,795,766

MAPPING SLICE GROUPINGS IN A DISPERSED STORAGE NETWORK

PURE STORAGE, INC., Moun...

1. A method for processing distributedly stored data by a computing device, the method comprises:retrieving from distributed storage a slice of a chunk for execution of a partial task;
identifying a record configuration of the slice;
facilitating processing of a partial task on at least one record of the slice;
determining whether the slice includes a partial record based on the record configuration of the slice; and
when the slice includes a partial record, identifying a slice location of another slice that includes a remaining partial record corresponding to the partial record; and
determining whether the slice location is favorable; and
when the slice location is favorable, retrieving from the distributed storage the other slice from the slice location; and
facilitating processing of the partial task on at least one record of the other slice.

US Pat. No. 10,795,765

SSD FOR LONG TERM DATA RETENTION

NGD SYSTEMS, INC., Irvin...

1. A method, comprising:transitioning a flash memory to a data retention state by re-storing first encoded data, the first encoded data being initially stored in the flash memory at a first code rate, the re-storing comprising:
determining a second code rate based on a total data volume and a total available capacity, the second code rate being lower than the first code rate;
reading the first encoded data from the flash memory;
decoding the first encoded data at the first code rate to obtain first decoded data;
encoding the first decoded data at the second code rate to form second encoded data; and
storing the second encoded data in the flash memory.

US Pat. No. 10,795,764

METHOD TO DELIVER IN-DRAM ECC INFORMATION THROUGH DDR BUS

SAMSUNG ELECTRONICS CO., ...

1. A method, comprisingreceiving at a data chip a request for value at an address;
buffering raw data in a buffer of the data chip, the raw data including the value at the address;
determining whether the raw data in the buffer has an error; and
based at least in part on the raw data in the buffer having an error:
polluting the raw data in the buffer using a pollution pattern to produce a polluted data; and
sending the polluted data in the buffer to a memory controller.

US Pat. No. 10,795,763

MEMORY SYSTEM AND ERROR CORRECTING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory system, comprising:a plurality of memory chips suitable for storing data and an error correction code thereof;
an error correction circuit suitable for detecting and correcting error bits of data, which are read from the plurality of memory chips, based on an error correction code of the read data;
an address storage circuit suitable for storing addresses of first consecutive data, among the read data, the first consecutive data having a number of detected error bits greater than or equal to a first number; and
a failed chip detection circuit suitable for, when the number of the stored addresses of the first consecutive data is greater than or equal to a second number, detecting a failed memory chip where a chip-kill occurs by writing test data in the plurality of memory chips and reading back the written test data.

US Pat. No. 10,795,761

MEMORY SYSTEM AND METHOD OF CONTROLLING NON-VOLATILE MEMORY

Toshiba Memory Corporatio...

1. A memory system comprising:a nonvolatile memory that records therein a multidimensional error-correcting code in which at least one of symbols constituting a code is protected at least by a first component code and a second component code different from the first component code;
a memory interface that reads the multidimensional error-correcting code recorded in the nonvolatile memory as read information;
a first decoder that performs decoding of the read information to output hard decision decoding information of each symbol;
a second decoder that performs soft decision decoding in units of component codes for the read information using a soft-input value to output soft decision decoding information of each symbol;
a soft-decision-decoding information memory that retains the soft decision decoding information of each symbol output from the second decoder; and
a soft-input-value specifying unit that obtains the soft-input value of each symbol using the read information and the hard decision decoding information or the soft decision decoding information, wherein
the soft-input-value specifying unit
obtains an initial value of the soft-input value using the read information and the hard decision decoding information, and
outputs an output decode word obtained as a result of the soft decision decoding when the output decode word is determined to be correct.

US Pat. No. 10,795,760

KEY VALUE SSD

Samsung Electronics Co., ...

1. A storage device comprising:a plurality of memory devices, each of the memory devices having a minimum size value allowable, configured as a virtual device utilizing stateless data protection; and
a virtual device layer configured to manage the virtual device to store a first object and a second object, each having a respective size, by applying one of a first data protection and a second data protection to each of the first object and the second object depending on the respective sizes of the first object and the second object,
wherein the virtual device layer is configured to:
apply the first data protection to a large object;
apply the second data protection to a small object; and
apply either the first data protection or the second data protection to a medium object.

US Pat. No. 10,795,759

APPARATUSES AND METHODS FOR ERROR CORRECTION CODING AND DATA BUS INVERSION FOR SEMICONDUCTOR MEMORIES

Micron Technology, Inc., ...

12. An apparatus, comprising:a write data control circuit configured to receive write data and corresponding ECC data from signal busses and to correct the write data based on the corresponding ECC data to provide corrected write data, the write control circuit further configured to provide corrected corresponding ECC data based on the corresponding ECC data, wherein the corrected write data and the corrected corresponding ECC data are provided to be stored in a memory array; and
a read data control circuit configured to receive read data and corresponding ECC data from the memory array and to correct the read data based on the corresponding ECC data to provide corrected read data, the read control circuit further configured to provide corrected corresponding ECC data based on the corresponding ECC data, wherein the corrected read data and the corrected corresponding ECC data are provided to the signal busses, the read data control circuit includes a DBI encoding circuit further configured to DBI encode the corrected read data and ECC encode DBI data to provide ECC data corresponding to the DBI data, wherein the DBI data and the ECC data corresponding to the DBI data are also provided to the signal busses.

US Pat. No. 10,795,758

PROACTIVE DISASTER RECOVERY BASED ON EXTERNAL EVENT MONITORING

Acronis International Gmb...

1. A method for proactive disaster recovery preparation, the method comprising:detecting a first event based on sensor data received from a sensor in a data center, wherein the sensor data captures an attribute of an environment proximate to a server in the data center;
determining a first severity grade indicative of a likelihood of the first event triggering data loss or breach at the server;
predicting a second event with a second severity grade that will occur after the first event, wherein the second severity grade is greater than the first severity grade;
identifying, from a plurality of event escalation trees, an event escalation tree comprising both the first event and the second event, wherein each respective event escalation tree defines a sequence of events and an action of a disaster recovery preparation process to execute for each respective event, wherein an amount of server resources utilized for the action is correlated with a respective severity grade of the respective event;
responsive to detecting events at the data center sequentially ordered in accordance with the identified event escalation tree, sequentially executing corresponding actions of the disaster recovery preparation process; and
subsequent to executing a respective action of the disaster recovery preparation process corresponding to the second event, triggering a disaster recovery state at the server.

US Pat. No. 10,795,757

STREAMING SERVER STATISTICS AND PREDICTIVE MITIGATION

Level 3 Communications, L...

1. A method for operating a telecommunications network, the method comprising:receiving operational data from a plurality of storage drives of a storage server of a telecommunications network;
deriving a plurality of operational coefficients for each of the plurality of storage drives based on the operational data;
obtaining operational data from a model storage drive;
calculating a plurality of operational coefficients for the model storage drive;
generating a cluster plot comprising the plurality of operational coefficients for each of the plurality of storage drives and the plurality of operational coefficients for the model storage drive;
calculating a distance between a subset of each operational coefficient of the plurality of operational coefficients of the cluster plot; and
initiating a remedial action on a storage drive of the plurality of storage drives when a calculated distance of an operational coefficient associated with the storage drive exceeds a distance value from a cluster of the cluster plot.

US Pat. No. 10,795,756

SYSTEM AND METHOD TO PREDICTIVELY SERVICE AND SUPPORT THE SOLUTION

EMC IP Holding Company LL...

1. A support engine for managing a distributed system, comprising:a persistent storage comprising a heuristically derived knowledge base; and
a processor programmed to:
perform deployment level monitoring of deployments of the distributed system;
identify a common component failure of the deployments based on the deployment level monitoring, wherein the deployments comprise a first deployment and a second deployment, wherein the common component failure is identified when a similar decrease in performance in each of the deployments is detected using the deployment level monitoring;
in response to identifying the common component failure:
identify a plurality of impacted computing devices, wherein each of the deployments comprises at least of one of the plurality of impacted computing devices;
obtain deployment level state information from each of the plurality of impacted computing devices;
identify an iterative set of outcome driven corrective actions based on the obtained deployment level state information and the heuristically derived knowledge base; and
initiate a computing device correction on an impacted computing device of the plurality of impacted computing devices using the iterative set of outcome driven corrective actions to obtain a corrected computing device.

US Pat. No. 10,795,755

METHOD AND APPARATUS FOR PERFORMING ERROR HANDLING OPERATIONS USING ERROR SIGNALS

INTEL CORPORATION, Santa...

1. A memory module in communication with a host memory controller over a bus, comprising:a plurality of memory chips;
a memory module controller coupled to the memory chips, the memory module controller to:
assert a first error signal on an error pin on the bus to signal to the host memory controller to cause the host memory controller to suspend read and write operations to the memory module;
receive an acknowledgment signal from the host memory controller indicating the host memory controller detected the first error signal on the error pin, wherein the host memory controller suspends the read and write operations as part of the asserting the first error signal;
perform error handling operations to return the bus to an initial state in response to receiving the acknowledgment signal, wherein the error handling operations comprise discard all pending read requests, destage writes in a write buffer to storage elements in the memory module, and reset memory module controller buffers; and
assert a second error signal on the error pin on the bus to signal the host memory controller to resume read and write operations to the memory module.