US Pat. No. 10,140,350

BI-DIRECTIONAL SYNCHRONIZATION OF DATA BETWEEN A PRODUCT LIFECYCLE MANAGEMENT (PLM) SYSTEM AND A SOURCE CODE MANAGEMENT (SCM) SYSTEM

Dassault Systemes America...

1. A computer-implemented method for automatically updating imported information in a destination system upon a change to a corresponding module in a source system, the method comprising:responsive to the user performing a structure change to a source module in the source system, generating a trigger indicating the structure change to send to the destination system;
responsive to the destination system detecting a change to a source module in the source system by receiving the trigger, changing the source module corresponding to an imported module of the destination system;
loading breadcrumbs in the source system corresponding to the source module;
determining, based on the loaded breadcrumbs, destination modules linked to the changed source module;
exporting changes to the destination modules at the destination system from the source system;
blocking new update threads from starting at the destination system;
waiting for other running threads to complete;
blocking a trigger from starting an automatic update process;
performing updates needed by the update process;
unblocking the trigger; and
allowing new threads to be started;
wherein either (i) the destination system is a product lifecyle management (PLM) system and the source system is a source code management (SCM) system, or (ii) the destination system is a SCM system and the source system is a PLM system.

US Pat. No. 10,140,349

METHOD AND/OR SYSTEM FOR TRANSFORMING BETWEEN TREES AND STRINGS

Robert T. Jenkins, Sacra...

1. A method of converting signal values for a first expression for more convenient processing and/or storage, the method comprising:accessing, from memory, signal values for the first expression;
transforming the signal values for the first expression in a first view to signal values for the first expression in a second view,
wherein the signal values for the first expression in the first view comprise at least one of a symbol value, a numerical value, or an alphabetic value; and
wherein the first expression in the second view comprises at least one of the following expression types: a hierarchical edge or node labeled tree or a symbol string; and
storing, in the memory, the signal values corresponding to the first expression in the second view.

US Pat. No. 10,140,348

SYSTEM FOR AUTOMATICALLY TRACKING DATA THROUGH A PLURALITY OF DATA SOURCES AND PLURALITY OF CONVERSIONS

11. A method of data tracking a source dataset comprising a plurality of data elements in a computer system comprising a memory, a processor, and a plurality of software instructions, the software instructions when executed by the process cause the process to execute the method comprising the steps of:receiving, from a client device, data conversion instructions for one or more data elements of the plurality of data elements, at a data build manager;
storing, by the data build manager, the data conversion instructions as conversion metadata;
associating, by the data build manager, the conversion metadata with the source dataset in the memory;
creating, by the data build manager, a unique version number based on the conversion metadata;
creating, by the data build manager, a conversion program from the conversion instructions of the conversion metadata;
executing, by the processor, the conversion program to perform a data conversion on the one or more data elements to form a target dataset comprising one or more converted data elements; and
associating and storing, by the data build manager, the unique version number with the conversion metadata, with the conversion program, and with each converted data element in the memory.

US Pat. No. 10,140,347

EXPOSING DATA TO QUERY GENERATING APPLICATIONS USING USAGE PROFILES

TELEFONAKTIEBOLAGET L M E...

1. A query handling arrangement of computing devices in a federated database system comprising communication layers in which the computing devices operate, the federated database system comprising data storing applications configured to store data in corresponding databases in the federated database system, wherein the data storing applications operate in a first communication layer of the communication layers and the databases operate in a second communication layer of the communication layers, the query handling arrangement of computing devices comprising:a query handling device operating in a third communication layer of the communication layers comprising at least one processor and memory configured to:
receive a database query from a query generating application operating in a fourth communication layer of the communication layers, the query comprising a request to obtain data from the databases operating in the second communication layer,
establish a connection to a data usage profile announcing computing device of the computing devices operating in the second communication layer,
responsive to establishing the connection, receive, from the data usage profile announcing computing device, one or more data usage profiles defining allowed use of the data by the query generating application and location information identifying a location of one or more databases identified in the data usage profiles in the federated database system, wherein the location information comprises addresses of the one or more databases in the second communication layer of the federated database system,
determine at least one of the data usage profiles of the one or more data usage profiles related to the database query,
transmit, to the one or more databases of the databases operating in the second layer identified in the at least one data usage profile, a request to obtain the data identified in the at least one data usage profile using the location information,
receive the obtained data from the databases operating in the second communication layer identified in the database query, and
transmit the obtained data to the query generating application to respond to the database query,
wherein the second communication layer comprises a database layer of the federated database system and wherein the third communication layer comprises a data grid layer of the federated database system.

US Pat. No. 10,140,346

SYSTEMS AND METHODS FOR INTEREST-DRIVEN BUSINESS INTELLIGENCE SYSTEMS INCLUDING GEO-SPATIAL DATA

Workday, Inc., Pleasanto...

21. A method for creating a report utilizing an interest-driven business intelligence system, comprising:performing extract, transform, and load (ETL) processes;
storing raw data in raw data storage using an interest-driven business intelligence system, where the raw data comprises unstructured data;
generating metadata describing the raw data using the interest-driven business intelligence system;
receiving report definitions generated utilizing the metadata describing the raw data using the interest-driven business intelligence system;
automatically generating reporting data requirements derived from report definitions using the interest-driven business intelligence system;
automatically compiling an interest-driven data pipeline that is part of the interest-driven business intelligence system using the reporting data requirements and the raw data;
obtaining geo-spatial data from the interest-driven data pipeline based on the generated reporting data requirements using the interest-driven business intelligence system, where the geo-spatial data comprises a set of dimensions and the geo-spatial data is bounded based on at least one dimension in the set of dimensions;
storing the geo-spatial data in a data mart, wherein the geo-spatial data is stored as first parallel arrays of data with a first parallel array representing second values of a first particular field of data;
filtering the raw data based on the metadata describing the raw data;
applying transformations to the raw data based on the metadata describing the raw data;
generating aggregate data based on the transformed data, wherein the aggregate data comprises structured data generated using ETL processes from the raw data;
storing the aggregate data in the data mart, wherein the aggregate data is stored as second parallel arrays of data with a second parallel array representing second values of a second particular field of data;
identifying ordering data based on a dimension across a plurality of pieces of the geo-spatial data;
ordering, based on the ordering data, the plurality of pieces of the geo-spatial data to obtain ordered geo-spatial data;
determining a fad based on the ordered geo-spatial data;
identifying ordering data based on a dimension across a plurality of pieces of the geo-spatial data;
ordering, based on the ordering data, the plurality of pieces of the geo-spatial data to obtain ordered geo-spatial data;
determining a fad based on the ordered geo-spatial data;
generating reporting data from the reporting data requirements using the interest-driven data pipeline, where the reporting data is based on a portion of the geo-spatial data; and
storing the generated reporting data in the data mart within the interest-driven business intelligence system.

US Pat. No. 10,140,345

SYSTEM, METHOD, AND COMPUTER PROGRAM FOR IDENTIFYING SIGNIFICANT RECORDS

AMDOCS DEVELOPMENT LIMITE...

1. A computer program product embodied on a non-transitory computer readable medium, comprising computer code for:storing, in a database, a plurality of records for a plurality of customers, each record of the plurality of records storing an event sequence associated with customer interactions that includes a plurality of events of different event types;
receiving, via an input device, an indication of one or more aspects associated with one or more of the records;
identifying, based on the indication, a subset of the records having the one or more aspects, the subset including at least two of the records;
processing, utilizing at least one processor, events included in the subset of the records by:
identifying, for each record in the subset of records, an anchor event included therein, the anchor event being an event for which a decision of significance is to be tested,
identifying, for each record in the subset of records, a first subset of events included therein occurring before the anchor event identified for the record and a second subset of events included therein occurring after the anchor event identified for the record,
determining a target measurement value from one of the records in the subset of the records,
calculating a mean measurement value the records in the subset of the records according to the target measurement value, the mean measurement value calculated using the equation:

wherein i is the record identifier of the record,
wherein Xio is a measurement value for the record,
calculating a variance measurement value based on the mean measurement value, the variance measurement value calculated using the equation:

comparing, utilizing the at least one processor, the records in the subset of the records, utilizing the mean measurement value and the variance measurement value, to identify a particular event in a particular record of the subset of the records that causes the particular record to deviate from other records in the subset of the records; and
displaying, via at least one display, an indication of the particular event of the particular record of the subset of the records that causes the particular record to deviate from other records in the subset of the records.

US Pat. No. 10,140,344

EXTRACT METADATA FROM DATASETS TO MINE DATA FOR INSIGHTS

Microsoft Technology Lice...

1. A system comprising:one or more processors; and
one or more computer-readable storage devices having stored thereon instructions that are executable by the one or more processors to configure the computer system to analyze data, including instructions that are executable to configure the computer system to perform at least the following:
obtaining a graph, the graph comprising set of a plurality of data entities and relationships, wherein each data entity represents a node in the graph and each relationship represents an edge connecting a node in the graph to another node in the graph;
identifying a plurality of composite collections of data entities and relationships, each of the plurality of composite collections comprising a subset of the set of a plurality of data entities and relationships, each of the plurality of composite collections comprising a sub-tree of the graph which includes nodes and edges of the graph within a particular relationship scope, and each composite collection of the plurality of composite collections being identified by traversing the graph, beginning at a particular entity for each composite collection and including each entity connected through a connecting relationship associated with the particular relationship scope, and analyzing the associated connecting relationships; and
providing one or more of the plurality of composite collections of data entities and relationships to a data mining engine, each composite collection of data entities and relationships being provided individually, each as a separate unit to the data mining engine.

US Pat. No. 10,140,343

SYSTEM AND METHOD OF REDUCING DATA IN A STORAGE SYSTEM

CA, Inc., New York, NY (...

1. A method of reducing data in a storage system, comprising:accessing the data stored in the storage system by a processor;
parsing the data accessed from the storage system into subsets of data using the processor, the parsing comprising categorizing the subsets of data, in response to a query, into a plurality of categories including a category to determine relevancy, wherein data in the relevancy category is generated by correlating identified patterns to generate a relationship sequence and to correlate each relationship in the relationship sequence, and wherein the relationships are used to determine the relevancy of the data;
for each of the categorized subsets of data, using the processor to
detect the subsets of data to be purged based on a threshold condition having been satisfied, and ranking the subsets of data for which the threshold condition has been satisfied, and
detect the subsets of data to be masked based on a policy having been satisfied, and ranking the subsets of data for which the policy has been satisfied;
individually marking each of the subsets of data based on the ranking for purging using the processor when the threshold condition has been satisfied, and individually marking each of the subsets of data for masking based on the ranking using the processor when the policy has been satisfied;
identifying pattern changes using the processor between each of the subsets of data prior to a first purging and the marked subsets of data for purging or between each of the subsets of data prior to a first masking and the marked subsets of data for masking; and
processing each of the subsets of data, prior to the first purging and prior to the first masking, for permanent changes by reducing the amount of data using the processor when pattern changes satisfying a predetermined criteria have been identified, and providing the permanently changed subsets of data with the reduced amount of data to the storage system for storage.

US Pat. No. 10,140,342

SIMILARITY CALCULATION SYSTEM, METHOD OF CALCULATING SIMILARITY, AND PROGRAM

RAKUTEN, INC., Tokyo (JP...

1. A similarity calculation system for increasing the efficiency of a computer when performing searching, comprising:at least one processor; and
at least one memory device that stores a plurality of instructions, which when executed by the at least one processor, causes the at least one processor to operate to:
acquire a query vector;
acquire a plurality of target vectors;
calculate a similarity between each of the plurality of target vectors belonging to any one of the plurality of clusters and the query vector,
calculate, for each of the plurality of target vectors, a calculation amount to be estimated when calculating the similarity between the each of the plurality of target vectors and the query vector,
cluster the plurality of target vectors based on the calculation amount to be estimated for each of the plurality of target vectors,
wherein, in the calculation, the processor calculates a number of non-zero elements of each of the plurality of target vectors as the estimated calculation amount,
wherein, in the clustering, the processor clusters the plurality of target vectors so that a difference in a total sum of the calculated calculation amounts for all of the plurality of target vectors belonging to each of the plurality of clusters among the plurality of clusters decreases,
wherein, in the clustering, the processor clusters the plurality of target vectors by generating a graph comprising:
a plurality of first nodes that correspond to each of the plurality of target vectors and that has the calculation amount estimated for a corresponding one of the plurality of target vectors as a weight,
a plurality of second nodes corresponding to an element type of the plurality of target vectors, and
a plurality of edges connecting each of the plurality of first nodes to any one of the plurality of second nodes, and by dividing the generated graph based on the weight of each of the plurality of first nodes.

US Pat. No. 10,140,341

METHODS FOR DRUG REPURPOSING AND DEVICES THEREOF

Infosys Limited, Bangalo...

1. A method for drug repurposing, the method comprising:selecting, by a drug repurposing computing device, a set of positive drugs for an indication;
listing, by the drug repurposing computing device, a set of pathways for the set of positive drugs and a set of negative drugs;
determining, by the drug repurposing computing device, when an action is associated with each of the set of positive drugs and the set of negative drugs acting on each of the pathways;
associating, by the drug repurposing computing device, each of the pathways for each of the set of positive drugs and the set of negative drugs with a first index value of a plurality of index values, when the determination indicates that an action is associated with each of the set of positive drugs and the set of negative drugs on each of the pathways;
calculating, by the drug repurposing computing device, a pathway weight for each of the pathways based at least on the first index value of the plurality of index values and on a frequency of occurrence of the each pathway in the set of positive drugs and in the set of negative drugs;
identifying, by the drug repurposing computing device, a drug score for a drug from the negative set of drugs, based on the pathway weight;
associating, by the drug repurposing computing device, each of the pathways for of the set of positive drugs and the set of negative drugs with a second index value of the plurality of index values, when the determination indicates that an action is not associated with each of the set of positive drugs and the set of negative drugs on each of the pathways;
calculating, by the drug repurposing computing device, the pathway weight for each of the pathways based at least on the first index value and the second index value of the plurality of index values and on a frequency of occurrence of the each pathway in the set of positive drugs and in the set of negative drugs;
calculating, by the drug repurposing computing device, a probability score of the drug as a ratio of the drug score and a summation of a set of pathway weights, whereby each pathway weight is a positive value; and
repurposing, by the drug repurposing computing device, a drug for the indication, based on the probability score of the drug.

US Pat. No. 10,140,340

STANDARDIZING ATTRIBUTES AND ENTITIES IN A SOCIAL NETWORKING SYSTEM

Microsoft Technology Lice...

1. A process comprising:receiving into a computer processor data extracted from profiles on a social networking system, the data relating to a personal attribute;
writing the data to a database when a first personal attribute exceeds a first threshold;
generating a plurality of pairings, each of the plurality of pairings comprising the first personal attribute and one of a plurality of other similar personal attributes;
for at least one pairing of the plurality of pairings:
determining a degree of similarity between the first personal attribute and the other similar personal attribute in the at least one pairing;
in response to the degree of similarity between the first personal attribute and the other similar personal attribute exceeding a second threshold, providing a plurality of users an opportunity to provide input regarding the degree of similarity of the at least one pairing;
receiving into the computer processor input from the plurality of users, the input indicating an agreement or disagreement by each of the users regarding the degree of similarity of the at least one pairing; and
writing the at least one pairing to the database based on the input from the plurality of users;
wherein the determination of the degree of similarity between the first personal attribute and the other similar personal attribute is based on all of the following:
a distribution over a plurality of industries of the first personal attribute and the other similar personal attribute;
a co-occurrence within a profile in the social networking service of the first personal attribute and the other similar personal attribute;
a skill within a profile of a connection within the social networking system;
a difference in characters and positions of characters of the first personal attribute and the other similar personal attribute;
a ratio of a number of profiles including the first personal attribute and a number of profiles including the other similar personal attribute; and
a first webpage containing the first personal attribute and a second webpage containing the other similar personal attribute, wherein the first webpage is linked to the second webpage.

US Pat. No. 10,140,339

METHODS AND SYSTEMS FOR SIMULATING A SEARCH TO GENERATE AN OPTIMIZED SCORING FUNCTION

PAYPAL, INC., San Jose, ...

1. A computer-implemented method comprising:with a processor-based data importing module, importing data representing a plurality of search result sets resulting from a plurality of executed search queries, each search result set including a plurality of item listings satisfying a search query from the plurality of executed search queries and a listing slot identifier identifying a position within a search results page of a particular item listing that has resulted in a transaction being concluded, the listing slot identifier determined utilizing a production scoring function specified with one or more parameters that are weighted with a first set of one or more weighting factors;
with a processor-based parameter optimization module, processing the plurality of search result sets to derive a new scoring function, the new scoring function having a second set of one or more weighting factors for one or more parameters, the second set of one or more weighting factors selected to satisfy a set of constraints, the second set of one or more weighting factors being different than the first set of one or more weighting factors, wherein the second set of one or more weighting factors are selected to maximize an average rank shift metric for the plurality of search result sets, the average rank shift metric determined by comparing the listing slot identifier as derived by the production scoring function with a listing slot identifier as derived by a new scoring function for each item listing that has resulted in a transaction being concluded for each search result set of the plurality of search result sets; and
with a processor-based scoring function evaluation module, evaluating the performance of the new scoring function relative to a production scoring function.

US Pat. No. 10,140,338

FILTERING STRUCTURED SEARCH QUERIES BASED ON PRIVACY SETTINGS

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more computing devices:accessing, by the one or more computing devices, a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:
a first-user node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network, wherein each second node is associated with a privacy setting defining a visibility of each edge connected to the second node;
receiving, from a client system of the first user at the one or more computing devices, a structured query selected by the first user, wherein the structured query comprises references to one or more selected nodes from the one or more second nodes and one or more selected edges from the plurality of edges;
identifying, by the one or more computing devices, a set of target nodes corresponding to the structured query, wherein each target node in the set is a second node from the plurality of second nodes that is connected to at least one of the selected nodes by at least one of the selected edges;
filtering, by the one or more computing devices, the set of target nodes based on the privacy setting of each of the selected edges connecting each target node in the set to the selected nodes; and
generating, by the one or more computing devices, search results comprising references to each target node from the post-filtered set that is connected to the first-user node in the social graph by a series of selected nodes and selected edges that have a visibility that is visible to the first user, and wherein each target node is within a threshold degree of separation from the first-user node.

US Pat. No. 10,140,337

FUZZY JOIN KEY

SAP SE, Walldorf (DE)

1. A system comprising:a first memory storing a first database table and a second database table;
a second memory storing processor-executable process steps; and
a processor to execute the processor-executable process steps to cause the system to:
identify a first one or more columns of the first database table as associated with a first entity and a first one or more columns of the second database table as associated with the first entity;
map the data of each row of the first one or more columns of the first database table to respective first rows of a predetermined schema associated with the entity;
map the data of each row of the first one or more columns of the second database table to respective second rows of the predetermined schema associated with the entity;
determine matching ones of the first rows and the second rows;
based on the matching ones of the first rows and the second rows, identify the first one or more columns of the first database table and the first one or more columns of the second database table as a JOIN key between the first database table and the second database table; and
execute a JOIN of the first database table and the second database table by applying the JOIN key.

US Pat. No. 10,140,336

ACCURACY TESTING OF QUERY OPTIMIZERS

Pivotal Software, Inc., ...

1. A computer-implemented method comprising:obtaining, by a testing system comprising one or more computers, a plurality of query plans generated by a plurality of respective query optimizers, each query plan of the plurality of query plans being alternative query plans for computing results for a query;
computing, for each query plan of the plurality of query plans, a respective estimated cost to compute results for the query using the query plan;
executing each query plan of the plurality of query plans to compute a respective actual cost of executing the query plan;
performing a clustering algorithm on the plurality of query plans using the respective estimated cost and respective actual cost to classify each query plan as belonging to a cluster or as being an outlier;
computing, for each query optimizer from query plans generated by the optimizer, a respective rank correlation score, including:
selecting, by the testing system, no more than N different query plans generated by the query optimizer, including selecting at least one outlier according to the clustering algorithm;
generating, by the testing system, (i) a first ranking of query plans generated by the query optimizer, ordered according to the respective actual cost of each query plan generated by the query optimizer, and (ii) a second ranking of query plans generated by the query optimizer, ordered according to the respective estimated cost of each query plan generated by the query optimizer;
computing, by the testing system based at least on the first ranking of the different query plans and the second ranking of the different query plans, a first rank correlation score indicative of an accuracy of the query optimizer in estimating costs associated with executing query plans, wherein determining the first rank correlation score comprises performing a pair-wise comparison of each pair of plans that were incorrectly ranked in the second ranking, including iteratively:
computing a weight of each particular plan, the weight representing a comparison of an actual cost of a highest-ranked plan to an actual cost for the particular plan,
weighting a distance between each pair of incorrectly ranked plans according to a first weight for a first plan and a second weight for a second plan, and
adding the weighted distance for the pair of plans to the first rank correlation score for the query optimizer;
ranking the plurality of query optimizers according to the respective rank correlation score computed for each of the plurality of query optimizers; and
improving performance of a database system, including selecting, by the testing system, as a preferred query optimizer for generating query plans for the database system, a highest-ranked query optimizer according to the ranking of the plurality of query optimizers.

US Pat. No. 10,140,335

CALCULATION SCENARIOS WITH EXTENDED SEMANTIC NODES

SAP SE, Walldorf (DE)

1. A method for implementation by one or more data processors forming at least part of a computer system, the method comprising:receiving, by a database server, a higher-level language query associated with a calculation scenario that defines a data flow model that includes a plurality of calculation nodes, each calculation node defining one or more operations to execute on the database server, at least one of the calculation nodes being a semantic node specifying an operation involving aggregating previously aggregated database elements, the higher-level language query producing erroneous results when aggregating previously aggregated database elements;
modifying, by the database server, the higher-level programming language query using the semantic node, the modified higher-level programming language query producing accurate results;
modifying, by the database server, the calculation scenario based on the modified higher-level programming language query;
instantiating, by the database server, the modified calculation scenario;
executing, by the database server, the operations defined by the calculation nodes of the modified calculation scenario to result in at least one result set; and
providing, by the database server to the application server, the at least one result set.

US Pat. No. 10,140,334

MULTI STAGE AGGREGATION USING DIGEST ORDER AFTER A FIRST STAGE OF AGGREGATION

International Business Ma...

1. A method of processing a database query including an aggregation operation and table grouping columns by a plurality of processing nodes each including a processor, comprising:generating, at each processing node, a digest for each of a plurality of database object elements of that processing node based on a first mathematical hash function applied to the table grouping columns that provides unordered digests across the database object elements, wherein generating a digest includes:
generating a hash value for a first column of the table grouping columns of a database object element; and
utilizing the generated hash value in the first mathematical hash function and applying the first mathematical hash function to a second column of the table grouping columns of the database object element to produce the digest value for that database object element;
mapping, at each processing node, the plurality of database object elements of that processing node into a plurality of groups within a hash table based on a second mathematical hash function applied to a corresponding digest, wherein the second mathematical hash function produces a value different than the digest to identify a group location and preserve order of the digests within the hash table, and wherein locations within the hash table for the groups are ordered based on the order of corresponding digests to arrange the database object elements in the hash table in digest order;
extracting, at each processing node, the database object elements of that processing node sequentially from the plurality of groups in the hash table in digest order;
performing, at each processing node, the aggregation operation on the database object elements of that processing node in digest order to produce aggregation information;
transferring the database object elements and aggregation information in digest order between the plurality of processing nodes, wherein the database object elements within a same group and including a same digest are transferred to a same processing node;
applying, at each processing node, a merge sort to the transferred database object elements in digest order and aggregating the sorted database object elements with a same digest; and
producing resulting data for the database query grouped by the database table grouping columns based on the aggregated sorted database object elements.

US Pat. No. 10,140,333

TRUSTED QUERY SYSTEM AND METHOD

Dassault Systemes, Veliz...

1. A method for performing queries on a search engine, based on input from a user, the method comprising:retrieving database entries from one or more relational databases;
flattening the one or more relational databases with a plurality of the database entries;
indexing the plurality of flattened database entries to form a full-text search engine index;
prompting the user to enter an input;
continuously monitoring the user input;
each time an input is entered by the user, processing the user input by:
computing a set of non-null partial queries in response to the input entered by the user, the non-null partial queries each being both valid on the one or more relational databases and having matching, instantiated records on the one or more relational databases thereby always resulting in non-null responses;
associating a structured item to each non-null partial query;
allowing the user to select one of the structured items;
if the user selects one of the structured items, replacing the user input by the nonnull partial query associated to the selected structured item;
when the user validates the input, executing the input as a query; and
providing documents to the user corresponding to the executed query.

US Pat. No. 10,140,332

METHOD AND SYSTEM FOR DATA CACHE HANDLING

KING.COM LTD., St. Julia...

1. A method implemented in a server, said server configured to support a computer implemented game playable on respective user devices in communication with said server, said method comprising:receiving a request from one of said user devices for one or more records which provide information to said computer implemented game played on the user device;
retrieving any of said one or more records associated with said computer implemented game from a first data store storing a first subset of data if said one or more records is in said first subset of data;
retrieving any of said one or more records associated with said computer implemented game from a second data store storing a second subset of data if said one or more records is in said second subset of data and has not been retrieved from said first data store; and
retrieving any of said one of more records associated with said computer implemented game from a third data store storing said data if said one or more records are not in said first and second subsets of data,
wherein each of said records associated with said computer implemented game of said first subset of data are deleted from said first data store upon expiry of a first set time period since said each record of said first subset of data were stored in said first data store,
wherein each of said records of said second subset of data are deleted from said second data store upon expiry of a second set time period since said each record of said second subset of data were stored in said second data store,
wherein the first time period and the second time period are of different lengths,
wherein the first time period is correlated to at least one of:
a play length of the computer game; and
frequency of user interaction with said computer implemented game.

US Pat. No. 10,140,331

CONDITIONAL COMMIT FOR DATA IN A DATABASE

Matrixx Software, Inc., ...

1. A database, comprising:an interface to receive a first set of information from the database; and
a hardware processor to:
read, via a first process, a first portion of the first set of information without a first read latch occurring during the read in the database, wherein the first portion comprises a first database initial value of a first database entry;
start a first calculation using the first portion of the first set of information;
after the reading of the first set of information is performed, read, via a second process, the first portion and a second portion of the first set of information without a second read latch occurring during the read in the database, wherein the second portion comprises a second database initial value of a second database entry;
update, via the second process, the first set of information to a second set of information in the database, wherein updating is based at least in part on the first database initial value of the first database entry and the second database initial value of the second database entry, wherein updating comprises updating the first database initial value of the first database entry to a first updated value and updating the second database initial value of the second database entry to a second updated value;
after the updating of the first set of information, read, via the first process, the second updated value of the second database entry; and
after the reading of the second updated value of the second database entry, calculate, for the first process, a second set of information update using the first database initial value and the second updated value;
update, via the first process, the second set of information in the database based at least in part on the second set of information update and based at least in part on one or more conditions, wherein the one or more conditions limit changes allowable to the first set of information from the database that occurred after receiving the first set of information from the database.

US Pat. No. 10,140,330

DATA CONSISTENCY MAINTENANCE FOR SEQUENTIAL REQUESTS

International Business Ma...

1. A method comprising:responsive to receiving, from a client device, a write request for a data entry stored on a first storage device:
(i) writing, by one or more processors, the data entry to the first storage device; and
(ii) generating, by the one or more processors, a first identifier associated with the data entry stored on the first storage device;
sending, by the one or more processors, the first identifier to the client device;
in response to receiving a read request for the data entry from the client device, retrieving, by the one or more processors, the data entry from a second storage device, wherein the read request includes the first identifier;
retrieving, by the one or more processors, a second identifier from the second storage device, wherein the second identifier is associated with the data entry stored on the second storage device; and
in response to the first identifier and the second identifier not matching, updating, by the one or more processors, the data entry stored on the second storage device with the data entry stored on the first storage device.

US Pat. No. 10,140,329

PROCESSING TRANSACTIONS IN A DISTRIBUTED COMPUTING SYSTEM

Ab Initio Technology LLC,...

1. A method for processing transactions in a distributed computing system including multiple processing modules to achieve deadlock-free transaction processing, the method including:storing data items in a data storage system accessible to multiple processes running in the distributed computing system, where the data items are totally ordered according to an ordering rule, and at least some of the processes are running on different processing modules; and
processing transactions using a plurality of the multiple processes, where processing a transaction using one of the plurality of the multiple processes includes
receiving a set of requests for accessing data items stored in the data storage system, where the requests are in a first order,
obtaining locks on the data items sequentially in the first order if each of the locks is obtained within a first time interval,
determining a second order that is consistent with the ordering rule for at least two of the locks if any of the locks is not obtained within the first time interval, and
restarting the transaction being processed, including obtaining locks on data items sequentially in the second order.

US Pat. No. 10,140,328

DETECTING DATA INTEGRITY ERRORS IN INFORMATION COMPRISING SIMILAR DATA ELEMENT TYPES MAINTAINED BY DISSIMILAR INFORMATION SYSTEMS

Globestar Systems, Inc

1. A method of detecting a data integrity error in critical information associated with an individual that is maintained by separate and dissimilar information systems connected to a common network, comprising:configuring a critical information detector to operate to detect a unique identity associated with each instance of a first and a second type of critical information received in a message from a first or second information system, the critical information detector comprises logical instructions implemented in non-transitory computer readable medium associated with an event notification system running on a computational device connected to the common network;
receiving, at an information system interface comprising the event notification system, a message in a first computer application readable format from a first information system, using a parser to identify separate instances of critical information in the message that are associated with the individual and using the critical information detector to detect a unique identity associated with a first instance of critical information of the first type and a second instance of critical information of the second type among the separate instances of information in the message received from the first information system and creating a record relating to the individual by storing both instances of the critical information in a file in association with each other;
receiving, at the information system interface comprising the event notification system, a message in a second computer application readable format from a second information system, using the parser to identify separate instances of critical information in the message that are associated with the individual and using the critical information detector to detect at least a third instance of critical information of the first type and a fourth instance of critical information of the second type among the separate instances of information in the message received from the second information system, the second message format being different than the first message format;
using, by the event notification system, either the third or the forth instances of critical information as a pointer to the record stored in association with the first information system, and determining by a comparison performed by the event notification system, that there is a difference between data comprising either the first and the third instances of critical information or the second and the fourth instances of critical information; and
in response to there being a difference between data comprising either the first and the third instances of critical information or the second and the fourth instances of critical information, generating and sending a message over the network to at least one communication device indicating that the data in any one or more of the four instances of critical information associated with the individual is erroneous.

US Pat. No. 10,140,327

FEATURE CLUSTERING OF USERS, USER CORRELATION DATABASE ACCESS, AND USER INTERFACE GENERATION SYSTEM

Palantir Technologies Inc...

1. A computerized method performed by one or more computer systems, wherein the computer systems are configured to access one or more electronic data sources in response to requests received from an interactive user interface, the method comprising:obtaining, from the one or more electronic data sources each storing user records, information describing a plurality of users;
determining, using the obtained information, a plurality of unique users and user records associated with the unique users, wherein at least some user records associated with a particular unique user include at least some different information describing the particular user, and wherein user records associated with the particular unique user were stored in a plurality of electronic data sources, the electronic data sources storing user records according to differing formats;
obtaining, for each unique user and from associated user records, identifications of one or more services connected with the unique user and information describing one or more features of the unique user;
determining, for each unique user, information indicating likelihoods of the unique user disconnecting from one or more services connected with the unique user;
determining, for each unique user, one or more recommended services for the unique user comprising:
determining clusters to assign each unique user according to one or more features of respective unique users,
obtaining identifications of services connected with unique users that are included in a same cluster as the unique user and that are not connected with the unique user,
determining, based on popularities of the obtained services with respect to the cluster, one or more recommended services for the unique user; and
providing, for presentation in an interactive user interface, summary data describing one or more unique users.

US Pat. No. 10,140,326

PAGED INVERTED INDEX

SAP SE, Walldorf (DE)

1. A system, comprising:one or more memories;
an in-memory database management system coupled to the one or more memories and configured to:
store a paged inverted index as a plurality of pages comprising:
a first data structure,
wherein the first data structure stores a plurality of value identifiers and a plurality of offsets, and
wherein a value identifier of the plurality of value identifiers corresponds to an offset in the plurality of offsets, and
a second data structure,
wherein the second data structure stores a plurality of row positions,
wherein a row position in the plurality of row positions is at a location in the second data structure that corresponds to the offset stored in the first data structure, and
wherein the row position identifies a row position in a database table that stores data associated with the value identifier; and
an execution engine configured to:
execute on a processor coupled to the one or more memories;
access the paged inverted index; and
determine the row position in the database table that stores the data associated with the value identifier.

US Pat. No. 10,140,325

DATA SOURCE IDENTIFICATION MAPPING IN BLENDED DATA OPERATIONS

BUSINESS OBJECTS SOFTWARE...

1. A method comprising:receiving input, at a client interface comprising a graphical display of a client system, selecting a dimension or measure from a primary data set of a plurality of data sets and selecting a dimension or measure from at least one secondary data set of the plurality of data sets to be displayed in a visualization in the client interface, wherein one or more dimensions of the primary data set are linked with one or more dimensions of the secondary data set;
generating a primary data structure model representing the selected dimensions and measures for the primary data set and a secondary data structure model representing the selected dimensions and measures for the secondary data set, wherein each dimension and measure in the primary data structure model and the secondary data structure model includes a local identifier;
assigning a global identifier to each dimension and measure in the primary data structure model and the secondary data structure model;
generating a client query comprising the global identifiers and mapping information between the global identifiers and the local identifiers of the primary and secondary data structure models; and
communicating the client query to a server, wherein the server is configured to perform a data blending operation on each selected dimension of the one or more dimensions of the primary data set that is linked with the one or more dimensions of the secondary data set in response to the input, the primary data set stored in a database external to the server, and wherein the server is further configured to,
in response to the data blending operation, temporarily store in a local memory for a lifecycle of the client query, a resulting data set that is not stored in the database, and
return the resulting data set to the client system for rendering the visualization in the client interface.

US Pat. No. 10,140,324

PROCESSING SPATIOTEMPORAL DATA RECORDS

CRFS Limited, Cambridge ...

1. A computing device-implemented method of processing a primary data record comprising location data, time data and measurement data, a spatial tree index comprising spatial tree nodes linked by pointers, each spatial tree node corresponding to a given spatial region and further including a pointer to a respective time tree index, and a plurality of time tree indexes, each time tree index corresponding to a respective spatial tree node and comprising time tree nodes linked by pointers, wherein each time tree node corresponds to a given time period, the method comprising:writing the primary data record to a primary data table;
determining whether a spatial tree leaf node exists which corresponds to the spatial region that includes the location data;
on a negative determination, generating a spatial tree leaf node which corresponds to the spatial region that includes the location data, and creating or updating spatial tree nodes connecting the spatial tree leaf node to a spatial tree root node;
for the spatial tree nodes which correspond to each region that includes the location data, updating the respective time tree index by:
determining whether a time tree leaf node exists which corresponds to the time period that includes the time data;
on a negative determination, generating the time tree leaf node which corresponds to the time period that includes the time data, and creating or updating time tree nodes connecting the time tree leaf node to a time tree root node; and
updating the time tree leaf node to include a pointer to the primary data record,
wherein the spatial tree index is a quad tree index, such that the spatial tree root node corresponds to an overall spatial region and each higher level of the spatial tree index includes 4n?1 nth level spatial tree nodes, each of the nth level spatial tree nodes corresponding to a spatial sub-region formed by dividing the overall spatial region into 4n?1 equal sized parts, in which n is equal to a number of connections between the spatial tree root node and an nth level spatial tree node plus one.

US Pat. No. 10,140,323

DATA MODEL INDEXING FOR MODEL QUERIES

Microsoft Technology Lice...

1. A system, comprising:one or more processors; and
one or more hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to:
identify a plurality of logical data models that each corresponds to a physical data model, wherein each given logical data model of the plurality of logical data models includes a logical data model index corresponding to the given logical data model that is configured to index a plurality of queries and at least partial query results corresponding to each of the plurality of queries, the indexed queries comprising queries issued to the given logical data model, and wherein each logical data model of the plurality of logical data models includes a different semantic mapping set that maps at least one logical data model entity to at least one entity of the physical data model;
receive a model query that identifies a particular logical data model of the plurality of logical data models; and
in response to the received model query, access the logical data model index corresponding to the particular logical data model to determine whether results of the model query have been previously returned.

US Pat. No. 10,140,322

TOOLS AND TECHNIQUES FOR EXTRACTING KNOWLEDGE FROM UNSTRUCTURED DATA RETRIEVED FROM PERSONAL DATA SOURCES

SALESFORCE.COM, INC., Sa...

1. A non-transitory computer-readable medium comprising instructions for a computer program for updating user profiles, the instructions operable to:store structured data in the user profiles;
extract one or more patterns from the stored structured data to create one or more pattern fingerprints;
retrieve unstructured personal data from personal data sources;
extract one or more patterns from the unstructured personal data using the one or more pattern fingerprints;
correlate the unstructured personal data with the stored structured data in the user profiles, using the one or more patterns from the unstructured personal data, to generate additional structured data;
update the user profiles with the additional structured data;
receive a query; and
provide a query response based at least in part on the structured data and the additional structured data in the user profiles,
wherein at least some of the user profiles are associated with different user roles for a same user.

US Pat. No. 10,140,321

PRESERVING PRIVACY IN NATURAL LANGAUGE DATABASES

NUANCE COMMUNICATIONS, IN...

1. A method comprising:sanitizing sensitive information found in a transcription from a first speaker, to yield a clean transcription comprising sanitized text and non-sanitized text, wherein a first feature vector associated with the non-sanitized text in the transcription identifies the first speaker;
generating a mean feature vector by taking a mean of the first feature vector for the transcription of the first speaker and a second feature vector associated with a second document and which identifies a second speaker, wherein the first speaker and the second speaker are different speakers; and
replacing, via a processor of a computing device, the first feature vector associated with the non-sanitized text with the mean feature vector to anonymize the non-sanitized text.

US Pat. No. 10,140,320

SYSTEMS, METHODS, AND MEDIA FOR GENERATING ANALYTICAL DATA

SDL Inc., Wakefield, MA ...

1. A method for utilizing content rich analytical data, comprising:obtaining informational content via multiple channels including at least one of RSS feeds, news feeds, web content aggregators, web engines, social networking medias, search engines, online ad engines, banner engines, online news groups, and forums;
storing the informational content in a Darwin Information Typing Architecture database in a native extensible markup language format, the stored informational content including at least one of interactive objects, media files, hotspots, and extensible markup language cross-references;
capturing an audit trail during a user session;
grouping a subset of correlated actions within the audit trail as a transaction by:
capturing an opening action performed by an end user on one or more publishing servers using a client device associated with the end user, the client device communicatively coupled with the one or more publishing servers via a network, the one or more publishing servers adapted to publish informational content to the end user, the opening action performed by the client device on a document,
determining actual informational content provided to the end user by applying a filter key associated with the informational content,
generating a unique transaction key in response to the captured opening action performed by the client device on the document,
correlating a subsequent XML cross referencing (XREF) action that is performed by the client device to the document opening action via the transaction key, the XML cross referencing action and created EXREF event relative to opening of the document,
evaluating a natural language of informational content of the document opened by the client device, and
generating a natural language preference for the natural language of the document based on the opening action and the correlated cross reference action;
generating content rich analytical data from the audit trail, the content rich analytical data filtered and formatted based on a plurality of preferences that include the generated natural language preference generated from behavior of the end user including opening actions of the end user;
obtaining informational content for the end user from the informational content stored in the database;
translating the obtained informational content according to a language that corresponds to the generated natural language preference of the end user as determined from the content rich analytical data generated from the audit trail;
reformatting the native extensible markup language format of the obtained informational content obtained from the database according to the generated natural language preference of the end user in a format for use by a web browser of the user client device to display the obtained informational content on the client device in a format that is perceivable to the end user; and
providing the translated and formatted informational content to the end user.

US Pat. No. 10,140,319

SYSTEM FOR IDENTIFYING ANOMALIES BY AUTOMATICALLY GENERATING AND ANALYZING A STRUCTURE

Bank of America, Charlot...

1. A system for automatically analyzing a data model and identifying anomalies within the data model, the system comprising:a memory device comprising computer-readable program code;
a communication device; and
a processing device operatively coupled to the memory device and the communication device, wherein the processing device is configured to execute the computer-readable program code to:
based on input received from a graphical user interface, retrieve data comprising a plurality of elements and a plurality of tables, the data retrieved from a database;
identify elements within the plurality of tables as facts or dimensions by analyzing the elements and the plurality of tables based on a data type corresponding to the elements, a column name corresponding to the elements, and one or more constraints corresponding to the elements within the plurality of tables, wherein identifying the elements comprises:
identifying when the elements comprise a qualitative non-numerical data type and identifying the elements as the dimensions, and identifying when the elements have a quantitative numerical type and identifying the elements as the facts;
identifying when the column name of the elements meet a list of terms stored as associated with the facts or the dimensions and identifying the elements as the facts or the dimensions based on the lists of terms; and
identifying when the one or more constraints comprise rules that limit the elements to entries that are the facts or the dimensions based on the rules and identifying the elements as the facts or the dimensions based on the rules;
identify each of the tables associated with the data as either a fact table or a dimension table based on identifying the elements within the tables as the facts or the dimensions, wherein the plurality of tables comprises at least one fact table and at least one dimension table;
determine that a set of elements within a single column of a first dimension table is a primary key for the dimension table by determining that each element of the set is unique to one another;
identify a reference key corresponding to the primary key;
based on identifying the reference key corresponding to the primary key, determine at least one relationship between at least two tables;
generate the data model of the data retrieved from the database;
identify data anomalies from the at least one relationship, wherein data anomalies are ragged hierarchies, many to many relationships, and double counting;
generate a data analysis report comprising:
generating a list of columns of the tables associated with the data model, a list of other tables that share at least one column with the at least one dimension table, one or more lists of data anomalies, and a list of parents and children, wherein a child is a column associated with the reference key and a parent is a column associated with the primary key;
compiling the list of the columns, the list of other tables, the one or more lists of data anomalies, and the list of parents and children; and
present the data analysis report to a user.

US Pat. No. 10,140,318

MICROBATCH LOADING

ALLSCRIPTS SOFTWARE, LLC,...

1. A method comprising:(a) electronically receiving, over a network, a plurality of HL7 transactional messages containing patient data for a plurality of patients;
(b) electronically sorting, at one or more electronic devices, the plurality of HL7 transactional messages into a plurality of patient queues, each patient queue representing a queue for HL7 transactional messages containing data for a respective particular patient of the plurality of patients;
(c) electronically validating, at an electronic device, a first plurality of HL7 transactional messages for a first particular patient by evaluating the HL7 transactional messages against a plurality of rules;
(d) electronically aggregating, at an electronic device, the first plurality of HL7 transactional messages for the first particular patient, wherein electronically aggregating, at an electronic device, the first plurality of HL7 transactional messages for the first particular patient comprises determining a plurality of CDC operations;
(e) electronically merging, utilizing one or more processors, information corresponding to the first aggregated HL7 transactional messages for the first particular patient into a centralized data repository, one or more servers comprising the centralized data repository;
(f) electronically validating, at an electronic device, a second plurality of HL7 transactional messages for the first particular patient by evaluating the HL7 transactional messages against a plurality of rules;
(g) electronically aggregating, at an electronic device, the second plurality of HL7 transactional messages for the first particular patient;
(h) electronically merging, utilizing one or more processors, information corresponding to the second aggregated HL7 transactional messages for the first particular patient into the centralized data repository;
(i) electronically validating, at an electronic device, a third plurality of HL7 transactional messages for a second particular patient by evaluating the HL7 transactional messages against a plurality of rules;
(j) electronically aggregating, at an electronic device, the third plurality of HL7 transactional messages for the second particular patient;
(k) electronically merging, utilizing one or more processors, information corresponding to the third aggregated HL7 transactional messages for the second particular patient into the centralized data repository;
(l) attempting to electronically validate, at an electronic device, a fourth plurality of HL7 transactional messages for a third particular patient by evaluating the HL7 transactional messages against a plurality of rules; and
(m) determining, based on evaluation of the fourth plurality of HL7 transactional messages against a plurality of rules, that an error occurred when attempting to validate the fourth plurality of HL7 transactional messages.

US Pat. No. 10,140,317

WIDE AREA AUGMENTED REALITY LOCATION-BASED SERVICES

Nant Holdings IP, LLC, C...

1. A mobile augmented reality (AR) device, the device comprising:at least one sensor, including a location sensor;
a display;
a non-transitory, computer readable memory storing software instructions; and
a processor coupled with the computer readable memory, the at least one sensor, and the display; and, upon execution of the software instructions, is configurable to:
obtain sensor data from the at least one sensor wherein the sensor data includes a device location obtained from the location sensor;
access a map of an area of interest from an area database based on at least the device location within the sensor data;
identify a subarea from a set of subareas that covers at least a portion of the map of the area of interest, where the subarea is identified based at least in part on the device location relative to locations of subareas in the set of subareas; and
render AR content that is bound to the subarea on the display based on a point of view of the device.

US Pat. No. 10,140,316

SYSTEM AND METHOD FOR SEARCHING, WRITING, EDITING, AND PUBLISHING WAVEFORM SHAPE INFORMATION

1. A system for searching, writing, editing, and publishing waveform shape information, the system comprising:a processor; and
a memory configured to store instructions executable by the processor, comprising:
a shape code value generator for providing a shape code value from a search term, the shape code value defining a wave shape by a plurality of breakpoints, each break point comprising a pair of coordinates and an interpolation value, the pair of coordinates defining the position of the break point and the interpolation value defining the path from a break point to a succeeding break point; and
a shape data file generator for generating a shape data file from the shape code value and for publishing the shape data file;
whereby waveform signals are provided from the shape data file by a waveform signal generator.

US Pat. No. 10,140,315

IDENTIFYING VISUAL PORTIONS OF VISUAL MEDIA FILES RESPONSIVE TO VISUAL PORTIONS OF MEDIA FILES SUBMITTED AS SEARCH QUERIES

Shutterstock, Inc., New ...

1. A computer-implemented method for identifying visual portions of visual media files that are responsive to at least one visual media input file submitted as a search query, the method comprising:cropping at least a visual portion of each of a plurality of visual media files from a collection of media files;
generating a data vector for each cropped visual portion for each of the plurality of visual media files;
determining a visual similarity between the data vector for each cropped visual portion of each of the plurality of visual media files and a reference data vector representative of at least one reference visual media file associated with at least one known object; and
when the visual similarity between the data vector for the cropped visual portion of one of the plurality of visual media files and the reference data vector exceeds a similarity threshold value, associating metadata for the at least one known object with the cropped visual portion of one of the plurality of visual media files and indexing the cropped visual portion of the one of the plurality of visual media files with the associated metadata in an index;
comparing each of the cropped visual portions of the plurality of visual media files to one another to identify at least two cropped visual portions that when compared have a visual similarity score that exceeds another similarity threshold value, and removing at least one of the at least two cropped visual portions from the index when the compared at least two cropped visual portions have a visual similarity score that exceed the another similarity threshold value;
receiving from a user a search query, for the collection of media files, comprising at least one visual media input file;
analyzing the index of visual portions of the plurality of visual media files from the collection of media files to identify at least one responsive visual media file from the collection that comprises a visual portion associated with a visual similarity score, to the at least one visual media input file, which exceeds a similarity threshold value;
generating an input data vector for the at least one visual media input file;
performing a dot product between the input data vector for the at least one visual media input file with the data vector for each cropped visual portion for each of the plurality of visual media files to generate a dot product similarity score for each cropped visual portion for each of the plurality of visual media files;
identifying a data vector for at least one responsive visual media file having a dot product similarity score exceeding a dot product similarity threshold value as being similar to the at least one visual media input file; and
providing, in response to the search query, an identifier of the at least one responsive visual media file from the collection of media files for display as responsive to the search query.

US Pat. No. 10,140,314

PREVIEWS FOR CONTEXTUAL SEARCHES

Adobe Systems Incorporate...

1. In a digital media environment to facilitate creation of content using one or more computing devices, a method comprising:outputting, via a user interface for a digital media application, an image panel displaying image search results having candidate images for insertion in an image frame placed in a document exposed for editing via an editing panel of the user interface, wherein the image search results contain images matching at least one of image frame size or image frame shape;
detecting input to select a particular image within an arrangement of candidate images displayed in the image panel;
responsive to detection of the input, generating a preview image of the document having the particular image inserted into the image frame; and
displaying the preview image in the user interface as a preview that replaces a view of the document exposed for editing in the editing panel as long as the input to select the particular image is maintained.

US Pat. No. 10,140,313

PARALLEL PROCESSING OF LARGE DATA FILES ON DISTRIBUTED FILE SYSTEMS WITH DYNAMIC WORKLOAD BALANCING

INTERNATIONAL BUSINESS MA...

1. A computer program product for parallel processing of files on a distributed file system, the computer program product comprising:a computer storage medium containing computer executable program code stored thereon, the computer executable program code comprising:
computer executable program code in response to a request to process as input a file stored on a distributed file system, a single coordinator of data scanning and processing services for partitioning the file into a set of predetermined sized blocks;
computer executable program code for assigning one or more blocks in the set of predetermined sized blocks by the single coordinator to a reader in a set of readers;
computer executable program code for recording block assignments by the coordinator to a control table accessible to all readers;
computer executable program code for accessing the control table by the set of readers to search the control table for a row currently assigned to a respective reader;
computer executable program code in response to locating the row currently assigned to the respective reader, for changing a state of the row by the respective reader to “in progress”, and for updating a timestamp associated with the row in the control table;
computer executable program code in response to a determination all blocks currently assigned to the respective reader are exhausted, for scanning the control table by the reader for a set of the blocks available, and for dynamically re-assigning by the reader an available block from another owning reader to the respective reader using a set of predefined heuristics and changing the row owner to the respective reader; and
computer executable program code in response to a determination no rows are available, for completing processing and returning an end of file indication by the respective reader to the single coordinator, wherein
computer executable program code for dynamically re-assigning an available block from another owning reader to the respective reader further comprises:
computer executable program code for locking the control table by a reader, to prevent any other readers from changing state in the control table, wherein
a number of unprocessed blocks, is less than or equal to a number of processing engines;
computer executable program code for fragmenting one or more blocks by subdividing existing unprocessed blocks into several smaller blocks, without changing a current assignment, wherein
the fragmenting causes a reduction in size of each block fragmented and a fragment block less than a current size of each the one or more blocks to create a set of fragmented blocks;
computer executable program code for inserting entries for the set of fragmented blocks in rows inserted into the control table, wherein
each of the inserted entries includes a new identifier, a new block size in bytes and a respective offset from an end of a newly sized original block and wherein the fragmented blocks just created retain a same owner engine as an original block from which the fragment blocks came; and
computer executable program code for unlocking the control table.

US Pat. No. 10,140,312

LOW LATENCY DISTRIBUTED STORAGE SERVICE

Amazon Technologies, Inc....

1. A distributed storage service, comprising:a plurality of computing devices that implement:
a storage subsystem comprising a plurality of storage nodes configured to store data and metadata for a plurality of file systems;
a low latency metadata subsystem comprising one or more low latency servers, wherein a low latency server maintains a metadata cache and a metadata journal for one or more of the plurality of file systems associated with the low latency server; and
an access subsystem comprising a plurality of access nodes, wherein the access nodes are configured to:
receive file system requests for the plurality of file systems; and
for file system requests directed to the file systems associated with the low latency servers that require metadata operations, send metadata requests to the low latency servers associated with respective ones of the one or more file systems;
wherein the one or more low latency servers are configured to:
receive a metadata request for a file system associated with the low latency server from one of the access nodes;
determine one or more write operations according to the metadata request;
write one or more journal entries to the metadata journal for the file system specifying the one or more write operations; and
send a notification indicating results of the metadata request to the respective access node, wherein the one or more write operations specified by the one or more journal entries are committed in the storage subsystem subsequent to sending the notification.

US Pat. No. 10,140,311

SYSTEM AND METHOD OF INTERACTING WITH DATA AT A WIRELESS COMMUNICATION DEVICE

1. A wireless communication device, comprising:a processor;
a display device; and
a memory coupled to the processor, the memory including instructions executable by the processor to perform operations, the operations comprising:
receiving a communication request input, wherein the communication request input identifies an action to be executed with respect to a data file, the action executable by the processor when the processor has access to a set of capabilities, and wherein the communication request input is received when the processor does not have access to the set of capabilities;
generating delayed action metadata associated with the data file in response to the communication request input, wherein the delayed action metadata indicates that the action is to be executed responsive to the processor being connected via a wireless wide area network to a first external resource associated with the set of capabilities within a time period, and wherein the delayed action metadata indicates that the action is to be executed responsive to the processor connecting to a second external resource associated with the set of capabilities after the time period; and
upon detecting that the processor has not connected to the first external resource within the time period, sending a transmission based on the delayed action metadata via the wireless wide area network to the second external resource to execute the action.

US Pat. No. 10,140,310

IDENTIFYING AND UTILIZING SYNCHRONIZED CONTENT

Amazon Technologies, Inc....

1. A system comprising:an audiobook a comprising audio data representing a content item;
an electronic book comprising text data representing the content item; and
a synchronization file for the content item, the synchronization file comprising:
audiobook availability data that identifies first audio portions of the audio data that are available for synchronized output with the text data;
audiobook null data that identifies second audio portions of the audio data that are unavailable for synchronized output with the text data;
electronic book availability data that identifies first text portions of the text data that are available for synchronized output with the audio data; and
electronic book null data that identifies second text portions of the text data that are unavailable for synchronized output with the audio data; and a user device comprising:
one or more processors;
a speaker configured to output the audio data of the audiobook;
a display operable to display the text data of the electronic book; and
one or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
outputting, during a first period of time, a first portion of the content item where the audio data and the text data are synchronized;
at least partly during the first period of time and while the first portion of the content item is output:
identifying, using the synchronization file, a second portion of the content item where synchronization of the audio data and the text data is less than a predetermined threshold, wherein the second portion of the content item is scheduled to be output during a second period of time that is subsequent the first period of time;
outputting, using at least one of the display or the speaker, an alert indicating that the content item does not have synchronization availability for the second portion of the content item;
presenting, on the display, an input control configured to cause the user device to refrain from presenting the second portion of the content item;
receiving input via the input control; and
based at least in part on receiving the input, refraining from presenting the second portion of the content item.

US Pat. No. 10,140,309

FILE TRACKING ON CLIENT MACHINES SYNCHRONIZED WITH A CONTENT MANAGEMENT SYSTEM REPOSITORY

Alfresco Software, Inc., ...

1. A computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:associating, in a local database, a first unique identifier of a local file on a client machine with a second unique identifier of a content item maintained at a content management system repository, a local client synchronization application executing at the client machine tracking a synchronization between the local file and the content item, the first unique identifier being a non-system-based identifier and embedded within the local file;
detecting, by the local client synchronization application executing at the client machine, a break in the synchronization between the local file and the content item;
retrieving, by the local client synchronization application executing at the client machine and from the local database, first unique identifier and the associated second unique identifier; and
re-associating, without reliance on file path information, the local file and the content item, by the local client synchronization application executing at the client machine, based on the associating of the first unique identifier with the second unique identifier in the local database.

US Pat. No. 10,140,308

ENHANCING DATA RETRIEVAL PERFORMANCE IN DEDUPLICATION SYSTEMS

INTERNATIONAL BUSINESS MA...

1. A system for processing data, comprising:a data deduplication engine; and
a storage processor in communication with the data deduplication engine, wherein the storage processor is configured for, for data segments previously deduplicated by the data deduplication engine, establishing a supplemental hot-read link, that is associated with and supplements a primary link, for those of the data segments determined to be read on a frequent and recently used basis; wherein the primary link is used to access the data segments during a first read operation and the supplemental hot-read link is used to access those of the data segments determined to be read on the frequent and recently used basis during a subsequent read operation after the determining,
storing in a cache those of the data segments determined to be read on a most recently used (MRU) and most frequently used (MFU) basis; wherein the primary link points to those of the data segments stored on a hard disk or tape storage drive and the supplemental hot-read link points to those of the data segments stored in the cache;
establishing an application-specific table of hash digests to track read activity of the previously deduplicated data segments that are the MRU and the MFU;
configuring the supplemental hot-read link and the primary link in the table of hash digests by storing, for each of the data segments, a hash digest and corresponding primary link and a tally of a usage of reads; wherein the supplemental hot-read link is additionally stored with the hash digest for those of the data segments determined to be the MRU and MFU;
using a threshold to determine which of the data segments are the MRU and the MFU;
preventing an overflow of the cache by adjusting the threshold;
for a read-access request for one of the data segments that are the MRU and the MFU, determining if the supplemental hot-read link is established, wherein:
if the supplemental hot-read link is established, reading the data segment that is the MRU and the MFU associated by the supplemental hot-read link, and
if the supplemental hot-read link is not established, providing an indication that the supplemental hot-read link is not established and alternatively reading from the primary link for the data segment that is the MRU and the MFU;
performing a cleanup operation of the table of hash digests; and
pursuant to establishing the table, if the data segment that is the MRU and the MFU exceeds the threshold, creating the supplemental hot-read link if the supplemental hot-read link is not preexisting, and storing a copy of the data segment that is the MRU and the MFU in the cache without removing the data segment that is the MRU and the MFU in a primary storage location.

US Pat. No. 10,140,307

EFFICIENTLY MANAGING REFERENCE WEIGHTS FOR WRITE SPLITS

EMC IP Holding Company LL...

1. A method of overwriting shared data blocks in a file system, the method comprising:receiving, by a file system manager, a request to overwrite a set of data stored in a range of a file of the file system with new data, the file system including a first block pointer, the first block pointer having (i) a pointer value that maps some or all of the range of the file to a first data block in the file system, and (ii) a first reference weight that tracks an ownership share of the first block pointer in the first data block, the first data block storing at least a portion of the set of data to be overwritten;
locating a second block pointer in the file system that also maps to the first data block, such that the first block pointer and the second block pointer have a block sharing relationship with respect to the first data block, the second block pointer having a second reference weight that tracks an ownership share of the second block pointer in the first data block; and
performing a write split operation on the first data block to break the block sharing relationship, by (i) allocating a new data block arranged to store at least a portion of the new data, (ii) writing a new pointer value to the first block pointer, the new pointer value mapping said some or all of the range of the file to the new data block, and (iii) transferring the first reference weight from the first block pointer to the second block pointer such that the second reference weight is made to store a combined weight that tracks the ownership shares previously distributed between the first block pointer and the second block pointer.

US Pat. No. 10,140,306

SYSTEM AND METHOD FOR ADAPTIVE DATA PLACEMENT WITHIN A DISTRIBUTED FILE SYSTEM

NETAPP, INC., Sunnyvale,...

1. A method comprising:determining by a processor, that a sub-directory for a node is to be stored remotely using one of a plurality of remote volumes of a distributed file system based on a local factor and an assigned category;
wherein the local factor is based at least on an indication that a local volume of the node has reached a threshold value and a difference between a percentage of free space for a most free remote volume and a percentage of free space within the local volume;
identifying by the processor, a percentage for each remote volume indicating a number of subdirectories that have been created at each of the plurality of remote volumes;
determining by the processor, a target percentage for each remote volume indicating a percentage of subdirectories of each remote volume compared to a total number of subdirectories for the plurality of remote volumes within a certain period;
selecting by the processor, a remote volume with a largest difference between the percentage indicating the number of subdirectories created at the remote volumes and the target percentage; and
storing by the processor, the subdirectory at the selected remote volume.

US Pat. No. 10,140,305

MULTI-STRUCTURAL, MULTI-LEVEL INFORMATION FORMALIZATION AND STRUCTURING METHOD, AND ASSOCIATED APPARATUS

GENERAL HARMONICS INTERNA...

1. An apparatus for structuring information, the apparatus comprising:a processor; and
a computer-readable storage medium having computer-readable program code portions stored therein that, in response to execution by the processor, cause the apparatus to at least:
analyze an original digital information file to determine an original information quantity and an original information value associated therewith;
apply an initial manipulation process to the original digital information file to form a first resulting digital information file, and apply a subsequent manipulation process to the first resulting digital information file to form a second resulting digital information file, each manipulation process being configured to replace a combination of a plurality of elements of the processed digital information file with a representative element and a first indicia associated with an interrelationship between the representative element and at least one of the plurality of elements in the combination, so as to reduce the information quantity of and to structure the processed digital information file, the representative element being determined to reduce the information value of the processed digital information file by no more than a selected threshold; and
successively apply manipulation processes to the previously resulting digital information file until successive manipulation process applications do not achieve a threshold reduction in the information quantity in the subsequent resulting digital information file over the previously resulting digital information file, the last resulting digital information file thereby having a primary structure with a reduced information quantity with respect to the original information quantity and a resulting information value within the selected threshold of the original information value.

US Pat. No. 10,140,304

DISTRIBUTED METADATA SERVERS IN A FILE SYSTEM WITH SEPARATE METADATA SERVERS FOR FILE METADATA AND DIRECTORY METADATA

EMC IP Holding Company LL...

15. A method performed by a directory metadata server in a distributed metadata storage environment, comprising the steps of:obtaining, using at least one processing device, a directory metadata request from at least one file system client on at least one compute node, wherein said directory metadata server is dedicated to processing only directory metadata request types and wherein a plurality of file metadata servers in said distributed metadata storage environment are dedicated to processing only file metadata request types; and
processing said directory metadata request using at least one shared persistent key-value metadata store accessed by said directory metadata server and said plurality of file metadata servers.

US Pat. No. 10,140,303

APPLICATION AWARE SNAPSHOTS

NexGen Storage, Inc., Lo...

1. A primary data storage system with snapshot capability, the system comprising:an input/output port configured to receive a block command packet that embodies one of a read block command and a write block command and transmitting a block result packet in reply to a block command packet;
a data store system having at least one data store configured to receive and store data in response to a write block command and retrieve and provide data in response to a read block command;
wherein the data store system is adaptable to accommodating at least a first storage element;
a data protection module that is adapted to: (a) identify the first storage element of the data store system, (b) identify a manager of the first storage element and the manager type of the of the identified manager, (c) associate the identified manager and manager type of the identified manager with the first storage element, and (d) initiate an application-consistent snapshot of the first storage element that is in accordance with the manager and manager type, wherein any resulting application-consistent snapshot includes metadata that relates to the relative quality of the snapshot;
wherein the data protection module is adaptable to producing a plurality of snapshots of the first storage element and associating a snapshot quality with each of the plurality of snapshots;
wherein the data protection module comprises a retention module for deleting at least one snapshot of the plurality of snapshots and retaining at least one of the plurality of snapshots based upon the relative snapshots qualities of the plurality of snapshots.

US Pat. No. 10,140,302

AUTONOMIC GENERATION OF DOCUMENT STRUCTURE IN A CONTENT MANAGEMENT SYSTEM

International Business Ma...

1. A computer-implemented method for autonomically generating structure in a document in a content management system, the method comprising the steps of:reading a synchronization rule for the document that specifies structure that does not exist in the document, the synchronization rule governing synchronization between content in the document and metadata related to the content in the document;
specifying in an autonomic structure policy at least one criterion that determines how the portion of the specified structure that does not exist is autonomically generated in the document;
autonomically generating in the document at least a portion of the specified structure that does not exist according to the at least one criterion in the autonomic structure policy; and
autonomically populating with data at least one autonomically-generated structure in the document.

US Pat. No. 10,140,301

DEVICE, METHOD, AND GRAPHICAL USER INTERFACE FOR SELECTING AND USING SETS OF MEDIA PLAYER CONTROLS

Apple Inc., Cupertino, C...

1. A portable electronic device, comprising:a touch-sensitive display, the touch-sensitive display configured to separately display sets of media player controls, including a first predefined set of media player controls and a second predefined set of media player controls;
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
displaying the first predefined set of media player controls while playing a first media item;
detecting gestures on the touch-sensitive display while displaying the first predefined set of media player controls and playing the first media item;
in response to detecting a first gesture, of the detected gestures, on a first media player control in the first predefined set of media player controls, activating the first media player control and controlling playing of the first media item in accordance with activation of the first media player control, wherein the first gesture is a first type of gesture; and,
in response to detecting a second gesture, of the detected gestures, replacing display of the first predefined set of media player controls with display of the second predefined set of media player controls and maintaining playing of the first media item, wherein the second gesture is distinct from the first gesture, the second gesture is a second type of gesture different from the first type of gesture, and the second gesture is detected while displaying the first predefined set of media player controls, and wherein the media player controls in the first predefined set of media player controls are distinct from the media player controls in the second predefined set of media player controls.

US Pat. No. 10,140,300

METHOD AND APPARATUS FOR STAGED CONTENT ANALYSIS

1. A method, comprising:filtering out, by a processing system comprising a processor, redundant content in a group of content streams to generate a filtered group of content streams;
performing, by the processing system comprising a processor, a coarse feature analysis of the filtered group of content streams at a multiple frame level;
identifying, by the processing system, a subset of the group of content streams having a potential occurrence of a general feature according to the coarse feature analysis;
performing, by the processing system, a specialized analysis on the subset at a frame by frame level to determine an occurrence of the general feature;
generating, by the processing system, a weighted content description of the group of content streams based on the occurrence of the general feature;
generating, by the processing system, statistics associated with the weighted content description according to a number of instances of the general feature; and
generating, by the processing system, an indication that the statistics associated with the weighted content description for the general feature violate user defined rules for the filtered group of the content streams.

US Pat. No. 10,140,299

SYSTEMS AND METHODS FOR ENHANCING SEARCH RESULTS BY WAY OF UPDATING SEARCH INDICES

Rovi Guides, Inc., San J...

1. A method for providing search results to a user, the method comprising:identifying a database profile of a plurality of database profiles that represents common user profile traits of a segment of users, wherein the database profile identifies a first index and a second index;
receiving search queries from a plurality of users of the segment comprising a common symbol;
in response to receiving each search query of the search queries, searching for data corresponding to the first index that matches the symbol while refraining from searching for data corresponding to the second index;
determining, during each searching operation that occurs in response to receiving each search query, that the searching for data corresponding to the first index yields insufficient search results;
in response to determining that the searching for data corresponding to the first index yields insufficient search results, searching for data corresponding to the second index that matches the symbol;
in response to determining that searching for data corresponding to the second index yields a number of search results that is greater than a first threshold number, incrementing a counter value that represents how many search queries comprising the common symbol yield the number of search results when searching for data corresponding to the second index;
determining that the counter value corresponds to a second threshold number; and
in response to determining that the counter value corresponds to the second threshold number, updating the first index to include data of the second index.

US Pat. No. 10,140,298

SOCIAL NETWORKING RESPONSE MANAGEMENT SYSTEM

International Business Ma...

1. A method for managing electronic social networking, comprising:defining content from a first user for communication to other users on an electronic social networking system;
applying natural language processing (NLP) and analytic analysis to the content to identify a workflow for accessing and responding to the content by the first user and the other users;
defining a set of rules as part of the workflow for controlling access and responses to the content, the set of rules including user actions for defining a level of permission for each user of the other users in relation to the workflow;
the defining of the set of rules including identifying a plurality of areas of interest to the other users in relation to the workflow using the analytic analysis by analyzing information from the social networking system, the areas of interest including one or more of: an expertise, work experience, a current project, a skill; and
controlling the access and the responding to the content by the first user and the other users based on the defined set of rules for the workflow which includes the areas of interest to the other users;
the controlling the access and the responding to the content including:
allowing a first group of one or more specified responders of the other users to respond to the content based on the defined set of rules for the workflow;
blocking a second group of one or more specified responders of the other users from responding to the content based on the defined set of rules for the workflow;
allowing a first sub-group of the first group to replace the content based on the defined set of rules for the workflow;
allowing a second sub-group of the first group to edit and/or replace the content after a period of time has elapsed, based on the defined set of rules for the workflow; and
allowing the second group of the one or more specified responders of the other users to respond to the content, in response to the first group of the one or more specified responders of the other users completing a response.

US Pat. No. 10,140,297

SUPPLEMENTING SEARCH RESULTS WITH INFORMATION OF INTEREST

Google LLC, Mountain Vie...

1. A method comprising:receiving, by a search engine that is hosted by one or more first servers, a query from a user device;
identifying, by the search engine that is hosted by the one or more first servers, a first set of data that includes respective search results for respective multiple documents that are determined to be relevant to the query, wherein each search result of the respective search results includes a reference to a second server that hosts a document of the multiple documents, wherein the second server is different than the one or more first servers;
identifying, by the search engine that is hosted by the one or more first servers, a second set of data that is determined to be relevant to the query, wherein the second set of data includes attribute-value pairs that have been obtained from at least one of the multiple documents, wherein, for each attribute-value pair, each attribute is determined to be relevant to the query and each value is a value of the attribute;
generating, by the search engine that is hosted by the one or more first servers, a search results document that includes (i) a first portion that includes the search results of the first data set, the search results each including a reference to a second server that hosts at least one of the multiple documents and (ii) a second portion that includes the attribute-value pairs that have been obtained from at least one of the multiple documents, wherein the second portion (a) is adjacent to one or more of the search results in the first portion and (b) includes a link that is associated with the attribute-value pair; and
providing, from the server, the search results document to the user device for display.

US Pat. No. 10,140,296

REVERSIBLE REDACTION AND TOKENIZATION COMPUTING SYSTEM

Bank of America Corporati...

1. A reversible data redaction system, comprising:a first computing system comprising a first database storing a plurality of electronic documents;
a second computing system including a second database storing a plurality of computer executable instructions for applying one or more rules in relation to managing non-public information in electronic documents;
a reversible data redaction engine comprising a processor and a non-transitory memory device, the non-transitory memory device storing instructions that, when executed by the processor, cause the reversible data redaction engine to:
identify an electronic document of the plurality of electronic documents stored in the first database;
analyze the electronic document to determine a document type, a source of the electronic document, and a destination to which the electronic document is to be communicated;
redact at least a portion of the electronic document by executing the computer executable instructions to apply the one or more rules based on at least one of the document type, the source of the electronic document, or the destination of the electronic document, wherein a first redacted portion is for presentation to a first recipient and a second redacted portion is for presentation to a second recipient; and
split the electronic document into the first redacted portion and the second redacted portion, wherein the first redacted portion is for communication via a first network to a first recipient and the second redacted portion is for communication via a second network to a second recipient.

US Pat. No. 10,140,295

METHOD, SYSTEM AND SOFTWARE FOR SEARCHING, IDENTIFYING, RETRIEVING AND PRESENTING ELECTRONIC DOCUMENTS

Camelot UK Bidco Limited,...

1. A computer-implemented method of improving performance of a computer to enhance relevance ranking of results in a computer-implemented search of a corpus of documents having in part homogeneous structured data having a field structure, using an underlying search engine offering a distribution-biased OR operator, the method comprising:a. as a preparatory phase, before a request function receives any queries, based on knowledge of the field structure of the documents to be searched and the content of some of the fields, determining a mapping or policy for automatically, by a processor, replacing a received search clause with a sequence of multiple search clauses of anticipated nested respective responsive scopes, such that a set of documents responsive to one search clause in the sequence of search clauses is predicted to be a subset of the set of documents responsive to the next search clause in the sequence of search clauses;
b. on an ongoing basis, operating at a search-controller level to mediate between the request function and an underlying search engine, and electronically receiving a query comprising at least one search clause from the request function;
c. by the processor, according to the mapping or policy determined in preparatory-phase step (a), transforming at least one of the at least one received search clause received in step (b) into an automatically generated, intentionally redundant sequence of search clauses representing the anticipated nesting of respective responsive scopes designed in the step (a) mapping or policy, so as to correspond to gradations of focus on a topic of interest interpreted to be suggested by the at least one received search clause;
d. combining the generated sequence of search clauses with a distribution-biased OR operator and submitting the combination to the underlying search engine to be executed against a database associated with the search engine, wherein scoring of the distribution-biased OR operation reflects not only aggregate scoring from respective counts of matches for the alternate clauses under the distribution-biased OR but also the evenness of distribution of that aggregate across its contributing component scores coming from those respective alternate clauses;
e. automatically executing the submitted combination of search clauses, by the underlying search engine, such that the nesting of the individual clauses' respective responsive scopes induces scopes of focus induce the underlying search engine to return a set of responsive documents for the entire OR combination that corresponds to the responsive set for the broadest of the submitted, automatically generated sequence of individual search clauses; and
f. automatically relevance-scoring the broad set of responsive documents returned in step (e), via the underlying search engine's processing of the distribution-biased OR-connected sequence of search clauses automatically generated and submitted in steps (c) and (d), yielding scoring more sensitive to gradations of focus on a topic of interest as suggested in the at least one search clause received in step (b).

US Pat. No. 10,140,294

DOCUMENT MANAGEMENT SYSTEMS AND METHODS

ACCENTURE GLOBAL SERVICES...

1. A method for managing an electronic document transaction, comprising:communicating, by one or more of a document management application supporting one or more integration protocols and a document management module in communication with the document management application, with one or more of a user relationship management system, and a document management system using the one or more integration protocols;
receiving a request at one of a document management application and a document management module from the user relationship management system to execute the document management application comprising a previously-created document management process and implement the previously-created document management process;
displaying, on a graphical user interface at a host computer, an indication of a set of documents to be acquired from a plurality of documents identified in the previously-created document management process, the set of documents comprising at least one document comprising a digital signature;
communicating, by one or more of the document management application supporting one or more integration protocols and the document management module in communication with the document management application, with a signature acquisition module using the one or more integration protocols configured to acquire a digital signature from a signature input device to create a digitally-signed electronic document;
receiving the digitally-signed electronic document created with the digital signature from the signature acquisition module;
creating an association in the form of a transaction file between user identification information and the digitally-signed electronic document, wherein the transaction file represents a single file that is created for each user transaction, and wherein the transaction file includes a plurality of required documents for a user transaction with respect to at least one of the plurality of documents;
communicating, by one or more of the document management application supporting the one or more integration protocols and the document management module in communication with the document management application, with a scanning device using the one or more integration protocols, the scanning device configured to acquire one or more images of one of the set of documents to be acquired identified in the previously-created document management process, the previously-created document management process indicating an image acquisition procedure at the graphical user interface;
receiving the acquired one or more images of one of the set of documents;
adding the one or more acquired images to the transaction file;
comparing at least one of the received images of one of the set of documents to a document template to automatically identify the one indicated document, the document template being created in the previously-created document management process and defining dimensions, textual characteristics, and at least one characteristic image, the at least one characteristic image being a characteristic of the indicated document that differentiates the indicated document from other documents, the template including fields defined therein from data to be extracted;
communicating, through the document management application, with an optical character recognition (OCR) library and extracting data from the at least one received image corresponding to the defined fields within the document template using the OCR library;
adding the extracted data to the transaction file;
transmitting the transaction file to a database;
comparing the extracted data with one or more of corresponding data extracted from another of the set of documents and user data input at the graphical user interface;
determining whether a confidence level associated with the comparison of the extracted data with the one or more of corresponding data extracted from another of the set of documents and user data input at the graphical user interface is within a confidence interval, wherein the confidence interval is set based on detection rates associated with a document type of the one of the set of documents, wherein the detection rates depend on quality of the acquired one or more images of the one of the set of documents, and wherein the confidence interval is variably defined to indicate an acceptable difference between a plurality of sets of the extracted data that are compared with each other; and
in response to a determination that the confidence level is within the confidence interval, generating an indication of a match between the extracted data with the one or more of corresponding data extracted from another of the set of documents and user data input at the graphical user interface.

US Pat. No. 10,140,293

COORDINATED USER WORD SELECTION FOR TRANSLATION AND OBTAINING OF CONTEXTUAL INFORMATION FOR THE SELECTED WORD

Google LLC, Mountain Vie...

1. A computer-implemented method, comprising:receiving, at a viewing application executing in a foreground at a computing device, a touch input from a user, the touch input comprising:
(i) a first portion indicating a selection of a single selected word in a document in a source language, the document being displayed in the viewing application, wherein the viewing application is not configured to perform language translation; and
(ii) a second portion following the first portion and indicating a trigger command for obtaining a translation of the selected word from the source language to the target language; and
in response to receiving the touch input:
obtaining, by an operating system executing at the computing device, contextual information from at least a portion of a full screen capture of the document, wherein the full screen capture includes an entire viewable area of the computing device, wherein the portion of the full screen capture is associated with the selected word, and wherein the contextual information is indicative of a context of the selected word as it is used in the document;
extracting, by the computing device, contextual features of the selected word using the contextual information, each contextual feature being a machine-learned feature indicative of a use of the selected word, wherein the contextual features include both (i) one or more first words from at least the portion of the full screen capture and (ii) an image from at least the portion of the full screen capture, wherein the image does not include the one or more first words and the selected word;
providing, from the operating system and to a different translation application, the selected word and its contextual information, wherein receipt of the selected word and its contextual information causes the translation application to obtain and output potential translated words to the operating system, wherein the translation application (i) is distinct from the viewing application, (ii) is launched by the operating system in a background at the computing device or is already executing in the background at the computing device, and (iii) is configured to obtain the potential translated words using the selected word and its extracted contextual features;
providing, from the operating system to the viewing application, the potential translated words, each potential translated word being a potential translation of the selected word to a different target language that is preferred by the user; and
displaying, by the viewing application, the potential translated words.

US Pat. No. 10,140,292

DEVICE AND COMPUTERIZED METHOD FOR PICTURE BASED COMMUNICATION

AVAZ, INC., Palo Alto, C...

1. A computerized method for picture based communication, the method comprising:presenting, by a user interface module, a plurality of pictures to a user on a screen of a device;
receiving, by said user interface module, at least one picture selected by said user;
receiving, by said user interface module, one or more attributes of at least one picture selected by said user;
constructing, by a graph generation module, at least one connected graph in semantic interlingua, wherein said at least one connected graph is made of words and relationships with said selected at least one picture;
generating, by a sentence generation module, a sentence in at least one target language based on said at least one connected graph, said generation further comprising:
generating a graph representation from said connected graph in said semantic interlingua using at least one graph rule applied by a rule engine;
generating separate tree representations for each node in said graph representation, wherein said tree representation is generated based on at least one graph-to-tree rule applied by said rule engine;
generating a cumulative tree representation based on said separate tree representations, wherein said separate tree representations are analyzed based on at least one graph to tree rule, and cumulative tree representation is analyzed by at least one tree rule, applied by said rule engine, wherein analyzing at least one graph further comprises:
traversing said graph representation node-by-node, wherein said graph representation is traversed from an entry node and proceeding outwards along edges,
selecting edges in said graph representation from among those which create a cycle in the graph, or which cause an entry node to have at least one input edge, cause a node that is not an entry node to have two or more input edges, and cause a node to have more than one input edges of give type,
forming said selected edges, breaking edges having a start node, an end node, and a relation, and
transforming said cumulative tree representation into said sentence in said at least one target language, wherein said cumulative tree representation is transformed based on at least one sequence transformation rule applied by said rule engine; and
communicating, by an output module, said sentence in said at least one target language to a party receiving said communication on said device in a mode as configured by the user, wherein said communicating comprises causing to display said sentence on said screen of said device, wherein said at least one target language is based on an input representing mode of communication received from said user.

US Pat. No. 10,140,291

TASK-ORIENTED MESSAGING SYSTEM

International Business Ma...

1. A computer-implemented method comprising:identifying an electronic message generated by a first user with an electronic communication tool and directed to a first recipient;
intercepting the electronic message before the electronic message is available to the first recipient;
analyzing the electronic message to identify a set of requests to perform a corresponding set of tasks;
responsive to identifying the set of requests, composing a task statement that summarizes each request to perform a corresponding task;
sending; to the first recipient, the electronic message using the electronic communication tool;
receiving a reply message from the first recipient;
determining that one or more tasks of the corresponding set of tasks are not addressed in the reply message;
responsive to a determination that the one or more tasks are not addressed in the reply message, generating an interactive interface including the task statement and a corresponding set of selectable disposition actions for each of the one or more tasks that is not addressed including respond later, respond now, ignore, delegate, open the electronic message in a native messaging application, and already answered;
displaying, to the first recipient, the electronic message and the interactive interface including the task statement and the corresponding set of selectable disposition actions;
responsive to selection, by the first recipient, of a disposition action from the corresponding set of selectable disposition actions, taking the disposition action; and
responsive to selection of the disposition action to ignore a first task of the corresponding set of tasks, recording the first task as addressed to prevent generation of the first task in a subsequent interactive interface corresponding to the electronic message.

US Pat. No. 10,140,290

MESSAGE TONE EVALUATION IN WRITTEN MEDIA

International Business Ma...

1. A computer program product for message tone evaluation between entities in an organization, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code comprising the programming instructions for:intercepting a message or a group of messages between a sender entity and a recipient entity in an organization;
extracting text content for the message or group of messages and obtaining analysis of the tone of the text content, wherein the tone comprises emotions, social tendencies, writing styles and sentiment of positive and negative sentiments;
formatting a tone weighting for a communication relationship of the sender entity to the recipient entity including additional metadata relating to the message or group of messages, wherein the metadata comprises date and location tags as well as a medium used for interaction, wherein the metadata helps with additional metrics and analysis by recognizing other factors influencing the tone;
referencing a graph in which nodes represent entities in the organization and edges between the nodes have tone weightings for a tone for a communication relationship between the entities, wherein the tone weightings comprise a numerical value;
updating the graph with a tone weighting for the intercepted message or group of messages by setting or updating an edge tone weighting between the nodes for the sender entity and the recipient entity;
analyzing, by the processor, the graph to obtain analysis of one or more entities of the organization and the tone weightings of their communication relationships; and
capturing an insight into an interaction tone of the organization based on the analysis.

US Pat. No. 10,140,289

IDENTIFYING PROPAGANDA IN GLOBAL SOCIAL MEDIA

Galisteo Consulting Group...

1. A computer implemented method for identifying propaganda, wherein a computer has a source dataset stored thereon, comprising:the computer tokenizing each document in the source dataset;
the computer generating a term-by-document matrix;
the computer applying weights to the term-by-document matrix to generate a weighted term-by-document matrix;
the computer performing a matrix multiplication of a translation matrix and the weighted term-by-document matrix to generate a multilingualized weighted matrix;
the computer factorizing the multilingualized weighted matrix to generate an ordered list of topics and a topic-by-document block matrix;
the computer calculating a contribution per user-specified grouping within the source dataset to each topic within the ordered list of topics; and
the computer generating output enabling significant patterns, trends, and differences between groupings to be identified;
wherein the tokenization, generating of a matrix, applying weights, matrix multiplication, factorizing, calculating, and generating of output are performed regardless of the number, type, or size of documents, regardless of the number or type of terms associated with each document, and regardless of the provenance of the dataset.

US Pat. No. 10,140,288

PROCESSING TEXT WITH DOMAIN-SPECIFIC SPREADING ACTIVATION METHODS

1. One or more non-transitory electronic memory devices including computer instructions for performing a method comprising using a central processing unit (CPU) to create, from a text of one or more documents containing natural language stored in a non-transitory electronic memory device, a semantic network having a plurality of nodes corresponding to sets of semantic and episodic concepts and weighted links between the sets of semantic and episodic concepts,the sets of semantic concepts consisting of a plurality of semantic concepts associated with a plurality of known words;
the sets of episodic concepts consisting of a plurality of episodic concepts associated with the semantic concepts; and
utilizing, using the CPU, spreading activation algorithms to refine the weighted links in the semantic network.

US Pat. No. 10,140,286

OPTIMIZED GRAPH TRAVERSAL

Google LLC, Mountain Vie...

1. A system comprising:a front end server that is configured to receive a given phrase that is input through a user interface by a digital component provider;
a knowledge graph traverser that is configured to determine an entity that is being referred to by the given phrase, wherein the knowledge graph traverser performs the determination by accessing a knowledge graph comprising nodes that each uniquely identify different entities, and identifying a particular node that uniquely identifies the entity being referred to by the given phrase, wherein the nodes of the knowledge graph are connected by edges that represent relationships between connected nodes; and
a property selector that interacts with the graph traverser and is configured to:
identify properties of the entity by accessing other nodes that are connected to the particular node that identifies the entity;
access a search query history that includes previous search queries provided by users;
determine, from among the properties that were identified for the entity, one or more properties that occur in the previous search queries provided by the users at a greater frequency than other properties that were identified for the entity; and
based on characteristics of the digital component provider, select, from among the one or more properties that occur in the previous search queries provided by the users at the greater frequency than the other properties that were identified for the entity, a subset of the properties that were identified for the entity,
wherein the knowledge graph traverser is further configured to identify additional phrases by accessing the knowledge graph using the subset of properties that were identified for the entity, and
wherein the front-end server updates the user interface to present at least some of the additional phrases with programmatic controls that assign one or more of the additional phrase as distribution criteria for digital components of the digital component provider in response to activation of the programmatic controls.

US Pat. No. 10,140,285

SYSTEM AND METHOD FOR GENERATING PHRASE BASED CATEGORIES OF INTERACTIONS

1. A computer-implemented method of generating phrase based categories for interactions recorded at a call center, the method comprising:displaying, using a computer processor, a graphical user interface to a user, the graphical user interface comprising: an input area for the user to input a base category and one or more phrases, for analysis of the base category, and an input area for the user to input a candidate phrase for analysis;
obtaining via user input the base category;
generating, using the computer processor, a base trend for the base category based on a frequency of appearance of at least one of the one or more phrases in a set of recorded interactions that are specific to the call center, the base trend comprising a series of numbers of interactions per time unit for each of a series of time units, each recorded interaction comprising a text recording of a conversational exchange, wherein at least some of the text recordings are produced via a speech to text process applied to an audio recording;
obtaining via user input the candidate phrase;
generating, using the computer processor, an accuracy value for the candidate phrase by determining a correlation between: a first candidate trend determined based on the frequency of appearance of the candidate phrase in the set of recorded interactions determined using a first accuracy value; and a second candidate trend determined based on the frequency of appearance of the candidate phrase in the set of recorded interactions determined using a second accuracy value;
generating, using the computer processor, a candidate trend for the candidate phrase based on a frequency of appearance of the candidate phrase in the set of recorded interactions determined using the generated accuracy value, each of the candidate trend, the first candidate trend, and the second candidate trend comprising a series of numbers of interactions per time unit for each of a series of time units;
calculating, using the computer processor, a correlation level for the candidate trend based on the candidate trend and the base trend, wherein the correlation level quantifies a difference in a behavior of the candidate trend and the base trend;
if the correlation level is greater than a threshold level then including, using the computer processor, the candidate phrase in the base category; and
displaying to the user the candidate phrase.

US Pat. No. 10,140,284

PARTIAL GESTURE TEXT ENTRY

Google LLC, Mountain Vie...

1. A method comprising:outputting, by a computing device, for display at a presence-sensitive display, a text entry area and a graphical keyboard that includes: a plurality of keys;
detecting, by the computing device, at the presence-sensitive display, a gesture being entered by an input unit that selects fewer than all of a group of keys from the plurality of keys that correspond to a plurality of candidate words;
determining, by the computing device, whether the gesture has terminated;
responsive to determining that the gesture has not terminated, outputting, by the computing device, for display at a location of the presence-sensitive display that is based on a current location of the input unit, a highest ranked candidate word from the plurality of candidate words by at least displaying the highest ranked candidate word with movement that follows the input unit as the gesture being entered by the input unit is detected at the presence-sensitive display; and
responsive to determining that the gesture has terminated, outputting, by the computing device, for display at the presence-sensitive display and in the text entry area, the highest-ranked candidate word.

US Pat. No. 10,140,283

PREDICTIVE TEXT DICTIONARY POPULATION

BlackBerry Limited, Wate...

1. A method of populating a predictive text dictionary of a computing device, the method comprising:receiving a selection of one or more word categories, wherein the one or more word categories include a plurality of words, each of the plurality of words is associated with a date when the word was added to the one or more word categories, one of the one or more word categories is a location-specific category, and each word in the location-specific category is associated with a location;
in response to receiving the selection, updating a user preference to include the selected one or more word categories, wherein the user preference includes a date when a last previous update occurred for the predictive text dictionary of the computing device;
sending a request, from the computing device to a server through a communication network, for a new word, wherein the server determines that a location of the computing device is different than a previous location of the computing device, and the new word is selected at least partially based on the date when the last previous update occurred for the predictive text dictionary of the computing device prior to a date when the new word was added to the one or more word categories, and a location associated with the new word matching the location of the computing device if the new word is in the location-specific category;
receiving, at the computing device, the new word from the server through the communication network;
updating, by the computing device, the predictive text dictionary of the computing device to include an addition of the received new word, wherein updating the predictive text dictionary also includes discarding an existing word from the predictive text dictionary, and the existing word is associated with the previous location of the computing device;
receiving text input at the computing device; and
in response to receiving the text input, presenting, at the computing device, at least one predicted word that is based on the text input and the updated predictive text dictionary.

US Pat. No. 10,140,282

INPUT STRING MATCHING FOR DOMAIN NAMES

VERISIGN, INC., Reston, ...

1. A computer-implemented method, comprising:accessing a first input string that includes a keyword to be compared;
generating a Universal character set transformation format (UTF)-encoded input string from the first input string;
parsing the UTF-encoded input string via an n-gram parser to generate a plurality of input string n-grams;
accessing a second input string that includes a domain to be compared;
determining that the second input string includes a top-level domain suffix;
stripping the top-level domain suffix from the second input string to create a modified second input string;
generating a UTF-encoded domain string from the modified second input string that includes the domain;
parsing the UTF-encoded domain string to generate a plurality of domain string n-grams from the UTF-encoded domain string;
comparing the plurality of input string n-grams to the plurality of domain string n-grams;
identifying a match between the first input string that includes the keyword and the second input string that includes the domain based on the comparison of the plurality of input string n-grams to the plurality of domain string n-grams;
generating a relevance score for the identified match, wherein the relevance score is based on a first input string n-gram from the plurality of input string n-grams that match the plurality of domain string n-grams; and
returning the second input string that includes a domain based on determining that the relevance score meets a threshold value and one or more variants of the domain that include one or more graphemes that are different from one or more graphemes in the domain.

US Pat. No. 10,140,281

METHOD AND SYSTEM FOR DISTRIBUTED LATENT DIRICHLET ALLOCATION COMPUTATION USING ADDITION OF APPROXIMATE COUNTERS

ORACLE INTERNATIONAL CORP...

1. A method for a distributed system, including a first computing device and a second computing device communicatively connected via a network, running a distributed uncollapsed Gibbs sampler comprising:the first computing device running the uncollapsed Gibbs sampler over a Dirichlet distribution of a plurality of words in a set of documents to produce sampler result data, further comprising:
receiving, from the second computing device, a first approximate counter value that corresponds to a particular counter of the distributed uncollapsed Gibbs sampler,
using one or more probabilistic techniques to increment a second approximate counter value that also corresponds to the particular counter;
adding the first approximate counter value to the second approximate counter value to produce an aggregate approximate counter value, and
converting the aggregate approximate counter value to an expected value represented by the aggregate approximate counter value; and
using the expected value generated from the aggregate approximate counter value as the value of the particular counter; and
determining, from the sampler result data, one or more sets of correlated words.

US Pat. No. 10,140,280

ASYNCHRONOUS DYNAMIC FUNCTIONS FOR CALCULATION ENGINES

Microsoft Technology Lice...

1. A method of providing a data calculation framework for a user application, the method comprising:providing one or more functions for use by a calculation engine of the user application;
monitoring an availability status of each of the one or more functions, wherein the availability status is related to a present capability of one of each of the one or more functions to process expressions associated with the calculation engine;
determining that the calculation engine issues a call for evaluation of a nested expression comprising at least a child function embedded in a parent function, and responsively dispatching at least a first evaluation process for a first portion of the nested expression that employs the child function;
determining, during the monitoring, that the parent function has an unavailable status;
during evaluation of the nested expression, indicating to the calculation engine, based on the unavailable status of the parent function, a predetermined result for at least the parent function;
determining, during the monitoring based on availability of a child result from the first evaluation process, that the parent function has an available status;
responsive to the available status of the parent function, dispatching at least a second evaluation process for a second portion of the nested expression that employs the child result; and
responsive to receiving a parent result from the second evaluation process, indicating the parent result to the calculation engine.

US Pat. No. 10,140,279

TECHNIQUES FOR PROVIDING USER INTERFACE ENHANCEMENTS FOR SPREADSHEETS AND TABLES

Dropbox, Inc., San Franc...

1. A method, comprising:at one or more computing devices comprising one or more processors and storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:
in response to detecting a semantic organization event in a first graphical user interface content-view of a spreadsheet, determining whether semantic organization data associated with a first set of data cells of the spreadsheet should be stored, wherein the semantic organization data describes how the spreadsheet is organized;
wherein the first set of data cells includes a plurality of columns;
wherein the plurality of columns of the first set of data cells includes a plurality of data cell values;
wherein the spreadsheet includes a header that collectively groups the plurality of columns within the spreadsheet;
wherein the header and the plurality of data cell values are content input into the spreadsheet;
wherein the semantic organization data includes the header;
in response to determining that semantic organization data should be stored, storing semantic organization data associated with the first set of data cells;
generating a preview thumbnail image based on the semantic organization data;
displaying a graphical user interface semantic-view of the spreadsheet, wherein the graphical user interface semantic-view comprises the preview thumbnail image corresponding to the first set of data cells;
wherein the preview thumbnail image displayed includes display of the header that collectively groups the plurality of columns within the spreadsheet; and
in response to detecting a selection of the preview thumbnail image corresponding to the first set of data cells, navigating to a display of the first set of data cells in a second graphical user interface content-view of the spreadsheet.

US Pat. No. 10,140,278

COMPUTER-IMPLEMENTED METHODS AND SYSTEMS FOR ASSOCIATING FILES WITH CELLS OF A COLLABORATIVE SPREADSHEET

Adobe Systems Incorporate...

1. A computer-implemented method comprising:receiving, from a client device, by an attachment module hosted on a cloud storage device, a first request to attach a file to a cell of a collaborative spreadsheet, wherein the collaborative spreadsheet is stored on the cloud storage device, wherein the first request identifies the cell and is received in response to a user interaction at the client device with an attachment icon of the collaborative spreadsheet in a graphical user interface, wherein the graphical user interface presents the collaborative spreadsheet in a viewing area and the attachment icon in a toolbar;
sending, by the attachment module in response to the first request, a second request to the client device to provide the file; and
after receiving the file from the client device in response to the second request, attaching, by the attachment module, the file to the cell of the collaborative spreadsheet based on the first request, the attaching comprising:
in response to receiving the file from the client device, generating a unique identifier of the file and storing the file on the cloud storage device,
in response to the unique identifier being generated, inserting the unique identifier of the file in the cell identified in the first request and marking a type of the cell as being an attached file,
including in an attribute of the cell and based on the file being stored on the cloud storage device, a reference associated with a storage location of the file on the cloud storage device, the reference being different from the unique identifier and allowing access to the file from the cell of the collaborative spreadsheet, and
representing attachment of the file to the cell with a graphical component, wherein, when the collaborative spreadsheet is presented in the graphical user interface, the graphical component is presented in the cell of the collaborative spreadsheet based on the unique identifier of the file;
wherein the file is stored separately from the collaborative spreadsheet and is accessible from the cell of the collaborative spreadsheet based on the reference in the attribute of the cell to the storage location of the file.

US Pat. No. 10,140,277

SYSTEM AND METHOD FOR SELECTING DATA SAMPLE GROUPS FOR MACHINE LEARNING OF CONTEXT OF DATA FIELDS FOR VARIOUS DOCUMENT TYPES AND/OR FOR TEST DATA GENERATION FOR QUALITY ASSURANCE SYSTEMS

Intuit Inc., Mountain Vi...

1. A computing system implemented method for efficiently learning new forms in an electronic document preparation system, the method comprising:receiving form data related to a new form having a plurality of data fields;
gathering training set data related to previously filled forms, each previously filled form having one or more completed data fields that correspond to a respective data field of the new form;
deleting from the training set data one or more sets of data of a previously filled form where a first set of data of the previously filled form matched a second set of data of the previously filled form and the deleted training set data includes the second set of data;
generating, for a first selected data field, dependency data indicating one or more possible dependencies for an acceptable function, the possible dependencies including one or more data fields of the new form other than the first selected data field, the possible dependencies further including one or more constants of the first selected data field, the possible dependencies further including one or more values of data fields from a form other than the new form;
generating, for a first selected data field of the plurality of data fields of the new form and based on the dependency data, candidate function data including a plurality of candidate functions;
generating, for the first selected data field and based on the dependency data, grouping data by forming a plurality of groups from the training set data based on respective categories and assigning each of a plurality of the previously filled forms to a respective one of the groups based on the categories;
generating, for the first selected data field, sampling data by selecting one or more previously filled forms from each group;
generating, for each candidate function, test data by applying the candidate function to a portion of the training set data corresponding to the sampling data related to the candidate function;
identifying one or more candidate functions of the plurality of candidate functions that have associated test data that are a best match to the training set data as compared with other candidate functions of the plurality of candidate functions;
generating one or more additional candidate functions, the additional candidate functions being based on the identified one or more candidate functions that have associated test data that are a best match;
repeatedly identifying generated candidate functions that have associated test data that are a best match to the training set data and generating one or more additional candidate functions, the additional candidate functions being based on the identified one or more candidate functions that have associated test data that are a best match until one or more candidate functions are determined to have associated test data that matches the training set data with a predetermined tolerance;
identifying, from the plurality of candidate functions, an acceptable function for the first selected data field by comparing the test data to the training set data and identifying test data that matches the training set data within a predetermined tolerance, the identified acceptable function being a candidate function associated with the matching test data; and
generating and outputting results data indicating the acceptable function for the first data field of the new form.

US Pat. No. 10,140,276

SYSTEM AND METHOD FOR DYNAMICALLY GENERATING CLIENT-SIDE DATABASE FORMS

Quest Software Inc., Ali...

1. A method comprising, on a backend computing system comprising at least one server computer:centrally maintaining a plurality of form-generator client applications;
centrally maintaining a plurality of entity adapters, each entity adapter providing a standard interface to one or more of a plurality of database entities, the plurality of database entities logically representing data stored in a database on the backend computing system;
allowing a user of a client device to select a form-generation category from a plurality of form-generation categories;
identifying a form-generator client application of the plurality of form-generator client applications that is appropriate for the form-generation category;
generating a webpage comprising a reference to a network location of the form-generator client application;
serving the webpage to the client device;
receiving, at the network location, a request from the client device for the form-generator client application;
supplying the form-generator client application to the client device so that the form-generator client application can be loaded on the client device;
receiving, from the loaded form-generator client application, a request for an entity schema of at least one database entity of the plurality of database entities;
acquiring, using an entity adapter of the plurality of entity adapters that is associated with the at least one database entity, a standardized schema for the at least one database entity;
transmitting the standardized schema to the loaded form-generator client application so that a client-side database form can be dynamically generated by the loaded form-generator client application, on the client device, in accordance with a structure of the at least one database entity as represented by the standardized schema;
providing, to the dynamically-generated client-side database form, a web application programming interface (API) for performing a set of persistent storage operations, wherein the web API defines the set of persistent storage operations in terms of hypertext transfer protocol methods;
receiving, via the web API, from the dynamically-generated client-side database form on the client device, one or more persistent storage operations of the set relative to the at least one database entity; and
performing the one or more persistent storage operations in the database relative to the at least one database entity.

US Pat. No. 10,140,275

MESSAGE INFORMATION GENERATING APPARATUS, OUTGOING CALL CONTROL APPARATUS, MESSAGE INFORMATION GENERATING METHOD, AND OUTGOING CALL CONTROL METHOD

FUJITSU LIMITED, Kawasak...

1. A non-transitory computer-readable recording medium having stored therein a message information generating program, which when processed by one or more processors, causes a computer to execute a process comprising:acquiring first information having both a character string input by handwriting and a character color related to the character string input by the handwriting as a handwritten input content on an electronic message board;
specifying a form of the character string based on the color related to the character string acquired first information;
specifying an address associated with the specified form by referring to a storage configured to store an address of a message destination in association with a form of a character string; and
generating and sending message information with the specified address as a destination, the message information including second information corresponding to the character string.

US Pat. No. 10,140,274

AUTOMATED MESSAGE MODIFICATION BASED ON USER CONTEXT

International Business Ma...

1. A method of dynamically modifying an incoming message based on user context comprising:analyzing an incoming message directed to a user to determine a message content associated with the incoming message, wherein analyzing the incoming message comprises determining a message sentiment associated with the message content;
determining a user context based on one or more environmental parameters associated with the user;
determining whether there is sensitive content in the incoming message based on the message content and user context; and
in response to determining that there is sensitive content in the incoming message, generating a modified message by removing the sensitive content from the incoming message for display to the user, wherein generating the modified message comprises:
selecting a pre-configured template based on the message sentiment; and
revising the pre-configured template to include a summary of the message content.

US Pat. No. 10,140,273

LIST MANIPULATION IN NATURAL LANGUAGE PROCESSING

International Business Ma...

1. A method comprising:receiving an input text comprising a plurality of lists associated with at least one clinical trial, wherein each respective list comprises a plurality of respective list items;
segmenting the input text into tokens;
annotating tokens for parts of speech, wherein annotating tokens for parts of speech comprises annotating tokens for conjunctions, wherein a conjunction is selected from the group consisting of: a respective word from a set of conjunction words, a comma, and a dash, wherein annotating tokens for parts of speech further comprises:
identifying respective lists of the plurality of lists based on respective tokens annotated as conjunctions;
identifying respective list items based on respective tokens annotated as conjunctions by:
identifying a first discrete list item based on the first discrete list item being located adjacent to a first token annotated as a comma;
identifying a first implied list item based on a second token annotated as a dash located between a first number and a second number;
annotating tokens for prefix modifiers and suffix modifiers, wherein a respective prefix modifier is explicitly or impliedly before respective list items, wherein a respective suffix modifier is explicitly or impliedly after respective list items;
annotating a lemma form to respective portions of the input text containing any one of a subset of terms related to the lemma form, wherein the lemma form is associated with a trigger, wherein annotating the lemma form further comprises:
identifying a scope associated with the trigger, wherein the scope comprises a term associated with any one of the subset of terms related to the lemma form, wherein the scope limits a meaning of the trigger; and
annotating at least a portion of the input text for domain specific content;
retrieving a list modification rule set based on the input text, annotating tokens for parts of speech, annotating tokens for prefix modifiers and suffix modifiers, annotating the lemma form, and annotating for domain specific content;
matching a portion of the input text to an implied list indicator stored in the list modification rule set, wherein the implied list indicator is associated with a first explicit list;
modifying the plurality of lists based on the list modification rule set to generate modified input text, wherein the modified input text expands the input text to explicitly state each respective list item by:
appending, to each respective list item in a first list of the plurality of lists, a prefix modifier, a suffix modifier, or both a prefix modifier and a suffix modifier to the respective list item;
replacing, in a second list of the plurality of lists, the implied list indicator with the first explicit list by:
appending the first explicit list to the input text at a location containing the implied list indicator, wherein the first explicit list comprises a plurality of list items; and
deleting the implied list indicator from the input text;
identifying extraneous text of the input text based on the list modification rule set; and
deleting extraneous text from the input text;
storing the modified input text in a database of clinical trials, wherein the modified input text includes at least one list item appended with a prefix modifier, at least one list item appended with a suffix modifier, at least one list item appended with both a prefix modifier and a suffix modifier, the implied list indicator replaced by the first explicit list, and at least a portion of the input text deleted and not replaced;
matching the modified input text to one or more patient profiles in a database of patient profiles;
scoring each respective match; and
outputting one or more patient profiles to a user interface, wherein patient profiles having a score above a threshold are identified as eligible for the at least one clinical trial and patient profiles having a score below the threshold are identified as not eligible for the at least one clinical trial.

US Pat. No. 10,140,272

DYNAMIC CONTEXT AWARE ABBREVIATION DETECTION AND ANNOTATION

International Business Ma...

1. A method, in a data processing system comprising a processor and a memory having instructions which, when executed by the processor, cause the processor to configure the data processing system to implement a context aware abbreviation detection and annotation (CAADA) system, the method comprising:identifying, by the CAADA system, in received content, an instance of a full name of an entity;
performing, by the CAADA system, analysis of a context window associated with the instance of the full name of the entity to identify a presence of a pattern of content representative of an abbreviation;
identifying, by the CAADA system, an abbreviation being present in association with the instance of the full name of the entity based on results of the analysis of the context window;
generating, by the CAADA system, a mapping data structure that maps the full name of the entity to the abbreviation;
analyzing, by the CAADA system, the received content to identify other instances of the abbreviation that match the abbreviation and the pattern of content representative of the abbreviation;
generating, by the CAADA system, a global abbreviation list data structure comprising each instance of the abbreviation within the received content;
comparing, by the CAADA system, the abbreviation in the mapping data structure to the abbreviation in the global abbreviation list data structure to identify matches between entries in the mapping data structure to entries in the global abbreviations list data structure;
responsive to matching an abbreviation in the global abbreviation list data structure to an abbreviation in the mapping data structure, generating, by the CAADA system, annotations in an annotation data structure for each instance of the abbreviation in received content along with the full name of the entity associated with the abbreviation;
annotating, by the CAADA system, the received content based on the annotation data structure to thereby generate abbreviation annotations for each instance of the abbreviation in the received content; and
outputting, by the CAADA system, the annotated received content along with the annotation data structure for use by a cognitive system to perform a cognitive operation based on the annotated received content and the annotation data structure.

US Pat. No. 10,140,271

DYNAMIC ADAPTATION OF A NARRATIVE ACROSS DIFFERENT TYPES OF DIGITAL MEDIA

Telltale, Incorporated, ...

1. A method comprising:maintaining, at a server system, a narrative state for a narrative to be presented to a user across a plurality of digital media; and
in response to determining that the user has logged into a first client system, transmitting, by the server system, a copy of the narrative state to the first client system, wherein the first client system is configured to present the narrative to the user via a first digital medium in the plurality of digital media, and wherein upon receiving the copy of the narrative state, the first client system is configured to:
adapt, based on the copy of the narrative state and one or more first rules, the first client system's presentation of the narrative to the user via the first digital medium, wherein the adapting takes into account information included in the copy of the narrative state that identifies portions of the narrative which have already been consumed by the user while operating a second client system different from the first client system, the second client system being configured to present the narrative via a second digital medium different from the first digital medium;
update the copy of the narrative state based on portions of the narrative consumed by the user via the first client system; and
upon determining that the user has logged out of the first client system, transmit the updated copy of the narrative state to the server system for storage on the server system.

US Pat. No. 10,140,270

DIGITAL DOCUMENT CHANGE CONFLICT RESOLUTION

Microsoft Technology Lice...

1. A method, comprising:detecting a conflict relating to a graphical object in a first version of a digital document and the graphical object in a second version of the digital document;
categorizing the conflict as a conflict to be resolved automatically based on an application of conflict resolution logic, wherein the conflict resolution logic comprises:
applying at least one conflict rule evaluating a property affecting a presentation of the graphical object, and
determining that the conflict modifies the presentation of the graphical object; and
automatically resolving the conflict by updating, in a user interface of a productivity service, one or more of the first version of the digital document and the second version of the digital document based on the categorizing.

US Pat. No. 10,140,269

VIEWING EFFECTS OF PROPOSED CHANGE IN DOCUMENT BEFORE COMMITTING CHANGE

Microsoft Technology Lice...

1. A method for visualizing proposed changes to content of a spreadsheet within a spreadsheet application, comprising:displaying a spreadsheet having data that is in a first version state;
receiving a proposed change, via a user interface of the spreadsheet application, that changes the data to a second version state in the spreadsheet;
determining that the proposed change will affect the result of a calculation within the spreadsheet and will affect a graphical display of the spreadsheet application, the graphical display generated based on the data of the spreadsheet;
receiving an indication to view the affected calculation and/or affected graphical display as a result of the proposed change;
replacing the displayed spreadsheet with a display of at least one affected calculation result or at least one affected graphical display;
maintaining the first version state of the data until receiving an indication, via the user interface of the spreadsheet application, to commit the proposed change to the spreadsheet; and
when the proposed change is committed, displaying the view of the spreadsheet with the data in the second version state as committed data.

US Pat. No. 10,140,268

EFFICIENT BROWSER COMPOSITION FOR TILED-RENDERING GRAPHICS PROCESSING UNITS

QUALCOMM Innovation Cente...

1. A system comprising:a processing portion;
a system memory;
a graphics processing unit having a graphics memory thereon;
a browser engine rendering mode analysis component stored on the system memory and executable on the processing portion to, without using the graphics processing unit:
parse webpage HTML content to create a document object model (DOM) tree;
calculate a layout of elements in the DOM tree to determine how elements of the webpage are grouped into layers and where the elements of the webpage are drawn;
access from system memory bitmaps rasterized from the webpage HTML;
compute, using the calculated layout of elements, a weighted total of pixels in a composition of intersecting pixels of other of the bitmaps, the weighting calculated from: (1) a number of transparent pixels that overlap with pixels of other bitmaps; and (2) a number of instances of processing of complex shaders that is to occur before composition; and
determine that the weighted total of pixels is less than or equal to a direct-rendering mode threshold, and in response, to:
instruct the graphics processing unit to render the bitmaps directly to the system memory without rendering to the graphics memory; and
instruct the graphics processing unit to enter a lower-power state.

US Pat. No. 10,140,267

EFFICIENT OPERATION OF GRC PROCESSING PLATFORMS

EMC IP Holding Company LL...

1. A method of operating a governance, risk management, and compliance (GRC) processing platform that runs a GRC application, the method comprising:initiating, by processing circuitry of the GRC processing platform, a retrieval of data from an external data source according to a set of GRC rules, the data being expressed in a first format;
performing, by the processing circuitry, a transformation operation on the data expressed in the first format to produce transformed data, the transformed data expressed in a second format distinct from the first format, the second format providing parameters having values to be provided as input into the GRC application after retrieval of the data is complete;
receiving, by the processing circuitry, an indication that the values of the parameters of the transformed data satisfy a logical condition specified in the set of GRC rules;
in response to receiving the indication, terminating, by the processing circuitry, the retrieval of data from the external data source thereby improving operation of the processing platform by ceasing further processing of data that will not be input into the GRC application; and
retrieving data from other external data sources as the retrieval of data from the external data source is terminated,
wherein receiving the indication includes receiving an error message indicating that the logical condition was satisfied, and
wherein the method further comprises converting the error message to a warning so that further retrieval of data from other external data sources may occur.

US Pat. No. 10,140,266

PROFILE-BASED OPTIMIZATION OF XSLT TRANSFORMATIONS

Altova GmbH, Vienna (AT)...

1. A method comprising:in a computer system comprising at least a processor and a memory, generating a XSL (Extensible Stylesheet Language) Transformations (XSLT) and Extensible Markup Language (XML) Path Language (XPath) execution tree for a source XSLT stylesheet;
determining one or more optimizations for the XSLT and XPath execution tree, the determining one or more optimizations for the XSLT and XPath execution tree comprising profiling with sample data, identifying one or more hot-spot execution instruction nodes, and identifying one or more patterns for optimization for the one or more identified hot-spot execution instruction nodes, the identifying one or more hot-spot execution instruction nodes comprising, for each instruction in the execution tree, analyzing time and count values compared to threshold values, and selecting instructions for further analysis if predetermined conditions are fulfilled;
applying the one or more optimizations to the XSLT and XPath execution tree;
verifying the one or more optimizations in the XSLT and XPath execution tree;
making the verified one or more optimizations persistent in an optimized source XSLT stylesheet; and
transforming one or more source XML documents into one or more result documents using the optimized source XSLT stylesheet.

US Pat. No. 10,140,265

APPARATUSES AND METHODS FOR PHONE NUMBER PROCESSING

TENCENT TECHNOLOGY (SHENZ...

1. A method for phone number processing in a terminal device including a processor operating a browser, comprising:opening, by a processor, a web page on a browser, wherein:
the web page comprises a logical structure of a document object model (DOM) tree, and
the DOM tree includes a text node associated with text content in the web page;
extracting, by the processor, the text content from the text node in the DOM tree when a user selects the text content and the text node is unclickable;
detecting, by the processor, a string with a preset length from the text content;
determining, by the processor, whether the string comprises a valid phone number; and
in response to the determining that the string comprises the valid phone number:
creating, by the processor, a label based on the valid phone number,
linking, by the processor, the valid phone number to a phone number processing interface,
inserting, by the processor, the label into the DOM tree as a new father node of the text node,
moving, by the processor, the text node one level down in the DOM tree so that the text node becomes a child node of the label, and
displaying, by the processor, the phone number processing interface on the web page.

US Pat. No. 10,140,264

MULTIMEDIA AGGREGATION IN AN ONLINE SOCIAL NETWORK

Facebook, Inc., Menlo Pa...

1. A method comprising, by one or more processors associated with one or more third-party application servers:receiving, by the one or more third-party application servers, a first request from a first user of an online social network to view a selected video, wherein the received first request is sent from a client device of the first user, wherein the third-party application servers are communicably connected with the online social network;
sending, by the one or more third-party application servers, information to the client device in response to the first request, wherein the information is configured to cause the selected video and an associated posting control element to be displayed on the client device in a first web page associated with the third-party application server;
receiving, by the one or more third-party application servers, an indication of an activation by the first user of the posting control element associated with the selected video;
generating, by the one or more third-party application servers, a second request for sharing the selected video on the online social network in response to the received indication of the activation, the second request comprising a source ID and a content ID associated with the selected video;
determining, by the one or more third-party application servers, that the first user has been authenticated with respect to the online social network by sending authentication information from the third-party application servers to the online social network and receiving an indication that the user has been authenticated by the online social network;
sending, by the one or more third-party application servers, the second request to the online social network in response to the determination that the first user has been authenticated with respect to the online social network, wherein the second request is configured to cause the online social network to include an embed code to the selected video in a second web page of the online social network, wherein the embed code is generated using a configuration file associated with the source ID, wherein the configuration file specifies a format of the embed code and has a variable field into which the content ID is inserted;
receiving, by the one or more third-party application servers, a third request from a second user of the online social network to view the selected video through the second web page of the online social network, wherein the third request is received from the online social network, wherein the second user is connected to the first user in the online social network; and
sending, by the one or more third-party application servers, the selected video to the online social network for display to the second user.

US Pat. No. 10,140,263

SYSTEM AND METHOD FOR GENERATING TASK-EMBEDDED DOCUMENTS

FOULNES SERVICES CORP., ...

1. A method implemented in a data processing system for processing a document, the method comprising:receiving an electronic version of a document comprising a plurality of content portions;
identifying a plurality of prescribed elements for the document, wherein at least some of the plurality of prescribed elements are identified based on a document type for the document;
correlating at least some content portions in the editing copy of the document to corresponding prescribed elements of the plurality of prescribed elements;
determining a state value for each prescribed element of the plurality of prescribed elements according to the correlation, the state value corresponding to one of present, missing, or incomplete;
generating an editing copy of the document, the generating comprising embedding code in the editing copy of the document, the code identifying at least one task corresponding to at least one content portion of the document, the code defining at least one user interface element for presentation within the editing copy when the editing copy is rendered and presented;
transmitting, to a user system, the editing copy of the document including the embedded code and the state value for each prescribed element of the plurality of prescribed elements for rendering and presentation by the user system;
receiving, from the user system, an instruction to add a new content portion not included in the plurality of content portions to the editing copy of the document;
storing the new content portion at the data processing system;
correlating the new content portion to a prescribed element of the plurality of prescribed elements;
updating the state value for the correlated prescribed element; and
transmitting, to the user system, the updated state value.

US Pat. No. 10,140,262

SYSTEMS AND ASSOCIATED METHODS FOR ARABIC HANDWRITING SYNTHESIS AND DATASET DESIGN

King Fahd University of P...

1. A system for analysis and reproduction of text data comprising:circuitry configured to
partition, according to a 4-shapes model, a collected dataset of an Arabic alphabet including sentences associated with the Arabic alphabet and Arabic typography, the 4-shapes model including
a legative partition including isolated bigram representation and classified words that contain ligature representations of the collected dataset,
an unlegative partition including single character shape representation of the collected data set,
an isolated characters partition, and
a passages and repeated phrases partition;
identify legative bigrams of character shapes within the partitioned dataset;
generate a pangram based on the partitions of the 4-shapes model, the pangram including an occurrence of every character shape in the collected dataset and further including a lipogram condition set based on a desired digital output of the collected dataset, the lipogram condition omitting legative bigrams of predetermined Arabic character shapes; and
output a digital representation of the pangram as synthesized text.

US Pat. No. 10,140,261

VISUALIZING FONT SIMILARITIES FOR BROWSING AND NAVIGATION USING A FONT GRAPH

ADOBE SYSTEMS INCORPORATE...

1. A non-transitory computer storage medium comprising computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:receiving a search request defining a desired attribute value for a desired font, the desired attribute value being specifically selected via a graphical user interface from among a set of candidate attribute values associated with an attribute;
obtaining a font similarity matrix for determining the similarity between a plurality of fonts;
deriving a font graph using the font similarity matrix, the font graph defined on a font set based on the desired attribute value; and
providing the font graph defined on the font set, the font graph having a finite set of nodes representing similar fonts and a finite set of undirected edges denoting font similarities corresponding to the font set.

US Pat. No. 10,140,260

INTELLIGENT TEXT REDUCTION FOR GRAPHICAL INTERFACE ELEMENTS

SAP SE, Walldorf (DE)

8. A computer system comprising:at least one processor;
a communications medium coupled with the processor;
a system memory in communication with the processor via the communication medium, the system memory configured to store programmed computer code, which when executed by the processor, causes the processor to perform operations comprising:
receiving inputs from user interface framework of an application that implements the user interface framework when at least one text string is to be displayed in a display element of the user interface, the inputs comprising the text string, an amount of available space in the display element, and an identification of the language of the text string;
receiving linguistic pre-analysis results from outside the user interface framework;
executing a text reduction algorithm on the text string based upon the linguistic pre-analysis results, wherein executing the text reduction algorithm comprises calculating one or more of entropy, confusion, and style deviation of the short forms of the text string;
identifying one or more short forms of the text string that fit within the available space of the display element based on executing the text reduction algorithm; and
communicating the identified short forms of the text string to the application or framework for display in the display element of the user interface framework.

US Pat. No. 10,140,259

METHOD AND SYSTEM FOR DYNAMICALLY GENERATING MULTIMEDIA CONTENT FILE

WIPRO LIMITED, Bangalore...

1. A method for dynamically generating multimedia content file, the method comprising:receiving, by a multimedia content generator, description of an event from a user based on an application of one or more image processing techniques and/or video processing techniques, wherein the description comprises one or more actions and emotions of the user corresponding to the event, and one or more attributes of one or more objects associated with the event;
identifying, by the multimedia content generator, one or more keywords from the description of the event;
mapping, by the multimedia content generator, the one or more identified keywords with one or more images, related to one or more objects, stored in a content database for generating one or more scenes related to the description;
generating, by the multimedia content generator, an initial-level multimedia content file by composing the one or more scenes;
receiving, by the multimedia content generator, one or more inputs on the initial-level multimedia content file from the user;
generating, by the multimedia content generator, a final-level multimedia content file based on the one or more inputs received on the initial-level multimedia content file; and
fetching, by the multimedia content generator, one or more new images from an online multimedia repository when the one or more images required for mapping the one or more identified keywords is unavailable in the content database.

US Pat. No. 10,140,258

PORTABLE DEVICE AND IMAGE DISPLAYING METHOD THEREOF

Samsung Electronics Co., ...

1. A method of displaying images in a portable device including a sensor to sense orientation of the portable device, the method comprising:if the portable device is oriented in a first direction, displaying a plurality of text blocks and at least one multimedia block; and
in response to sensing, by the sensor, that the orientation of the portable device changes from the first direction to a second direction, determining a display order of the plurality of text blocks and the at least one multimedia block and rearranging the plurality of text blocks and the at least one multimedia block based on the determined display order,
wherein the determining of the display order comprises:
identifying an order of the plurality of text blocks displayed in a state which the portable device is oriented in the first direction,
calculating at least one vector by connecting central points of the plurality of text blocks based on the order of the plurality of text blocks, and
determining the display order based on a first distance between the at least one vector and the central points of the plurality of text blocks and a second distance between the at least one vector and central points of the at least one multimedia block, the first and second distances each being a shortest distance from the at least one vector.

US Pat. No. 10,140,257

METHOD AND APPARATUS FOR CAPTURING AND PROCESSING CONTENT FROM CONTEXT SENSITIVE DOCUMENTS ON A MOBILE DEVICE

Symbol Technologies, LLC,...

1. A method, comprising:selecting, by a mobile device based on at least one run-time characteristic of the mobile device, a template stored in a memory of the mobile device, the selected template describes data content of at least one document;
capturing, on the mobile device, an image of a document;
determining, by the mobile device, that the image corresponds to the at least one document described by the selected template based on at least one of an operating condition at the mobile device and contextual information in the document by verifying that at least one region in the image corresponds to the at least one document described by the selected template;
identifying, by the mobile device, the at least one region in the image in correspondence with a region in the at least one document described by the selected template based on at least one of the operating condition at the mobile device and the contextual information in the document;
processing information in the identified region in the image based at least in part on a location of the mobile device, including validating accuracy of a postal address in the identified region in the image based on the location of the mobile device and routing a package to the postal address in the identified region in the image when the location of the mobile device does not correspond to the postal address;
aggregating, by the mobile device, application specific information from the processed information based on at least one of the operating condition at the mobile device and contextual information in the document; and
presenting, by the mobile device, aggregated application specific information to a user program operating on one of the mobile device and a remote device connected with the mobile device.

US Pat. No. 10,140,256

LOCATION SPECIFIC CONTENT VISUALIZATION FORMATTING

Google LLC, Mountain Vie...

1. A system comprising:a third-party corpus database electronically storing various third-party content that are available to be incorporated into an electronic document, wherein the various third-party content are indexed in the third-party corpus database according to one or more parameters; and
a distributed computing system including a set of multiple computing devices that are interconnected and electronically access the third-party corpus database to evaluate the various third-party content, based at least in part on the one or more parameters, and transmit, to a user device, digital data that produce visualizations of at least two of the various third-party content together in a display of the user device, wherein:
the digital data include machine readable instructions that cause the user device to incorporate the visualizations of the at least two of the various third-party content into a particular presentation of a given electronic document at the user device;
the distributed computing system:
selects the at least two of the various third-party content and determines a given level of prominence provided by a first presentation location of the given electronic document that is assigned to one of the at least two of the various third-party content for the particular presentation;
selects, for a given third-party content that is assigned a second presentation location of the given electronic document, formatting of the given third-party content that increases a level of prominence of the given third-party content over the level of prominence that is provided by the second presentation location, but limits the level of prominence of the given third-party content to less than the given level of prominence provided by the first presentation location of the given electronic document, and
dynamically generates a visualization of the given third-party content using the formatting that was selected for the given third-party content; and
the digital data include instructions that cause presentation of at least some of the visualizations of the various third-party content at the user device according to respective formatting that was selected by the distributed computing system for each of the at least some of the various third-party content.

US Pat. No. 10,140,255

PORTABLE DATAPORT DEVICE AND METHOD FOR RETRIEVING, INTERRELATING, ANNOTATING AND MANAGING ELECTRONIC DOCUMENTS AT A POINT OF NEED

1. A portable dataport for document retrieving, inter-relating, annotating and management comprising:an electronic document storage device associated with the dataport, for storing a plurality of related electronic documents associated with a project; and
a view manager in communication with the electronic document storage device,
wherein the view manager logically organizes the plurality of related electronic documents for the project into a grid;
wherein each related electronic document of the plurality of related electronic documents is connected directly to an adjacent related electronic document of the plurality of related electronic documents on the grid;
wherein the view manager creates scrollable image viewers for a user selected related electronic document of the plurality of related electronic documents and one or more adjacent related electronic documents of the plurality of related electronic documents connected to the user selected related electronic document of the plurality of related electronic documents,
wherein the user selected related electronic document of the plurality of related electronic documents is loaded into one created scrollable image viewer of the created scrollable image viewers for immediate viewing as a currently viewed document,
wherein the adjacent related electronic document of the plurality of related electronic documents connected to the user selected related electronic document of the plurality of related electronic documents is loaded into another created scrollable image viewer of the created scrollable image viewers for future viewing, and
wherein the dataport, using the view manager, takes a snapshot of a particular portion of the currently viewed document, wherein the snapshot includes information that identifies a location and a magnification of detail of the portion of the currently viewed document, creates a copy of the document portion, permits a user to directly annotate on the document portion copy, and is permanently saved and tracked in a searchable format for record-keeping purposes.

US Pat. No. 10,140,254

METHODS AND SYSTEMS FOR REPRESENTING A DEGREE OF TRAFFIC CONGESTION USING A LIMITED NUMBER OF SYMBOLS

Yandex Europe AG, Lucern...

1. A method of presenting traffic congestion to a user of a client device, the method executable by a server, the method comprising:inputting, by the server at a given time, into a first artificial neural network, a first set of data as input, the first set of data including traffic data in respect of roads within a geographical area and preceding the given time, the geographical area including a plurality of road segments, the first artificial neural network being one of a plurality of artificial neural networks,
each artificial neural network of the plurality of artificial neural networks having been trained to generate a symbol representative of traffic congestion in an entirety of the geographical area for one specific time interval of a plurality of time intervals, the symbol being one of a limited number of symbols,
the one specific time interval for which the first artificial neural network had been trained being a first time interval;
receiving, by the server in response to the input, from the first artificial neural network, the symbol representative of the traffic congestion in the entirety of all of the plurality of road segments within the geographic area for the first time interval; and
sending, by the server to the client device for displaying to the user in respect of the first time interval, the symbol for the first time interval; and
wherein the symbol for the first time interval is a combination of a number and a color representative of the traffic congestion in the entire geographical area for the first time interval.

US Pat. No. 10,140,252

HARDWARE NODE WITH MATRIX-VECTOR MULTIPLY TILES FOR NEURAL NETWORK PROCESSING

Microsoft Technology Lice...

1. A method for evaluating a neural network model in a system comprising a plurality of nodes interconnected via a network, wherein each node comprises a plurality of tiles, the method comprising:receiving an N by M matrix of coefficients via an ingress tree, wherein the N by M matrix of coefficients is configured to control the neural network model, wherein N is an integer equal to or greater than 8 and M is an integer equal to or greater than 8;
storing a first row of the N by M matrix of coefficients in a first on-chip memory incorporated within a first of the plurality of tiles and storing a second row of the N by M matrix of coefficients in a second on-chip memory incorporated within a second of the plurality of tiles;
processing the first row of the N by M matrix of coefficients and a first set of input vectors, received via the ingress tree, using a first compute unit incorporated within the first of the plurality of tiles; and
processing the second row of the N by M matrix of coefficients and a second set of input vectors, received via the ingress tree, using a second compute unit incorporated within the second of the plurality of tiles.

US Pat. No. 10,140,250

METHODS AND APPARATUS FOR PROVIDING AN FFT ENGINE USING A RECONFIGURABLE SINGLE DELAY FEEDBACK ARCHITECTURE

CAVIUM, San Jose, CA (US...

1. An apparatus configured to generate time domain samples for transmitting information across a communication network utilizing one or more Fast Fourier Transform (FFT) engines for time to frequency domain conversion, the apparatus comprising:a radix-2 (R2) single delay feedback (SDF) stage that generates a radix-2 output;
a radix-3 (R3) SDF stage that generates a radix-3 output;
one or more radix-2 squared (R2?2) SDF stages that generate a radix-4 output;
a controller that configures a sequence of radix stages selected from the R2, R3, and R2?2 stages based on an FFT point size to form an FFT engine, wherein the FFT engine receives input samples at a first stage of the sequence and generate an FFT output result that is output from a last stage of the sequence, and wherein the sequence includes no more than one R3 stage;
a divider that divides an FFT output index associated with the FFT output result by a number associated with the FFT point size, wherein the divider generates a quotient and a remainder;
a bit reverser that bit reverses the remainder to generate a bit reversed remainder;
a multiplier that multiplies the bit reversed remainder by three (3) to generate a modified remainder; and
an adder that adds the quotient to the modified remainder to generate a re-ordered index for the FFT output result.

US Pat. No. 10,140,249

APPROXIMATE MESSAGE PASSING WITH UNIVERSAL DENOISING

North Carolina State Univ...

1. A method comprising:applying, using processing circuitry including a processor and memory, an approximate message passing (AMP) conversion framework to a plurality of substantially linear measurements to produce a plurality of scalar measurements;
applying, using the processing circuitry, a denoiser algorithm to the plurality of scalar measurements to generate a plurality of denoised scalar measurements, where the denoiser algorithm is a universal denoiser algorithm that is agnostic to input statistics of the plurality of scalar measurements and denoises as well based on error metric criteria comprising at least one of squared error, ell infinity (l?) error, ell1 (l1) error, and ell_p (lp) error; and
applying, using the processing circuitry, a conversion term to the plurality of denoised scalar measurements to convert the plurality of denoised scalar measurements to a plurality of denoised substantially linear measurements.

US Pat. No. 10,140,248

ANALOG PROCESSOR COMPRISING QUANTUM DEVICES

D-WAVE SYSTEMS INC., Bur...

1. A method of determining a result of a computational problem using an analog processor, comprising:receiving at a first digital computer, including a digital processor, an instance of the computational problem defined over an input graph, wherein the input graph is non-planar; and
determining a mapping of the instance of the computational problem onto the analog processor, by the digital processor.

US Pat. No. 10,140,247

ELECTRONIC DEVICE, RECONFIGURABLE PROCESSOR AND CONTROLLING METHODS THEREOF

Samsung Electronics Co., ...

6. A reconfigurable processor for restoring and processing configuration data, the processor comprising:a plurality of processing units;
a buffer register configured to transmit control data to the plurality of processing units;
an inputter configured to receive compression configuration data, which comprises a plurality of pieces of sub-configuration data and compression information of the compression configuration data; and
a configuration memory configured to store the compression configuration data,
wherein each of the plurality of pieces of sub-configuration data includes control data corresponding to at least one processing unit used in at least one cycle, respectively, and control data of all but one of a plurality of adjacent cycles comprising identical control data is removed, and
wherein the reconfigurable processor determines a reference cycle of a current cycle for each of the plurality of pieces of sub-configuration data based on the compression information, and stores control data included in the reference cycle in the current cycle in the buffer register.

US Pat. No. 10,140,246

OPTIMIZING REMOTE DIRECT MEMORY ACCESS (RDMA) WITH CACHE ALIGNED OPERATIONS

INTERNATIONAL BUSINESS MA...

1. A system for optimizing remote direct memory accesses (RDMA), the system comprising:a first computing device; and
a second computing device,
RDMA credentials being exchangeable between the first and second computing devices during a first and second computing device communication link setup, and
the exchanged RDMA credentials comprising cache line size information of the first computing device by which a write operation is executable by the second computing device,
wherein:
the second computing device is configured to issue a link request to the first computing device, and
the first computing device is configured to issue a link response to the second computing device in response to the link request, the link response comprising a first indication that an align write option is unsupported by the first computing device or a second indication that the align write option is supported by the first computing device for a predefined cache size.

US Pat. No. 10,140,245

MEMCACHED SERVER FUNCTIONALITY IN A CLUSTER OF DATA PROCESSING NODES

III HOLDINGS 2, LLC, Wil...

1. A method comprising:determining, at a first node server, if a second node server has data stored thereon corresponding to a data identifier in response to the second node server receiving a data retrieval request from the first node server including the data identifier;
determining, at the first node server, if a remote memory access channel exists between the first node server and the second node server;
accessing, at the first node server, the data from the second node server using the remote memory access channel after determining that the second node server has the data stored thereon and that the remote memory access channel exists between the first node server and the second node server; and
mapping, at the first node server, a first physical address on the first node server corresponding to the data retrieval request and a second physical address on the second node server.

US Pat. No. 10,140,243

ENHANCED SERIAL PERIPHERAL INTERFACE WITH HARDWARE FLOW-CONTROL

QUALCOMM Incorporated, S...

1. An apparatus, comprising:a serial peripheral interface bus;
a master device coupled to the serial peripheral interface bus and adapted to:
assert a first voltage state on a slave select line to initiate an exchange of data over one or more data lines of the serial peripheral interface bus;
while the slave select line remains at the first voltage state, transmit a clock signal over a clock line of the serial peripheral interface bus, wherein the exchange of data is synchronized with the clock signal; and
while the slave select line is at a second voltage state, refrain from transmitting data over the one or more data lines; and
a slave device coupled to the serial peripheral interface bus, wherein the slave device has a receive buffer and is adapted to:
receive data into the receive buffer while the slave select line remains at the first voltage state; and
assert the second voltage state on the slave select line when occupancy of the receive buffer reaches or exceeds a threshold occupancy level,
wherein the master device comprises a first driver circuit configured to drive the slave select line to the first voltage state using a high impedance output, and the slave device comprises a second driver circuit configured to drive the slave select line to the first voltage state using a low impedance output.

US Pat. No. 10,140,242

GENERAL PURPOSE INPUT/OUTPUT (GPIO) SIGNAL BRIDGING WITH I3C BUS INTERFACES AND VIRTUALIZATION IN A MULTI-NODE NETWORK

QUALCOMM Incorporated, S...

1. An integrated circuit comprising:a communication interface configured to communicate with one or more peripheral devices; and
a processing circuit coupled to the communication interface, the processing circuit configured to
obtain a set of general purpose input/output signals for the one or more peripheral devices;
obtain a first virtual general purpose input/output packet that includes the set of general purpose input/output signals independent of a central processing unit, wherein the first virtual general purpose input/output packet further includes an address of a direct input/output mapping register at the one or more peripheral devices; and
transmit the first virtual general purpose input/output packet to the one or more peripheral devices over an I3C bus independent of the central processing unit.

US Pat. No. 10,140,241

DATA BUS DRIVING CIRCUIT, AND SEMICONDUCTOR DEVICE AND SEMICONDUCTOR MEMORY DEVICE INCLUDING THE SAME

RENESAS ELECTRONICS CORPO...

1. A semiconductor device, comprising:a data processing unit that processes input data and outputs processed data;
a logic inversion unit that receives the processed data, inverts the processed data based on a determination result signal to be transmitted to a data bus; and
an inversion determination unit that compares the input data which has not been processed by the data processing unit with the output data of the logic inversion unit corresponding to a preceding input data, and generates the determination result signal based on a comparison result.

US Pat. No. 10,140,240

CONTROL MESSAGING IN MULTISLOT LINK LAYER FLIT

Intel Corporation, Santa...

18. An apparatus comprising:a controller associated with a first processor, wherein the controller is to interface between the first processor to recognize a first instruction set and a second processor to recognize a second instruction set that is different from the first instruction set, the controller comprising protocol layer logic, link layer logic, and physical layer logic, wherein the link layer logic is to:
generate a flit comprising a link layer control message, wherein the flit has a flit format defining a plurality of slots within the flit, a first one of the plurality of slots is capable of being encoded with a first header, and a second one of the plurality of slots is capable of being encoded with a second header,
wherein the entire flit is used for the link layer control message and a first one of the plurality of slots is to be encoded with data to identify a type of the link layer control message.

US Pat. No. 10,140,239

SUPERIMPOSING BUTTERFLY NETWORK CONTROLS FOR PATTERN COMBINATIONS

TEXAS INSTRUMENTS INCORPO...

1. An apparatus for data transformation of an input data word of 2N sections, where N is an integer, comprising:a set of N sequential layers of 2 to 1 multiplexers disposed from an output layer to an input layer, wherein:
each multiplexer has a first input, a second input, a control input and an output, each multiplexer providing an output corresponding to a selected one of said first input or said second input dependent upon a signal at said control input,
said first input of each multiplexer of said input layer receiving data of a corresponding input section, said first input of each multiplexer of each other layer receiving said output of a corresponding multiplexer of an immediately subsequent layer,
said second input of each multiplexer of said input layer receiving data of an input section different from said corresponding input section supplying said first input, said second input of each multiplexer of each other layer receiving data of said output of a multiplexer of said immediately subsequent layer different from said corresponding multiplexer supplying said first input,
said outputs of said last layer providing output of the apparatus; and
a plurality of combinatorial circuits, one combinatorial circuit corresponding to each layer of multiplexers, each combinatorial circuit including:
a first input receiving a bit corresponding to said layer of a precalculated shuffle pattern,
a second input receiving a bit corresponding to said layer of a precalculated replicate pattern,
a third input receiving a bit corresponding to said layer of a precalculated rotate pattern,
a first exclusive OR gate having a first input receiving said bit corresponding to said layer of said precalculated shuffle pattern, a second input receiving said bit corresponding to said layer of said precalculated replicate pattern, and an output,
a second exclusive OR gate having a first input receiving said bit corresponding to said layer of said precalculated replicate pattern, a second input receiving said bit corresponding to said layer of said precalculated rotate pattern, and an output,
a third exclusive OR gate having a first input receiving said bit corresponding to said layer of said precalculated rotate pattern, a second input receiving said bit corresponding to said layer of said precalculated shuffle pattern, and an output, and
a control multiplexer having a first input receiving said bit corresponding to said layer of said precalculated shuffle pattern, a second input receiving said bit corresponding to said layer of said precalculated replicate pattern, a third input receiving said bit corresponding to said layer of a precalculated rotate pattern, a fourth input receiving said output of said first exclusive OR gate, a fifth input receiving said output of said second exclusive OR gate, a sixth input receiving said output of said third exclusive OR gate, a control input and an output supplying said control input of each multiplexer of said corresponding layer, said control multiplexer outputting a selected one of said first, second, third, fourth, fifth or sixth input dependent upon a signal at said control input.

US Pat. No. 10,140,238

OPEN COMPUTE PROJECT NETWORK CARD CONVERTED TO PCIE RISER

Dell Products L.P., Roun...

1. An information handling system comprising:a motherboard;
a chassis configured to house one or more components of the information handling system;
one or more Open Compute Project (OCP) connection points coupled to the motherboard, the OCP connection points designated for an OCP mezzanine card;
one or more power and sideband connection points coupled to the motherboard, wherein the power and sideband connection points provide a current and sideband signal required by a PCIe card;
an OCP mezzanine riser coupled to the one or more OCP connection points, wherein the OCP mezzanine riser comprises:
a circuit board;
at least one connector mounted on a first side of circuit board coupled with at least one OCP connection point of the server motherboard; and
one or more PCIe lanes mounted on a second side of the circuit board, wherein a PCIe card is inserted into each of the one or more PCIe lanes of the OCP mezzanine riser.

US Pat. No. 10,140,237

FAIL FUNCTIONAL AUTOMATED DRIVING

FORD GLOBAL TECHNOLOGIES,...

1. A vehicle system comprising:a first vehicle subsystem;
a secondary vehicle subsystem;
a third vehicle subsystem in communication with the second vehicle subsystem;
a first communication path;
a second communication path;
a memory storing a look-up table identifying a first communication speed and a secondary communication speed; and
a processor programmed to determine the first communication speed associated with communicating over the first communication path and the secondary communication speed associated with communicating over the second communication path and commanding the first vehicle subsystem to communicate over one of the first communication path and the second communication path based at least in part on the first communication speed and the secondary communication speed,
wherein the processor is programmed to detect a failure associated with the secondary vehicle subsystem and command the first vehicle subsystem to communicate with the third vehicle subsystem over the first communication path in response to detecting the failure associated with the secondary vehicle subsystem and in response to determining that the first communication speed is faster than the secondary communication speed.

US Pat. No. 10,140,236

RECEIVING BUFFER CREDITS BY A PLURALITY OF CHANNELS OF ONE OR MORE HOST COMPUTATIONAL DEVICES FOR TRANSMITTING DATA TO A CONTROL UNIT

INTERNATIONAL BUSINESS MA...

1. A method performed by a host computational device configured to communicate with a storage controller through a plurality of channels via a switch, the method comprising:sending, by a channel of the host computational device, a command to transfer data to a control unit included in the storage controller;
receiving, by the channel of the host computational device, a number of buffer credits from the control unit for communication with the control unit, wherein the number of buffer credits that is received is based on the control unit monitoring a number of transfer ready operations and a number of retry operations during a monitoring period while communicating with the plurality of channels that includes the channel; and
receiving, by the channel, an increased number of buffer credits, in response to the control unit determining that the number of transfer ready operations is greater than a transfer ready threshold.

US Pat. No. 10,140,234

STORAGE APPARATUS AND DATA ACCESS METHOD

HUAWEI TECHNOLOGIES CO., ...

1. A storage apparatus comprising:a printed circuit board (PCB) comprising:
a first side; and
a second side;
a plurality of memory chips comprising:
a first array of memory chips disposed on the first side, forming a first rank, and comprising a first memory chip with a first pin located in a first position; and
a second array of memory chips disposed on the second side, forming a second rank, and comprising a second memory chip with a second pin located in a second position opposite the first position with respect to the PCB;
a plurality of cables disposed in the PCB and comprising a first cable connected to the first pin and the second pin;
a converter configured to:
obtain a system bus signal comprising a system data bus signal and a system address/control bus signal; and
convert the system bus signal into a rank selection signal and a memory chip bus signal, wherein the memory chip bus signal comprises a memory chip data bus signal and a memory chip address/control bus signal;
a rank decider configured to determine a selected rank according to the rank selection signal; and
a switching array configured to output the memory chip bus signal to the cables according to a correspondence between pins of memory chips in the selected rank and the cables, wherein the memory chip bus signal corresponds to a pin of a memory chip in the selected rank.

US Pat. No. 10,140,233

MASS STORAGE DEVICE SELECTOR

1. A selector for selecting one selected mass storage device to interface with a computing device, said selected mass storage device being selected from a group of mass storage devices including a predetermined number of mass storage devices, said predetermined number being larger than one, said selector comprising:storage device ports in said predetermined number, each of said storage device ports being connectable to a respective one of said mass storage devices;
a computing device port connectable to said computing device;
a power input for powering said selector;
a selection interface configurable in a selected selection interface configuration from a group of selection interface configurations, said selection interface configurations in said group being present in said predetermined number, each of said selection interface configurations corresponding to selection of a respective one of said storage device ports as a selected storage device port, said selected mass storage device being connectable to said selected storage device port;
a connection module operatively coupled to said storage device ports, computing device port and selection interface for connecting said selected storage device port to said computing device port while disconnecting all other ones of said storage device ports from said computing device port when said selection interface is in said selected selection interface configuration;
said connection module being configurable between a startup configuration and a steady state configuration, wherein in said startup configuration, said connection module is operative for determining said selected selection interface configuration and connecting said selected storage device port to said computing device port, and, in said steady state configuration, said connection module is irresponsive to said selection interface so that a previously selected storage device port remains connected to said computing device port irrespective of said selection interface configuration;
wherein said selected storage device port and said computing device port are connected to each other so that said selector becomes transparent for said computing device and said selected mass storage device appears to said computing device as being directly connected thereto so as to interface therewith;
wherein said storage device and computing device ports include power ports for conveying electrical power from said computing device to said mass storage devices; and
wherein said connection module includes switching elements in said predetermined number, each of said switching elements being provided between said computing device port and a respective one of said storage device ports, each of said switching elements being switchable between a closed configuration and an open configuration, wherein, in said open configuration, said computing device port and said respective one of said storage device ports are electrically disconnected from each other and in said closed configuration, said computing device port and said respective one of said storage device ports are electrically connected to each other by said switching element, said connection module being operative for configuring a selected switching element from said switching elements provided between said computing device port and said selected storage device port to said closed configuration and for configuring all other ones of said switching elements to said open configuration.

US Pat. No. 10,140,232

PERIPHERAL COMPONENT INTERFACE (PCI) SYSTEM AND METHOD FOR EXPANDING PCI NODES IN AN INFORMATION HANDLING SYSTEM

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

1. An information handling system (IHS) comprising:a primary peripheral component interface (PCI) node having:
a first PCI switch communicatively coupled to a first processor via a first system interconnect, the first PCI switch communicatively coupled to a plurality of first PCI devices;
a first communication module communicatively coupled to the first PCI switch; and
a first base motherboard controller (BMC), the first BMC configured to control power and thermal functions of the first PCI devices;
a first PCI expansion node interconnected and communicatively coupled to the primary PCI node via a first PCI bus and a first sideband bus, the first PCI expansion node comprising a local BMC that controls local power and thermal functions of the expansion node a second PCI switch communicatively coupled to a second communication module via a second system interconnect, the second PCI switch communicatively coupled to a plurality of second PCI devices, wherein side band signals communicated on the first sideband bus enable the primary PCI node to access errors, inventory, and diagnostics of the plurality of second PCI devices coupled to the first PCI expansion node, wherein the local BMC is a separate device from the first BMC and locally controls power, thermal and diagnostics for the first PCI expansion node independently of the primary PCI node;
a processor communicatively coupled to the primary PCI node via a first system interconnect and controlling input/output operations involving the primary PCI node; and
firmware executing within the IHS that enables PCI-based expansion of the IHS by configuring the primary PCI node to recognize each interconnected PCI expansion node and integrate functions of the interconnected PCI expansion nodes into an expanded PCI subsystem.

US Pat. No. 10,140,231

FLEXIBLE PORT CONFIGURATION BASED ON INTERFACE COUPLING

Hewlett-Packard Developme...

1. A computing device comprising:an input/output controller including:
a flexible port coupled to a first port connector, and
an additional port coupled to a second port connector;
a switch to be actuated when a component is inserted into a drive bay of the computing device;
a system configuration detection module to detect a desired input/output configuration of the computing device based on actuation of the switch; and
a port configuration module to configure the flexible port based on the detected desired input/output configuration,
wherein based on the component having been inserted, the port configuration module is to configure the flexible port to use a first protocol associated with the first port connector to communicate with the component, and the additional port is to communicate with the second port connector using a second protocol associated with the second port connector, and
wherein based on the component not having been inserted, the port configuration module is to configure the flexible port to use the second protocol to communicate with the second port connector and connect additional physical data lines associated with the flexible port to the second port connector to provide a bus with expanded bandwidth capacity, the bus to communicatively couple the second port connector and the input/output controller, and the additional port is to communicate with the second port connector using the second protocol.

US Pat. No. 10,140,230

COMMUNICATION SYSTEM, COMMUNICATION SYSTEM CONTROL METHOD, AND PROGRAM

Sony Corporation, Tokyo ...

1. A slave device comprising:a communication circuitry configured to sequentially transmit a start bit and an address that includes a first bit, wherein inclusion or non-inclusion in a group for which arbitration is necessary is set according to the first bit,
wherein a master device separate from the slave device is configured to transmit a start bit and a predetermined pattern including a first bit,
wherein, when a first bit value of the address is different from the first bit of the predetermined pattern data in an arbitration, it is determined that an event for which arbitration is necessary has occurred, and
in a case where the master is able to accept the event, the communication circuitry receives an acknowledgement from the master device, and
in a case where the master is unable to accept the event, the communication circuitry does not receive an acknowledgement from the master device.

US Pat. No. 10,140,229

WIRED COMMUNICATION WITH REMOTE FUNCTION CALLS

TEXAS INSTRUMENTS INCORPO...

13. A device for use in a wired communication system, the device comprisinga microcontroller unit (MCU) to call and execute software functions;
an MCU memory to store one or more software functions;
a function interface memory to store associated function parameters for the one or more software functions;
a data bus port to interface to a data bus;
at least one trigger-function signal line terminal to interface to a trigger-function signal line;
the device operable to receive through the data bus port
one or more software functions for storage in the MCU memory as one or more pre-loaded software functions, and
associated function parameters for the one or more pre-loaded software functions for storage in the function interface memory as pre-loaded associated function parameters;
the device further operable to receive through the trigger-function signal line terminal a trigger-function signal associated with a selected pre-loaded software function stored in the MCU memory, and to provide a corresponding trigger-function request to the MCU;
the MCU to respond to the trigger-function request by calling and executing the selected pre-loaded software function associated with the trigger-function signal, including accessing the pre-loaded associated function parameters from the function interface memory.

US Pat. No. 10,140,228

REAL-TIME EXECUTION OF MAC CONTROL LOGIC

UNIVERSITEIT GENT, Ghent...

1. A method for time accurate execution of Media Access Control (MAC) logic on a processor able to drive a radio interface, the method comprising:receiving a chain of commands annotated with a target chain execution time;
calculating start execution times for said commands based on said target chain execution time;
executing said chain of commands on said processor at said start execution times,
wherein said chain of commands comprises one master command and slave commands, said target chain execution time being annotated to said master command and indicative for when said master command should be executed, said slave commands being relative in time to said master command, and said calculating said execution times further includes
calculating a master execution time that forms part of said execution times for said master command from said target chain execution time, and
calculating slave execution times for said slave commands from said master execution time.

US Pat. No. 10,140,227

REDUCING READ TRANSACTIONS TO PERIPHERAL DEVICES

Amazon Technologies, Inc....

1. A computing system comprising:host processing logic;
host memory, wherein the host processing logic is configured to read and write data to and from the host memory;
a Peripheral Component Interconnect-based (PCI-based) bus; and
a PCI-based device coupled to the PCI-based bus, wherein the host processing logic is configured to:
transmit, over the PCI-based bus, a read response address to the PCI-based device, the read response address indicating a block of the host memory for receiving values stored on the PCI-based device; and
transmit, over the PCI-based bus, a memory-mapped Input/Output (MMIO) write transaction to a first register or a first memory location of the PCI-based device, the MMIO write transaction including a transaction identifier and a memory location identifier, the memory location identifier identifying a second register or a second memory location of the PCI-based device,
wherein the PCI-based device is configured to:
determine that the first register or memory location has been written to; and
transmit a write transaction to a block of host memory over the PCI-based bus in response to determining that the first register or memory location has been written to, wherein the write transaction includes the transaction identifier, the memory location identifier, and a value at the second register or second memory location.

US Pat. No. 10,140,226

CONTROL APPARATUS WITH LOAD MONITORING

1. A modular control apparatus having a head module, at least one power supply module and at least one peripheral module, which are arranged next to one another on the head module, and having at least one bus structure,wherein the at least one power supply module and the at least one peripheral module each have a base module part, an electronic module part and a connection module part, the power supply module being configured to supply the at least one peripheral module with an external peripheral current,
wherein the connection module part of the at least one power supply module has a supply connection for receiving the external peripheral current,
wherein the connection module part of the at least one peripheral module provides an output connectable to an actuator for outputting the peripheral current received from the power supply module,
wherein the base module parts arranged next to one another form the bus structure that electrically couples the head module, the at least one power supply module and the at least one peripheral module to one another so that the external peripheral current is transferred via the bus structure from the at least one power supply module to the at least one peripheral module, and
wherein the power supply module additionally comprises:
an electrical line, having a defined cross section, that runs from the connection module part through the electronic module part to the base module part and connects the at least one supply connection of the power supply module to the bus structure,
and an overload identification unit that is arranged proximate to the electrical line and determines a parameter of the electrical line and produces a warning signal if the parameter exceeds a threshold value.

US Pat. No. 10,140,225

IMPEDANCE ADJUSTMENT IN A MEMORY DEVICE

Micron Technology, Inc., ...

1. A method of operating a plurality of memory devices, the method comprising:configuring a plurality of termination devices of a particular driver circuit of a particular memory device of the plurality of memory devices;
storing, to the particular memory device, a first plurality of trim values representative of the configuration of the plurality of termination devices of the particular driver circuit;
after storing the first plurality of trim values to the particular memory device, transferring a second plurality of trim values from the particular memory device to a different memory device of the plurality of memory devices external to the particular memory device; and
configuring a plurality of termination devices of a driver circuit of the different memory device in response to the second plurality of trim values.

US Pat. No. 10,140,224

NOISE IMMUNE DATA PATH SCHEME FOR MULTI-BANK MEMORY ARCHITECTURE

QUALCOMM Incorporated, S...

1. A memory apparatus, comprisinga memory comprising a first bitcell array and a second bitcell array;
a sense amplifier shared by the first bitcell array and the second bitcell array and configured to amplify data stored in the memory during a read operation;
a write circuit configured to write data to the memory during a write operation; and
a controller configured to disable the write circuit during only an amplification portion of the read operation.

US Pat. No. 10,140,223

SYSTEM AND METHOD FOR ODD MODULUS MEMORY CHANNEL INTERLEAVING

QUALCOMM Incorporated, S...

1. A system for providing odd modulus memory channel interleaving, the system comprising:a dynamic random access memory (DRAM) system; and
a system on chip (SoC) comprising:
a first memory controller electrically coupled to a first DRAM module via a first memory bus, the first DRAM module comprising a first rank and a second rank;
a second memory controller electrically coupled to a second DRAM module via a second memory bus, the second DRAM module comprising a third rank and a fourth rank; and
a symmetric memory channel interleaver configured to uniformly distribute DRAM traffic to the first memory controller and the second memory controller, wherein the first memory controller and second memory controller are configured to provide an odd-way interleaving, and wherein:
the first memory controller is configured to provide a first interleaved channel by accessing the first or second rank of the first DRAM module via the first memory bus, and
the second memory controller is configured to provide a second interleaved channel to the second DRAM module by accessing the third rank via upper address bits on the second memory bus and a third interleaved channel to the second DRAM module by concurrently accessing the fourth rank via lower address bits on the second memory bus.

US Pat. No. 10,140,222

INTERFACE COMPONENTS

Micron Technology, Inc., ...

1. An apparatus, comprising:a controller; and
a plurality of interface components, wherein the controller communicates with respective ones of the plurality of interface components respectively over respective ones of a plurality of first channels;
wherein a first interface component of the plurality of interface components communicates with a first plurality of memory devices over a first one of a plurality of second channels and a second plurality of memory devices over a second one of the plurality of second channels; and
wherein a second interface component is coupled in series with the first interface component, wherein the second interface component communicates with a third plurality of memory devices over a first one of a plurality of third channels and a fourth plurality of memory devices over a second one of the plurality of third channels.

US Pat. No. 10,140,221

METHOD TO HANDLE HOST, DEVICE, AND LINK'S LATENCY TOLERANT REQUIREMENTS OVER USB TYPE-C POWER DELIVERY USING VENDOR DEFINED MESSAGING FOR ALL ALTERNATE MODES

Dell Products L.P., Roun...

1. A computer-implementable method for performing a latency tolerance operation, comprising:determining whether a host and a device coupled to a cable are both capable of communicating information regarding latency tolerance;
identifying a host latency tolerance and a device latency tolerance;
configuring the host and the device to communicate based upon the host latency tolerance and the device latency tolerance; and,
communicating between the host and the device, the communicating conforming to the host latency tolerance and the device latency tolerance; and wherein
the identifying the host latency tolerance and the device latency tolerance comprises performing at least one of a memory based latency tolerance operation and a message based latency tolerance operation; and,
the memory based latency tolerance operation comprises storing latency tolerance information within a latency tolerance storage location in a port controller of the device.

US Pat. No. 10,140,220

METHOD OF PERFORMING AUTHENTICATION WITH A MEMORY CIRCUIT USING DYNAMIC RANDOM ACCESS MEMORY ARRAYS

1. A method of performing authentication with a memory circuit, the method comprising:performing a first authentication with a non-volatile secure element, comparing a first user-provided cryptographic key with a cryptographic key stored in the non-volatile secure element;
if the first authentication is successful, downloading the first user-provided cryptographic key to a dynamic random access memory (DRAM) array configured as a content addressable memory (CAM) and switching the non-volatile secure element to a blocking mode that does not accept further authentication cycles after the step of downloading the first user-provided cryptographic key to the DRAM array configured as the CAM if the first authentication is successful; and
performing a second authentication with the DRAM array configured as the CAM, comparing a second user-provided cryptographic key with the first user-provided cryptographic key stored in the DRAM array configured as the CAM.

US Pat. No. 10,140,219

MULTI-PORT SHARED CACHE APPARATUS

BlackBerry Limited, Wate...

1. An apparatus comprising:a cache memory accessible by a plurality of processes; and
a controller configured to allocate cache lines from a plurality of cache lines of the cache memory to each process of the plurality of processes according to a line configuration, the line configuration identifying for each process of the plurality of processes a maximum number of cache lines that are able to be utilized by the each process irrespective of free cache lines available in the plurality of cache lines, wherein a different maximum number of cache lines are identified for two or more processes of the plurality of processes, wherein each of the plurality of cache lines is able to be allocated to any process of the plurality of processes,
wherein the controller is further configured to
detect a first memory request from at least one process of the plurality of processes;
allocate a cache line from the plurality of cache lines to the at least one process in response to detecting the first memory request, wherein a cache line from the plurality of cache lines is allocated to the at least one process for each memory request from the process until the maximum number of cache lines for the at least one process has been allocated, and wherein each cache line allocated to the at least one process from the plurality of cache lines is not associated with any type of memory request until the cache line is allocated to the at least one process,
detect a second memory request from the at least one process, where the second memory request is detected subsequent to the first request;
determine, in response to the second memory request being detected, that the at least one process has utilized its maximum allocation of cache lines, and
in response to determining that the at least one process has utilized its maximum allocation of cache lines,
determine that a plurality of cache line replacement policies is available;
identify, from a configuration file associated with the at least one process, a cache line replacement policy from the plurality of cache line replacement policies configured for the at least one process, wherein the controller is configured to apply different line replacement policies concurrently to different processes; and
allocate, in accordance with the identified cache line replacement policy, a replacement cache line to the at least one process only from a cache line currently allocated to and already used by the at least one process for a same type of memory request as the detected second memory request, whereby allocating the replacement cache line to the at least one process prevents the at least one process from exceeding its maximum allocation of cache lines irrespective of free cache lines available in the plurality of cache lines.

US Pat. No. 10,140,218

NON-UNIFORM MEMORY ACCESS SUPPORT IN A VIRTUAL ENVIRONMENT

1. A method for configuring devices in a virtual environment comprising:probing a root bus to detect a first device coupled to the root bus;
assigning the first device to a first virtual root bus of a virtual machine;
assigning a first address range corresponding to the first device, wherein the first address range is assigned based on determining a NUMA node corresponding to the virtual machine;
providing a notification, to a guest of the virtual machine, of an expander coupled to the first virtual root bus;
probing, by the guest, the expander to detect a second device coupled to an additional root bus; and
assigning the second device to a second virtual root bus of the virtual machine.

US Pat. No. 10,140,217

LINK CONSISTENCY IN A HIERARCHICAL TLB WITH CONCURRENT TABLE WALKS

International Business Ma...

1. A method of operating a hierarchical translation lookaside buffer (TLB) when a TLB miss is encountered for a requested first virtual address, the TLB comprising at least two TLB levels, wherein a given entry of the upper level TLB comprises a portion of bits for indicating related entries in the lower level TLB, the method comprising:performing a first table walk to obtain the absolute memory address of the first virtual address;
storing in association with the first table walk, as a logical tag, the portion of bits of an entry to be replaced of the upper level TLB;
responsive to determining that a second table walk, concurrent with the first table walk, having a second virtual address that addresses the same entry in the upper level TLB as the first virtual address is writing in the TLB, incrementing the stored logical tag; and
storing the incremented logical tag and the obtained absolute memory address in the TLB.

US Pat. No. 10,140,216

MEASURING ADDRESS TRANSLATION LATENCY

ARM LIMITED, Cambridge (...

1. An apparatus comprising:processing circuitry to process instructions;
address translation circuitry to translate a virtual address to a physical address in response to a virtual address request from the processing circuitry; and
translation latency measuring circuitry to measure a latency of at least part of an address translation process performed by the address translation circuitry in response to a given instruction, wherein said translation measuring circuitry is configured to exclude from the measured latency: a latency of a data access operation using the physical address obtained as a result of translating the virtual address specified in the virtual address request.

US Pat. No. 10,140,215

LOW OVERHEAD MAPPING FOR HIGHLY SEQUENTIAL DATA

1. An apparatus comprising:a memory module comprising a non-volatile memory (NVM) and a memory module electronics (MME) circuit configured to program data to and read data from solid-state non-volatile memory cells of the NVM;
a map structure stored in a memory which associates logical addresses of user data blocks with physical addresses in the NVM at which the user data blocks are stored; and
a controller circuit configured to arrange the user data blocks into map units (MUs), each MU comprising multiple user data blocks arranged with the associated logical addresses in sequential order, the controller circuit further configured to direct the MME circuit to write a plurality of the MUs to a selected page of the NVM arranged as an integer number of code words, and to update the map structure to list only a single occurrence of a physical address for all of the MUs written to the selected page, and to list an MU offset and an MU length for all of the multiple user data blocks in each of the MUs written to the selected page.

US Pat. No. 10,140,214

HYPERVISOR TRANSLATION BYPASS BY HOST IOMMU WITH VIRTUAL MACHINE MIGRATION SUPPORT

1. A method comprising:configuring, by a hypervisor, a host input-output memory management unit to translate a guest memory of a guest virtual machine, wherein the guest memory is allocated to a guest operating system of the guest virtual machine;
reserving, by the hypervisor, a first portion of the guest memory;
receiving, by the hypervisor from the guest virtual machine, a guest physical address;
storing, by the hypervisor, the guest physical address in the first portion of the guest memory; and
configuring, by the hypervisor, a device to access the first portion of the guest memory to locate a command.

US Pat. No. 10,140,213

TWO LEVEL MEMORY FULL LINE WRITES

Intel Corporation, Santa...

1. An apparatus comprising:a translational memory buffer (TMXB) device to interface with memory comprising a near memory cache and a far memory, wherein the near memory cache comprises a direct mapped cache of the far memory, and the TMXB device comprises:
a receiver to:
receive a particular read invalidate request corresponding to a particular memory address; and
receive a write request to write to the particular memory address following the particular read invalidate request;
a scheduler; and
a memory controller to:
read a particular line of the near memory cache corresponding to the particular memory address based on the particular read invalidate request;
determine a miss in the particular line of the near memory cache corresponding to the particular read invalidate request;
identify, in association with the particular read invalidate request, that a directory state associated with the particular line of memory in the near memory cache is in a modified state;
cause data of the particular line of the near memory cache to be written to a corresponding line of far memory based on the miss and the particular line of memory in the near memory cache being in a modified state; and
cause the particular address of the near memory to be overwritten responsive to the write request and based on completion of the particular read invalidate request, wherein the write request is received following the particular read invalidate request.

US Pat. No. 10,140,212

CONSISTENT AND EFFICIENT MIRRORING OF NONVOLATILE MEMORY STATE IN VIRTUALIZED ENVIRONMENTS BY REMOTE MIRRORING MEMORY ADDRESSES OF NONVOLATILE MEMORY TO WHICH CACHED LINES OF THE NONVOLATILE MEMORY HAVE BEEN FLUSHED

VMware, Inc., Palo Alto,...

1. In a computer system having one or more processors, memory that is logically partitioned into memory pages and includes volatile memory having a buffer and non-volatile memory, and a processor cache including a plurality of clean or dirty cache lines each configured to store cached data and a memory address, a method of mirroring updates to memory pages, said method comprising:reading cached data and a memory address of a non-volatile memory stored in a dirty cache line of the processor cache, wherein the processor cache contains (i) cached data of both the volatile and non-volatile memory and (ii) memory addresses of both the volatile memory and the non-volatile memory, wherein said reading is triggered when the dirty cache line is removed from the processor cache;
responsive to the reading, storing the memory address of the non-volatile memory that was stored in the dirty cache line of the processor cache in the buffer, and storing the cached data that was stored in the dirty cache line of the processor cache in the non-volatile memory at the memory address of the non-volatile memory; and
mirroring the cached data that was stored responsive to the reading, at the memory address of the non-volatile memory by reading the memory address of the non-volatile memory stored in the buffer, reading the cached data stored in the non-volatile memory and located at the memory address of the non-volatile memory, and transmitting the cached data stored in the non-volatile memory and located at the memory address of the non-volatile memory to a remote computer system.

US Pat. No. 10,140,211

CACHE DEVICE AND METHOD FOR STORING TAG DATA AND CACHE DATA IN CACHE DEVICE

Toshiba Memory Corporatio...

1. A cache device comprising a tag/data memory including a storage area capable of storing a plurality of pieces of tag data and a plurality of pieces of compressed cache data corresponding to the plurality of pieces of tag data, wherein each of the pieces of tag data includes first information indicating whether the piece of tag data is a piece of tag data read last or not and second information indicating whether each of the pieces of cache data is compressed or not.

US Pat. No. 10,140,210

METHOD AND APPARATUS FOR CACHE OCCUPANCY DETERMINATION AND INSTRUCTION SCHEDULING

Intel Corporation, Santa...

1. A processor comprising:a hierarchy of cache levels for caching data including at least a level 1 (L1) cache;
a decoder to decode a cache occupancy instruction;
cache occupancy determination logic to determine whether data associated with one or more subsequent operations is stored in one of the cache levels, the cache occupancy determination logic comprising execution logic to execute the decoded cache occupancy instruction to determine whether data associated with one or more subsequent operations is stored in one of the cache levels, wherein the cache occupancy determination logic is to read one or more addresses associated with the data for the one or more subsequent operations and to use the addresses to determine whether the data is stored in one of the cache levels and the particular cache levels in which the data is stored; and
scheduling logic to schedule execution of the subsequent operations based on the determination of whether data associated with the subsequent operations is stored in the cache levels.

US Pat. No. 10,140,209

TIME DE-INTERLEAVING CIRCUIT AND TIME DE-INTERLEAVING METHOD FOR REDUCING A NUMBER OF TIMES OF ACCESSING MEMORY

MSTAR SEMICONDUCTOR, INC....

1. A time de-interleaving circuit, located in a signal receiver of a communication system, performing a time de-interleaving process on an interleaved signal comprising a plurality of cells, the time de-interleaving circuit comprising:a memory module, storing the cells of the interleaved signal, the cells of the interleaved signal forming a plurality of cell groups each comprising K cells, where K is a positive integer greater than 1, the memory module accessed in a unit of one cell group;
a buffering memory module, buffering only a part of the K cells of one of the cell groups from the memory module to arrange an output sequence of the K cells of the one of the cell groups when the memory module outputs the one of the cell groups; and
a selection unit, selecting an output of one of the memory module and the buffering memory module as an output of the time de-interleaving circuit,
wherein, when the memory module outputs the one of the cell groups, one cell in the outputted cell group is directly outputted by the selection unit, and the remaining (K?1) cells are buffered in the buffering memory module.

US Pat. No. 10,140,208

NUMA-AWARE GARBAGE COLLECTION

Oracle International Corp...

1. A method for non-uniform memory access aware garbage collector thread processing, comprising:storing, by a first garbage collector thread, (a) references to objects stored in a first memory space in a first queue and (b) references to objects, stored in a memory space other than the first memory space, in a second queue;
storing, by a second garbage collector thread, (a) references to objects stored in a second memory space in a third queue and (b) references to objects, stored in a memory space other than the second memory space, in a fourth queue;
wherein the references in the first queue and the references in the fourth queue are different;
prioritizing, by the first garbage collector thread, processing of the references stored in the first queue by the first garbage collector thread over the references stored in the fourth queue by the second garbage collector thread;
identifying at least a subset, of the references in the fourth queue, that reference an object stored in the first memory space; and
prioritizing, by the first garbage collector thread, processing of at least the subset of the references stored in the fourth queue by the second garbage collector thread over the references stored in the second queue by the first garbage collector thread, even though the fourth queue is not generated by the first garbage collector thread;
wherein a first latency for accessing objects corresponding to at least the subset of the references stored in the fourth queue is less than a second latency for accessing objects corresponding to references stored in the second queue, with respect to the first garbage collector thread;
wherein the method is performed by at least one device including a hardware processor.

US Pat. No. 10,140,207

MICROCOMPUTER HAVING PROCESSOR CAPABLE OF CHANGING ENDIAN BASED ON ENDIAN INFORMATION IN MEMORY

RENESAS ELECTRONICS CORPO...

1. A microcomputer comprising:a processor comprising multiple operation modes including a reset mode, a first mode and a second mode,
an external terminal for setting the first mode or the second mode,
a nonvolatile memory, and
a data transfer circuit,
wherein the nonvolatile memory includes:
a first region including a third region in which first endian information for setting an endian mode of the processor is stored,
a second region including a fourth region in which second endian information for setting the endian mode of the processor is stored,
wherein an operation mode changes from the reset mode to the first mode when the external terminal enables the first mode,
wherein an operation mode changes from the reset mode to the second mode when the external terminal enables the second mode,
wherein, in the first mode, the data transfer circuit reads the first endian information from an address of the third region and outputs to the processor the first endian information and the processor succeedingly executes a first program stored in the first region,
wherein the first program located in the first region is not rewritable,
wherein, in the second mode, the data transfer circuit reads the second endian information from an address of the fourth region and outputs to the processor the second endian information and the processor succeedingly executes a second program stored in the second region,
wherein the second program located in the second region is rewritable, and
wherein the data transfer circuit outputs the first or the second endian information before a CPU reset signal goes to be high to release reset.

US Pat. No. 10,140,206

COMPUTERIZED METHOD AND END-TO-END “PILOT AS A SERVICE” SYSTEM FOR CONTROLLING START-UP/ENTERPRISE INTERACTIONS

PROOV SYSTEMS LTD., Herz...

1. An end-to-end “pilot as service” system for software pilot testing, serving a plurality of clients from among a first plurality of enterprise clients and individual start-up clients from among a second plurality of start-up clients, the system including a server and at least one processor, wherein the server comprises:a registration functionality for pre-registering:
a plurality of enterprise clients from among the first plurality of enterprise clients, wherein each enterprise client is registered that it is open for pilots on a specific topic, and
a plurality of individual start-up clients from among the second plurality of start-up clients, wherein each individual start-up client is able to discover and register to participate in a pilot for a selected one of the respective enterprise clients open for a pilot on a specific topic;
a generation functionality for automatically generating one or more software testing environments having API's and data, wherein the API and data represent real enterprise production data and developed API's for each selected enterprise client to simultaneously serve each of the individual start-up clients registered to a particular enterprise client;
a pilot security functionality to create secured connection pipes for each startup client to their respective software testing environments, to allow concurrent running of a plurality of proof-of-concept tests for a plurality of software products provided by the individual start-up clients for a specific topic, wherein the secured connection pipe prevents any first start-up client from among the second plurality of start-up clients from affecting a proof-of-concept test for any software product being tested, on behalf of any second start-up client from among the second plurality of start-up clients; and
a dashboard functionality, on the processor, operative for presenting at least one result of at least one proof-of-concept test to each client which has pre-registered using said registration functionality.

US Pat. No. 10,140,204

AUTOMATED DYNAMIC TEST CASE GENERATION

International Business Ma...

1. A computer program product for generating test cases for altering a set of object code, the computer program product comprising:a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions being executable by one or more processors, the program instructions comprising:
program instructions to provide a base test, the base test configured to measure performance of an interface, wherein the base test is designed with a variable load and performance throughput;
program instructions to add, to the base test, at least one identifier, wherein the at least one identifier is associated with a functional test variation;
program instructions to generate a plurality of test cases from the base test, wherein the plurality of test cases comprise a set of aspects to be tested, based on the at least one identifier;
program instructions to introduce, iteratively, by the one or more processors, an environmental identifier, wherein the introduced environmental identifier determines which kind of tasks are requested to be used and which support recovery environments should be established before calling one or more functions to be tested;
program instructions to regenerate, by the one or more processors, a set of specific test programs responsive to introducing additional functional identifiers that are specific for a particular type of associated function being tested;
program instructions to add, dynamically, the base test to an exclusion list such that a particular program combination does not run again in future executions responsive to encountering an error during an execution;
program instructions to extend, by the one or more processors, the base test to drive a system test that tracks a duration of how long a program execution lasts and an amount of how much multi-tasking should be performed, wherein the extended duration overrides one or more introduced iterations;
program instructions to utilize, by the one or more processors, the base test as a functional driver, as a performance measuring test, and as a system thrasher; and
program instructions to alter, based on the performance measuring test, a set of object code.

US Pat. No. 10,140,203

METHOD AND APPARATUS FOR DYNAMICALLY ANALYZING THE CORRECTNESS OF SOFTWARE

SIEMENS AKTIENGESELLSCHAF...

1. A method for dynamically analyzing the correctness of an embedded software, the method comprising:executing the embedded software with a central processing unit (CPU) of a target system,
tracing a behavior of the CPU during a runtime of the embedded software with a trace interface comprising hardware of the CPU without influencing a runtime behavior of the target system,
providing coded raw data relating to the traced behavior of the CPU, and
processing the coded raw data, including:
conditioning the coded raw data; and
evaluating the conditioned coded raw data using a correctness analysis algorithm;
wherein conditioning the coded raw data includes:
collecting and decoding executed instructions to generate decoded executed instructions; and
forming reduced execution trace data by filtering the decoded executed instructions and all running application programs, wherein the reduced execution trace data contain only memory access operations and function calls only for a particular process.

US Pat. No. 10,140,202

SOURCE CODE ANNOTATION FOR A SYSTEM ON CHIP

CADENCE DESIGN SYSTEMS, I...

11. A system, comprising:a memory, storing instructions; and
at least one processor that executes the instructions to:
receive a source code for controlling a system on a chip;
correlate a datum and an instruction in the source code with a first node;
associate the first node with a resource used by the datum and the instruction, based on a model for the system on a chip;
illustrate, in a display, a link between the first node and a second node, the link being indicative of a data dependency in the source code between the first node and the second node;
evaluate a performance of the system on a chip controlled by the source code; and
form an annotated source code based on the performance of the system on a chip.

US Pat. No. 10,140,201

SOFTWARE DEFECT DETECTION TOOL

Bank of America Corporati...

1. A software defect detection tool comprising:a retrieval engine implemented by a hardware processor, the retrieval engine configured to:
receive a request to monitor a performance of a software code; and
retrieve the software code in response to the request;
a code analysis engine implemented by the hardware processor, the code analysis engine configured to:
determine a modification in the software code by comparing the received software code to a prior version of the software code; and
determine a first time at which the software code was modified;
a performance analysis engine configured to:
analyze an execution of the software code in real time;
detect an anomaly indicating a performance issue with the software code;
determine a second time at which the anomaly is detected; and
an aggregation engine configured to:
receive the first time and the second time; and
detect a defect in the software code based on a comparison of the first time and the second time; and
a correction engine implemented by the hardware processor, the correction engine configured to correct the detected defect by restarting the software code execution.

US Pat. No. 10,140,200

DATA ANALYSIS

KING.DOM LTD., St. Julia...

1. A computer implemented method, implemented in a device comprising at least one processor configured to process data to provide frequency information and at least one memory, for determining one or more anomalies associated with a first set of data, said method comprising:processing, by the processor, said first set of data to provide respective frequency information for each of a plurality of combinations of data in said first set of data, said frequency information comprising a number of times each respective combination of data occurs in said first set of data, wherein said first set of data comprises a plurality of data entries, and wherein a combination of data comprises a combination of data elements forming at lest part of a data entry in the set of data;
comparing said frequency information for the first set of data with frequency information for said combinations of data in a reference set of data, said reference set of data comprising data of a reference interval; and
in dependence on said comparison determining one or more given combinations are anomalies based on a difference in frequency information of said given combination for said first set of data and said reference set of data.

US Pat. No. 10,140,199

DATA PROCESSING SYSTEM WITH MACHINE LEARNING ENGINE TO PROVIDE OUTPUT GENERATING FUNCTIONS

Allstate Insurance Compan...

1. An interactive test generation and control computing platform, comprising:a processing unit comprising a processor; and
a memory unit storing computer-executable instructions, which when executed by the processing unit, cause the interactive test generation and control computing platform to:
receive user input including user information requested by the interactive test generation and control computing platform;
based on the received user information, identify one or more products for evaluation;
based on the identified one or more products for evaluation, identify a plurality of interactive condition evaluation tests to be executed on a user computing device;
transmit a signal to the user computing device enabling functionality of one or more sensors in the user computing device and associated with the identified plurality of interactive condition evaluation tests;
generate a first user interface providing instructions for performing a first interactive condition evaluation test of the plurality of interactive condition evaluation tests;
transmit the generated first user interface to the user computing device;
initiate the first interactive condition evaluation test on the user computing device;
after initiating the first interactive condition evaluation test, collect data from the enabled one or more sensors;
determine whether one or more criteria of the first interactive condition evaluation test have been met;
responsive to determining that the one or more criteria of the first interactive condition evaluation test have been met:
terminating the first interactive condition evaluation test;
transmitting a signal disabling the one or more sensors in the user computing device and associated with the first interactive condition evaluation test;
processing, based on one or more machine learning datasets, the collected data to determine an output for the user;
transmitting the output to the user computing device; and
responsive to determining that the one or more criteria of the first interactive condition evaluation test have not been met, continue to collect data from the enabled one or more sensors in the user computing device and associated with the first interactive condition evaluation test.

US Pat. No. 10,140,198

NETWORKED DESKTOP ENVIRONMENT

GOOGLE LLC, Mountain Vie...

1. A method comprising:identifying, by a processor at a server in response to instructions stored on a non-transitory storage medium, a networked desktop state of a networked desktop environment, wherein the networked desktop environment includes a networked desktop workspace and an information element, and wherein the networked desktop state includes information indicating a multi-dimensional position of a representation of the information element in the networked desktop workspace;
determining first rendering capabilities of a first interface device available for collaboratively sharing the networked desktop environment, the first rendering capabilities reflecting a rendering mode to use for rendering the networked desktop environment at the first interface device;
determining second rendering capabilities of a second interface device available for collaboratively sharing the networked desktop environment, the second rendering capabilities reflecting a rendering mode to use for rendering the networked desktop environment at the second interface device, wherein the first rendering capabilities and the second rendering capabilities are different;
collaboratively sharing the networked desktop environment, wherein collaboratively sharing the networked desktop environment includes:
generating, at the server, instructions for use in rendering a graphical representation of the networked desktop workspace, wherein the instructions for use in rendering the graphical representation of the networked desktop workspace include information indicative of the networked desktop state, first rendering instructions based on the first rendering capabilities, and second rendering instructions based on the second rendering capabilities;
transmitting the instructions for use in rendering the graphical representation of the networked desktop workspace to the first interface device via a first network communication link, such that the graphical representation of the networked desktop workspace is renderable by the first interface device using the first rendering instructions;
transmitting the instructions for use in rendering the graphical representation of the networked desktop workspace to the second interface device via second a network communication link, such that the graphical representation of the networked desktop workspace is renderable by the second interface device using the second rendering instructions; and
receiving, via a network communication link, information indicating an interaction with the networked desktop environment at one or both of the first interface device or the second interface device, wherein the interaction includes a change of the multi-dimensional position; and
storing, at the server, the networked desktop environment, wherein storing the networked desktop environment includes updating the networked desktop state based on the change of the multi-dimensional position.

US Pat. No. 10,140,197

METHOD PERFORMED BY AN ELECTRONIC DEVICE CAPABLE OF COMMUNICATING WITH A READER WITH IMPROVED SELF-TESTING

OBERTHUR TECHNOLOGIES OF ...

1. A method performed by an electronic device capable of communicating with a reader, the method comprising:receiving a command emitted by the reader that powers the electronic device,
selecting an application to be executed by the electronic device on the basis of said command, and
determining whether to perform at least one self-test according to which application has been selected, wherein said at least one self-test comprises a self-test of a cryptographic function of the electronic device carried out by the electronic device,
wherein said selecting an application comprises selecting an application among a list of applications of the electronic device, each application being associated with a list of self-tests specific to the application, and
said determining whether to perform at least one self-test comprises selecting at least one self-test to be performed or none in the list of self-tests associated with the application having been selected, wherein the determining is further according to a plurality of indicators memorized in the electronic device, each indicator corresponding to at least one self-test, and
wherein each indicator indicates whether the at least one self-test corresponding to the indicator is optional, and
if the indicator memorized in the electronic device indicates that said at least one self-test corresponding to the indicator is not optional, then
after performing said at least one self-test corresponding to the indicator, the indicator is attributed a state which indicates that said at least one self-test corresponding to the indicator is optional.

US Pat. No. 10,140,196

SYSTEM AND METHOD FOR CONFIGURING A SLIDING WINDOW FOR TESTING AN EVENT PROCESSING SYSTEM BASED ON A SYSTEM TIME

ORACLE INTERNATIONAL CORP...

1. A method for testing an event stream processing system, comprising:providing, by a testing framework and to an event stream processing system, a processing rule including a time period for an event window, wherein a time period between a plurality of sliding points for a sliding event processing cycle is a multiple of the time period for the event window;
starting, at an arbitrary system time, a first sliding window;
ending the first sliding window at a first sliding point of the event processing system;
sending, by the testing framework, a stream of input events to the event stream processing system in the order in which the events were captured or appended, wherein each input event is associated with a timestamp that is based on a system time, and wherein each input event corresponds to a plurality of expected output events associated with a shared timestamp;
inserting, at the event stream processing system, a first event of the event stream, the associated timestamp of the first event representing a system time after the arbitrary system time but before the first sliding point;
processing the first event of the event stream at the first sliding point;
using the first sliding point as a base time for a second sliding window;
defining the second sliding window as the first sliding point plus the time period for the event window;
inserting, at the event stream processing system, a plurality of the input events from the stream of input events whose associated timestamp falls within the second sliding window;
processing each of the one or more input events included in the event window as a batch according to the processing rule at a second sliding point at or after the close of the second sliding event window;
outputting a plurality of actual output events as a result of the processing, each of the at least one actual output events associated with a system timestamp; and
using the shared timestamp to verify whether a plurality of actual output events received from the event stream processing system matches said plurality of expected output events.

US Pat. No. 10,140,195

METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR BACKUP AND FAILURE RECOVERY IN A STORAGE DEVICE

EMC IP Holding Company LL...

1. A method for failure recovery in a storage device comprising at least one server and a storage unit with a plurality of components running on the at least one server, the method comprising:backing up, in a storage unit, one or more components in a plurality of components running on at least one server;
monitoring occurrence of a failure on the at least one server,
locating one or more components causing a failure;
obtaining one or more components that are backed up in the storage unit and correspond to the one or more components causing the failure;
recovering from the failure using the obtained one or more components;
establishing a plurality of logical units in the storage unit, each logical unit including a storage area having an address range and each component backed up being stored in a corresponding logical unit;
maintaining a logical unit search table, wherein a name of each component in the plurality of components, an index of the logical unit in which the component is backed up, and an initial address of the storage area on which the component is backed up are stored, wherein the plurality of components comprises at least one of: an operating system kernel, a driver, a software configuration file, a changeable software binary file, and firmware; and
maintaining an index search table, wherein the plurality of components are divided into a plurality of groups, wherein each group has one or more component, the one or more components included in each group being collectively identified by a symbol corresponding to each group, the symbol corresponding to each group being stored at least in association with the index of a first logical unit, wherein the index of the first logical unit indicates a boundary of a range of the logical unit in which a component included in the group corresponding to that index is backed up.

US Pat. No. 10,140,194

STORAGE SYSTEM TRANSACTIONS

HEWLETT PACKARD ENTERPRIS...

1. A system comprising:a first node of a plurality of nodes, the first node to receive transactions related to a storage volume, wherein the storage volume comprises a plurality of regions, and wherein each of the plurality of nodes is designated as an owner of a respective region of the plurality of regions to control the issuance of tickets for transactions affecting the respective region; and
wherein the first node comprises a controller to execute instructions to dispense tickets for the received transactions that affect the respective region owned by the first node, each ticket to ensure exclusive access to a storage object identified in the received transaction for which the ticket was issued while the received transaction is executed.

US Pat. No. 10,140,193

SYSTEMS AND METHODS FOR ENABLING FAILOVER SUPPORT WITH MULTIPLE BACKUP DATA STORAGE STRUCTURES

United Services Automobil...

1. A computer-implemented method comprising:receiving, by a computer, a command from a main data center specifying a first backup data center to write data to a storage area network (SAN) controller associated with a SAN;
updating, by the computer, the command to specify to the SAN controller a second backup data center to write the data, thereby generating an updated command;
retrieving, by the computer, from a non-transitory machine-readable storage medium coupled to the computer and associated with the SAN at the main data center, a list containing an identifier for each SAN of each respective backup data center;
identifying, by the computer, the SAN at the first backup data center, the SAN at the first backup data center in synchronous communication with the SAN at the main data center; and
transmitting, by the computer, the updated command to the SAN controller, wherein the updated command comprises an identifier identifying the SAN of the second backup data center and instructs the SAN of the main data center to cease writes to at least one non-transitory machine-readable storage medium of the main data center and to write ter the data to the SAN of the second backup data center.

US Pat. No. 10,140,192

APPARATUS AND METHOD TO COLLECT MEMORY DUMP INFORMATION OF A FAULTY NODE IN A PARALLEL COMPUTER SYSTEM

FUJITSU LIMITED, Kawasak...

1. A parallel processing apparatus comprising:a plurality of nodes each including a memory and a processor configured to relay data between the plurality of nodes, wherein
the processor of a management node that is included in the plurality of nodes and manages the plurality of nodes, is configured to:
when a failure occurs in a first node of the plurality of nodes, determine a collection node that is included in the plurality of nodes and collects first information stored in the memory of the first node, based on power consumption and/or memory usage of each of the plurality of nodes, and
transmit, to the determined collection node, data including a first instruction for causing a storage node in the plurality of nodes to store second information generated from the first information into the memory of the storage node;
the processor of the collection node is configured to, upon receiving the first instruction, transmit data including a second instruction that Instructs transmission of an evaluation value for communication performance of each node, in a first direction approaching the first node and in a second direction approaching the storage node, respectively;
the processor of a second node that is included in the plurality of nodes and is neither an adjacent node adjacent to the first node nor the storage node, is configured to:
upon receiving data that is transmitted in the first direction and includes the second instruction, transmit data obtained by adding an evaluation value for communication performance of the second node to the received data, in the first direction, and
upon receiving data that is transmitted in the second direction and includes the second instruction, transmit data obtained by adding an evaluation value for communication performance of the second node to the received data, in the second direction;
the processor of each of the adjacent node and the storage node is configured to, upon receiving data that is transmitted in the first direction or in the second direction and includes the second instruction, transmit data including an evaluation value for communication performance of another node that is included in the received data and an evaluation value for communication performance of the each of the adjacent node and the storage node, to the collection node; and
the processor of the collection node is configured to:
upon receiving data including an evaluation for communication performance of the adjacent node, determine a transmission route between the collection node and the first node, based on the received data, and
upon receiving data including an evaluation value for communication performance of the storage node, determine a transmission route between the collection node and the storage node, based on the received data.

US Pat. No. 10,140,191

SYSTEM FOR DEVELOPMENT OF IOT SYSTEM ARCHITECTURE

Accenture Global Services...

1. A system, comprising:one or more server devices to:
provide one or more questions, to a user of a user device, to characterize an Internet of things system,
a characterization of the Internet of thing system being associated with at least one of:
a system goal,
a technology platform,
connectivity,
scalability, or
an end-user-role;
obtain one or more responses from the user of the user device associated with the one or more questions;
provide, based on the one or more responses, a list of existing Internet of things system profiles;
obtain an existing Internet of things system profile selected from the list;
retrieve a previously created and/or obtained Internet of things system architecture associated with the existing Internet of things system profile;
obtain one or more modifications to the previously created and/or obtained Internet of things system architecture to create a new Internet of things system architecture; and
automatically perform the one or more modifications to create the new Internet of things system architecture,
the new Internet of things system architecture defining the Internet of things system by applying associated Internet of things system architecture rules to the one or more responses.

US Pat. No. 10,140,189

DATABASE RECOVERY AND INDEX REBUILDS

International Business Ma...

1. A computer-implemented method for recovering data and concurrently rebuilding indexes for the recovered data in a database for a system configured to store fewer than all indexes in backup files, comprising: copying data from one or more database files and storing the copied data to one or more backup files; reading the copied data from the one or more backup files, by a recovery manager executing on a processor, and writing the copied data to the one or more database files by the recovery manager, wherein the data is recovered to the one or more database files, and wherein one or more indexes are not recovered; in response to and at substantially the same time as the reading, initiating a rebuilding of the one or more indexes for the copied data, by an index manager executing on the processor, wherein initiating the rebuilding of the one or more indexes at substantially the same time reduces a quantity of 1/0 operations needed for data recovery; and in response to finishing the rebuilding of the one or more indexes, applying a first set of log records from a transaction log to the one or more database files, the one or more log records specify a particular point in time for recovery.

US Pat. No. 10,140,188

SNAPSHOT MANAGEMENT

ArcServe (USA) LLC, Eden...

1. A method for backing up a computer system with a plurality of client computers to be backed up to a cloud, comprising:Per the client computer of the plurality of client computers by:
choosing a time window to back up the client computer to a disk volume with a desired retention schedule in the cloud;
syncing the client computer (job syncs) during the time window and writing data to the disk volume in the cloud; and
at a completion of job sync, taking a snapshot of the disk volume in the cloud, while recording a daily record of the snapshot information in a database about the job sync triggered the snapshot, the sync' s start and end time, the data synced, and metadata;
per the desired retention schedule:
checking the desired retention schedule for multiple entries of the daily record of the snapshot information in the database;
minimizing all snapshots of the desired retention schedule by determining if there is more than one daily record of the snapshot information in the database, and
removing the daily record of the snapshot information in the database if there is more than one;
associating snapshots of the desired retention schedule until only one daily record of the snapshot information remains, and
consolidating snapshots to a minimal set of the job syncs with a most recent snapshot;
per the disk volume, over the desired retention schedule, determining an optimal set of snapshots from the consolidated minimal set of snapshots that cover all the sync jobs for all the client computers by:
ordering the job syncs from a least to a most snapshot coverage;
for each of the job syncs not covered, starting with the least-covered job sync, obtaining one or more covering snapshots and noting a snapshot covering the most job syncs;
noting all the job syncs covered by the snapshot, and working on the next job sync of the disk volume;
altering the daily record of the snapshot information in the database to point to one of the optimal set of snapshots and for each job sync having a database row not pointing to a noted snapshot, updating the database row to point to the noted snapshot; and
deleting the snapshots considered during the optimization but not in the optimal set of snapshots.

US Pat. No. 10,140,187

TECHNIQUES FOR SYSTEM BACKUP

SYMANTEC CORPORATION, Mo...

1. A computer-implemented method for performing a backup procedure, the method comprising:accessing, by a processing device, a data storage device storing data associated with backup procedures performed for a plurality of computing devices, each of the computing devices corresponding to a user of a plurality of users, wherein said data is an aggregation of data from a plurality of client devices indicative of how users deviated from a default backup procedure and system profile data corresponding to the plurality of client devices;
analyzing, by the processing device, the data associated with the backup procedures to identify customizations applied to the backup procedures by the users, the customizations comprising manual modifications made by the users to default backup procedures of the plurality of computing devices;
correlating, by the processing device, system profile data of each of the plurality of client devices associated with the backup procedures with corresponding deviations from default backup procedures;
receiving a request from a first client device associated with a given user to perform a backup of data stored on the first client device, the given user not being one of said users;
receiving a first system profile corresponding to the first client device, the first system profile including an indication of one or more characteristics of the data stored on the first client device;
in response to determining the first system profile does not include a characteristic that correlates with the one or more characteristics of the system profile data associated with the backup procedures, performing a given default backup procedure of the backup data stored on the first client device; and
in response to determining the first system profile does include a characteristic that correlates with the one or more characteristics of the system profile data associated with the backup procedures:
automatically modifying, without intervention by the given user, the given default backup procedure to generate a modified backup procedure different from the given default backup procedure; and
performing the modified backup procedure.

US Pat. No. 10,140,186

MEMORY ERROR RECOVERY

INTERNATIONAL BUSINESS MA...

1. A method of memory error recovery in a memory system, the method comprising:detecting a plurality of error conditions within a memory chip of the memory system by a scrub engine in a processing portion comprising one or more processors that reads a plurality of locations within the memory chip, the error conditions comprising one or more stuck bits at two or more of the locations;
applying a chip mark to the memory chip to flag the error conditions by a chip mark tracker in the processing portion;
determining an address range of the memory chip associated with the error conditions by the chip mark tracker;
directing a cache controller to configure a cache memory for use in holding data from the address range of the memory chip by marking a plurality of tag bits of the cache memory;
determining a number of locations in the cache memory allocated for storing data from an errant memory chip, wherein the number of locations in the cache memory allocated for storing data from the errant memory chip is configurable;
casting out data from the cache memory to accommodate writing of data from the address range of the memory chip to the cache memory;
writing data from the address range of the memory chip to the cache memory based on determining that the address range is less than or equal to the number of locations in the cache memory allocated for storing data from the errant memory chip and determining that at least one of the error conditions comprises the one or more stuck bits; and
removing the chip mark based on determining that all of the data from the address range have been written to the cache memory.

US Pat. No. 10,140,185

EPOCH BASED SNAPSHOT SUMMARY

Maginatics LLC, Mountain...

1. A method managing file system data, comprising:for each of a plurality of snapshots, storing, by one or more processors, in a first data structure data that associates with the snapshot a corresponding last chunk identifier assigned as of a time at which the snapshot is or was created;
storing, by one or more processors, in a second data structure, for each of a plurality of chunks of file system data no longer referenced by a file system object that has not been subject to deletion, an epoch identifier associated with an epoch in which the chunk became no longer referenced by a file system object that has not been subject to deletion, wherein each epoch is associated with one or more snapshots, the one or more snapshots are associated with respective snapshot creation times which define one or both of a beginning and an end of the epoch;
comparing, by one or more processors, a chunk identifier and associated epoch comprising an entry in the second data structure with one or more entries in the first data structure to determine whether a chunk associated with the chunk identifier is associated with a snapshot that continues to be retained, wherein a chunk is determined not to be included in a snapshot by virtue of the chunk having been created and stored subsequent to the snapshot having been created, and wherein said determination is made at least in part by comparing a chunk identifier of the chunk with a last chunk identifier associated with the snapshot in the first data structure and concluding that the chunk identifier is greater than the last chunk identifier associated with the snapshot;
determining, by one or more processors, a status with respect to deletion of the chunk corresponding to the chunk identifiers, wherein the status with respect to deletion of the chunk is based at least in part on the comparison of the chunk identifier and associated epoch comprising the entry in the second data structure with one or more entries in the first data structure; and
deleting the chunk based at least in part on a determination made based on least in part on the comparison that the chunk associated with the chunk identifier is not associated with any snapshot that continues to be retained.

US Pat. No. 10,140,184

NODE RECOVERY IN STATIC DISTRIBUTED NETWORKS

Capital One Services, LLC...

1. A method of operating a network, the method comprising:instantiating a first static server configured to perform at least one first node process;
instantiating a second static server configured to perform at least one second node process, wherein the at least one first node process and the at least one second node process are portions of a same network process;
periodically analyzing, by a conglomerate server, the at least one first node process and the at least one second node process to identify a network process state including an average state based on the at least one first node process and the at least one second node process and storing, by the conglomerate server, the network process state in a memory, the analyzing including averaging at least one state of the at least one first node process and at least one state of the at least one second node process to determine the average state;
detecting a failure in the first static server, wherein the failure causes an unrecoverable loss of progress in the at least one first node process; and
in response to the detecting, reinstantiating the first static server, the reinstantiating comprising restarting the at least one first node process according to the network process state from the memory.

US Pat. No. 10,140,183

EFFICIENT STATE TRACKING FOR CLUSTERS

INTERNATIONAL BUSINESS MA...

1. A method for efficient state tracking for clusters by a processor device in a distributed shared memory architecture, the method comprising:performing an asynchronous calculation of deltas while concurrently receiving client requests and concurrently tracking client requests times;
responding to each of the client requests for data of the same concurrency during a certain period with currently executing client requests with updated views based upon results of the asynchronous calculation; and
bounding a latency for the client requests by a time necessitated for the asynchronous calculation of at least two of the deltas; wherein a first state snapshot is atomically taken while simultaneously calculating the at least two of the deltas, and each of the client requests received during the certain period are served with the updated views of the asynchronously calculated at least two of the deltas, and wherein upon the time necessitated for the asynchronous calculation of the at least two of the deltas expires, the first state snapshot is disregarded and a second state snapshot is atomically taken for the asynchronous calculation of the deltas.

US Pat. No. 10,140,182

MODIFYING ALLOCATION OF STORAGE RESOURCES IN A DISPERSED STORAGE NETWORK

International Business Ma...

1. A method for execution by a resource allocation module that includes a processor, the method comprises:detecting a newly commissioned storage unit, wherein a set of storage units includes the newly commissioned storage unit;
identifying a corresponding storage unit of the set of storage units for decommissioning;
facilitating migration of a first set of a plurality of encoded data slices stored at the corresponding storage unit for decommissioning to the newly commissioned storage unit;
facilitate migration of a remaining set of the plurality of encoded data slices stored at the corresponding storage unit for decommissioning to at least one other storage unit of the set of storage units for storage as a set of foster encoded data slices;
facilitating deletion of the plurality of encoded data slices from the corresponding storage unit for decommissioning in response to detecting successful migration of the first set of the plurality of encoded data slices;
for each foster encoded data slice:
determining whether to facilitate migration of the each foster encoded data slice to the newly commissioned storage unit;
when determining to facilitate the migration of the each foster encoded data slice, facilitating the migration of the each foster encoded data slice from a corresponding other storage unit to the newly commissioned storage unit as an encoded data slice associated with the newly commissioned storage unit;
updating an association of the newly commissioned storage unit and identity of the each foster encoded data slice in response to detecting successful migration of the each foster encoded data slice; and
facilitating deletion of the each foster encoded data slice from the corresponding other storage unit in response to detecting successful migration of the each foster encoded data slice to the newly commissioned storage unit.

US Pat. No. 10,140,181

ENDURANCE AWARE RAID SCHEME FOR FLASH BASED SSDS WITH FPGA OPTIMIZED IMPLEMENTATION

Vexata, Inc., Santa Clar...

1. A method of operating a redundant array of inexpensive disks (RAID) system comprising a plurality of at least three low endurance flash based solid state devices, the method comprising:segmenting data to be stored on different ones of the plurality of at least three low endurance flash based solid state devices; and
performing a plurality of write operations comprising a data striping scheme, the data striping scheme causing at least a first and second of the plurality of at least three low endurance flash based solid state devices perform a predetermined percentage of more write operations as compared to at least a third of the plurality of at least three low endurance flash based solid state devices thereby causing the at least third of the plurality of at least three low endurance flash based solid state devices to wear out after the first and second of the plurality of at least three low endurance flash based solid state devices, wherein the data striping scheme comprises one or more skipped write blocks configured to skip performing a write operation among the plurality of write operations on the third of the plurality of at least three low endurance flash based solid state devices.

US Pat. No. 10,140,180

SEGMENT-BASED OUTER CODE RECOVERY

Seagate Technology LLC, ...

1. An apparatus comprising:a circuit configured to:
disable outer code error recovery;
perform a read operation spanning a plurality of segments of a data storage medium, a segment including a plurality of sectors;
identify one or more segments, from the plurality of segments, that have one or more sectors with an error;
for an identified segment of the one or more segments, perform a re-read operation of the identified segment with outer code error recovery enabled, the re-read operation includes reading all sectors of the identified segment except for sectors with an error; and
perform outer code recovery on the sectors with an error in the identified segment.

US Pat. No. 10,140,179

COMBINED GROUP ECC PROTECTION AND SUBGROUP PARITY PROTECTION

International Business Ma...

1. A method of content protection of a computer memory of a computer system, using a matrix P to provide an error correction code (ECC) word for given data comprising a group of n bits and to provide parity bits for subgroups of said group of n bits, the matrix P including a multitude of rows and columns, the method comprising the steps of:generating the matrix P, including
generating permutations of m bit wide vectors, each of the vectors having an odd number of three or more elements with a value of one and the other elements with a value zero;
assigning the permutations to rows of the matrix P while adhering to a defined group of conditions; and
if not all the rows of P are assigned, increasing m, and repeating the generating and assigning steps; and
wherein multiplying said group of n bits with P produces m error correction code protection bits, and two of the columns of P provide parity bits for parity protection for subgroups of said group of n bits;
storing the matrix P in a memory storage;
feeding the group of n bits into a generation logic unit of the computer system;
implementing the generation logic unit to generate the ECC word for the group of n bits from the matrix P; and
during a read operation, implementing a correction/detection logic unit of the computer system to use the ECC word to determine if there are any errors in the given data.

US Pat. No. 10,140,178

VERIFYING A STATUS LEVEL OF STORED ENCODED DATA SLICES

International Business Ma...

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:retrieving a decode threshold number of encoded data slices of a set of encoded data slices from a first grouping of storage units of the DSN, wherein a data segment of a data object is encoded in accordance with dispersed storage error encoding parameters to produce the set of encoded data slices, wherein the dispersed storage error encoding parameters includes the decode threshold number and a width number, wherein the decode threshold number corresponds to a minimum number of encoded data slices of the set of encoded data slices that are needed to recover the data segment, wherein the width number corresponds to a total number of encoded data slices in the set of encoded data slices, and wherein the decode threshold number is less than or equal to one-half of the width number; and
to verify that the decode threshold number of encoded data slices is of a common status level as other encoded data slices of the set of encoded data slices:
determining a first status level indication of the retrieved decode threshold number of encoded data slices;
sending check status request messages to a second grouping of storage units of the DSN, wherein a check status request message of the check status request messages is requesting that a storage unit of the second grouping of storage units provide a status level indication of one of the other encoded data slices stored by the storage unit, wherein the second grouping of storage units store remaining encoded data slices of the set of encoded data slices, wherein the remaining encoded data slices is the total number of encoded data slices less the decode threshold number of encoded data slices;
receiving check status response messages from the second grouping of storage units, wherein a check status response message of the check status response messages includes the status level indication of the one of the other encoded data slices;
processing the check response messages to produce a second status level indication;
when the second status level indication is greater than the first status level indication, sending a new retrieval request for the decode threshold number of encoded data slices having the second status level indication to the second grouping of storage units of the DSN; and
when the second status level indication is substantially equal to the first status level indication, indicating that the decode threshold number of encoded data slices is of the common status level as the other encoded data slices.

US Pat. No. 10,140,177

TRANSFERRING A PARTIAL TASK IN A DISTRIBUTED COMPUTING SYSTEM

INTERNATIONAL BUSINESS MA...

1. A method comprises:determining, by a first dispersed storage and task (DST) execution unit, whether partial task processing resources of the first DST execution unit are projected to be available, wherein the determining is based on:
comparing a number of partial tasks in a current snapshot of a first local task queue to a current queue threshold, and
determining a number of partial tasks in a projected snapshot of the first local task queue, and a projected queue threshold, wherein the determining is based at least partially on a first expected partial task performance factor and a first expected partial task allocation factor,
wherein the first expected partial task performance factor is based on either when the first DST execution unit will perform one or more of the partial tasks in the projected snapshot of the first local task queue or how long the first DST execution unit will take to perform one or more of the partial tasks in the projected snapshot of the first local task queue, and wherein the first expected partial task allocation factor is based on the number of partial tasks in the first local task queue and the types of partial tasks in the first local task queue;
when partial task processing resources of the first DST execution unit are projected to be available, determining, whether partial task processing resources of a second DST execution unit are projected to be overburdened, wherein the determining is based on:
comparing a number of partial tasks in a current snapshot of a second local task queue to a current queue threshold associated with the second local task queue, and
determining a number of partial tasks in a projected snapshot of the second local task queue, and a projected queue threshold for the second local task queue, wherein the determining is based at least partially on a second expected partial task performance factor and a second expected partial task allocation factor,
wherein the second expected partial task performance factor is based on when the second DST execution unit will perform one or more of the partial tasks in the projected snapshot of the second local task queue or how long the second DST execution unit will take to perform one or more of the partial tasks in the projected snapshot of the second local task queue, and wherein the second expected partial task allocation factor is based on the number of partial tasks in the second local task queue and the types of partial tasks in the second local task queue;
when partial task processing resources of the second DST execution unit are projected to be overburdened, receiving, by the first DST execution unit, a partial task of a set of partial tasks from the second DST execution unit, wherein the partial task is associated with a data portion, wherein the data portion includes a plurality of data partitions, wherein each of the plurality of data partitions comprises a group of encoded data slices and further wherein the first DST execution unit and the second DST execution unit are each assigned at least one partial task of the set of partial tasks to perform on the group of encoded data slices; and
executing, by the first DST execution unit, the partial task to produce a partial resultant.

US Pat. No. 10,140,176

SEMICONDUCTOR MEMORY DEVICE, MEMORY SYSTEM INCLUDING THE SAME, AND METHOD OF ERROR CORRECTION OF THE SAME

SAMSUNG ELECTRONICS CO., ...

1. A method of correcting an error in a semiconductor memory device including a memory cell array which includes a plurality of memory cell groups each including a plurality of memory cells, the method comprising:receiving first data from outside the semiconductor memory device;
generating first check bits based on the first data and a first parity generator matrix,
the first parity generator matrix including a plurality of columns of bits, the plurality of columns of bits being arranged in a plurality of parity generator matrix groups; and
storing an error correcting code (ECC) code word including a plurality of ECC code word groups and the first check bits in the plurality of memory cell groups, the plurality of ECC code word groups corresponding to the plurality of parity generator matrix groups, respectively,
wherein, for each parity generator matrix group of the first parity generator matrix, a result value of a bit-by-bit exclusive OR (XOR) operation performed on any two columns included in the parity generator matrix group is equal to a column number of a column, from among the plurality of columns of bits, that is not included in the parity generator matrix group such that,
when a first ECC code word group, from among the plurality of ECC code word groups, includes error bits, a miscorrected bit that would be caused by the error bits as a result of performing an error correction operation on the first ECC code word group is located in an ECC code word group other than the first ECC code word group.

US Pat. No. 10,140,175

PROTECTING AN ECC LOCATION WHEN TRANSMITTING CORRECTION DATA ACROSS A MEMORY LINK

QUALCOMM Incorporated, S...

1. A method of link error correction and protection in a low power memory sub-system, comprising:embedding link error correction code (ECC) parity bits in unused data mask bits and/or in a mask write data during a mask write operation; and
protecting at least a location of the link ECC parity bits in either the unused data mask bits or the mask write data against a link error during the mask write operation by identifying the unused data mask bits or the mask write data during the mask write operation as the location of the link ECC parity bits.

US Pat. No. 10,140,174

SEPARATING STORAGE TRANSACTION LOGS

HEWLETT PACKARD ENTERPRIS...

1. A system comprising:at least one processor; and
a memory to store instructions that, when executed by the at least one processor, cause the at least one processor to:
receive transaction logs of a plurality of transaction logs from a given controller of a plurality of controllers, wherein the received transaction logs are associated with multiple storage units of a plurality of storage units managed by the controllers;
segregate the received transaction logs into separate lists allocated in a memory such that each list contains transaction logs generated by one storage unit of the multiple storage units, wherein, in each of the lists, pairs of transaction logs are associated by respective addresses;
derive a content checksum for content in each received transaction log;
derive a pointer checksum for each address associating a pair of received transaction logs in the lists;
determine whether the given controller has failed; and
locate the separate lists allocated in the memory in response to determining that the given controller has failed.

US Pat. No. 10,140,173

METHOD FOR ALLOCATING RESOURCES IN WIRELESS COMMUNICATION SYSTEM AND SYSTEM THEREOF

Samsung Electronics Co., ...

1. A method of a terminal, comprising:receiving available transmission resource information;
receiving a semi-persistent transmission resource allocation message including transmission resource information;
performing cyclic redundancy checking (CRC) operation on the semi-persistent transmission resource allocation message;
verifying, if the CRC operation succeeds, validity of the semi-persistent transmission resource allocation message by comparing the transmission resource information included in the semi-persistent transmission resource allocation message with the available transmission resource information; and
transmitting, if the validity of the semi-persistent transmission resource allocation message is verified, data using the transmission resource information included in the semi-persistent transmission resource allocation message,
wherein verifying validity of the semi-persistent transmission resource allocation message comprises:
transmitting an HARQ message for a first packet on a transmission resource included in the transmission resource information; and
identifying whether to receive an HARQ ACK or a retransmission resource allocation message, in response to the HARQ message for the first packet.

US Pat. No. 10,140,172

NETWORK-AWARE STORAGE REPAIRS

CISCO TECHNOLOGY, INC., ...

1. A computing apparatus, comprising:one or more logic elements, including at least one hardware logic element, comprising a network-aware data repair engine to compute a feasible repair log for n fragments of an original data structure, comprising:
receiving a predictive failure scenario;
identifying at least one repair ?i for the predictive failure scenario;
determining that ?i is a feasible repair to the predictive failure scenario; and
logging ?i to a feasible repair log only if ?i is (a) determined to be a feasible repair to the predictive failure scenario and (b) potentially a lowest-cost repair;
wherein ?i is not logged in the feasible repair log if ?i is not determined to be a feasible repair or ?i is not a potentially a lowest-cost repair option.

US Pat. No. 10,140,171

METHOD AND APPARATUS FOR DOWNSIZING THE DIAGNOSIS SCOPE FOR CHANGE-INDUCING ERRORS

International Business Ma...

1. A computer implemented method for resolving a computer configuration or system state drift by reducing diagnosis scope from a large set of change records to a smaller set of change records in computer based systems, comprising:cleaning irrelevant changes from said large set of change records based on domain independent rules applied by one or more computers against said large set of change records to produce a cleaned set of change records;
extracting and normalizing features of change records in said cleaned set of change records;
removing records from said cleaned set of change records based on change patterns of said extracted and normalized features, wherein the change records comprise change data which affect configuration and system state drifts;
clustering remaining change records into smaller clusters;
identifying at least one change record from the clusters as a source of drift; and
resolving the drift by correcting a change associated with the at least one change record identified as the source of drift,
wherein the change records comprise change data involving one or more of changes in configuration and system files, operating system (OS) configuration changes, changes to network services, and changes to file systems.

US Pat. No. 10,140,170

REPORTING ERRORS TO A DATA STORAGE DEVICE

International Business Ma...

1. A computer-implemented method for reporting errors to a data storage device, the method comprising:reporting detected error events associated with the storage device to an owner of the storage device;
in response to a detected error event, sending an event command to the storage device in a specified format; and
storing error event information from the event command in a log on the storage device;
filtering detected events based on filter rules;
determining whether the storage device supports logging host error events;
when the storage device supports logging host error events, then communicating support of logging error events by the data storage device to system components; and
allowing a system administrator to define the filter rules that indicate what errors to report and log on the data storage device.

US Pat. No. 10,140,169

FAULT TRACKING IN A TELECOMMUNICATIONS SYSTEM

NOKIA SOLUTIONS AND NETWO...

1. A non-transitory computer-readable medium encoding instructions that, when executed in hardware, perform a method, the method comprising:automatically triggering, by a signaling or data unit, a notifying event when a failure occurs, wherein the automatic triggering of the notifying event automatically triggers a tracing of the failure; and
storing information associated with the trace and with a specific subscriber that experienced the failure, wherein the storing is performed after the automatic triggering of the notifying event, and the specific information is configured to allow the trace to continue after a telecommunications system restart.