US Pat. No. 10,970,350

METHOD AND APPARATUS FOR PROCESSING USER INTERACTION SEQUENCE DATA

Advanced New Technologies...

1. A computer-implemented method for processing interaction sequence data, comprising:obtaining a dynamic interaction graph constructed based on a dynamic interaction sequence, wherein the dynamic interaction sequence includes a plurality of interactions arranged in a chronological order, each interaction includes two objects involved in the interaction and a time of the interaction, the dynamic interaction graph includes a plurality of nodes representing objects involved in the plurality of interactions, each node of the plurality of nodes directs to two associated nodes through edges, and the two associated nodes correspond to an immediately preceding interaction in which an object represented by the node is involved in;
determining, in the dynamic interaction graph, a sub-graph corresponding to a target node, wherein nodes in the sub-graph comprise the target node and connection nodes connected to the target node through a predetermined amount of edges originating from the target node;
inputting the sub-graph to a neural network model that is pre-trained;
determining a feature vector corresponding to the target node based on a node feature of each of the nodes of the sub-graph and directions of edges of the sub-graph;
outputting, by the neural network model, the feature vector based on the node feature of each the nodes in the sub-graph and directions of edges of the sub-graph;
selecting a sample object from the dynamic interaction sequence;
obtaining a classification label of the sample object;
determining, in the dynamic interaction graph, a sample sub-graph corresponding to the sample object;
inputting the sample sub-graph to the neural network model to obtain a sample vector of the sample object;
predicting a type of the sample object based on the sample vector to obtain a prediction result;
determining a prediction loss based on the prediction result and the classification label; and
updating the neural network model based on the prediction loss.

US Pat. No. 10,970,349

WORKFLOW RELATIONSHIP MANAGEMENT AND CONTEXTUALIZATION

Comake, Inc., Los Angele...

1. A method comprising:periodically scanning, by a server, a plurality of electronic data repositories accessible to a plurality of computing devices to identify a plurality of files stored onto the plurality of electronic data repositories where each file is accessible to at least one computing device within the plurality of computing devices;
executing, by the server, a protocol to generate at least one unique identifier of each file within the plurality of files;
retrieving, by the server for each file, context data comprising at least one of a time stamp and access history;
executing, by the server, a computer model to identify related files based on each file's context data or unique identifier;
generating, by the server, a nodal data structure comprising a set of nodes where each node within at least a subset of the set of nodes corresponds to a file within the set of files, each node within the set of nodes linked to at least one other node;
receiving, by the server, a prioritization attribute associate from a user device;
receiving, by the server, a set of notifications associated with the user device;
identifying, by the server within the nodal data structure, a node associated with each notification;
generating, by the server, a score for each notification, the score corresponding to the prioritization attribute and the identified node associated with each respective node; and
outputting, by the server, the set of notifications in an order corresponding to each notification's respective score.

US Pat. No. 10,970,348

SYSTEM AND METHOD FOR CONTACT INFORMATION INTEGRATION WITH SEARCH RESULTS

Virtual Hold Technology S...

1. A system for search-driven callback management, comprising:a queue manager stored and operating on a network-attached computer; and
a communications system, comprising at least a call status system;
wherein a request from an independent search engine for a status of the communications system is received by the queue manager;
wherein upon receipt of the request for communications status of the communications system from the independent search engine, the queue manager obtains a status of communications resources comprising virtual queue information including at least an estimated wait time;
wherein the queue manager sends a notification to the independent search engine advising the search engine of the virtual queue information;
wherein upon receiving from the independent search engine a request to generate a callback of a specific communications type to a user based on an interaction by the user within search results including the virtual queue information, the queue manager directs the communications system to initiate a callback of the specific communications type to the user.

US Pat. No. 10,970,347

MANAGING USER ACTIVITY CONTEXT USING AN ACTIVITY CONTEXT GRAPH

International Business Ma...

1. A method comprising:monitoring, by a processor of a computing system, a first user's actions on an electronic device;
analyzing, by the processor, a first resource accessed by first user, the analyzing being performed simultaneous to the first user's access of the first resource;
identifying, by the processor, an activity being performed by the first user based on the analyzing of the first resource; and
generating, by the processor, an activity context graph for the identified activity, wherein the activity context graph includes a link to the first resource automatically stored in response to the user accessing the first resource information.

US Pat. No. 10,970,346

SYSTEMS AND METHODS FOR PARAGRAPH-BASED DOCUMENT SEARCHING

RELX INC., Newton, MA (U...

1. A computer program for searching a collection of electronic documents, comprising instructions, which when the program is executed by a processor, causes the computer processor to carry out steps comprising:replacing a set of synonymous terms appearing in a paragraph with a set of standardized paragraph terms, wherein each standardized paragraph term has an associated term weight;
generating standardized search terms in response to a search query;
generating paragraph scores for paragraphs of a document based at least in part on the associated weights of standardized paragraph terms that match one or more of the standardized search terms;
determining overall document scores for the electronic documents based at least in part on a combination of the paragraph scores; and
determining a set of matching documents, wherein the set of matching documents is ordered using the overall document scores.

US Pat. No. 10,970,345

COMPUTER-IMPLEMENTED METHOD OF CARRYING OUT A SEARCH FOR INFORMATION AVAILABLE OVER A NETWORK

Pubsonic, Inc., Peterbor...

1. A computer-implemented method of carrying out an image-based search for information available over a network, the method comprising:responsive to a search request message received at a server over the network from a client computer, serving to the client computer a web page containing a set of knowledge models, responsive to the search request, each knowledge model being a visual representation associated with a topic, wherein the knowledge models are interlinked in a knowledgebase and a first knowledge object in the knowledgebase is interlinked with a second knowledge object in the knowledgebase or with a knowledge asset when a given user has made a proposal that the first knowledge object should be thus interlinked, and that proposal has been accepted in accordance with an administrative procedure associated with a server on which the database is maintained;
wherein the web page is structured so that graphically selecting one of the knowledge models in the web page displayed on the client computer causes display of a set of knowledge assets interlinked, through a crowd-sourced schema, with the selected knowledge model.

US Pat. No. 10,970,344

SYSTEMS AND METHODS FOR RECOMMENDING PERSONALIZED CONTENT

BEIJING DIDI INFINITY TEC...

1. A method implemented on a computing device for recommending personalized content to a user, comprising:acquiring, by logic circuits, first electronic signals including one or more historical orders associated with a user within a predetermined time interval;
retrieving, by the logic circuits, a first set of points of interests (POI) associated with the user based on the one or more historical orders;
sending, by the logic circuits, second electronic signals including the first set of POIs associated with the user to be saved in a first storage device;
transmitting, by the logic circuits, third electronic signals to access a second storage device to read a second set of POIs;
updating, by the logic circuits, the first set of POIs in the first storage device based on the second set of POIs and the one or more historical orders, wherein the updating the first set of POIs in the first storage include:
determining at least one POI from the first set of POIs,
determining the at least one POI from the second set of POIs, and
updating information of the at least one POI in the first storage with information of the at least one POI in the second storage if it is determined that a first geographical location of the at least one POI from the first set of POIs and a second geographical location of the at least one POI from the second set of POIs satisfy a preset condition for judging whether two POIs are the same POI, wherein the preset condition includes a first distance between the first POI and the second POI being less than or equal to a third threshold and a normalized second distance between the first POI and the second POI being less than or equal to a fourth threshold, the normalized second distance being a value between 0 and 1;
transmitting, by the logic circuits, fourth electronic signals to access a third storage device of a user equipment to read location information of the user;
determining, by the logic circuits, one or more personalized content items based on the updated first set of POIs and the location information of the user; and
transmitting, by the logic circuits, fifth electronic signals including the one or more personalized content items to the user equipment, causing the one or more personalized content items to be displayed on the user equipment.

US Pat. No. 10,970,343

ADAPTING DATABASE QUERIES FOR DATA VIRTUALIZATION OVER COMBINED DATABASE STORES

AVEVA SOFTWARE, LLC, Lak...

1. A system comprising:a first computing device, comprising:
an interface processor, and
a memory device communicatively coupled to the interface processor, the memory device storing processor readable instructions thereon that, when executed by the interface processor, provide:
a query-based programmatic interface configured to receive database queries, and
a proxy configured to validate the received queries and produce entity query criteria from the validated queries;
a communications network; and
a second computing device communicatively coupled to the first computing device via the communications network, the second computing device comprising:
a query processor, and
a memory device communicatively coupled to the query processor, the memory device storing processor readable instructions thereon that, when executed by the query processor, provide an entity query source configured to adapt the entity query criteria into one or more conditions of a plurality of data sources such that the data sources filter and sort data stored therein to determine query results satisfying the database queries and return the query results for display via the query-based programmatic interface;
wherein the received queries comprise LINQ (raw Language-Integrated Query) statements and the entity query source comprises:
an adapter component configured to adapt the LINQ statements of the received queries into the one or more conditions;
a data modeling component configured to model the data stored in the data sources; an action details component configured to implement details for reading data from the data sources and writing data to the data sources;
an optimization algorithm configured to optimize assignment of the received queries to the data sources; and
a memory saving component configured to reduce utilization of computing memory of the system.

US Pat. No. 10,970,342

METHOD AND SYSTEM FOR ENABLING REAL-TIME, COLLABORATIVE GENERATION OF DOCUMENTS HAVING OVERLAPPING SUBJECT MATTER

Bulletin Intelligence LLC...

1. A system for collaborative generation of a plurality of customized documents, each comprising a plurality of text passages, the system comprising:a server connected to a network for maintaining storage of the plurality of text passages in a repository; and
at least one networked client computer in communication with the server and configured to receive user input from an author for generating a document and also for (i) generating new text passages and (ii) selecting already-generated text passages authored by others, wherein the new and selected text passages are to be included or modified for inclusion together in the document, and wherein the server is configured such that:
when an author has generated a new text passage for a document, the server stores the new text passage in the repository and creates a link of a first type between the new text passage and the document wherein a link of the first type between a text passage and a document indicates that the document author is also the text passage author; and
when an already-generated text passage is selected for a document, the server creates a link of a second type between the selected text passage and the document, wherein a link of the second type between a text passage and a document indicates that the document author is not the text passage author, and wherein:
(i) the link of the second type can be either a dynamic copy link, which propagates modifications made to the selected text passage by its author whose document has a link of a first type to the text passage, or a static copy link, which does not propagate any modifications made by others to the selected text passage; and
(ii) upon receiving a selection to lock a document, the server converts any dynamic copy link to the document to a static copy link; and
(iii) upon selecting an already-generated text passage authored by another, a document author is prompted to select whether the link of the second type is a dynamic link or static link.

US Pat. No. 10,970,341

PREDICTIVE MODELING IN EVENT PROCESSING SYSTEMS FOR BIG DATA PROCESSING IN CLOUD

SAP SE, Walldorf (DE)

1. A computer-implemented method for predicting a type of an event in a computer-implemented system, the method being executed by one or more processors and comprising:receiving, by the one or more processors, event data comprising a set of features representative of an event;
for each feature in the set of features, looking-up a probability within a data structure to provide a set of probabilities, each probability representing a relevance of a respective feature to a type of event and being in a feature-probability pair of a plurality of feature-probability pairs stored in the data structure, each probability having been previously calculated from a set of historical events based on a relevancy probability and an irrelevancy probability with respect to the type of event to obviate calculating probabilities as events are received;
providing, by the one or more processors, a joint probability that is calculated in a multinomial distribution at least partially based on a set of probabilities, each probability in the set of probabilities comprising a probability that a respective feature is relevant to the type of event and being weighted by a weight that is selected based on whether the respective feature is included in a predefined feature list, the joint probability indicating a likelihood that the event is of the type of event;
comparing, by the one or more processors, the joint probability to a threshold to provide a comparison; and
selectively executing, by the one or more processors, one or more actions based on the comparison.

US Pat. No. 10,970,340

NETWORK VIRTUALIZATION FOR WEB APPLICATION QUERIES

SAP SE, Walldorf (DE)

19. A non-transitory machine-readable medium comprising instructions thereon that, when executed by a processor, cause the processor to execute operations comprising:receiving, by a WAN controller executed at a data center computing system, a first tenant user query table; wherein the first tenant user query table describes a first set of query types that a first user is permitted to make at a database management system;
determining, using the first tenant user query table, that a first query type of the first set of query types has a first computational weight, the first computational weight describing a first level of processing resources used by the database management system to process queries of the first query type;
determining, using the first tenant user query table, that a second query type of the first set of query types has a second computational weight less than the first computational weight, the second computational weight describing a second level of processing resources used by the database management system to process queries of the second query type;
determining, by the WAN controller, that a first network path to a web application data center is less congested than a second network path to the web application data center;
sending, by the WAN controller, a first flow entry to a first network appliance on the first network path, wherein the first flow entry comprises:
first identification data describing a first set of packets making up query messages from the first user that convey queries of the first query type; and
an instruction that the first network appliance on the first network path is to send the first set of packets to a second network appliance on the first network path; and
sending, by the WAN controller, a second flow entry to a first network appliance on the second network path; wherein the second flow entry comprises:
second identification data describing a second set of packets making up query messages from the first user that convey queries of the second query type; and
an instruction that the first network appliance on the second network path is to send the second set of packets to a second network appliance on the second network path.

US Pat. No. 10,970,339

GENERATING A KNOWLEDGE GRAPH USING A SEARCH INDEX

International Business Ma...

1. A computer-implemented method, comprising:receiving a search query; and
after receiving the search query:
identifying a first subset of documents that include the search query by searching, based on the search query, an inverted index of a corpus of documents that includes the first subset of documents;
processing the first subset of documents to identify entities related to the search query and relations between the entities and the search query;
generating a knowledge graph based on the entities and the relations;
determining a subset of the entities that occur in the first subset of documents greater than a predetermined threshold number of occurrences;
determining all possible pair combinations of the determined subset of the entities; and
searching the inverted index based on the determined subset of the entities according to the determined pair combinations of the determined subset of the entities.

US Pat. No. 10,970,338

PERFORMING QUERY-TIME ATTRIBUTION CHANNEL MODELING

ADOBE INC., San Jose, CA...

5. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a computing device to:store touchpoint data in an attribution database comprising an aggregator and a plurality of nodes, wherein each node corresponds to a given user and comprises a processing unit that receives and stores touchpoint data associated with the given user;
receive a query to generate a digital attribution report, the query indicating a user-specified set of distribution channels and a user-specified attribution model; and
after receiving the query and in real time:
retrieve, from nodes of the plurality of nodes, subsets of touchpoint data by utilizing the processing unit of a given node of the nodes to retrieve a subset of touchpoint data associated with a user corresponding to the given node based on the user-specified set of distribution channels and the user-specified attribution model;
combine, using the aggregator, the subsets of touchpoint data corresponding to the user-specified set of distribution channels in accordance with the user-specified attribution model;
generate the digital attribution report using the combined subsets of touchpoint data; and
provide the digital attribution report for display.

US Pat. No. 10,970,337

METHOD AND DEVICE FOR OUTPUTTING RESULT OF OPERATIONS USING DATA SOURCES OF DIFFERENT TYPES

Seculayer Co., LTD., Seo...

1. A computer-implemented method for outputting a result of one or more operations using a first data source and a second data source of different types, comprising steps of:(a) acquiring, by a device of a computer, a user query from a user device for performing or supporting another device to perform steps of:
accessing a first specific data source and a second specific data source among the first data source and the second data source by referring a Rest API among data source connections, wherein the API is Application Program Interface;
acquiring at least one first data element from the first specific data source and at least one second data element from the second specific data source, wherein the first data element corresponds to a first search option respectively from the first specific data source by referring to information on one or more search options included in the user query, wherein the second data element corresponds to a second search option respectively from the second specific data source by referring to information on the one or more search options included in the user query, wherein the first search option and the second search option are included in the one or more search options, wherein the first data element and the second element are written in each language of languages corresponding to the first specific data source and the second specific data source, wherein the acquiring the first data element includes performing one or more sub joint operations on a first sub data element and a second sub data element to generate the first data element, wherein the first sub data element and the second sub data element are acquired from the first specific data source by sub search options;
setting each data source connection of the data source connections corresponding to the first data source and the second data source by using user name, password, first basic information and second basic information, wherein the first basic information and the second basic information include a data source identifier, a data source name, and a data source type; and
performing one or more main joint operations on the first data element and the second data element, resulting in generating data set, by referring to the data source connections of the first data source and the second data source and information on the one or more main joint operations included in the user query, wherein the one or more main joint operations include at least one of a JOIN operation and an UNION operation, wherein the generating data set based on generating a first converted data element and a second converted data element by converting a type of the first data element and a type of the second data element into an identical type; and
(b) performing, by another device, one or more data processing operations on the data set includes: generating, by one or more output operations, an answer as a result of the one or more output operations for the user query by referring to information of the data set on the one or more data processing operations and information on the one or more output operations which are included in the user query, wherein the result of the one or more output operations is outputted by using the first data source and the second data source of the different types without moving data sets of the first data source and the second data source of the different types into a single database.

US Pat. No. 10,970,336

PREDICTING ENTITIES FOR SEARCH QUERY RESULTS

salesforce.com, inc., Sa...

1. For a database accessible by a plurality of separate organizations, a system for predicting entities for database query results, the system comprising:an interface that receives one or more previous search queries made into the database;
a memory storing a plurality of processor-executable instructions for predicting one or more database query results in response to the search query; and
one or more processors executing the plurality of processor-executable instructions to:
generate, at a character level or a word level, a query encoding based at least in part on the one or more previous queries made by one or more organizations into the database,
generate a user entity view frequency encoding for a particular entity based at least in part on a frequency of views of the particular entity by one or more users,
generate an organization encoding based at least in part on identities of the one or more organizations who made the one or more previous queries accessing the database,
concatenate feature representations of the query encoding, user entity view frequency encoding and the organization encoding; and
based on using the concatenated feature representations of the query encoding, the user entity view frequency encoding, and the organization encoding as training inputs, train a neural model for predicting entities for results to a search query into the database.

US Pat. No. 10,970,335

ACCESS PATTERN-BASED DISTRIBUTION FOR DISTRIBUTED KEY-VALUE STORES

VMware, Inc., Palo Alto,...

1. A method for implementing access pattern-based distribution of key-value content in a distributed key-value store comprising a plurality of nodes, the method comprising:receiving, by a physical computer processor of a first node in the plurality of nodes, a first request to create a key-value entry wherein the first request to create a key-value entry includes an indication of whether the key-value entry is associated with a first scope or a second scope;
determining, by the physical computer processor of the first node, whether the key-value entry is associated with the first scope or the second scope based on the indication included in the request of whether the key-value entry is associated with the first scope or the second scope;
if the key-value entry is associated with the first scope based on the indication included in the request of whether the key-value entry is associated with the first scope or the second scope, causing, by the first node, the key-value entry to be replicated and stored in the physical memory or storage resource of every node in the plurality of nodes; and
if the key-value entry is associated with the second scope based on the indication included in the request of whether the key-value entry is associated with the first scope or the second scope, causing, by the first node, the key-value entry to be stored solely in the physical memory or storage resource of the first node.

US Pat. No. 10,970,334

NAVIGATING VIDEO SCENES USING COGNITIVE INSIGHTS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for obtaining a scene from a database, the method comprising:receiving, from a user, a search request for a scene stored in a database, the database including annotated video content;
extracting one or more keywords from the search request;
determining a sentiment for the search request;
generating one or more extended keywords for each of the one or more keywords, wherein the one or more extended keywords are generated based on a selection of complementary keywords for the one or more keywords;
comparing the one or more extended keywords, the sentiment, and the one or more keywords to the annotated video content to identify one or more target scenes, the one or more target scenes each including target scene annotations, wherein the target scene annotations comprise a target scene sentiment;
assigning a confidence rating to each of the one or more target scenes based at least in part on a correlation between the target scene annotations for each of the one or more target scenes and the sentiment, the one or more extended keywords, and one or more keywords; and
displaying at least one of the one or more target scenes to the user, wherein the at least one of the one or more target scenes is determined based on the confidence ratings;
receiving, from the user, an indication of a selection of a target scene in the one or more target scenes; and
updating the target scene annotations based at least in part on the selection;
monitoring the user to determine an emotional response of the user as the user is watching the target scene;
comparing the emotional response of the user to the target scene sentiment to determine a correlation between the emotional response and the target scene sentiment; and
updating the target scene sentiment based at least in part on the correlation between the emotional response and the target scene sentiment.

US Pat. No. 10,970,333

DISTRIBUTED VIDEO STORAGE AND SEARCH WITH EDGE COMPUTING

NETRADYNE, INC., San Die...

1. A method, comprising:receiving first visual data from a camera at a first device, wherein the first device is proximate to the camera;
storing the first visual data at a memory of the first device;
receiving a search query at a second device;
transmitting the search query from the second device to the first device;
determining, at the first device, a first degree of relevance of the first visual data with respect to the search query based on the first visual data and the search query; and
transmitting the first visual data from the first device to the second device based on the determined first degree of relevance and on a plurality of search results received in response to the search query.

US Pat. No. 10,970,332

ELECTRONIC DEVICE AND DIGITAL CONTENT MANAGING METHOD

Chiun Mai Communication S...

1. A digital content management method applied to an electronic device, the electronic device communicable with a plurality of cloud servers to receive auxiliary content, the method comprising:displaying a user interface on a display screen of the electronic device, and displaying the received auxiliary content in the user interface on the display screen of the electronic device;
receiving a search condition through the user interface;
generating a search instruction according to the search condition;
controlling each of the plurality of cloud servers to search for digital content meeting the search condition, by sending the search instruction to each of the plurality of cloud servers;
receiving related information of the digital content meeting the search condition from each of the plurality of cloud servers, comprising: downloading a resolution of the digital content appropriate for the display screen;
generating a user interface object according to the related information received from each of the plurality of cloud servers, such that a plurality of user interface objects are obtained, wherein each of the plurality of user interface objects comprises one or more control options, and each of the one or more control options corresponds to one function provided by the corresponding cloud server for the digital content meeting the searching condition, wherein each of the one or more control options has a different shape; and
generating an object list by aggregating the plurality of the user interface objects, and displaying the object list on the display screen;
generating a control instruction when the control option of one of the plurality of user interface objects is operated;
triggering the corresponding cloud server to execute the function corresponding to the operated control option by sending the control instruction to the corresponding cloud server;
triggering the corresponding cloud server to return an update instruction when the function is executed completely;
updating the corresponding user interface object in response to the update instruction by updating an appearance of the operated control option; and
updating the object list according to the updated user interface object, and displaying the updated object list on the display screen.

US Pat. No. 10,970,331

DETERMINING CONTEXTUAL CONFIDENCE OF IMAGES USING ASSOCIATIVE DEEP LEARNING

INTERNATIONAL BUSINESS MA...

1. A method for determining contextual confidence of images for associative deep learning, the method comprising:receiving an image including a representation of a subject;
receiving text data related to the image;
determining one or more physical properties of the image;
determining contextual information of the image using natural language processing;
classifying the image based upon the contextual information and the one or more physical properties using a classification model to determine a classification;
determining an emotional state of the image based upon the physical properties; and
determining a confidence of the classification and the emotional state, wherein the confidence of the classification and emotional state is determined using negative class training, wherein the negative class training includes using a probability distribution between a set of images with a known emotional state and a candidate image, wherein the negative class training includes use of a Bessel function.

US Pat. No. 10,970,330

METHOD OF SEARCHING IMAGES USING ROTATIONAL GESTURE INPUT

International Business Ma...

1. A method of searching for images, the method comprising:identifying a reference object in a two-dimensional reference image;
determining a three-dimensional reference orientation axis of the reference object based on at least one attribute of the reference object;
receiving an input that requests a change in a three-dimensional perspective of the reference object;
determining a new orientation axis based on the input and the reference orientation axis;
executing a search query on a set of two-dimensional images, the search query being based on the new orientation axis and the at least one attribute of the reference object; and
displaying image search results that are ranked based on correlation with the new orientation axis and the at least one attribute of the reference object.

US Pat. No. 10,970,329

ASSOCIATING A GRAPHICAL ELEMENT TO MEDIA CONTENT ITEM COLLECTIONS

Snap Inc., Santa Monica,...

1. A method comprising:generating, by one or more processors, corpus data from a set of features of a collection of media content items, the collection of media content items comprising at least one item that is a digital image or a digital video, the set of features comprising at least one visual label, category, or geographical location associated with the collection of media content items, the corpus data comprising a set of textual n-grams identified in the set of features;
determining, by the one or more processors, a set of candidate graphical elements for the collection of media content items based on the set of textual n-grams from the corpus data, based on a set of first mappings that maps at least one textual n-gram in the set of textual n-grams to a first graphical element, and based on a set of second mappings that maps at least the first graphical element to a second graphical element, the second graphical element being determined to be one candidate graphical element in the set of candidate graphical elements;
determining, by the one or more processors, a set of prediction scores corresponding to the set of candidate graphical elements based on the set of features of the collection of media content items;
determining, by the one or more processors, a ranking for the set of candidate graphical elements based on the set of prediction scores;
selecting, by the one or more processors, a set of predicted graphical elements, from the set of candidate graphical elements, based on the ranking; and
providing, by the one or more processors, the set of predicted graphical elements in association with the collection of media content items.

US Pat. No. 10,970,328

METHOD TO DIFFERENTIATE AND CLASSIFY FINGERPRINTS USING FINGERPRINT NEIGHBORHOOD ANALYSIS

Gracenote, Inc., Emeryvi...

1. A non-transitory machine-readable medium having instructions embodied thereon, which, when executed by one or more processors of a machine, cause the machine to perform operations comprising:establishing a stop-fingerprint rule for a multimedia fingerprint neighborhood analysis; and
classifying a plurality of multimedia fingerprints into unique fingerprints and non-unique fingerprints by applying the stop-fingerprint rule to each reference fingerprint selected from a plurality of reference fingerprints stored in a reference multimedia fingerprint database,
wherein applying the stop-fingerprint rule on each reference fingerprint in the reference multimedia fingerprint database comprises, for each reference fingerprint performing operations comprising:
determining, for each stop fingerprint in a stop-fingerprint database, a respective fingerprint distance between the reference fingerprint and the stop fingerprint,
determining, for the reference fingerprint, a set of neighboring fingerprints within the stop-fingerprint database, wherein the set of neighboring fingerprints comprises the stop fingerprints within the stop-fingerprint database for which the respective fingerprint distance is less than a first threshold value;
determining a quantity of stop fingerprints in the set of neighboring fingerprints;
performing a comparison of the quantity of stop fingerprints in the set of neighboring fingerprints to a second threshold value;
if the quantity of stop fingerprints in the set of neighboring fingerprints is less than the second threshold value, then classifying the multimedia fingerprint as one of the unique fingerprints; and
if the quantity of stop fingerprints in the set of neighboring fingerprints is greater than the second threshold value, then classifying the multimedia fingerprint as one of the non-unique fingerprints,
wherein the reference fingerprints are split across a plurality of processors, each processor having a part of the reference multimedia fingerprint database.

US Pat. No. 10,970,327

SELECTING BALANCED CLUSTERS OF DESCRIPTIVE VECTORS

GRACENOTE, INC., Emeryvi...

1. A method comprising:accessing, by one or more processors, descriptive vectors that describe items, each descriptive vector comprising one or more values indicative of an extent to which one or more characteristics are present in a respective item of the items;
determining, by the one or more processors, one or more vector distances between one or more pairs of the descriptive vectors;
generating, by the one or more processors, a hierarchy of vector clusters by clustering the descriptive vectors into the vector clusters based on the determined one or more vector distances;
determining, by the one or more processors, centroid vectors of the vector clusters in the hierarchy, each centroid vector corresponding to a respective vector cluster in the hierarchy;
summing, by the one or more processors, one or more inter-cluster vector distances between one or more pairs of the centroid vectors;
summing, by the one or more processors, for each of the vector clusters, one or more intra-cluster vector distances between one or more pairs of descriptive vectors;
determining, by the one or more processors, a plurality of scores of the hierarchy by applying a plurality of weightings to the summed inter-cluster vector distances and the summed intra-cluster vector distances, wherein each score of the plurality of scores corresponds to a respective weighting of the plurality of weightings, and wherein a particular weighting of the plurality of weightings corresponds to an extreme score of the plurality of scores; and
selecting, by the one or more processors, a subset of the vector clusters in the hierarchy based on the weighting that corresponds to the extreme score.

US Pat. No. 10,970,326

RETRIEVING DEVICE, RETRIEVING METHOD, AND RETRIEVING PROGRAM

FANUC CORPORATION, Yaman...

1. A retrieving device comprising:at least one memory configured to store a program; and
at least one processor configured to execute the program and control the retrieving device to:
classify document data pieces, each made up of a plurality of items, based on a determination of matching of a first item among the plurality of items, the first item having a combination of one or more symbol strings and being described in a database in which the document data is stored, the matching being determined between a plurality of first items in the document data pieces to classify certain first items into a classification group of document data pieces;
extract a group of keywords as related words included in a second item among the plurality of items from pieces of second item document data in a same classification group of document data pieces as the certain first items,
receive a retrieval request based on a first keyword; and
retrieve document data using the first keyword and retrieve document data using a second keyword included in a same classification group of keywords as the first keyword so that the first keyword and the second keyword are related words,
wherein the document data is a failure report of an apparatus, and
wherein the first item is a repair part, and the second item is a failure phenomenon.

US Pat. No. 10,970,325

HYBRID ENTITY MATCHING TO DRIVE PROGRAM EXECUTION

Microsoft Technology Lice...

1. A method, comprising:receiving a set of digital inputs;
wherein the set of digital inputs comprises a candidate entity-user entity pair that includes candidate entity data and user entity data;
wherein the user entity data has been extracted from a node of an online service;
wherein an exact match has not been found between the candidate entity data and the user entity data;
in response to the set of digital inputs, outputting models of the candidate entity data and the user entity data, respectively;
wherein the models indicate weight values assigned to text in the candidate entity data and weight values assigned to text in the user entity data, respectively;
calculating a similarity score using the models;
in response to the similarity score matching a threshold, inputting the candidate entity-user entity pair to a classifier to produce a classification;
wherein the classifier uses a machine learning model that has been trained using features derived from previously-analyzed candidate entity-user entity pairs;
wherein the classification indicates a likelihood that a match has been found between the candidate entity data and the user entity data;
causing the online service to act on the classification;
wherein the method is performed by one or more computing devices.

US Pat. No. 10,970,324

SYSTEM FOR GENERATION OF AUTOMATED RESPONSE FOLLOW-UP

INTERNATIONAL BUSINESS MA...

1. A method, comprising:receiving, from a user, a response in natural language to a question at a response follow-up system;
analyzing, by the response follow-up system, the response using natural language processing to identify one or more response terms included in the response;
generating, by the response follow-up system, one or more follow-up questions based on the one or more response terms and a list of existing common follow-up questions;
pre-fetching, based on the response to the question and the one or more follow-up questions, one or more follow-up responses to the one or more follow-up questions from one or more content provider systems comprising one or more content servers, wherein a question answering system comprising the response follow-up system is communicatively coupled to the one or more content provider systems through a network; and
modifying an aspect of a user interface displayed to the user based on the one or more follow-up questions and the one or more follow-up responses.

US Pat. No. 10,970,323

METHOD AND SYSTEM FOR PROVIDING SUGGESTIONS FOR COMPLETING USER-QUERY

Innoplexus AG, Eschborn ...

1. A method of providing at least one suggestion for completing a user-query, wherein the method comprises:a) receiving the user-query related to a domain of user-interest;
b) determining if the domain of user-interest corresponds to a subject matter using an ontology that relates to the subject matter;
c) identifying elements of the user-query when the domain of user-interest corresponds to the subject matter;
d) classifying the elements of the user query into a concept class and an others class using the ontology, wherein an element of the user-query that corresponds to one or more concepts in the ontology is classified into the concept class, whereas an element of the user-query that does not correspond to any concept in the ontology is classified into the others class;
e) identifying a given element at an end position in the user-query and changing the class of the given element to the others class if the given element was initially classified into the concept class;
f) identifying at least one element that is classified into the concept class occurring farthest from the start position within the user-query;
g) concatenating the identified at least one element with each of the remaining elements of the user-query, to obtain a concatenated string of elements;
h) identifying at least one suggestion associated with the concatenated string of elements using the ontology; and
i) providing the at least one suggestion for completing the user-query.

US Pat. No. 10,970,322

TRAINING AN ARTIFICIAL INTELLIGENCE TO GENERATE AN ANSWER TO A QUERY BASED ON AN ANSWER TABLE PATTERN

International Business Ma...

1. A method comprising:sending, by a query/answer system, a first query to an information server, wherein the first query is a query about a first topic with regard to a first entity, and wherein the information server provides access to unstructured information sources;
receiving, by the query/answer system, a negative response to the first query for the first entity, wherein the negative response indicates that the unstructured information sources do not explicitly contain an answer to the first query for the first entity;
in response to receiving the negative response to the first query for the first entity:
sending, by the query/answer system, variations of the first query to the information server, wherein the variations of the first query are about the first topic with regard to other entities, and wherein the other entities do not include the first entity; and
sending, by the query/answer system, a second query to the information server, wherein the second query is about a second topic regarding both the first entity and the other entities;
receiving, by the query/answer system and from the information server, responses to the variations of the first query and responses to the second query;
generating, by the query/answer system, a table of information from the responses to the variations of the first query and the responses to the second query;
identifying, by the query/answer system, a pattern in the table of information between the responses to the variations of the first query and the responses to the second query for the other entities;
creating, by the query/answer system, the answer to the first query for the first entity based on the pattern in the table of information between the responses to the variations of the first query and the responses to the second query for the other entities;
populating, by the query/answer system, the table of information with the answer to the first query; and
training, by the query/answer system, an artificial intelligence system to respond to a complex query about the first entity with information in the table of information that is populated with the answer to the first query, wherein the complex query requests responses to multiple queries about the first entity.

US Pat. No. 10,970,321

INTELLIGENT TERM AND QUERY GENERATION AND FEEDBACK BASED SELECTIVE EXECUTION

1. A computer-implemented method, comprising:receiving an input data set of text words;
removing any single words from said input data set that are included in a predetermined training data set;
removing any single words from said input data set that do not occur more than once in said input data set;
removing duplicates of only single words that are of key importance to said input data set;
removing all plural stems or endings from each single word in said input data set;
removing any single words from said input data set that are included in filtered words of a dynamically determined training data set and retaining any words from said input data set that are included in non-filtered words of said dynamically determined training data set;
generating multi-word combinations of any remaining single words;
tallying the number of times a single word or multi-word combination occurs in a reference data set and sorting the single word or multi-word combination;
generating a separate primary query for every multi-word combination;
generating focus queries associated with each primary query;
requesting to execute each primary query on a document server and database;
requesting to selectively execute each focus query in succession on said document server and database based on feedback from any previous queries;
receiving query search results from said document server and database in response to each executed primary query and focus queries; and
aggregating query search results from said document server and database.

US Pat. No. 10,970,320

SYSTEMS AND METHODS FOR COORDINATE-BASED SEARCH

Open Text SA ULC, Halifa...

1. A coordinate-based search method, comprising:converting, by a microservice running in a cloud computing environment, an original source document to an internal representation, the internal representation having a coordinate system for text data of the original source document;
generating, by the microservice, a rendition of the internal representation in a vector image format;
providing, by the microservice, the rendition to a viewer running a web application in a browser application on a user device for display on the user device;
receiving, by the microservice from the viewer, a set of coordinates corresponding to an area of the rendition displayed on the user device;
determining, by the microservice based on the set of coordinates and utilizing the coordinate system for the text data of the original source document, information of interest in the area of the rendition displayed on the user device;
searching, by the microservice, the information of interest in the text data of the original source document, the searching producing instances of the information of interest found in the original source document;
determining, by the microservice utilizing the coordinate system for the text data of the original source document, bounding boxes for the instances of the information of interest found in the original source document; and
providing, by the microservice to the viewer, coordinates of the bounding boxes for highlighting the instances of the information of interest in the rendition displayed on the user device.

US Pat. No. 10,970,319

PHRASE INDEXING

ThoughtSpot, Inc., Sunny...

1. A method comprising:obtaining data expressing a usage intent, the data expressing the usage intent indicating an unresolved data portion;
identifying a phrase fragment based on the data expressing the usage intent and a defined phrase pattern, the phrase fragment including the unresolved data portion;
identifying zero or more candidate tokens by traversing a token index based on the phrase fragment;
identifying, by a processor, zero or more candidate phrases by traversing a phrase index based on the phrase fragment, wherein identifying the candidate phrases includes, in response to a determination that the phrase index includes an indexed phrase at least partially matching the phrase fragment in accordance with the defined phrase pattern, the indexed phrase is identified as one of the candidate phrases;
identifying zero or more candidate resolved-requests by traversing a resolved-request index based on the data expressing the usage intent;
weighting the candidate tokens, the candidate phrases, and the candidate resolved-request, to obtain zero or more weighted candidate tokens, zero or more weighted candidate phrases, and zero or more weighted candidate resolved-requests;
sorting the weighted candidate tokens, the weighted candidate phrases, and the weighted candidate resolved-request to obtain sorted candidate resolutions; and
outputting one or more of the sorted candidate resolutions for presentation to a user as respective candidates for resolving the unresolved data portion.

US Pat. No. 10,970,318

ACTIVE CHANGE DETECTION FOR GEOSPATIAL ENTITIES USING TREND ANALYSIS

Apple Inc., Cupertino, C...

1. A method of active change detection for geospatial entities, the method implemented by a computing device that includes one or more processors and a memory device, the method comprising:storing, in the memory device, map data including a first geospatial entity corresponding to a first map area that includes a first physical map feature;
receiving, by a computing device, current activity data for a mobile device, the activity data being associated with the first physical map feature;
determining one or more current activity levels for one or more activity data attributes associated with the first physical map feature based on the current activity data;
determining one or more expected activity levels for the one or more activity data attributes associated with the first physical map feature based on historic activity data;
comparing the current activity level to the expected activity level associated with the first physical map feature;
determining that the one or more current activity levels for the first physical map feature deviate from the corresponding one or more expected activity levels for the first physical map feature by at least a threshold amount;
responsive to the determination, determining that the first physical map feature has changed; and
providing an identifier of the first geospatial entity to a map change management system to cause an update to the first geospatial entity.

US Pat. No. 10,970,317

SYSTEM AND METHOD OF A TWO-STEP OBJECT DATA PROCESSING BY A VEHICLE AND A SERVER DATABASE FOR GENERATING, UPDATING AND DELIVERING A PRECISION ROAD PROPERTY DATABASE

CONTINENTAL AUTOMOTIVE GM...

18. A vehicle comprising:means for transferring information about at least one of an area of interest and a vehicle path to a remote server database and for receiving first data sets comprising driving-relevant object data, such driving-relevant object data further comprising at least location information and detailed object-based information characterizing at least one of a road object, a road furniture object and a geographic object under at least one of the following conditions: a) within the at least one of the area of interest and the vehicle path; at a specific time or time interval; and c) with respect to a specific object;
the vehicle having at least one sensor configured to collect, in operation of the vehicle, at least one ambient data set under said at least one of conditions including i) along path sections, of the vehicle path that includes a location corresponding to said location information, ii) at the specific time or time interval, and iii) with respect to the specific object, the ambient data sets characterizing at least one of the road object, the road furniture object, and the geographic object,
the vehicle having a computer of the vehicle configured
to acquire said ambient data sets from the at least one sensor of the vehicle,
to evaluate the ambient data sets to form an evaluation result,
to generate second data sets based on the evaluation result, each second data set comprising driving-relevant object data,
to generate third data sets that contains at least one of:
differences between the object-based information of the second data sets and the object-based information of the respectively corresponding first data sets related to the path sections that at least partially overlap with one another, and
the object-based information of the second data sets related to the path sections that at least partially overlap with one another, and
means for forwarding the third data sets to an external database.

US Pat. No. 10,970,316

MAINTAINING A CLASS HIERARCHY OF AN OBJECT-ORIENTED DATA MODEL USING SHARED COLUMNS AND/OR OVERFLOW TABLES

Bentley Systems, Incorpor...

1. A method of maintaining a class hierarchy of an object-oriented data model in tables of a relational database, comprising:accessing, by an object-relational mapping system executing on an electronic device, the class hierarchy of the object-oriented data model;
determining, by the object-relational mapping system, a number of different properties of a class that has a largest number of different properties of classes of the class hierarchy;
generating one or more tables of the relational database on a storage device having a number of columns based on the number of different properties of the class;
mapping, by the object-relational mapping system, the classes of the class hierarchy to the one or more tables of the relational database, wherein the mapping shares at least one column of the one or more tables among the classes such that multiple different properties are mapped to the shared column; and
storing properties of the classes of the class hierarchy to the one or more tables of the relational database according to the mapping.

US Pat. No. 10,970,315

METHOD AND SYSTEM FOR DISAMBIGUATING INFORMATIONAL OBJECTS

Camelot UK Bidco Limited,...

1. A computer implemented method for maintaining an authority database comprising a plurality of unique author profile records associated with authors of publications, the method comprisingreceiving data representing a user-defined set of publications, each publication having at least one authorship and related to a unique author of the publication;
recognizing the received data as being associated with a researcher identifier;
by using the authority database comprising the plurality of unique author profile records, verifying the received data to render a threshold confirmation of correctness in association of the set of publications with the unique author, wherein each unique author profile record is associated with a unique author identifier and a cluster of authorships associated with the unique author identifier; and
matching the unique author with an existing unique author profile record stored by the authority database, or creating a new unique author profile record and storing the new unique author profile record at the authority database, wherein
the existing unique author profile record includes a cluster of a set of authorships of a set of publications attributed to a unique author represented by the existing unique author profile record.

US Pat. No. 10,970,314

CONTENT DISCOVERY SYSTEMS AND METHODS

ATLASSIAN PTY LTD., Sydn...

1. A computer implemented method comprising:accessing a document;
generating a document vector in respect of the document;
generating a sentence vector for each sentence in the document;
calculating a sentence similarity score for each sentence in the document, the sentence similarity for a given sentence being calculated based on a similarity between the sentence vector for the given sentence and the document vector;
identifying one or more representative document sentences for inclusion in a document summary, the one or more representative document sentences being identified based on their sentence similarity scores.

US Pat. No. 10,970,313

CLUSTERING DEVICE, CLUSTERING METHOD, AND COMPUTER PROGRAM PRODUCT

KABUSHIKI KAISHA TOSHIBA,...

1. A clustering device comprising:one or more processors configured to:
decide on a first-type parameter representing a parameter of a conversion operation for converting input data into first-type conversion data, the input data being subjected to clustering for classifying data into a plurality of clusters;
based on a plurality of second-type parameters, each representing a parameter of one of the plurality of clusters, calculate a plurality of first-type predicted distributions indicating probability at which the first-type conversion data belongs to the clusters;
update the first-type parameter and the second-type parameters so as to achieve optimization of first-type differences representing differences between the first-type predicted distributions and a target distribution, and second-type differences representing differences between the first-type predicted distributions and second-type predicted distributions, the second-type predicted distributions indicating probability at which second-type converted data, the second-type converted data being obtained by converting data, which is formed by augmentation of the input data, using the first-type parameter belongs to the clusters;
and classify the input data into the plurality of clusters based on the first-type predicted distributions calculated using the updated second-type parameters.

US Pat. No. 10,970,312

CONTENT RESONANCE

Twitter, Inc., San Franc...

1. A computer-implemented method comprising:providing a message to a plurality of user devices;
receiving, by a first content server, an indication of a first user engagement with the message at a first user device;
in response, obtaining, by the first content server from a resonance database, a first impression total for the message and a first user interaction total for the message;
receiving, by a second content server different than the first content server, an indication of a second user engagement with the message at a second user device;
in response, obtaining, by the second content server from the resonance database, the first impression total for the message and the first user interaction total for the message;
computing, by the first content server, a first updated impression total by adding an impression value for the message to a first decayed user impression total, the first decayed user impression total representing a time-based decay of the first impression total;
computing, by the second content server, a second updated impression total by adding the impression value for the message to a second decayed user impression total, the second decayed user impression total representing a time-based decay of the first impression total;
computing, by the first content server, a first updated user interaction total by adding a first action weight for the first user engagement to a first decayed user interaction total, the first decayed user interaction total representing a time-based decay of the first user interaction total;
computing, by the second content server, a second updated user interaction total by adding a second action weight for the second user engagement to a first decayed user interaction total, the first decayed user interaction total representing a time-based decay of the first user interaction total;
computing, by the first content server, a first resonance value of the message based on both the first updated impression total and the first updated user interaction total;
computing, by the second content server, a second resonance value of the message based on both the second updated impression total and the second updated user interaction total;
selecting, by the first content server from among a first plurality of messages, the message for distribution to one or more user devices based on respective resonance values computed for the first plurality of messages, the resonance values for the first plurality of messages including the first resonance value computed for the message; and
selecting, by the second content server from among a second plurality of messages, the message for distribution to one or more user devices based on respective resonance values computed for the second plurality of messages, the resonance values for the second plurality of messages including the second resonance value computed for the message.

US Pat. No. 10,970,311

SCALABLE SNAPSHOT ISOLATION ON NON-TRANSACTIONAL NOSQL

International Business Ma...

1. A method of a client processing transactions in a NoSQL database comprising:inserting, by a plurality of clients, client statuses to said NoSQL database;
sending a call, by a client of said plurality of clients, to a database server of said NoSQL database, wherein the database server sends a time stamp to said client as a start time of a current transaction;
reading, by said client, said client statuses of said plurality of clients from the NoSQL database;
fetching a latest version of a value from said NoSQL database, the value comprises a client ID, a transaction ID and data;
checking a commit time of the latest version of the value from a client status of the client statuses based on the transaction ID mapped to the commit time, the commit time being greater than a constraint time, the constraint time indicating constraints to commit active transactions;
validating, by said client, no conflict for said current transaction, by said client confirming that said latest version of said value is committed before said start time of the current transaction during the commit time of the latest version of the value;
issuing an instruction by said client to said NoSQL database to abort committing said latest version of said value when a validation fails; and
performing said current transaction by said client.

US Pat. No. 10,970,310

SYNCHRONOUS REPLICATION BASED CUTOVER ENGINE

NetApp Inc., Sunnyvale, ...

1. A method comprising:executing an asynchronous replication process to perform asynchronous incremental transfers of data of a storage object from a first computing environment to a replicated storage object at a second computing environment until a cutover criteria is met;
executing a synchronous replication process to synchronously replicate operations, targeting the storage object, to the replicated storage object based upon the cutover criteria being met, wherein the synchronous replication process executes an operation upon the storage object and a replica of the operation upon the replicated storage object before acknowledging the operation as complete; and
performing a cutover to direct operations from targeting the storage object to targeting the replicated storage object based upon the synchronous replication process reaching a steady state of synchronous replication for sub-objects of the storage object where operations are committed to both the storage object and the replicated storage object.

US Pat. No. 10,970,309

DATA STORAGE METHOD AND APPARATUS

ADVANCED NEW TECHNOLOGIES...

1. A data storage method, comprising:setting, by a computer, at least two service domains each having a service domain identifier;
configuring, by the computer based on parameter information of each of the at least two service domains, at least two storage resources corresponding to the at least two service domains;
receiving, by the computer, a data storage request including identification information for to-be-stored data, wherein the to-be-stored data carries a first service domain identifier of the service domain identifiers of the at least two service domains;
acquiring, by the computer based on the identification information for the to-be-stored data, the to-be-stored data, and obtaining the first service domain identifier carried by the to-be-stored data;
determining, by the computer according to the first service domain identifier of the to-be-stored data, a target storage resource corresponding to the to-be-stored data from the at least two storage resources;
storing, by the computer, the to-be-stored data to the target storage resource;
receiving, by the computer, a data reading request carrying the first service domain identifier;
in response to receiving the data reading request, reading, by the computer based on the first service domain identifier, the data stored at the target storage resource; and
transmitting, by the computer, the data read from the target storage resource to a requester that sends the data reading request.

US Pat. No. 10,970,308

METHOD AND SYSTEM FOR DECENTRALIZED IMAGE MANAGEMENT

SAP SE, Walldorf (DE)

1. A non-transitory computer-readable medium to store instructions, which when executed by a computer, causes the computer to:receive a request to receive an image, the image including multiple layers;
identify, based upon the request, metadata related to the image;
determine, based on the identified metadata related to the image, the multiple layers of the image;
determine multiple nodes storing the determined multiple layers of the image;
retrieve the multiple layers of the image from at least one of the determined multiple nodes;
generate a representation of the image using the retrieved multiple layers of the image; and
send the generated representation of the image as a response to the request.

US Pat. No. 10,970,307

INFORMATION TRANSPARENCY CONTROL

International Business Ma...

1. A system, comprising:a processor of a broker node;
a memory on which are stored machine readable instructions that when executed by the processor cause the processor to:
connect to a blockchain comprised of an arranger node and a plurality of client nodes;
retrieve from the blockchain a request for information sent by a client node of the plurality of the client nodes;
decrypt the request for the information with a private key of the broker node;
extract a public key of a client associated with the client node from the decrypted request for the information;
select a set of client properties based on the public key of the client;
generate a modified request for information based on the request for the information and the set of the client properties; and
send the modified request for the information to the arranger node.

US Pat. No. 10,970,306

CHANGE MANAGEMENT SYSTEM FOR DATA SYNCHRONIZATION WITHIN AN ENTERPRISE PORTAL APPLICATION

Locus Robotics Corp., Wi...

1. A system for maintaining a cache in an enterprise portal application, comprising:a cache including cache data representing database data in the database schema, the cache data comprising table data and index data of one or more databases of the enterprise portal application;
a schema layer comprising database schema objects for representing the schema of the one or more databases, wherein:
the database schema objects are created by calling each respective one of the databases directly to retrieve a structure of each respective one of the databases and representing the design components of the database structure using object-oriented programming; and
the schema layer is configured to generate the cache data representing the database data in the database schema; and
a change management system in communication with the schema layer, the cache, and the one or more databases, wherein the change management system is configured to:
validate, by the schema layer, that the cache data and data of the one or more databases are synchronized; and
synchronize, in response to an indication that the cache is invalid, the cache data to the one or more databases by:
receiving a changeset comprising changes to the one or more databases,
comparing the schema of the changeset to the database schema objects created by the schema layer from the database to verify that the changeset is compatible with the cache data and the database schema objects, and
at least one of passing the changeset to the cache for updating the cache data or deleting and recreating the corresponding database schema objects in the schema layer.

US Pat. No. 10,970,305

METHODS AND SYSTEMS OF DATABASE CLUSTER FORMATION AND MANAGEMENT

1. A computerized method useful for node cluster formation and management in a distributed database system comprising:providing a set of database nodes in a database cluster, wherein each node of the set of database nodes comprises a cluster management module, a heartbeat module, and a globally unique node identifier:
wherein the cluster management module manages cluster membership by maintaining a succession list, wherein the succession list comprises a list of all current members in the database cluster, and
wherein the heartbeat module communicates a pulse message to every other node in the set of database nodes;
maintaining, with each heartbeat module of each database node, an adjacency list, wherein the adjacency list comprises a list of database nodes from which the database node has received;
determining a principal node of the database cluster selecting the database node with a unique node identifier that is the largest amongst the database node adjacency list; and
with the principal node:
monitoring a principal node's adjacency lists;
determining an unhealthy node of the set of database nodes in a database cluster;
evicting the unhealthy node from the database cluster; and
identifying each cluster transition within the database cluster with a uniquely generated cluster key.

US Pat. No. 10,970,304

STORING A VARIABLE NUMBER OF INSTANCES OF DATA OBJECTS

Commvault Systems, Inc., ...

1. A system for storing multiple instances of a data object in a data storage network, wherein the data storage network includes a network that interconnects multiple computing systems and multiple data storage devices, the system comprising:a variable instance database configured to store information associated with secondary copies of data objects, wherein:
the multiple computing systems and multiple data storage devices store data objects, including an N number of the same data object;
each secondary copy of each data object is associated with:
a unique identifier generated based on data within the secondary copy of the data object, a storage policy which provides a maximum number of instances of the same data object needed to be stored in the multiple data storage devices, and
multiple pointers, stored in the variable instance database, wherein each of the multiple pointers points to a storage location for an instance of the same data object; and wherein:
a number of instances of the secondary copies of the same data object is less than the N number of instances of the of the same data object but is greater than one, a data object having multiple instances of secondary copies of the data object has been determined to have a size that meets or exceeds a size threshold;
wherein the maximum number of instances is modified based on the type of at least one of the data storage devices that is associated with the storage policy;
and wherein at least one of the data objects has multiple instances stored among the multiple storage devices.

US Pat. No. 10,970,303

SELECTING RESOURCES HOSTED IN DIFFERENT NETWORKS TO PERFORM QUERIES ACCORDING TO AVAILABLE CAPACITY

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:
receive, via an interface for a first network, a query directed to one or more data sets;
in response to receipt of the query:
evaluate available capacity to perform the query at one or more pools of computing resources hosted in the first network and one or more pools of computing resources hosted in a second network;
select, based at least in part on said evaluate available capacity to perform the query at one or more pools of computing resources hosted in the first network and one or more pools of computing resources hosted in a second network, one of the pools of computing resources hosted in the second network from which to obtain one or more computing resources to perform the query; and
route the query to the one or more computing resources of the selected pool hosted in the second network with respect to the one or more data sets.

US Pat. No. 10,970,302

COMPONENT-BASED SYNCHRONIZATION OF DIGITAL ASSETS

ADOBE INC., San Jose, CA...

1. In a digital medium environment for performing digital asset management on a cloud storage medium, a computer-implemented method for accessing the digital assets, the method comprising:identifying components that make up a digital asset on a computing device;
assigning identifiers to each of the components of the digital asset, wherein a first component is assigned a first identifier;
storing each of the components of the digital asset an independent component file on the computing device;
generating, within a digital asset database, a mapping of the digital asset that connects each assigned identifier to a corresponding component stored as an independent component file;
providing the mapping of the digital asset to an application such that the application uses the mapping to access each of the components stored as independent component files on the computing device to display the digital asset as a monolithic file;
detecting a modification to the digital asset based on detecting an update to the first component of the digital asset;
creating a new component file upon detecting the update to the first component of the digital asset;
storing, as an independent component file on the computing device and in response to detecting the update to the first component, the new component file that comprises the updated first component, wherein the new component file is separate from an independent component file associated with the first component;
generating a second identifier for the updated first component stored as an independent component file; and
generating, within the digital asset database, a modified mapping of the modified digital asset that replaces the first identifier with the second identifier to generate an updated digital asset comprising the new component file.

US Pat. No. 10,970,301

KEYFIGURE COMMENTS BOUND TO DATABASE LEVEL PERSISTENCE

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:an in-memory database engine of an in-memory database receiving a request for a first tuple from a planning application, the first tuple comprising a first dimension, the first dimension comprising a first keyfigure, the first keyfigure comprising a time attribute, the in-memory database comprising a time series table including the time attribute;
based upon the first dimension, the in-memory database engine referencing a dependency table stored in the in-memory database to produce dimension dependency stored in the dependency table, the dimension dependency information revealing the first dimension as being related to the second dimension;
based on the dimension dependency information, the in-memory database engine transforming, using a join operation, a comment stored with a second tuple to be bound at database level persistence with the first tuple stored in the in-memory database, the transforming further comprising persisting in the in-memory database a time table storing fields of the time series table and a reference to the comment; and
the in-memory database returning the first tuple and the comment to the planning application.

US Pat. No. 10,970,300

SUPPORTING MULTI-TENANCY IN A FEDERATED DATA MANAGEMENT SYSTEM

Micro Focus LLC, Santa C...

1. A method comprising:receiving a query from a client at a data management server comprising a processor, wherein the query comprises a tenant property condition corresponding to the client;
identifying, by the data management server, an external data store comprising data specified by the query comprising the tenant property condition;
determining, by the data management server, whether the external data store is multi-tenant enabled or non-multi-tenant enabled; and
in response to determining that the external data store is non-multi-tenant enabled:
determining whether a default tenant defined for the non-multi-tenant enabled external data store matches the tenant property condition specified by the query;
in response to determining that the default tenant defined for the non-multi-tenant enabled external data store matches the tenant property condition specified by the query, removing, by the data management server, the tenant property condition from the query, executing the query, with the tenant property condition removed from the query, on the non-multi-tenant enabled external data store to retrieve the data specified by the query, and adding tenant information of the default tenant to the data specified by the query that is returned to the client; and
in response to determining that the default tenant defined for the non-multi-tenant enabled external data store does not match the tenant property condition specified by the query, returning an empty result for the query to the client.

US Pat. No. 10,970,299

CLIENT SIDE SYSTEM AND METHOD FOR SEARCH BACKED CALENDAR USER INTERFACE

Asana, Inc., San Francis...

1. A method to produce a custom calendar user interface on an electronic device display screen of a user device, the method comprising:storing, in a computer readable storage device associated with a server system, an information structure that associates attribute information with code objects corresponding to tasks and that associates the code objects with dates, wherein the attribute information corresponds to one or more of the tasks, wherein the code objects are configured to facilitate generation of visual content items corresponding to the tasks assigned to individual users within individual calendar user interfaces presented on individual user devices associated with the individual users, and generation of combinations of multiple visual content items for the tasks assigned to multiple different users within the custom calendar user interface, wherein a first code object corresponds to a first task previously assigned to a first user, wherein the first code object has been used by a first user device to generate a first visual content item within a first calendar user interface on the first user device, wherein a second code object corresponds to a second task previously assigned to a second user, wherein the second code object has been used by a second user device to generate a second visual content item within a second calendar user interface on the second user device, the first code object being separate and discrete from the second code object;
matching, at the server system, the attribute information included with a search query received at the user device with the attribute information stored in the computer readable storage device to identify one or more of the code objects and one or more of the dates that match the search query;
transmitting, by the server system, information that identifies multiple ones of the code objects and the dates associated with the attribute information stored in the computer readable storage device that matches the attribute information included with the search query; and
effectuating generation of the multiple visual content items for the tasks within a calendar date pane display grid within the custom calendar user interface that is displayed via the user device in accordance with the multiple ones of the code objects, the calendar date pane display grid comprising a two-dimensional display grid of date panes that correspond to days and weeks of a month, wherein the multiple visual content items include the first visual content item corresponding to the first task previously assigned to the first user and the second visual content item corresponding to the second task previously assigned to the second user.

US Pat. No. 10,970,298

CONTROL INTERFACE FOR DISPARATE SEARCH FREQUENCY DISPATCH FOR DYNAMIC ELEMENTS OF AN ASSET MONITORING AND REPORTING SYSTEM

Splunk Inc., San Francis...

1. A method performed by one or more processing devices, the method comprising:causing display of a user interface comprising a plurality of dynamic elements, wherein each dynamic element of the plurality of dynamic elements is associated with an asset node of a plurality of asset nodes of an asset monitoring and reporting system (AMRS), the user interface to allow configuring a search frequency for each metric associated with the plurality of dynamic elements, wherein each metric represents a respective point in time or a period of time and is derived at least in part from a metric-time search of machine data associated with a respective asset node; and
for each dynamic element of the plurality of dynamic elements:
receiving, via the user interface, value of a search frequency of a metric associated with the dynamic element,
storing, in a data store, the value of the search frequency in association with the dynamic element, wherein the value of the search frequency is to determine when to run a metric-time search to derive the metric for the dynamic element; and
registering the metric-time searches in association with respective values of search frequencies, wherein each metric-time search is associated with a dynamic element of the plurality of dynamic elements.

US Pat. No. 10,970,297

REMOTE PROCESSING OF MEMORY AND FILES RESIDING ON ENDPOINT COMPUTING DEVICES FROM A CENTRALIZED DEVICE

Heureka, Inc., Cleveland...

1. A system, comprising:a processor and a memory coupled to the processor, wherein the processor is in networked communication with each of a plurality of remotely located endpoint computing devices via an agent embedded in each of the endpoint computing devices, wherein each of the endpoint computing devices in is any of a storage controller and a storage device, each of the plurality of endpoint computing devices having an index of the entire storage content of the endpoint computing device, wherein the entire storage content comprises structured, semi-structured, and unstructured electronically stored information resident on the endpoint computing device, wherein the index is generated and managed by the agent, and wherein the index of the entire storage content of the endpoint computing device generated and managed by the agent is locally stored at the endpoint computing device, and wherein the processor is configured to:
receive a search query from a centralized user, wherein the search query identifies an element of interest;
for each of the plurality of endpoint computing devices that are online at the time the search query is received from the centralized user, communicate the search query to the agent embedded in each of the plurality of online endpoint computing devices;
for each of the plurality of endpoint computing devices that are offline at the time of search query is received from the centralized user, queue the search query for transmission to each of the plurality of offline endpoint computing devices at a later point in time;
subsequent to the agent embedded in each of the plurality of online endpoint computing devices querying the respective index of structured, semi-structured, and unstructured electronically stored information resident on the respective endpoint computing device for the element of interest of the search query, receive responses from one or more agents indicative of the query results; and
display to the centralized user an identification of the query results received from the one or more of the agents, wherein the query results identify the one or more endpoint computing devices storing the element of interest based on the querying of the index of structured, semi-structured, and unstructured electronically stored information generated by the agent embedded in the respective endpoint computing device;
wherein the index of the entire storage content of the endpoint computing device generated and managed by the agent is locally stored at the endpoint computing device.

US Pat. No. 10,970,296

SYSTEM AND METHOD FOR DATA MINING AND SIMILARITY ESTIMATION

NEC CORPORATION, Tokyo (...

1. A method for data mining, comprising:receiving a plurality of input vectors;
converting the plurality of input vectors into a corresponding plurality of sketch feature vectors, wherein each of the plurality of sketch feature vectors has a number of output dimensions that is less than a number of dimensions of a corresponding one of the input vectors;
comparing each of the plurality of sketch feature vectors against a set of parameters and generating, by a decision loop, results of similarities based on the comparisons, wherein an estimate of cosine similarity or Pearson correlation of the input vectors is obtained based on estimates of an inner product of two of the input vectors and a 2-norm vector of one of the input vectors, the estimates being obtained using respective hash tables for each of the input vectors having a number of entries up to the number of output dimensions of the sketch feature vectors; and
providing a decision based on the results of the similarities and an application of the data mining such that the decision is implemented by the application.

US Pat. No. 10,970,295

COLLECTING STATISTICS IN UNCONVENTIONAL DATABASE ENVIRONMENTS

Teradata US, Inc., San D...

1. A method for generating and executing queries in a distributed query processing system, the method comprising:receiving a query for execution by said distributed query processing system;
generating by a query optimizer a query plan as an execution plan for said execution of said query by said distributed query processing system;
selecting and instrumenting said query plan to collect statistics for one or more signatures;
executing by said distributed query processing system said received query in accordance with said generated query plan;
collecting statistics corresponding to said query plan said statistics including optimizer usage metadata corresponding to said query plan and said prior executed query plans;
storing said collected statistics in said a repository of statistics related to prior executed query plans executed by said distributed query processing system;
enhancing statistics related to data stored for said one or more signatures to maintain the following metadata and counts: (i) a number of optimizer usages that required only query collected statistics, and (ii) a number of optimizer usages that would have used detailed histograms had they been available along with the set of expressions or columns whose value distribution were needed;
mining said metadata and generating a collection of histogram statistics and storing said histogram statistics in said repository;
wherein, in generating said query plan, said query optimizer searches said statistics repository for statistics useful to the generation of said query plan, including said optimizer usage metadata corresponding to said query plan and said prior executed query plans, and based on said searching of said statistics repository, selects statistics from said repository for use in said generating of said query plan.

US Pat. No. 10,970,294

WEBSITE SCORING SYSTEM

1. A computer-implemented method for analyzing web site content and recommending changes in web site content, comprising:receiving, by a computer system and from a client device, a request for analysis of a web site;
analyzing, by the computer system, content of the website;
determining, by the computer system, a score that indicates a quality of the website based on the analyzing the content of the website, the score being determined to have a less-than-perfect value from among potential values for the score;
determining, by the computer system, a first feature of the website that resulted in the score being determined to have the less-than-perfect value;
determining, by the computer system, a second feature of the website that resulted in the score being determined to have the less-than-perfect value; and
transmitting, by the computer system to the client device, information to cause the client device to present a single user interface screen that identifies multiple different features of the website able to be changed to increase the score, including the first feature and the second feature, the single user interface screen concurrently presenting:
a textual representation of the score,
a non-textual graphical representation of the score that is distinct from the textual representation of the score,
a graph that indicates a history of the score changing over time, wherein the graph is distinct from the textual representation of the score and is distinct from the non-textual graphical representation of the score,
first text that indicates the first feature of the website that resulted in the score being determined to have the less-than-perfect value, and
second text that indicates the second feature of the website that resulted in the score being determined to have the less-than-perfect value.

US Pat. No. 10,970,293

RANKING SEARCH RESULT DOCUMENTS

GOOGLE LLC, Mountain Vie...

1. A method implemented by one or more processors, comprising:receiving a query, the query being entered by a user via a user interface input device of a computing device of the user;
identifying responsive documents that are responsive to the query, wherein the responsive documents are access restricted documents of the user, and wherein the access restricted documents are accessible to only the user and any restricted group of additional users designated by the user;
identifying one or more query features for the query;
for each of a plurality of the responsive documents:
identifying one or more document features, and
generating a query independent measure for the responsive document based on measures for one or more of the document features,
wherein each of the measures is based at least in part on past interactions, by corresponding users, with other documents, that are different from the responsive document but have one or more of the document features, when the other documents were presented in response to additional queries that do not include any of the query features,
wherein the other documents include access restricted documents, of the corresponding users, that are not accessible to the user,
wherein the query independent measure for a given document, of the responsive documents, is generated without reference to any past interactions that are specifically directed to the given document;
determining, based on the query independent measures for the responsive documents, a presentation order for the responsive documents; and
providing, in response to the query, one or more of the responsive documents for presentation based on the presentation order, the presentation being via a user interface output device of the computing device.

US Pat. No. 10,970,292

GRAPH BASED RESOLUTION OF MATCHING ITEMS IN DATA SOURCES

Palantir Technologies Inc...

1. A method comprising:calculating a first relational classification score for a first node in a first graph that is digitally stored in computer memory, the first graph representing a first digitally stored database, the first node representing an element of the first digital stored database;
calculating a second relational classification score for a second node in a second graph that is digitally stored in computer memory, the second graph representing a second digitally stored database, the second node representing an element of said second digitally stored database;
calculating a relational classification matching score for the first node and the second node that is based upon on the first relational classification score and the second relational classification score;
generating a canonical tuple that represents a match between the first node and the second node based at least upon the relational classification matching score;
storing said canonical tuple as a merged digitally stored database that is created to resolve said first node and said second node;
wherein the method is performed by one or more computing devices.

US Pat. No. 10,970,291

DETECTING TOPICAL SIMILARITIES IN KNOWLEDGE DATABASES

MACHINEVANTAGE, INC., Be...

1. A method of identifying topical similarities in a knowledge graph, comprising:accessing a knowledge graph having a plurality of articles;
obtaining clickstream data for the knowledge graph;
obtaining user preferences for the knowledge graph, wherein one manifestation of a user preference is a path-weighted preferential metric of user clicks on the knowledge graph;
rank ordering, based on the clickstream data, a plurality of target articles that corresponds to a source article;
constructing a directed article graph based on the rank ordered clickstream data, wherein nodes of the directed graph are source articles and target articles;
receiving an input search term;
performing an unbounded graph search on the directed article graph based on the input search term, wherein the unbounded graph search is an A* search with no goal node performed with a heuristic cost function, wherein a starting node of the unbounded graph search is the article most closely associated with the input search term, and wherein the heuristic cost function comprises a decay function configured to down-weight nodes at greater depths from the starting node; and
providing a ranking heuristic for a predefined number of articles in the knowledge graph based on the directed graph search.

US Pat. No. 10,970,290

MACHINE LEARNING OF RESPONSE SELECTION TO STRUCTURED DATA INPUT

OJO LABS, INC., Austin, ...

1. A method of machine learning in the selection of a ranked response to a structured data input having a natural language processing output schema received from a requesting device, the method comprising:in an electronic, machine learning processing system:
receiving the structured data input, wherein the structured data input includes filter parameters for conversion into response template filter criteria;
converting the filter parameters into the response template filter criteria;
querying a library of response templates to identify candidate response templates that meet the response template filter criteria to filter the response templates;
receiving a selection of the candidate response templates that meet the response template filter criteria and respond to the structured input data, wherein the candidate response templates include static data;
operating a ranking engine to rank the selection of candidate response templates in accordance with ranking criteria;
selecting a highest ranked candidate response template to provide a response to a device;
deriving the response to the structured data input from the selected, highest ranked, candidate response template;
providing the response to a recipient device; and
providing feedback to the ranking engine to refine the ranking criteria.

US Pat. No. 10,970,289

METHODS AND SYSTEMS FOR RANKING SEARCH RESULTS VIA IMPLICIT QUERY DRIVEN ACTIVE LEARNING

ADOBE INC., San Jose, CA...

1. A method for iteratively ranking results of a search using an information retrieval system, the method including operations performed by one or more processors, the operations comprising:receiving, by a rank-boost application and from the information retrieval system, first user query data that identifies a relevance score of each search result item in a first set of search result items that are based on a first search query provided by a first user;
determining, by the rank-boost application and based on a first role of the first user indicated by the first user query data, a weight factor associated with the first role of the first user, wherein the first role of the first user is associated with an item in the first set of search result items;
determining, by the rank-boost application, a first boost factor associated with the first search query based at least partially on the first role associated with the weight factor and a number of consecutive search queries provided by the first user;
receiving, by the rank-boost application and from the information retrieval system, second user query data that identifies a second relevance score of each search result item in a second set of search result items that are based on a second search query provided by a second user;
determining, by the rank-boost application, a second boost factor associated with the second search query based at least partially on a second role of the second user;
determining, by the rank-boost application, that a similarity between the first search query from the first user, the second search query from the second user, and a result item in a subsequent set of search result items that are based on a subsequent search query provided by an additional user is above a similarity threshold;
responsive to determining that the similarity is above the similarity threshold, adjusting, by the rank-boost application, an additional relevance score of the result item by applying the first boost factor to the second relevance score and the second boost factor to the additional relevance score to obtain a boosted relevance score of the result item, wherein the boosted relevance score of the result item determines a rank of the result item among result items in the subsequent set of search result items; and
providing, by the rank-boost application and to the information retrieval system, the boosted relevance score of the result item in the subsequent set of search result items.

US Pat. No. 10,970,288

ANALYSIS DEVICE

NEC CORPORATION, Tokyo (...

9. An analysis method comprising:deciding a window length of a data stream including tuples each including a timestamp and an observed value;
constructing a graph representing a preset relation between the tuples within a window obtained by dividing the data steam by the decided window length;
constructing a tensor or a matrix equivalent to the tensor from a plurality of graphs constructed for a plurality of windows, respectively;
extracting a pattern from the tensor or the matrix equivalent to the tensor; and
extracting a residual portion that does not match the extracted pattern, from the data stream,
the analysis method further comprising:
deciding a new window length that is different from the previously decided window length, constructing a graph representing a preset relation between the tuples within a window obtained by dividing the residual portion extracted from the data stream by the new window length having been decided, and again executing the constructing the tensor, the extracting the pattern and the extracting the residual portion.

US Pat. No. 10,970,287

PERFORMING CROSS-TABULATION USING A COLUMNAR DATABASE MANAGEMENT SYSTEM

OPEN TEXT HOLDINGS, INC.,...

1. A columnar database data mining method, comprising:receiving, by a columnar database management system from a requestor, a request to perform a cross-tabulation operation on input tables having a columnar format, the request specifying row dimensions representing columns of the input tables, the columnar database management system having a processor and a non-transitory computer-readable medium;
responsive to the request, determining, by the columnar database management system, a result table comprising rows, each row of the result table having a combination of values of the row dimensions, the determining comprising, for each row of the result table:
for each value of a row dimension, determining a domain comprising a set of records from an input table of the input tables, the set of records matching the each value of the row dimension;
determining an intersection set of domains corresponding to the each row, the intersection set comprising a set of records that match the combination of values of the row dimensions; and
determining a value for a result column for the each row as an aggregate value based on the intersection set; and
storing the result table in a data store or returning a response to the requestor.

US Pat. No. 10,970,286

CHARACTER MATCHING IN TEXT PROCESSING

International Business Ma...

1. A method comprising:determining an original structured query language (SQL) database query comprises a query clause containing a string of un-shaped characters in Arabic, wherein each of the un-shaped characters are associated with a plurality of respective shapes based on a respective location of respective un-shaped characters in a word, wherein the plurality of respective shapes comprise an initial position, a middle position, a final position, and an isolated position, and wherein the string comprises a first wildcard operator, a first character, a second character, and a third character;
generating a plurality of respective generated query clauses storing respective shapings of the string of one or more un-shaped characters therein, wherein the plurality of respective generated query clauses comprises:
a first query clause comprising the first character in the initial position, the second character in the middle position, and the third character in the final position;
a second query clause comprising the first character in the middle position, the second character in the middle position, and the third character in the final position; and
a third query clause comprising the first character in the isolated position, the second character in the isolated position, and the third character in the isolated position;
combining respective generated query clauses storing respective shapings of the string of characters therein to create a modified SQL database query;
outputting the modified SQL database query to a processor configured to execute the modified SQL database query against a database; and
presenting search results from the modified SQL database query to a user interface.

US Pat. No. 10,970,285

GRID TOPOLOGY CHANGE IN A DISTRIBUTED DATA GRID WHEN ITERATING ON THE CONTENTS OF THE DATA GRID

Red Hat, Inc., Raleigh, ...

1. A non-transitory machine-readable storage medium storing instructions which when executed cause a processing device to:receive, from an application, search criteria of a search query;
determine that a plurality of data segments matching the search criteria of the search query are located at a first node;
communicate, to the first node, a first search request to search for data segments matching the search criteria;
receive, from the first node, a first data segment of the plurality of data segments matching the search criteria and located at the first node;
receive an indication that a second data segment of the plurality of data segments matching the search criteria and previously located at the first node is no longer stored at the first node;
receive an information indicating that the first node transferred the second data segment to a second node, wherein transferring the second data segment to the second node is subsequent to receiving the search criteria of the search query;
communicate, responsive to receiving the information indicating the second node as a new location for the second data segment, a second search request to search for the data segments matching the search criteria of the search query;
receive, from the second node, the second data segment;
determine search result data of the search query, wherein the search result data comprises the first data segment received from the first node and the second data segment received from the second node; and
send the search result data of the search query to the application.

US Pat. No. 10,970,284

DYNAMIC SELF-RECONFIGURATION OF NODES IN A PROCESSING PIPELINE

Oracle International Corp...

1. A computer-implemented method for processing a query, the method comprising:generating a query plan for the query;
instantiating, by a data processing system, an execution pipeline for executing the query based upon the query plan, wherein the execution pipeline comprises a directed acyclic graph comprising a plurality of nodes,
determining, by at least a first node in the plurality of nodes, capabilities of one or more neighboring nodes in the plurality of nodes, wherein the determining comprises:
communicating, by the first node to the one or more neighboring nodes of the first node within the execution pipeline, information identifying a capability of the first node; and
receiving, by the first node from at least one neighboring node of the one or more neighboring nodes within the execution pipeline, information identifying a capability of the at least one neighboring node;
identifying, by the data processing system, based upon the capability of the first node, the capability of the at least one neighboring node, or a combination thereof, a change to be made to the execution pipeline, the change involving the first node, the at least one neighboring node, or a combination thereof;
applying the change to the execution pipeline to create a modified execution pipeline, wherein the applying comprises reconfiguring the first node, the at least one neighboring node, or a combination thereof, wherein the reconfiguring the first node comprises: (i) changing a type of an input or an output of the first node from a first type to a second type different from the first type, and (ii) reconfiguring a function performed by the first node from handling the first type to handling the second type, and wherein: (a) the first type is a variable length record type and the second type is a fixed length record type, or (b) the first type is a fixed length record type and the second type is a variable length record type; and
executing the query by executing the modified execution pipeline.

US Pat. No. 10,970,283

SYSTEMS, METHODS, AND DEVICES FOR MANAGING DATA SKEW IN A JOIN OPERATION

Snowflake Inc., San Mate...

1. A method comprising:detecting, by a local server comprising at least one hardware processor, data skew on a probe side of a join operation at a runtime of the join operation;
identifying, by the local server, a frequent probe-side join key on the probe side of the join operation during a probe phase of the join operation;
identifying, by the local server, a frequent build-side row, the identified frequent build-side row comprising a frequent build-side join key corresponding to the identified frequent probe-side join key;
asynchronously distributing, by the local server in response to detecting the data skew on the probe side of the join operation, the identified frequent build-side row to a plurality of remote servers that frequently transmitted the frequent build-side join key, the asynchronously distributing facilitating the join operation being processed by a combination of the local server and the plurality of remote servers without burdening only a single one of those servers with processing the join operation;
asynchronously receiving, by each of the plurality of remote servers that each comprise at least one hardware processor, the identified frequent build-side row; and
generating, by each of the plurality of remote servers, a separate hash table for the identified frequent build-side row as part of processing a portion of the join operation.

US Pat. No. 10,970,282

SYSTEMS, METHODS, AND DEVICES FOR MANAGING DATA SKEW IN A JOIN OPERATION

Snowflake Inc., San Mate...

1. A method for managing data skew, the method comprising:detecting, by a local server comprising at least one hardware processor, data skew on a probe side of a join operation at a runtime of the join operation using a lightweight sketch data structure;
identifying, by the local server, a frequent probe-side join key on the probe side of the join operation during a probe phase of the join operation;
identifying, by the local server, a frequent build-side row having a frequent build-side join key corresponding to the identified frequent probe-side join key;
asynchronously distributing, by the local server in response to detecting the data skew on the probe side of the join operation, the identified frequent build-side row to a plurality of remote servers that frequently transmitted the frequent build-side join key;
asynchronously receiving, by each of the plurality of remote servers, the identified frequent build-side row; and
altering, by each of the plurality of remote servers, an input link to route a frequent probe-side row comprising the identified frequent probe-side join key to a local instance of the join operation.

US Pat. No. 10,970,281

SEARCHING FOR DATA USING SUPERSET TREE DATA STRUCTURES

SAP SE, Walldorf (DE)

1. A non-transitory machine-readable medium storing a program executable by at least one processing unit of a device, the program comprising sets of instructions for:receiving a query for records in a table having a value in a column of the table that is included in a set of values, wherein the table is divided into a plurality of fragments and each fragment is stored in one or more pages of data in a file;
iterating though a hierarchical tree structure comprising a plurality of nodes arranged in a plurality of levels in order to identify a set of leaf nodes of the hierarchical tree structure based on the set of values, each leaf node in the hierarchical tree structure being associated with a fragment of the plurality of fragments and comprising data describing the fragment, each non-leaf node comprising data describing a superset of the values described by the data in child nodes of the non-leaf node;
processing the query on pages of data in the file associated with fragments associated with the set of leaf nodes; and
generating results for the query based on the processing.

US Pat. No. 10,970,280

QUERY PLAN BASED ON A DATA STORAGE RELATIONSHIP

International Business Ma...

1. A computer-implemented method for managing a database management system, the method comprising:detecting, by the database management system, that a first data storage medium includes a first set of data of a database, wherein the first data storage medium has a first access-factor;
detecting, by the database management system, that a second data storage medium includes a second set of data of the database, wherein the second data storage medium has a second access-factor which differs from the first access-factor;
determining, by the database management system based on a data storage relationship, a query plan to access both the first set of data with respect to the first data storage medium and the second set of data with respect to the second data storage medium, wherein the data storage relationship includes a comparison between a start-up time, a random access time, a read latency time, a data transfer rate, a read performance factor, and a file system fragmentation factor for both the first data storage medium and the second data storage medium, and
wherein determining the query plan to access the first set of data and the second set of data includes: (i) monitoring and detecting movements of data between storage mediums of the database management system based on location and size of the data, and (ii) based on the monitoring and detecting, and based on database management statistics including identification values in one or more transaction tables for the first set of data and the second set of data, determining to access the first set of data via a scan of a transaction table, and determining to access the second set of data via an index;
establishing, by the database management system, the query plan, wherein the query plan includes a first step corresponding to a first parameter value and a second step corresponding to a second parameter value, and wherein the second parameter value is different from the first parameter value;
receiving, by the database management system, a query associated with both the first and second sets of data;
processing, by the database management system, the query plan; and
providing, by the database management system using the query plan, a valid results-set for the query.

US Pat. No. 10,970,279

DATABASE QUERY EXECUTION TRACING AND DATA GENERATION FOR DIAGNOSING EXECUTION ISSUES

International Business Ma...

1. A system comprising:a processor; and
a computer readable storage medium connected to the processor, where the computer readable storage medium has recorded thereon a program for controlling the processor, and where the processor is operative with the program to execute the program for:
receiving trace data captured for an execution of a query on first tables when execution trouble occurs during an execution of the query on the first tables, where the trace data includes counts of evaluation states caused by the execution and includes identifications of portions of the query that reference variables of the first tables and that correspond with the evaluation states;
generating, second tables from the evaluation state counts and the identifications of the trace data without accessing data values of the first tables, so that the first tables are kept private, where the generating populates the second tables with data values that are independent of the data values of the first tables, and where the data values of the second tables are such that executing the query on the second tables reproduces the evaluation states caused by the execution of the query on the first tables; and
reproducing the evaluation states from the execution of the query on the first tables by executing the query on the second tables without accessing the data values of the first tables, so that the reproduced evaluation states reproduce the execution trouble that occurs during the execution of the query on the first tables while keeping the data values of the first tables private.

US Pat. No. 10,970,278

QUERYING KNOWLEDGE GRAPH WITH NATURAL LANGUAGE INPUT

Microsoft Technology Lice...

1. A server computing device, comprising:memory storing a knowledge graph including a plurality of ontology entities connected by a plurality of edges and having a respective plurality of ontology entity types;
a processor configured to:
receive a natural language input;
generate a tokenized utterance based on the natural language input, wherein the tokenized utterance includes one or more words and one or more metadata tokens respectively associated with the one or more words;
based on the tokenized utterance, at a machine learning algorithm stack including an intention detector and an entity mention detector:
select a predefined intention indicating a target ontology entity type of the natural language input using the intention detector;
identify at least one input ontology entity token included in the tokenized utterance using the entity mention detector; and
at a relation mention detector, identify at least one semantic relation and/or at least one literal relation between the predefined intention and the input ontology entity token;
based on the predefined intention, the at least one input ontology entity token, and the at least one semantic relation and/or literal relation, generate a structured query; and
based on the structured query and the knowledge graph, output an output ontology entity token selected from among the plurality of ontology entities included in the knowledge graph and having the target ontology entity type.

US Pat. No. 10,970,277

SYSTEM AND METHOD FOR DYNAMIC CONVERSION OF DATABASE ACCESSING SCRIPTS DURING RUNTIME IN A MAINFRAME REHOSTING PLATFORM

ORACLE INTERNATIONAL CORP...

1. A system for dynamic conversion of structured query language (SQL) statements embedded in a rehosted mainframe application, the system comprising:a microprocessor;
a mainframe rehosting platform executing on the microprocessor, wherein the mainframe rehosting platform comprises an application runtime hosting a mainframe application migrated from an associated mainframe computer, wherein the mainframe application migrated from the associated mainframe computer comprises data manipulation language (DML) code comprising SQL scripts with SQL statements having a first format consistent with accessing data in an associated source database stored on the associated mainframe computer; and
a database access script converter in the application runtime, wherein the database access script converter is configured to:
retrieve a target database schema from a target database,
retrieve a plurality of conversion rules from the application runtime,
parse the mainframe application to identify SQL statements having the first format in the mainframe application, and
during execution of the mainframe application migrated from the associated mainframe, computer:
convert the SQL statements of the DML code having the first format before they are executed by the mainframe application migrated from the associated mainframe computer to a second format required by the target database based on the target database schema and one or more of the plurality of conversion rules; and
delay converting the SQL scripts of the DML code until immediately before each SQL script is to be executed, wherein at least one of the SQL scripts of the DML code is dynamically generated during the execution of the mainframe application migrated from the associated mainframe computer.

US Pat. No. 10,970,276

OBJECT LOSS REPORTING IN A DATA STORAGE SYSTEM

Amazon Technologies, Inc....

1. One or more non-transitory, computer-readable storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to:implement an object-redundant storage service on one or more devices on a service provider network, wherein the object-redundant storage service is configured to:
store a plurality of data objects in a data store of the service provider network on behalf of one or more storage service clients, wherein for each of the plurality of data objects, the object-redundant storage service is configured to:
create a plurality of data elements according to a durability scheme, wherein the data object is reconstructable from at least a subset of the plurality of data elements; and
store at least a portion of the data elements in the data store;
send, to a key-durable storage service, a request to store one or more of the plurality of data elements for a given one of the plurality of data objects; and
receive, from the key-durable storage service, a respective key for each of the one or more of the plurality of data elements for the given data object, wherein the respective key comprises information usable to retrieve the corresponding one of the plurality of data elements for the given data object from the key-durable storage service.

US Pat. No. 10,970,275

SYSTEM AND METHODS FOR PROVIDING A DATA STORE HAVING LINKED DIFFERENTIAL DATA STRUCTURES

SAP SE, Walldorf (DE)

1. A data storage and retrieval system for a computer memory, the system comprising:a processor programmed to configure the computer memory according to a document store adapted to contain one or more documents, the document store comprising:
a document data structure comprising a header and a document of the one or more documents, the document including one or more members, each member having an identifier and a value; and
a chain of two or more differential data structures, each differential data structure comprising a header and at least one updated member, said updated member having a value which is changed relative to a value in a corresponding member having a same identifier in the document data structure,
wherein a header of all but a first-in-time one of the differential data structures includes a pointer to one preceding differential data structure in the chain, and a flag indicating that the differential data structure does not include all of the members of the document data structure, and
the processor further programmed to:
receive a request for the document from a transaction;
determine a most recent differential data structure in the chain of two or more differential data structures which is visible to the transaction, where one or more of the two or more differential data structures is not visible to the transaction;
traverse the chain of two or more differential data structures from the most recent differential data structure based on the pointers in the differential data structures until the document data structure is reached; and
produce a version of the document by updating the members in the document data structure with corresponding updated members of the traversed differential data structures.

US Pat. No. 10,970,274

SYSTEM AND METHOD FOR ELECTRONIC DATA CAPTURE AND MANAGEMENT FOR AUDIT, MONITORING, REPORTING AND COMPLIANCE

eOriginal, Inc., Baltimo...

1. In a data processing system that includes at least one remote computer workstation, that is connected via a communications network to at least one trusted repository system including at least one application server and at least one secure database management system, a method of providing authenticated transaction data comprising the steps of:establishing, by said trusted repository system, a transaction profile specifying options and settings for all transactions associated with a particular transaction type;
assigning, by said trusted repository system, a transaction identifier to said transaction profile;
establishing, by said trusted repository system, one or more data fields corresponding to said transaction profile;
establishing, by said trusted repository system, a document profile specifying options and settings for all documents associated with a particular document type;
assigning, by said trusted repository system, a document identifier to said document profile;
establishing, by said trusted repository system, one or more data fields corresponding to said document profile;
logically associating, by said trusted repository system, said document identifier to said transaction identifier;
receiving, by said trusted repository system, instructions from said authorized user designating at least one of said one or more data fields as auditable;
assigning, by said trusted repository system, a field identifier to each of said one or more data fields;
logically associating, by said trusted repository system, said field identifiers with said transaction identifier;
receiving, by said trusted repository system, one or more first information objects from an authenticated transfer agent at one of said at least one remote computer workstation via said communications network;
depositing, by said trusted repository system, each of said first information objects into one of said data fields;
assigning, by said trusted repository system, an information object identifier to each said first information object;
logically associating, by said trusted repository system, said information object identifiers with said field identifiers;
applying a digital signature and date-time stamp to such first information objects; and
storing, by said trusted repository system, said first information objects in said secure database management system.

US Pat. No. 10,970,273

AIDING RESOLUTION OF A TRANSACTION

International Business Ma...

8. A system comprising:one or more processors; and
a computer readable storage medium coupled to the one or more processors, the computer readable storage medium storing program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
in response to a communications failure between a transaction coordinator and a first resource manager of a plurality of resource managers within a transactional processing system, connecting, by the transaction coordinator, to a second resource manager, the communications failure associated with an in-doubt state of a transaction;
determining an association of the transaction with the first resource manager and an in-doubt state of the transaction, data associated with the transaction being in a first subset of a log of the first resource manager;
based on the association and the in-doubt state of the transaction, obtaining a shared lock on a second subset of the log, the lock permitting one or more resource managers to access the log and preventing the first resource manager from accessing the second subset of the log;
determining a difference in sizes of the first subset and the second subset after obtaining the shared lock;
in response to determining the difference in sizes, releasing the shared lock;
in response to releasing the shared lock, obtaining a subsequent lock on the second subset of the log, the subsequent lock being an exclusive lock obtained by a specified resource manager;
in response to determining sizes of the first subset and the second subset are different, repeating obtaining one or more additional exclusive locks on a changed portion of the second subset of the log;
in response to determining the sizes of the first subset and the second subset are the same, writing, by the specified resource manager, a resolution to the log of the first resource manager; and
releasing the one or more additional exclusive locks responsive to writing the resolution of the log.

US Pat. No. 10,970,272

DATA CLOUD—PLATFORM FOR DATA ENRICHMENT

SAP SE, Walldorf (DE)

1. A system comprising:one or more computer processors;
one or more computer memories; and
a set of instructions incorporated into the one or more computer memories of a data enrichment platform, the set of instructions configuring the one or more computer processors of the data enrichment platform to perform operations for enhancing one or more fields of a master database record based on a consumption of one or more data points provided via a third-party data subscription service, the operations comprising:
accessing, by the one or more computer processors, an aggregated view corresponding to a master database record stored in a central database and corresponding to one or more search results that match a search query, the aggregated view identifying correspondences between the one or more fields of the master database record and the one or more data points provided via the third-party data subscription service;
based on a determination that one or more consumption criteria are met, consuming, by the one or more computer processors, the one or more data points, the consuming including requesting the one or more data points from the third-party data subscription service and storing the one or more data points in the central database;
enhancing, by the one or more computer processors, the one or more fields of the master database record based on the one or more consumed and stored data points; and
providing, by the one or more computer processors, the enhanced master database record via a network to one or more computerized processes associated with one or more consumers of the enhanced master database record.

US Pat. No. 10,970,271

REPAIRING DATA THROUGH DOMAIN KNOWLEDGE

MICROSOFT TECHNOLOGY LICE...

1. A computer system comprising:one or more processors; and
one or more computer-readable media having stored thereon instructions that are executable by the one or more processors to configure the computer system to correct data in a dataset, including instructions that are executable to configure the computer system to perform at least the following acts:
group a set of data tokens from a tabular data store into a plurality of different clusters based on similarity of tokens;
select a reference cluster from among the plurality of different clusters such that the plurality of clusters includes a reference cluster and one or more other clusters;
transform one or more tokens in the one or more other clusters;
determine the effect on the reference cluster of adding the one or more transformed tokens to the reference cluster;
as a result, identify a correction for a token in the dataset; and
cause the data store to be updated to correct the token using the identified correction.

US Pat. No. 10,970,270

UNIFIED DATA ORGANIZATION FOR MULTI-MODEL DISTRIBUTED DATABASES

Microsoft Technology Lice...

1. A method of storing a data set on a server having a processor, the method comprising:executing, by the processor, instructions that cause the server to:
store an item provided in a native item format by:
converting the item into a base representation of the item having a base representation format, wherein the base representation is logically equivalent to the native item format and is independent of a schema of the native item format; and
storing the base representation of the item in the data set with other base representations of other items data having the base representation format;
fulfill a request to provide the item in a requested format by:
converting the base representation of the item into the requested format; and
providing the item in the requested format to fulfill the request; and
fulfill a query in a native query format by:
generating a translation of the query from the native query format into a base query format that is applicable to the base representation format of the data set including the base representation of the item, the base query format comprising a sequence of query intermediate language instructions that logically execute the query over the data set; and
applying the translation of the query having the base query format to the data set having the base representation format.

US Pat. No. 10,970,269

INTERMEDIATE CONSISTENCY LEVELS FOR DATABASE CONFIGURATION

Microsoft Technology Lice...

1. A server of a server set that provides access to a data set, the server comprising:a processor; and
memory storing instructions that, when executed by the processor, cause the server to:
define a consistency level set comprising at least one intermediate consistency level that is less strict than a strong consistency level and more strict than an eventual consistency level;
receive a service level agreement that selects an intermediate consistency level from the consistency level set;
select a server configuration of the server that fulfills the intermediate consistency level selected in the service level agreement by receiving a selection of a custom staleness threshold for the intermediate consistency level and applying the custom staleness threshold based at least on a condition of the custom staleness threshold exceeding a measured round-trip duration between the server and a replica of the data set from which a value is read;
detect that a performance characteristic of the data set does not fulfill the intermediate consistency level;
identify a revised consistency level of the consistency level set that is consistent with the performance characteristic; and
automatically reconfigure the server according to the revised consistency level.

US Pat. No. 10,970,268

SYSTEM OF MIGRATION AND VALIDATION

salesforce.com, inc., Sa...

1. A method, comprising:receiving an indication of a plurality of documents for migration from a legacy data format to a new data format of a computing system, wherein one or more of the plurality of documents are accessible to one or more users in the legacy data format;
determining a first set of data statistics corresponding to a selected one of the subset of documents prior to a performance of the migration;
determining a second set of data statistics corresponding to the selected document after the performance of the migration;
displaying both the first set of data statistics and the second set of data statistics side-by-side for the selected document, wherein the first set of data statistics comprises a first word count for the selected document prior to the performance of the migration and wherein the second set of data statistics comprises a second word count for the selected document after the performance of the migration, wherein a first version of the selected document in the legacy format remains accessible to the one or more users, wherein a second version of the selected document in the new data format is not accessible to the one or more users, and wherein both the first and second versions of the selected document are accessible for validation; and
receiving, responsive to the displaying, an indication whether the migration is validated or invalidated, wherein upon indication that the migration has been validated, the second version of the document is made accessible to the one or more users and the first version of the document is made inaccessible.

US Pat. No. 10,970,267

PREPARING A HIERARCHICAL CLUSTERING DATA STRUCTURE FOR COMPRESSION

Intel Corporation, Santa...

1. An electronic processing system, comprising:a processor;
memory communicatively coupled to the processor; and
logic communicatively coupled to the processor to:
determine difference information between a parent node of a hierarchical data structure and a child node of the parent node,
store the difference information with the child node of the hierarchical data structure, and
construct the hierarchical data structure based on a data similarity between nodes of the hierarchical data structure,
wherein to determine the difference information, the logic is to perform an exclusive-or operation directly between a vector of the parent node and a vector of the child node, and wherein the vector of the parent node is original data of the parent node and the vector of the child node is original data of the child node.

US Pat. No. 10,970,266

ENSURING CONSISTENT REPLICATION OF UPDATES IN DATABASES

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, the method comprising:reading, by a capture engine, log data, wherein the log data comprises a hardware-replicated set of log data, and the log data reflects that an update was started for a database of a first site, and wherein the capture engine corresponds to a capture engine of a second site, wherein the first site corresponds to an active site and the second site corresponds to a standby site;
identifying, by the capture engine, the update by identifying a recovery token that corresponds to the update;
determining whether the update was committed to the database of the first site, wherein the update uses a two-phase commit protocol process and the determination that the update was committed is determined based on detecting an end of the two-phase commit protocol process in the log data;
replicating, by an apply engine, the update to a database of the second site based on the determining, wherein the update is replicated to the database of the second site based on a determination that the update was committed to the database of the first site, and the committed update corresponds to a consistent replication of updates across two or more databases,
wherein replicating the update to the database of the second site corrects an inconsistency between the database of the first site and the database of the second site,
wherein the apply engine and the capture engine are part of a replication engine that is implemented at the standby site; and
communicating the identified recovery token to another replication engine.

US Pat. No. 10,970,265

ENHANCED TABLE FUNCTIONS FOR DATABASE MANAGEMENT SYSTEMS

SAP SE, Walldorf (DE)

1. A method to be performed on one or more data processors comprising at least part of a computer system, the method comprising:receiving, at a database system, a generic table function applicable to a plurality of types of data sources, the generic table function comprising a hierarchy navigation function having a function signature, the function signature including one or more fixed input parameters and one or more generic input operators, wherein the one or more generic input operators comprise a call to at least one generic table having a generic data type, and further wherein the one or more generic input operators are defined irrespective of source data type of the plurality of types of data sources;
determining, at a compile time for the generic table function and based on the function signature, one or more output operators associated with a return set of data of the generic table function, wherein the one or more output operators are determined based on an identity and/or a data type of elements in the return set of data, and wherein the one or more output operators are further based on one or more rules specified in the generic table function, the one or more rules defining how the one or more output operators are derived from the one or more fixed input parameters and the one or more generic input operators; and
generating, at compile time for the generic table function, the one or more output operators for the generic table function.

US Pat. No. 10,970,264

SUPPORTING SECURE LAYER EXTENSIONS FOR COMMUNICATION PROTOCOLS

Red Hat, Inc., Raleigh, ...

1. A method comprising:identifying, by a processor executing a secure layer extensions unit, a secure layer extension identifier associated with a communication protocol supported by a client device;
receiving from a secure sockets layer (SSL) engine a handshake communication in view of the communication protocol, wherein the handshake communication excludes the secure layer extension identifier;
generating, by the processor executing the secure layer extensions unit, a modified handshake communication for the client device that includes the secure layer extension identifier in view of the communication protocol; and
forwarding the modified handshake communication to the client device.

US Pat. No. 10,970,263

COMPUTER SYSTEM AND METHOD OF INITIATIVE ANALYSIS USING OUTLIER IDENTIFICATION

Applied Predictive Techno...

1. A method comprising:compiling, by a server, a dataset comprising performance data of a plurality of locations within a time period, wherein the performance data is arranged based on a plurality of corresponding discrete time periods within the time period;
iteratively executing, by the server, an outlier protocol to remove outlier data by:
generating, based on the performance data, a first index value for each location of the dataset within each discrete time period by comparing the performance data of each location within each discrete time period to a performance average for that location;
generating, based on the performance data, a second index value for each location within each discrete time period, the second index value representing a first index average for each location within each discrete time period;
identifying at least one discrete time period by comparing second index value for each location with other second index values for other locations;
removing performance data associated with the identified discrete time period, wherein the server iteratively executes the outlier protocol until it reaches a predetermined outlier threshold;
modifying, by the server, an algorithm for analyzing an initiative by removing the at least one discrete time period;
executing, by the server, the modified algorithm to analyze the initiative for at least one location within the plurality of locations; and
displaying, by the server on a graphical user interface, data representing analysis of the initiative, the graphical user interface excluding outlier performance data.

US Pat. No. 10,970,262

MULTIPLE VERSIONS OF TRIGGERS IN A DATABASE SYSTEM

International Business Ma...

1. A method for managing multiple versions of triggers in a database system, comprising:receiving a first command to create a first version of a trigger to apply a first set of actions in response to a triggering event, the triggering event comprising an input/output operation on a database object;
based on the first command, creating the first version of the trigger to apply the first set of actions in response to the triggering event, comprising:
creating the first version of the trigger to comprise the first set of actions;
linking the first version of the trigger to the database object; and
setting the first version as a current version of the trigger;
receiving a second command to create a second version of the trigger to apply a second set of actions in response to the triggering event;
based on the second command, creating the second version of the trigger to apply the second set of actions in response to the triggering event, without deleting the first version of the trigger, comprising:
creating the second version of the trigger to comprise the second set of actions; and
linking the second version to the database object;
receiving a third command to set the current version of the trigger to the second version;
in response to receiving the third command, setting the second version as the current version of the trigger;
determining that the triggering event of the trigger occurs;
in response to determining that the triggering event occurs, determining that the second version is the current version of the trigger;
in response to determining that the second version is the current version of the trigger, retrieving the second set of actions comprised in the second version; and
executing the second set of actions.

US Pat. No. 10,970,261

SYSTEM AND METHOD FOR DATA QUALITY MONITORS

Palantir Technologies Inc...

1. A computer-implemented method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:receiving, via a user interface, selection, from a plurality of object types including entity and event, a first object type and a related object type different than the first object type;
receiving, via the user interface, selection of a criterion selected from a plurality of criterion that are selectable via the user interface, wherein the selected criterion is configured to identify data objects of the first object type associated with a data object of the related object type and having a potential problem;
identifying, based on evaluation of at least the selected criterion with reference to a plurality of data objects stored in one or more data stores:
a first data object of the first object type, the first data object having a plurality of properties, wherein the first data object is identified based on satisfaction of the selected criterion by one or more properties of the first data object; and
a second data object of the related object type having a link to the first data object; and
causing presentation, in the user interface, of a graphical representation of the first and second data objects as visually linked.

US Pat. No. 10,970,260

MOVING DATA BETWEEN PARTITIONS

Oracle International Corp...

1. A method comprising:storing a plurality of mappings, each of which maps a location identifier for a first database object with a location identifier for a second database object that is (a) different than the first database object and (b) generated based on one or more operations to the first database object;
in response to receiving a query:
identifying an entry in an index,
identifying a first location identifier that is indicated in the entry,
based on a mapping in the plurality of mappings, identifying a second location identifier that corresponds to the first location identifier,
in generating a response to the query, using the second location identifier to retrieve first data from the second database object, wherein the first location identifier is not used to retrieve data from the first database object;
wherein the method is performed by one or more computing devices.

US Pat. No. 10,970,259

SELECTIVE APPLICATION OF BLOCK VIRTUALIZATION STRUCTURES IN A FILE SYSTEM

EMC IP Holding Company LL...

1. A method of managing a file system in a data storage system, the method comprising:generating, by a processor of the data storage system, an node structure describing a file of the file system, the node structure having block pointers pointing to respective data blocks of the file system storing data of the file;
for each of a first set of data blocks of the file system, configuring deduplication for the respective data block by selectively inserting, in response to an access frequency to the data block being below a threshold, a block virtualization structure (BVS) between that data block and the block pointer in the node structure that points to that data block, the BVS providing deduplication metadata of the data block within the file system; and
for each of a second set of data blocks of the file system, disabling deduplication of the respective data block by providing, in response to the access frequency to the data block exceeding the threshold, access to the block without inserting a BVS that provides metadata for supporting deduplication of data of the data block within the file system,
wherein the method further comprises, prior to the act of inserting, performing a decision operation to determine whether to insert a BVS between a data block and a block pointer that points to the data block based on a specified criterion, data blocks of the first set of data blocks satisfying the specified criterion, data blocks of the second set of data blocks not satisfying the specified criterion,
wherein the specified criterion is satisfied when an access frequency of a data block is less than the threshold, and
wherein performing the decision operation includes comparing the access frequency of the data block to the threshold,
wherein each data block has a size; and wherein, for each of the first set of data blocks, inserting the BVS between the data block and the block pointer includes providing multiple BVS entries, each BVS entry having a block segment pointer that points to a respective segment of the data block, each segment having a size that is a fraction of the size of the data block,
wherein generating the inode structure includes allocating a bit in a granularity bitmap, the granularity bitmap having bits corresponding to respective data blocks of the file system, each bit of the granularity bitmap indicating whether a BVS has been inserted between the data block to which the bit corresponds and the block pointer pointing to that data block; and
wherein, for each of the first set of data blocks, inserting the BVS between the data block and the block pointer includes updating the bit of the granularity bitmap corresponding to the data block to indicate that a BVS has been inserted between the data block and the block pointer.

US Pat. No. 10,970,258

MANAGING CONTAINER-IMAGE LAYERS

Red Hat, Inc., Raleigh, ...

1. A system comprising:a processing device; and
a memory device including instructions that are executable by the processing device for causing the processing device to:
determine an overall score for an image by analyzing historical data indicating usage of the image at various points in time during a prior time-period, the image being for deploying a container in a computing environment;
determine a first score for a first layer of the image based on the overall score for the image;
determine a second score for a second layer of the image;
determine that the first score corresponds to a first storage destination among a plurality of possible storage destinations and the second score corresponds to a second storage destination among the plurality of possible storage destinations, the second storage destination being different from the first storage destination; and
store the first layer in the first storage destination based on the first layer being correlated to the first score and the second layer in the second storage destination based on the second layer being correlated to the second score.

US Pat. No. 10,970,257

REPLICATING FILE SYSTEMS VIA CLOUD STORAGE

EMC IP Holding Company LL...

1. A method of replicating file systems using cloud storage, the method comprising:generating a writeable snapshot of a source file system hosted on a source data storage system, the writeable snapshot providing a point-in-time version of the source file system;
for each of a set of files in the writeable snapshot, performing a cloud-tiering operation by (i) copying data of the respective file to a respective object in cloud storage and (ii) replacing the copied data of the file with a stub that points to the copied data in the respective object in the cloud storage; and
performing a namespace backup of the writeable snapshot to an identified object in the cloud storage, the namespace backup including a directory structure and stubs of the writeable snapshot but excluding the data of the set of files, the namespace backup enabling a target data storage system to construct a replica of the source file system by performing a namespace restore from the identified object in the cloud storage.

US Pat. No. 10,970,256

RECONCILER FOR A DISTRIBUTED STORAGE SYSTEM

NVIDIA Corporation, Sant...

1. A computer implemented method for discovering and logging misplaced objects in a distributed object storage system, comprising:providing a processor running at least one container replicator in said distributed object storage system;
said container replicator recording in each of a plurality of container replicas, a log of state transitions that result from a series of requests;
each container replica maintaining a set of vectors that indicate when the container replica last recorded a PUT operation or DELETE operation and when a PUT operation or DELETE operation resulted in a change of status of the container replica; and
said container replicator comparing the log and vectors stored in two or more of the container replicas to determine a state transaction history that resulted in a current state.

US Pat. No. 10,970,255

SYSTEM AND METHOD FOR SYNCHRONIZING DATA BETWEEN A CUSTOMER DATA MANAGEMENT SYSTEM AND A DATA WAREHOUSE

Veeva Systems Inc., Plea...

1. A computer-implemented method for synchronizing data between a customer data management system and a data warehouse, wherein the data warehouse comprises a data warehouse server and a data storage device and stores data from the customer data management system, the method comprising:creating a first list for a first item and a second item in the customer data management system that the data warehouse server automatically monitors;
creating a second list for a third item and a fourth item in the customer data management system that the data warehouse server does not need to monitor;
creating a synchronization table which comprises the first list and the second list;
reading files for the first and second items on the first list from the customer data management system;
extracting metadata from the files for the first item and creating a corresponding object for the first item in a metadata repository, and extracting metadata from the files for the second item and creating a corresponding object for the second item in the metadata repository, wherein each corresponding object comprises a plurality of columns, and comprises information about ID and data type of the first and second items, wherein the corresponding object for the first item in the metadata repository and the first item have a different number of columns, and wherein the metadata from the files for the first item and the corresponding object for the first item comprise a first type of data in the first item, and the metadata from the files for the second item and the corresponding object for the second item comprise a second type of data in the second item, and wherein the first type of data and second type of data are different;
converting the data types in the customer data management system to corresponding data types in the data warehouse system with a data type conversion logic; and
excluding the third and fourth items.

US Pat. No. 10,970,254

UTILIZATION OF TAIL PORTIONS OF A FIXED SIZE BLOCK IN A DEDUPLICATION ENVIRONMENT BY DEDUPLICATION CHUNK VIRTUALIZATION

International Business Ma...

15. A computer-implemented method for utilizing free space in physical storage, the method comprising:receiving data;
splitting a chunk of the data into portions for filling free space in a plurality of fixed size blocks in physical storage;
writing logs each having a respective portion of the split chunk to the free space of the fixed size blocks, wherein a first of the logs includes metadata pointing to another of the other logs; and
deduplicating of the chunk of the data, the deduplicating including creating a pointer to the first log,
wherein the first log includes metadata pointing to a second one of the logs,
wherein the second log includes metadata pointing to a third of the logs.

US Pat. No. 10,970,253

FAST DATA DEDUPLICATION IN DISTRIBUTED DATA PROTECTION ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A method for data deduplication by one or more processors, comprising:denoting a data extent existing on a remote server instance as a virtual base extent to eliminate redundant transfer of the data extent for fast data deduplication in a distributed data protection environment, wherein the data extent is denoted as the virtual base extent upon determining the data extent fails to exist on a local server instance while existing on the remote server instance, and wherein, upon determining the data extent is denoted as the virtual base extent, the data extent is withheld from being backed up from a client to the local server instance during a routine backup operation.

US Pat. No. 10,970,252

METHOD AND APPARATUS FOR GENERATING CUSTOMIZED DIGITAL FILES WITH VARIABLE DATA

1. A system for generating customized digital documents based on a set of user preferences comprising:a server system configured to serve a plurality of user interfaces via a network to one or more user devices;
a database connected to the server system, said database comprising a plurality of database tables; and
a back-end system connected to said server system and said database;
wherein said plurality of user interfaces comprises:
a first user interface configured to receive one or more commands for creating a project, said project comprising a data level hierarchy comprising a plurality of linked data levels, a plurality of variable data columns, one or more static data items, and a template comprising one or more containers, wherein each said data level is associated with a database table, comprising one or more data records, selected from said plurality of database tables, wherein each said variable data column is associated with one or more of said data levels and wherein one of said data levels is designated as a main data level and each of the remaining data levels are designated as non-main data levels;
a second user interface configured to receive one or more commands for defining one or more keys, wherein each key defines a relation between one or more of said variable data columns and one of said data levels, and wherein each key is associated with a set of data records stored in one of said database tables;
a third user interface configured to display said one or more containers of said template and to receive one or more commands for arranging said variable data columns and static data items in a plurality of slots in said one or more containers, and associating one or more of said slots with one of said data levels;
a fourth user interface configured to receive one or more commands for designating one or more of said slots that are associated with said main data level as main slots and designating one or more of said slots that are associated with said main data level as alternate slots, wherein said main slots are visually distinct from said alternate slots, and wherein the total number of main slots and alternate slots equals the total number of said data records in said database table that are associated with one of said keys;
a fifth user interface configured to display a plurality of predefined projects comprising a plurality of predefined templates, predefined data levels comprising a main data level, predefined variable data columns, predefined keys, and predefined static data items, and receive a command for selecting a project from said plurality of predefined projects instead of using said project created with said first, second, third, and fourth user interfaces;
a sixth user interface configured to display a plurality of data reception templates generated from said plurality of data levels and said plurality of variable data columns, and to receive one or more commands for entering data into said plurality of data reception templates;
a seventh user interface configured to receive one or more commands for loading said data of said plurality of data reception templates into said plurality of database tables;
an eighth user interface configured to display a document preview comprising said template, said set of data records retrieved from said database tables and identified by one or more of said keys, and said static data items, wherein said main slot is populated with one data record selected from said main data level of said set of data records and each of said alternate slots are populated with one of the remaining data records selected from said main data level of said set of data records;
a ninth user interface configured to receive one or more commands for saving said project created by said first user interface as one of said predefined projects for selection by said fifth user interface; and
wherein said back-end system is configured to generate a plurality of customized digital documents, each customized digital document comprising said template, a plurality of data records retrieved from said database tables and identified by one or more of said keys, and said static data items, wherein for each customized digital document, said main slot is populated with one data record selected in succession from said main data level of said set of data records, and wherein each of said alternate slots are populated with one of the remaining data records selected from said main data level of said set of data records.

US Pat. No. 10,970,251

MANAGING STORAGE SYSTEM METADATA DURING DATA MIGRATION

International Business Ma...

1. A method for managing the migration of data, the method comprising:detecting a first migration of a portion of data to a tape media, wherein the first migration occurs during a process of migrating data of a source storage device to a destination storage device, wherein both the source storage device and the destination storage device utilize one or more disk drives to store data;
changing metadata of the portion of data in response to detecting the first migration, wherein the metadata indicates that the portion of data is stored on the tape media;
detecting a first prefetch command for the portion of data;
determining that the portion of data is stored on the tape media using the metadata;
executing the first prefetch command by blocking a recall of the portion of data and reading the portion of data directly from the tape media in response to determining that the portion of data is stored on the tape media;
detecting a cutover, wherein the cutover reduces access to the source storage device;
detecting a second prefetch command for the portion of data; and
executing the second prefetch command by writing the portion of data to the destination storage device and reading the portion of data from the destination storage device in response to the detection of the cutover.

US Pat. No. 10,970,250

SYSTEM, DATA MANAGEMENT METHOD, AND FILE SERVER

HITACHI, LTD., Tokyo (JP...

1. A system, comprising:a file server coupled to a plurality of client terminals; and
an archive server coupled to the file server via a network,
the file server including:
a first processor;
a first memory coupled to the first processor;
a first storage device coupled to the first processor; and
a first network interface coupled to the first processor,
the archive server including:
a second processor;
a second memory coupled to the second processor;
a second storage device coupled to the second processor; and
a second network interface coupled to the second processor,
the first processor being configured to:
provide an area for storing data recognizable by each of the plurality of client terminals;
determine whether to store first data into the first storage device based on an attribute of a first storage area in a case where an addition request for storing the first data into the first storage area is received from a client terminal; and
transmit the addition request to the archive server,
the second processor being configured to store the first data into the second storage device in a case where the addition request is received,
wherein the first processor is configured to:
determine whether the first storage area is shared by the plurality of client terminals;
store the first data into the first storage device in a case where the first storage area is determined to be shared by the plurality of client terminals; and
transmit the first data stored in the first storage device to a plurality of client terminals other than the client terminal that has transmitted the addition request,
wherein the first memory is configured to store log management information, for managing an access request received from the client terminal as an access log, and policy management information for storing a policy for controlling stubbing processing to delete data other than metadata of the data stored in the first storage device,
wherein the policy management information stores a policy including a first condition indicating a timing to execute the stubbing processing and a second condition indicating a criterion for selecting data to be subjected to the stubbing processing, and
wherein the first processor is configured to:
analyze an access request in a case where the access request is received from the client terminal, to thereby identify a type of the client terminal;
store the access log including the type of the client terminal into the log management information;
analyze the log management information to generate access analysis information indicating an access tendency of each type of a client terminal for each data storage area;
determine whether the first condition is satisfied by referring to the policy management information;
identify data matching the second condition from among pieces of data stored in the first storage device by referring to the access analysis information in a case where the first condition is determined to be satisfied; and
execute the stubbing processing for the identified data.

US Pat. No. 10,970,249

FORMAT AWARE FILE SYSTEM WITH FILE-TO-OBJECT DECOMPOSITION

International Business Ma...

1. A computer system comprising:a hardware processor operatively coupled to memory;
a multi-tier storage array operatively coupled to the processor;
a decompose engine operatively coupled to the processor and the storage array, the decompose engine to:
decompose a received file including, parse the file into two or more logical objects at least partially based on a file format of the file, each logical object having a distinct characteristic;
match each of the logical objects to a storage tier in the storage array; and
assign each logical object to a tier based on one or more object characteristics in the matched storage tier in a decomposed format; and
the decompose engine to place an identified logical object to the assigned tier within the storage array.

US Pat. No. 10,970,248

PROCESSING OF ETHERNET PACKETS AT A PROGRAMMABLE INTEGRATED CIRCUIT

Achronix Semiconductor Co...

1. A programmable integrated circuit comprising:an internal network on chip (iNOC) comprising iNOC rows and iNOC columns;
a plurality of clusters coupled to the iNOC, each cluster comprising a network access point (NAP) and programmable logic; and
an Ethernet controller coupled to the iNOC, the Ethernet controller configurable to operate in packet mode where each complete inbound Ethernet packet is sent from the Ethernet controller to one of the NAPs via the iNOC, wherein two or more NAPs are configurable to receive the complete inbound Ethernet packets from the Ethernet controller.

US Pat. No. 10,970,247

CONDITIONAL OPERATION IN AN INTERNAL PROCESSOR OF A MEMORY DEVICE

Micron Technology, Inc., ...

1. An apparatus, comprising:a memory device, comprising:
a sequencer configured to receive an instruction, selectively generate a first signal, and selectively generate a second signal having a value indicating whether a condition of the instruction has been met; and
an internal processor coupled to the sequencer, wherein the internal processor comprises:
a conditional masking logic configured to generate an output based upon the first signal and the second signal; and
a plurality of arithmetic logic unit (ALU) blocks that operate in parallel, wherein each ALU block of the plurality of ALU blocks when in operation selectively executes operations based on the output of the conditional masking logic.

US Pat. No. 10,970,246

TECHNOLOGIES FOR REMOTE NETWORKED ACCELERATORS

Intel Corporation, Santa...

1. A computing device for remote direct memory access (RDMA), the computing device comprising:a network interface controller;
a root field programmable-gate array (FPGA) coupled to the network interface controller by an I/O link; and
a plurality of worker FPGAs, wherein each worker FPGA is coupled to the root FPGA by a corresponding serial link;
wherein the network interface controller comprises an RDMA manager to (i) receive an RDMA message from a remote host, wherein the RDMA message comprises a memory address in a unified address space and (ii) send the RDMA message to the root FPGA via the I/O link;
wherein the root FPGA comprises an address space manager to (i) determine a first target FPGA of the plurality of worker FPGAs for the RDMA message based on the memory address of the RDMA message, wherein the root FPGA and each of the plurality of worker FPGAs are each associated with a corresponding part of the unified address space, and (ii) forward the RDMA message to the first target FPGA via the serial link between the root FPGA and the first target FPGA; and
wherein the first target FPGA comprises a receive message manager to process the RDMA message.

US Pat. No. 10,970,245

PROCESSOR WITH RECONFIGURABLE PIPELINED CORE AND ALGORITHMIC COMPILER

ICAT LLC, Terre Haute, I...

1. A precompiler comprises an algorithmic matching pipelined compiler, wherein the algorithmic matching pipelined compiler comprises a processing unit, and the algorithmic matching pipelined compiler is configured to precompile a standard higher level software language written for a type of conventional non-reconfigurable processor, and the algorithmic matching pipelined compiler generates machine code for one or more reusable cores by using the processing unit, wherein the machine code provides instructions for configuring the one or more reusable cores, such that the one or more reusable cores are capable of being configured or reconfigured to independently solve complex mathematical and logic algorithms without further intervention by the processing unit after the algorithmic matching pipelined compiler configures the one or more reusable cores, wherein the processing unit is disposed on a chip.

US Pat. No. 10,970,244

SMART INTERFACE CIRCUIT

REALTEK SEMICONDUCTOR COR...

1. An interface circuit configured to couple a Universal Serial Bus (USB) interface with a Peripheral Component Interconnect Express (PCIe) interface, the interface circuit comprising:a USB Attached SCSI (UAS) protocol processing circuit;
an instruction register configured to provide a plurality of UAS commands of a host for a Non-Volatile Memory Express (NVMe) protocol processing circuit;
a data buffer configured to store first stored data and second stored data from a storage device; and
an NVMe protocol processing circuit,
wherein the UAS protocol processing circuit is configured to execute at least following steps:
receiving the plurality of UAS commands of the host via the USB interface, the plurality of UAS commands of the host including a first UAS command and a second UAS command for reading the first stored data and the second stored data respectively;
storing the plurality of UAS commands of the host in the instruction register;
transmitting a first read-ready signal to the host according to the first UAS command;
after transmitting the first read-ready signal, outputting the first stored data stored in a data buffer to the host, and after finishing outputting the first stored data to the host, transmitting a first status notification to the host;
after transmitting the first status notification, transmitting a second read-ready signal to the host according to the second UAS command; and
after transmitting the second read-ready signal, outputting the second stored data stored in the data buffer to the host, and after finishing outputting the second stored data to the host, transmitting a second status notification to the host;
and
wherein the NVMe protocol processing circuit is configured to execute at least following steps:
generating X NVMe command(s) according to the first UAS command, in which the X is a positive integer;
transmitting X doorbell signal(s) to the storage device via the PCIe interface and thereby requesting the storage device to output the first stored data to the data buffer through the NVMe protocol processing circuit according to the X NVMe command(s);
generating Y NVMe command(s) according to the second UAS command, in which the Y is a positive integer; and
before transmitting the second read-ready signal, transmitting Y doorbell signal(s) to the storage device via the PCIe interface and thereby requesting the storage device to output the second stored data to the data buffer through the NVMe protocol processing circuit according to the Y NVMe command(s).

US Pat. No. 10,970,243

FRONT END SERIAL BUS AUTOMATIC BUS PARK TRI-STATE ACTIVATION

Qorvo US, Inc., Greensbo...

1. A bus interface system, comprising:a master bus controller configured to generate a clock signal and implement a read data frame; and
a slave bus controller operable to receive the clock signal, the slave bus controller comprising a slave bus driver that drives a data bus line, wherein the slave bus controller is configured to generate an input data signal during the read data frame and end the read data frame during a bus park subframe of the read data frame and wherein, when the input data signal, which is transmitted from the slave bus driver to the master bus controller along the data bus line, has been driven to a high voltage state by the slave bus driver prior to the bus park subframe, the slave bus controller is configured to:
operate the slave bus driver such that the data bus line is driven towards a minimum voltage level in response to a final clock edge of the clock signal during the bus park subframe;
detect when the data bus line has been driven within a first voltage range after the final clock edge during the bus park subframe, wherein the first voltage range is between a maximum voltage level and the minimum voltage level of the data bus line; and
tristate the slave bus driver, such that the slave bus driver gives up control of the data bus line to the master bus controller, after a time delay interval in response to detecting that the data bus line has been driven within the first voltage range after the final clock edge of the clock signal during the bus park subframe.

US Pat. No. 10,970,242

DIRECT ACCESS TO A HARDWARE DEVICE FOR VIRTUAL MACHINES OF A VIRTUALIZED COMPUTER SYSTEM

VMware, Inc., Palo Alto,...

1. A method executed in a virtualized computer system that includes a processor, a memory, and a hardware device, the method comprising:obtaining information corresponding to the hardware device;
creating, within virtualization software, a passthrough device corresponding to the hardware device, the passthrough device enabling an application to have access to the hardware device in either a trap mode or a non-trap mode, the passthrough device having one or more guest physical addresses in a base address register (BAR) for input/output (I/O) operations to the hardware device, the hardware device defining one or more machine addresses in the memory for the I/O operations;
identifying a guest physical address (GPA) of the one or more guest physical addresses for an I/O operation of the I/O operations;
upon determining that the GPA is contained within the BAR of the passthrough device, mapping the GPA to a corresponding machine address (MA) of the defined one or more machine addresses, and allowing the application to have direct access to the hardware device using the MA;
sending, by the application, the I/O operation with the MA; and
enabling the I/O operation to the hardware device to be performed in either trap mode or non-trap mode using the MA.

US Pat. No. 10,970,241

CONVERTER SYSTEM AND COMPUTER-IMPLEMENTED METHOD

SAP SE, Walldorf (DE)

1. A converter system for multi-component systems, comprising:a memory storing processor-executable instructions; and
a processor to execute the processor-executable instructions in order to cause:
a multi-component system adjustment module, comprising:
an input/output unit configured to perform the steps of:
a) outputting at least one primary component prompt of a plurality of primary component prompts, and
b) receiving at least one primary component input in response to the at least one primary component prompt;
an adjustment unit configured to adjust at least one primary component of a primary multi-component system, wherein the adjustment unit is configured to, for each of the at least one primary component given as a probability distribution, perform the step of:
c) updating a probability distribution of at least one primary component in response to the at least one primary component input;
a certainty evaluation unit configured to perform the steps of:
d) evaluating a certainty parameter indicative of an entropy of the primary multi-component system, and
e) comparing the certainty parameter of the primary multi-component system with a certainty threshold;
a prompt selection unit configured to, if the certainty parameter of the primary multi-component system does not meet the certainty threshold, perform the steps of:
f) determining a certainty parameter change score for each of the plurality of primary component prompts,
g) selecting a further primary component prompt of the plurality of primary component prompts having a highest certainty parameter change score, and
h) instructing the multi-component system adjustment module to perform steps a) to e) on the basis of the further primary component prompt, if the highest certainty parameter change score has a value greater than a change score threshold;
a multi-component system converter module, comprising:
a converter unit configured to, if the certainty parameter of the primary multi-component system at least meets the certainty threshold, generate a primary target multi-component system having at least one primary target component by mapping at least one primary component to at least one primary target component;
a comparison unit configured to compare the primary target multi-component system with at least one target multi-component system of a plurality of target multi-component systems; and
a selection unit configured to select at least one target multi-component system, wherein the selected at least one target multi-component system is a best fit to the primary target multi-component system.

US Pat. No. 10,970,240

PROTOCOL INCLUDING A COMMAND-SPECIFIED TIMING REFERENCE SIGNAL

Rambus Inc., San Jose, C...

1. A method of operation in a memory controller, the method comprising:identifying that a memory device has not been accessed for a period of time and responsively performing a timing update; and
as part of the timing update, issuing a first command to a memory device, the first command to specify that the memory device is to output a timing reference signal to the memory controller, the timing reference signal comprising a preamble portion and comprising a toggling pattern, and wherein the method further comprises causing the memory controller to specify to the memory device a duration of the preamble portion; and
following the first command, issuing a second command to the memory device, the second commend to specify a read operation in which the memory device outputs read data to the memory controller, wherein the memory device is to also to output the timing reference signal together with the read data;
wherein the memory controller is to sample the read data according to the timing reference signal.

US Pat. No. 10,970,239

HUB CIRCUIT FOR A DIMM HAVING MULTIPLE COMPONENTS THAT COMMUNICATE WITH A HOST

Intel Corporation, Santa...

1. An apparatus, comprising:a DIMM hub circuit comprising:
first bus interface circuitry to couple to a first bus to receive header information and payload information from a host;
control circuitry to process the header information and recognize that the payload information is to be passed to a target component on a same DIMM that the DIMM hub circuit is on and that is coupled to the DIMM hub circuit through a second bus that is a same type of bus as the first bus; and,
second bus interface circuitry to send the payload information over the second bus to the target component, wherein, the payload information is to include embedded header information to be processed by the target component, wherein, data and address information for memory read and memory write operations directed to memory chips on the same DIMM that the DIMM hub circuit is on are presented on busses other than the first and second busses and not on either of the first and second busses.

US Pat. No. 10,970,238

NON-POSTED WRITE TRANSACTIONS FOR A COMPUTER BUS

Intel Corporation, Santa...

1. An apparatus comprising:a controller;
a non-volatile memory; and
a command queue to buffer incoming write requests into the non-volatile memory from multiple clients;
the controller to:
receive, from a client across a link, a non-posted write request in a transaction layer packet (TLP) to the command queue, wherein the non-posted write request comprises a Deferrable Memory Write (DMWr) request message, wherein the TLP comprises a type field that indicates that the non-posted write request is a DMWr request, the type field comprising a [4:0] b encoding of 11011;
determine that the command queue can accept the non-posted write request;
generate a completion message;
set a bit in a completion status field of the completion message to a value that indicates a successful completion (SC) that indicates that the non-posted write request was accepted into the command queue; and
transmit, to the client across the link, the completion message with the SC that indicates that the non-posted write request was accepted into the command queue.

US Pat. No. 10,970,237

STORAGE SYSTEM

HITACHI, LTD., Tokyo (JP...

1. A storage system comprising a first storage controller and a second storage controller, whereinthe first storage controller comprises:
a first processor;
a first memory connected to the first processor;
a first switch which is connected to the first processor and has a first port;
a cache memory area which is set in the first memory and stores user data; and
a shared memory area which is set in the first memory and stores control data,
the second storage controller comprises:
a second processor;
a second memory connected to the second processor;
a second switch which is connected to the second processor and has a second port;
a cache memory area which is set in the second memory and stores user data; and
a shared memory area which is set in the second memory and stores control data,
the storage system connects:
the first port and the second port by a first link;
the first processor and the first switch by a second link configured to transfer the user data and a third link configured to transfer the control data; and
the second processor and the second switch by a fourth link configured to transfer the user data and a fifth link configured to transfer the control data, and
the first port and the second port transfer the control data in preference to the user data on the first link
wherein
the first link, the second link, and the fourth link are connected to a non transparent bridge included in the first switch or the second switch, and
the third link and the fifth link are connected to an upstream port of the first switch or the second switch.

US Pat. No. 10,970,236

SYSTEM AND METHOD FOR OPTIMIZED INPUT/OUTPUT TO AN OBJECT STORAGE SYSTEM

SOFTNAS OPERATING INC., ...

1. A method for performing I/O on a storage system, the method comprising:receiving, at a device, an I/O request to the storage system using a first protocol;
translating the I/O request to a second protocol, wherein the second protocol is specific to the device;
queuing the I/O request in a local block cache;
determining a busy ratio by:
determining, via a top layer of an object backer of the storage system, a number of blocks available in the local block cache;
querying, via the top layer of the object backer, a plurality of background threads running in the storage system, and determining, based on the query, a number of independent threads identified from the background threads as currently managing write calls to the storage system;
calculating a maximum queue size for the local block cache, the calculating comprising multiplying the number of blocks by the number of independent threads identified from the background threads as currently managing write calls to the storage system; and
calculating the busy ratio based on a current size of the queue and the calculated maximum queue size for the local block cache;
determining an I/O speed from the device to the storage system, the I/O speed based at least in part on the busy ratio and an upload speed, wherein the I/O speed does not exceed a current speed of the storage system; and
executing, at the device, the I/O request to the storage system at the I/O speed.

US Pat. No. 10,970,235

COMPUTING SYSTEM WITH A NONVOLATILE STORAGE AND OPERATING METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. An operating method of a computing system, the operating method comprising:sending, from a host device including a memory sub-system, a plurality of Input/Output (I/O) requests through a peripheral component interconnect express (PCIe) root complex;
storing, in a submission queue of the host device, command entries corresponding to the plurality of I/O requests, respectively;
fetching a command entry corresponding to an I/O request, among the plurality of I/O requests, from the submission queue, by a storage device coupled to the host device;
moving data corresponding to the I/O request within the memory sub-system, under control of the storage device;
after the moving the data within the memory sub-system, updating a completion status of the I/O request in a completion queue, as the I/O request being completed; and
after the updating the completion queue, transferring the data between the memory sub-system and the storage device,
wherein the memory sub-system includes a data array used by the host device, and a host memory buffer used by the storage device, and
wherein the moving the data further comprises moving the data between the data array and the host memory buffer based on a data movement request of the storage device.

US Pat. No. 10,970,234

OPTIMIZING TIME-DEPENDENT SIMULATIONS OF QUANTUM COMPUTING ARCHITECTURES

INTERNATIONAL BUSINESS MA...

1. A method comprising:compiling input data comprising a plurality of pulse sequences, hardware parameters obtained from a computing device, and a mathematical model with time-dependent control parameters to decrease a computation time of the input data;
providing the input data to the computing device to allow the computing device to run a computation of the input data;
converting the pulse sequences into memory-aligned arrays to decrease the computation time of the input data; and
calculating optimized output data using an adaptive step size computation to decrease the computation time needed to compute the output data.

US Pat. No. 10,970,233

DETERMINING MULTIPLE VIRTUAL HOST PORTS ON A SAME PHYSICAL HOST PORT

EMC IP Holding Company LL...

1. A method of determining that at least two virtual host ports correspond to a same physical host port of a host system, comprising:determining a plurality of virtual host ports connected to a storage system by a switch;
determining that the at least two of the plurality of virtual host ports are connected to a same fabric port of the switch, including:
the storage system issuing one or more queries to the switch, wherein the one or more queries include a first host port ID of a first of the at least two virtual host ports and a second host port ID of a second of the at least two virtual host ports,
receiving one or more responses to the one or more queries from the switch, the one or more responses including a first fabric port ID of a first fabric port corresponding to the first virtual host port and a second fabric port ID of a second fabric port corresponding to the second virtual host port, and
comparing the first fabric port ID to the second fabric port ID to determine that the first fabric port ID is the same as the second fabric port ID, which indicates that the first fabric port and the second fabric port are the same fabric port; and
determining that the at least two virtual host ports correspond to the same physical host port based at least in part on the at least two virtual host ports being connected to the same fabric port of the switch.

US Pat. No. 10,970,232

VIRTUAL ROOT OF TRUST FOR DATA STORAGE DEVICE

Western Digital Technolog...

1. A Data Storage Device (DSD), comprising:a Non-Volatile Memory (NVM) configured to include a private partition and a public partition, wherein the public partition is configured to store content files, and wherein:
the private partition is configured to include a write-once partition, a secure partition, and a firmware partition,
the write-once partition is configured to store a scrambled or encrypted first root of trust key associated with the DSD and a scrambled or encrypted second root of trust key associated with the DSD, wherein the first root of trust key is distinct from the second root of trust key,
the secure partition is configured to store license keys for accessing the content files stored in the public partition, and
the firmware partition is configured to store a scrambler key or a decryption key; and
a controller including at least one memory, wherein the private partition of the NVM is configured to only be internally accessed by the controller, and wherein the controller is configured to:
descramble or decrypt the scrambled or encrypted first root of trust key using the scrambler key or the decryption key;
encrypt data stored in the at least one memory and in the private partition of the NVM using the first root of trust key, wherein the encrypted data includes the license keys;
descramble or decrypt the scrambled or encrypted second root of trust key using the scrambler key or the decryption key; and
authenticate data stored in the at least one memory and in the private partition using the second root of trust key.

US Pat. No. 10,970,231

MANAGEMENT OF VIRTUAL TARGET STORAGE RESOURCES BY USE OF AN ACCESS CONTROL LIST AND INPUT/OUTPUT QUEUES

Intel Corporation, Santa...

1. A non-transitory computer-readable storage media comprising instructions stored thereon, that, if executed by at least one processor, cause the at least one processor to:receive, at a target subsystem, a request from a host node to form a connection to access a requested storage resource, the requested storage resource comprising one or more of: identification of at least one physical storage resource or at least one virtual storage resource;
determine, at the target subsystem, if the host node is permitted to access the requested storage resource based on use of an access control list;
based on a determination that the host node is permitted to access the requested storage resource, create administrative and input/output (I/O) queues for receiving requests from the host node associated with the requested storage resource;
receive, at the target subsystem, an I/O request associated with the requested storage resource from the host node;
direct the I/O request to a target storage resource having a storage resource associated with the I/O request and the requested storage resource;
receive a response to the I/O request from the target storage resource; and
provide the received response to the I/O request to the host node that sent the I/O request.

US Pat. No. 10,970,230

MEMORY SYSTEM AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory system comprising:a memory device including a system block for storing map data for mapping a logical address to a physical address, the memory device performing overall operations in response to an internal command;
a host configured to receive and store a host map segment including a portion of the map data; and
a controller configured to generate the internal command for controlling the memory device in response to a host command received from the host,
wherein the controller receives the map data from the memory device and then stores the received map data, and generates the host map segment, using the map data, and then transmits the generated host map segment, wherein a number of generatable host map segments is adjusted based on a work load calculated in a setting period, and
wherein the work load indicates an amount of data to be processed among an operation of generating the host map segment, a write, read or erase operation of the memory system and an operation of storing the host map segment in the memory device.

US Pat. No. 10,970,229

APPARATUS AND METHODS IMPLEMENTING DISPATCH MECHANISMS FOR OFFLOADING EXECUTABLE FUNCTIONS

STMICROELECTRONICS (GRENO...

1. A method for enabling a user-level application executed in a user space of a host operating system running on a first processor to share a physical memory with a co-processor, the physical memory being managed by the host operating system, the method comprising:providing a plurality of user-level queues in the physical memory;
creating a plurality of circular buffers in the plurality of user-level queues;
pinning a memory page in the physical memory, the memory page being referenced by at least one of the first processor and the co-processor;
enabling the plurality of circular buffers to be accessible in a virtual address space of the user space; and
enabling enqueuing of at least one packet in the user space.

US Pat. No. 10,970,228

MAPPING TABLE COMPRESSION USING A RUN LENGTH ENCODING ALGORITHM

Micron Technology, Inc., ...

1. A storage system comprising:a memory array;
a map automation logic;
a random access memory; and
a memory controller, wherein the memory controller is programmed to perform operations comprising:
generating an encoded physical address using a run length encoding (RLE) algorithm on a physical address of the memory array to reduce a length of the encoded physical address, wherein the RLE algorithm is based on differences from a current logical block address (LBA) to a next sequential LBA;
storing the encoded physical address as a map entry in the random access memory; and
using the map automation logic to compress and read the map entry, including performing a local unpacking and discarding intermediate results.

US Pat. No. 10,970,227

DATA PROCESSING APPARATUS FOR HANDLING PAGE FAULT USING PREDEFIND BIT PATTERNS AND A METHOD THEREOF

Huawei Technologies Co., ...

1. A data processing apparatus comprising:a processor configured to execute a process with at least one thread;
a memory management component configured to access a page table; and
a page fault handler configured to handle page faults by:
triggering a page fault in response to detecting one of a plurality of predefined bit patterns among unused bits of the page table; and
assigning a different page fault operation for the process with the at least one thread, to each of the plurality of predefined bit patterns.

US Pat. No. 10,970,226

METHOD FOR PERFORMING ACCESS MANAGEMENT IN A MEMORY DEVICE, ASSOCIATED MEMORY DEVICE AND CONTROLLER THEREOF, AND ASSOCIATED ELECTRONIC DEVICE

Silicon Motion, Inc., Hs...

1. A method for performing access management in a memory device, the memory device comprising a non-volatile (NV) memory, the NV memory comprising at least one NV memory element, the method comprising:receiving a host command, mapping information and a logical address from a host device, wherein the host command is a read command, the mapping information is related to mapping the logical address to a physical address of the NV memory, and a combination of the host command and the logical address is directed to a request of accessing target data corresponding to the logical address from the NV memory;
performing a checking operation on the mapping information to obtain a checking result by comparing the mapping information with mapping information stored in a random access memory (RAM) of the memory device, wherein when the checking result is positive, confirming the mapping information stored in the RAM is a latest version, and when the checking result is negative, loading a logical-to-physical (L2P) table from the NV memory to the RAM of the memory device, wherein the L2P table comprises address mapping information for accessing the target data;
accessing the mapping information in the RAM to read the target data and associated metadata from the NV memory; and
checking whether a recorded logical address within the metadata and the logical address received from the host device are equivalent to each other, to control whether to send the target data to the host device.

US Pat. No. 10,970,225

APPARATUS AND METHOD FOR HANDLING CACHE MAINTENANCE OPERATIONS

Arm Limited, Cambridge (...

1. An apparatus comprising:a plurality of requester elements to issue requests;
at least one completer element to process the requests;
a cache hierarchy comprising a plurality of levels of cache to store cached copies of data associated with addresses in memory;
wherein:
a given requester element in the plurality of requester elements is arranged to issue a cache maintenance operation request specifying a memory address range in order to cause a block of data associated with the specified memory address range to be pushed through at least one level of the cache hierarchy to a determined visibility point in order to make that block of data visible to one or more other requester elements in the plurality of requester elements;
the given requester element is responsive to detection of a need to issue a write request prior to the cache maintenance operation request in order to cause a write operation to be performed in respect of an item of data within the specified memory address range, to generate a combined write and cache maintenance operation request to be issued instead of the write request and subsequent cache maintenance operation request;
wherein a recipient completer element amongst the at least one completer element that receives the combined write and cache maintenance operation request is arranged to start performing a cache maintenance operation required by the combined write and cache maintenance operation request without waiting for the write operation to complete.

US Pat. No. 10,970,224

OPERATIONAL CONTEXT SUBSPACES

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of implementing a full space dynamic address translation (DAT) structure and a subspace DAT structure comprising:determining, by a processor, whether switching between the full space DAT structure and the subspace DAT structure is enabled by examining a bit in a control register;
determining, by the processor, whether there is a new context different from an existing context based on the bit in the control register indicating that switching is enabled; and
switching, by the processor, the context of the DAT structures based on determining that the new context is different from the existing context.

US Pat. No. 10,970,223

CACHE DROP FEATURE TO INCREASE MEMORY BANDWIDTH AND SAVE POWER

Apple Inc., Cupertino, C...

1. A cache controller comprising:a first interface coupled to a cache comprising a plurality of entries; and
a control unit configured to:
maintain a table different from the cache comprising a plurality of entries, wherein one or more entries of the table is configured to store a data set identifier that identifies a data set which is to be dropped after being consumed;
maintain a plurality of age counters for the plurality of entries of the table that are marked as non-replaceable; and
based at least in part on a determination that a given age counter of the plurality of age counters corresponding to a given data set identifier has reached a threshold, remove any indications of a non-replaceable attribute of entries of the cache corresponding to the given age counter.

US Pat. No. 10,970,222

EVICTION OF A CACHE LINE BASED ON A MODIFICATION OF A SECTOR OF THE CACHE LINE

Micron Technology, Inc., ...

1. A method comprising:receiving an indication to perform an eviction operation on a cache line in a cache;
determining whether at least one sector of a plurality of sectors of the cache line to be evicted is associated with invalid data having an associated logical address;
in response to determining that at least one sector of the plurality of sectors of the cache line to be evicted is associated with invalid data, performing, by a processing device, a read operation to retrieve, from a storage location outside the cache, valid data associated with the at least one sector and having a same logical address as the invalid data;
modifying the at least one sector of the cache line to be evicted that is associated with the invalid data based on the valid data, wherein modifying the at least one sector comprises replacing the invalid data in the at least one sector of the cache line to be evicted with the retrieved valid data having the same logical address; and
performing the eviction operation on the cache line with the modified at least one sector.

US Pat. No. 10,970,221

OPTIMIZING SPACE UTILIZATION BY RETAINING METADATA IN CACHE

EMC IP Holding Company LL...

1. A method of managing data received for writing, the method comprising:during a first cache processing cycle, (i) placing M compressed blocks of the data in a segment of storage space, (ii) populating M entries of a mapping structure in cache for mapping the M compressed blocks in the segment, the mapping structure having space for N entries, N>M, with N-M locations of the mapping structure remaining unpopulated, and (iii), applying a hold to the mapping structure in the cache to ensure that the mapping structure is retained in the cache;
during a second cache processing cycle, (i) placing between 1 and N-M additional compressed blocks in the segment and (ii) populating an additional location in the mapping structure for each additional compressed block placed or to be placed in the segment; and
during or after the second cache processing cycle, releasing the hold on the mapping structure.

US Pat. No. 10,970,220

TAGS AND DATA FOR CACHES

RAMBUS INC., San Jose, C...

1. A device comprising:a memory controller; and
a cache memory coupled to the memory controller, the cache memory comprising:
a first set of cache lines associated with a first memory block and comprising a first plurality of ways; and
a second set of cache lines associated with a second memory block and comprising a second plurality of ways, wherein a first way of the second plurality of ways comprises cache tag data for both the first set of cache lines and the second set of cache lines, wherein the cache tag data for the first set of cache lines is adjacent to the cache tag data for the second set of cache lines in the first way.

US Pat. No. 10,970,219

HOST CACHE COHERENCY WHEN MODIFYING DATA

EMC IP Holding Company LL...

1. For a data storage network including a data storage system and one or more host systems having applications executing thereon, the execution of which results in data being stored on one or more physical storage devices of the data storage system, a method comprising:receiving an instruction to modify data stored on a first of the one or more physical storage devices;
prior to executing the instruction:
incrementing a counter in response to receiving the instruction,
a first of the one or more host systems determining that the counter has been incremented, and
the first host system purging the one or more entries in a first cache on the first host system in response to determining that the counter has been incremented;
for each of the one or more host systems having an application executing thereon for which data is stored on the first physical device, including the first host system, receiving an acknowledgement that one or more entries in a cache on the host system, including the first cache on the first host system, for the first physical device have been purged; and
executing the instruction in response to receiving the acknowledgement from all of the one or more host systems.

US Pat. No. 10,970,218

APPARATUSES AND METHODS FOR COMPUTE ENABLED CACHE

Micron Technology, Inc., ...

1. An apparatus, comprising:a memory device comprising a memory array and sensing circuitry comprising a plurality of sense amplifiers and a plurality of compute components to perform logical operations;
a host coupled to the memory device and comprising a cache controller, the cache controller configured to:
create a block select as metadata to a cache line to control alignment of cache blocks within the memory array; and
create a subrow select as metadata to the cache line to control placement of the cache line on a particular row in the memory array to align the cache line to one or more of the plurality of sense amplifiers and to one or more of the plurality of compute components for processing.

US Pat. No. 10,970,217

DOMAIN AWARE DATA MIGRATION IN COHERENT HETEROGENOUS SYSTEMS

XILINX, INC., San Jose, ...

1. A method for domain-aware data migration in a cache-coherent system comprising a plurality of nodes, each of the plurality of nodes comprising at least one of a processing element and a memory element, the method comprising:determining a multi-dimensional topology of the cache-coherent system;
generating, at boot-time, an ID map (IDM) table based on the plurality of nodes and the multi-dimensional topology, wherein the IDM table comprises locality information of each of the plurality of nodes relative to the other nodes in the plurality of nodes based on a processing or memory element ID;
distributing the IDM table to the processing and memory elements of each of the plurality of nodes, wherein the plurality of nodes comprises home agent nodes and request agent nodes; and
performing data migration operations at a node of the plurality of nodes using the locality information contained in the IDM table.

US Pat. No. 10,970,216

ADAPTIVE GRANULARITY WRITE TRACKING

Intel Corporation, Santa...

1. An electronic processing system, comprising:a persistent memory;
a memory controller communicatively coupled to the persistent memory; and
logic communicatively coupled to the memory controller to:
create a tracking structure for the memory controller to track a range of memory addresses of the persistent memory, wherein the tracking structure comprises a hierarchical bitmap structure with two or more levels of hierarchy, and wherein the two or more levels of hierarchy resolve to one or more bitmap vector stencils when the two or more levels of hierarchy are combined, wherein the tracking structure has a granularity adaptively selected during creation based on page sizes utilized over the range of memory addresses tracked and so that all of the bitmap vector stencils are small enough to all be contained in a last level cache of a processor,
identify a write request at the memory controller for a memory location within the range of memory addresses tracked, and
set a flag in the tracking structure to indicate that the memory location had the identified write request.

US Pat. No. 10,970,215

CACHE SNOOPING MODE EXTENDING COHERENCE PROTECTION FOR CERTAIN REQUESTS

International Business Ma...

1. A cache memory of an associated processor core among a plurality of processor cores in a multiprocessor data processing system, said multiprocessor data processing system including a system fabric communicatively coupling the cache memory and a memory controller of a system memory to receive operations on the system fabric, the cache memory comprising:a data array;
a directory of contents of the data array, wherein the directory includes coherence state information; and
snoop logic that processes operations snooped from the system fabric by reference to the data array and the directory, wherein the snoop logic, responsive to snooping on the system fabric a request of a flush or clean memory access operation of one of the plurality of processor cores that specifies a target address, services the request and thereafter enters a referee mode, wherein the snoop logic, while in the referee mode, protects a memory block identified by the target address against conflicting memory access requests by the plurality of processor cores such that no other coherence participant is permitted to assume coherence ownership of the memory block.

US Pat. No. 10,970,214

SELECTIVE DOWNSTREAM CACHE PROCESSING FOR DATA ACCESS

International Business Ma...

1. A computer program product comprising computer readable storage medium having program instructions embodied therewith, the program instructions readable or executable by a processor to perform a method, the method comprising:receiving a first request to access a first set of data in a first memory;
predicting whether there will likely be a hit or a miss in the first memory;
initiating, in parallel with the predicting whether there will likely be the hit or the miss in the first memory, a determination of whether there is an actual hit or actual miss in the first memory;
generating, in response to determining that there will likely be the hit in the first memory, a second request to a second memory to access the first set of data from the second memory; and
buffering the second request until the determination of whether the is an actual hit or miss in the first memory is complete;
wherein predicting whether there will likely be the hit or the miss in the first memory comprises:
forcing a prediction of a hit in response to determining that a cache line in the first memory is to be promoted from shared status to exclusive status; and
forcing a prediction of a miss in response to determining that the first memory is busy using a task threshold.

US Pat. No. 10,970,213

SELECTIVE DISABLING OF HARDWARE-BASED CACHE COHERENCY AND ENFORCEMENT OF SOFTWARE-BASED CACHE COHERENCY

Hewlett Packard Enterpris...

10. A computer-implemented method comprising:receiving, by a first node controller, a first request from a second node controller, the first node controller being associated with a first processor and a first memory, and being operable to enforce hardware-based cache coherency for memory blocks of the first memory,
wherein the first request is a request to process a cache coherent operation, and the first request includes at least a request type and a memory address of a memory block in the first memory;
determining, by the first node controller that the first request is from a processor remote from the one or more hardware components;
disabling the enforcement of hardware-based cache coherency by the one or more hardware components;
executing software to enforce software-based cache coherency in accordance with the first request; and
transmitting, to the second node controller, a response to the first request.

US Pat. No. 10,970,212

METHOD AND SYSTEM FOR FACILITATING A DISTRIBUTED STORAGE SYSTEM WITH A TOTAL COST OF OWNERSHIP REDUCTION FOR MULTIPLE AVAILABLE ZONES

Alibaba Group Holding Lim...

1. A computer-implemented method for facilitating data placement, the method comprising:receiving, from a host, a request to read data;
in response to determining that the data is not available in a read cache:
determining replicas of the data stored on a first storage drive and a second storage drive of a different type than the first storage drive;
issuing the read request concurrently to both the first storage drive and the second storage drive;
in response to unsuccessfully reading the requested data from the first storage drive and successfully reading the requested data from the second storage drive, sending the requested data to the host; and
in response to unsuccessfully reading the requested data from both the first storage drive and the second storage drive:
issuing the read request to a third storage drive; and
sending the requested data to the host.

US Pat. No. 10,970,211

TECHNIQUES FOR REDUCING SIZE OF LOG RECORDS

EMC IP Holding Company LL...

1. A method of processing I/O operations comprising:receiving a write I/O operation that writes first data to a target location, wherein the target location is represented as a first logical device and a first offset within a first logical address space of the first logical device;
storing a log record for the write I/O operation in a log file, wherein the log record includes log data and a log descriptor, wherein the log data includes the first data, wherein the log descriptor includes a target logical address for the target location in a file system logical address space, wherein the target logical address is determined by mapping the target location to a corresponding logical address in the file system logical address space, wherein the log descriptor includes a first value denoting the binary logarithm of an extent size of the first logical device; and
performing first processing of the log record, wherein said first processing includes flushing the log record from the log file to store the first write data of the log record on a first extent of physical storage provisioned for the first logical device.

US Pat. No. 10,970,210

MANAGING DATA STORAGE DEVICES FOR SPONTANEOUS DE-STAGING OF CACHE

EMC IP Holding Company LL...

1. For a storage system including a plurality of physical storage devices and a cache for temporarily storing data corresponding to the plurality of physical storage devices, wherein each of the plurality of physical storage devices has a pre-defined threshold amount of consumed storage space before the physical storage device enters in a background task mode, a method comprising:determining a cumulative amount of storage space to be available on the plurality of physical storage devices in case of a spontaneous de-staging of the cache;
estimating an amount of time available to spontaneously de-stage the cache;
calculating a number of physical storage devices necessary to de-stage the cache based on the estimated amount of time available;
selecting, based on the calculated number of physical storage devices necessary to de-stage the cache, one or more of the plurality of physical storage devices to receive de-staged data from the cache in case of a spontaneous de-staging of the cache;
for the one or more of the plurality of physical storage devices, determining an apportioned amount of the cumulative amount for the respective physical storage device to have available for storing data in case of a spontaneous de-staging of the cache;
for each of the one or more physical storage devices, determining a threshold amount of storage space to be consumed on the physical storage space before the physical storage device enters into a background task mode, the threshold amount based at least in part on the respective determined apportioned amount for the physical device, wherein, for at least a first of the one or more physical storage devices, the determined threshold amount is different than the pre-defined threshold amount for the at least first storage device; and
controlling the at least first physical storage devices to consume the determined threshold amount before entering into the background task mode.

US Pat. No. 10,970,209

DESTAGING METADATA TRACKS FROM CACHE

International Business Ma...

1. A computer program product for destaging modified metadata tracks in cache to storage, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith that when executed by a processor cause operations, the operations comprising:updating a counter for a metadata track in response to modifying the metadata track in the cache, wherein there are counters for metadata tracks in the cache;
destaging the metadata track from the cache in response to the counter for the metadata track being less than a threshold value; and
decrementing the counter for the metadata track by an amount that increases as a number of modified metadata tracks in the cache increases.

US Pat. No. 10,970,208

MEMORY SYSTEM AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory system comprising:a memory device including a main memory and a cache memory that includes a plurality of cache lines for caching data stored in the main memory, wherein each of the cache lines includes cache data, a valid bit indicating whether or not the corresponding cache data is valid, and a loading bit indicating whether or not read data of the main memory is being loaded; and
a memory controller suitable for scheduling an operation of the memory device with reference to the valid bits and the loading bits, wherein the memory controller manages the loading bit and the valid bit not to be set simultaneously.

US Pat. No. 10,970,207

STORAGE SYSTEM WITH INTERCONNECTED SOLID STATE DISKS

Intel Corporation, Santa...

9. An apparatus comprising:a processor and
an interface, the interface configured to:
determine if a connection with a memory device is available;
access a table to determine a receiver memory device to which to send one or more of data or command;
cause transmission of one or more of data or command to a destination memory device, the transmission to use a first path from a transmitter to the destination memory device, wherein the first path is to include the receiver memory device and the destination memory device or at least one memory device that is to forward the one or more of data or command to another memory device; and
based on an indication of the one or more of the data or command having not been received by a memory device in the first path, cause retransmission of one or more of the data or command using a second path, wherein the second path omits a non-responsive memory device, wherein the receiver memory device comprises an integrated component memory and switch device and wherein the at least one memory device comprises an integrated component memory and switch device.

US Pat. No. 10,970,206

FLASH DATA COMPRESSION DECOMPRESSION METHOD AND APPARATUS

Intel Corporation, Santa...

1. One or more non-transitory computer-readable media comprising instructions that cause a flash memory controller, in response to execution of the instructions by the flash memory controller, to:compress an uncompressed data file comprising a plurality of uncompressed page blocks;wherein to compress the uncompressed data file comprises:store one or more of the uncompressed page blocks not matching one or more page block patterns into a compressed data file;
exclude one or more of the uncompressed page blocks matching one or more page block patterns from the compressed data file;
create a compression map in the compressed data file;
store an indicator in a compression map denoting whether the uncompressed page blocks of the uncompressed data file correspond to the one or more page block patterns or uncompressed page blocks relative in the compressed data file; and
output the compressed data file comprising the stored uncompressed page blocks, the one or more page block patterns, and the compression map.

US Pat. No. 10,970,205

LOGICAL-TO-PHYSICAL DATA STRUCTURES FOR TRACKING LOGICAL BLOCK ADDRESSES INDICATIVE OF A COLLISION

Micron Technology, Inc., ...

1. An apparatus, comprising:a non-volatile memory (NVM) device including a first portion of memory and a second portion of memory;
a flash memory device coupled to the NVM and comprising a flash data structure; and
a controller coupled to the NVM device, wherein the controller is configured to cause:
a determination to be made that the flash data structure contains less than a threshold quantity of data entries;
a first hash function to be executed to determine a first location in a first logical-to-physical (L2P) table in the first portion of memory at which a logical block address (LBA) is to be stored responsive to the determination that the flash data structure contains less than the threshold quantity of data entries;
a determination to be made that the first location contains a second LBA;
a second hash function to be executed to determine a first location in a second L2P table in the second portion of memory at which the LBA is to be stored responsive to the determination that the flash data structure contains less than the threshold quantity of data entries, wherein the first L2P table and the second L2P table have a same size associated therewith;
a determination to be made that execution of the first hash function or the second hash function yields a collision;
generation of a list including each conflicting LBA based, at least in part, on the determined collision; and
the list including each conflicting LBA to be maintained in the second L2P table in an ascending order.

US Pat. No. 10,970,204

REDUCING READ-WRITE INTERFERENCE BY ADAPTIVE SCHEDULING IN NAND FLASH SSDS

Samsung Electronics Co., ...

1. A solid state drive (SSD) comprising:a controller connected to a plurality of channels;
a plurality of flash chip groups, each of the plurality of flash chip groups comprising a plurality of flash chips coupled to the plurality of channels, the plurality of flash chips in each of the plurality of flash chip groups comprising:
a plurality of non-parity flash chips; and
i parity flash chips, where i is an integer equal to or greater than 1,
wherein the controller is configured to write data to the plurality of flash chip groups such that within each of the plurality of flash chip groups only i or less flash chips of the plurality of flash chips are allowed to be written to at the same time wherein in response to receiving a write request, the controller is configured to issue a write on a next flash chip in the same flash chip group based on an amount of time remaining before a current write is complete, an amount of time required to perform a read from a chip, and an amount of time required to transfer data over a channel from a chip to a memory.

US Pat. No. 10,970,203

METHODS AND APPARATUS FOR COMPRESSED AND COMPACTED VIRTUAL MEMORY

Apple Inc., Cupertino, C...

1. A machine-readable non-transient storage medium having instructions stored therein, which when executed by a computer, cause the computer to perform a method comprising:maintaining a working memory space in an uncompressed portion of memory in a memory device for a virtual memory and the memory device including the uncompressed portion of memory and a compressed portion of memory, wherein the uncompressed portion of memory stores uncompressed data and the compressed portion of memory stores compressed data;
mapping, for an application, a memory region allocated in the uncompressed portion of memory to an addressable virtual memory address in the compressed portion of memory;
compressing a set of data in the memory region allocated in the uncompressed portion of memory into a compressed memory region in the compressed portion of memory, wherein the memory region in the uncompressed portion of memory becomes available for future allocation in the memory device; and
in response to a request to access a datum in the set of data in the compressed memory region, decompressing at least some of the compressed set of data in the compressed memory region back to the uncompressed portion in the memory device, wherein at least one of the compressing the set of data and decompressing at least some of the compressed set of data in the compressed memory region is performed with at least one other compression/decompression operation with multiple threads each using separate log structures, and each log structure includes references to one or more segments storing one or more compressed memory units.

US Pat. No. 10,970,202

MANAGING INPUT/OUTPUT (‘I/O’) REQUESTS IN A STORAGE SYSTEM THAT INCLUDES MULTIPLE TYPES OF STORAGE DEVICES

Pure Storage, Inc., Moun...

1. A method comprising:selecting, based on expected address translations by one or more target storage devices, locations for issuing a first group of write requests; and
issuing the first group of write requests to the one or more target storage devices, the first group of write requests addressed to the selected locations.

US Pat. No. 10,970,201

SYSTEM, METHOD AND APPARATUS FOR DATA MANIPULATION

Arm Limited, Cambridge (...

1. A method comprising:accessing, from a memory register, a three-dimensional representation of input data;
accessing, from a transpose memory, a transpose function;
applying, utilizing a processor, the transpose function to the three-dimensional representation of input data during a processing cycle;
identifying one or more rows of the input data during the processing cycle;
generating one or more output columns associated with each transpose function processing cycle of the input data;
identifying one or more redundant characteristics of the input data based on each output column generated;
reducing one or more redundant characteristics for each output column, to produce an associated reduced output column for each output column;
performing a load and shift operation on a subsequent transpose function processing cycle of the input data;
producing a resultant array based on the reduced output columns, and based upon reduced processing; and
storing the resultant array in an electronic memory.

US Pat. No. 10,970,200

TEST RESULT TRIAGE FOR A FAILED CODE VALIDATION

Microsoft Technology Lice...

1. A computer apparatus comprising:one or more computer readable storage media;
one or more processors operatively coupled to the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, upon execution by the one or more processors, direct the one or more processors to at least:
receive test results indicative of a failed code validation performed in a client device;
generate, from the test results, failure data indicating one or more failure modes which occurred during the failed code validation;
determine a follow-up action associated with each of the one or more failure modes by comparing each of the one or more failure modes to previously identified failure modes, wherein the program instructions to determine the follow-up action comprise program instructions that, upon execution by the one or more processors, direct the one or more processors to at least:
classify each of the one or more failure modes as known or unknown by comparing each of the one or more failure modes to known failure modes; and
communicate instructions to the client device based on the determined follow-up action associated with each of the one or more failure modes, wherein the program instructions to communicate instructions to the client device comprise program instructions that, upon execution by the one or more processors, direct the one or more processors to at least:
block a retry of the failed code validation performed in the client device based on a determination that one or more of the one or more failure modes is classified as unknown.

US Pat. No. 10,970,199

SYSTEM FOR METAMORPHIC RELATIONSHIP BASED CODE TESTING USING MUTANT GENERATORS

BANK OF AMERICA CORPORATI...

1. A system for metamorphic relationship based code testing using mutant generators, wherein the system is configured for identifying and remediating defects in an original program based on constructing at least one mutated program by distorting the original program, and analyzing expression of mutants in test results, the system comprising:at least one memory device with computer-readable program code stored thereon;
at least one communication device; and
at least one processing device operatively coupled to the at least one memory device and the at least one communication device, wherein executing the computer-readable code is configured to cause the at least one processing device to:
receive a request to perform defect analysis of an original program;
retrieve original program code associated with the original program;
determine one or more metamorphic relationships associated with one or more process functions of the original program based on analyzing the original program;
construct a first mutated program, wherein constructing the first mutated program comprises constructing one or more mutants, wherein each mutant of the one or more mutants is constructed by distorting a portion of the original program code;
map the one or more mutants to the one or more metamorphic relationships;
implement a first test of the original program, wherein the original program provides an original test output in response to the first test;
implement a second test of the first mutated program, wherein the first mutated program provides a first mutated test output in response to the second test;
determine whether the original program comprises at least one defect based on at least comparing the original test output to the first mutated test output;
in response to determining that the original program comprises the at least one defect, determine a first mutant of the one or more mutants associated with the at least one defect;
identify a first metamorphic relationship of the one or more metamorphic relationships mapped to the first mutant;
transmit, via the operative communication channel, a notification indicating the at least one defect and the first metamorphic relationship; and
in response to a defect correction input, initiate correction of the original program code by at least modifying code associated with a first process function of the one or more process functions of the original program, thereby constructing a corrected original program code.

US Pat. No. 10,970,198

AUTOMATIC TEST SYSTEM AND METHOD THEREOF

INVENTEC (PUDONG) TECHNOL...

1. An automatic test system adapted to test a server, comprising:a storage device configured to store an automatic test script, wherein the automatic test script comprises:
a parameter configuration module is to provide a plurality of configuration parameters, the plurality of configuration parameters is associated with a server test procedure;
a data processing module comprising a data recording sub-module and a data sorting sub-module, wherein the data recording sub-module is to receive an output data set from the server test procedure, and the data sorting sub-module is to generate a test report according to the output data set and the plurality of configuration parameters; and
a core logic module comprising a plurality of instruction sets, wherein the plurality of instruction sets is to control the server test procedure through a data exchange interface;
a computing device communicatively connecting to the storage device, wherein the computing device is configured to execute the server test procedure on the server according to the automatic test script; and
a sensing device communicatively connecting to the storage device and the computing device, wherein the sensing device is configured to collect a plurality of test results of the server;
wherein the computing device operating the server test procedure is further configured to convert the plurality of test results into the output data set;
wherein the plurality of configuration parameters comprises an installation path, a time interval, an outputting path of a log file, a prefix file name of the log file, a starting percentage, an ending percentage, and a circular increase;
wherein one of the plurality of instruction sets is a stress test instruction set, and the core logic module further calculates a number of executions according to the starting percentage, the ending percentage, and the circular increase, and repeatedly executes the server test procedure according to the stress test instruction set and the number of executions.

US Pat. No. 10,970,197

BREAKPOINT VALUE-BASED VERSION CONTROL

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for performing revision control for source code, the method comprising:identifying one or more portions of the source code that have been modified;
determining a collection of breakpoints corresponding to the one or more modified portions of the source code;
determining a group of regression test cases that cumulatively provide coverage of the collection of breakpoints, wherein determining the group of regression test cases comprises:
determining stored fingerprints that are cumulatively indicative of the collection of breakpoints;
determining attribute seeds that respectively correspond to the stored fingerprints: and
determining the group of regression test cases based at least in part on their respective correspondence to the attribute seeds fingerprints of that test case;
executing the group of regression test cases;
determining that the group of regression test cases successfully executed; and
committing the one or more modified portions of the source code.

US Pat. No. 10,970,196

SEMANTIC-AWARE FUZZ-BASED FUNCTIONAL TESTING

Amazon Technologies, Inc....

1. A system, comprising:a memory to store machine-readable instructions, which as a result of being performed by a processor, cause the system at least to:
generate a row of a database table;
generate a first query that, when processed by the database, produces a first result comprising the row;
generate, based at least in part on the first query, a second query predicted to return a second result comprising the row when processed by the database; and
verify that the second query, when processed by the database, produced the second result.

US Pat. No. 10,970,195

REDUCTION OF TEST INFRASTRUCTURE

INTERNATIONAL BUSINESS MA...

1. A method for reducing test case infrastructure, the method comprising:generating a first plurality of fingerprints for a first plurality of test cases to test a system under test (SUT), wherein each of the first plurality of fingerprints is associated with one of the first plurality of test cases,
wherein each of the first plurality of fingerprints uniquely identifies a specific code path in the SUT covered by a corresponding test case by cumulatively indicating a collection of breakpoints in the specific code path in the SUT, and wherein the first plurality of test cases comprises a plurality of preexisting test cases for a the SUT;
generating a second plurality of test cases based on a functional coverage model of the SUT, wherein the functional coverage model comprises a plurality of attributes;
generating a second plurality of fingerprints for the second plurality of test cases, wherein each of the second plurality of fingerprints is associated with one of the second plurality of test cases;
comparing the first plurality of fingerprints to the second plurality of fingerprints to identify one or more matching fingerprints;
identifying one or more test cases within the first plurality of test cases, the one or more test cases are associated with the one or more matching fingerprints;
reducing redundant test cases by replacing the one or more test cases that are identified from the first plurality of test cases with the second plurality of test cases; and
testing the SUT by executing the first plurality of test cases.

US Pat. No. 10,970,194

SYSTEMS AND METHODS FOR INITIALIZING TEST ENVIRONMENTS

ATLASSIAN PTY LTD., Sydn...

1. A computer-implemented method for initializing test environments for different versions of a software product, the method comprising:receiving input defining a plurality of parameters;
identifying, based on one or more parameters of the plurality of parameters, a common file comprising template configuration information for a first version of the software product and a second version of the software product, the template configuration information comprising static configuration information and one or more instances of one or more environment variables;
creating a copy of the common file;
updating, based on one or more of the plurality of parameters, the environment variable instances in the copy of the common file to create an updated copy of the common file;
saving the updated copy of the common file in a first environment configuration descriptor and in a second environment configuration descriptor, the first environment configuration descriptor defining one or more services required for a first test environment, the second environment configuration descriptor defining one or more services required for a second test environment;
using the first environment configuration descriptor to start the one or more services required for the first test environment and initialize the first test environment;
using the second environment configuration descriptor to start the one or more services required for the second test environment and initialize the second test environment.

US Pat. No. 10,970,193

DEBUGGING A CLIENT SYNCHRONIZATION SERVICE

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:generating an initial tree state, wherein the initial tree state includes an initial sync tree, an initial local tree, and an initial remote tree, and wherein the initial sync tree represents a known synced state between a server state and a file system state, the initial remote tree represents the server state, and the initial local tree represents the file system state;
providing the initial tree state to a client synchronization service; retrieving a final tree state from the client synchronization service; determining whether the final tree state is correctly synchronized; and
storing, when the final tree state is not correctly synchronized, the initial tree state for debugging the client synchronization service.

US Pat. No. 10,970,192

DEBUGGING SUPPORT UNIT FOR MICROPROCESSOR

1. A debug-enabled processing device, comprising:a processor;
a communication transceiver circuit configured to communicate externally of the device; and
a debug support unit coupled to the processor and communication transceiver circuit, the debug support unit having a plurality of dedicated debug registers that facilitate debugging a software program under execution by the processor, the plurality of dedicated debug registers including:
a control register having at least four bits including control bits to enable/disable a plurality of debugging operations; and
a plurality of index registers configurable to pass data to and from the processor, the plurality of index registers including:
a write enable register to control whether a data transfer operation is a read operation or a write operation;
an address register to store a value representing an architecture state of the processor; and
a data register to store data being transferred.

US Pat. No. 10,970,191

SEMICONDUCTOR DEVICE AND DEBUG METHOD

RENESAS ELECTRONICS CORPO...

1. A semiconductor apparatus comprising:a first processor core that executes a program;
a second processor core that executes the program, the second processor core having a redundant configuration with respect to the first processor core;
a first debug circuit that performs a first debug setting for the first processor core;
a second debug circuit that 1) performs a second debug setting for the second processor core and 2) sets a breakpoint for stopping the execution of the program by the second processor core, the second debug setting being different from the first debug setting;
a determination circuit that determines whether a first processing result of the program by the first processor core matches a second processing result of the program by the second processor core; and
an error control circuit that outputs an error signal for stopping the execution of the program by both the first processor core and the second processor core based on a determination result of the determination circuit that the first processing result does not match the second processing result,
wherein when the breakpoint is reached, the second processor core stops the execution of the program,
wherein when the second processor core stops the execution of the program in response to the breakpoint being reached while the first processor core continues to execute the program, the error control circuit prevents the error signal from being output even if the first processing result does not match the second processing result,
wherein the error control circuit disables outputting the error signal;
wherein the second debug circuit injects instructions for a predetermined cycle into an instruction buffer of the second processor core in accordance with an instruction from an emulator,
wherein the instructions for the predetermined cycles are not injected into the instruction buffer of the first processor core;
wherein the execution of program of the second processor core is delayed by the predetermined cycle from the execution of the program of the first processor core, and
wherein the second processor core stops execution of the program when the first processor core stops execution of the program.

US Pat. No. 10,970,190

HYBRID LOG VIEWER WITH THIN MEMORY USAGE

EMC IP Holding Company LL...

1. A method for collecting log data in a distributed computing system, comprising:storing, in a memory of a first computing device, a log filter list that identifiers a plurality of log filters, each of the plurality of log filters being executed on a respective one of a plurality of nodes in the distributed computing system;
removing a first log message from a data structure that is stored in the memory of the first computing device, the first log message being obtained by the first computing device from a first one of the plurality of log filters that is associated with a first log source, the first log message being removed from the data structure based on having a least recent timestamp among a plurality of log messages that are stored in the data structure;
detecting whether the first log message includes a placeholder message that is generated by the first log filter while the first log source is in a paused state;
discarding the first log message, when the first log message includes a placeholder message; and
selecting the first log message for further processing, when the first log message does not include a placeholder message.

US Pat. No. 10,970,189

CONFIGURING DATA PROCESSING PIPELINES

Palantir Technologies Inc...

1. A method performed by one or more processors of a data processing pipeline, the method comprising:receiving a source dataset from a source file storage system;
compiling a dataset from the source dataset, wherein compiling the dataset from the source dataset comprises:
applying one or more transformations to each row of the source dataset, wherein at least one transformation includes an encryption to a row of the source dataset;
determining, based on the one or more transformations to each row of the source dataset, statistics for each corresponding row of the dataset as the dataset being compiled; and
storing the dataset and the statistics for each row of the dataset to a database; and
during compilation of the dataset in the data processing pipeline, determining statistics relating to the dataset.

US Pat. No. 10,970,188

SYSTEM FOR IMPROVING CYBERSECURITY AND A METHOD THEREFOR

HoxHunt Oy, Helsinki (FI...

1. A system for improving cybersecurity in an organization, the system comprising a server arrangement configured to:define a group of users in the organization, each user in the group of users associated with a user device;
send one or more calibration vectors to each of the user devices;
receive, from the user devices, one or more actions performed on each of the one or more calibration vectors by each user in the group of users;
allocate each user in the group of users to one of sub-groups based on the received one or more actions, wherein each of the sub-groups is associated with an expertise level;
send a set of simulated vectors to each of the user devices associated with users allocated to a particular sub-group, wherein the set of simulated vectors pertains to a difficulty level corresponding to the expertise level of the sub-group;
receive, from the user devices, one or more actions performed on each of the simulated vectors in the set of simulated vectors by each of the users in the sub-groups;
define a threshold expertise level for the sub-groups;
receive, from the user devices, one or more threat vectors reported by one or more users allocated to the sub-groups having the expertise level above the threshold expertise level;
update the set of simulated vectors based on the received one or more threat vectors; and
use the updated set of simulated vectors as training vectors for the each of the users allocated to the particular sub-group to improve cybersecurity.

US Pat. No. 10,970,187

SYSTEM AND METHOD FOR PROACTIVELY HEALING A MAINFRAME COMPUTER SYSTEM

JPMORGAN CHASE BANK, N.A....

1. A method for generating a data set structured for recognition of time series data by a machine learning computer, the method comprising:acquiring, by a processor and from a mainframe computer system, times series data;
generating, by the processor, a plurality of tensor units based on the acquired time series data;
identifying, by the processor, a target tensor unit among the plurality of tensor units, the target tensor unit including a time of failure of the mainframe computer system;
generating, by the processor, a plurality of tensor sets of differing sizes based on the time of failure of the mainframe computer system, wherein at least one of the plurality of tensor sets includes the target tensor unit;
migrating the plurality of tensor sets of differing sizes to the machine learning computer for analysis of the time series data;
determining a data pattern preceding the time of failure of the mainframe computer system based on the plurality of tensors sets of differing sizes and the time of failure of the mainframe computer system, the data pattern having a varying length based on the plurality of tensor sets of differing sizes;
generating or updating, by the machine learning computer, a computer model based on the plurality of tensor sets analyzed, the computer model configured to recognize the data pattern preceding the time of failure of the mainframe computer system; and
applying the computer model, by the machine learning computer, to data in a production environment for identifying a production data pattern corresponding to the recognized data pattern.

US Pat. No. 10,970,186

CORRELATION-BASED ANALYTIC FOR TIME-SERIES DATA

Oracle International Corp...

1. A method comprising:identifying a first set of values that track a first set of changes over time to a base metric and at least one related metric for at least one computing device;
training, using the first set of values, at least one machine-learning model that represents learned patterns of correlated changes between the base metric and the at least one related metric for the at least one computing device;
identifying a second set of values that correspond to a second set of changes to the base metric;
evaluating the second set of values using the trained at least one machine-learning model to:
classify a subset of one or more changes in the second set of changes to the base metric as a statistically significant change; and
determine that at least one statistically significant change in the subset of one or more changes to the base metric are unexpectedly correlated or uncorrelated to changes in the at least one related metric within a particular period of time; and
responsive to evaluating the second set of values using the trained at least one machine-learning model, performing a responsive action to mitigate performance degradation on the at least one computing device.

US Pat. No. 10,970,185

SMART ADVICE TO CHARGE NOTIFICATION

Apple Inc., Cupertino, C...

1. A method comprising:at an electronic device:
determining historical application usage data for a first application installed on the electronic device; and
in response to determining the historical application usage data for the first application:
in accordance with a determination that first power modification criteria are satisfied based on the historical application usage data for the first application, modifying a power consumption characteristic associated with a future operation of the first application on the electronic device; and
in accordance with a determination that the first power modification criteria are not satisfied based on the historical application usage data for the first application, forgoing modifying the power consumption characteristic associated with the future operation of the first application on the electronic device.

US Pat. No. 10,970,184

EVENT DETECTION REMOVING PRIVATE INFORMATION

Banjo, Inc., South Jorda...

1. A method comprising:receiving a first Time, Location, Context (TLC) normalized signal including user information and including a first time dimension, a first location dimension, and a first context dimension, the first context dimension including a first single source probability representing at least a first approximate probability of a real-world event of a specified event type;
removing at least a portion of the user information;
deriving first one or more features from the first TLC normalized signal including from the first single source probability subsequent to removing the at least a portion of the user information;
determining that the first one or more features, including the first single source probability, provide insufficient evidence to be identified as the real-world event of the specified event type;
receiving a second Time, Location, Context (TLC) normalized signal including a second time dimension, a second location dimension, and a second context dimension, the second context dimension including a second single source probability representing at least a second approximate probability that the real-world event of the specified event type;
deriving second one or more features from the second TLC normalized signal including from the second single source probability;
aggregating the first single source probability and the second single source probability into a multisource probability; and
detecting the real-world event from evidence provided by the multisource probability, including the multisource probability exceeding a threshold probability associated with the event type.

US Pat. No. 10,970,183

SYSTEM AND METHOD FOR IMPROVING MODEL PERFORMANCE

The MathWorks, Inc., Nat...

1. A method comprising:generating baseline performance data based on a baseline performance of an executable source model;
selecting automatically, by a first processor, a plurality of checks to be run on the executable source model, the plurality of checks,
when run on the executable source model, either pass when conditions or settings associated with the plurality of checks are not detected in the executable source model or do not pass when the conditions or the settings are detected in the executable source model, and
are associated with proposed model changes that affect the baseline performance of the executable source model;
running the plurality of checks on the executable source model, wherein at least one of the plurality of checks does not pass;
applying to the executable source model automatically, by the first or a second processor, one or more of the proposed model changes that are associated with the at least one of the plurality checks that does not pass;
generating new performance data based on a new performance of the executable source model after the one or more of the proposed model changes are applied to the executable source model;
comparing, by the first, second or a third processor, the new performance data to the baseline performance data to determine whether the new performance represents an improvement over the baseline performance of the executable source model in at least one of execution speed or memory usage; and
retaining the one or more of the proposed model changes when the new performance is determined to represent the improvement over the baseline performance of the executable source model.

US Pat. No. 10,970,182

LEARNING-BASED DRIFT DETECTION TOOL

INTERNATIONAL BUSINESS MA...

1. A computer implemented method comprising:generating a drift detector configured to detect drift in a computer-under-investigation, wherein the drift comprises changes in the computer-under-investigation from exhibiting expected functional behavior to exhibiting unexpected functional behavior;
wherein generating the drift detector comprises:
using a processor of a learning-based drift detection tool generator to generate a set of a first type of known drift cases, wherein each of the first type of known drift cases comprises a known drift symptom and a known drift cause associated with the known drift symptom;
injecting, using the processor, the set of the first type of known drift cases into the computer-under-investigation to generate and capture captured changes in the computer-under-investigation over time to thereby generate a change data set configured to represent, for each drift case in the set of the first type of known drift cases, a set of deltas between captured changes that occurred in the computer-under-investigation prior to injecting each drift case of the first type of known drift cases and captured changes that occurred in the computer-under-investigation subsequent to injecting each drift case of the first type of known drift cases, wherein the set of deltas represents the captured changes in the computer-under-investigation that are caused by the set of the first type of known drift cases;
applying, using the processor, cleaning rules to the change data set, wherein the cleaning rules are configured to identify and remove from the change data set data that is determined, using the cleaning rules, to not be relevant to a set of drift issues associated with the first type of known drift cases, thereby reducing a size of the change data set and generating a cleaned change data set;
extracting one or more features of the cleaned change data set;
normalizing the one or more features of the cleaned change data set; and
using the extracted and normalized one or more features of the cleaned change data, along with at least one classification algorithm, to train and generate the drift detector comprising a computer-under-investigation model configured to classify changes in the computer-under-investigation;
wherein the drift detector is configured to:
use the computer-under-investigation model to perform a classification analysis of changes in functional behavior of the computer-under-investigation; and
based on a result of the classification analysis, generate a first classification output comprising a classification of at least one of the changes in functional behavior of the computer-under-investigation as drift.

US Pat. No. 10,970,181

CREATING DISTRIBUTED STORAGE DURING PARTITIONS

EMC IP Holding Company LL...

1. A method of maintaining distributed storage processing of a distributed volume, the method being performed by at least one processor and comprising:determining occurrence of a failure causing at least one array of a plurality of arrays of a distributed storage system to become unavailable;
identifying at least one available array of the plurality of arrays;
creating a local part of the distributed volume using data from at least one of the plurality of arrays containing a replica of data on the array that has become unavailable and indicating the distributed volume as being out of compliance with distributed storage requirements;
exporting the local part of the distributed volume to the at least one available array;
in response to at least one I/O request received at the distributed storage system for the distributed volume during the failure, continuing the distributed storage processing at the local part of the distributed volume and tracking changes to the local part of the distributed volume;
determining that the at least one unavailable array of the plurality of arrays is again available;
after the at least one unavailable array is determined as being again available, creating a remote part of the distributed volume at the again available array; and
ensuring that the distributed volume is in compliance with the distributed storage requirements.

US Pat. No. 10,970,180

METHODS AND APPARATUS FOR VERIFYING PROCESSING RESULTS AND/OR TAKING CORRECTIVE ACTIONS IN RESPONSE TO A DETECTED INVALID RESULT

1. A processing verification method for use in a system including multiple network nodes, the method comprising:receiving, at an enforcement node which maintains a copy of a block chain, from a first officer node, a first abstract (A1) of a first fishing task (FT1), said first abstract (A1) having been generated from at least i) a first private encryption key (PK1) and ii) a first fishing task confirmed result (FTCR1) corresponding to a fishing task script (FTS1), said first fishing task script (FTS1) specifying computations to be performed as part of said first fishing task (FT1);
storing, in the enforcement node, the first abstract (A1);
receiving at the enforcement node a first fishing task result (PN1FTR1), which is a processing result that was generated by a first processing node;
receiving at the enforcement node from the first officer node an indication that an invalid processing result (PN1FTR1) was received from the first processing node in response to the first fishing task (FT1) assigned to the first processing node; and
operating the enforcement node to confirm that the result (PN1FTR1) provided by the first processing node in response to the first fishing task (FT1) was invalid.

US Pat. No. 10,970,179

AUTOMATED DISASTER RECOVERY AND DATA REDUNDANCY MANAGEMENT SYSTEMS AND METHODS

ACRONIS INTERNATIONAL GMB...

1. A method for automated disaster recovery, the method comprising:creating, using a backup engine running at a computing device, a backup image of a production server at a primary computing site, wherein backup engine comprises one or more backup agents and a management server, wherein backup agents reside on physical hosts or physical servers, wherein management server performs centralized management of one or more backup agents and scheduling of backups;
storing the created backup image at a storage device at a secondary computing site, wherein the secondary computing site is a data recovery site and wherein the storage device stores a plurality of backup images;
monitoring, using a monitoring component, an operating status of the production server at the primary computing site;
avoiding running a standby copy of the production server at the secondary computing site while the production server is running at the primary computing site;
sending, using the monitoring component, a signal to the recovery agent running at the secondary computing site;
in response to determining, via the signal from the monitoring component, that the production server at the primary computing site is unavailable, initiating a disaster recovery process at the secondary computing site, using a recovery agent at the secondary computing site, wherein the recovery agent is in communication with the monitoring component, the signal indicating that the production server is to be recovered at the secondary computing site;
reading the created backup image, using the recovery agent;
mounting a copy of the production server from the created backup image, using the recovery agent, wherein the copy of the production server is mounted on a hypervisor at the secondary computing site from the backup image;
saving any changes applied to the copy of the production server using the recovery agent to a backup archive; and
running a copy of the production server from the created backup image at the secondary computing site.

US Pat. No. 10,970,178

GENERATING A HEALTH CONDITION MESSAGE ON A HEALTH CONDITION DETECTED AT A SERVER TO SEND TO A HOST SYSTEM ACCESSING THE SERVER

INTERNATIONAL BUSINESS MA...

1. A computer program product for providing health status to a host system accessing a first server managing access to a first storage, wherein a second server manages access to a second storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that is executable to perform operations, the operations comprising:monitoring, by a monitor program, a health of components in the first and the second servers, wherein the monitor program performs as part of the monitoring:
detecting a health condition with respect to access to the first storage as part of the monitoring;
determining whether an estimated Input/Output (I/O) delay is provided for the health condition;
generating a health condition message indicating no estimated I/O delay is included in the health condition message in response to determining that no I/O delay is provided for the health condition; and
transmitting the health condition message to the host system to cause the host system to process the health condition message without performing a swap operation to redirect host I/O requests to data from the first server to the second server.

US Pat. No. 10,970,177

METHODS AND SYSTEMS OF MANAGING CONSISTENCY AND AVAILABILITY TRADEOFFS IN A REAL-TIME OPERATIONAL DBMS

1. A computerized method for managing consistency and availability tradeoffs in a real-time operational database management system (DBMS) comprising:implementing consistency in an AP mode of real-time operational DBMS by;
adding a set of schemes that enable a real-time operational DBMS to linearize read/write operations in all situations except a first specified situation and a second specified situation, wherein when the real-time operational DBMS is in AP mode, at least one master node for every data item is available in the database cluster of the real-time operational DBMS at all times; and
implementing a CP mode of operation,
wherein the first specified comprises detecting that a split-brain partition occurs in a database cluster of the real-time operational DBMS,
wherein the second specified situation comprises detecting that a number of nodes are simultaneously lost due to failures, and
wherein the at least one master node for every data item is available in the database cluster of the real-time operational DBMS during a network partition operation.

US Pat. No. 10,970,176

MANAGING DATA WITH RESTORING FROM PURGING

Workday, Inc., Pleasanto...

1. A system for restoring purged data, comprising:an input interface to receive a restore indication of purged data to restore; and
a processor to:
reinstate the purged data, comprising:
copying the purged data from a purge memory to an active memory; and
removing a purge indication of the purged data being in a purged state; and
rebuild one or more relations to the purged data severed at a recent purge time using an effective change stack for the purged data, wherein rebuilding the one or more relations to the purged data comprises:
selecting a recent effective change of the change stack related to removal of weak references; and
in response to the recent effective change of the change stack comprising removal of a relation at the recent purge time, rebuilding the relation.