US Pat. No. 10,394,833

DISPLAY OF SUGGESTED COLOR PALETTES WITH IMAGES RESPONSIVE TO SEARCH QUERIES

SHUTTERSTOCK, INC., New ...

1. A method for providing a display of color palettes in response to a user search query, the method comprising:receiving from a user a search query on a user interface of a computing device;
searching a database to locate images responsive to the search query, wherein for each image, the database comprises an image representation and a set of keywords associated with the image;
extracting red, green, and blue (RGB) colors for each responsive image to provide extracted RGB colors from the responsive image;
creating a reduced color palette comprising a plurality of colors for each responsive image based on a proximity of the extracted RGB colors in a RGB color space;
assigning, to each of the plurality of colors for a responsive image, a color volume score and a color weight score, wherein the color volume score indicates a percentage of the responsive image covered by the respective color, and the color weight score indicates the percentage of the respective color in the responsive image;
ascertaining a percentage of a set of proximate colors in the responsive image, wherein each color in the set of proximate colors is located within a predefined distance from the respective color in the RGB color space;
indexing the percentage of the set of proximate colors for the respective color, the color volume score, and the color weight score, in a search engine for a subsequent image search;
dividing the extracted RGB colors for each responsive image into a set of segments representing visually distinct parts of a color spectrum;
assembling a color palette for each responsive image based on the extracted RGB colors; and
providing for display of suggested color palettes for the search query based on the assembled color palettes for the responsive images.

US Pat. No. 10,394,832

RANKING SEARCH RESULTS DOCUMENTS

GOOGLE LLC, Mountain Vie...

1. A method implemented by one or more processors, comprising:generating a graph including a plurality of nodes, wherein the plurality of nodes include a plurality of query feature nodes and a plurality of document feature nodes, and wherein at least one of the query feature nodes is connected to at least one of the document feature nodes;
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 include an email sent to an email address of the user;
identifying one or more document features for the email, each of the one or more document features represented in the graph by a corresponding one of the document feature nodes, and the document features comprising at least one email feature that is based on at least one of:
From content, based on its presence in a From field of the email, and
Subject content, based on its presence in a Subject field of the email;
identifying one or more query features for the query, each of the one or more query features represented in the graph by a corresponding one of the query feature nodes;
generating a query dependent measure for the email based on measures of past interactions between the query features and the document features represented in the graph,
wherein each of a plurality of the measures is based on a quantity of the past interactions, by corresponding users, with other documents having one or more of the document features when the other documents were presented in response to corresponding queries having one or more of the query features, and
wherein the other documents are restricted to a plurality of non-accessible documents that are not accessible to the user;
using the query dependent measure for the email to determine a presentation characteristic for presenting an email search result that corresponds to the email; and
providing, in response to the query, the email search result for presentation with the presentation characteristic, the presentation being via a user interface output device of the computing device.

US Pat. No. 10,394,831

PROFILE WITH THIRD-PARTY CONTENT

Facebook, Inc., Menlo Pa...

1. A method comprising:by a computing device, receiving an input corresponding to a search query from an online page of a social-networking system, wherein the online page corresponds to a target user of the social-networking system;
by the computing device, identifying one or more of a plurality of content objects associated with the target user, wherein the association is based at least in part on analyzing text, audio, or visual content of each of the plurality of content objects as well as interactions by the target user with each of the plurality of content objects, and wherein the association is based at least in part on a relevance score of the one or more of the plurality of contents objects associated with the target user;
by the computing device, scoring each of the identified content objects that has a corresponding relevance score that exceeds a threshold relevance score based at least in part on an affinity score of the content object relative to a querying user, wherein the affinity score is determined based on a user profile of the querying user;
by the computing device, ranking each of the identified content objects based at least in part on the affinity score; and
by the client computing device, sending, to a client device of the querying user in response to the received input, a search-results page comprising one or more search results for display, wherein the search results reference one or more of the ranked content objects.

US Pat. No. 10,394,830

SENTIMENT DETECTION AS A RANKING SIGNAL FOR REVIEWABLE ENTITIES

GOOGLE LLC, Mountain Vie...

1. A computer-implemented method, comprising:monitoring a plurality of user interactions of multiple users with entity search results provided in response to multiple search queries issued by the multiple users, each of the entity search results being associated with a given entity and being for a corresponding document that contains information about the given entity, wherein the given entity is a particular member of an entity type having a plurality of members, and wherein the given entity is a uniquely identifiable person or place;
generating one or more metrics for the user interactions of the multiple users with the entity search results including user interactions of the multiple users with a first search result of the entity search results and user interactions of the multiple users with a second search result of the entity search results;
determining, for each of a plurality of the entity search results including the first search result and the second search result, a corresponding likelihood that the entity search result is about the given entity, wherein determining the corresponding likelihood for the first search result is based on a number of times the given entity is mentioned in the first search result;
generating an entity score of the given entity based at least in part on:
the metrics for the user interactions of the multiple users with the entity search results, including user interactions of the multiple users with the first search result of the entity search results and user interactions of the multiple users with the second search result of the entity search results, and
the corresponding likelihoods that the entity search results are about the given entity; and
storing the entity score of the given entity in a database.

US Pat. No. 10,394,829

CONTENT AUTHORING

International Business Ma...

1. A method, in an information handling system comprising a processor and a memory, for identifying concepts, the method comprising:generating, by the system, at least a first concept set comprising one or more candidate concepts extracted from one or more content sources;
processing, by the system, one or more user concepts contained in written content authored by the user;
generating or retrieving, by the system, a vector representation of each user concept and each candidate concept in the first concept set;
performing, by the system, a natural language processing (NLP) analysis comparison of the vector representation of each user concept to a vector representation of each candidate concept in the first concept set to determine a similarity measure between each candidate concept and each user concept by analyzing a vector similarity function sim(Vi,Vj) between (1) a vector representation Vi of a first selected user concept Ci contained in written content authored by the user and (2) one or more vectors Vj for each candidate concept in the first concept set, wherein i and j are positive integer values; and
selecting, by the system, one or more of the candidate concepts for display as recommended concepts which are related to the one or more user concepts contained in written content authored by the user based on the similarity measure between each candidate concept and each user concept and which are restricted to a specific area of relatedness with respect to the first selected concept Ci, where the one or more candidate concepts are selected by constructing a ranked list of M candidate concepts sorted by similarity measure for display as the recommended concepts, where M is a user specified concept identification parameter that is a positive integer value.

US Pat. No. 10,394,828

METHODS, SYSTEMS AND COMPUTER READABLE STORAGE MEDIA FOR GENERATING QUANTIFIABLE GENOMIC INFORMATION AND RESULTS

Emory University, Atlant...

1. A method of generating comparable genomic information from a plurality of raw genomic datasets, comprising:processing at least one dataset that includes raw genomic data and descriptive data obtained from a data repository to generate one or more groups of one or more genes from the raw genomic data and to extract experiment data from the descriptive data for the at least one dataset;
generating quantitative information for each group of one or more genes of the at least one dataset based on the experiment data and/or one or more genomic coordinate systems for each of the one or more genomic coordinate systems;
wherein the one or more genomic coordinate systems includes a genomic region coordinate system and a gene coordinate system;
wherein each coordinate in the gene coordinate system relate to individual genes and each coordinate in genomic region coordinate system relates to a fixed interval of base pairs; and
wherein the generating quantitative information for each group of one or more genes of the at least one dataset includes:
determining one or more quantitative measures of one or more biological properties for each group of one or more genes of the at least one dataset based on the experiment data and/or one or more genomic coordinate systems for each of the one or more genomic coordinate systems;
generating a score information based on the one or more quantitative measures of one or more biological properties for each group of genes with respect to each genomic coordinate system and the at least one dataset, the score information for each group of genes corresponding to a normalized value corresponding to the one or more quantitative measures of one or more biological properties for each group of one or more genes with respect to each coordinate system and the at least one dataset; and
generating a rank information from the score information for each group of one or more genes with respect to the coordinate system and the at least one dataset, the rank information corresponding to a ranking of the score information for each group of one or more genes within each dataset and coordinate system; and
storing the quantitative information for each group of the one or more genes of the at least one dataset in at least one database, wherein the quantitative information are stored with respect each coordinate system separately in the at least one database.

US Pat. No. 10,394,827

DISCOVERING ENTERPRISE CONTENT BASED ON IMPLICIT AND EXPLICIT SIGNALS

Microsoft Technology Lice...

1. A method for providing an aggregated view of content items, the method comprising:receiving an indication to display an aggregated view of content items relevant to a user;
determining one or more content items from one or more repositories to display according to a relevance ranking, based on an activity by the user or other users and a relationship associated with the user and the activity, the activity being weighted according to the relationship;
generating a user interface for displaying the one or more content items; and
displaying visual representations of the one or more content items in an order according to the relevance ranking, each of the visual representations providing activity insights relating to at least one action by the user or other users with a content item, each visual representation having an associated tag providing personalized information that specifies at least one activity performed on one or more content items and how the at least one activity relates to the user, wherein the tag is selectable for initiating a predefined search query relating to the at least one activity specified by the personalized information, wherein initiation of the predefined search query results in aggregation and displaying of additional content items relating to the activity and not already included in the displayed visual representations.

US Pat. No. 10,394,825

PRIORITIZING ITEMS BASED ON USER ACTIVITY

INTERNATIONAL BUSINESS MA...

1. A system for prioritizing items based on user activity, comprising:a determination engine, comprising a processor, to determine a user interest based on a current user activity, wherein current user activity is weighted more heavily than other user activity;
an options engine to present prioritization options in a display; and
a prioritization engine to prioritize items in a list presented by a first application in said display based on said user interest and said prioritization options,
wherein the determination engine identifies keywords in at least a second application executed on a client device and involved with the current user activity,
wherein the first application is a most recently accessed application by a user, and
wherein the keywords are input by a collaborator through an online collaboration application as the keywords the determination engine uses to determine said user interest.

US Pat. No. 10,394,824

PROVIDING RESULTS TO PARAMETERLESS SEARCH QUERIES

GOOGLE LLC, Mountain Vie...

1. A method comprising:determining, by a computing system and based at least in part on information included in at least one electronic communication associated with a user of a mobile computing device, a context of the mobile computing device;
responsive to determining the context, executing, by a computing system, based at least in part on the context of the mobile computing device, an inferred parameter query to identify one or more results determined to be relevant to the user of the mobile computing device; and
sending, by the computing system, to the mobile computing device, the one or more results.

US Pat. No. 10,394,822

SYSTEMS AND METHODS FOR DATA CONVERSION AND COMPARISON

MongoDB, Inc., New York,...

1. A database system comprising:at least one processor configured to execute a plurality of system components, wherein the system components comprise:
a translation component configured to:
translate input data in a first format into a canonical format;
analyze original data elements in the first format to determine a data type associated with respective data elements;
map each individual data element of the input data to a canonical data type associated with the determined data type;
encode each individual data element into a byte stream comprising at least:
a canonical type byte based on the mapping; and
at least one data value for data of the data element where present; and
a database manager configured to:
receive requests for database operations from client systems and respond to the requests; and
execute data comparison operations against the canonical format byte stream to respond to at least some of the requests for database operations.

US Pat. No. 10,394,821

PROVIDING RECONSTRUCTED DATA BASED ON STORED AGGREGATE DATA IN RESPONSE TO QUERIES FOR UNAVAILABLE DATA

Cisco Technology, Inc., ...

1. A network computing apparatus, comprising:one or more processors;
a data analyzer configured to:
collect network stream data;
sort collected network stream data according to an index from a plurality of indexes;
partition the collected network stream data into a plurality of data clusters;
a data aggregator configured to:
determine for each cluster, of the plurality of data clusters, one or more distance values for each pair of points in that cluster, and adjusting contents of other clusters, of the plurality of data clusters, if any of the one or more distance values exceeds a distance threshold value;
for each cluster of the plurality of data clusters, determine an average point for that cluster;
a data reconstructor configured to:
upon receiving a request to reconstruct a data point for a particular coordinate, determine a reconstructed data point by interpolating, at the particular coordinate, between two or more average points of two or more clusters from the plurality of data clusters, wherein no two average points, of the two or more average points of two or more clusters from the plurality of data clusters, are from a same cluster of the two or more data clusters.

US Pat. No. 10,394,820

CONSTRUCTING AND QUERYING A BLOOM FILTER TO DETECT THE ABSENCE OF DATA FROM ONE OR MORE ENDPOINTS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:determining one or more characteristics of an overall Bloom filter representing a set of legal parameter values of a plurality of parameters useable for querying one or more endpoints, wherein in the overall Bloom filter, each parameter of the plurality of parameters is offset based on a respective unique identifier of the parameter, wherein the determining the characteristics of the overall Bloom filter comprises determining a hash function, a number of bits used to represent each endpoint Bloom filter, and a number of active bits for each parameter represented in each endpoint key;
requesting from each endpoint of the one or more endpoints a respective endpoint Bloom filter having the one or more characteristics and representing legal parameters values of the endpoint, wherein each request includes the determined hash function, the number of bits used to represent a corresponding Bloom filter and the number of active bits for each parameter;
receiving one or more endpoint Bloom filters from the one or more endpoints, wherein in each endpoint Bloom filter, each parameter of the plurality of parameters is offset based on the respective unique identifier of the parameter;
combining the one or more endpoint Bloom filters into the overall Bloom filter;
determining a first set of desired parameter values corresponding to first desired data to be retrieved from a first endpoint of the one or more endpoints;
constructing, by a computer processor, a first query Bloom filter representing the first set of desired parameter values;
performing a first Bloom filter search of the first query Bloom filter against the overall Bloom filter; and
responsive to not finding a match through the first Bloom filter search, opting not to query the first endpoint with the first set of desired parameter values.

US Pat. No. 10,394,819

CONTROLLING MIRRORING OF TABLES BASED ON ACCESS PREDICTION

INTERNATIONAL BUSINESS MA...

1. A system for managing a plurality of data storage devices comprising a plurality of volumes storing a database, the system comprising:at least one processor; and
at least one memory storing computer-executable instructions,
wherein the at least one processor is configured to access the at least one memory and execute the computer-executable instructions to:
identify and execute an access instruction for accessing the database, wherein the access instruction is a structured query language (SQL) statement;
identify a first table to be accessed based at least in part on the access instruction;
identify a first one or more volumes of the plurality of volumes that contains the first table;
set the identified first one or more volumes as mirroring targets;
determine that a second one or more volumes of the plurality of volumes are not being accessed and are currently being mirrored from a first data storage device of the plurality of data storage devices to a second data storage device of the plurality of data storage devices;
responsive at least in part to receiving mirroring instructions based on a determination that the determined second one or more volumes are more than or equal to a number of the mirroring targets, cancel mirroring of the determined second one or more volumes;
initiate mirroring of the first one or more volumes from the first data storage device to the second data storage device;
responsive at least in part to the initiating mirroring, identify an access order based at least in part on an access history associated with the database, wherein the identifying the access order comprises predicting that a second table is to be accessed after the first table, wherein the predicting comprises determining, based at least in part on the access history, that the second table is historically accessed after the first table at an access frequency in the access history that exceeds a threshold value; and
determine that a third one or more volumes of the plurality of volumes contains the second table; and
initiate mirroring of the third one or more volumes from the first data storage device to the second data storage device after the initiating mirroring of the first one or more volumes based at least in part on determining that the second table is historically accessed after the first table at the access frequency that exceeds the threshold value.

US Pat. No. 10,394,818

SYSTEM AND METHOD FOR DYNAMIC DATABASE SPLIT GENERATION IN A MASSIVELY PARALLEL OR DISTRIBUTED DATABASE ENVIRONMENT

ORACLE INTERNATIONAL CORP...

1. A method for dynamic database split generation in a massively parallel or other distributed database environment including a plurality of databases and a data warehouse layer providing querying of the plurality of databases and data summarization of the plurality of databases in a table, the method comprising:obtaining by a database table accessor executing on one or more microprocessors, from an associated client application, a query for data in the table of the data warehouse layer, the query comprising query data representative of a user query and user splitter kind preference data representative of a user split preference specifying how an associated user would prefer the table to be split for performing the query for data;
obtaining table data representative of one or more properties of the table, the table data comprising table size data representative of a total size of the table;
selecting a splits generator from among an enumeration of splitter kinds in accordance with:
the user split preference when it is determined by the database table accessor that splitting the table using the user split preference would improve a performance of the query for data relative to splitting the table based on the one or more properties of the table, or
the one or more properties of the table when it is determined by the database table accessor that splitting the table based on the one or more properties of the table would improve the performance of the query for data relative to splitting the table based on the user split preference;
generating, by the selected splits generator, table splits dividing the user query into a plurality of query splits; and
outputting the plurality of query splits to an associated plurality of mappers for execution by the associated plurality of mappers of each of the plurality of query splits as tasks of a selected data processing framework against the table.

US Pat. No. 10,394,817

SYSTEM AND METHOD FOR IMPLEMENTING A DATABASE

WALMART APOLLO, LLC, Ben...

1. A system comprising:a load balancer;
a database partitioned into at least a first shard, a second shard, and a third shard;
a first plurality of database servers coupled to the load balancer, each database server in the first plurality of database servers hosting a copy of the first shard of the database;
a second plurality of database servers coupled to the load balancer, each database server in the second plurality of database servers hosting a copy of the second shard of the database;
a third plurality of database servers coupled to the load balancer, each database server in the third plurality of database servers hosting a copy of the third shard of the database;
a first server set comprising one database server from the first plurality of database servers, one database server from the second plurality of database servers, and one database server from the third plurality of database servers; and
a second server set comprising one database server from the first plurality of database servers, one database server from the second plurality of database servers, and one database server from the third plurality of database servers, wherein:
the load balancer is configured to:
send incoming instructions to a database server selected from the first plurality of database servers, the second plurality of database servers, or the third plurality of database servers, using load balancing techniques;
receive a first query result from one of the database servers in the first plurality of database servers;
receive a second query result from one of the database servers in the second plurality of database servers;
aggregate the first query result and the second query result; and
present an aggregated query result to a requestor that triggered the incoming instructions;
each database server in the first plurality of database servers is configured to process at least one first instruction of the incoming instructions and send queries of the first shard of the database to only a specific database server in the first plurality of database servers;
each database server in the second plurality of database servers is configured to process at least one second instruction of the incoming instructions and send queries of the second shard of the database to only a specific database server in the second plurality of database servers;
each database server in the first server set is configured to send queries to only other database servers in the first server set;
each database server in the second server set is configured to send queries to only other database servers in the second server set; and
each database server in a third server set is configured to send queries to only other database servers in the third server set.

US Pat. No. 10,394,816

DETECTING PRODUCT LINES WITHIN PRODUCT SEARCH QUERIES

GOOGLE LLC, Mountain Vie...

1. A computer-implemented method to determine new product lines from unknown search terms in product searches, comprising:receiving, using one or more computing devices, a first product query comprising first search terms;
classifying, using the one or more computing devices, the first product query to identify a product category for the first product query;
identifying, using the one or more computing devices, a brand corresponding to the first product query, the brand being selected from a list of known brands for the product category and being based on one or more of the first search terms;
retrieving, using the one or more computing devices, a known attribute list for the product category;
identifying, using the one or more computing devices, one or more unknown terms within the first product query that do not correspond to the known attribute list for the product category;
classifying, using the one or more computing devices, the one or more unknown terms not corresponding to the known attribute list as unknown product line terms based on comparing the one or more terms against known product line templates comprising known product lines corresponding to known brands;
computing, using the one or more computing devices, a metric indicating a correspondence of the unknown product line terms to an actual product line within the brand, wherein computing the metric comprises determining a total number of other product queries comprising the unknown product line terms;
determining, using the one or more computing devices, that the metric exceeds a predefined threshold;
designating, using the one or more computing devices, the unknown product line terms as a new product line for the brand in response to determining that the metric exceeds the specified threshold;
performing, using the one or more computing devices, a product search for the new product line using the first product query to obtain first search results;
refining, using the one or more computing devices, the first search results based on the new product line to obtain second search results; and
returning, using the one or more computing devices, search results according to the product search for the new product line.

US Pat. No. 10,394,815

JOIN WITH PREDICTIVE GRANULARITY MODIFICATION BY EXAMPLE

MICROSOFT TECHNOLOGY LICE...

1. A computing device for computing join potential between a first table and a second table, comprising:a processor configured to:
execute an application program that instantiates the first table and the second table;
select at least one pair of columns, wherein each pair includes a source column of the first table and a target column of the second table;
for each pair:
detect that the columns in the pair contain respective data with different data granularities;
modify the data in one of the columns so that the modified data has the same data granularity as the data in the other column to facilitate generating corresponding matches between the source and target columns; and
generate an example that includes an element from the source column and a corresponding potential matching element from the target column;
for each example, based on a feature of the example programmatically generate a script that, when performed on the source column of the selected pair of columns of the example, produces a value that is consistent with the target column of the example, wherein the script defines a set of programmatic instructions to be executed within the application program;
for each script, apply that script to other elements in the source column and determine that an output generated by that script is in the target column;
for the script for which the generated output meets a selected matching criterion when compared to the elements of the target column, convey the output generated by that script for display on a display device; and
in response to an input signal accepting the script for which the output is conveyed, perform a join operation on the two tables at least in part by performing that script on the source column.

US Pat. No. 10,394,814

STORING NESTED COMPLEX DATA STRUCTURES IN A DATA STORE

Palantir Technologies Inc...

1. A data processing method providing an improvement in speed of obtaining, in response to a computer search query from one or more computing devices, a particular compressed data chunk that may include a particular data value that is digitally stored in a large data file, the method comprising the steps of:creating and digitally storing a digital file of sorted data comprising a first set of uncompressed metadata chunks, a second set of uncompressed metadata chunks, a set of compressed data chunks, and location metadata for the first set of metadata chunks at an end of the digital file; each chunk of the first and second sets of uncompressed metadata chunks comprising a set of bits; the set of compressed data chunks comprising a first compressed data chunk; the first compressed data chunk comprising a first set of values; the first set of uncompressed metadata chunks spaced evenly across the data file; the second set of uncompressed metadata chunks spaced evenly between a first metadata chunk of the first set of uncompressed metadata chunks and a second metadata chunk of the first set of uncompressed metadata chunks; the first metadata chunk comprising a first set of bits;
setting a first subset of bits of the first set of bits to indicate a minimum value of the first set of values, setting a second subset of bits of the first set of bits to indicate a maximum value of the first set of values, and setting a third subset of bits of the first set of bits to indicate a first portion of the data file separating the first metadata chunk and the second metadata chunk;
receiving the search query specifying the particular data value;
reading the first metadata chunk; in response to determining that the particular data value is equal to or greater than the minimum value and equal to or less than the maximum value, sending the first compressed data chunk to the one or more computing devices.

US Pat. No. 10,394,813

METHOD AND APPARATUS FOR PERFORMING QUERY AWARE PARTITIONING

1. A method for processing a query, the method comprising:receiving, via a processor, a query plan comprising a plurality of queries;
classifying, via the processor, each one of the plurality of queries;
computing, via the processor, an optimal partition set for each one of the plurality of queries;
reconciling, via the processor, the optimal partition set of each one of the plurality of queries with a subset of queries of the plurality of queries, wherein the reconciling is performed after the computing, wherein reconciling comprises;
testing the optimal partition set of each one of the plurality of queries against all other queries to ensure compatibility;
selecting an optimal partition set that is compatible with at least two queries of the plurality of queries and has a lowest cost based upon a lowest cost computation, wherein the lowest cost computation comprises a reconciled optimal partition set that provides a least amount of data transfer between a plurality of nodes, wherein a cost is defined as 0 when a query node of the query plan processes only local data, as an input rate of the query node when the query node is incompatible with the optimal partition set and as an output rate of the query node when the query node is compatible with the optimal partition set; and
using the optimal partition set for the at least two queries of the plurality of queries;
selecting, via the processor, the reconciled optimal partition set to be used by each query of the plurality of queries;
storing, via the processor, the reconciled optimal partition set in a computer readable medium;
applying, via the processor, the reconciled optimal partition set to the query plan to transform the query plan into an optimized query plan, wherein the applying the optimized query plan comprises:
assigning an operator to each node of a plurality of nodes that each node will execute, wherein at least two of the plurality of nodes perform different operators;
providing a parameter for each operator at each of the plurality of nodes; and
informing each node of the plurality of nodes a source and a destination of a data stream;
applying, via the processor, the optimized query plan to the data stream; and
outputting, via the processor, a result of the applying to a user.

US Pat. No. 10,394,812

CASE STATEMENT OPTIMIZATION

International Business Ma...

1. A machine-implemented method for performing optimization techniques of case expressions, the machine-implemented method comprising:analyzing, by at least one processing device, a case expression for redundant expressions, patterns equivalent to a built-in function, and specific functions to form a simplified expression, wherein the case expression is written in a language supported by a database management system;
optimizing, by the at least one processing device, the simplified expression based on a cost benefit evaluation of no optimization, native code generation, hashing inputs, and a results caching algorithm to form an execution plan, the optimizing further comprising:
evaluating the case expression to determine whether the case expression would benefit from caching or code generation, and
determining whether the case expression would benefit more from lightweight caching or heavyweight caching when the evaluating determines that the case expression would benefit from the caching, the determining depending upon a complexity of the case expression, whether inputs to the case expression are ordered, and a cardinality of the inputs; and
utilizing, by the at least one processing device, the execution plan in the database management system for the case expression.

US Pat. No. 10,394,811

TAIL-BASED TOP-N QUERY EVALUATION

Oracle International Corp...

1. A method comprising:executing a query with a top-N clause to select an N-number of first rows in a data source arranged at least according to a first key and a second key of the data source using a first sort order respectively specified for the first key and a second sort order respectively specified for the second key by the query, the data source comprising one or more tiles that include at least a portion of the first key and at least a portion of the second key, the executing comprising:
determining, in a first vector of first key values that are in a first tile, a particular plurality of first row identifiers identifying entries of the first vector that contain values equal to a tail value that follows a particular top number of first key values;
selecting, from a second vector of values of the second key in the first tile, a plurality of second key values identified based on the particular plurality of first row identifiers;
generating a result set of the query, wherein the result set includes at least one value from the plurality of second key values selected from the second vector based on the particular plurality of first row identifiers.

US Pat. No. 10,394,810

ITERATIVE Z-SCORE CALCULATION FOR BIG DATA USING COMPONENTS

1. A computing-system-implemented method for generating a Z-score for a selected data element in a modified computation subset, the method comprising:initializing, by a computing-device-based computing system, a sum or a mean or both and one or more other components of a Z-score for a pre-modified computation subset, wherein the pre-modified computation subset contains a specified number, n (n?6), of data elements of a data set on at least one of one or more storage media in the computing-device-based computing system;
accessing, by the computing-device-based computing system and from the data set, a data element to be removed from the pre-modified computation subset and a data element from the data set to be added to the pre-modified computation subset;
modifying, by the computing-device-based computing system, the pre-modified computation subset by:
removing the to-be-removed data element from the pre-modified computation subset; and
adding the to-be-added data element to the pre-modified computation subset;
iteratively deriving, by the computing-device-based computing system, a sum or a mean or both for the modified computation subset;
directly iteratively deriving, by the computing-device-based computing system and based on the one or more components of the Z-score other than a sum and a mean for the pre-modified computation subset, one or more components of a Z-score other than a sum and a mean for the modified computation subset, wherein the directly iteratively deriving includes:
accessing the one or more components of the Z-score other than a sum and a mean initialized or derived for the pre-modified computation subset without accessing all data elements in the modified computation subset to allow the computing-device-based computing system to use less memory; and
removing any contribution of the removed data element from each of the accessed components and adding any contribution of the added data element to each of the accessed components without using all data elements in the modified computation subset thereby resulting in faster computation time;
accessing, by the computing-device-based computing system, a data element selected for a Z-score calculation; and
generating, by the computing-device-based computing system, a Z-score for the selected data element in the modified computation subset based on one or more of the iteratively derived components.

US Pat. No. 10,394,809

INCREMENTAL VARIANCE AND/OR STANDARD DEVIATION CALCULATION FOR BIG DATA OR STREAMED DATA USING COMPONENTS

1. A computing-system-implemented method for generating a variance or a standard deviation or both for data elements in a modified computation subset, the method comprising:initializing, by a computing-device-based computing system, a sum or a mean or both for a pre-modified computation subset of a data set on at least one of one or more storage media of the computing-device-based computing system or a data stream accessible by the computing-device-based computing system, one or more other components of a variance or a standard deviation or both for the pre-modified computation subset, and a computation subset size counter n(n?10) which specifies a number of data elements in the pre-modified computation subset;
accessing or receiving, by the computing-device-based computing system, a data element to be added to the pre-modified computation subset;
generating a variance or a standard deviation or both based on one or more of the initialized components;
modifying, by the computing-device-based computing system, the pre-modified computation subset by:
adding the accessed or received data element to the pre-modified computation subset; and
modifying the computation subset size counter by increasing its value by 1;
incrementally deriving, by the computing-device-based computing system, a sum or a mean or both for the modified computation subset;
directly incrementally deriving, by the computing-device-based computing system and based at least in part on the one or more components of the variance or the standard deviation or both other than a sum and a mean initialized or derived for the pre-modified computation subset, one or more components of a variance or a standard deviation or both other than a sum and a mean for the modified computation subset, wherein the incrementally deriving includes:
accessing the one or more components of the variance or the standard deviation or both other than a sum and a mean for the pre-modified computation subset without accessing all data elements in the modified computation subset to reduce data accessing latency thereby saving computing resources and reducing the computing-device-based computing system's power consumption; and
adding any contribution of the added data element to each of the accessed components mathematically without using all data elements in the modified computation subset to reduce the number of operations performed by the computing-device-based computing system thereby increasing calculation efficiency; and
generating, by the computing-device-based computing system, a variance or a standard deviation or both for the modified computation subset based on one or more of the incrementally derived components.

US Pat. No. 10,394,808

DATABASE QUERY EXECUTION TRACING AND DATA GENERATION FOR DIAGNOSING EXECUTION ISSUES

INTERNATIONAL BUSINESS MA...

1. A system comprising:a processor; and
a non-transitory computer readable storage medium connected to the processor, wherein the non-transitory computer readable storage medium has stored thereon a program for controlling the processor, and wherein the processor is operative with the program to execute the program for:
receiving trace data captured for a first execution of a first query on first input data, wherein the trace data associates clauses of the first query with respective evaluation states that arise during the first execution of the first query;
generating second input data from the trace data without accessing the first input data, wherein the first input data include data values and generating the second input data from the trace data without accessing the first input data comprises:
generating values for the second input data corresponding to respective ones of the first input data values, where the values generated for the second input data are generated from the trace data and not from the first input data, and wherein each second input data value has a value such that in execution of the second query each second input data value produces the same evaluation state as the evaluation state captured in the trace data for the corresponding first input data value but is otherwise independent of the corresponding first input data value, so that the first input data is kept private in both the execution of the second query and the generating of the second input data values, since each second input data value is generated from the trace data instead of from the first input data;andperforming an execution of a second query on the second input data, wherein execution trouble occurred on the first execution of the first query on first input data, and wherein the second input data is configured, in the generating of the second input data from the trace data without accessing the first input data, such that performing the execution of the second query on the second input data reproduces at least selected evaluation states that tend to be associated with the execution trouble from the first execution of the first query on the first input data, so that executing the second query on the second input data tends to reproduce the execution trouble from the first execution of the first query on the first input data without accessing the first input data.

US Pat. No. 10,394,806

DATABASE-INDEPENDENT MECHANISM FOR RETRIEVING RELATIONAL DATA AS XML

Progress Software Corpora...

1. A computer-implemented method comprising:receiving, using one or more processors, an XQuery query from an application;
dividing the XQuery query into a first XQuery expression and a second XQuery expression;
determining, by the one or more processors, that the first XQuery expression queries a XML data source and the second XQuery expression queries a relational data source;
executing the first XQuery expression on the XML data source, and receiving a first XML query result for the first XQuery expression from the XML data source;
translating the second XQuery expression into a SQL expression;
executing the SQL expression on the relational data source, and receiving a SQL query result for the SQL expression from the relational data source;
mapping the SQL query result of the SQL expression into a second XML query result;
combining the first XML query result associated with the first XQuery expression and the second XML query result associated with the second XQuery expression into an XML result for the XQuery query; and
providing the XML result of the XQuery query to the application.

US Pat. No. 10,394,805

DATABASE MANAGEMENT FOR MOBILE DEVICES

SAP SE, Walldorf (DE)

1. A method to be performed on one or more data processors comprising at least part of a computer system of a database management system, the method comprising:receiving, from a mobile device, a request to transmit a subset of the data stored on a database associated with a the database management system, the request including an indication of a user associated with the mobile device;
identifying, based on the indication of the user, a subset of the data contained within the database to store locally on the mobile device, the identifying including identifying a calculation scenario associated with the user, the calculation scenario usable by multiple different queries and which uses an index formed from logical metamodels that join tables to form the index;
performing, by the database management system and according to the calculation scenario, a set of queries on the database to generate the subset of the data stored on the database, the set of queries based on the indication of the user;
transmitting the subset of the data stored on the database to the mobile device for local storage on the mobile device to support database operations performed by the mobile device, the mobile device including a mobile database to store the subset of data, wherein the database operations performed by the mobile device include querying the mobile database storing the subset of data;
monitoring changes to the data, stored on the database, that corresponds with data stored locally on the mobile device; and
updating the mobile device with the changes to the data;
wherein the calculation scenario includes a directed acyclic graph including edges representing data flows and nodes representing operations, each node including a set of inputs and outputs and an operation that transforms the inputs into the outputs, wherein the inputs and outputs are user-defined table types that are passed into a procedure or function.

US Pat. No. 10,394,804

METHOD AND SYSTEM FOR INCREASING INTERNET TRAFFIC TO A QUESTION AND ANSWER CUSTOMER SUPPORT SYSTEM

Intuit Inc., Mountain Vi...

1. A computer-implemented method for increasing Internet traffic to a question and answer customer support system, the method comprising:receiving original question data representing an original question being submitted to a question and answer customer support system by a question submitting user for potential publishing in the question and answer customer support system;
storing the original question data in memory allocated to processing information for the question and answer customer support system;
analyzing the original question data, in the memory with a processor, to determine a searchability score to be associated with the original question data, the searchability score being determined by accumulating numerical assignments applied to attributes of the original question data;
comparing, with the processor, searchability score data associated with the original question data to threshold searchability score data, the threshold searchability score data representing a threshold searchability score;
upon a determination that the searchability score is less than the threshold searchability score represented by the threshold searchability score data, analyzing the original question data, with the processor, using one or more question searchability factors, to determine suggestions for reforming the original question to increase an estimated likelihood of the one or more Internet search engines matching search criteria with the original question, the suggestions including at least a suggestion to convert the original question from one type to another, with suggestions being selected from at least converting a why question type to a how type question type, transforming a why question type to a closed ended question type, and transforming a why question type to a what question type;
based, at least in part, on the analyzing the original question data using the one or more question searchability factors, generating question reformation data representing suggestions to customer support personnel for the question and answer customer support system, for transforming the original question data into reformed question data representing a reformed question estimated to have a searchability score associated with the reformed question data;
providing the question reformation data to the customer support personnel for the question and answer customer support system;
receiving the reformed question data from the customer support personnel representing the reformed question that is reformed from the original question based, at least in part, on the question reformation data;
generating reformed question answer data, the reformed question answer data representing an answer to the reformed question data representing the reformed question; and
publishing the reformed question represented by the reformed question data, with the answer to the reformed question represented by reformed question answer data, in the question and answer customer support system, to enable the reformed question represented by the reformed question data and/or the answer to the reformed question represented by the reformed question answer data to be searched by the one or more Internet search engines and to increase a likelihood of receiving Internet traffic to the question and answer customer support system.

US Pat. No. 10,394,803

METHOD AND SYSTEM FOR SEMANTIC-BASED QUERIES USING WORD VECTOR REPRESENTATION

International Business Ma...

1. A method comprising:generating a set of token sequences for at least a portion of a database, wherein each token in a sequence represents a respective database entity of the database, wherein the set of token sequences comprises at least one of:
a token sequence obtained by following at least one foreign key and at least one IDREF reference; or
a token sequence obtained by following at least one path in a database tree, wherein the database is hierarchical;
assigning, for each token in the set of token sequences, at least one corresponding vector from a set of vectors of a same dimension, wherein the at least one corresponding vector encodes relationships between the database entity of a token and other database entities of other tokens of the set of token sequences; and
extracting, using a query language, information from the database based at least in part on the relationships encoded by the assigned vectors.

US Pat. No. 10,394,802

INTERACTIVE LOCATION QUERIES FOR RAW MACHINE DATA

Splunk, Inc., San Franci...

1. A computer-implemented method for providing a user interface for an interactive data query, comprising:receiving a query input at a user interface, wherein the query input defines a field search query for searching raw machine data;
receiving a map input at an interactive map portion of the user interface, wherein the interactive map portion displays a map region;
displaying, at the user interface, a user-defined overlay of the map region based on the map input, wherein the user-defined overlay depicts one or more ad-hoc boundary regions;
generating location search information for searching raw machine data based on the one or more ad-hoc boundary regions;
generating a combined query based on the field search query and the location search information;
transmitting the combined query to a data query system;
receiving a set of results from the data query system, wherein the received results are responsive to both the field search query and the location search information, and wherein individual results within the set of results identify a value from the raw machine data and a timestamp corresponding to the value;
displaying a visualization of the set of results as an ordering of the set of results over a time range, wherein the ordering is determined based at least in part on the timestamps identified within the results, and wherein a portion of the visualization is selectable to indicate a subrange of the time range;
obtaining a selection of the portion of the visualization; and
displaying a subset, of the set of results, that identify a timestamp within the subrange.

US Pat. No. 10,394,801

AUTOMATED DATA ANALYSIS USING COMBINED QUERIES

Oracle International Corp...

1. A method comprising:receiving, by a computer system, information identifying a first data source and a second data source;
executing, by the computer system, a first query to retrieve a set of metadata attributes for the first data source;
executing, by the computer system, a second query to retrieve a set of metadata attributes for the second data source;
receiving, by the computer system, (i) user input indicative of selection of one or more metadata attributes from the set of metadata attributes for the first data source, and (ii) user input indicative of selection of one or more metadata attributes from the set of metadata attributes for the second data source;
generating, by the computer system, a first single source query based upon the one or more metadata attributes selected from the set of metadata attributes for the first data source, wherein the first single source query is for extracting first data from the first data source;
generating, by the computer system, a second single source query based upon the one or more metadata attributes selected from the set of metadata attributes for the second data source, wherein the second single source query is for extracting second data from the second data source;
generating, by the computer system, a base query based upon the first single source query for extracting the first data from the first data source and the second single source query for extracting the second data from the second data source, wherein the base query is able to extract the first data from the first data source and the second data from the second data source, and wherein the generating the base query comprises normalizing the one or more metadata attributes selected for the first data source with the one or more metadata attributes selected for the second data source;
obtaining, by the computer system, a result set by executing the base query, the result set comprising the first data and the second data;
determining, by the computer system, a set of metadata attributes for the result set;
outputting, by the computer system, the set of metadata attributes for the result set;
receiving, by the computer system, first analysis information identifying a first analysis to be performed based upon the result set, the first analysis information indicating selection of one or more metadata attributes from the set of metadata attributes for the result set;
generating, by the computer system, a first modified query based upon the base query and the first analysis information;
obtaining, by the computer system, a first analysis result set by executing the first modified query; and
outputting, by the computer system, the first analysis result set.

US Pat. No. 10,394,800

OPTIMIZING CONTINUOUS QUERY OPERATIONS IN AN IN MEMORY DATA GRID (IMDG)

International Business Ma...

1. A method for optimized continuous query processing in an in memory data grid (IMDG), the method comprising:receiving a request to add an object to an IMDG;
evaluating a continuous query upon the object in order to produce a result;
adding an attribute to the object referencing the continuous query and assigning a value to the attribute of the result;
inserting the object with the attribute into the IMDG; and,
returning the value of the attribute in lieu of repeating an evaluation of the continuous query in response to receiving a request to repeat an evaluation of the continuous query in respect to the object.

US Pat. No. 10,394,798

METHOD OF ENSURING TRANSACTIONAL INTEGRITY OF A SYSTEM THAT INCLUDES A FIRST SUBSYSTEM AND A SECOND SUBSYSTEM

Gravic, Inc., Malvern, P...

1. A method of ensuring transactional integrity of a system that includes a first subsystem and a second subsystem, each subsystem including (i) a hardware processor, (ii) an application executing in the hardware processor, (iii) an indicia engine, and (iv) an instance of a database used by the application, each subsystem executing transactions, each transaction including a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations, the system performing the method comprising:(a) receiving at the first subsystem a request to process a transaction;
(b) the first subsystem sending to the second subsystem the request to process a transaction;
(c) processing in the application executing in the hardware processor at each subsystem the identical request in the instance of the subsystem's database;
(d) the indicia engine at each subsystem computing indicia of the outcome of the processing of the identical request in step (b), wherein the indicia is dependent upon at least a subset of the DML or DDL operations;
(e) the indicia engine at the second subsystem sending its computed indicia to the first subsystem; and
(f) the indicia engine at the first subsystem:
(i) comparing its computed indicia with the indicia received from the second subsystem, and
(ii) sending a transaction abort directive to the second subsystem when the comparison indicates that the computed indicia of the second subsystem does not match the computed indicia of the first subsystem, thereby indicating a lack of transactional integrity in one or both of the first and second subsystems.

US Pat. No. 10,394,797

METHOD AND COMPUTING APPARATUS FOR MANAGING MAIN MEMORY DATABASE

TmaxData Co., Ltd., Gyeo...

1. A management method of a main memory database which is performed in a computing apparatus including one or more processors and a main memory, which stores commands executable in the processors, the method comprising:generating in the main memory a first log which is a target of the log compaction including collected change information of each change when the change occurs, which includes at least one of a data insertion, an update, and a deletion of data recorded in the main memory by one of the processors;
recording the first log which is a target of the log compaction in the main memory in a permanent storing device to generate a first log file by one of the processors; and
performing log compaction which leaves only effective change information among change information of the data included in the log on the first log to generate a second log including only effective change information among change information on individual data in order to reduce the size of the log by one of the processors,
wherein the data is configured by one or more versions which are connected by a link and generate a version chain, based on a modified time sequence,
wherein the version chain is connected with a link which connects a next version and a previous version based on a version identification information, in order to read a data corresponding to a transaction in accordance with the link of the version chain of the data when reading a data recorded in the database,
wherein the version includes a header and a data field,
wherein the header includes at least one of a flag which indicates a usage state of the version or whether the version is deleted, the version identification information which includes information for identifying a version, a time stamp which includes information about time of a transaction related with the version, and data identification information which includes identification information indicating whether a value recorded in the data field is located in a specific column and row of the data table of the database,
wherein the version identification information includes information of an address value on a main memory of a next version of the data, in order to link with the next version,
wherein the data field includes a data value.

US Pat. No. 10,394,796

CONTROL SELECTION AND ANALYSIS OF SEARCH ENGINE OPTIMIZATION ACTIVITIES FOR WEB SITES

BloomReach Inc., Mountai...

1. A system for providing control selection and analysis of Search Engine Optimization (SEO) activities for web sites, comprising:a processor configured to:
select a first plurality of web pages associated with a web site for use in a control group of web pages for an experiment;
select a second plurality of web pages associated with the web site for use in a test group of web pages for the experiment;
canonicalize the control group of web pages and the test group of web pages, comprising to:
remove one or more web pages from the control group or the test group based on an outlier determination, wherein the outlier determination results from a determination that the one or more web pages have no corresponding web page in the other group based on one or more selected dimensions, wherein the one or more selected dimensions are selected from a page type, a visit level, or a department, wherein the one or more web pages have no corresponding web page in the other group includes at least one or more of the following: a web page with an Hypertext Transfer Protocol (HTTP) error, a web pages with a redirect, a web page that is no longer available for crawling by a search engine, or a web page that has a change in a canonical tag; and
perform the experiment to determine a performance of the test group of web pages relative to the control group of web pages; and
a memory coupled to the processor and configured to provide the processor with instructions.

US Pat. No. 10,394,795

SYNCHRONIZED CAPTURE OF TRANSACTIONAL DATA FROM MULTIPLE JOURNALS

Oracle International Corp...

1. A method for dynamically determining a size of a partition, comprising:executing, by a computing device using a reader, a journal read process to read one or more journals;
determining, by the computing device, whether the reader is at an end of a journal;
determining, by the computing device, whether a last entry of the journal is user defined with a marker journal entry, when the reader is at the end of the journal;
marking, by the computing device, the journal as synced, when the last entry of the journal is user defined with the marker journal entry;
determining, by the computing device, whether the reader is expecting a specific marker entry sync identifier, when the last entry of the journal is not user defined with the marker journal entry; and
writing, by the computing device, a new marker journal entry in the journal and marking all journals as needing a sync, when the reader is expecting the specific marker entry sync identifier.

US Pat. No. 10,394,794

SYSTEMS AND METHODS FOR MULTI-FILE CHECK-IN

Open Text SA ULC, Halifa...

1. A method for providing multi-file check-in in a content management system, the method comprising:receiving, by the content management system from a user device associated with a user through a web server over a network, a request to display files that are checked out by the user and that are locked by the content management system;
receiving, by the content management system from the user device through the web server over the network, an indication to check in two or more assets, the indication comprising the user dragging and dropping the two or more assets into a folder managed by the content management system; and
responsive to the indication to check in the two or more assets, initiating, by the content management system, a check-in process to check in the two or more assets in the folder managed by the content management system, the check-in process comprising:
determining, from the files that are checked out by the user, two or more files with filenames that match filenames of the two or more assets;
modifying a lock status field associated with each of the two or more files to unlock the two or more files; and
checking the two or more assets into the content management system as new versions of the two or more files.

US Pat. No. 10,394,793

METHOD AND SYSTEM FOR GOVERNED REPLAY FOR COMPLIANCE APPLICATIONS

EMC IP Holding Company LL...

1. A computer-implemented method for performing point-in-time replay using software control metadata objects to validate compliance of a cloud infrastructure environment at a specific time comprising:maintaining a repository of metadata associated with computer software applications, metadata associated with content associated with the computer software applications, and metadata associated with the cloud infrastructure environment enabled to deploy the computer software applications, wherein the cloud infrastructure environment includes a shared pool of configurable computing resources, further wherein the shared pool of configurable computing resources includes the computer software applications, a plurality of servers, and at least one storage repository, wherein the at least one storage repository includes the metadata associated with computer software applications, the metadata associated with content associated with the computer software applications, and the metadata associated with the cloud infrastructure environment;
executing a point-in-time replay, including a control and one or more processes, on the cloud infrastructure environment to determine compliance of a state of the cloud infrastructure environment at the specific time according to a plurality of inputs maintained in the repository of metadata regarding the state of the cloud infrastructure environment, wherein the compliance indicates whether the pool of configurable computing resources within the cloud infrastructure environment satisfy a set of technical specifications at the specific time based on trust-based criteria;
storing a control metadata object generated by the executed point-in-time replay, the control metadata object identifying the control and including content addresses to the processes for the point-in-time replay as immutable control and process objects, respectively, in the repository;
storing input metadata objects and output metadata objects identifying inputs to and outputs from the control and the processes as immutable input metadata objects and output metadata objects, respectively, in the repository, wherein the output metadata objects are generated by the executed point-in-time replay;
storing a timestamp metadata object generated by the executed point-in-time replay, the timestamp metadata object including a timestamp and content addresses to the control object, the process objects, the input objects, and the output objects, as an immutable metadata object in the repository; and
creating a metarecord, the metarecord including a timestamp, a content address of the control metadata object, and one or more content addresses of the inputs;
storing the metarecord as an immutable object having a metarecord content address;
analyzing whether the state of the shared pool of configurable computing resources are in a trusted state at the time identified in the timestamp metadata object according to a replay of the control and processes metadata objects using the input metadata objects;
determining a deployment for a given one of the computer software applications on a trusted infrastructure within the cloud infrastructure environment based on at least a subset of the metadata maintained in the metadata repository; and
causing deployment of the given one of the computer software applications on the trusted infrastructure.

US Pat. No. 10,394,792

DATA STORAGE IN A GRAPH PROCESSING SYSTEM

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:receiving user data and graph data at a distributed computing system, the graph data describing a graph representing a task to be performed by one or more computing devices in the distributed computing system, the graph including a plurality of vertices connected by one or more edges, each of the vertices associated with one or more data fields that are included in a vertex names vector;
performing, by the one or more computing devices, the task using the user data and the graph data, wherein the performing comprises:
identifying a request to change an existing value of a data field associated with a particular vertex in the graph data, the request including a new value for the data field;
determining that a length of the new value for the data field is shorter than a length of the existing value of the data field; and
in response to determining that the length of the new value for the data field is shorter than the length of the existing value of the data field, replacing the existing value by (i) replacing a first portion of the data field that is associated with the particular vertex with exception information that indicates the length of the new value that is shorter than the length of the existing value, (ii) replacing a second portion of the data field that is associated with the particular vertex with the new value, and (iii) updating a flag in an exception flag vector to indicate an inclusion of the exception information in the data field, the flag being located at a position in the exception flag vector that indicates a position of the data field in the vertex names vector; and
providing, by the one or more computing devices, an output for the task, wherein the output is determined using, in part, the data field that includes the exception information.

US Pat. No. 10,394,791

INFORMATION PROCESSOR DEVICE, INFORMATION PROCESSING SYSTEM, CONTENT IMAGE GENERATING METHOD, AND CONTENT DATA GENERATING METHOD FOR AUTOMATICALLY RECORDING EVENTS BASED UPON EVENT CODES

SONY INTERACTIVE ENTERTAI...

1. An information processor comprising:a behavioral data acquisition section adapted to acquire a plurality of behavioral data about behaviors performed by a user of interest including dates and times of the behaviors,
wherein each behavioral data includes a behavior, a nature of the behavior, and a timing of the behavior, and
wherein each behavioral data is stored in a user profile;
a feature quantity calculation section adapted to calculate feature quantities indicating features of the behaviors performed by the user of interest at least during each of first and second periods which are different from each other by using the timing of the behavior in the acquired plurality of behavioral data;
an evaluation section adapted to evaluate similarity between the user of interest and other users, without using collaborative filtering, by using at least some of the calculated feature quantities; and
a recommendation section adapted to concurrently recommend a similar user, determined to be similar to the user of interest, and a video game to play with the similar user by an evaluation result of the evaluation section, to the user of interest,
wherein the recommendation section is adapted to recommend (a) a piece of content, owned by a ratio of similar users greater than a threshold ratio, to the user of interest as a recommended piece of content and (b) a timing during which to play the piece of content in collaboration with similar users,
wherein the similar users are determined to be similar to the user of interest by an evaluation result of the evaluation section,
wherein the piece of content is not owned by the user of interest.

US Pat. No. 10,394,790

TABLE ORGANIZATION USING ONE OR MORE QUERIES

International Business Ma...

1. A program product, comprising:a computer readable storage medium; and
program code stored on the computer readable storage medium and configured upon execution to reorganize a database table residing on a computer system according to a set of queries, comprising the steps of:
constructing a bitmap entry for each row entry within the database table, each bitmap entry having n bit positions, each of the n bit positions corresponding to a referencing state of a different one of the set of queries;
computing a single numerical value for each bitmap entry as a function of individual bit values for the n bit positions; and
sorting the row entries within the database table based upon the numerical values of the bitmap entries.

US Pat. No. 10,394,789

TECHNIQUES AND SYSTEMS FOR SCALABLE REQUEST HANDLING IN DATA PROCESSING SYSTEMS

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:in response to receiving a plurality of data storage requests for data to be stored in a plurality of volumes of durable storage of a data storage system, processing the data storage requests by at least:
obtaining events associated with each of the plurality of data storage requests;
assigning the events to one or more specified database tables, wherein the one or more database tables are rotated for assignment of the events, the database tables being configured so as to include an entry for each of the assigned events in both:
a primary index table that utilizes a pseudorandomly generated primary key for each of the assigned events; and
a secondary index table that uses information in the primary index table as its primary key, the information being different from the pseudorandomly generated primary key;
storing, asynchronous from receiving the plurality of the data storage requests, the data into the plurality of volumes in accordance with the events assigned to the one or more database tables, the data stored by at least:
applying a redundancy code to the data associated with the data storage requests to generate a set of shards representative of the data;
storing the shards on the plurality of volumes; and
updating entries corresponding to the events assigned to the one or more database tables; and
responding, synchronous from receiving the plurality of the data storage requests, to status requests regarding pendency of the events associated with each of the plurality of data storage requests by at least using the primary key of the secondary index table.

US Pat. No. 10,394,787

INDEXING METHODS AND SYSTEMS FOR SPATIAL DATA OBJECTS

HUBEI UNIVERSITY OF EDUCA...

1. A method for determining spatial data objects of a data space, implemented in a computing system serving as a Database Management system (DBMS), wherein each of the spatial data objects is an N-dimensional data object with N being an integer greater than or equal to 2, the method comprising:determining, by a processor of the computing system, a cumulative distribution of sizes of the spatial data objects;
separating, by the processor of the computing system, the cumulative distribution into a plurality of separations sets according to a plurality of separating manners, wherein each separation set corresponds to one separating manner;
computing a cost model for each of the plurality of separation sets;
using the cost model to select a separation set that has the lowest total cost among the plurality of separation sets;
associating, by the processor of the computing system, each spatial data object with one of a plurality of separations among the selected separation set according to a size of the respective spatial data object, wherein the size of each spatial data object is the maximum extent of the respective spatial data object;
mapping, by the processor of the computing system, each spatial data object to an index key based on the separation with which the spatial data object is associated, wherein each spatial data object is mapped to the index key by using a space-filling curve value, the index key representing a block within the data space that intersects the spatial data object; and
determining, by the processor of the computing system, spatial data objects in the data space upon receiving a query on the spatial data objects.

US Pat. No. 10,394,786

SERIALIZATION SCHEME FOR STORING DATA AND LIGHTWEIGHT INDICES ON DEVICES WITH APPEND-ONLY BANDS

Futurewei Technologies, I...

1. A method implemented by a network element (NE) implemented as a storage device, comprising:receiving, by a receiver of the NE, a plurality of data records;
receiving, by the receiver, a plurality of attributes describing aspects of the data records;
storing, by a memory of the NE, the data records in data segments in a data band of the memory;
determining, by a processor of the NE, a descriptor interval for each of the data segments, the descriptor interval comprising a minimum descriptor for each data segment and a maximum descriptor for each data segment, the minimum descriptor being a minimum value for an attribute, and the maximum descriptor being a maximum value for the attribute;
composing, by the processor, a lightweight index for the data segments, the lightweight index comprising the minimum descriptor for each data segment and the maximum descriptor for each data segment;
appending, by the processor, the lightweight index to the data segments in the data band; and
transmit, by a transmitter coupled to the processor, the lightweight index to an index server to respond to a query for one of the data records.

US Pat. No. 10,394,785

METHOD AND/OR SYSTEM FOR TRANSFORMING BETWEEN TREES AND ARRAYS

Robert T. and Virginia T....

1. A method, comprising:accessing instructions from one or more physical memory devices for execution by one or more processors; executing instructions accessed from the one or more physical memory devices by the one or more processors;
storing, in at least one of the physical memory devices, signal values resulting from having executed the instructions on the one or more processors;
wherein the accessed instructions to transform between a tree and an array of numerical signal values; and wherein executing the transformation instructions further comprising:
transforming the tree to the array of numerical signal values, based at least in part on a unique mapping between tree structures and numerical signal values, the array of numerical signal values comprising one or more rows and columns of numerical signal values and an associated index for the one or more rows and columns of numerical signal values;
performing manipulation of the tree, wherein the performing manipulation of the tree comprises processing the array of numerical signal values to yield an updated array of numerical signal values, the updated array of numerical signal values utilizing less storage space in the one or more physical memory devices than the array of numerical signal values;
storing the updated array of numerical signal values in the one or more physical memory devices; and
generating a resulting tree, wherein the generating the resulting tree comprises transforming the updated array of numerical signal values to an updated tree, based at least in part on the unique mapping between the tree structures and numerical signal values.

US Pat. No. 10,394,784

TECHNOLOGIES FOR MANAGEMENT OF LOOKUP TABLES

Intel Corporation, Santa...

1. An apparatus to be implemented as a node in a cluster of a plurality of nodes, the apparatus comprising:a memory to store two versions of a global lookup table (GT) including an online version of the GT and an offline version of the GT, wherein the GT maps keys to values of key-value pairs and is replicated across each node in the cluster, and the node is permitted to modify a first portion of the offline version of the GT at the node; and
a GT manager to determine whether a new value is to be stored in a key-value pair in the first portion, update the key-value pair in the offline version of the GT of the node with the new value when the new value is to be stored in the key-value pair in the first portion, update the online version of the GT of the node based on the offline version of the GT of the node, and update the online version of the GT of the node based on an obtained key-value pair when the new value is to be stored in a second portion of the GT that the node is not permitted to modify, wherein the obtained key-value pair indicates the key and the new value.

US Pat. No. 10,394,783

PARALLEL BUILD OF NON-PARTITIONED JOIN HASH TABLES AND NON-ENFORCED N:1 JOIN HASH TABLES

International Business Ma...

1. A method for creating a compact hash table comprising:a thread executing using a processor for scanning a subset of keys and values, and for each key, performing a hash operation and inserting hashed keys into a bitmap;
determining cumulative population counts of keys and values within the bitmap;
repeating scanning of the subset of the keys and values;
inserting the keys and values into a compacted array using the cumulative population counts; and
creating a compact hash table comprising the bitmap and the compacted array.

US Pat. No. 10,394,782

CHORD DISTRIBUTED HASH TABLE-BASED MAP-REDUCE SYSTEM AND METHOD

UNIST (ULSAN NATIONAL INS...

1. A chord distributed hash table based MapReduce system comprising:multiple servers including file systems and in-memory caches storing data based on a chord distributed hash table; and
a job scheduler managing the data stored in the file systems and the in-memory caches in a double-layered ring structure, the job scheduler, when receiving a data access request for a specific file from an outside, allocating MapReduce tasks to servers that store the file for which the data access request has been received among the multiple servers, and outputting a result value obtained by performing the MapReduce tasks in response to the data access request,
wherein the in-memory cache stores a hash key corresponding to data by using the chord distributed hash table, and after assigning a preset hash key range to the in-memory cache, stores a hash key included in the hash key range and data corresponding to the hash key.

US Pat. No. 10,394,781

SYNCHRONIZATION OF OFFLINE DATA

SAP SE, Walldorf (DE)

1. A method for synchronizing data records in a backend database coupled to a backend server and data records in a client database coupled to a client computing device, each database including a respective data record under a same data record name, the method comprising:generating, at the backend server and during each of a plurality of periodic hash-computation time periods, a hash value of each of a plurality of backend data records, wherein the backend server is configured to store data for the plurality of the backend data records without storing an associated time stamp indicative of a time the data is stored, wherein the start of each periodic hash-computation time period is scheduled to minimize disruptions due to computational loading of the backend server;
storing, at the backend server, a cached administrative record for each of the plurality of backend data records, each cached administrative record including the generated hash value and a hash time stamp of the time at which the hash value was generated;
receiving, at the backend server and from the client computing device, a client data record name and a client data record hash value, the client data record hash value being generated by the client computing device based on a client data record associated with the client data record name;
initiating, at the backend server and in response to receiving the client data record name and the client data record hash value from the client computing device, synchronization, including:
retrieving, at the backend server, a cached administrative record for a backend data record with a same name as the received client data record name;
determining, at the backend server and based on the hash time stamp in the retrieved cached administrative record, whether the hash value in the retrieved cached administrative record was generated after the start of the current hash-computation time period;
when the hash value in the retrieved cached administrative record is determined to be generated after the start of the current hash-computation time period, determining whether the received client data record hash value is the same as the hash value in the retrieved cached administrative record, and when the hash values are the same, determining that there is no need to send the backend data record associated with the retrieved cached administrative record to the client computing device.

US Pat. No. 10,394,780

DETECTING INTERESTING DECISION RULES IN TREE ENSEMBLES

International Business Ma...

1. A method, in a data processing system, for detecting interesting decision rules from a set of decision rules in a tree ensemble, the method comprising:traversing each tree in the tree ensemble in order to assign each individual data record from a set of data records in an evaluation data set to an identified leaf node in a set of leaf nodes in each tree;
determining predicted values defined by the tree ensemble based on predictions provided by each leaf node to which each individual data record is assigned;
determining interesting sub-indices for decision rules from the set of decision rules corresponding to the leaf nodes in the tree ensemble, wherein determining the interesting sub-indices for decision rules corresponding to the leaf nodes in the tree ensemble for categorical targets comprises:
identifying a proportion of data records P(R(t)) determined by the leaf node t where the decision rule is accurate, R(t) being the event that the decision rule based on the node t is accurate;
identifying a proportion of data records P(E(t)) determined by the leaf node t where the tree ensemble model is accurate, E(t) being an event that the ensemble prediction is accurate based on a data record determined by node t;
determining a proportion P(?(t)) that the ensemble prediction is inaccurate based on a data record determined by node t by defining P(?(t))=1?P(E(t));
identifying a proportion of data records P(?(t)R(t)) determined by the node t that are predicted accurately b both the ensemble model and the decision rule;
identifying a proportion of data records P(?(t)R(t)) determined by the node t that are predicted inaccurately by both the ensemble model and the decision rule;
determining a first sub-index of interestingness I1t based on prediction agreement between the ensemble model and the decision rule as I1t=P(E(t)R(t))+P(?(t)R(t));
determining a second sub-index of interestingness I2t on the decision rule accuracy as I2t=P(R(t)); and
determining a third sub-index of interestingness I3t on the ensemble model accuracy as I3t=P(E(t));
for each decision rule corresponding to the leaf nodes in the tree ensemble, combining the sub-indices into interestingness index It;
ranking the decision rules corresponding to the leaf nodes in the tree ensemble according to the associated value of the interestingness index It; and
reporting a subset of the decision rules corresponding to the leaf nodes in the tree ensemble in order to provide a notification of the interesting decision rules in the tree ensemble.

US Pat. No. 10,394,779

DETECTING INTERESTING DECISION RULES IN TREE ENSEMBLES

International Business Ma...

1. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:traverse each tree in a tree ensemble in order to assign each individual data record from a set of data records in an evaluation data set to an identified leaf node in a set of leaf nodes in each tree;
determine predicted values defined by the tree ensemble based on predictions provided by each leaf node to which each individual data record is assigned;
determine interesting sub-indices for decision rules from a set of decision rules corresponding to the leaf nodes in the tree ensemble, wherein the computer readable program to determine the interesting sub-indices for decision rules corresponding to the leaf nodes in the tree ensemble for categorical targets further causes the computing device to:
identify a proportion of data records P(R(t)) determined by the leaf node t where the decision rule is accurate, R(t) being the event that the decision rule based on the node t is accurate;
identify a proportion of data records P(E(t) determined by the leaf node t where the tree ensemble model is accurate, E(t) being an event that the ensemble prediction is accurate based on a data record determined by node t;
determine a proportion P(?(t)) that the ensemble prediction is inaccurate based on a data record determined by node t by defining P(?(t))=1?P(E(t));
identify a proportion of data records P(E(t)R(t))determined by the node t that are predicted accurately by both the ensemble model and the decision rule;
identify a proportion of data records P(?(t)(R(t)) determined by the node t that are predicted inaccurately by both the ensemble model and the decision rule;
determine a first sub-index of interestingness I1t based on prediction agreement between the ensemble model and the decision rule as I1t=P(E(t)R(t))+P(?(t)R(t));
determine a second sub-index of interestingness I2t on the decision rule accuracy as I2t=P(R(t));and
determine a third sub-index of interestingness I3t he ensemble model accuracy as I3t=P(E(t));
for each decision rule corresponding to the leaf nodes in the tree ensemble, combine the sub-indices into interestingness index It;
rank the decision rules corresponding to the leaf nodes in the tree ensemble according to the associated value of the interestingness index It; and
report a subset of the decision rules corresponding to the leaf nodes in the tree ensemble in order to provide a notification of the interesting decision rules in the tree ensemble.

US Pat. No. 10,394,778

MINIMAL REPRESENTATION OF CONNECTING WALKS

1. A computer-implemented method for representing all the edges in an original path in a graph of nodes as an abbreviated path, the method comprising a computing device:determining an acyclical collection of edges that collectively reach all nodes within the graph, wherein the edges in the acyclical collection are defined as primary edges, and all edges in the graph other than primary edges are defined as secondary edges;
identifying an original path between a first node of the graph and a second node of the graph, wherein the original path includes one or more primary edges and one or more secondary edges;
representing the original path as an abbreviated path, said abbreviated path including the first node, the second node, and all the secondary edges from the original path, but excluding one or more of the primary edges from the original path;
deriving the primary edges in the original path that were excluded in the abbreviated path; and
reconstructing the original path from the abbreviated path based on the derived primary edges.

US Pat. No. 10,394,777

FAST ORTHOGONAL PROJECTION

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:obtaining a plurality of content items;
extracting a plurality of features from each of the plurality of content items;
generating a feature vector for each of the extracted features in order to create a search space;
generating a series of element matrices based upon the generated feature vectors, wherein each element matrix of the series of element matrices is associated with one or more relationships;
enhancing the search space at least in part by transforming the series of element matrices into a structured matrix such that the transformation preserves the one or more relationships associated with each element matrix of the series of element matrices;
receiving a search object;
searching the enhanced search space based on the received search object; and
providing one or more links to one or more content items that are responsive to the search object.

US Pat. No. 10,394,776

WARNING SYSTEM FOR INFECTIOUS DISEASES AND METHOD THEREFOR

BlueDot Inc., Toronto (C...

1. A method for preventing the spread of global infectious diseases across a plurality of areas, the method comprising:providing on a non-transitory computer readable medium a global pathogen risk factors database having data stored therein related to local area vulnerability of individual human pathogens across said plurality of areas;
providing on the non-transitory computer readable medium a global pathogen activity database having data stored therein related to the activity of said individual human pathogens in said plurality of areas;
providing on the non-transitory computer readable medium a global transport database having data stored therein related to travel patterns in across said plurality of areas;
processing, by a computer system, data on said global pathogen risk factors database said global pathogen activity database and said global transport database to generate a pathogen vulnerability index, a pathogen activity index and a transportability index;
modeling, by said computer system, each of said plurality of areas as a spatial unit, and storing on the non-transitory computer readable medium a unique spatial unit for each of said plurality of areas having at least one airport or seaport; said spatial unit weighted by traffic volume of said at least one airport or seaport;
processing, by said computer system, each of said pathogen vulnerability index, said pathogen activity index, and said transportability index to generate a risk indicator indicative of the local area risk of individual global infectious diseases; and
providing said risk indicator to at least one of said plurality of areas, so that proactive measures are taken to prevent or mitigate said global infectious diseases to said at least one of said plurality of areas.

US Pat. No. 10,394,775

ORDER CONSTRAINT FOR TRANSACTION PROCESSING WITH SNAPSHOT ISOLATION ON NON-TRANSACTIONAL NOSQL SERVERS

INTERNATIONAL BUSINESS MA...

1. A method of managing a commitment time comprising:receiving, with at least a transaction management server in an NoSQL environment, communications related to a first transaction from at least a first client, and communications related to a second transaction from at least a second client;
determining, with the transaction management server, when the first client reads a value in the first transaction that is being updated by the second client in the second transaction whether the second transaction has been committed; and
applying, with the transaction management server, a constraint provided by a commit timestamp to the second client which causes the second client to commit after the start time of the first transaction in response to the first client reading the value before the second transaction has been committed.

US Pat. No. 10,394,774

DETERMINING WHEN A CHANGE SET WAS DELIVERED TO A WORKSPACE OR STREAM AND BY WHOM

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:storing, using a processor, to a functional data structure a plurality of events associated with a workspace or stream, each of the plurality of events comprising at least an indication of when an operation in the workspace or stream occurred and who performed the operation;
receiving a user input performing an operation to move a pointer of the workspace or stream from a first node of a change set history tree to a second node of the change set history tree;
identifying a change set that is of interest, wherein the change set that is of interest is incorporated into the workspace or stream responsive to the user input performing the operation to move the pointer of the workspace or stream from the first node of the change set history tree to the second node of the change set history tree;
identifying as a subject event a particular event stored in the functional data structure;
identifying as a previous event a particular event stored in the functional data structure that precedes the subject event;
identifying a set of nodes of a change set history tree corresponding to the subject event which are not present in a set of nodes of a change set history tree corresponding to the previous event, each node representing a change set delivered to the workspace or stream, and determining whether the set of nodes corresponding to the subject event, which are not present in the set of nodes of the change set history tree corresponding to the previous event, includes a node representing the change set that is of interest;
responsive to determining that the change set of interest is not included in the set of nodes corresponding to the subject event, which are not present in the set of nodes of a change set history tree corresponding to the previous event, until a set of nodes including the change set of interest is identified, recursively:
re-identifying as the subject event the event currently identified as the previous event and identifying as the previous event a particular event stored in the functional data structure that precedes the re-identified subject event; and
identifying a corresponding set of nodes of the change set history tree corresponding to the subject event which are not present in the set of nodes of a change set history tree corresponding to the previous event, and determining whether the set of nodes corresponding to the subject event, which are not present in a set of nodes of a change set history tree corresponding to the previous event, includes a node representing the change set that is of interest; and
responsive to determining that the corresponding set of nodes includes the node representing the change set that is of interest, identifying the subject event as an event that added the change set of interest to the workspace or stream and retrieving from the subject event the indication of when the operation represented by the event occurred and who performed the operation; and
outputting the indication of when the operation represented by the event occurred and who performed the operation.

US Pat. No. 10,394,772

DATABASE CAPACITY ESTIMATION FOR DATABASE SIZING

International Business Ma...

1. A method for sizing databases, the method comprising:receiving, by one or more processors, an input value of each characteristic of multiple characteristics pertaining to utilization of multiple databases in a computer system;
identifying, by the one or more processors, multiple patterns of historical capacity usage by the multiple databases, wherein the multiple patterns are statistically significant for the multiple characteristics due to the multiple databases including the input values, and wherein the capacity usage is memory usage or central processing unit (CPU) usage;
computing, for each pattern, by the one or more processors, a weighted value of capacity, usage (WCU) according to WCU=ACP*FC*PC, wherein ACP=an average value of historical capacity points for each pattern, wherein FC=fraction of the characteristics associated with each pattern, and wherein PC=a fraction of the multiple databases used for each pattern;
computing, by the one or more processors, a total value of capacity usage as a sum of the weighted values of capacity usage;
sizing, by the one or more processors, one or more current databases via utilization of the computed total value of capacity usage; and
creating, by the one or more processors, a virtual machine or a new server of the computer system, wherein the virtual machine or new server comprises the sized one or more current databases.

US Pat. No. 10,394,771

USE OF SEARCH TEMPLATES TO IDENTIFY SLOW INFORMATION SERVER SEARCH PATTERNS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method within an information server for identifying efficiency of search templates used to search an information source, comprising:receiving a first search request generated using a first search template;
receiving a second search request different from the first search request and generated using a second search template;
performing, using a search engine and based upon the received first search request, a first search on the information source that produces first search results;
performing, using the search engine and based upon the received second search request, a second search on the information source that produces second search results different from the first search results;
updating, based upon the first search results a result associated with the first search, a first statistical record associated with the first search template;
updating, based upon the second search results a result associated with the second search, a second statistical record associated with the second search template; and
ranking efficiency of the first and second search templates based upon the first and second statistical records, wherein
the first statistical record includes results from a plurality of searches performed using search requests generated using with the first search template, and
the second statistical record includes results from a plurality of searches performed using search requests generated using with the second search template, wherein
the first search request and the second search request are separately received by the information server,
the first statistical record includes a first search template identifier that identifies the first search template,
the second statistical record includes a second search identifier that identifies the second search template.

US Pat. No. 10,394,770

METHODS AND SYSTEMS FOR IMPLEMENTING A DATA RECONCILIATION FRAMEWORK

General Electric Company,...

1. A computer system implementing a data reconciliation framework, the computer system configured to:receive core data, the core data comprising a plurality of data records associated with at least two assets;
receive a system model, the system model comprising context data indicating at least one characteristic of the at least two assets;
execute a configuration operation of a data validation process based on the system model, wherein the configuration operation comprises selecting at least one heuristic included in the system model, the selection based on the at least one characteristic;
execute the data validation process to identify at least one missing, inconsistent, or incomplete record among the plurality of data records;
determine at least one data reconciliation technique from a plurality of data reconciliation techniques based on the system model; and
generate a consistent data set by applying the at least one data reconciliation technique to the core data to impute the at least one missing data record or remove the at least one inconsistent or the at least one incomplete record.

US Pat. No. 10,394,769

ADAPTIVE QUERY PROCESSOR FOR QUERY SYSTEMS WITH LIMITED CAPABILITIES

International Business Ma...

1. A method operating in an adaptive query processor electronically coupled via a communications network to a local computing device and to at least one limited query system having a database of records with a limited maximum number of records returned based on a query, the method comprising:identifying a maximum number of records deliverable by the at least one limited query system in response to a query from the query processor;
receiving an initial query from the local computing device, wherein the initial query has a first range;
transmitting the initial query to the at least one limited query system;
receiving results of the initial query from the at least one limited query system, the results including a number of records identified by the at least one limited query system in response to the initial query;
based upon the number of records being less than the maximum number of records, transmitting to the local computing device the results of the initial query, otherwise performing an adaptive query process by dividing the initial query into a set of two or more subqueries in which each of the subqueries has a second range less than the first range and performing each of the following:
a) transmitting each of the subqueries to the at least one limited query system;
b) receiving results of each of the subqueries including a number of subquery records identified by the at least one limited query system in response each of the subqueries; and
c) based upon the number of subquery records identified by the at least one limited query system in response any one of the subqueries being equal to the maximum number of records, dividing the subquery into another set of two or more subqueries in which each of the subqueries has a third range less than the first range of the subquery, and repeating steps a to c, otherwise transmitting all of subquery records as a response to the initial query.

US Pat. No. 10,394,768

SELECTIVE DATA MIGRATION ON SCHEMA BREAKING CHANGES

Microsoft Technology Lice...

1. A method, comprising:receiving an update for an application executing on a computing device;
determining whether the update for the application includes an updated data schema; and
when it is determined that the update for the application includes the updated data schema:
determining a current version of a data schema used by the application before the application was updated;
determining which portions of data in the current version of the data schema are to be updated to comply with the updated data schema;
determining two or more operations to be performed on the data to convert the data from the current data schema to the updated data schema, wherein each of the two or more operations are associated with different data schemas; and
performing the two or more operations on the data in a single conversion operation to change the data from the current data schema to the updated data schema.

US Pat. No. 10,394,766

INTELLIGENT DATA ROUTING AND STORAGE PROVISIONING

INTERNATIONAL BUSINESS MA...

1. A method for routing data to storage comprising:receiving, from a remote computing device, a user request to store a file and the file to be stored;
parsing both the request and the file to be stored into data comprising raw data and explicit metadata describing both the request and the file to be stored;
determining implicit metadata from the explicit metadata;
validating the explicit metadata and the implicit metadata by comparing to schema stored in storage resources that include predefined configurations of processors, memories, storage devices and data structures;
determining a storage resource based on the explicit metadata, the implicit metadata, and a registry of the storage resources,
wherein the registry of storage resources includes information describing characteristics of available storage resources and the determining comprises comparing the implicit metadata and the explicit metadata to the characteristics of the available storage resources, wherein the characteristics of the available storage resources are regularly updated, and wherein the explicit metadata comprises information provided by the file to be stored and information provided by the user in the request;
routing the file to be stored to the determined storage resource; and
tracking access history and patterns to re-determine a storage location based on the access history and patterns,
wherein the determining implicit metadata and the determining the storage resource are performed by a computing device comprising at least one processor.

US Pat. No. 10,394,765

SAVING FILES FROM THIRD-PARTY SYSTEMS DIRECTLY TO A CLOUD STORAGE SYSTEM

GOOGLE LLC, Mountain Vie...

1. A method for saving a file stored on a third-party system directly to a cloud storage system, the method comprising:receiving, at a cloud storage server of the cloud storage system, a save request from the third party system,
wherein the save request is generated in response to a user selecting, via a user interface that is provided by the third-party system and presented on a client computer, the file from a plurality of files that are stored on the third-party system and are presented in the user interface provided by the third-party system for selection by the user, the file to be saved directly from the third-party system to the cloud storage server in association with a user account of the user on the cloud storage system, the cloud storage server storing a plurality of other files of the user,
wherein the save request comprises a file identifier of the file and information identifying the user,
wherein the information identifying the user allows access to a user account of the user on the cloud storage system without use of the client computer as intermediary service, and
wherein the third-party system stores the file associated with the file identifier;
adding the file to the plurality of other files stored at the cloud storage server in association with the user account of the user on the cloud storage system and provided for collaborative editing between the user and other users of the cloud storage system, wherein adding the file comprises:
authenticating the save request received from the third party system, based at least in part on the information identifying the user account of the user on the cloud storage system;
creating a copy of the file at the cloud storage server; and
associating the copy of the file with the user account of the user on the cloud storage system; and
recording an amount of data provided by the third-party system for storage on the cloud storage server for the user, the data provided by the third-party system for storage on the cloud storage comprising the file.

US Pat. No. 10,394,763

METHOD AND DEVICE FOR GENERATING PILEUP FILE FROM COMPRESSED GENOMIC DATA

SAMSUNG ELECTRONICS CO., ...

1. A computer-implemented method of generating a pileup file, the method comprising the steps, implemented in a processor, of:receiving a reference based compression file comprising a plurality of pieces of read data that are compressed;
partially decompressing the plurality of pieces of read data to acquire a differential string associated with the plurality of pieces of read data; and
generating the pileup file by decoding the differential string based on a plurality of conversion rules, by:
determining, from among a plurality of segments of the differential string, whether a position of a segment that is processed to generate the pileup file is a first position; and
upon determining that the position of the segment is the first position, inserting a start position of one of the plurality of pieces of read data in a position field of the pileup file, inserting a base of a reference corresponding to the start position in a reference field of the pileup file, inserting, in a read base information field of the pileup file, a first symbol indicating a start of the one of the plurality of pieces of read data, and inserting a quality value of the one of the plurality of pieces of read data as an ASCII value of a read quality incremented by a predefined value.

US Pat. No. 10,394,762

DETERMINING DATA REDUNDANCY IN GRID ENCODED DATA STORAGE SYSTEMS

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:generating a grid of shards, the grid of shards indexed by row and column and comprising a set of data shards and a set of derived shards, the set of derived shards comprising a set of horizontally-derived shards and a set of vertically-derived shards, the grid of shards based at least in part on a first redundancy coding scheme and a second redundancy coding scheme, the first redundancy coding scheme and the second redundancy coding scheme based at least in part on a minimum number of partitions associated with a set of data items stored in the grid of shards such that:
each shard of the grid of shards has a corresponding first row and corresponding first column and is configured such that:
the shard is reproducible from other shards associated with the first row and reproducible from other shards associated with the first column;
if the shard is a horizontally-derived shard of the set of horizontally-derived shards, the shard is reproducible based at least in part on a set of data shards associated with the first row using the first redundancy coding scheme; and
if the shard is a vertically-derived shard of the set of vertically-derived shards, the shard is reproducible based at least in part on a set of shards associated with the first column using the second redundancy coding scheme; and
each shard of the grid of shards has a corresponding partitioning of the shards of the grid of shards such that the shard is reproducible from each of at least three partitions that do not contain the shard, the partitioning including:
a first partition that contains a plurality of shards of the grid of shards with a row equal to the first row and a column different from the first column;
a second partition that contains a plurality of shards of the grid of shards with a column equal to the first column and a row different than the first row; and
a third partition that contains a plurality of shards of the grid of shards with a row different than the first row and a column different than the first column.

US Pat. No. 10,394,761

SYSTEMS AND METHODS FOR ANALYZING AND STORING NETWORK RELATIONSHIPS

SKROOT LLC, Atlanta, GA ...

1. A computer-implemented method, the method comprising:receiving, by a computing device comprising at least one processor, a resource retrieval request from a requesting device, wherein the resource retrieval request is associated with a plurality of attributes of content;
identifying, by the at least one processor, a plurality of attribute digests that is obtained by applying a one-way function to each of the plurality of attributes, each attribute digest of the plurality of attribute digests corresponding to a respective attribute of the plurality of attributes, the plurality of attribute digests forming a composite digest;
matching, by the at least one processor, the plurality of attribute digests with a respective set of attribute digests associated with each of a plurality of network resources stored on storage accessible by the computing device,
computing, by the at least one processor, a respective ranking score for each of the plurality of network resources, wherein computing the respective ranking score for a particular network resource comprises:
determining a total number of individual digests concatenated together in the composite digest;
determining a number of individual matching digests between the composite digest and a particular respective set of attribute digests associated with the particular network resource; and
computing the respective ranking score for the particular network resource based at least in part on the total number of individual digests in the composite digest and the number of individual matching digests;
ordering, by the at least one processor, the plurality of network resources based at least in part on the respective ranking score for each network resource; and
returning, by the computing device to the requesting device, a respective identifier enabling access to each of the plurality of network resources and the ordering of the plurality of network resources in response to receiving the resource retrieval request.

US Pat. No. 10,394,760

BROWSABLE DATA BACKUP

Western Digital Technolog...

1. A data storage system comprising:a non-volatile memory comprising:
a browsable partition that is browsable by a native operating system of a host device; and
a container partition that is not browsable by the native operating system of the host device;
a controller;
a memory interface communicatively coupling the controller to the non-volatile memory; and
a host interface configured to communicatively couple the controller to the host device;
wherein the controller is configured to backup a file in the non-volatile memory at least in part by:
receiving the file from the host device over the host interface, the file including a plurality of chunks of data;
in response to said receiving the file, storing the plurality of chunks of data in the browsable partition of the non-volatile memory using the memory interface;
determining that one or more of the plurality of chunks of data has been modified;
determining a new chunk associated with each of the one or more modified chunks;
storing the one or more new chunks in the browsable partition of the non-volatile memory using the memory interface; and
storing the one or more modified chunks in the container partition of the non-volatile memory using the memory interface; and
wherein the controller is further configured to reconstruct the file at least in part by:
receiving, from the host device over the host interface, a request to restore a previous version of the file;
locating, using a file location table, the one or more modified chunks stored in the container partition and one or more non-modified chunks stored in the browsable partition, wherein:
the file location table includes hash values associated with chunks of data; and
the hash values indicate storage locations, within the non-volatile memory, of the respective chunks of data;
combining the one or more modified chunks with the one or more non-modified chunks to generate a restored file; and
providing the restored file to the host device over the host interface.

US Pat. No. 10,394,759

SYSTEM AND METHOD TO CONFIGURE DISTRIBUTED MEASURING DEVICES AND TREAT MEASUREMENT DATA

AirMagnet, Inc., Santa C...

1. A server to configure a measuring device, the server comprising:a memory configured to store instructions;
at least one processing device disposed in communication with the memory, wherein the at least one processor upon execution of the instructions is configured to:
receive a configuration request that specifies configuration criteria for configuring a measuring device to perform a test associated with monitoring a network, the configuration criteria including configuration instructions, analysis instructions, visualization instructions, and pre-analysis instructions specifying statistical aggregation to be performed on measurement data obtained by performing the test prior to storage of the measurement data in a measurement database;
submit the configuration instructions to the measuring device to configure the measuring device to perform at least one of detection and measurements associated with monitoring the network and output measurement data in accordance with the configuration instructions;
receive the measurement data output by the measuring device;
perform pre-analysis processing on the measurement data in accordance with the pre-analysis instructions;
selectively store, as the measurement data, the measurement data received and/or the results of the pre-analysis processing operations;
process the measurement data stored based on the analysis instructions; and
output visualization data corresponding to the processed measurement data to a display device based on the visualization instructions.

US Pat. No. 10,394,757

SCALABLE CHUNK STORE FOR DATA DEDUPLICATION

Microsoft Technology Lice...

1. A method, comprising:parsing a data stream into a sequence of data chunks;
determining whether any of the sequence of data chunks are stored in a chunk container that includes a plurality of data chunks;
storing, in a contiguous arrangement and in a same sequence in the chunk container as in the data stream, data chunks of the sequence of data chunks determined to not be stored in the chunk container;
generating a stream map that is a data structure that describes a mapping between a structure of the data stream and an optimized structure of the data chunks stored in the chunk container to enable data chunks referenced in the stream map to be located in the chunk container, the optimized structure including data chunks that have been deduplicated, the stream map including metadata for each data chunk of the sequence; and
including, in the metadata for each of the data chunks stored in the contiguous arrangement, a same locality indicator value that indicates the contiguous arrangement and indicates that each of the data chunks stored in the contiguous arrangement is associated with the generated stream map.

US Pat. No. 10,394,755

INFORMATION PRESENTATION METHOD AND APPARATUS

ALIBABA GROUP HOLDING LIM...

1. An information presentation method, comprising:displaying a digital object identifier (“DOI”) in a user interface;
determining original information contained in the DOI;
determining profile information corresponding to the DOI according to the original information;
determining a range of horizontal coordinates and a range of vertical coordinates specifying a first region of the user interface in which the DOI is located;
receiving an input interacting with the user interface, wherein the input comprises a designated operation for the DOI within the range of horizontal coordinates and the range of vertical coordinates; and
when it is detected that the designated operation is executed for the DOI, presenting the profile information corresponding to the DOI in a second region of the user interface, wherein the second region is outside the range of horizontal coordinates and the range of vertical coordinates.

US Pat. No. 10,394,754

INDEXING MULTIPLE TYPES OF DATA TO FACILITATE RAPID RE-INDEXING OF ONE OR MORE TYPES OF DATA

International Business Ma...

1. A computer implemented method for performing searches by dynamically re-indexing metadata associated with content in a plurality of documents, each of the documents having a unique document identifier, the method comprising:indexing the content of the plurality of documents to generate an inverted content index;
indexing the metadata of the plurality of documents to generate a first metadata index for each of a plurality of different metadata fields for the plurality of documents, each first metadata index for a corresponding metadata field being an inverted index that is parallel with the content index and refers to the same documents as the content index, wherein indexing settings are specified for each of the plurality of different metadata fields to indicate treatment of data in the metadata fields for indexing, and wherein the indexing settings include a parameter for one or more from a group of case sensitivity, tokenization, and hyphenation;
storing the metadata of the plurality of documents in a local metadata store in native form and cross referenced with the unique document identifiers;
re-indexing the metadata of the plurality of documents from the metadata in native form in the local metadata store to generate a second metadata index for a specified one of the metadata fields separately and independently from the first metadata index for the specified field while performing searches using the first metadata index for the specified field and maintaining the first metadata index for the specified field separate from the second metadata index for the specified field, the second metadata index for the specified field being an inverted index that is parallel with the content index and refers to the same documents as the content index, wherein the re-indexing of the metadata is performed from the metadata in native form in the local metadata store without processing the plurality of documents and results in different indexing settings for the second metadata index for the specified field in relation to the first metadata index for the specified field; and
performing searches with the second metadata index by:
replacing the first metadata index for the specified field with the second metadata index and discarding the first metadata index for the specified field;
applying a query to the parallel content index and each metadata index to produce search results from each of the content and metadata indexes; and
merging the search results from the content index and each metadata index to produce combined search results for the query.

US Pat. No. 10,394,753

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 plurality of arithmetic logic unit (ALU) blocks configured to operate in parallel, each ALU block being configured to selectively execute operations based on an output of a conditional masking logic of the internal processor, wherein the output of the conditional masking logic is controlled by the first signal and second signal, wherein each ALU block of the plurality of ALU blocks comprises a counter to count a number of first conditional instructions and then a number of second conditional instructions.

US Pat. No. 10,394,752

METHOD AND SYSTEM FOR ENUMERATING DIGITAL CIRCUITS IN A SYSTEM-ON-A-CHIP (SOC)

INTERNATIONAL BUSINESS MA...

1. A method, comprising:holding output signals of a first enumerable instance for a plurality of full cycles thereby allowing each successive enumerable instance of a plurality of enumerable instances to be instantiated with an ENABLE signal, asynchronously, without affecting incrementing of the each successive enumerable instance;
providing an enumeration value at the first enumerable instance that uniquely identifies the first enumerable instance;
passing the enumeration value to a next enumerable instance of the plurality of enumerable instances; and
incrementing the enumeration value to uniquely identify the next enumerable instance, wherein:
the enumeration value is provided by signaling protocol, independent of the ENABLE signal reaching each enumerable instance of the plurality of enumerable instances across an asynchronous boundary crossing; and
the enumeration value is passed through a serialized incrementer of each enumerable instance of the plurality of enumerable instances, provided in a serial connection,
wherein holding the output signals comprises asserting a FIRST_DETECT signal at an output port of the first enumerable instance in response to the ENABLE signal transitioning from a value of 0 to 1.

US Pat. No. 10,394,751

PROGRAMMED INPUT/OUTPUT MODE

Solarflare Communications...

1. A data processing system comprising:a host computing device comprising at least one processor, the host computing device being configured to run an application;
a network interface device arranged to couple the host computing device to a network, the network interface device comprising a plurality of buffers for receiving data from the host computing device for transmission over the network;
wherein the processor is configured to execute instructions to transfer the data for transmission to one of the plurality of buffers; and the data processing system further comprises:
an indicator store configured to store a doorbell indicating that at least some of the data for transmission has been transferred to the one of the plurality of buffers, wherein the doorbell is associated with a descriptor identifying the one of the plurality of buffers,
wherein the network interface device is configured to receive a write of the doorbell from the host computing device, and in response to the writing of the doorbell:
access the one of the plurality of buffers identified by the descriptor; and
transmit, over the network, the data in the one of the plurality of buffers identified by the descriptor.

US Pat. No. 10,394,750

DISPLAYING CALENDAR INFORMATION IN A HORIZONTAL BAR

International Business Ma...

1. A method for improving the usability of a calendar application, the method comprising:retrieving calendar information from one or more of the following systems: electronic mail, social networking, instant messaging, a wiki, a project management system and a customer relationship management system, wherein said calendar information comprises meetings, appointments, vacations and tasks;
evaluating said retrieved calendar information with respect to a set of presentation rules, wherein said set of presentation rules determines how said calendar information is to be displayed on a user interface of a client device;
presenting said retrieved calendar information in a horizontal bar in said calendar application over a duration of time in relation to said set of presentation rules;
detecting a current time;
automatically scrolling to said current time in said horizontal bar such that items in said horizontal bar that occur prior to said current time are less visible than items in said horizontal bar that occur after said current time; and
displaying an indication on said user interface of said client device when a meeting is to occur within a designated amount of time from said detected current time thereby drawing a user's attention to said meeting, wherein said indication comprises a countdown to a start of said meeting.

US Pat. No. 10,394,749

ASYNCHRONOUS TRANSCEIVER FOR ON-VEHICLE ELECTRONIC DEVICE

Cypress Semiconductor Cor...

1. A device comprising:a transceiver configured to operate over a Clock Extension Peripheral Interface (CXPI) bus, wherein the transceiver comprises:
a detecting unit configured to detect a baud rate clock signal and a phase difference between the baud rate clock signal and an input data signal that was generated asynchronously from the baud rate clock signal;
a computing unit configured to compute a data capturing timing from an edge of the baud rate clock signal based the phase difference; and
a synchronization unit configured to capture a value of the input data signal at the data capturing timing and to output the captured value as an output data signal for transmission over the CXPI bus.

US Pat. No. 10,394,748

INTEGRATED CIRCUIT FOR OPERATING ON A BUS, AND METHOD FOR OPERATING THE INTEGRATED CIRCUIT

CPT Group GmbH, Hannover...

1. An integrated circuit with at least one transmission port, at least one reception port and at least one address port, the integrated circuit comprising:a memory or a memory area which includes a number of memory sectors for storing activation information, wherein the number of memory sectors is equal to a number, codable by the at least one address port, of activatable integrated circuits configurable or configured for being operated on a common bus, and
a control unit which is configured to compare the address coded by the at least one address port with an address received at the at least one reception port, and in the case of a positive comparison to write a defined bit pattern to a memory sector of the number of memory sectors that is assigned to the address, and in the case of a negative comparison to suppress a negative-acknowledgment signal at the at least one transmission port,
wherein the integrated circuit is configured to be activated by the defined bit pattern in the memory sector that corresponds to the address defined at the at least one address port, for communication with a microprocessor connected to the at least one transmission port and the at least one reception port via the common bus.

US Pat. No. 10,394,747

IMPLEMENTING HIERARCHICAL PCI EXPRESS SWITCH TOPOLOGY OVER COHERENT MESH INTERCONNECT

Mellanox Technologies Ltd...

1. A system comprises:a multicore processor device comprising:
a plurality of cores, with multiple ones of the plurality of cores each comprising
a processor; and
switching circuitry configured to couple the processor to a network among the plurality of cores to provide a coherent mesh interconnect; the system configured to:
choose coordinates according to base address range defined sets towards one or more attached peripheral serial interconnect base controllers, where each peripheral serial interconnect base controller is responsible for one wide peripheral serial interconnect base port to provide a portion of a hierarchical serial interconnect switch topology within the coherent mesh interconnect that interconnects the plurality of cores in the multi-core processor; and
route load/store transactions from the cores interconnected by the coherent mesh interconnect, towards the peripheral serial interconnect base address range sets defined addresses ranges, as memory mapped IO transactions using coherent protocol packets.

US Pat. No. 10,394,746

SYSTEM AND METHOD FOR PROVIDING NEAR STORAGE COMPUTE USING A BRIDGE DEVICE

SAMSUNG ELECTRONICS CO., ...

1. A bridge device comprising:a first interface configured to receive a first set of commands from an application running on a host computer;
one or more command processors, each of the one or more command processors being configured to translate the first set of commands and generate a second set of commands based on the first set of commands;
a second interface configured to provide the second set of commands to a data storage device; and
a computing processor configured to issue an internal command that is generated by the bridge device independently from the first set of commands to fetch data from the data storage device and write data to the data storage device in a background mode during processing at least one command of the first set of commands received from the application.

US Pat. No. 10,394,745

ADAPTER SELECTION BASED ON A QUEUE TIME FACTOR

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of a machine selecting a selected adapter among two or more adapters that perform a same function, the method comprising:generating a request, at the machine, for the function;
calculating, using a processor, a time indicator associated with each of the two or more adapters based on a respective adapter queue time factor (QTF) associated with each of the two or more adapters, the adapter QTF associated with each of the two or more adapters being a computed value; and
selecting the selected adapter and submitting one or more requests to the selected adapter of the two or more adapters to perform the function based on a comparison of the time indicator associated with each of the two or more adapters, wherein the calculating the time indicator is given by:
wheretime_indicator is the time indicator, adapter_QTF is the respective adapter QTF of the respective adapter, n is a number of the one or more requests, and queue_depth refers to a number of pending requests from the machine at the respective adapter among the two or more adapters at a time of submission of the one or more requests.

US Pat. No. 10,394,744

ADAPTER SELECTION BASED ON A QUEUE TIME FACTOR

INTERNATIONAL BUSINESS MA...

1. A machine implemented by a processor, the machine comprising:an interface configured to send a submission to a selected adapter among two or more adapters that perform a same function; and
the processor configured to:
calculate a time indicator associated with each of the two or more adapters based on a respective adapter queue time factor (QTF) associated with each of the two or more adapters, the adapter QTF associated with each of the two or more adapters being a computed value; and
select the selected adapter among the two or more adapters based on a comparison of the time indicator associated with each of the two or more adapters, wherein the processor calculates the time indicator as:

where
time_indicator is the time indicator, adapter_QTF is the respective adapter QTF of the respective adapter, n is a number of the one or more requests, and queue_depth refers to a number of pending requests from the machine at the respective adapter among the two or more adapters at a time of submission of the one or more requests.

US Pat. No. 10,394,743

INTERCHANGEABLE I/O MODULES WITH INDIVIDUAL AND SHARED PERSONALITIES

DELL PRODUCTS, L.P., Rou...

1. A method of connecting interchangeable input/output (I/O) modules having individual and shared personalities, comprising:hosting, with a generic I/O bay of a server, one or more compute nodes configured to be connected to one or more removable I/O modules; and
connecting, with a first connector of a first removable I/O module, the first I/O module to a compute node having a second connector, independent of a mid-plane of the server, wherein:
the first I/O module is oriented about a first axis;
the compute node is oriented about a second axis;
the first connector and the second connector are capable of being connected, independent of the mid-plane of the server, in a plurality of orientations; and
the first connector and the second connector comprise a pair of corresponding male and female connectors.

US Pat. No. 10,394,742

METHOD FOR DETERMINING A TYPE OF A DEVICE CONNECTED TO AN INTER-INTEGRATED CIRCUIT (I2C)

Mitac Computing Technolog...

1. A method for determining a type of a device connected to an inter-integrated circuit (I2C), the method to be implemented by a processor electrically connected to the I2C, the method comprising steps of:a) transmitting a plurality of requests to all of a plurality of bus addresses of the I2C, respectively, wherein each of the requests includes an intelligent platform management interface (IPMI) command, wherein the IPMI command of each of the requests includes a type of a read/write command, one of the bus addresses which receives the request, and a feedback request, and is free from an instruction set for a device connected to said one of the bus addresses which receives the request;
b) upon receipt of a response message that is 1 byte of data from one of the bus addresses of the I2C, determining that at least one device is currently connected to the I2C, the response message being transmitted by the at least one device in response to receiving one of the requests from said one of the bus addresses to which the at least one device is connected; and
c) according to a lookup table that includes a plurality of entries, each of which has a corresponding device type and a respective address set consisting of at least one reference address that conforms with one of the bus addresses of the I2C, determining a type of the at least one device as one of the device types in the lookup table with reference to said one of the bus addresses.

US Pat. No. 10,394,741

STORAGE DEVICE AND SERVER DEVICE

Toshiba Memory Corporatio...

1. A storage device connectable to one of a first device and a second device, comprising:a memory configured to store data;
a control circuit configured to control writing of data to the memory and reading of data from the memory;
an interface circuit that includes at least a first terminal, a second terminal, and a third terminal, the third terminal being a terminal through which a first power having a first voltage is supplied to the storage device, and
a switch control circuit configured to control switching between a connection status and a disconnection status based on statuses of the first terminal and the second terminal, the connection status representing that power corresponding to the first power is supplied to the control circuit and the memory, the disconnection status representing that the power corresponding to the first power is not supplied to the control circuit and the memory, wherein
while the storage device and the first device are connected, the first terminal has a first status, and the second terminal has a second status representing that a second power having a second voltage is supplied to the storage device therethrough, and
while the storage device and the second device are connected, the first terminal has a third status different from the first status, and the second terminal has a fourth status representing that a control signal is input from the second device to the storage device therethrough.

US Pat. No. 10,394,740

SIGNAL LINE SWITCH ARRANGEMENT WITH MULTIPLE PATHS BETWEEN A CHARGE PUMP AND A TRANSISTOR CONTROL TERMINAL

TEXAS INSTRUMENTS INCORPO...

1. An apparatus that comprises:a switch arrangement for a signal line, the switch arrangement comprising:
a transistor with a control terminal, a first current terminal, and a second current terminal;
a charge pump coupled to the control terminal of the transistor via first and second paths, wherein the first path comprises a first resistor, wherein the second path comprises a second resistor in series with a diode, and wherein the first resistor has a higher resistance value than the second resistor.

US Pat. No. 10,394,739

COMMUNICATION SYSTEM FOR IN-VEHICLE DIAGNOSTIC DATA

HONDA MOTOR CO., LTD., T...

1. A communication system comprising:a first communication apparatus connected to a first communication path and a second communication path; and
at least one second communication apparatus connected to the second communication path,
wherein the first communication apparatus includes;
a first communication unit configured to perform communication with the first communication path;
a second communication unit configured to perform communication with the second communication path; and
a control unit configured to:
receive a first frame storing a diagnosis request from the first communication path;
specify, among the at least one second communication apparatus, a second communication apparatus to process the diagnosis request;
determine whether the first communication apparatus can process the diagnosis request instead of the specified second communication apparatus;
acquire, if it is determined that the diagnosis request can be processed, a diagnosis result by processing the diagnosis request; and
transmit a second frame storing the diagnosis result to the first communication path,
wherein the first communication apparatus holds at least one of applications held in the at least one second communication apparatus, and
wherein the control unit is further configured to acquire the diagnosis result of executing the application in the first communication apparatus.

US Pat. No. 10,394,738

TECHNOLOGIES FOR SCALABLE HIERARCHICAL INTERCONNECT TOPOLOGIES

Intel Corporation, Santa...

1. A system of communicatively coupled network switches in a hierarchical interconnect network topology, the system comprising:a plurality of groups, each of the plurality of groups comprising:
a plurality of computing nodes; and
a plurality of interconnecting links, wherein the plurality of interconnecting links include one or more global links, local links, and node links;
a plurality of switches, wherein the plurality of switches includes:
a plurality of second level switches; and
a plurality of first level switches, wherein each of the plurality of first level switches is directly coupled to each of the plurality of second level switches via a corresponding local link such that the plurality of first level switches, the plurality of second level switches, and the local links form a complete bipartite graph, and wherein each of the plurality of first level switches are communicatively coupled to each of one or more of the plurality of computing nodes via a corresponding node link,
wherein each of the plurality of groups is interconnected to each of the other of the plurality of groups via a corresponding global link connected to a second level switch of one of the plurality of groups and a corresponding second level switch of another of the plurality of groups.

US Pat. No. 10,394,737

MULTICHIP PACKAGE WITH PROTOCOL-CONFIGURABLE DATA PATHS

Altera Corporation, San ...

1. An integrated circuit package, comprising:a substrate;
a first integrated circuit die mounted on the substrate; and
a second integrated circuit die mounted on the substrate, wherein the first integrated circuit die includes configurable adapter circuitry that supports a plurality of different communications protocols having different data width requirements, wherein the configurable adapter circuitry comprises a first FIFO (first-in first-out) circuit having a first data port that supports a fixed data width and a second data port that supports an adjustable data width, wherein the first FIFO circuit has a read clock input that receives a read clock signal and a write clock input that receives a write clock signal, and wherein the first FIFO circuit is operable in a first mode in which the read and write clock signals have identical frequencies and in a second mode in which the read and write clock signals have different frequencies.

US Pat. No. 10,394,736

I/O MODULE, SETTING DEVICE, AND METHOD OF BUILDING PROCESS CONTROL SYSTEM

Yokogawa Electric Corpora...

1. An I/O module comprising:a first interface including connectors and being connected to one or more field devices;
a second interface connected to a controller that controls the one or more field devices;
a third interface connected to an external setting device that outputs a setting instruction;
a setting adjustor configured to set tag information, which identifies each of the connectors, to each of the connectors based on the setting instruction input from the setting device via the third interface; and
an interceptor configured to block an instruction input from the setting device via the third interface and to connect the one or more field devices connected to the first interface with the controller connected to the second interface, based on an instruction input from the controller via the second interface, the interceptor being configured to block an instruction input from the controller via the second interface and to connect the setting device connected to the third interface with the one or more field devices connected to the first interface, based on an instruction input from the setting device via the third interface, the interceptor being configured to exclusively block the instruction input from the setting device via the third interface and the instruction input from the controller via the second interface.

US Pat. No. 10,394,735

COMPARATIVE FORWARDING CIRCUIT PROVIDING FIRST DATUM AND SECOND DATUM TO ONE OF FIRST CIRCUIT AND SECOND CIRCUIT ACCORDING TO TARGET ADDRESS

Nanya Technology Corporat...

1. A circuitry, comprising:a source circuit;
a first circuit;
a second circuit; and
a data-distributing circuit, including:
a receiving circuit configured to receive from the source circuit a first datum for the first circuit via a first front line and a second front line, and to receive from the source circuit a second datum for the second circuit via a third front line and a fourth front line; and
a forwarding circuit configured to receive one of the first datum and the second datum via a first intermediate line and a second intermediate line, to receive a target address associated with the one of the first datum and the second datum via a third intermediate line, and, according to the target address, provide the one of the first datum and the second datum to one of the first circuit and the second circuit,
wherein the forwarding circuit configured to provide the one of the first datum and the second datum to the one of the first circuit and the second circuit further comprises: the forwarding circuit configured to either provide the first datum via a first back line and a second back line to the first circuit, or to provide the second datum to the second circuit via a third back line and a fourth back line.

US Pat. No. 10,394,734

DRIVER FOR NETWORK TIMING SYSTEM

Altera Corporation, San ...

1. An electronic device, comprising:a processor supporting a device driver to perform a data packet receiving operation, wherein the device driver:
causes the processor to receive one or more data packets to a port of the processor according to a time-synchronization protocol;
causes the processor to initiate a direct memory access (DMA) feature to store data of the one or more data packets into one or more socket buffers supported by the processor, wherein the device driver polls the DMA feature for a completion status of the storing;
causes the processor to set a completion status bit when the DMA feature indicates the completion status of the storing;
causes the processor to initiate an input/output (I/O) read operation; and
causes the processor to determine a timestamp of the one or more data packets and to complete the data packet receiving operation without the device driver causing the processor to perform a polling operation or an interrupt operation to retrieve the timestamp of the one or more data packets.

US Pat. No. 10,394,733

DATA TRANSFER USING A DESCRIPTOR

INTERNATIONAL BUSINESS MA...

1. A method of operating a data processing apparatus in connection with an I/O device, the method comprising:receiving by a bus controller of the data processing apparatus a descriptor sent to the bus controller by a processor core of the data processing apparatus via a shared processor cache coupled to the bus controller, wherein based on receiving the descriptor, driven by the bus controller, the shared processor cache fetches data from a main memory coupled to the shared processor cache; and
transferring by the bus controller, operating according to the descriptor, the data from the shared processor cache coupled to the bus controller to the I/O device by operation of the bus controller according to the descriptor.

US Pat. No. 10,394,732

INTERFACE DEVICE FOR A DATA PROCESSING SYSTEM

ARM Limited, Cambridge (...

1. An interface device for a data processing system comprising:first interface circuitry to receive incoming data;
second interface circuitry to transmit processed data to a data store for storage; and
processing circuitry to generate the processed data from the incoming data, wherein the processed data has a smaller size than the incoming data, and wherein the processing circuitry comprises interrupt generation circuitry, responsive to at least one characteristic of the incoming data or the processed data, to generate and transmit an interrupt to a data processor of the data processing system, and wherein responsive to receiving the interrupt, the data processor is configured to change a power state of the data processor from a lower power, sleep state to a higher power, active state.

US Pat. No. 10,394,731

SYSTEM ON A CHIP COMPRISING RECONFIGURABLE RESOURCES FOR MULTIPLE COMPUTE SUB-SYSTEMS

Amazon Technologies, Inc....

1. A system on a chip (SoC) configured to communicate with a host system, the SoC comprising:a plurality of processing cores, wherein at least one of the plurality of processing cores is reconfigurable to function as part of a network compute subsystem of the SoC or as part of a server compute subsystem of the SoC, wherein the server compute subsystem is configured for providing compute services for the host system, the compute services requested of the host system by a client and being delivered to the client over a network, and wherein the network compute subsystem is configured for managing network traffic, over the network, for the host system and the server compute subsystem, the host system comprising a processor;
reconfigurable memory resources, wherein at least a portion of the memory resources are reconfigurable to function as part of the network compute subsystem or as part of the server compute subsystem;
a first physical layer fabric configured to function as part of the network compute subsystem and a second physical layer fabric configured to function as part of the server compute subsystem, wherein the first physical layer fabric and the second physical layer fabric are physically isolated from each other;
a management compute subsystem coupled to the server compute subsystem and to the network compute subsystem, the management compute subsystem configured for at least configuring the processing cores and the memory resources for the server compute subsystem and the network compute subsystem; and
a fabric bridge for mapping the configured processing cores and the memory resources to the first physical layer fabric or to the second physical layer fabric, the mapping comprising individually routing the processing cores and the memory resources to the network compute subsystem and the server compute subsystem according to the configuring performed by the management compute subsystem.

US Pat. No. 10,394,730

DISTRIBUTED INTERRUPT SCHEME IN A MULTI-PROCESSOR SYSTEM

Cavium, LLC, San Jose, C...

1. A system, comprising:a plurality of logic devices including a distributor and redistributors configured in a hierarchical tree structure to distribute one or more incoming interrupts to at least one of a plurality of last-level redistributors;
a plurality of processing elements, each of the processing elements having an associated interrupt bus address and including a CPU interface operatively coupled to the shared interrupt bus and a CPU core operatively coupled to the CPU interface;
a shared interrupt bus coupling the plurality of last-level redistributors and the plurality of the processing elements;
wherein each of the plurality of last-level redistributors is configured to:
transfer the one or more incoming interrupts over the shared interrupt bus based on the interrupt bus address according to a first clock domain to at least one of the plurality of the processing elements a CPU interface of which operates according to a second clock domain having a clock frequency that is different than that of the first clock domain; and
transfer data to and from the shared interrupt bus according to the clock frequency of the first clock domain, and each of the plurality of the processing elements is configured to transfer data to and from the shared interrupt bus via the processing element's CPU interface according to the clock frequency of the second clock domain.

US Pat. No. 10,394,729

SPECULATIVE AND ITERATIVE EXECUTION OF DELAYED DATA FLOW GRAPHS

1. A computer system for executing instructions for compiling a data flow graph, said data flow graph comprising:at least two first actors, each comprising means for independently executing a computation of a same data set comprising at least one datum, and producing a quality descriptor of the data set, said quality descriptor being defined in a scale of values ranging from least favorable to most favorable values according to a type of computation executed by the at least two first actors, the execution of the computation by each of said at least two first actors being triggered by a synchronization system, wherein the at least two first actors execute in parallel;
a third actor, comprising means for triggering the execution in parallel of the computation by each of said at least two first actors, and initializing a clock configured to emit an interrupt signal when a duration of said clock has elapsed; and
a fourth actor, comprising means for executing, at the latest at the interrupt signal from said clock:
a selection, from a set of said at least two first actors having produced a quality descriptor, of an actor in said set whose descriptor exhibits the most favorable value in the scale among the quality descriptors of the actors of said set; and
a transfer of the data set computed by the selected actor.

US Pat. No. 10,394,728

EMULATED MSI INTERRUPT HANDLING

Intel Corporation, Santa...

1. A processor, comprising:a core; and
an interrupt controller, including:
circuitry to read interrupt data from a memory, the interrupt data including a timestamp, an allowable delay value, and at least one interrupt vector;
a delay-comparison circuit to determine a time lapse based on the timestamp and a system clock signal and to compare the time lapse to the allowable delay value; and
circuitry to:
compare the time lapse to the allowable delay value;
invoke a primary interrupt handler to run a primary interrupt service routine (ISR) in response to the time lapse being less than the allowable delay value; and
invoke a secondary interrupt handler to run a secondary ISR or ignore the interrupt data in response to the time lapse being greater than the allowable delay value.

US Pat. No. 10,394,727

SEMICONDUCTOR MEMORY DEVICE WITH DATA BUFFERING

Toshiba Memory Corporatio...

1. A semiconductor storage device, comprising:at least two nonvolatile semiconductor memories;
a buffer in which data received from a host and to be written to the nonvolatile memories in response to a write command received from the host can be temporarily stored; and
a controller connected to the nonvolatile semiconductor memories and configured to:
determine a scheduled amount of data to be received from the host in connection with the write command;
determine an identifier for the data on the basis of the determined amount;
transmit a transfer ready notification to the host that includes the determined identifier, the transfer ready notification indicating that the controller is ready to receive the scheduled amount of data from the host along with the identifier;
store the data transmitted from the host in the buffer;
on the basis of the identifier transmitted from the host along with the data, determine a number N of the nonvolatile semiconductor memories, N being greater than or equal to one and less than or equal to m, which is the number of the nonvolatile semiconductor memories connected to the controller; and
transfer the data stored in the buffer to the N nonvolatile semiconductor memories in parallel.

US Pat. No. 10,394,725

SYSTEM AND METHOD FOR DEVICE ASSEMBLY BASED ON COMPONENT CHARACTERISTICS STORED WITH THE COMPONENTS

Dell Products, LP, Round...

1. A process for assembling a device, comprising:receiving a set of connector components, each one of the set of connector components associated with a respective physically attached memory storing a set of characteristics of the component that includes losses per inch;
assembling the set of connector components;
accessing, by a processor, each respective memory;
compiling the sets of characteristics stored in the respective memories; and
determining from the compiled sets of characteristics signal characteristics of the device, wherein the set of connector components are connected together as a peripheral component interconnect interface express (PCIe) connector device when the determined signal characteristics include a PCIe functionality.

US Pat. No. 10,394,724

LOW POWER DATA TRANSFER FOR MEMORY SUBSYSTEM USING DATA PATTERN CHECKER TO DETERMINE WHEN TO SUPPRESS TRANSFERS BASED ON SPECIFIC PATTERNS

QUALCOMM Incorporated, S...

1. A method of communication in a processing system, the method comprising:determining that a data to be transferred on a data bus between a processor and a memory has a first data pattern;
suppressing transfer of the first data pattern on the data bus; and
transferring a first address corresponding to the first data pattern on a second bus between the processor and the memory.

US Pat. No. 10,394,722

MANAGING ALT-MODE INTERFACES OF A USB TYPE-C DEVICE

Dell Products L.P., Roun...

20. One or more computer storage media storing computer executable instructions which when executed by one or more processors implement a filter driver that is configured to perform a method for managing alternate modes of the USB Type-C device, the method comprising:upon completion of a device control request that includes a command to obtain supported alternate modes of the USB Type-C device, evaluating a response to the command;
determining that the response identifies multiple alternate modes that the USB Type-C device supports;
determining that at least one of the supported alternate modes is not allowed;
removing the at least one alternate mode from the response; and
passing the device control request up the device stack such that the response does not include the at least one alternate mode that was removed from the response.

US Pat. No. 10,394,721

INTEGRATED CIRCUIT SECURITY

UltraSoc Technologies Ltd...

1. An integrated circuit having a security supervision system, the integrated circuit comprising:a plurality of functional circuit blocks mutually interconnected so as to be capable of collectively performing data processing tasks;
one or more communication adaptors, the one or more communication adaptors each having: (i) a hardware interconnection to at least one of the plurality of functional circuit blocks, whereby the communication adaptor is capable of sensing the state and/or activity of the at least one of the plurality of functional circuit blocks; (ii) memory configured to store definitions of state and/or activity of the at least one of the plurality of functional circuit blocks and actions corresponding to each definition; and (iii) processing circuitry configured to compare the state and/or activity of the at least one of the plurality of functional circuit blocks with each definition in parallel with the execution of a command from the said at least one of the plurality of functional circuit blocks, the processing circuitry being configured to, when state and/or activity of the at least one of the plurality of functional circuit blocks corresponding to a stored definition is detected, perform the corresponding action;
the memory being configured to store a definition of state and/or activity characteristic of insecure operation of the at least one of the plurality of functional circuit blocks and a corresponding action that is one of (i) at least partially disabling the at least one of the plurality of functional circuit blocks and (ii) causing a message to be transmitted; and
wherein the integrated circuit further comprises an access controller, the access controller being capable of configuring the memory of a communication adaptor, and being arranged to:
receive a command to configure the memory of a communication adaptor with a configuration comprising a definition of state and/or activity characteristic of insecure operation of the at least one of the plurality of functional circuit blocks and a corresponding action;
attempt to authenticate that command; and
configure the memory of the communication adaptor only if the command is successfully authenticated.

US Pat. No. 10,394,720

EFFICIENT CLEARINGHOUSE TRANSACTIONS WITH TRUSTED AND UN-TRUSTED ENTITIES

International Business Ma...

1. A method implemented by at least one hardware processor of coalescing transactions between trusted and un-trusted parties, the method comprising:receiving, at the hardware processor, first transaction data from a computing device associated with a first trusted party, the first transaction data comprising a first pending transaction between the first trusted party and a second trusted party and a second pending transaction between the first trusted party and an un-trusted party;
receiving, at the hardware processor, second transaction data from a computing device associated with the second trusted party, the second transaction data comprising a third pending transaction between the second trusted party and the un-trusted party;
analyzing, at the hardware processor, the first and second transaction data to determine whether more than one trusted party has a pending transaction with the same un-trusted party;
determining, at the hardware processor, based on the analysis that the first trusted party and the second trusted party each have a pending transaction with the un-trusted party;
applying, at the hardware processor, a min-cost flow formulation to the first and second transaction data, wherein each of the first pending transaction, second pending transaction, and third pending transaction has an associated cost function and flow function, and the min-cost flow formulation analyzes the cost and flow functions of the first pending transaction, second pending transaction, and third pending transaction; and
modifying the first pending transaction, the second pending transaction, and the third pending transaction based on a result of the min-cost flow formulation, the modification comprising removing the third pending transaction; and
submitting, by the processor, to a transaction database shared by multiple computing nodes participating in a system based on a blockchain protocol, and for addition to a blockchain, the modifications to the first and second pending transactions, and the removing of the third pending transaction, for validation by said participating multiple computing nodes,
wherein a number of transactions between first trusted party, the second trusted party and the un-trusted party is reduced, including reducing a number of communications between the first and second trusted parties and untrusted party on a network that require settlement at a transaction clearinghouse based on the first, second and third transactions.

US Pat. No. 10,394,719

REFRESH AWARE REPLACEMENT POLICY FOR VOLATILE MEMORY CACHE

Samsung Electronics Co., ...

1. A method of evicting data on a volatile memory cache, the volatile memory cache comprising one or more memory banks, each of the memory banks comprising a plurality of memory lines, the method comprising:identifying a replacement ID for at least one of the memory lines to be evicted;
identifying a refresh bank ID for one of the memory banks to be refreshed;
determining whether or not a conflict exists between the replacement ID and the refresh bank ID; and
selecting a new replacement ID in response to determining the conflict exists; and
evicting at least a portion of at least one memory line of the plurality of memory lines associated with the new replacement ID.

US Pat. No. 10,394,718

SLOT/SUB-SLOT PREFETCH ARCHITECTURE FOR MULTIPLE MEMORY REQUESTORS

TEXAS INSTRUMENTS INCORPO...

1. A system comprising:a cache system that includes a first cache having a first cache line width and a second cache having a second cache line width, wherein the first and second caches are arranged at different hierarchical levels within the cache system and the second cache line width is greater than the first cache line width;
a processor configured to generate demand requests for data stored in the hierarchical cache system; and
a prefetch unit that includes:
a prefetch address generator configured to generate a prefetch address based upon an address associated with a memory read request received from one of the first cache or the second cache of the cache system; and
a prefetch buffer including a plurality of slots, wherein each slot includes:
an address buffer to store at least a first portion of a prefetch address; and
two sub-slots each including a data buffer to store data that is prefetched using at least the first portion of the prefetch address stored in the address buffer of the slot;
wherein the prefetch unit is configured to store at least a first portion of the generated prefetch address into the address buffer of a selected one of the slots of the prefetch buffer and, when the memory read request is received from the first cache, select the data buffer of one of the two sub-slots based on the generated prefetch address.

US Pat. No. 10,394,717

CENTRAL PROCESSING UNIT CACHE FRIENDLY MULTITHREADED ALLOCATION

Microsoft Technology Lice...

1. A method for storage allocation on a computing device comprising a multi-core central processing unit (CPU), each CPU core having a non-shared cache, the method comprising:receiving, at a filesystem allocator, a plurality of storage allocation requests, each executing on a different core of the multi-core CPU, wherein the storage allocation requests are for a file system volume that is divided into bands composed of a plurality of storage clusters, and wherein, for each band, storage clusters are marked as allocated or unallocated by a corresponding cluster allocation bitmap;
dividing a cluster allocation bitmap into a plurality of chunks, wherein each chunk is the size of a cache line of the non-shared cache, wherein each chunk is aligned in system memory with the non-shared cache lines of the non-shared cache, and wherein a chunk status bitmap indicates which of the plurality of chunks has at least one unallocated cluster;
determining a maximum number of storage allocation requests allowed to concurrently search for available space in the cluster allocation bitmap based on a number of chunks containing at least one unallocated cluster;
allowing each of the plurality of storage allocation requests, up to the maximum number, to search for unallocated space within the cluster allocation bitmap; and
when a requested amount of unallocated space is found, allocating the unallocated space by modifying the cluster allocation bitmap with an interlocked operation.

US Pat. No. 10,394,716

APPARATUS AND METHOD FOR CONTROLLING ALLOCATION OF DATA INTO A CACHE STORAGE

ARM Limited, Cambridge (...

1. An apparatus comprising:processing circuitry to execute instructions;
a cache storage to store data accessed when executing the instructions; and
cache control circuitry arranged, whilst a sensitive allocation condition is determined to exist, to be responsive to the processing circuitry speculatively executing a memory access instruction that identifies data to be allocated into the cache storage, to allocate the data into the cache storage and to set a conditional allocation flag in association with the data allocated into the cache storage;
the cache control circuitry being responsive to detecting an allocation resolution event, to determine based on a type of the allocation resolution event whether to clear the conditional allocation flag such that the data is thereafter treated as unconditionally allocated, or to cause invalidation of the data in the cache storage,
wherein the sensitive allocation condition is determined to exist at least when a requirement to execute the memory access instruction is dependent on an outcome of a branch operation that is unresolved at a time the processing circuitry speculatively executes the memory access instruction.

US Pat. No. 10,394,715

UNIFIED IN-MEMORY CACHE

INTERNATIONAL BUSINESS MA...

1. A method comprising:providing in a data node a pinned memory space for caching data, the data that is cached in the pinned memory space being prevented from being swapped out;
assigning a virtual address to the data, the virtual address being mapped to a memory address of the data in the pinned memory space for accessing the data by an application;
receiving a first command from the application for caching the data, the first command indicating an attribute associated with the caching of the data, wherein the attribute indicates an amount of time to cache the data in the pinned memory space;
responsive to receiving the first command from the application for caching the data, caching, using a processor, the data associated with the first command by storing the attribute in association with the data in the pinned memory space; and
responsive to a time the data is cached exceeding the amount of time to cache the data indicated by the attribute, removing the data from the pinned memory space and removing the virtual address of the data.

US Pat. No. 10,394,714

SYSTEM AND METHOD FOR FALSE SHARING PREDICTION

Futurewei Technologies, I...

1. A method for predicting false sharing implemented by a computer, the method comprising:executing code, by the computer in a first run-time environment, on a plurality of cores of a central processing unit (CPU) of the computer;
tracking, based at least on executing the code in the first run-time environment, cache line access information related to accessing a first cache line of the CPU, a second cache line of the CPU, or both the first cache line and the second cache line, the first cache line being adjacent to the second cache line;
determining, based at least on tracking the cache line access information related to accessing the first cache line and the second cache line, that there is potential false sharing in a second run-time environment, wherein determining that there is potential false sharing in the second run-time environment is further based at least in part on simulating at least one property that is different between the first run-time environment and the second run-time environment; and
reporting, based at least on determining that there is potential false sharing, the potential false sharing.

US Pat. No. 10,394,713

SELECTING RESOURCES TO MAKE AVAILABLE IN LOCAL QUEUES FOR PROCESSORS TO USE

INTERNATIONAL BUSINESS MA...

1. A computer program product for managing access to resources in a computer system, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:maintaining, by each processor of a plurality of processors, a queue of resources for the processor to use when needed for processor operations;
maintaining a global queue indicating available resources available for use by the processors;
in response to the queue for one of the processors indicating no available resources, obtaining, by the processor for that queue having no available resources, a lock for the global queue to access available resources from the global queue to indicate in the queue, having no available resources, as available for use by the processor;
in response to the queue for one of the processors indicating a maximum number of available resources, obtaining, by the processor for the queue having the maximum number of available resources, the lock to the global queue;
indicating in the global queue a plurality of the available resources indicated in the queue having the maximum number of available resources to reduce a number of the available resources indicated in the queue;
selecting one of the processors;
accessing, by the selected processor, at least one available resource; and
including the accessed at least one available resource in the queue of the selected processor.

US Pat. No. 10,394,712

CONFIGURATION BASED CACHE COHERENCY PROTOCOL SELECTION

International Business Ma...

1. A computer implemented method for determining configuration topology of one or more active computer elements in a modular computer system comprising a first node of a configuration, the first node consisting of a first plurality of communicatively coupled computer elements, each element comprising a respective second plurality of first interfaces, each pair of elements of the first plurality of elements communicatively coupled by way of respective first interfaces by way of a respective point-to-point active interconnection, the respective active interconnection interconnecting only the respective pair of elements, each element being separately packaged, the second plurality of first interfaces being greater-than or equal-to the first plurality of communicatively coupled active computer elements, wherein the first plurality of elements comprises one or more clusters, wherein each element consists of any one of a cluster and a storage controller (SC) function, wherein each cluster comprises a plurality of processors, wherein each cluster is configured to communicate with 1 or more other elements based on a coherency value of the respective cluster, the SC function comprising an inclusive directory of cache lines of the first node, the inclusive directory being shared by processors of each cluster of the first node, each SC function configurable to communicate with 1 or more other elements of the first node based on the coherency value of the SC function, wherein each processor of each cluster comprises a private cache, wherein each cluster is further configured to manage cache coherency within all processor caches of the respective cluster for requests, from processors within the respective cluster, that hit in caches of the respective cluster, without interrogating caches not in the respective cluster, wherein the SC function further comprises one or more second interfaces, each second interface configured to communicate with a respective SC function of a second node, the computer implemented method comprising:during system initialization of the computer system, performing, by each respective element of the first node, an operation to identify which other elements are active in the first node, the operation comprising:
determining, by each element, which first interfaces of the respective element are valid first interfaces, wherein each valid first interface of an element has only one active interconnection to only one other element of the first node, wherein each active interconnection is a point-to-point interconnection, wherein each first interface of the respective element not having an active interconnection to another element of the first node is not a valid first interface; and
based on the determining, by each element, which first interfaces of the respective element are valid first interfaces, storing the coherency value by each respective element, the coherency value indicating which first interfaces of the respective element are valid interfaces and which first interfaces of the respective element are not valid interfaces; and
after system initialization, during normal operation, based on the coherency value of the respective cluster, broadcasting, by the respective cluster, cache line fetches to all other active elements of the first node by way of valid interfaces of the respective cluster, the cache line fetches being cache line fetches for cache lines that miss in all caches of the respective cluster, and
after system initialization, during normal operation, using by each element, the respective stored coherency value, of the respective element, to determine which other elements of the first node are to be accessed in the first node.

US Pat. No. 10,394,711

MANAGING LOWEST POINT OF COHERENCY (LPC) MEMORY USING A SERVICE LAYER ADAPTER

International Business Ma...

1. A method of managing lowest point of coherency (LPC) memory using a service layer adapter, the adapter coupled to a processor and an accelerator on a host computing system, the processor configured for symmetric multi-processing, the method comprising:receiving, by the adapter, a memory access instruction from the accelerator;
retrieving, by the adapter, a real address for the memory access instruction;
determining, using base address registers on the adapter, whether the real address targets the LPC memory or other memory locations on the host computing system, wherein the base address registers direct memory access requests between the LPC memory and other memory locations on the host computing system; and
sending, by the adapter, in response to the memory access instruction targeting the LPC memory, the memory access instruction and the real address to a media controller for the LPC memory, wherein the media controller for the LPC memory is attached to the adapter via a memory interface.

US Pat. No. 10,394,709

FUNCTION ANALYSIS METHOD AND MEMORY DEVICE

Silicon Motion, Inc., Jh...

1. A function analysis method for a memory device, comprising:analyzing a mapping relationship of at least one application programming interface (API) function and at least one normal function;
analyzing a calling relationship of the at least one normal function through the mapping relationship;
developing a two-dimensional array to analyze whether there is a loop or not in the calling relationship, wherein when one normal function of the at least one normal function calls another normal function of the at least one normal function, the name of the called normal function is inspected to determine whether or not it is identical to the name of the normal function and identical to the names of all normal functions which call the normal function.

US Pat. No. 10,394,708

APPARATUS AND METHOD OF DAMAGE RECOVERY OF STORAGE CLASS MEMORY USING REPAIR ENTRY IN WRITE CACHE

Wolley Inc, San Jose, CA...

1. A method of damage recovery for storage class memory based on nonvolatile memory using a write cache, wherein input data is written to a selected write cache location as well as a selected nonvolatile memory location, the selected write cache location includes a timestamp, and contents in the selected nonvolatile memory location are flushed to a destined location in the nonvolatile memory if the timestamp indicates that the contents in the selected nonvolatile memory location are aged, the method comprising:dividing the nonvolatile memory into memory groups; and
mapping N input group addresses corresponding to logic addresses of the memory groups to M output group addresses corresponding to physical group addresses of the memory groups using fixed mapping within a period T, wherein M and N are positive integers and M is greater than N, wherein N memory groups are used as data groups, and one or more memory groups are used as redundant groups, M is equal to a sum of N and number of the redundant groups, and wherein said mapping N input group addresses to M output group addresses causes N data groups among M memory groups to store the input data in a rotated fashion; and
if a damaged address location in one of the data groups is found:
creating a repair entry in the write cache for the damaged address location with a last known correct data content; and
updating the repair entry in the write cache by updating the timestamp of the repair entry to prevent the contents in the repair entry from being flushed to the damaged address location.

US Pat. No. 10,394,707

MEMORY CONTROLLER WITH MEMORY RESOURCE MEMORY MANAGEMENT

Hewlett Packard Enterpris...

9. A computing system comprising:a memory resource further comprising a plurality of memory resource regions;
a plurality of computing resources, each of the plurality of computing resources being associated with one of the plurality of memory resource regions of the memory resource; and
a plurality of memory controllers, each memory controller further comprising:
a memory resource interface to communicatively couple the memory controller to the memory resource,
a computing resource interface to communicatively couple the memory controller to the plurality of computing resources, and
a memory resource memory management unit to manage the memory resource region of the memory resource associated with each of the plurality of computing resources,
wherein the plurality of memory controllers and the plurality of computing resources are communicatively coupleable in a mesh configuration.

US Pat. No. 10,394,706

NON-VOLATILE STORAGE WITH ADAPTIVE COMMAND PREDICTION

WESTERN DIGITAL TECHNOLOG...

1. An apparatus, comprising:a set of non-volatile memory cells; and
one or more control circuits in communication with the set of non-volatile memory cells, the one or more control circuits are configured to receive a plurality of non-sequential memory access commands directed to the set of non-volatile memory cells and predict a memory access command based on the plurality of non-sequential memory access commands according to a model obtained from a training set of non-sequential memory access commands, the one or more control circuits are configured to access the set of non-volatile memory cells according to the memory access command.

US Pat. No. 10,394,705

REGRESSION TESTING OF SQL EXECUTION PLANS FOR SQL STATEMENTS

INTERNATIONAL BUSINESS MA...

1. A system, comprising:a processor programmed to initiate executable operations comprising:
requesting from a database management system a first execution plan for a first version of a structured query language statement;
loading the first execution plan for the first version of the structured query language statement into a first directed graph tree structure comprising a plurality of nodes;
scanning the first directed graph tree structure to determine whether a full table scan for accessing requested data is represented by at least a one of the plurality of nodes of the directed graph tree structure;
responsive to determining that the full table scan for accessing the requested data is represented by the at least one of the plurality of nodes of the directed graph tree structure, outputting a first indicator that indicates a fault condition;
requesting from the database management system a second execution plan for a second version of the structured query language statement;
loading into a second directed graph tree structure the second execution plan for the second version of the structured query language statement;
determining whether any fault conditions are identified in the second execution plan; and
responsive to determining that no fault conditions are identified in the second execution plan, outputting a second indicator that indicates the second execution plan has no faults.

US Pat. No. 10,394,704

METHOD AND DEVICE FOR TESTING A SOFTWARE PROGRAM

Ford Global Technologies,...

1. A method for testing a software program, the method comprising:generating a test harness based on a software interface of the software program, wherein the test harness includes a copy of the software program and the test harness is configured to enable one or more input stimuli, record output values, and change one or more internal signals;
executing, during a simulation process, the test harness to simulate a predetermined scenario on a test platform in a test scenario; and
generating output values from the test platform in the simulation process based on input stimuli, wherein a dynamic adaption of the test scenario takes place during the simulation process based on the current state of the simulation process.

US Pat. No. 10,394,703

MANAGING CONVERGED IT INFRASTRUCTURE WITH GENERIC OBJECT INSTANCES

VCE IP Holding Company LL...

1. A method of managing a predetermined configuration of physical components of an electronic system for providing information technology (IT) resources to users, comprising:communicating over a network with the predetermined configuration of physical components of the electronic system to discover configuration information from the predetermined configuration of physical components, the predetermined configuration of physical components including a plurality of storage components, a plurality of compute components, and a plurality of network components; and
generating a system object instance according to an object model of the electronic system and using the configuration information discovered from the predetermined configuration of physical components of the electronic system, the object model being a definition of a class and the system object instance being an instance of the class, the system object instance representing the electronic system as a unified entity and including (i) a first set of sub-object instances and (ii) a second set of sub-object instances that are instances of sub-classes subordinate to the class, the first set of sub-object instances of the system object instance representing respective logical categories of the physical components, and the second set of sub-object instances of the system object instance representing respective physical components of the electronic system and providing access to the configuration information discovered from the predetermined configuration of physical components over the network,
wherein the first set of sub-object instances includes a logical storage instance to represent the plurality of storage components of the predetermined configuration of physical components of the electronic system as a unified entity, a logical compute instance to represent the plurality of compute components of the predetermined configuration of physical components of the electronic system as a unified entity, and a logical network instance to represent the plurality of network components of the predetermined configuration of physical components of the electronic system as a unified entity.

US Pat. No. 10,394,702

BLOCKING A SELECTED PORT PRIOR TO INSTALLATION OF AN APPLICATION

INTERNATIONAL BUSINESS MA...

1. A method, comprising:in response to blocking a port of a plurality of ports, installing an application;
testing a first function of the installed application by executing a first code path that uses the port that is blocked; and
subsequent to completion of the testing of the first function, unblocking the port, and testing a second function of the installed application, wherein an installer application tests the installed application to determine how the installed application functions when a selected port is in use and when a selected port is not in use, without reinstallation of the installed application.

US Pat. No. 10,394,701

USING RUN TIME AND HISTORICAL CUSTOMER PROFILING AND ANALYTICS TO ITERATIVELY DESIGN, DEVELOP, TEST, TUNE, AND MAINTAIN A CUSTOMER-LIKE TEST WORKLOAD

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:determining, by a processor, characteristics of one or more customer workloads to be incorporated into a customer-like test workload;
determining, by the processor, one or more data points for environment and workload comparisons;
collecting, by the processor, customer environment, workload, capacity and performance empirical data for normal and high activity workload periods, for one or more days and across multiple time frames, wherein the multiple time frames comprise one or more of quarter-ends, year-ends, heavy retail days, heavy banking days and holidays, wherein collecting customer environment, workload, capacity and performance empirical data comprises collecting a standard set of record types that provide individual system configuration, environment and utilization views;
developing, by the processor, a test workload;
conducting, by the processor, historical and run-time workload profiling of the one or more customer workloads and the developed test workload to continually tune and adjust the developed test workload to meet one or more customer workload attainment goals, wherein the one or more customer attainment goals comprise functional coverage, stress and activity level customer workload characteristics; and
responsive to determining, by the processor, that the developed test workload meets one or more customer workload attainment goals, determining that the developed workload meets one or more customer workload attainment goals following a predetermined amount of time.

US Pat. No. 10,394,700

SYSTEM AND METHOD FOR IDENTIFYING A SUBSET OF TOTAL HISTORICAL USERS OF A DATA MANAGEMENT SYSTEM TO REPRESENT A FULL SET OF TEST SCENARIOS BASED ON PREHASHING OF CODE COVERAGE INFORMATION

Intuit Inc., Mountain Vi...

1. A method for generating efficient sample sets for testing new data management processes for a data management system, the method comprising:retrieving historical user data related to a plurality of historical users of data management system;
executing, for each of the historical users, prior code data corresponding to a previous version of software instructions for data management processes;
generating, for each historical user, trace log data indicating sections of the prior code data that were executed for the historical user based on attributes of the historical user;
generating code coverage representation value data including, for each historical user, a respective code coverage representation value based on the sections of the prior code data that were executed for the historical user;
generating grouping data including a plurality of groups of historical users based on the code coverage representation values associated with the historical users; and
generating sample test set data by sampling, from each group in the grouping data, one or more historical user.

US Pat. No. 10,394,699

METHOD AND SYSTEM FOR REUSING A REFINEMENT FILE IN COVERAGE GRADING

Cadence Design Systems, I...

1. A method for reuse of a refinement file in coverage grading, the method comprising:obtaining a first coverage model for testing of a first design, the first coverage model including a plurality of coverage entities, a calculation of coverage grading of testing of the first design using the first coverage model including a percentage of the plurality of coverage entities that are covered during the testing;
obtaining a refinement file that includes a listing of one or a plurality of the coverage entities to be excluded when calculating the coverage grading of the first coverage model;
obtaining mapping information to map a source path of each of one or a plurality of modules or instances of a module of the first coverage model, said each of one or a plurality of modules or instances of a module including one or more of said one or a plurality of coverage entities, to a target path of said each of one or a plurality of modules or instances of a module in a second coverage model for testing a new design that includes said one or a plurality of modules or instances of a module, wherein the obtaining of the mapping information comprises obtaining a selection of an instance of a module of said one or a plurality of modules or instances of a module, and wherein the method further comprises, using the processor, automatically identifying all instances of the module in the second coverage model;
using a processor, based on the mapping information, translating a source path name of each of said one or a plurality of the coverage entities listed in the refinement file to a target path name of a coverage entity of said one or a plurality of the coverage entities in a new refinement file for the second coverage model, so as to exclude said one or a plurality of the coverage entities from a calculation of coverage grading during testing of the new design using the second coverage model; and
using the new refinement file during testing of the new design using the second coverage model.

US Pat. No. 10,394,698

JAVASCRIPT PATH ENUMERATION

ENTIT SOFTWARE LLC, Sunn...

1. A method executed by at least one processor, comprising:receiving code corresponding to an HTML page structure including a plurality of executable JavaScript code;
enumerating a branching path in the JavaScript code;
determining a branch of the branching path that would not execute during normal operation of a browser executing the JavaScript code;
generating an artificial condition for the branch;
executing the branch using the artificial condition;
receiving an initial document object model (DOM) corresponding to the HTML page structure and the plurality of executable JavaScript code;
adjusting the initial DOM based on the artificial condition for the branch;
tracking state changes to the initial DOM by recording adjustments made to the initial DOM, including the adjusting of the initial DOM based on the executing of the branch using the artificial condition;
after the adjusting of the initial DOM, restoring the initial DOM;
determining a second branch of the branching path that would execute during the normal operation of the browser executing the JavaScript code; and
adjusting the initial DOM based on the second branch.

US Pat. No. 10,394,697

FOCUS AREA INTEGRATION TEST HEURISTICS

International Business Ma...

1. A computer-implemented method to reduce a processing overhead incurred in testing areas of development code impacted by a target release of software, the computer-implemented method comprising:receiving a test case bucket containing a plurality of test cases for executing on the target release of the software, wherein the target release includes one or more patches, each patch of which modifies a respective area of development code of a previous release of the software, wherein each test case is associated with a respective, candidate score and specifies a history of the respective test case relative to an execution on the previous release;
upon determining, for each of the one or more patches, a respective test case, of the plurality of test cases, that targets the area of development code modified by the respective patch, incrementing the candidate score associated with the respective test case;
for each patch, identifying one or more developers associated with the respective patch based on metadata of the respective patch;
evaluating a test case history associated with the respective one or more developers to determine existence of one or more test cases that have previously failed and that are associated with the respective one or more developers;
upon determining the existence of the one or more test cases, obtaining identifying information for the one or more test cases based on the metadata and incrementing a score for each of the one or more test cases, wherein the one or more test cases are included in the test case bucket; and
prioritizing, by operation of one or more computer processors and based on the score of each test case, execution of the test cases in the test case bucket during execution of the test case bucket on the target release of the software, wherein the test case having the highest score from the test case bucket is selected and executed first.

US Pat. No. 10,394,696

TESTING AN APPLICATION IN A PRODUCTION INFRASTRUCTURE TEMPORARILY PROVIDED BY A CLOUD COMPUTING ENVIRONMENT

Capital One Services, LLC...

1. A device, comprising:one or more memories; and
one or more processors, communicatively coupled to the one or more memories, to:
receive test parameters associated with testing an application that utilizes source data,
wherein the test parameters include parameters indicating an application type, a location of the application, a source data location of the source data, one or more tests to perform on the application, and a list of physical infrastructure to be temporarily simulated for testing the application;
cause one or more source containers, for the source data, to be temporarily created in a cloud computing environment, based on the test parameters;
provide the source data to the one or more source containers;
cause one or more other containers, for the application, to be temporarily created in the cloud computing environment, based on the test parameters;
create a file for testing the application with the one or more source containers and the one or more other containers, based on the test parameters;
cause the application to be executed with the one or more source containers and the one or more other containers, based on the file; and
cause the one or more source containers, and the one or more other containers, to be removed from the cloud computing environment after execution of the application.

US Pat. No. 10,394,695

METHOD AND SYSTEM FOR RECORDING AND DEBUGGING PROCESS FLOWS

Oracle International Corp...

1. A non-transitory computer readable medium including one or more instructions executable by one or more processors for:receiving a process flow integration instance;
determining which nodes of the process flow integration instance to emulate;
processing the integration in a first environment instance which includes at least one emulated node;
recording a portion of the process flow integration instance as a data recording;
establishing a first error threshold for the process flow integration instance with respect to the first environment instance;
processing the data recording in a second environment which includes at least one other emulated node;
determining errors and anomalies from the process flow integration process with respect to the second environment; and
determining whether the errors and the anomalies are within the first error threshold.

US Pat. No. 10,394,694

UNEXPLORED BRANCH SEARCH IN HYBRID FUZZ TESTING OF SOFTWARE BINARIES

FUJITSU LIMITED, Kawasak...

1. A method of branch exploration in fuzz testing of software binaries, the method comprising:receiving, by a symbolic execution engine, a set of inputs of a binary program under analysis (BPUA) that is discovered during testing by a grey box fuzzer;
re-executing, by the symbolic execution engine, the set of inputs, the re-executing including a concrete execution of the set of inputs in the BPUA and formation of a constraints tree in which path constraints along paths of the BPUA and conditions at branch points are recorded and marked as either explored or unexplored;
storing the constraints tree in random access memory;
in response to an amount of memory dedicated to the constraints tree exceeding a particular threshold:
storing the constraints tree in a graph database;
selecting, by the symbolic execution engine, a particular number of the unexplored branches of the BPUA;
solving, by the symbolic execution engine, the particular number of the unexplored branches with a constraint solver to generate a new set of the particular number of inputs;
communicating, by the symbolic execution engine, the new set of inputs to the grey box fuzzer for exploration of one or more different branches of the BPUA, the new set of inputs including the particular number of new inputs; and
deleting a sub-tree of the constraints tree.

US Pat. No. 10,394,693

QUANTIZATION OF DATA STREAMS OF INSTRUMENTED SOFTWARE

SignalFx, Inc., San Mate...

1. A method for processing data streams generated by instrumented software, the method comprising:receiving a plurality of input data streams, each input data stream received from a separate instance of instrumented software executing on at least one external system, each input data stream providing values of a metric, the values generated by the instances of instrumented software at variable time intervals;
receiving a request to periodically evaluate an expression based on the plurality of input data streams;
for each input data stream, identifying a first function for aggregating values of the metric of the input data stream;
generating a plurality of quantized data streams based on the input data streams, each quantized data stream comprising data values occurring periodically at a first fixed time interval, the generating comprising, for each input data stream and for each first fixed time interval:
storing values of the metric of the input data stream received during the fixed time interval in a buffer;
determining a data value of the quantized data stream for the fixed time interval based on the values stored in the buffer by applying the identified first function for aggregating values over the values of the input data stream received within the first fixed time interval and stored in the buffer; and
sending the determined data value as the data value of the quantized data stream for the first fixed time interval;
periodically evaluating the expression based on data values of at least two of the plurality of quantized data streams to generate an output data stream, the evaluating comprising repeatedly:
applying a second function to the data values of the quantized data streams, each data value associated with a second fixed time interval, the second function aggregating values over the quantized data streams; and
sending the output data stream for display via a user interface.

US Pat. No. 10,394,692

REAL-TIME PROCESSING OF DATA STREAMS RECEIVED FROM INSTRUMENTED SOFTWARE

SignalFx, Inc., San Mate...

1. A method for processing data generated by instrumented software, the method comprising:receiving, by an analysis system, information identifying a set of data streams, each data stream generated by an instance of instrumented software executing on an external system;
receiving a specification of an expression, the expression processing data values of the set of data streams, each of the data values associated with a time interval of a plurality of time intervals for evaluating the expression, each time interval having a beginning point and an end point; and
for each of the plurality of time intervals for evaluating the expression:
for each data stream of the set of data streams, determining a maximum expected delay for the data stream, the maximum expected delay representing a limit on arrival delay within the time interval for a data value of the data stream from a corresponding instance of instrumented software to the analysis system, wherein the maximum expected delay is less than a length of the time interval,
monitoring the set of data streams for arrival of data values within the time interval,
modifying the set of data streams for the time interval by excluding a data stream if the data value of the data stream fails to arrive within the maximum expected delay for the data stream after the beginning point of the time interval,
evaluating the expression using the arrived data values of the modified set of data streams for the time interval, and
prior to the end point of the time interval, sending a value of the evaluated expression for presentation.

US Pat. No. 10,394,691

RESOLUTION OF DATA FLOW ERRORS USING THE LINEAGE OF DETECTED ERROR CONDITIONS

Tableau Software, Inc., ...

1. A method of resolving error conditions in a data flow, comprising:at a computer having a display, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:
displaying a user interface that includes a flow diagram having a plurality of nodes, each node specifying a respective operation and having a respective intermediate data set;
receiving user specification of a validation rule for a first node of the plurality of nodes in the flow diagram, wherein the validation rule specifies a condition that applies to a first intermediate data set corresponding to the first node;
determining that the first intermediate data set violates the validation rule;
in response to determining that the first intermediate data set violates the validation rule:
identifying one or more errors corresponding to rows in the first intermediate data set;
displaying an error resolution user interface that provides information about the one or more errors, wherein the error resolution user interface includes a plurality of interlinked regions, including:
a natural language summary region providing a synopsis of the one or more errors, the synopsis including a number of errors identified, one or more error types, and a number of errors for each of the one or more error types;
an error profile region graphically depicting the one or more errors, including, for each respective error type, a respective visual mark that depicts a respective number of errors for the respective error type;
a data flow trace region providing lineage of the one or more errors according to the flow diagram, the lineage including: (i) a visual representation of at least a subset of the plurality of nodes, (ii) a visual representation for each respective operation associated with each of the plurality of nodes, and (iii) a graphic depiction of errors, if any, at each represented node; and
a data region displaying data for a subset of columns from the first intermediate data set; and
determining a proposed solution for at least some of the one or more errors based, at least in part, on data values in the first intermediate data set, wherein the proposed solution includes deleting a row of data from the first intermediate data set corresponding to a respective error of the one or more errors.

US Pat. No. 10,394,689

COLLABORATIVE DATA SHARING AND DATA MODIFICATION APPLICATION

OPEN INVENTION NETWORK LL...

1. A method comprising:receiving, by a computer, a modification to software code stored in a first file;
determining an oversight level of a plurality of user profiles using weighted personnel specific factors, the weighted personnel specific factors comprising at least one of a number of years of experience, a number of bugs created, a number of bugs solved, a number of lines of code submitted, an indication of issues with previous code production, and an indication of solution conciseness in lines of code;
identifying, by the computer, an oversight level of at least one user profile of the plurality of user profiles, the at least one user profile of the plurality of user profiles associated with a user device that performed the modification to the software code;
creating, by the computer, a second file comprising the modification to the software code and an identifier identifying the modification;
creating, by the computer, a plurality of notifications identifying the second file and the modification to the software code;
transmitting, by the computer, the notifications to a plurality of user devices having an oversight level that is greater than or equal to the oversight level of the at least one user profile of the plurality of user profiles,
receiving, by the computer, a plurality of feedback parameters from the plurality of user devices, the plurality of feedback parameters comprising a plurality of votes including a confirmation or rejection of a proposed change to the software code from the modification to the software code;
generating, by the computer, a plurality of weighted feedback parameters by weighting the plurality of feedback parameters based on a plurality of weights assigned to the plurality of user devices and corresponding user profiles;
tallying, by the computer, the plurality of weighted feedback parameters, thereby generating a tallied plurality of feedback parameters; and
comparing, by the computer, the tallied plurality of feedback parameters to a decision threshold value and determining, by the computer, whether to apply the proposed change to the software code based on the tallied plurality of feedback parameters; and
finalizing modifications, by the computer, to the software code based on the weighted feedback parameters.

US Pat. No. 10,394,688

METHOD FOR DETECTING COMPUTER MODULE TESTABILITY PROBLEMS

1. A method for detecting testability problems of a computer module defined:by first code instructions in a modeling language, said first code instructions representing a plurality of blocks of said computer module distributed in one or more components and a plurality of relationships between the blocks and/or the components; and
by second code instructions in a textual language, said second code instructions representing a list of specifications each associated with a capability and defining at least one information flow at the level of the capability;
the method being characterized in that it comprises implementing by data processing means of a device steps of:
(a) Expressing the first and second code instructions each in the form of a model instantiating a common metamodel matching the blocks with the capabilities, and matching said relationships with said information flows;
(b) Synchronizing the models associated respectively with the first and second code instructions in a consolidated model;
(c) Expressing from said consolidated model a graph in which the blocks and the components are nodes, and the relationships are edges;
(d) Calculating by means of a graph traversal algorithm the width and/or the depth of said graph;
(e) Emitting a signal indicating a testability problem of the computer module if at least one of said calculated width and depth is greater than a predefined threshold;
wherein the width of the graph corresponds to the largest number of blocks along a path in the edges of the graph representative of data type information flows, between two observable data type pieces of information; and/or the depth of the graph corresponds to the largest number of blocks along a path in the edges of the graph representative of command type information flows, between two observable command type pieces of information.

US Pat. No. 10,394,687

METHOD FOR CLASSIFYING ALARM TYPES IN DETECTING SOURCE CODE ERROR AND NONTRANSITORY COMPUTER READABLE RECORDING MEDIUM THEREFOR

SPARROW CO., LTD., Seoul...

1. A method for classifying alarm types in detecting source code errors, the method being executed in an alarm type classifying apparatus co-working with a static analyzer, and is for classifying error detection alarms occurring in the static analyzer by types, the method comprising:1) by the alarm type classifying apparatus, receiving input of alarm path information about an error detection alarm that occurs and source code information that is an object associated with the occurring alarm, the alarm path information being information about an execution path related to the error detection alarm among execution paths of the source code;
2) by the alarm type classifying apparatus, converting the source code into an abstract syntax tree (AST);
3) by the alarm type classifying apparatus, removing, from the AST, an unnecessary sub-tree that is not related to the error detection alarm;
4) by the alarm type classifying apparatus, obtaining a feature vector of the AST having the unnecessary sub-tree removed therefrom based on a preset feature pattern set; and
5) by the alarm type classifying apparatus, classifying, by types, the error detection alarm associated with the feature vector by clustering the obtained feature vector using a preset method,
wherein the obtaining of the feature vector (V(R)) of the AST having the unnecessary sub-tree removed therefrom includes:
401) defining a feature pattern set (P) configured in a set form of n preset feature patterns (p) as the formula 1 below:
P={p1,p2, . . . ,pn};  [Formula 1]
402) defining an n-dimensional pattern satisfaction vector (v(P, d)) for an arbitrary node within the AST as the formula 2 below:
v(P,d)=  [Formula 2]
wherein S(d,pi) is a factor that indicates whether or not a node d or a sub tree of a root d is matched to an ith feature pattern pi, and is defined as the formula 3 below; wherein the ith feature pattern (pi) may be a single node or a sub-tree,

403) defining a feature vector (V(P,D)) for an arbitrary node within the AST by using the formula 4 below:
V(P,D)=V(P,d1)+ . . . +V(P,dm)+v(P,D)  [Formula 4]
wherein d1, . . . , dm are children nodes of D, (V(P,d1) . . . V(P,dm) are feature vectors of d1, . . . dm that are obtained by using the formula 4, and v(P,D) is an n-dimensional pattern satisfaction vector of an arbitrary node D; and
404) obtaining a feature vector (V(R)) of the AST having the unnecessary sub-tree removed therefrom by using the formula 5 below:
V(R)=V(P,R)=V(P,d1)+ . . . +V(P,dm)+v(P,R)  [Formula 5]
wherein R is a root node of the AST having the unnecessary sub-tree removed therefrom, and corresponds to the node D of the formula 4.

US Pat. No. 10,394,686

STATIC FEATURE EXTRACTION FROM STRUCTURED FILES

Cylance Inc., Irvine, CA...

1. A computer-implemented method comprising:receiving or accessing data comprising a structured file encapsulating data required by an execution environment to manage executable code wrapped within the structured file;
iteratively identifying code and data regions in the structured file for parsing and disassembly by:
discovering a structure of the structured file;
analyzing and checking a first header located at a root of the structure;
analyzing and checking a second header in the structure referenced by the first header in response to the checking of the first header; and
looping through remaining portions of the structure other than the first header and the second header to extract code start points until all code start points for analysis and disassembly are identified;
statically extracting at least one feature from the structured file by disassembling the code in the structured file using the code start points and analyzing the identified-code and data regions, wherein the at least one feature indicates whether a collection of import names in the structured file is ordered lexicographically;
classifying the structured file by applying the extracted features to a machine learning model to determine if the structured file is either malicious or safe; and
preventing access or execution of the structured file if it is classified as malicious; or
accessing or executing the structured file if it is classified as safe.

US Pat. No. 10,394,685

EXTENSIBLE MARKUP LANGUAGE (XML) PATH (XPATH) DEBUGGING FRAMEWORK

International Business Ma...

1. An extensible markup language (XML) path (XPATH) expression debugging method comprising:receiving an XPATH input expression in a portion of a graphical user interface (GUI) of a debugger tool executing in memory of a computer;
parsing the XPATH input expression to produce a plurality of sub-expressions corresponding to intermediate steps of evaluation for the XPATH input expression, the parsing of the XPATH input expression revealing expression nodes, step nodes, function nodes, predicates to the step nodes and parenthesis nodes;
constructing an XPATH traversal tree (XTT) model as an extension of a pattern tree model used for computing XPATH containment and comprising additional node and token types to seamlessly model XPATH expressions, the pattern tree model comprising a directed and unranked tree modeling an XPATH expression with an XTT model by associating each of the revealed sub-expressions with a node in the XTT model, the node comprising a composite tree node in the XTT modeling different kinds of XPATH expressions, the XTT model being expressed as an aggregation of (a) one or more expression XTT nodes each including either a literal expression, a numerical expression, a path expression or a function expression, function, (b) one or more step XTT nodes modeling a step in the XPATH input expression, and (c) one or more function path nodes each encapsulating a function names as an instance of an XTT token comprising an atomic string token for an XPATH expression;
receiving a selection of an XML document from a hierarchical list including different XML documents from a second portion of the GUI of the debugger tool;
applying each of the ordered sub-expressions in the XTT model to the selected XML document;
rendering a visual representation of the model in a third portion of the GUI of the debugger tool; and,
responsive to receiving a selection of one of the sub-expressions rendered as a node in the model in the third portion of the GUI, differentially visually emphasizing, in a fourth portion of the GUI of the debugger tool, each portion of the selected XML document corresponding to a result set resulting from the application of the selection of the one of the sub-expressions to the selected XML document.

US Pat. No. 10,394,684

DETERMINING A USER HABIT

GOOGLE LLC, Mountain Vie...

1. A method implemented by one or more processors, comprising:identifying a plurality of past activity occurrences of a user, each of the past activity occurrences including an interaction indicator and one or more trigger indicators,
wherein the interaction indicator for each of the past activity occurrences includes:
at least one interaction entity interacted with during the past activity occurrence;
determining a group of the past activity occurrences of the user based on similarity between the past activity occurrences of the group;
determining at least one habit interaction entity based on the at least one interaction entity of the group;
determining one or more habit trigger indicators based on the trigger indicators of the group;
associating a user habit with the user, the user habit including the at least one habit interaction entity and the habit trigger indicators;
receiving activity data that is based on one or more of: a location of a computing device of the user, an action via the computing device, and a current temporal indicator;
determining that the activity data is indicative of one or more of the habit trigger indicators of the user habit; and
based on determining that the activity data is indicative of one or more of the habit trigger indicators:
providing, to the computing device or an additional computing device of the user, a recommendation for presentation via the computing device or the additional computing device, wherein the recommendation is based on the habit interaction entity of the user habit and includes a selectable element that, when selected, causes performance, via the computing device or the additional computing device, of an action directed to the habit interaction entity.

US Pat. No. 10,394,683

DATA TRANSMISSION METHOD, NON-TRANSITORY STORAGE MEDIUM, DATA TRANSMISSION DEVICE, LITHOGRAPHY APPARATUS, AND METHOD OF MANUFACTURING PRODUCT

CANON KABUSHIKI KAISHA, ...

1. A data transmission method of transmitting data of log information recorded in log data of a manufacturing apparatus to an external device, the data transmission method comprising:storing correspondence information including information of a first identifier and information of a second identifier corresponding to the first identifier, the first identifier being an identifier used to identify a thing about a process performed by the manufacturing apparatus and being used by both of the manufacturing apparatus and the external device, the second identifier being an identifier used to identify a thing about a process performed by the manufacturing apparatus and being used by the manufacturing apparatus; and
obtaining, based on the correspondence information, information of the first identifier corresponding to information of the second identifier recorded in log information, and transmitting data of the log information to which the obtained information of the first identifier has been added,
wherein the storing and the obtaining are executed by an information processing apparatus,
wherein, in the storing, information of an event time corresponding to the information of the first identifier and the information of the second identifier is added, and correspondence information is stored, and
wherein, in the obtaining, if there are a plurality of identical pieces of information of the second identifier of the log information in the correspondence information, information of an event time corresponding to a piece of information of the second identifier closest to information of an event time of the log information is obtained based on the correspondence information, and information of the first identifier corresponding to the information of the event time is acquired.

US Pat. No. 10,394,682

GRAPHICAL LOCK ANALYSIS

VMware, Inc., Palo Alto,...

1. A method comprising:executing a computing device for a predetermined time interval and recording data related to the execution of the computing device into a log;
analyzing the data recorded into the log to identify blocking relationships between threads executing on the computing device, wherein blocking relationships comprise lock contention information related to a first thread being blocked by a second thread due to the first thread being unable to acquire a lock on an object because the second thread is holding the lock on the object;
plotting the data into a graph data structure comprising:
a plurality of nodes, each node representing one of the threads executing on the computing device; and
links between the nodes that indicate the blocking relationships between the threads;
displaying on a visual display a visual representation of the graph data structure, the visual representation illustrating each node with a corresponding shape wherein a first visual parameter of the shape varies based on a number of nodes that the node blocks and a second visual parameter of the shape varies based on a number of nodes that block the node, wherein the illustration of the nodes further relates to how the nodes are deemed to impact efficiency of operation of the computing device; and
identifying a thread to be optimized based on at least one of the number of nodes that the node associated with the thread blocks or the number of nodes that block the node associated with the thread.

US Pat. No. 10,394,681

PROFILING OPERATING EFFICIENCY DEVIATIONS OF A COMPUTING SYSTEM

Lenovo Enterprise Solutio...

1. A method comprising:by first programming instructions on a computing system:
generating in a controlled environment a profile of expected operating efficiency for the computing system in an ideal configuration, the controlled environment comprising a non-performance environment in which the computing system is tested without interference from performance conditions, the ideal configuration comprising a configuration of the computing system with no known causes for reduced operating efficiency;
for each of a plurality of alternative configurations of the computing system, wherein each of the alternative configurations includes a variation of the ideal configuration that introduces a deviation in operating efficiency of the computing system, said variation comprising a root cause of the deviation, wherein at least one of the plurality of alternative configurations of the computing system includes an external impedance to air flow through the computing system:
monitoring operating efficiency of the computing system;
identifying, from the monitored operating efficiency, a deviation of operating efficiency from the expected operating efficiency; and
recording, in a data structure, an association of the deviation and the root cause of the deviation;
monitoring operating efficiency of the computing system in a performance environment;
identifying for the computing system in the performance environment, in dependence upon the profile of expected operating efficiency for the computing system, a deviation from the expected operating efficiency; and
determining, in dependence upon the identified deviation, a root cause of the identified deviation of the computing system in the performance environment from the recorded associations of deviations and root causes.

US Pat. No. 10,394,680

TECHNIQUES FOR TRACKING GRAPHICS PROCESSING RESOURCE UTILIZATION

Microsoft Technology Lice...

1. A method for reporting memory resource usage by a graphics processing unit (GPU), comprising:receiving, by a memory tracking application, a list of memory resources allocated for the GPU;
displaying, by the memory tracking application, an indication of memory resource utilization based on the list of memory resources;
receiving, by the memory tracking application and as transmitted by the GPU executing on a separate device from the memory tracking application, multiple indications that one or more of the memory resources allocated for the GPU are accessed; and
updating, by the memory tracking application, the indication of memory resource utilization based at least in part on the multiple indications.

US Pat. No. 10,394,679

LOCALITY-AWARE SCHEDULING FOR NIC TEAMING

NICIRA, INC., Palo Alto,...

1. A non-transitory machine readable medium storing a program which when executed by a set of processing units distributes packets processed at a plurality of sockets, wherein each socket of the plurality of sockets is associated with a corresponding set of network interface controllers (NICs) local to the socket, wherein at least two NICs local to at least two different sockets are grouped as a NIC team, the program comprising sets of instructions for:identifying a socket associated with a packet;
identifying a NIC team over which to distribute packets associated with the identified socket, at least one NIC of the NIC team local to the identified socket;
determining whether at least one NIC of the NIC team local to the identified socket is active;
selecting a particular NIC of the set of teamed NICs by:
when at least one NIC of the NIC team local to the identified socket is active, retrieving a list of active NICs local to the identified socket from a data structure for the NIC team and selecting the particular NIC from the retrieved list of active local NICs; and
when none of the NICs of the NIC team local to the identified socket are active, retrieving a list of active NICs local to sockets other than the identified socket from a data structure for the NIC team and selecting the particular NIC from the retrieved list of active NICs local to other sockets; and
sending the packet to the selected particular NIC.

US Pat. No. 10,394,678

WAIT AND POLL INSTRUCTIONS FOR MONITORING A PLURALITY OF ADDRESSES

INTEL CORPORATION, Santa...

1. A processor core comprising:a decode circuit to decode an instruction;
a monitor circuit, wherein the monitor circuit includes a data structure to store a plurality of entries for addresses that are being monitored by the monitor circuit and a triggered queue to store a plurality of addresses for which a triggering event occurred; and
an execution circuit to execute the decoded instruction to dequeue an address from the triggered queue and return the dequeued address in response to a determination by the execution circuit that the triggered queue is not empty and to immediately return an indication that a triggering event for an address being monitored by the monitor circuit has not occurred in response to a determination by the execution circuit that the triggered queue is empty.

US Pat. No. 10,394,677

METHOD TO EFFICIENTLY AND RELIABLY PROCESS ORDERED USER ACCOUNT EVENTS IN A CLUSTER

International Business Ma...

1. A computer implemented cluster aware target user identification (target-UID) locking method comprising:obtaining, by the processor, information from a target UID lock table, wherein the target UID lock table includes a lock row including a target, a cluster processing node associated with the target, a user identification (UID) associated with the target, a lock time associated with the UID, and an identification of a beginning event in an event group of events from a target event table;
reserving the events in the event group for processing by the cluster processing node which triggers a query;
inserting, by the processor, pickup time values and server ID values for each of the events, wherein the pickup time values contain timestamps when a given event was picked up by the processor, and the server ID values identify a given cluster processing node of a cluster which picked up the event;
grouping, by the processor, the events by the target and the UID while preserving a relative order in an overall event sequence;
submitting, by the processor, the event group to the cluster for processing by particular cluster processing nodes of the cluster in accordance with the server ID values for each of the events;
locking the UID on the target for the lock time; and
processing the beginning event during the lock time, wherein the processing of the beginning event is performed by the cluster processing node.

US Pat. No. 10,394,676

GENERATION DEVICE, GENERATION METHOD, AND PROGRAM

International Business Ma...

1. A generation device for generating a test sequence to be supplied to a test target without defining an operation sequence in detail, the generation device comprising:a first reception unit receiving, from a user terminal, prohibition rule information for defining combinations of values that cannot be used, for parameters as factors included in a test vector;
a test vector generation unit selecting, for each of a plurality of parameters to be included in the test vector, one value from among possible values for the parameter to generate a plurality of test vectors whose combinations of values are different from each other and whose use is permitted, on the basis of the prohibition rule information,
wherein the test vector generation unit generates the plurality of test vectors that cover all possible patterns taken by combinations of values, according to an orthogonal table, for a predetermined number of parameters of the plurality of parameters;
a second reception unit receiving commutativity information indicating a condition of values of the plurality of parameters under which order of two or more test vectors is changeable;
an extraction unit extracting, as a plurality of partial sequences each including one or more test vectors, a plurality of portions of a series comprising an output of the plurality of test vectors by the test vector generation unit, wherein the extraction unit extracts the plurality of partial sequences from the series including the plurality of test vectors, based on the commutativity information; and
a test sequence generation unit generating a test sequence based on the extracted plurality of partial sequences, wherein the test sequence generation unit generates the test sequence having a length suppressed within a realistically executable range.

US Pat. No. 10,394,674

LOCAL RECOVERY OF ELECTRONIC SUBSCRIBER IDENTITY MODULE (ESIM) INSTALLATION FLOW

Apple Inc., Cupertino, C...

1. A method for installing an electronic subscriber identity module (eSIM) on an embedded universal integrated circuit card (eUICC), the method comprising:by a device:
receiving, from an eSIM server, a bound profile package (BPP) comprising the eSIM in an encrypted form;
sending a first portion of the BPP to the eUICC at a first time, wherein the eUICC is housed in the device;
receiving a failure code from the eUICC, wherein the failure code indicates a fault in processing the BPP;
when the failure code corresponds to a temporary error:
sending the first portion of the BPP to the eUICC at a second time as part of a renewed installation attempt; and
when the failure code does not correspond to a temporary error:
sending a notification to the eSIM server, wherein the notification is based on the fault.

US Pat. No. 10,394,673

METHOD AND SYSTEM FOR HARDWARE ACCELERATED COPYBACK

Avago Technologies Intern...

1. A method for performing a hardware assisted copyback, the method comprising:predictively determining that an online data storage drive will experience a failure within a predetermined amount of time;
in response to predictively determining that the online data storage drive will experience the failure, identifying a spare data storage drive as a copyback destination drive for the online data storage drive;
initiating a copyback process to move data from the online data storage drive to the spare data storage drive, the copyback process comprising:
setting an indicator in hardware to divert all write completions on the online data storage drive;
while the indicator in hardware is set to divert the write completions, incrementing on a per-strip basis a copy of data from the online data storage drive to the spare data storage drive;
only after all data from the online data storage drive has been copied to the spare data storage drive, changing the setting of the indicator in hardware so that write requests received for the online data storage drive during the copyback process are re-issued to the spare data storage drive; and
enabling a read request to be processed through hardware for data stored on the online data storage drive in an accelerated path during the copyback process;
locking a desired row range where the copyback is expected to start; and
removing the desired row range from a dirty list so that a flush operation is not issued on the desired row range during the copyback process.

US Pat. No. 10,394,672

CLUSTER AVAILABILITY MANAGEMENT

International Business Ma...

1. A method, comprising:operating a first logical partition having transferable partition resources in a first physical processing complex of a server cluster in an active mode which includes operating an operating system and actively performing input/output operations between a host and a storage system, and a second logical partition having transferable partition resources in the same first physical processing complex and in a quiesced standby mode which includes operating an operating system but is otherwise substantially inactive as compared to said active mode wherein the transferable partition resources transferred to the second logical partition in the quiesced standby mode are reduced as compared to the transferrable partition resources transferred to the first logical partition in the active mode;
detecting a failure in a second physical processing complex different from the first physical processing complex of the server cluster;
in response to said failure detection, activating the standby logical partition in the first physical processing complex to operate in an active mode so that both the first and second logical partitions of the first physical processing complex operate in the active mode; and
subsequent to activating the second logical partition, transferring partition resources from the first logical partition to the second logical partition while the first logical partition remains in the active mode;
wherein said active mode operating includes providing access to a shared resource of data storage disk drives for a logical partition operating in an active mode and wherein said quiesced standby mode operating includes denying access to said shared resource of data storage disk drives for a logical partition operating in a quiesced standby mode.

US Pat. No. 10,394,671

FAULT-TOLERANT, SERVICEABLE AUTOMATION SYSTEM

TTTech Computertechnik AG...

1. A fault-tolerant, maintainable automation system comprising:at least two central computers; and
a process periphery that is remote from the at least two central computers, wherein the at least two central computers are configured to communicate with and/or control the process periphery,
wherein the at least two central computers are fail-silent fault containment units (FCUs) and represent autonomous exchange units,
wherein a first central computer of the at least two central computers is configured to initially assume a role of an active central computer and a second central computer of the at least two central computers is configured to initially assume a role of a passive central computer,
wherein the role of the active central computer includes:
carrying out communications with and/or controlling the process periphery,
exchanging timed status messages via one or more local wireless communication channels with the process periphery, and saving a current status of the process periphery, and
periodically transmitting at least one sign-of-life message to the passive central computer on a first local wireless communication channel of the one or more local wireless communication channels, and
wherein the role of the passive central computer includes:
acknowledging a receipt of a first sign-of-life message of the at least one sign-of-life messages from the active central computer in a second sign-of-life message sent to the active central computer and monitoring the one or more local wireless communication channels for a time-out period, and
wherein the second central computer is configured to assume the role of the active central computer if the second central computer does not receive a sign-of-life message from the first central computer during the time-out period, and
wherein the first central computer is configured to autonomously attempt to restart and, following a successful restart, is configured to monitor communications traffic within a cluster, the cluster comprising the first central computer, in order to ascertain a current status of the cluster, and
wherein the first central computer assumes the role of the passive central computer and informs the second central computer, which assumed the role of the active central computer, that the first central computer is performing the role of the passive central computer, and
wherein, if the restart is unsuccessful, the first central computer is configured to indicate a permanent error.

US Pat. No. 10,394,670

HIGH AVAILABILITY AND DISASTER RECOVERY SYSTEM ARCHITECTURE

Verizon Patent and Licens...

1. A system, comprising:a set of interfaces to provide a first device with connectivity to a first data center;
a second device to provide a uniform resource identifier (URI) resolution or routing service among the first data center and a second data center,
the first data center and the second data center being physically separated,
the URI configured to access the first data center when the first data center is not experiencing an outage and configured to access the second data center when the first data center experiences the outage,
the second device providing a first failover service among devices associated with the first data center for the set of interfaces;
a first set of devices to provide a first resource to provide a first application or a first environment to run the first application;
a second set of devices to provide a second resource to provide a second application or a second environment to run the second application,
the second set of devices including a set of process orchestration (PO) application devices;
the second device providing a second failover service for the first set of devices and the second set of devices; and
a first database cluster to provide first software or a first service related to clustering a third set of devices or providing a threshold level of availability for the third set of devices,
the first database cluster providing a third failover service for the third set of devices.

US Pat. No. 10,394,669

TIME-TRIGGERED PROCESS FOR THE PERIODIC FAULT-TOLERANT TRANSMISSION OF REAL-TIME DATA IN A DISTRIBUTED COMPUTER SYSTEM

TTTech Computertechnik AG...

1. A time-triggered fault-tolerant method for periodic transmission of real time data in a distributed computer system, which distributed computer system is comprised of a plurality of node computers (201-208) and a plurality of distributor units (211-215), wherein the node computers (201-208) and the distributor units (211-215) have access to a global time, and wherein real time data are transmitted by time-triggered real time messages, the method comprising:selecting distributor units (212, 213, 214, 215) to form a central structure of distributor units; and
transmitting during a periodic communication round (PCR), in an error-free case, at least two copies of each of the time-triggered real time messages to be sent via at least two independent routes through the central structure, by executing a satisfactory or optimal time plan, from a start distributor unit in the central structure to a target distributor unit in the central structure such that in an error case, error handling begins immediately after an error detection time point contained in the satisfactory or optimal time plan.

US Pat. No. 10,394,668

MAINTAINING CONSISTENCY USING REVERSE REPLICATION DURING LIVE MIGRATION

VMware, Inc., Palo Alto,...

1. A system for effectively reversing replication during live migration, said system comprising:a memory area associated with a computing device, said memory area storing a consistency group (CG) of a plurality of source processes; and
a processor programmed to:
in response to receiving a request to perform a live migration of the CG of source processes on one or more source hosts and storage to a plurality of destination processes on one or more destination hosts and storage, perform the live migration of the CG of the source processes by transferring data representing the source processes to the destination hosts and storage;
during the live migration of the CG, intercept input/output (I/O) writes to the migrated source processes and apply the intercepted I/O writes to the CG on the source hosts; and
restore, in response to a failure during the live migration of the CG, the destination processes using the CG on the source hosts.

US Pat. No. 10,394,667

SYSTEM AND METHODS FOR BACKING UP AND RESTORING DATABASE OBJECTS

1. A method for backing up and restoring one or more updates to metadata of one or more files containing content stored in a database, comprising:receiving the one or more updates to the metadata of the one or more files, wherein the metadata is to be included in the one or more files;
entering the one or more updates to the metadata of the one or more files into a first database table of the database, wherein the first database table comprises dirty data, the dirty data indicating that the one or more updates to the metadata has not yet been included in the one or more files;
generating at least one backup file of the first database table in computer-readable storage that is communicatively connected with the database; and
restoring the one or more updates to the metadata by:
creating a recovery table within the database, wherein the recovery table is populated with data from the at least one backup file;
determining which of the one or more files to apply the one or more updates to by searching one or more entries in the recovery table for an identifier of the one or more files; and
adding the one or more updates to the metadata from the recovery table to the corresponding one or more files that matches the identifier identified from the recovery table such that the one or more updates to the metadata are included with the content in the one or more files.

US Pat. No. 10,394,666

MANAGING REMOTE DATA REPLICATION

INTERNATIONAL BUSINESS MA...

1. A method comprising:storing a first disk and a second disk at a first site, the first disk storing input/output (I/O) data for a host system, the second disk being a point-in-time copy of the first disk;
storing a first disk and a second disk at second site that is remote from the first site, the first disk of the second site being a synchronous replication of the first disk of the first site, and the second disk of the second site being a point-in-time copy of the first disk of the second site;
storing a first disk, a second disk, and a third disk at third site that is remote from the first site and the second site, the first disk of the third site being a synchronous replication of the second disk of the first site;
responsive to a loss of the first site, transferring the storing of I/O data from the first disk of the first site to the first disk of the second site;
determining whether a replication of the I/O data from the second disk of the first site to the first disk of the third site was being performed at the loss; and
responsive to determining that the replication of the I/O data from the second disk of the first site to the first disk of the third site was being performed at the loss, starting a synchronous replication of the second disk of the second site to the third disk of the third site.

US Pat. No. 10,394,665

MANAGING REMOTE DATA REPLICATION

INTERNATIONAL BUSINESS MA...

1. A system comprising:a first site having a first disk for storing input/output (I/O) data for a host system, the first site further having a second disk being a point-in-time copy of the first disk;
a second site that is remote from the first site, the second site having a first disk and a second disk, the first disk of the second site being a synchronous replication of the first disk of the first site, and the second disk of the second site being a point-in-time copy of the first disk of the second site;
a third site that is remote from the first site and the second site, the third site having a first disk, a second disk, and a third disk, the first disk of the third site being a synchronous replication of the second disk of the first site; and
a processor configured to:
responsive to a loss of the first site, transfer the storing of I/O data from the first disk of the first site to the first disk of the second site;
determine whether a replication of the I/O data from the second disk of the first site to the first disk of the third site was being performed at the loss; and
responsive to determining that the replication of the I/O data from the second disk of the first site to the first disk of the third site was being performed at the loss, start a synchronous replication of the second disk of the second site to the third disk of the third site.

US Pat. No. 10,394,664

IN-MEMORY PARALLEL RECOVERY IN A DISTRIBUTED PROCESSING SYSTEM

EMC IP Holding Company LL...

1. An apparatus comprising:a distributed processing system comprising a plurality of processing nodes;
each of the processing nodes comprising a processor coupled to a memory and being configured to communicate over one or more networks with other ones of the processing nodes;
the processing nodes comprising respective buffers and respective components of a distributed checkpoint manager of the distributed processing system;
the processing nodes implementing respective ones of a plurality of operators for a processing a data stream in the distributed processing system;
each of the operators being configured to interact with its corresponding one of the buffers and its corresponding one of the components of the distributed checkpoint manager on the corresponding one of the processing nodes;
responsive to a detected fault in a given one of the operators processing the data stream, partitioning other ones of the operators processing the data stream into one or more upstream operators, one or more immediately downstream operators, and one or more further downstream operators, relative to the given faulted operator;
recovering the given faulted operator from a checkpoint captured by its corresponding component of the distributed checkpoint manager; and
in parallel with recovering the given faulted operator, performing different sets of operations for respective ones of the upstream operators, immediately downstream operators and further downstream operators.

US Pat. No. 10,394,663

LOW IMPACT SNAPSHOT DATABASE PROTECTION IN A MICRO-SERVICE ENVIRONMENT

Red Hat, Inc., Raleigh, ...

11. A non-transitory computer-readable storage medium comprising instructions that when executed, by a processing device, cause the processing device to:identify, by the processing device, a transaction queue comprising a plurality of transactions associated with a storage device in a cloud computing environment, each of the transactions comprising an operation to be executed by an application in the storage device, the transaction queue storing identifiers of operations performed by the application;
evaluate whether the transaction queue is in compliance with a snapshot policy associated with the storage device, wherein the snapshot policy indicates a priority level that the operations of the transaction queue are to satisfy, and wherein the priority level of the snapshot policy is configured to be adjusted in view of current available resources for executing a snapshot command;
provide, in view of the transaction queue being in compliance with the snapshot policy, a schedule for executing a snapshot command to generate a point-in-time snapshot associated with the application;
compare a priority status of at least one operation comprised by the transaction queue with a status threshold level associated with the snapshot policy; and
responsive to determining that the priority status of the at least one operation meets the status threshold level, execute, in view of the schedule and subsequent to an execution of the at least one operation, the snapshot command to generate the point-in-time snapshot for at least a portion of the storage device, the point-in-time snapshot comprising state information corresponding to the application.

US Pat. No. 10,394,662

STORAGE APPARATUS AND STORAGE APPARATUS MIGRATION METHOD

Hitachi, Ltd., Tokyo (JP...

1. A method for migrating a first set to a second set, the first set being composed of a first primary volume and a first secondary volume in one of a plurality of systems, the second set being composed of a second primary volume and a second secondary volume in at least another one of the plurality of systems, the method comprising:executing a copy of data stored in the first primary volume to the second primary volume and the second secondary volume;
receiving a write request from an application program operating in a computer during the copy to the second primary volume and the second secondary volume;
storing the data regarding to the write request in both of the first primary volume and the first secondary volume until the copy to both of the second primary volume and the second secondary volume is completed;
providing a virtual volume to which the first primary volume is mapped as a storage area of the virtual volume, and
wherein the copy of the data stored in the first primary volume to the second secondary volume is a replication from the virtual volume to the second secondary volume as a replication pair;
providing the virtual volume as a volume having the same volume identifier with the first primary volume; and
providing the second secondary volume as a volume having the same volume identifier with the first secondary volume,
wherein the copy of the data stored in the first primary volume to the second primary volume is a migration from the virtual volume to the second primary volume, and
wherein after completion of the copy the data stored in the first primary volume to the both of the second primary volume and the second secondary volume, the method further comprises:
swapping volume identifiers of the virtual volume and the second primary volume, provide the second primary volume as the volume having the same identifier with the first primary volume; and
configuring the second set of the second primary volume and the second secondary volume instead of the replication pair of the virtual volume and the second secondary volume.

US Pat. No. 10,394,661

POLICY DRIVEN DATA UPDATES

International Business Ma...

1. A method, executed by at least one processor, the method comprising:generating a snapshot for a plurality of data files within a filesystem, wherein:
the plurality of data files includes a first data file and a second data file;
the first data file references a first data block and the second data file references a second data block; and
the snapshot includes a first snapshot file that references the first data block and a second snapshot file that references the second data block;
receiving a first update request for the first data file, wherein the first update request indicates to update the first data block;
determining the first data file is subject to a backup policy, wherein:
the backup policy includes a file specification and a time specification; and
the file specification includes one or more filename filters;
storing the determination to memory;
responsive to determining that the first data file is subject to the backup policy:
copying the first data block to a third data block; and
updating the first data block, wherein:
subsequent to the first update, the first data file references the updated first data block and the first snapshot file references the third data block; and
the third data block includes data from the first data block from before the update;
receiving a second update request for the second data file, wherein the second update request indicates to update the second data block;
determining that the second data file is not subject to the backup policy; and
responsive to determining that the second data file is not subject to the backup policy, updating the second data block, wherein subsequent to the second update, the second data file references the updated second data block and the second snapshot file references the updated second data block.

US Pat. No. 10,394,660

SNAPSHOT RESTORE WORKFLOW

NetApp, Inc., Sunnyvale,...

1. A method comprising:receiving a first input/output (I/O) request directed towards a logical unit (LUN), the first I/O request processed by a small computer systems interface (SCSI) target at a storage system connected to a storage array, the LUN associated with a host-visible serial number and mapped to a first volume on the storage array, the SCSI target including a first volume identifier associated with the first volume;
creating a snapshot of the first volume;
creating a second volume associated with a second volume identifier based on the snapshot;
updating the SCSI target to replace the first volume identifier with the second volume identifier so as to re-direct a second I/O request directed towards the LUN to the second volume; and
deleting the first volume, wherein the deleting and updating are performed as an atomic operation, wherein the host-visible serial number of the LUN is not restored from the snapshot so as to avoid changing an identity of the LUN.

US Pat. No. 10,394,659

SYSTEM AND METHOD FOR PROVIDING COMPREHENSIVE BACKUP OF MODULAR MOBILE DEVICES

Acronis International Gmb...

1. A system for backing up device data from a modular mobile device, the system comprising:a plurality of interconnected hardware modules that are configured to be attachable and removable from the modular mobile device;
electronic memory configured to store configuration and setting parameters associated with each of the plurality of interconnected hardware modules; and
a processor configured to:
monitor the configuration and
setting parameters to detect additions and modifications to the configuration and setting parameters associated with each of the plurality of interconnected hardware modules by comparing previous configurations setting parameters stored in the memory of the modular mobile device with the detected additions and modifications;
transmit the detected additions and modifications to a data storage device; and
execute a data backup indicating a current state of the configuration and setting parameters associated with each of the plurality of hardware modules.

US Pat. No. 10,394,658

HIGH SPEED SNAPSHOTS MECHANISM

EMC IP Holding Company LL...

1. A system, comprising:a processor; and
a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
use a smart snap controller to configure backup storage to automatically take one or more snapshots of a protected device, wherein the smart snap controller configures the backup storage, including by:
selecting, from a plurality of application program interfaces, an application program interface for the backup storage based at least in part on the type of the backup storage; and
using the selected application program interface to configure a snapshot schedule in the backup storage that is associated with one or more times at which to automatically take a snapshot of the protected device; and
use the smart snap controller to communicate with the backup storage according to a cataloging schedule in order to generate cataloged metadata associated with any uncatalogued snapshots of the protected device that have been automatically taken by the backup storage wherein:
the cataloged metadata is sent from the smart snap controller to a cataloged metadata table associated with a backup server; and
the cataloging schedule is based at least in part on the snapshot schedule such that there are at least two uncatalogued snapshots to be cataloged when the smart snap controller contacts the storage device to begin cataloging.

US Pat. No. 10,394,657

USER AUTHORIZATION FOR FILE LEVEL RESTORATION FROM IMAGE LEVEL BACKUPS

Veeam Software AG, Baar ...

17. A computer program product comprising a non-transitory computer readable medium including computer control logic stored therein, wherein the computer control logic, when executed by one or more processors, enables a method for user authorization for file level restoration from an image level backup, the method comprising:saving, during backup or replication activity to a database, a plurality of user accounts belonging to an access control group associated with a machine located on a host system, the machine having at least one image level backup stored on a backup server;
receiving, by the backup server, a restoration request from a user system via a backup application user interface on the virtual machine, the restoration request including a first machine identifier and a user identifier of a user currently logged onto the machine through the user system, wherein the restoration request is configured to request access to the at least one image level backup;
retrieving, by the backup server, a second machine identifier associated with the machine from the at least one image level backup;
performing a comparison between the first machine identifier and the second machine identifier associated with the machine;
accepting the restoration request based at least in part on the comparison between the first machine identifier and the second machine identifier; and
based on accepting the restoration request, transmitting an acceptance response to the machine, wherein the acceptance response is configured to cause the backup application user interface to provide an interface to the user system for selecting an object for restoration from the at least one image level backup.

US Pat. No. 10,394,656

USING A RECOVERY SNAPSHOT DURING LIVE MIGRATION

VMware, inc., Palo Alto,...

1. A system for restoring consistency after performing consistency-breaking operations during live migration, said system comprising:a memory area associated with a computing device, said memory area storing a plurality of source objects in a consistency group (CG); and
a processor programmed to:
in response to receiving a request to perform a live migration of the plurality of source objects on a source host to a destination host, create a snapshot of the CG of the plurality of source objects;
perform the live migration of the source objects from the source host to the destination host, wherein consistency is not maintained during the live migration;
restore, in response to a failure during the live migration, the source objects using the snapshot; and
complete the live migration.

US Pat. No. 10,394,655

METHOD FOR DETECTING ABNORMAL APPLICATION AND MOBILE TERMINAL

BEIJING KINGSOFT INTERNET...

1. A method for detecting an abnormal application, comprising: detecting a system event of a mobile terminal; reading process information based upon the system event Mg being a triggering system event, and determining whether a restarting process exists according to the process information; recording a number of restarting of the restarting process in a preset period; and determining that an application corresponding to the restarting process is abnormal, if the number of restarting is greater than a preset threshold; and wherein the system event is the triggering system event, if the system event is being one of: a broadcasting system event, a memory shortage alarming system event, an application abnormally restarting system event and an application abnormally exiting system event.

US Pat. No. 10,394,654

METHOD AND APPARATUS FOR HYBRID FIRMWARE BOOT

Intel Corporation, Santa...

1. A computer boot apparatus for controlling a computer boot up procedure, comprising:a primary boot component that is fixedly mounted in a computer, comprising:
a firmware element that is in a non-volatile memory, comprising:
a boot critical portion comprising instructions that, when executed on a processor, initiate a boot of the computer;
a first version identifier; and
a policy manager;
wherein
the primary boot component is to initialize the boot of the computer via the boot critical portion;
the policy manager is to verify and authenticate a secondary boot component that is removably attached to the computer;
the primary boot component utilizes a Serial Peripheral Interface NOR component; and
the secondary boot component utilizes a Non-volatile Memory Express (NVMe) component.

US Pat. No. 10,394,653

COMPUTING IN PARALLEL PROCESSING ENVIRONMENTS

Mellanox Technologies, Lt...

1. A compute node comprises:a multicore processor device including:
a plurality of cores, with multiple ones of the plurality of cores each comprising a processor; and
switching circuitry configured to couple the processor to a network among the plurality of cores; the node configured to:
detect presence of a potential deadlock condition between a device that communicates with a node over a serial peripheral interconnect, and memory;
generate by the node in response to the detection of the potential deadlock condition, a transaction to cause the device to rollback all write transactions that are currently in progress at the serial peripheral interconnect to temporarily remove the write transactions from the serial peripheral interconnect; and
cancel the rolled back write transaction.

US Pat. No. 10,394,652

MEMORY SYSTEM FOR PERFORMING READ RETRY OPERATION AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory system, comprising:a semiconductor memory device configured to include a plurality of memory blocks and a read retry storing unit, wherein each memory block includes a plurality of memory cells; and
a controller configured to control the semiconductor memory device to perform a read operation for selected memory cells among the plurality of memory cells and configured to transmit read retry table information to the semiconductor memory device when a read operation for the selected memory cells fails,
wherein the semiconductor memory device is further configured to determine a read retry voltage based on a read retry table stored in the read retry storing unit and the read retry table information received from the controller, and to perform a read retry operation with the read retry voltage,
wherein the controller does not fetch the read retry table from a Random-Access Memory (RAM) of the controller when the read retry voltage is determined by the semiconductor memory device,
wherein the read retry table is stored in one memory block among the plurality of memory blocks,
wherein the semiconductor memory device reads the read retry table from the one memory block and stores the read retry table in the read retry storing unit when power is supplied to the memory system, and
wherein the read retry table information is a set number indicating one among a plurality of offset voltages included in the read retry table.

US Pat. No. 10,394,651

COMPUTING SYSTEM WITH CIRCULAR-SHIFT RECOVERY MECHANISM AND METHOD OF OPERATION THEREOF

CNEX LABS, Inc., San Jos...

1. A computing system comprising:an array of storage devices configured to provide access to storage data and check data corresponding to a data block length; and
a storage engine, coupled to the array of storage devices, configured to:
detect one more erroneous data, one more erroneous check data, or a combination thereof for representing the storage data, the check data, or a combination thereof inaccessible or failing a status check process after initial storage thereof,
determine a prime shift factor for representing a smallest prime number not less than a block unit-quantity, wherein the block unit-quantity is for representing a quantity of shift units within the data block length, and
iteratively generate a target recovery set based on a circular-shift mechanism utilizing the prime shift factor for recovering originally stored data from the one more erroneous data, the one more erroneous check data, or a combination thereof.

US Pat. No. 10,394,650

MULTIPLE WRITES USING INTER-SITE STORAGE UNIT RELATIONSHIP

INTERNATIONAL BUSINESS MA...

1. A method comprises:determining, by a first computing device of a plurality of computing devices of a dispersed storage network (DSN), whether the first computing device is to write a set of encoded data slices to a sharing group of sites;
in response to a determination by the first computing device to write a set of encoded data slices to a sharing group of sites, utilizing, by the first computing device, a first writing pattern of a plurality of writing patterns to write a set of encoded data slices to a sharing group of sites, wherein each site of the sharing group of sites includes a set of storage units interconnected via a local area network, wherein the first writing pattern includes writing a write threshold number of encoded data slices to storage units of a first site of the sharing group of sites and writing a remaining number of encoded data slices to one or more storage units of one or more other sites of the sharing group of sites, and wherein the first computing device is affiliated with the first site;
sending, by at least some of the storage units of the set of storage units of the first site, one or more copies of encoded data slices of up to the write threshold number of encoded data slices to other storage units in the sharing group of sites in accordance with an inter-site storage unit relationship; and
based on the inter-site storage unit relationship, sending, by the one or more storage units of one or more other sites of the sharing group of sites, one or more copies of encoded data slices of the remaining number of encoded data slices to still other storage units in the sharing group of sites in accordance with the inter-site storage unit relationship, wherein each site of the sharing group of sites stores encoded data slices numbering the write threshold number.

US Pat. No. 10,394,649

FIRST READ SOLUTION FOR MEMORY

SanDisk Technologies LLC,...

1. An apparatus, comprising:word line layers separated by dielectric layers in a stack;
a set of memory cells arranged along vertical pillars in the stack; and
for each word line layer, a respective pulldown circuit comprising a transistor and a resistor in a path which connects the word line layer to ground.

US Pat. No. 10,394,648

METHOD TO DELIVER IN-DRAM ECC INFORMATION THROUGH DDR BUS

SAMSUNG ELECTRONICS CO., ...

1. A data chip, comprising:a data array;
read circuitry to read raw data from the data array;
a buffer to store the raw data read from the data array by the read circuitry;
a mask register to store a pollution pattern, wherein the pollution pattern includes both 0s and 1s;
a data pollution engine to modify the raw data stored in the buffer using the pollution pattern stored in the mask register to produce a polluted data; and
transmission circuitry to transmit the polluted data from the buffer.

US Pat. No. 10,394,647

BAD BIT REGISTER FOR MEMORY

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:configuring, in a non-volatile random access memory, a suspect bit register to store addresses of bits that are determined to have had errors; and
configuring, in the non-volatile random access memory, a bad bit register to store addresses of bits that both (i) appeared in the suspect bit register due to a first error and (ii) are determined to have had a second error occur after the addresses of the bits have already been stored in the suspect bit register.

US Pat. No. 10,394,646

INCREMENTAL DATA VALIDATION

EMC IP Holding Company LL...

1. A method of performing data validation comprising:determining, using a processor, an expected sequence of characters including a plurality of groups, each of the plurality of groups including a first expected sequence of one or more characters representing encoded information and a second expected sequence of one or more data validation characters determined in accordance with a corresponding portion of the expected sequence, the portion including at least the first expected sequence of one or more characters of said each group, wherein the expected sequence of characters includes a space character between each of the plurality of groups, and wherein, for each of the plurality of groups, the one or more data validation characters of the second expected sequence of said each group is determined using all non-space characters of the expected sequence of characters preceding said each group in the expected sequence of characters and excluding any of the space characters; and
performing, using a processor, data validation processing incrementally as data for each of the plurality of groups is received, wherein the data validation processing performed as data for said each group is received uses a received sequence of one or more data validation characters corresponding to the second expected sequence of one or more data validation characters of said each group, wherein performing data validation processing incrementally includes:
receiving a first input string including a first portion corresponding to a first of the plurality of groups, the first portion including a first received data sequence of one or more characters corresponding to the first expected sequence of one or more characters of the first group, the first portion including a first received data validation sequence of one or more data validation characters corresponding to the second expected sequence of one or more data validation characters of the first group;
performing data validation processing for the first input string after receiving the first portion;
receiving a second input string including the first portion and a second portion corresponding to a second of the plurality of groups different from the first group, said first group occurring in the expected sequence prior to the second group, the second portion including a second received data sequence of one or more characters corresponding to the first expected sequence of one or more characters of the second group, the second portion including a second received data validation sequence of one or more data validation characters corresponding to the second expected sequence of one or more data validation characters of the second group; and
performing data validation processing for the second input string after receiving the second portion.

US Pat. No. 10,394,645

CORRECTING OPERATIONAL STATE AND INCORPORATING ADDITIONAL DEBUGGING SUPPORT INTO AN ONLINE SYSTEM WITHOUT DISRUPTION

Cisco Technology, Inc., ...

1. A computer-implemented method of using a set of loadable functions to facilitate diagnosis and correction of error states of one or more running processes without requiring process termination, the computer-implemented method comprising:dynamically by operation of one or more computer processors, and without terminating any of the one or more running processes:
upon determining that the one or more running processes are in an error state, loading a debug function into a library statically linked to the one or more running processes;
extracting diagnostic information of the one or more running processes by invoking the debug function;
loading a change function into the library statically linked to the one or more running processes, for invocation in order to correct the error state of the one or more running processes, wherein the change function is based on the extracted diagnostic information; and
for each of at least one of the debug function and the change function, removing the respective function from the library statically linked to the one or more running processes, after the respective function is invoked.

US Pat. No. 10,394,644

PROCESSOR SYSTEM, ENGINE CONTROL SYSTEM AND CONTROL METHOD

RENESAS ELECTRONICS CORPO...

1. A processor system comprising:a master processor;
a checker processor; and
a control circuit that controls the master processor and the checker processor,
wherein when an address fetched by the master processor is a predetermined address, the control circuit controls the master processor and the checker processor to process a task associated with the address in lock-step mode,
wherein the control circuit performs control so that a period from when a task is processed in lock-step mode to when another task is processed in lock-step mode is equal to or shorter than a maximum test period,
wherein the maximum test period is defined by subtracting a sum of a fault reaction time and a time necessary for a test process, from a fault tolerant time interval,
wherein the fault reaction time is a period from when a fault is detected to when the processor system changes to a stopped state, and
wherein the fault tolerant time interval is a period from when the fault occurs in the processor system to when the processor system changes to the stopped state.