US Pat. No. 10,657,163

SYSTEMS AND METHODS FOR TRACKING ASSETS ACROSS A DISTRIBUTED NETWORK ENVIRONMENT

Open Text SA ULC, Halifa...

1. A content flow system for providing asset tracking in a distributed and networked enterprise environment, comprising:a content flow server coupled to a set of distributed content management systems over a network, each content management system managing a corresponding set of assets and having an asset tracking module deployed thereon, the content flow server including:
a graph database storing a graph representing the sets of assets across the set of distributed content management systems, a set of communications sent by a communication management system and a set of users to which the set of communications were sent by the communication management system, the graph comprising:
a set of asset objects and a set of usedIn relationships between those asset objects, wherein each asset object includes a content management identifier of the content management system managing the asset corresponding to the asset object and an asset identifier used by that content management system for managing the corresponding asset,
a set of communication objects and a set of generate relationships between the set of asset objects and the set of communication objects, and
a set of user objects and a set of sent relationships between the set of communication objects and the set of user objects, each sent relationship specifying a delivery method as a property;
an asset tracking interface for:
receiving an interaction notification from a first asset tracking module deployed on a first content management system in the enterprise environment, the interaction notification specifying a first content management identifier of the first content management system, a first asset identifier for a first asset as used by the first content management system, and the first usedIn relationship including the first asset; and
updating the set of asset objects and set of usedIn relationships of the graph in the graph database based on the interaction notification, including creating a usedIn relationship between a first asset object representing the first asset and at least one second asset object representing a second asset managed by a second content management system;
a communication tracking interface for:
receiving a communication notification from a communications tracking module deployed on the communication management system in the enterprise environment, the communication notification specifying a first communication, a generate relationship with the first asset and a sent relationship including the first communication and a first user; and
updating the set of communication objects, set of user objects, set of generate relationships and set of sent relationships of the graph of the graph database to include a first communication object representing the first communication, a first user object representing the first user, a first generate relationship between the first communication object and the first asset object and a first sent relationship between the first communication object and the first user object; and
a search interface for:
receiving a query including the first asset identifier for the first asset as used by the first content management system and the generate relationship;
forming a graph query corresponding to the received query, including the first asset identifier of the first asset;
searching the graph database based on the graph query to determine the first user object for the first user having the first sent relationship to the first communication object having the generate relationship to the first asset object; and
returning, in response to the received query, a user identifier for the first user associated with the first user object and the delivery method associated with the first sent relationship between the first user object and the first communication object.

US Pat. No. 10,657,162

METHOD AND SYSTEM FOR VISUALIZING DOCUMENTS

TEXTWISE COMPANY, LLC, F...

1. A method, implemented on at least one machine having at least one processor, storage, and a communication platform connected to a network for visualizing documents, comprising the steps of:obtaining, for each document in a set of documents, a feature based representation of the document, wherein the feature based representation includes at least one concept associated with the document;
generating an N-dimensional semantic compact representation for each document based on the feature based representation, wherein the N-dimensional semantic compact representation includes one or more codes encoding semantics of the document, wherein the one or more codes encoding semantics of the document are obtained via a neural network, and wherein a dimensionality of the N-dimensional semantic compact representation is determined based on a size of a coding layer of the neural network;
retrieving, from the set of documents, a plurality of documents and their corresponding N-dimensional semantic compact representations;
projecting each of the retrieved documents to a point on a K-dimensional map based on its N-dimensional semantic compact representation so that projected document points in the K-dimensional map maintain the relative distances among the retrieved documents in the N-dimensional space;
identifying each region in the K-dimensional map having a density of document points associated with a concept being higher than a threshold;
generating, based on the identifying, a label for each concept associated with the document points in the region; and
rendering, on the K-dimensional map, the document points and one or more of the generated labels in corresponding identified regions.

US Pat. No. 10,657,161

INTELLIGENT NAVIGATION OF A CATEGORY SYSTEM

Alibaba Group Holding Lim...

1. A method, comprising:performing analysis of historical user activity data with respect to a query term to generate reference data associated with the query term;
selecting a navigation recommendation model for the query term based at least in part on the reference data;
using the selected navigation recommendation model to determine an initial current category of a category system;
selecting at least one subcategory associated with the determined initial current category, the at least one subcategory being at least one level below a level associated with the determined initial current category, wherein the selecting of the at least one selected subcategory is based at least in part on the determined initial current category and a portion of the reference data associated with the at least one subcategory;
generating a set of recommendation data that includes the at least one selected subcategory having been moved to the level associated with the determined initial current category in the category system; and
recording an association between the set of recommendation data and the query term in a recommendation list, wherein the set of recommendation data includes at least a portion of the category system to be displayed in response to a subsequently received query including the query term.

US Pat. No. 10,657,160

DYNAMIC LOCATION SEARCH SUGGESTIONS BASED ON TRAVEL ITINERARIES

Apple Inc., Cupertino, C...

1. A non-transitory machine readable medium storing instructions executable by an electronic device to perform operations comprising:identifying, by the electronic device, a travel destination based on information stored by a first application on the electronic device;
communicating the travel destination to a second application on the electronic device, wherein the second application is adapted to retrieve information associated with an identified geographic location;
identifying a time of travel to the travel destination based on the information stored by the first application; and
providing, through the second application, information associated with the travel destination, the information associated with the travel destination provided based on the time of travel to the travel destination in response to activation of the second application.

US Pat. No. 10,657,159

METHOD FOR GENERATING A CATEGORY CLUSTERING DATA USING A DATA TRANSMISSION STRUCTURE

1. A method for generating a category clustering data via a code division multiple access (CDMA) structure, comprising:dividing a dataset to generate dataset categories, wherein the dataset includes a plurality of variable sequences; and
according to the divided dataset categories and, by processing the dataset categories via the CDMA structure, to generate the category clustering data;
wherein dividing the dataset includes:
using a variable slope of each of the variable sequences to perform a segment division on a corresponding variable sequence to generate a plurality of segments which names segment piecewise pairs linear category clustering; and
using a distance, an angle and a slope to perform an affinity group on the variable sequences to generate a plurality of groups which names variables category affinity grouping having a logically identity, wherein the variable slope in each segment is performed the affinity group with the segments having the variable sequences which have logically identity or similar similarity in the segments to generate the groups;
wherein using the distance, the angle and the slope to perform the affinity group on the variable sequences to generate the plurality of groups includes:
using a fuzzy C-means algorithm to cluster the variable sequences by the distance to generate a first variable category;
using a fuzzy spectral angle matching algorithm to cluster the variable sequences by the angle to generate a second variable category;
using a fuzzy slope time series algorithm to cluster the variable sequences by the slope to generate a third variable category; and
determining whether the first variable category, the second variable category and the third variable category have the same affinity group;
wherein when two or more of the first variable category, the second variable category and the third variable category have the same affinity group, the variable categories having the same affinity group are those having the logical identity;
wherein generating the category clustering data via the CDMA structure processing the dataset categories according to the dataset categories includes:
coding the dataset categories to generate a pseudo code and a carrier;
outputting a carrier aggregation by an outputting data according to the variable slope, the pseudo code and the carrier;
generating a channel module according to the segments and the groups; and
calculating an error rate of all of the segments in the channel module.

US Pat. No. 10,657,158

TEMPLATE-BASED STRUCTURED DOCUMENT CLASSIFICATION AND EXTRACTION

GOOGLE LLC, Mountain Vie...

1. A computer-implemented method, comprising:identifying a data extraction template generated from a cluster of electronic messages that share at least some underlying structural and textual similarities;
applying features of the cluster of electronic messages as input to one or more category machine learning models, wherein the one or more category machine learning models are trained to classify electronic messages into one or more of a plurality of document categories;
determining a document category associated with the data extraction template based on output generated over the one or more category machine learning models based on the input provided to the one or more category machine learning models;
applying the same features or different features of the cluster of electronic messages as input to one or more extraction machine learning models, wherein the one or more extraction machine learning models are trained to provide one or more locations of one or more transient fields in electronic messages, and wherein the one or more extraction machine learning models are selected from a plurality of extraction machine learning models based on the determined document category;
determining one or more locations of one or more transient fields in the cluster of electronic messages based on output generated from the one or more extraction machine learning models based on the input provided to the one or more extraction machine learning models;
storing, in computer memory, a first association between the data extraction template and the determined one or more transient field locations in the cluster of electronic messages;
extracting at least two data points from a given electronic message of a user that shares at least some structural and textual similarities with the cluster of electronic messages, wherein the extracting is based on the first association; and
providing the at least two extracted data points for surfacing to the user via one or more computing devices operated by the user.

US Pat. No. 10,657,157

DYNAMIC BITWISE SHARDING OF LIVE STREAM COMMENT GROUPS

Google LLC, Mountain Vie...

1. A method comprising:identifying, by a processing device, parameters comprising a number of user groups;
defining one or more shards based on the number of user groups, wherein each of the one or more shards is associated with a shard identifier of a plurality of shard identifiers;
creating a first user group comprising users accessing content on a content sharing platform based on the sharding parameters;
in response to determining that a number of users in the first user group exceeds a maximum number of users, modifying the sharding parameters; and
determining a plurality of modified user groups based on a comparison of the modified sharding parameters to at least a substring of each of the plurality of shard identifiers, wherein a second user group and a third user group of the modified user groups each comprise at least two users from the first user group.

US Pat. No. 10,657,156

ENERGY EXPENDITURE CALCULATION USING DATA FROM MULTIPLE DEVICES

NIKE, Inc., Beaverton, O...

1. An athletic system comprising:a processor; a display; and
a non-transitory, computer-readable medium comprising computer-executable instructions that, when executed by the processor, are configured to cause the processor to at least:
receive, from a connected device, athletic, data of a user, the athletic data collected from one or more sensors associated with the connected device, wherein the connected device utilizes a first operating system and the processor utilizes a second operating system;
identify an activity metric associated with the received athletic data;
prior to any classification of the received athletic data into an athletic activity group, determine, by comparing the received athletic data to a metric database, whether the received athletic data is a best available source of data for the activity metric;
based on determining that the received athletic data is not a best available source of data for the activity metric, discard the received athletic data; and
based on determining that the received athletic data is the best available source of data for the activity metric:
store, in the metric database, the identified activity metric associated with the received athletic data;
classify the received athletic data into an athletic activity group;
identify an additional activity metric, not stored in the metric database, to improve activity recognition by reducing a number of activities in the athletic activity group;
associate the stored activity metric with a first confidence weighting, of one or more confidence weightings, wherein the first confidence weighting is determined based on a signal to noise ratio associated with received athletic data corresponding to the stored activity metric;
calculate, from the stored activity metric, an energy expenditure value of the user;
calculate, based on the first confidence weighting, a confidence value to be associated with the energy expenditure value; and
display the calculated energy expenditure value of the user on the display.

US Pat. No. 10,657,155

DEVICE FOR PROCESSING LARGE-SCALE DATA STREAMS

ATOS INTEGRATION, Bezons...

1. A device for processing largescale data streams, comprising a knowledge base, a hardware and software assembly constituting a front-end communication device, for capturing the streams of the external medium and if needed restoring data to this medium, the front-end delivering the streams to a platform where said data streams undergo different processings, traces being collected and stored in a storage and memory architecture during execution of the processing operations, the platform produces data which supply a decision-making device comprising a hardware and software assembly defining decision rules for either triggering actions or initiating retroactions to the front-end communication device or to the knowledge base of said processing device,wherein a SPARQL request language is extended to perform summaries for data stream or implement oblivion functions for archiving data streams with a variable granularity as a function of time and ensuring limited storage space,
wherein the SPARQL language is extended by introducing the notion of adaptable time window and operators specific to the stream processing, the requests processing data being adapted to the arrival rate of dynamic data and being evaluated continually to consider the scalable character of the stream, the semantics of SPARQL requests enabling processings based on time or the order of arrival of data.

US Pat. No. 10,657,154

PROVIDING ACCESS TO DATA WITHIN A MIGRATING DATA PARTITION

Amazon Technologies, Inc....

1. A system, comprising:a memory to store program instructions which, if performed by at least one processor, cause the at least one processor to perform a method to at least:
during the migration of a database partition comprising a plurality of items from a first node to a second node:
iteratively select items within the database partition to migrate from the first node to the second node;
prevent writes to the selected items while the selected items are being migrated from the first node to the second node; and
enable writes to other items within the database partition not being migrated while the selected items are being migrated from the first node to the second node.

US Pat. No. 10,657,153

USER INITIATED REPLICATION IN A SYNCHRONIZED OBJECT REPLICATION SYSTEM

INTERNATIONAL BUSINESS MA...

1. A method for user initiated replication in a synchronized object replication system in a computing environment using a processor device, comprising:creating a snapshot of selected objects in a source repository in response to the user initiated replication, wherein the snapshot is designated as a snapshot replication job;
detecting unsynchronized objects in a target destination by comparing a lightweight representative state of the selected objects in the snapshot with a current state of the target destination at the time of execution of the snapshot replication job;
sending an object identification (ID) and a state ID of the at least one object to the target destination; and
searching for the object ID in the target destination, wherein if neither the object ID exists in the target destination and the state ID of the at least one object and a current state ID of the target destination do not match, replication tasks are opened for replicating data and metadata of the at least one object to the target destination.

US Pat. No. 10,657,152

SYNCHRONIZATION OF DIAGRAMS AND ASSOCIATED STRUCTURED DATA

Microsoft Technology Lice...

1. A system for generating a diagram from structured data and synchronizing modifications between the diagram and the structured data, the system comprising:at least one processor configured to:
access a structured data representation, the structured data representation including a plurality of data records,
receive a plurality of transformation settings for the structured data representation,
generate and store a plurality of first expressions based on the structured data representation and the plurality of transformation settings, each of the plurality of first expressions mapping one of the plurality of data records to a visual structure,
generate and store a plurality of second expressions based on the structured data representation and the plurality of transformation settings, each of the plurality of second expressions transforming data included in one of the plurality of data records into a property of a visual structure,
generate and organize a plurality of visual structures based on the plurality of first expressions and the plurality of second expressions, the plurality of visual structures includes at least one shape and at least one connector,
generate and output the diagram for display through a user interface, the diagram including the plurality of visual structures,
receive a modification to the diagram through the user interface, wherein the modification is a modification to a shape of a visual structure of the plurality of visual structures, and
modify the structured data representation based on the modification, the plurality of first expressions, and the plurality of second expressions.

US Pat. No. 10,657,151

METHOD AND APPARATUS FOR COMMUNICATION BETWEEN BLOCKCHAIN NODES

Alibaba Group Holding Lim...

1. A method for communication between blockchain nodes, wherein blockchain nodes in a blockchain network comprise service nodes, and service nodes participating in a same service have a mapping relationship, wherein the method comprises:receiving, by a first blockchain node, a communication request sent by a second blockchain node, wherein the communication request comprises a certificate of the second blockchain node,
wherein the certificate of the second blockchain node comprises a plurality of identifiers, the plurality of identifiers comprising a node identifier of the second blockchain node, a network identifier, a previous node identifier, and either a service identifier or a group identifier;
obtaining the plurality of identifiers from the certificate of the second blockchain node;
determining, based on the plurality of identifiers, whether the second blockchain node has a mapping relationship with the first blockchain node; and
establishing a communication connection to the second blockchain node when the second blockchain node is determined to have a mapping relationship with the first blockchain node or
refusing to establish a communication connection to the second blockchain node when the second blockchain node is determined not to have a mapping relationship with the first blockchain node.

US Pat. No. 10,657,150

SECURE DELETION OPERATIONS IN A WIDE AREA NETWORK

INTERNATIONAL BUSINESS MA...

1. A method of performing a secure delete operation in a wide area network (WAN) including a cache site and a home site, the method comprising:during a disconnection event of the cache site and the home site, identifying and receiving a request to perform a secure deletion of a file at the cache site;
determining whether the file has a copy stored at the home site;
detecting a location of the copy at the home site prior to a disconnection event of the cache site from the home site;
in response to the secure deletion of the file not being complete during the disconnection event, indicating on a table a remote inode number assigned to the copy associated with the file at the home site, a name under which the copy is saved, and a list of data chunk tuples specifying selected data of the copy to undergo secure deletion;
securely deleting the file from the cache site during the disconnection event by performing defined write patterns for each block of the file; and
identifying the file for secure deletion by identifying the selected data in the file for secure deletion on the cache site; wherein:
the step of detecting the location includes detecting a location of the selected data in the file at the home site prior to the disconnection event.

US Pat. No. 10,657,149

INFORMATION-PROCESSING SYSTEM

Hakuhodo DY Holdings Inc....

1. An information-processing system comprising:a storage unit configured to store a first database and a second database; and
a combining unit configured to combine the first database and the second database stored in the storage unit; and
a generation unit configured to generate the first database,
the first database being a database including feature data of each virtual constituent to be generated, by the generation unit, by integrating feature data of a plurality of constituents identical or similar in feature by statistical processing based on feature data of each constituent of a first group,
the second database being a database including feature data of each virtual constituent generated by integrating feature data of a plurality of constituents identical or similar in feature by statistical processing based on feature data of each constituent of a second group,
each of the feature data of the first and second databases including reference data to be referred to upon the combining, the reference data representing a common type of feature between the first database and the second database,
the reference data being generated by the statistical processing,
the reference data indicating various types of statistics relating to features of a corresponding virtual constituent, the various types of statistics including at least two types of statistics selected from an average value, a median, a ratio, a maximum value, a minimum value, and a variance,
the combining unit combining the first database and the second database so as to combine the feature data identical or similar in feature represented by the reference data between the first database and the second database.

US Pat. No. 10,657,148

ACCESSING A LATEST VERSION OF DOCUMENTATION FOR AN IOT DEVICE

INTERNATIONAL BUSINESS MA...

1. A system, comprising:a processor programmed to initiate executable operations comprising:
identifying an IoT apparatus in use by a user and that is communicatively linked to a mobile device used by the user;
determining whether documentation for the IoT apparatus is located on the IoT apparatus or on the mobile device;
responsive to determining that the documentation for the IoT apparatus is located on the IoT apparatus or on the mobile device, determining whether the documentation for the IoT apparatus located on the IoT apparatus or on the mobile device is a latest version of the documentation;
responsive to determining that the documentation for the IoT apparatus located on the IoT apparatus or on the mobile device is not the latest version of the documentation, automatically accessing the latest version of the documentation from at least one resource external to the IoT apparatus and the mobile device; and
initiating presentation of at least a portion of the latest version of the documentation on a display.

US Pat. No. 10,657,147

SYSTEM AND METHODS FOR SEARCHING AND COMMUNICATION

LIVEPERSON, INC., New Yo...

1. A computer-implemented method, comprising:storing topic data and agent data in a database;
associating topic data with one or more agents, wherein agents are active or inactive, wherein agents are relevant or irrelevant to the topic data, and wherein agents are relevant when a topic included in one or more profiles of one or more relevant agents matches the topic data;
associating one or more interaction options with active relevant agents;
determining status data, wherein the status data is stored in the database, and wherein the status data corresponds to active relevant agents associated with one or more interaction options and the topic data;
receiving an agent search request, wherein the agent search request is automatically generated using published information, wherein the published information does not include a request for an agent, and wherein the agent search request includes the topic data and is used to determine active agents relevant to the topic data;
using the status data to determine whether any agents relevant to the topic data are active;
transmitting data associated with an interactive element, wherein the interactive element is associated with an active agent relevant to the topic data, wherein the interactive element is associated with the published information, wherein the interactive element is separate from the published information, and wherein the interactive element is displayed with the published information; and
receiving data corresponding to a selection of the interactive element associated with the published information, wherein the selected interactive element is associated with one or more agents based on the status data, wherein the selection of the interactive element facilitates an interaction option among two or more devices, and wherein at least one device is associated with the active agent relevant to the topic data.

US Pat. No. 10,657,146

TECHNIQUES FOR GENERATING STRUCTURED METRICS FROM INGESTED EVENTS

SPLUNK INC., San Francis...

1. A method, comprising:ingesting, by a data intake and query system, data including raw data obtained over a computer network from a plurality of remote computer systems;
generating, by the data intake and query system, a plurality of events, wherein each event includes a segment of the raw data and a respective timestamp;
indexing, by the data intake and query system, the plurality of events to produce a plurality of indexed events;
extracting, by the data intake and query system, a first field value from at least a first portion of the raw data of one of the plurality of indexed events, the first field value including a first numerical value indicative of a first measured characteristic of a computing device;
generating, by the data intake and query system, a first structured metric including the first numerical value and a first dimension associated with the first numerical value;
extracting, by the data intake and query system, a second field value from at least a second portion of the raw data of another of the plurality of indexed events, the second field value including a second numerical value indicative of a second measured characteristic of a computing device;
generating, by the data intake and query system, a second structured metric including the second numerical value and a second dimension associated with the second numerical value; and
indexing, by the data intake and query system, the first structured metric and the second structured metric.

US Pat. No. 10,657,145

CLUSTERING FACETS ON A TWO-DIMENSIONAL FACET CUBE FOR TEXT MINING

International Business Ma...

1. A computer-implemented method, comprising:text mining based on facets to analyze unstructured data in one or more documents by:
generating a two-dimensional facet cube that is a correlation matrix for one or more facets associated with a set of one or more of the documents;
grouping one or more of the facets in the correlation matrix into at least one cluster;
calculating a center for the cluster;
identifying facets that are located near the calculated center of the cluster as being representative of the cluster; and
iteratively calculating facet statistics and refining the set based on the facet statistics, in order to determine the facets associated with the documents in the set.

US Pat. No. 10,657,144

OPTIMIZING DIGITAL VIDEO DISTRIBUTION

Google LLC, Mountain Vie...

1. A system comprising:one or more processors; and
one or more memory devices including instructions that, when executed, cause the one or more processors to perform operations comprising:
identifying, for a given video, session start data specifying that the given video was a lead video that initiated video presentation to a user during multiple user sessions;
determining various presentation times of the given video over multiple user sessions in which the given video was the lead video;
determining an aggregate video presentation time attributable to the given video as a lead video based on a combination of the various presentation times of the given video for the multiple user sessions in which the given video was the lead video and a total presentation time of other videos during the multiple user sessions; and
generating a first presentation score for the given video based on the aggregate video presentation time attributable to the given video as the lead video and the aggregate video presentation times for other lead videos;
generating, for each of multiple other videos, a second presentation score based on an amount of presentation time of the video;
ranking the given video based on the first presentation score and the other videos based on the second presentation scores; and
updating a user interface to present a highest ranked portion of the ranked videos at a client device according to the ranking.

US Pat. No. 10,657,143

RECOMMENDING A DATA HANDLING METHOD FOR A PENDING DATA HANDLING PROCESS

Alibaba Group Holding Lim...

1. A computer-implemented method, comprising:identifying attribute information of a pending data handling process to be performed;
identifying, based on the attribute information, historical data handling processes for a same application scenario as the pending data handling process;
identifying a time that each identified historical data handling process is performed and methods used to perform the identified historical data handling processes;
determining a weighting coefficient for each identified historical data handling process, wherein the weighting coefficient is larger when the time of the identified historical data handling process is more recent;
calculating weighted identified historical data handling processes by applying the weight coefficient to each identified historical data handling process;
determining a recommended weight for each method used to perform the identified historical data handling processes by combining weighted identified historical data handling processes that use the same method; and
recommending a method that has the highest recommended weight to perform the pending data handling process.

US Pat. No. 10,657,142

COMPUTER INPUT CORRECTION USING SPACE AND TIME PROCESSES

SAP SE, Walldorf (DE)

1. A method comprising:monitoring, by a computing device, user input by a user using an application;
detecting, by the computing device, a first user input for a date in the application;
generating, by the computing device, a list of candidates for the first user input, the list of candidates listing the date in different formats that are possible based on the date;
using, by the computing device, a space function to retrieve context for the first user input, the context selected from user inputs that have been received within a threshold of the first user input;
using, by the computing device, a time function to retrieve a history of user selections, wherein the history of user selections selected a candidate from one or more prior lists of candidates that listed dates in a different format and were output to the user;
ranking, by the computing device, the list of candidates based on a ranking function that uses the context and the candidates selected in the history of user selections to rank the list of candidates; and
outputting, by the computing device, at least a portion of the ranked list of candidates on the application for a user selection by the user.

US Pat. No. 10,657,141

INTERACTIVE MESSAGING SYSTEM

DART Video Communications...

1. A system, comprising:a processor;
a memory comprising computer code that, when executed by the processor, causes the processor to:
receive a first short-message service (SMS) text message from an information requester, wherein the first SMS text message includes a phone number associated with the first SMS text message and a message body, and wherein the first SMS text message indicates a request for information regarding real estate;
based on the phone number associated with the first SMS text message, identify an information provider having a private user profile and private user data stored in a database;
retrieve from the database, using the private user profile, real estate-related information of interest to the information requester and determine, from the retrieved real estate-related information of interest to the information requester, at least one public information source;
extract, from the at least one public information source, at least some publicly-accessible information;
combine (i) one or more of video templates and components pre-stored in the database and (ii) at least some of the extracted publicly-available information so as to create a personalized video for the information requester;
create a publicly-accessible information link to display the personalized video;
combine the publicly-accessible link with a second SMS text message to be sent to the information requester in response to the first SMS text message; and
forward the second SMS text message for receipt by the information requester.

US Pat. No. 10,657,140

SOCIAL NETWORKING AUTOMATIC TRENDING INDICATING SYSTEM

International Business Ma...

1. A method comprising:receiving, by an automatic trending indicating system, a machine readable activity-stream data set that includes:
(i) a plurality of user-centric data items, including a first user-centric data item having a relevance strength exceeding a threshold, relating to a first user profile, wherein the first user profile includes a roles, responsibilities, and relevancy data set, and
(ii) a plurality of trend data sets respectively associated with the plurality of user-centric data items, with each trend data set, of the plurality of trend data sets, being indicative of trending information for a respectively associated activity-stream item; and
creating a machine executable display data set corresponding to a visual presentation displayable by a display device, with the visual presentation including:
(i) a visual indication of the activity-stream data set including the first user-centric data item, and
(ii) a visual indication of a trending information for each respectively corresponding user-centric data item of the activity-stream data set, wherein the visual indication is based on information in the roles, responsibilities, and relevancy data set;
wherein:
the relevance strength for the first user-centric data item is determined based on a user response to a relevancy strength related question posed by the automatic trending indicating system,
a user-centric data item is an activity-stream item that is of interest to a respective user, and
the activity-stream data set is aggregated into a single web page.

US Pat. No. 10,657,139

INFORMATION PROCESSING APPARATUS AND NON-TRANSITORY COMPUTER READABLE MEDIUM FOR DISTRIBUTED RESOURCE MANAGEMENT

FUJI XEROX CO., LTD., To...

1. An information processing apparatus comprising:a processor programmed to:
manage information of an object, of which at least one of a parent or a child is determined, by a first memory within the information processing apparatus;
manage information of an object, of which at least one of a parent or a child is determined, by a second memory that is located in another information processing apparatus and is accessible from a plurality of information processing apparatuses, the information managed by the first memory having at least a part in common with the information managed by the second memory;
receive a request which includes a designation of an authority object, which is an object associated with authority information, and is intended for a target object managed in the first memory or the second memory;
perform processing corresponding to the request on information of the target object based on a comparison result in authority between an owner object which is an object for which the authority information is authorized and an object which is a parent of the authority object;
in a case where the request corresponds to creation processing, update processing, or discarding processing of information of an object, without designating a location of the object, automatically choose the first memory to perform processing corresponding to the request on the information in the first memory; and
in a case where the request corresponds to processing for reflecting information, which is created, updated, or discarded, in the first memory into the second memory, perform the processing for reflecting on the information in the second memory.

US Pat. No. 10,657,138

MANAGING CONTINUOUS QUERIES IN THE PRESENCE OF SUBQUERIES

Oracle International Corp...

16. A computer-implemented method, comprising:identifying a continuous query that includes a continuous subquery;
processing the continuous subquery to obtain first results from a relation associated with a data stream;
storing only a subset of the first results from the continuous subquery in a dimension table when the subset of the first results is associated with a low probability of change;
issuing the continuous query based at least in part on the dimension table corresponding to the continuous subquery;
at least in response to receiving a runtime exception:
identifying that a change to the dimension table has occurred;
refreshing the dimension table by reprocessing the continuous subquery based at least in part on the runtime exception; and
reissuing the continuous query to obtain second results after the dimension table is refreshed;
implementing a pattern match query on the second results;
performing trend analysis on the pattern match query results;
providing, for display by a user interface, a mapping of the trend analysis to a visualization; and
providing an alert in the user interface based at least in part on a pattern identified from the trend analysis.

US Pat. No. 10,657,137

SYSTEMS AND METHODS FOR AGGREGATING, FILTERING, AND PRESENTING STREAMING DATA

JPMorgan Chase Bank, N.A....

1. A method for presenting streaming data, comprising:receiving, at web services layer for a server comprising at least one computer processor, a query from a client, wherein the query comprises a plurality of parameters, and wherein the web services layer further comprises:
a control plane service;
an entitlement service;
a monitoring service; and
a configuration management service;
a data caching layer for the server receiving streaming data from at least one predefined streaming data source via corresponding data loaders, wherein:
the control plane service is configured to provide instructions to the data loaders, wherein the instructions comprise one or more of create a new subscription and move a data source that has failed to stream data;
the configuration management service provides configuration data for the data loaders, wherein the configuration data comprises one or more of information regarding a data source to connect to and how to connect to that specified data source;
the monitoring service monitoring the status of the at least one predefined streaming data source and re-routing the client query if the data source becomes unavailable; and
the entitlement service verifying that client is allowed to access the streaming data corresponding to the query;
the data caching layer conflating the streaming data for each of the plurality of parameters;
the data caching layer aggregating the conflated data;
the data caching layer generating a snapshot of the conflated data by simultaneously running the query against the conflated data; and
outputting the snapshot to the client.

US Pat. No. 10,657,136

SEARCHING DATA ON A SYNCHRONIZATION DATA STREAM

International Business Ma...

1. A method for performing a search on data records from synchronization data streams, the method comprising:defining one or more search granularity classes based on one or more received search requests, wherein a search granularity size indicates a number of data records to be received for the defined search granularity class to perform a search based on the one or more received search requests, and wherein at least one search granularity class is managed by a hash-code map;
initializing, by a managed file transfer system, one or more synchronization data streams based on a weight matrix, wherein the weight matrix is based on a number of data records in the one or more synchronization data streams associated with one or more search granularity classes, wherein two or more of the synchronization data streams are identified by the hash code map and are processed by the search engine concurrently;
in response to the one or more defined search granularity classes containing a plurality of data records that satisfy the indicated granularity size, executing a search of the plurality of data records, wherein the search engine manages the one or more received search requests by generating one or more sub-sets for at least one of the defined search granularity classes; and
in response to the one or more defined search granularity classes containing a plurality of data records that do not satisfy the indicated granularity size:
indexing one or more additional data records in real-time within the received synchronization data stream based on the one or more defined search granularity classes;
assigning, based on the indexing, a search granularity pending status to the defined search granularity class;
continuing to process, based on the indexing, the identified search granularity until determining that the identified search granularity class is of a search granularity integrity status, or that the received search request is ready to be performed; and
executing a search of the plurality of data records based on the determining.

US Pat. No. 10,657,135

SMART TUPLE RESOURCE ESTIMATION

International Business Ma...

1. A method for processing a stream of tuples, the method comprising:receiving, by a stream application, a stream of tuples to be processed by a plurality of processing elements operating on one or more compute nodes, each processing element having one or more stream operators;
assigning, by the stream application, one or more processing cycles to a plurality of segments of software code embedded in a tuple of the stream of tuples, the segments of software code embedded in the tuple configured to update the logic of the plurality of processing elements of the stream application, wherein the processing cycles embedded in the tuple change the logic of the stream application by bypassing one or more processing elements and/or stream operators; and
executing, by the software-embedded tuple and on one or more tuples of the stream tuples not updated by one or the one or more stream operators, the following operations:
retrieving, by the software-embedded tuple, one or more compute node metrics that describe one or more resources of a first compute node;
obtaining, by the software-embedded tuple, tuple information of one or more tuples of the stream of tuples to be processed by a first stream operator, the first stream operator operating on the one or more resources;
determining, by the software-embedded tuple and based on the obtained tuple information and based on the compute node metrics, a prospective resource disparity related to the first stream operator; and
transmitting, by the software-embedded tuple to the stream application and based on the determined prospective resource disparity, a resource request related to the one or more resources.

US Pat. No. 10,657,134

SELECTING QUERIES FOR EXECUTION ON A STREAM OF REAL-TIME DATA

Ab Initio Technology LLC,...

1. A computer-implemented method for executing a dataflow graph that represents a query on data items in a stream of near real-time data to provide, as the dataflow graph is being executed, intermediate results for the query, the method including:receiving a stream of near real-time data having data items located in different places in the stream;
between a first time and a second time, intermittently executing the dataflow graph that represents the query multiple times, with the dataflow graph being executed by one or more computer systems in near real-time with respect to receipt of the stream of near real-time data and being executed upon the stream of near real-time data for two or more of the data items, with the dataflow graph including computer code to implement the query, and with the dataflow graph receiving as input query specifications for the query;
generating, during execution of the dataflow graph, one or more query results that satisfy the query;
generating intermediate results from the one or more query results, as the dataflow graph intermittently executes between the first time and the second time, by aggregating the one or more query results with one or more prior query results of one or more prior executions of the dataflow graph on the stream of near real-time data for the two or more of the data items that previously appeared in the stream of near real-time data; and
transmitting to one or more client devices the intermediate results during intermittent execution of the dataflow graph, prior to completion of execution of the dataflow graph.

US Pat. No. 10,657,133

INDEXING DYNAMIC HIERARCHICAL DATA

SAP SE, Walldorf (DE)

1. A computing system comprising:a first memory storing processor-executable program code;
a second memory storing data of a hierarchy, where each node of the hierarchy is represented by a row in a table, and the table includes columns, wherein for each row of the table: (1) a level column includes the level of its respective node, (2) a lower bound column includes a pointer to a lower bound entry for its respective node in an order index structure associated with the hierarchy, and (3) an upper bound column includes a pointer to an upper bound entry for its respective node in the order index structure associated with the hierarchy, wherein the lower bound entry and the upper bound entry correspond to an entry in the ordered data structure that maintains the relative order of the entry; and
a processor to execute the processor-executable program code in order to cause the computing system to:
receive a pointer l, wherein the pointer is a back-link from a table row to an order index structure entry; and
determine an entry e of the order index structure to which the received pointer l points.

US Pat. No. 10,657,132

SYSTEMS AND METHODS FOR FORECASTING RECORD OBJECT COMPLETIONS

People.ai, Inc., San Fra...

1. A method comprising:accessing, by one or more processors, for a first record object of a system of record of a data source provider, data of a plurality of electronic activities transmitted or received via electronic accounts and associated with the first record object, each electronic activity of the plurality of electronic activities identifying one or more participants associated with the first record object, the first record object including a first object field-value pair identifying a stage of a process corresponding to the first record object;
parsing, by the one or more processors, the data of each electronic activity of the plurality of electronic activities associated with the first record object;
determining, by the one or more processors, for a first participant of the one or more participants, a role of the first participant, the role of the first participant determined based on one or more of a seniority of the first participant, a department of the first participant or a second object field-value pair of the first record object identifying an identifier of the first participant as a value of a field of the first record object, the field identifying the role of the first participant;
determining, by the one or more processors, for the first record object, a likelihood that the process of the first record object will be completed within a predetermined time period based on the first object field-value pair identifying the stage of the process corresponding to the first record object, the role of the first participant and the data of each electronic activity of the plurality of electronic activities; and
storing, by the one or more processors, in one or more data structures, an association between the first record object and the likelihood that the process of the first record object will be completed within the predetermined time period.

US Pat. No. 10,657,131

SYSTEMS AND METHODS FOR MANAGING THE USE OF ELECTRONIC ACTIVITIES BASED ON GEOGRAPHIC LOCATION AND COMMUNICATION HISTORY POLICIES

People.ai, Inc., San Fra...

1. A method, comprising:accessing, by one or more processors, data of a plurality of emails transmitted or received via electronic accounts associated with a plurality of data source providers, the one or more processors maintaining a plurality of user profiles and configured to update the plurality of user profiles using the plurality of emails;
identifying, by the one or more processors, from data included in a first email of the plurality of emails, a first user profile with which to associate the first email;
determining, by the one or more processors, from at least one data structure maintaining an association between a first subset of the plurality of emails and the first user profile, a first number of emails transmitted by at least one first electronic account of the first user profile to at least one second electronic account of a second user profile;
restricting, by the one or more processors, storing the data of the first email in one or more data structures responsive to determining that the first number of emails fails to satisfy a threshold;
identifying, by the one or more processors, a second email associated with the first user profile, the second email transmitted by the at least one first electronic account of the first user profile to the at least one second electronic account of the second user profile;
updating, by the one or more processors, a count of emails transmitted by the at least one first electronic account of the first user profile to the at least one second electronic account of the second user profile from the first number of emails to a second number of emails transmitted by the at least one first electronic account of the first user profile to the at least one second electronic account of the second user profile; and
storing, by the one or more processors, data of the second email in the one or more data structures responsive to determining that the count of emails satisfies the threshold.

US Pat. No. 10,657,130

SYSTEMS AND METHODS FOR GENERATING A PERFORMANCE PROFILE OF A NODE PROFILE INCLUDING FIELD-VALUE PAIRS USING ELECTRONIC ACTIVITIES

People.ai, Inc., San Fra...

1. A method comprising:accessing, by one or more processors, data of a plurality of first electronic activities linked to a first node profile maintained by the one or more processors and having an associated timestamp within a time period;
for each first electronic activity of the plurality of first electronic activities:
determining, by the one or more processors, a type of the first electronic activity;
selecting, by the one or more processors, a feature extraction policy to generate a first feature array for the first electronic activity based on the type of the first electronic activity;
parsing, by the one or more processors, the data of the first electronic activity;
generating, by the one or more processors, using a language complexity determination engine, a language complexity score indicating a level of language complexity of the first electronic activity;
determining, by the one or more processors, a character count or a word count of the first electronic activity;
determining, by the one or more processors, an estimated amount of time to generate the first electronic activity using the language complexity score and the character count or the word count; and
generating, by the one or more processors, the first feature array for the first electronic activity based on the type of the first electronic activity and the estimated amount of time to generate the first electronic activity;
generating, by the one or more processors, a first performance profile of the first node profile for the time period by providing the generated first feature array for each first electronic activity to one or more models trained using second feature arrays corresponding to second electronic activities of second node profiles, each second node profile assigned a respective second performance profile; and
storing, by the one or more processors, an association between the first node profile and the first performance profile.

US Pat. No. 10,657,129

SYSTEMS AND METHODS FOR MATCHING ELECTRONIC ACTIVITIES TO RECORD OBJECTS OF SYSTEMS OF RECORD WITH NODE PROFILES

People.ai, Inc., San Fra...

1. A method comprising:maintaining, by one or more processors, a plurality of node profiles corresponding to a plurality of unique entities, each node profile including a plurality of fields, each field of the plurality of fields including one or more node field values;
accessing, by the one or more processors, a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers, the one or more processors configured to update the plurality of node profiles using the plurality of electronic activities;
maintaining, by the one or more processors, a plurality of record objects of one or more systems of record, each record object of the plurality of record objects comprising one or more object fields having one or more object field values;
extracting, by the one or more processors, data included in an electronic activity of the plurality of electronic activities;
matching, by the one or more processors, the electronic activity to at least one node profile of the plurality of node profiles based on determining that the extracted data of the electronic activity and the one or more values of the fields of the at least one node profile satisfy a node profile matching policy;
matching, by the one or more processors, the electronic activity to at least one record object of the plurality of record objects based on the extracted data of the electronic activity and object values of the at least one record object by:
identifying, by the one or more processors, responsive to applying at least one matching policy of a plurality of matching policies for identifying record objects based on one or more recipients of the electronic activity and a sender of the electronic activity, a set of record objects with which to match the electronic activity, each record object of the set identified based on the one or more recipients or the sender of the electronic activity; and
selecting by the one or more processors, the at least one record object included in the set of record objects; and
storing, by the one or more processors, in a data structure, an association between the electronic activity and the at least one record object.

US Pat. No. 10,657,128

TRANSPARENT ANALYTICAL QUERY ACCELERATOR OVER ENCRYPTED DATA

INTERNATIONAL BUSINESS MA...

1. A method for processing queries in a database system having a first database engine and a second database engine, the method comprising:storing a first instance of a first table in the first database engine in plaintext;
encrypting at least one predefined column of the first table, resulting in a second instance of the first table containing at least part of the data of the first table in encrypted format;
storing the second instance of the first table in the second database engine;
maintaining encryption information about encryption methods and encryption keys used for the encryption in the database system;
receiving a query against the first table;
determining whether to execute the query in the first database engine on the first table or the second database engine on the second instance of the first table, the determination involving a comparison of the query with the encryption information of the second instance of the first table, the determining resulting in a decision; and
in case of the decision to execute the query in the second database engine, rewriting the query against the second instance of the first table by using at least the encryption information.

US Pat. No. 10,657,127

DISTRIBUTED JOINS IN A DISTRIBUTED DATABASE SYSTEM

SAP SE, Walldorf (DE)

1. A distributed database system, comprising:a first host and a second host configured to store data;
a first query processing engine comprising a master node and an executor node deployed at the first host; and
a second query processing engine including a first instance of the second query processing engine deployed at the first host and a second instance of the second query processing engine deployed at the second host; and
wherein the master node of the first query processing engine is implemented on one or more programmable processors and configured to perform operations comprising:
offloading, to the second query processing engine, a creation of a first table and a second table such that the first table and the second table are partitioned by the second query processing engine, the second query processing engine preserving a locality of data from the first table and the second table by at least partitioning the first table and the second table such that a first data from the first table corresponding to a second data from the second table are loaded onto the first instance of the second query processing engine at the first host;
generating an execution plan for a query on data stored at the first host, the execution plan including a distributed join operation that combines data from the first table and the second table;
determining to push down, to the first instance of the second query processing engine at the first host, the distributed join operation; and
dispatching the distributed join operation to the first instance of the second query processing engine by at least sending, to the executor node at the first host, at least a portion of the execution plan including the distributed join operation that is to be pushed down to the first instance of the second query processing engine, the first instance of the second query processing engine performing the distributed join operation without shuffling data between the first instance of the second query processing engine at the first host and the second instance of the second query processing engine at the second host.

US Pat. No. 10,657,126

META-JOIN AND META-GROUP-BY INDEXES FOR BIG DATA

Cadreon LLC, San Francis...

1. A computerized system configured for generating a plurality of data fields representing a meta-group-by index for storage on a non-transitory computer-readable medium comprising:a memory for storing datasets;
a computer-executable processor, accessible to the memory, configured for executing computer-executable instructions for:
receiving database query instructions based on a group-by operation for grouping data in at least two datasets;
identifying a grouping condition in the group-by operation in the received database query instructions for grouping data values in the at least two datasets;
instead of executing the grouping condition on the at least two datasets in the memory, creating a meta-group-by index in response to the identified grouping condition, said creating the meta-group-by index comprising:
identifying a joining operation instruction for the at least two datasets;
filtering record values in a first dataset of the at least two datasets identified by parameters in the joining operation instruction;
constructing a first column values bitmap index storing index identifiers corresponding to the filtered record values in the first dataset of the at least two datasets identified by the identified parameters;
constructing a second column values bitmap index storing index identifiers corresponding to the filtered record values in a second dataset of the at least two datasets identified by the identified parameters;
storing a key-value pair of record positions of each of the record values in the first dataset and the second dataset that have a valid join condition match,
wherein the meta-group-by index is configured to be segmented by a partition key,
wherein the partition key is configurable; and
executing, by the computer-executable processor, the grouping condition on the created meta-group-by index.

US Pat. No. 10,657,125

METHODS AND SYSTEM FOR PROVIDING REAL-TIME BUSINESS INTELLIGENCE USING NATURAL LANGUAGE QUERIES

Progress Software Corpora...

1. A system, comprising:a processor; and
a memory operatively coupled to the processor, the memory storing instructions executable by the processor to:
extract a plurality of key words from a natural-language-based question, the plurality of key words including a first key word;
generate a data dependency graph based on, and including, relationships between the plurality of key words and a plurality of data field names in a plurality of data sources, wherein the data dependency graph maps the first key word in the natural-language-based question to a first data field name and a second data field name in the plurality of data sources;
generate a language dependency graph based on, and including, relationships between the plurality of key words of the natural-language-based question-using sentence structure rules;
generate an inter-dependency graph from the language dependency graph and the data dependency graph by:
merging the language dependency graph and the data dependency graph;
determining that a mapping between the first key word in the natural-language-based question and the first data field name in the plurality of data sources does not satisfy a cross-functional dependency between the language dependency graph and the data dependency graph; and
eliminating the mapping between the first key word in the natural-language-based question and the first data field name in the plurality of data sources from the inter-dependency graph; and
translate the natural-language-based question into a formatted query string based on the inter-dependency graph.

US Pat. No. 10,657,124

AUTOMATIC GENERATION OF STRUCTURED QUERIES FROM NATURAL LANGUAGE INPUT

SAP SE, Walldorf (DE)

1. A computer-implemented method performed by at least one processor, the method comprising:receiving an input identifying an unstructured query corresponding to a particular application associated with a rules framework, the rules framework associated with a pre-defined query structure format, wherein the rules framework is associated with a plurality of different applications;
analyzing the received input based on a first set of design time artifacts that are uniquely associated with the particular application and a second set of design time artifacts associated with the rules framework, the second set of design time artifacts generically associated with the rules framework, wherein the second set of design time artifacts are applied commonly to each of the plurality of different applications;
generating a structured expression for the particular application in the pre-defined query structure format of the rules framework based on a combination of the first and second sets of design time artifacts;
presenting, at a user interface, a request for validation of the generated structured expression, wherein the request includes the generated structured expression and a request for validation that the generated structured expression matches an intent of the unstructured query included in the received input; and
in response to receiving an indication of validation via the user interface, submitting the validated structured expression to a query generator for processing to obtain output comprising a structured query language (SQL) query generated for execution against a data set associated with the particular application.

US Pat. No. 10,657,123

METHOD AND SYSTEM FOR REDUCING TIME-OUT INCIDENCE BY SCOPING DATE TIME STAMP VALUE RANGES OF SUCCEEDING RECORD UPDATE REQUESTS IN VIEW OF PREVIOUS RESPONSES

SESAME SOFTWARE, Santa C...

1. In an electronics communications network (“the network”) comprising an application server and a source server, a computer-implemented method comprising:a. establishing a database management software (“DBMS”) at the application server (“target server”), the DBMS comprising a target database of the target server , the target database storing information received from the source server;
b. the target server sending a first update query to the source server, wherein the first update query requests updates of one or more records of an identifiable database accessible to the source server, and the first update query specifies a query limitation to all records of the identifiable database having a most recent value of an update date time stamp found from a first query start date time stamp and up to a first query stop date time stamp, wherein the first query start date time stamp and the first query stop date time stamp are displaced by a first query time interval;
c. the source server receiving the first update query via the network;
d. deriving a count of record updates received by the target server in response to the first update query;
e. deriving a date time interval value in view of the derived count of records and a pre-established preferred record count value; and
f. applying the date time interval value to establish a date time stamp variance limitation of a second update query, wherein a second query start date time stamp and a second query stop date time stamp are displaced by the date time interval value.

US Pat. No. 10,657,122

OPTIMIZING STANDBY DATABASE MEMORY FOR POST FAILOVER OPERATION

International Business Ma...

1. A method for optimizing a standby database memory for post failover operation, the method comprising:applying, by one or more computer processors, a set of benefit-to-cost metrics to a standby database system to define an upper bound memory allocation of the standby database system to function in an event of a failover from a primary database system;
determining, by one or more computer processors, a scaling factor, wherein the scaling factor is determined using one or more of the following: a number of memory consumers on the standby database system, a total amount of memory on the standby database system, and a user input which specifies an amount of time allowed for the standby database system to ramp up, from a memory utilization perspective, during failover of the primary database system; and
responsive to receiving an indication of a failover of the primary database system to the standby database system, monitoring, by one or more computer processors, a ramp up of the standby database system, wherein the ramp up of the standby database system uses the set of benefit-to-cost metrics and the determined scaling factor.

US Pat. No. 10,657,121

INFORMATION PROCESSING DEVICE, DATA PROCESSING METHOD, AND RECORDING MEDIUM

NEC CORPORATION, Minato-...

1. An information processing device comprising:a memory storing instructions; and
one or more processors configured to execute the instructions to:
execute predetermined processing that includes reading of data for each of a plurality of keys stored in a distributed storage system including a plurality of data store nodes;
determine, after executing the predetermined processing for each of the plurality of keys, presence or absence of a possibility that inconsistency between the data store nodes occurred on data for any key among the plurality of keys stored in the distributed storage system at a time of execution of the predetermined processing, based on a representative value of the data for all of the plurality of keys; and
when it is determined that there is a possibility that the inconsistency occurred, identify all of the keys among the plurality of keys having a possibility that the inconsistency occurred, re-execute the predetermined processing for all of the keys identified at a time point when resolution of the inconsistency for all of the keys identified is verified.

US Pat. No. 10,657,120

CROSS-PLATFORM DIGITAL DATA MOVEMENT CONTROL UTILITY AND METHOD OF USE THEREOF

Bank of America Corporati...

1. A system, comprising:an interface and one or more processors, the interface configured to:
receive, from an upstream progression point configured to receive, process, and transmit data, a dataset comprising a plurality of variable length input records, each input record comprising a plurality of fields;
for each input record, the one or more processors configured to:
compare the input record to a plurality of predetermined record types to determine whether the input record matches one or more of the predetermined record types;
upon a determination that the input record matches one or more of the predetermined record types, determine one or more rules applicable to the input record, the one or more rules determined based on the predetermined record types that match the input record; and
determine whether the input record comprises a data quality error by applying the one or more rules applicable to the input record, wherein the one or more rules determine whether the input record comprises the data quality error based on one or both of a structure of one or more of the fields of the input record and a value of one or more of the fields of the input record; and
the one or more processors further configured to:
determine a data quality of the dataset associated with whether the input records comprise greater than a threshold number of data quality errors, the data quality determined based at least in part on the result of determining, for each input record, whether the input record comprises the data quality error;
determine that the data quality of the received dataset is below a predetermined data quality;
in response to determining that the data quality is below the predetermined data quality, communicate, to a data hub, the determined data quality and a return code indicating that the data quality is below the predetermined data quality;
following communicating the data quality and the return code to the data hub, receive, from the data hub, a request to reprocess the dataset before the dataset is provided to a downstream progression point, the request based on a comparison of the communicated data quality and a data quality determined at the upstream progression point;
determine a file size associate with the received dataset;
determine, based on the determined file size, an updated rule indicating that a subsequently received dataset should have a larger file size than the determined file size; and
store the updated rule.

US Pat. No. 10,657,119

FLEET NODE MANAGEMENT SYSTEM

Amazon Technologies, Inc....

1. A method, comprising:performing, by a fleet node implemented by one or more computing devices and configured to perform one or more functions and store a local version of metadata that is used to perform the one or more functions:
requesting, within a gossip group time threshold, metadata version information from a quantity of multiple fleet nodes of a plurality of fleet nodes, wherein the quantity is at least equal to a gossip group size threshold;
in response to receiving a metadata version response from at least one of the multiple fleet nodes within the gossip group time threshold, determining whether the local version is stale based at least in part on whether the metadata version response indicates a version of the metadata that is more recent than the local version by at least a staleness threshold;
determining whether the local version is indeterminate based at least in part on whether at least the gossip group size threshold of metadata version responses were received from the multiple fleet nodes within the gossip group time threshold; and
halting the fleet node from further performance of the one or more functions if the local version is stale, indeterminate, or both; or
continuing further performance of the one or more functions by the fleet node if the local version is not stale and is not indeterminate.

US Pat. No. 10,657,118

UPDATE BASIS FOR UPDATING DIGITAL CONTENT IN A DIGITAL MEDIUM ENVIRONMENT

Adobe Inc., San Jose, CA...

1. In a digital medium environment to reduce a perceived staleness of digital content components included in digital content, a method implemented by at least one computing device associated with a service, the method comprising:receiving, by the at least one computing device, data corresponding to a component request for digital content components, the data describing a timing basis at which the service updates the digital content by providing the digital content components and the data further describing at least one attribute of the digital content components, the timing basis being consumption based such that the digital content components are provided as updates based on component exposure to users;
identifying, by the at least one computing device, a first digital content component from a digital content repository based on the at least one attribute;
providing, by the at least one computing device, the first digital content component as an update to the digital content according to the timing basis;
identifying, by the at least one computing device, a second digital content component from the digital content repository based on the at least one attribute; and
providing, by the at least one computing device, the second digital content component as an additional update to the digital content according to the timing basis to replace the first digital content component, the second digital content component provided as the additional update responsive to the first digital content component having been exposed at least once to a user associated with a request for the digital content.

US Pat. No. 10,657,117

CRITICAL SITUATION CONTRIBUTION AND EFFECTIVENESS TRACKER

International Business Ma...

1. A method for dynamically ranking subject matter experts (SMEs), the method comprising:identifying, by one or more processors, a plurality of SMEs to work within a collaboration channel based on SME information stored in a SME database, wherein the collaboration channel is associated with an initial problem statement of a critical situation that includes an information technology (IT) component;
monitoring, by the one or more processors, activity of the plurality of SMEs within the collaboration channel, wherein the information includes: a number of suggestions the plurality of SMEs make, a number of the suggestions that turn into actions, feedback from a critical situation lead who oversees the collaboration channel, and speed the plurality of SMEs resolve the critical situation;
receiving, by the one or more processors, information from the monitored activity;
analyzing, by the one or more processors, the information from the monitored activity, wherein the analyzing includes calculating a weighted effectiveness score of each of the plurality of SMEs on the critical situation, based on the plurality of SMEs respective: number of suggestions made, number of suggestions that turned into actions, positive feedback received, and speed of resolving the critical situation; and
updating, by the one or more processors, the SME information stored in the SME database with the analyzed information.

US Pat. No. 10,657,116

CREATE TABLE FOR EXCHANGE

ORACLE INTERNATIONAL CORP...

1. A computer-implemented method comprising:receiving a DDL statement referring to a first database table and specifying to create a table for an exchange with at least a portion of the first database table;
in response to receiving said DDL statement, creating a second database table having one or more physical properties of said first database table;
wherein said one or more physical properties define data organization within data blocks storing said first database table on persistent storage;
wherein said one or more physical properties include at least one of the following particular physical properties:
a physical column order between columns of said first database table within said data blocks of said first database table, and
a position within said data blocks for a column truncated from said first database table.

US Pat. No. 10,657,115

METHODS AND APPARATUSES FOR IMPROVED DATA MODELING USING A RELATIONAL DATABASE MANAGEMENT SYSTEM

MCKESSON CORPORATION, Sa...

1. A method for improved data modeling in a relational database management system, the method comprising:ingesting, by data ingestion circuitry, one or more records from a plurality of data sources into one or more stage tables in a persistent staging layer, wherein each of the one or more stage tables corresponds to one of the plurality of data sources;
generating, by data modeling circuitry, a data alignment table independently from the ingestion of the one or more records into the persistent staging layer, wherein the data alignment table, comprises, for each distinct record of the one or more records, at least one unique data field; and
generating, by the data modeling circuitry and using the one or more stage tables and the data alignment table, a key mapping table identifying correspondences between data fields in the one or more stage tables for each distinct record of the one or more records and the at least one unique data field for each record of the one or more records in the data alignment table.

US Pat. No. 10,657,114

RESERVING KEY SPECIFICATIONS

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:identifying an import configuration section of a file, the import configuration identifying a database table;
reserving key specifications of the database table based on the import configuration;
identifying a first and a second Boolean flag parameter from the import configuration associated with the database table;
determining that i) a value of the first Boolean flag indicates importing of entries from the file into the database table is allowed, and that ii) a value of the second Boolean flag indicates removal of entries of the database table is allowed; and
in response to determining that i) the value of the first Boolean flag indicates importing of entries from the file into the database table is allowed, and that ii) the value of the second Boolean flag indicates removal of entries of the database table is allowed:
i) removing entries from the database table corresponding to the key specifications, and
ii) importing entries from the file into the database table corresponding to the key specifications.

US Pat. No. 10,657,113

LOOSE COUPLING OF METADATA AND ACTUAL DATA

BAKER HUGHES, A GE COMPAN...

1. A non-transitory computer-readable storage medium storing instructions which, when processed by a processor, cause the processor to implement a method of storing a data object, the method comprising:storing as metadata a globally unique object identifier that identifies the data object, and a version table having a relation to the globally unique object identifier, the data object representing a data set, the version table including a version identifier, the version identifier being a globally unique identifier that is used to set each version of an object apart;
storing the data set in a content table associated with the data object, the content table having a child relation to the version table, the data set configured to be transmitted from the content table to a node in a distributed network independent from the metadata, the content table including a globally unique content identifier that identifies the data set; and
transmitting, between the node and at least one additional node in the distributed network, the metadata independent of the data object while maintaining a relation to the data set to enable tracking movement and change of the data object to maximize storage efficient and network transfer, wherein the metadata is rationally coupled to the data object,
wherein the metadata is organized according to an extensible entity-attribute-value (“EAV”) model, the entity of the extensible EAV model being represented by a descriptor table storing the globally unique object identifier that identifies the data object and a type identifier, the attribute of the EAV model being represented by a property table storing the type identifier and a property identifier, and the value of the EAV model being represented by a value table being separate from and in a child relation to the property table and being separate from and in a child relation to the version table, the value table storing the globally unique object identifier, the property identifier, and a value.

US Pat. No. 10,657,112

EXTERNAL SYSTEM INTEGRATION INTO AUTOMATED ATTRIBUTE DISCOVERY

BDNA Corporation, Itasca...

1. A method for transforming attribute data models, the method comprising:evaluating a data model of a target system to identify attribute data unique to an asset in the target system;
evaluating a data model of a source system to identify an asset in the source system that corresponds to the asset in the target system, wherein the identified asset in the source system is associated with attribute data;
identifying differences between data format, units, and semantics of the attribute data in the source system versus data format, units, and semantics of the attribute data in the target system;
generating one or more query language report programs that are executable to extract the attribute data specific to the asset from the source system;
generating one or more transformation rules that transform the data format, units, and semantics of the attribute data in the source system to the data format, units, and semantics of the target system;
generating an export adapter program executable to:
invoke an application programmatic interface (API) of the target system, and
use the API to load the attribute data from the source system into the target system;
transforming the attribute data extracted from the source system into a format of the target system,
storing the transformed attribute data in an entity-relationship (ER) model store via execution of the one or more transformation rules; and
storing the transformed attribute data stored in the ER model in the target system via execution of the export adapter program.

US Pat. No. 10,657,111

COMPUTER-IMPLEMENTED METHOD FOR STORING UNLIMITED AMOUNT OF DATA AS A MIND MAP IN RELATIONAL DATABASE SYSTEMS

1. A computer implemented method for adding a new object to a database system, comprising:(a) providing a database comprising:
a first data structure, stored in a memory, comprising a definition of data sets in the database, wherein an entry of the first data structure comprises a unique data set identifier and a set name;
a second data structure, stored in the memory, comprising definitions of properties of objects in the database, wherein an entry of the second data structure comprises a unique identifier of the property and a data set identifier, from the first data structure, the property is assigned to;
a third data structure, stored in the memory, comprising definitions of objects of the data sets in the database, wherein an entry of the third data structure comprises a unique object identifier and a data set identifier, from the first data structure, the object is assigned to;
a fourth data structure, stored in the memory, comprising definitions of object values of the data sets in the database, wherein an entry of the fourth data structure comprises an object identifier, from the third data structure, an identifier of a property of the data set, from the second data structure, the object value is assigned to, and the object value;
a fifth data structure, stored in the memory, comprising definitions of relations of data sets in the database, wherein an entry of the fifth data structure comprises a unique identifier of the relation and a name of the relation; and
a sixth data structure, stored in the memory, comprising definitions of objects relations between the objects in the database, wherein an entry of the sixth data structure comprises an identifier of a relation, from the fifth data structure, and two object identifiers from the third data structure;
(b) creating a new entry in the third data structure associated with the new object, wherein the new entry comprises a unique object identifier for the new object and a data set identifier, from the first data structure, the new object is assigned to;
(c) for each object property of a given set defined in the second data structure, creating an object value entry in the fourth data structure, wherein the object value entry comprises a unique object identifier for the new object; and
(d) creating relations of the new object with existing objects in the sixth data structure.

US Pat. No. 10,657,110

SYSTEMS AND METHODS FOR DISAGGREGATING APPLIANCE LOADS

Bidgely Inc., Mountain V...

1. A method for performing energy disaggregation from home energy consumption data of plurality of appliances installed in a home, the home energy consumption data comprising partially disaggregated and non-disaggregated energy consumption data from a previously applied predefined energy disaggregation model, the method comprising the steps of:receiving the partially disaggregated and non-disaggregated energy consumption data;
receiving localized energy consumption data of a region where the home is located through the energy disaggregation device;
receiving one or more parameters corresponding to plurality of the appliances installed in the home through an energy disaggregation device, wherein the one or more parameters are associated with the home;
adjusting the predefined energy disaggregation model based on the one or more parameters; and
applying the adjusted predefined energy disaggregation model to the remaining non-disaggregated energy consumption data to perform disaggregation of the home energy consumption data into a plurality of appliance categories.

US Pat. No. 10,657,109

METHOD AND SYSTEM FOR SHAREPOINT BACKUP FOR DISASTER RESTORE

EMC IP HOLDING COMPANY LL...

1. A method for backing up and restoring a web applications platform comprising:backing up, via a database volume shadow-copy service (VSS) writer, web applications platform databases to a backup system, wherein the database VSS writer enables access to the web applications platform databases, and wherein the web applications platform is a SharePoint server in a farm configuration;
backing up via a search VSS writer a search index of the web applications platform, wherein the search index of the web applications platform includes search index information for associating the web applications platform with the web applications platform databases;
in response to querying an application programming interface (API) to determine internet information services (IIS) virtual directories associated with the web applications platform, receiving the IIS virtual directories associated with the web applications platform, wherein the API provides access to the web applications platform;
in response to receiving the IIS virtual directories associated with the web applications platform, backing up via an IIS virtual directory writer the IIS virtual directories associated with the web applications platform to the backup system;
backing up IIS configuration data, IIS metabase data and registry data for the web applications platform to the backup system;
restoring the IIS virtual directories of the SharePoint server from the backup system;
restoring the IIS configuration data, the IIS metabase data, and the registry data from the backup system;
subsequent to restoration of the IIS configuration data, the IIS metabase data, and the registry data, restoring the web applications databases to a structured query language (SQL) server from the backup system; and
restoring the web applications search index from the backup system, wherein the restoration of a combination of the IIS virtual directories, the IIS configuration data, the IIS metabase data, the registry data, the web applications databases, and the web applications search index restores the SharePoint server in the farm configuration to a fully operational state.

US Pat. No. 10,657,108

PARALLEL I/O READ PROCESSING FOR USE IN CLUSTERED FILE SYSTEMS HAVING CACHE STORAGE

International Business Ma...

1. A computer program product, comprising a computer readable storage medium having program code embodied therewith, the embodied program code executable by a processor to cause the processor to:determine, by the processor, a home node that corresponds to gateway (GW) nodes in a clustered file system, each GW node being eligible to process one or more read tasks;
determine, by the processor, a peer GW eligibility value for more than one of the GW nodes in the clustered file system eligible to process the one or more read tasks;
determine, by the processor, a single GW node from amongst the GW nodes having a highest peer GW eligibility value for each home node;
assign and define, by the processor, a size for one or more read task items for the GW nodes having the highest peer GW eligibility value for multiple home nodes based on a current dynamic profile of the GW nodes;
distribute, by the processor, workload to the GW nodes according to the size for each of the one or more read task items assigned to the GW nodes;
receive, by the processor, a remote block read request for an uncached file from an application node;
determine, by the processor, whether the remote block read request is sent in response to a foreground read request or initiation of a manual file prefetch;
determine, by the processor, whether a size of the requested file exceeds a parallel read threshold in response to a determination that the remote block read request is sent in response to the manual file prefetch and invoke a parallel input/output (I/O) code path with handling of sparse blocks and small read scenarios in response to a determination that the size of the requested file exceeds the parallel read threshold; and
determine, by the processor, whether at least two blocks of the requested file have been cached in response to a determination that the remote block read request is sent in response to the foreground read request and invoke the parallel I/O code path with handling of sparse blocks and small read scenarios in response to a determination that at least two blocks of the requested file have been cached and a percentage of cached blocks of the requested file versus all blocks of the requested file exceeds a predetermined prefetch threshold.

US Pat. No. 10,657,107

MANY TASK COMPUTING WITH MESSAGE PASSING INTERFACE

SAS INSTITUTE INC., Cary...

1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:receive, at the processor, a first request to store a flow input data set in a federated area, wherein:
at least one federated area is defined within storage space provided by at least one of a set of storage devices to store objects to perform a job flow;
the objects to perform the job flow comprise a job flow definition that defines the job flow as a set of tasks to be performed, and a corresponding set of task routines to perform the set of tasks;
processors associated with the set of storage devices cooperate to maintain a distributed file system as spanning storage spaces provided by each storage device of the set of storage devices; and
as part of maintaining the distributed file system, at least one processor associated with of at least one storage device of the set of storage devices determines whether a data object received by the set of storage devices is to be stored as an undivided object or stored as a set of data object blocks into which the received data object is divided and distributed among the set of storage devices based on a size of the received data object compared to a distribution block size;
compare a size of the flow input data set to a threshold size that is based on the distribution block size to determine whether the size of the flow input data set is larger than the threshold size; and
in response to a determination that the size of the flow input data set is larger than the threshold size, the processor is caused to perform operations comprising:
analyze the flow input data set to determine whether the flow input data set is of a distributable form in which data items of the flow input data set are organized into a single homogeneous data structure such that, after the flow input data set is divided into a set of data object blocks, the data items remain accessible from each data object block of the flow input data set independently of the other data object blocks of the flow input data set;
in response to a determination that the flow input data set is not of the distributable form of the flow input data set, the processor is caused to perform operations comprising:
convert the flow input data set from an original form and into the distributable form of the flow input data set; and
following conversion of the original form of the flow input data set into the distributable form, provide the distributable form of the flow input data set to the set of storage devices to be divided by the set of storage devices into the set of data object blocks of the flow input data set that are to be stored in a distributed manner within a first federated area of the at least one federated area, wherein the first federated area is defined within the distributed file system.

US Pat. No. 10,657,106

METHOD, COMPUTING DEVICE, AND DISTRIBUTED FILE SYSTEM FOR PLACEMENT OF FILE BLOCKS WITHIN A DISTRIBUTED FILE SYSTEM

Taiwan Semiconductor Manu...

1. A method used by a file manager node which performs file block placement in a distributed file system network that includes a plurality of network nodes and comprises a transceiver and a processor, the method comprising:receiving, by using the transceiver, a file block request which comprises a replication factor to create a file block in the distributed file system network, wherein the replication factor indicates how many of the data storage nodes are required to store a replica of the file block;
generating, by the processor, a file block placement option for placing the file block in at least one data storage nodes in the distributed file system network in response to receiving the file block request, wherein generating the file block placement option by the processor comprising:
generating a list of file block placement options;
calculating a cost function equation for each of the file block placement options based on variables of the cost function equation which are being evaluated in real time and consisting essentially of a block placement request (BPR), a current placement option (CPO), a cluster topology (CT), a network status (NS), a storage status (SS), and a processing status (PS) so as to calculate a cost valuation parameter from the cost function equation; and
selecting the file block placement option having a minimum cost valuation parameter among the file block placement options;
generating, by the processor, a network control instruction set based at least in part on the file block placement option; and
sending, by using the transceiver, the network control instruction set to a controller node in communication with the distributed file system network for the controller node to carry out the selected file placement option according to the network control instruction.

US Pat. No. 10,657,105

METHOD AND COMPUTER SYSTEM FOR SHARING OBJECTS

Hitachi, Ltd., Tokyo (JP...

1. A computer system for sharing objects including at least directories, the computer system comprising:multiple front-end nodes that are coupled to clients; and
a back-end node being configured to provide a namespace shared by the multiple front-end nodes,
a first front-end node that is any one of the multiple front-end nodes, being configured to manage local-lock counts for each of directories managed by the first front-end node, the local-lock count being the number of locks taken by operations to the objects including the directory and sub-objects thereof,
the first front-end node being configured to, every time an update request is received for processing a target object from a client that is coupled to the first front-end node, request the back-end node to lock a parent directory of the target object and increment the local-lock count for the parent directory when the parent directory has not been locked by the back-end node,
the first front-end node being configured to send a response of the received update request to the client regardless of whether or not the parent directory has been unlocked by the back-end node, and
the first front-end node being configured to, when the local-lock count of the parent directory is zero, request the back-end node to unlock the parent directory,
wherein the first front-end node is configured to migrate not only the processed target object but also the parent directory thereof to the back-end node, and the first front-end node is configured not to migrate the parent directory of the processed target object to the back-end node when the local-lock count of the parent directory of the processed target object has not become zero, and the first front-end node is configured to migrate the parent directory of the processed target object to the back-end node when the local-lock count of the parent directory of the processed target object has become zero,
wherein the first front-end node is configured to, when completing migration of the processed target object to the back-end node, decrement the local-lock counts of the processed target object and the parent directory thereof, and
wherein the first front-end node is configured to, when at least one of the local-lock counts of the processed target object and the parent directory has become zero, request the back-end node to unlock the at least one of the processed target object and the parent directory whose local-lock count has become zero.

US Pat. No. 10,657,104

DATA STRUCTURES FOR DIGESTS MATCHING IN A DATA DEDUPLICATION SYSTEM

INTERNATIONAL BUSINESS MA...

1. A method for storing reference digests in dual data structures in a digest based data matching process in a data deduplication system using a processor device in a computing environment, comprising:determining a repository data interval as similar to an input data interval; and
loading the reference digests corresponding to the repository data interval into dual data structures, wherein the dual data structures include a sequential buffer containing a plurality of digest entries in a sequence corresponding to a placement order of calculated values of the reference digests, the placement order of the calculated values of the reference digests correlative to an order in which input digest values were calculated such that the plurality of digests are stored in a linear form independent of a deduplicated form by which data the plurality of digests describe is stored.

US Pat. No. 10,657,103

COMBINING DATA MATCHES FROM MULTIPLE SOURCES IN A DEDUPLICATION STORAGE SYSTEM

INTERNATIONAL BUSINESS MA...

1. A method for performing data deduplication of input data by a processor, comprising:calculating matches of input data using a plurality of independent deduplication processes referencing a plurality of repository data segments for the input data;
calculating a combined list of output data matches by:
sorting the matches of input data in ascending order of start positions of the matches of input data;
removing those of the input data matches that are fully enclosed within other input data matches;
removing those of the input data matches determined to have a size smaller than a predetermined threshold; and
scanning ones of the input data matches having an overlap section in their respective ascending order of start positions; and
performing a deduplication operation on the combined list of output data matches.

US Pat. No. 10,657,102

STORAGE SPACE MANAGEMENT IN UNION MOUNTED FILE SYSTEMS

International Business Ma...

1. A method for re-balancing data and metadata across multiple sub-file systems of a file system, the method comprising:determining sub-file systems including an amount of data that exceeds a threshold;
identifying at least one cell in the sub-file systems as a candidate for re-balancing;
performing a re-balance process on the at least one cell comprising:
performing a flush operation to flush data from file system buffers;
copying an inode table plus any additional metadata for an independent set of files in the at least one cell to a destination sub-file system;
notifying an allocation manager for the destination sub-file system of a new storage pool to manage; and
performing an un-quiesce operation on I/O operations to each element of the at least one cell; and
upon a request by a particular sub-file system for more inodes without any inodes available, revoking inode numbers from at least one other sub-file system having unused inodes;wherein each directory in the multiple sub-file systems is named using an inode number of a directory.

US Pat. No. 10,657,101

TECHNIQUES FOR IMPLEMENTING HYBRID FLASH/HDD-BASED VIRTUAL DISK FILES

VMware, Inc., Palo Alto,...

1. A method for optimizing locations for storing and servicing an access request for one or more blocks of a logical file, the method comprising:classifying, by a computer system, a plurality of blocks into a firsts subset consisting of hot blocks and a second subset consisting of cold blocks, the classifying comprising classifying frequently accessed one or more blocks of the plurality of blocks into the first subset, and remaining blocks of the plurality of blocks into the second subset;
storing by the computer system, the firsst subset of blocks in a first physical file residing on a flash storage tier, and storing the second subset of blocks in a second physical file residing on a hard disk (HDD) storge tier;
receiving, by the computer system, an input/output (I/O) request to access one or more blocks of the plurality of blocks;
accessing a pointer block cache residing on the flash storage tier, the pointer block cache indicating placement of the requested one or more blocks on the flash storage tier or the HDD storage tier;
determining, by the computer system, whether the requested one or more blocks are stored on the first physical file or the second physical file based on resolving an offset of the requested one or more blocks to a valid logical block address in the pointer block cache;
upon determining that the requested one or more blocks are stored on the first physical file, directing the I/O request to the first physical file; and
otherwise, directing the I/O request to the second physical file.

US Pat. No. 10,657,100

FILE MANAGEMENT SYSTEM

PAYPAL, INC., San Jose, ...

1. A file management system, comprising:a non-transitory memory; and
one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising:
accessing a database management system (DBMS) layer that interfaces and mediates communication between a plurality of webmail providers and a user interface (UI) application including a file browser associated with an aggregated mailbox storage space, wherein a mailbox storage is associated with a respective user webmail account for each of the plurality of webmail providers;
aggregating available storage space from the mailbox storage associated with the respective user webmail account for each of the plurality of webmail providers to provide the aggregated mailbox storage space, wherein the DBMS layer assigns an equal mailbox storage usage percentage for the mailbox storage associated with the respective user webmail account for each of the plurality of webmail providers regardless of an amount of storage space available in the mailbox storage associated with the respective user webmail account for each of the plurality of webmail providers;
responsive to copying a plurality of files into the file browser, attaching each of the plurality of files to respective draft emails and storing the respective draft emails including each of the plurality of attached files into the aggregated mailbox storage space, wherein the storing the respective draft emails including each of the plurality of attached files into the aggregated mailbox storage space includes storing a first draft email including a first attached file into the mailbox storage of a first one of the plurality of webmail providers and storing a second draft email including a second attached file into the mailbox storage of a second one of the plurality of webmail providers; and
responsive to a challenge-response test deployed by at least one of the plurality of webmail providers, utilizing a user simulation module interfacing the UI application and the plurality of webmail providers to mimic a human user and automatically and successfully respond to the challenge-response test, without input from the human user and without interrupting the communication between the UI application and the plurality of webmail providers.

US Pat. No. 10,657,099

SYSTEMS AND METHODS FOR TRANSFORMATION AND ANALYSIS OF LOGFILE DATA

Quest Software Inc., Ali...

1. A method comprising, by a computer system:collecting real-time time-series performance data from a monitored system;
storing the real-time time-series performance data in a first data store that implements a topology model, the topology model representing systems and components as interrelated topology objects;
retrieving logfile data from a logfile data repository of the monitored system, the logfile data comprising records of computer-performance events that have occurred on the monitored system;
parsing the logfile data into parsed data elements that correspond to a plurality of dimensions of a multirepresentational time-series log entry, the multirepresentational time-series log entry comprising a timing data field;
acquiring at least one contextual data element in relation to the parsed data elements that is not contained in the logfile data;
structuring the parsed data elements and the at least one contextual data element as instances of the multirepresentational time-series log entry, the instances each including, in the timing data field, a timestamp of a given computer-performance event, the instances thereby enabling the logfile data to be treated as time-series data;
storing the instances of the multirepresentational time-series log entry in a second data store that is separate from the first data store;
publishing performance data comprising at least a portion of the stored real-time time-series performance data in the first data store to a user interface;
determining a user viewing context for the published performance data in the user interface, the user viewing context comprising selected attributes of the published performance data, the selected attributes comprising a range of time;
automatically correlating the selected attributes of the user viewing context to at least one dimension of the plurality of dimensions of the stored instances of the multirepresentational log entry in the second data store, the automatically correlating comprising matching the range of time of the user viewing context with the timing data field of the multirepresentational time-series log entry;
responsive to the automatically correlating, filtering the log-entry instances by the at least one dimension to yield filtered log-entry instances;
pivoting the filtered log-entry instances on one or more dimensions of the plurality of dimensions, the pivoting yielding pivoted data; and
publishing the pivoted data to the user interface.

US Pat. No. 10,657,098

AUTOMATICALLY REORGANIZE FOLDER/FILE VISUALIZATIONS BASED ON NATURAL LANGUAGE-DERIVED INTENT

International Business Ma...

1. A computer-implemented method for computing file system management, comprising:processing a corpus of content to extract metadata associated with individual folders and files referenced by a directory structure;
performing Natural Language Processing (NLP) operations on the corpus to generate concept and entity data associated with each folder and file, the NLP operations comprising performing domain clustering, the domain clustering comprising performing a statistical analysis of a density of concepts associated with a particular knowledge domain within the corpus;
performing Natural Language (NL) classification operations on each folder and file to generate intent classification data;
processing the intent classification data to determine ranked, dominant intents for each folder and file;
processing the content, the extracted metadata, the concept and entity data, and the ranked dominant intents to generate indexed content and term data;
detecting an interaction associated with a first user;
processing the interaction associated with the first user to determine a user intent, the user intent representing what the first user desires to accomplish through the interaction of a particular application, the user intent being determined by monitoring, analyzing current and historic interactions of the user with the particular software application at a particular time and location;
accessing the indexed content and term data based upon the user intent; and,
presenting a folder view and file icons in an order based upon the indexed content and term data.

US Pat. No. 10,657,097

DATA PAYLOAD AGGREGATION FOR DATA STORAGE SYSTEMS

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:obtaining a programmatic request to store a plurality of files on data storage of a data storage service, the data storage being configured with a file system, the programmatic request including a data container that includes an encoded form of the plurality of files;
determining, based at least in part on a flag associated with the programmatic request, to validate the plurality of files of the data container and store the plurality of files individually;
as a result of the determination, extracting the plurality of files from the encoded form in the data container;
verifying one or more attributes associated with the plurality of files, the one or more attributes being associated with one or more conventions of the file system; and
as a result of verifying the one or more attributes, storing the extracted plurality of files in the file system.

US Pat. No. 10,657,096

SWITCHING CROSSBAR FOR GRAPHICS PIPELINE

Intel Corporation, Santa...

1. A method comprising:providing a fully non-blocking crossbar switch array in a graphics processor between a shared local memory, with memory banks and register slots, and a number of processors, wherein said shared local memory include s slots and b banks;
providing a first crossbar level having n×m crossbar switches;
providing a middle level crossbar level having r×p crossbar switches and only one connection to the first level;
providing a last crossbar level having m×k crossbar switches and only one connection to the middle level; and
wherein s is equal to r×n and b is equal to p×k and m, which is the number of r×p crossbar switches, is equal to n+k?1, and r, n, p, and k which is the number of n×m crossbar switches, can be any value that satisfies the equations for s, b, and m s=r×n, n can be any value that satisfies the equations s=r×n and m=n+k+1, p, which is the number of m×k crossbar switches, can be any value that satisfies the equation, b=p×k, and k can be any value that satisfies the equation m=n+k?1, wherein all of said variables are positive integers greater than one.

US Pat. No. 10,657,095

VIRTUALIZING CONNECTION MANAGEMENT FOR VIRTUAL REMOTE DIRECT MEMORY ACCESS (RDMA) DEVICES

VMWARE, INC., Palo Alto,...

1. A method of managing packets identified in a queue pair for a physical remote direct memory access (RDMA) interface of a host computing system, the method comprising:obtaining, in a hypervisor of the host computing system, one or more RDMA registrations each corresponding to a virtual machine running on the hypervisor of the host computing system, wherein each of the one or more RDMA registrations indicates at least one network address for the corresponding virtual machine;
identifying a packet in a receive queue of the queue pair received at the physical RDMA interface;
identifying that a destination network address for the packet corresponds to a virtual machine on the host computing system based on the one or more RDMA registrations; and
in response to identifying that the destination network address corresponds to a virtual machine on the host computing system, providing a callback for the packet to the virtual machine, wherein the callback provides access to the packet in the virtual machine as if the packet were received at a virtual RDMA interface for the virtual machine.

US Pat. No. 10,657,094

RELAXED 433 ENCODING TO REDUCE COUPLING AND POWER NOISE ON PAM-4 DATA BUSES

NVIDIA Corp., Santa Clar...

1. A method of operating a serial data bus, the method comprising:configuring a first set of multiple data lanes of the serial data bus for PAM-4 communication, wherein PAM-4 encodes two bits of data on a data lane of the bus as one of four different voltage levels (symbols) to facilitate communication;
configuring the data lanes not in the first set for PAM-433 communication, wherein PAM-433 utilizes PAM-4 (four-level encoding) encoding for some symbols, and three-level encoding for other symbols on a bus, wherein encoding a symbol is the physical configuration of a line driver circuit of the serial data bus to drive the voltage on the data lane to a particular value;
the data lanes for the PAM-4 communication being separated from one another by at least one of the data lanes for the PAM-433 communication.

US Pat. No. 10,657,093

MANAGING ACTIONS OF A NETWORK DEVICE BASED ON POLICY SETTINGS CORRESPONDING TO A REMOVABLE WIRELESS COMMUNICATION DEVICE

PISMO LABS TECHNOLOGY LIM...

1. A method for communicating with a plurality of wireless networks at a network device according to identities of a plurality of removable wireless communications devices (RWCDs), the method comprising:a) determining the identities of the RWCDs in the plurality of RWCDs, wherein the identities are based on one or more of International Mobile Equipment Identity (IMEI), Media Access Control (MAC) address, a telephone number, a user account, or a user profile;
b) determining whether the network device is capable of using the plurality of RWCDs;
c) retrieving policy settings from an authorized party or a storage medium of the network device according to the identities of the RWCDs in the plurality of RWCDs;
d) configuring the network device according to at least one of the policy settings;
e) determining whether each RWCD in the plurality of RWCDs is allowed to be used for communicating with a wireless network according to the policy settings;
f) communicating with the plurality of wireless networks through at least one allowed RWCD;
wherein the plurality of RWCDs is coupled to the network device; and
wherein the network device provides wireless wide area network (WAN) connectivity through the plurality of RWCDs.

US Pat. No. 10,657,092

INNOVATIVE HIGH SPEED SERIAL CONTROLLER TESTING

Intel Corporation, Santa...

1. A functional semiconductor device, comprising:a serial Input/Output interface (serial IO interface);
a device fabric to carry transactions between a plurality of components of the functional semiconductor device;
virtualized device logic embedded within the serial IO interface;
a transaction originator to originate a transaction and issue the transaction onto the device fabric directed toward the serial IO interface; wherein the virtualized device logic is to receive the transaction at the serial IO interface via the device fabric;
wherein the virtualized device logic is to modify the transaction received to form a modified transaction;
wherein the virtualized device logic is to issue the modified transaction onto the device fabric;
wherein the modified transaction is returned to the transaction originator;
wherein the modified transaction is modified by the virtualized device logic to be directed toward external DDR memory connected with the device fabric of the functional semiconductor device via a DDR memory interface embedded within the functional semiconductor device;
wherein the DDR memory interface has no external DDR memory coupled thereto; and
wherein an auto-response mechanism is to respond to the modified transaction prior to the modified transaction reaching the DDR memory interface.

US Pat. No. 10,657,091

SPECULATIVE EXECUTION IN A DISTRIBUTED STREAMING SYSTEM

INTERNATIONAL BUSINESS MA...

1. A method, by a processor, for speculative execution in a distributed streaming system, comprising:sharing incoming data comprising a portion of an incomplete data packet with one or more applications for immediate processing upon the incoming data becoming available on an input/output (I/O) interface to enable overlapping of computation and communication in the distributed streaming system; wherein the one or more applications speculatively execute the portion of the incomplete data packet, prior to receiving all portions of the incomplete data packet, upon the portion of the incomplete data packet becoming available on the I/O interface; and
indicating to the one or more applications a validity of the shared incoming data.

US Pat. No. 10,657,090

EMBEDDED UNIVERSAL SERIAL BUS 2 REPEATER

TEXAS INSTRUMENTS INCORPO...

1. A circuit, comprising:a first amplifier having a first input coupled to a first node, a second input coupled to a second node, a first output, and a second output;
a second amplifier having a first input coupled to the first output of the first amplifier, a second input coupled to the second output of the first amplifier, a first output coupled to a third node, and a second output coupled to a fourth node;
a third amplifier having a first input coupled to the third node, a second input coupled to the fourth node, a first output coupled to a fifth node, a second output coupled to a sixth node, and a control input;
a first resistor coupled between the first node and a seventh node;
a second resistor coupled between the seventh node and the second node; and
a first comparator having a first input coupled to the seventh node, a second input coupled to an eighth node, and an output.

US Pat. No. 10,657,089

EMBEDDED UNIVERSAL SERIAL BUS 2 REPEATER

TEXAS INSTRUMENTS INCORPO...

1. A circuit, comprising:a first amplifier having a first input coupled to a first node, a second input coupled to a second node, a first output, and a second output;
a second amplifier having a first input coupled to the first output of the first amplifier, a second input coupled to the second output of the first amplifier, a first output coupled to a third node, and a second output coupled to a fourth node;
a third amplifier having a first input coupled to the third node, a second input coupled to the fourth node, a first output coupled to a fifth node, a second output coupled to a sixth node, and a control input;
a first resistor coupled between the first node and a seventh node;
a second resistor coupled between the seventh node and the second node;
a first comparator having a first input coupled to the seventh node, a second input coupled to an eighth node, and an output;
a bus holder circuit having an input, a first output coupled to the third node, and a second output coupled to the fourth node; and
a logic circuit having a first input coupled to the output of the first comparator, a first output coupled to the input of the bus holder circuit, and a second output coupled to the control input of the third amplifier.

US Pat. No. 10,657,088

INTEGRATED CIRCUIT, BUS SYSTEM AND CONTROL METHOD THEREOF

Nuvoton Technology Corpor...

1. An integrated circuit, served as a slave device electrically connected to a master device, comprising:a pull-down resistor,
a first pin;
a first function module coupled to the first pin;
a switch coupled between the pull-down resistor and the first pin, and configured to selectively couple the first pin to the pull-down resistor according to a control signal;
a second pin;
a second function module coupled to the second pin; and
a controller configured to provide the control signal to turn on the switch when a certain condition is met, so as to couple the first pin to the pull-down resistor, and wherein the controller detects a first input signal of the first pin after the first pin is coupled to the pull-down resistor, so as to determine whether a plurality of slave devices are electrically connected to the master device;
wherein when the controller detects that the first input signal is at a low voltage level, the controller determines that the integrated circuit is the single slave device electrically connected to the master device;
wherein when the controller detects that the first input signal is at a high voltage level, the controller determines that the integrated circuit is one of the plurality of slave devices electrically connected to the master device; and
wherein when the controller determines that the integrated circuit is the single slave device electrically connected to the master device or the one of the plurality of slave devices electrically connected to the master device, the controller provides the control signal to turn off the switch, to electrically separate the first pin from the pull-down resistor, and assign the second pin to execute a function of the second function module.

US Pat. No. 10,657,087

METHOD OF OUT OF ORDER PROCESSING OF SCATTER GATHER LISTS

Toshiba Memory Corporatio...

1. A semiconductor storage device, comprising:a Data Direct Memory Access (DDMA) controller configured to:
segment each read command of a plurality of read commands into a plurality of data tags associated with the read command, the plurality of data tags associated with a plurality of data transfer descriptors stored in the host device, the plurality of data transfer descriptors indicating one or more locations of requested data associated with the plurality of data tags;
retrieve, from the host device, one or more data transfer descriptors associated with one or more of the plurality of data tags, wherein a first data tag has an associated number of data transfer descriptors corresponding to one or more locations of the requested data in contiguous blocks of a memory;
determine if the number of data tag descriptors associated with the first data tag satisfies a threshold;
if the number of data tag descriptors associated with the first data tag does not satisfy the threshold:
move the first data tag to a first list, the first list having an order including a first position at a head of the first list;
move the first data tag to a second list when (i) the first data tag is at the head of the first list and (ii) requested data associated with the first data tag is ready to be transferred; and
transmit then requested data to the host device when the first data tag is at a head of the second list.

US Pat. No. 10,657,086

METHODS FOR RECONCILING INTERRUPT CONFLICTS

ARM IP LIMITED, Cambridg...

1. A machine implemented method for prioritising system interrupts in a processing system, each of the system interrupts being associated with one or more interrupt parameters, said method comprising:determining, at a supervisor module, for each interrupt, a relative interrupt priority in accordance with at least one interrupt parameter associated with said interrupt;
prioritising, at said supervisor module, each said interrupt with respect to other interrupts of said system in compliance with said determined relative interrupt priority; and
in response to a change to said at least one interrupt parameter during operation of said system, adjusting said determined relative interrupt priority, and re-prioritising each said interrupt with respect to said other interrupts of said system in compliance with said adjusted relative interrupt priority,
wherein the at least one interrupt parameter defines at least one temporal access permission and/or at least one spatial access permission.

US Pat. No. 10,657,085

INTERRUPTION FACILITY FOR ADJUNCT PROCESSOR QUEUES

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method of comprising:determining that a queue of the computing environment has transitioned from a no replies pending state to a reply pending state, wherein the queue is indirectly accessible to user programs in that it is located in memory having addresses unaware to the user programs and in which a central processing unit is to use a specific limited instruction to place a request on the queue to be removed by an adjunct processor that performs work for the central processing unit and has direct access to the queue, and wherein the no replies pending state is a state in which the queue is empty of replies, and the reply pending state is a state in which the queue is not empty of replies; and
initiating an interrupt for the queue based on determining that the queue has transitioned from the no replies pending state to the reply pending state and based on the queue being enabled for interrupts.

US Pat. No. 10,657,084

INTERRUPT MODERATION AND AGGREGATION CIRCUITRY

Xilinx, Inc., San Jose, ...

1. A system comprising:a memory circuit, wherein the memory circuit is configured to store a plurality of completion queues, each completion queue having storage for a plurality of completion descriptors associated with transfers of data from a plurality of interrupt source circuits to the memory circuit, and the memory circuit is configured to store a plurality of interrupt aggregation rings, and each interrupt aggregation ring stores a plurality of queue identifiers and associated queue information of the plurality of completion queues;
a direct memory access (DMA) circuit coupled to the memory circuit and configured to provide access to the memory circuit for the plurality of interrupt source circuits;
an interrupt engine coupled to the memory circuit, wherein the interrupt engine is configured to:
in response to a completion message having a queue identifier that identifies a completion queue of the plurality of completion queues and received from an interrupt source circuit of the plurality of interrupt source circuits:
determine one interrupt aggregation ring of the plurality of interrupt aggregation rings associated with the completion queue, and
store the queue identifier and associated queue information in the one interrupt aggregation ring;
issue interrupt messages for processing the completion descriptors in the completion queues in response to satisfaction of a set of trigger conditions specified in an active interrupt moderation mode that is one of a plurality of available interrupt moderation modes; and
bypass issuing interrupt messages in response to the set of trigger conditions of the active interrupt moderation mode not being satisfied.

US Pat. No. 10,657,083

GENERATION OF PROCESSOR INTERRUPTS USING AVERAGED DATA

Intel Corporation, Santa...

1. A processor comprising:at least one execution unit to execute instructions; and
an interrupt generation unit to:
receive a plurality of values indicating thermal status values for a memory unit at multiple points in time across a first time window associated with the memory unit;
determine a running average value based on each of the received plurality of values indicating thermal status values in the memory unit at multiple points in time across the first time window; and
in response to a determination that the running average value has exceeded a high thermal status threshold value, generate a thermal interrupt indicating a high thermal status event in the processor.

US Pat. No. 10,657,082

AUTOMATED TRANSFORMATION FROM COMMAND MODE TO TRANSPORT MODE

EMC IP Holding Company LL...

1. A method of communicating between a first device and a second device, comprising:a first portion of the first device generating command mode control words for communication with the second device;
a second portion of the first device different from the first portion converting the command mode control words into transport mode control words prior to transmitting the control words to the second device;
the second portion of the first device receiving transport mode control words from the second device;
the second portion of the first device converting the transport mode control words received from the second device into received command mode control words; and
the second portion of the first device providing the received command mode control words to the first portion of the first device.

US Pat. No. 10,657,081

INDIVIDUALLY ADDRESSING MEMORY DEVICES DISCONNECTED FROM A DATA BUS

Micron Technology, Inc., ...

1. A memory device, comprising:at least one command contact; and
at least one data contact,
wherein the memory device is configured to:
detect a condition in which the at least one command contact is connected to a controller and the at least one data contact is disconnected from the controller, and
in response to the detected condition, enter a first operating mode with a lower nominal power rating than a second operating mode.

US Pat. No. 10,657,080

METHOD AND SYSTEM FOR CHECKING ERRORS ON CABLES

QUANTA COMPUTER INC., Ta...

1. A system for insuring efficiency of a serial link, the system comprising:a fabric switch having a plurality of upstream ports associated with the serial link to a host server;
the host server including a BIOS and a baseboard management controller, the host server having a plurality of ports directly connected to the upstream ports associated with the serial link via cables, each cable directly connecting one of the plurality of ports with one of the upstream ports to form lanes of the serial link;
a memory accessible to the baseboard management controller; and
wherein the baseboard management controller reads an expected speed and width of the serial link from the memory, the BIOS determines an actual speed and width of the serial link, and the baseboard management controller sends an error message when either the actual speed or actual width differ from the expected speed or expected width to indicate one of the cables is improperly connecting one of the plurality of ports with one of the plurality of upstream ports.

US Pat. No. 10,657,079

OUTPUT PROCESSOR FOR TRANSACTION PROCESSING SYSTEM

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for operating an output processor a transaction processing system, the method comprising:receiving a request to deliver an output message having a plurality of message segments;
obtaining a target buffer size based on an analysis of a number of previously delivered output messages by the output processor, wherein the analysis includes identifying a maximum size of a previously delivered output message in the number of previously delivered output messages;
allocating an output buffer for the output message, the output buffer having the target buffer size;
iteratively obtaining a message segment of the plurality of message segments and storing the message segment in the output buffer;
based on a determination that all of the plurality of message segments have been stored, delivering the output message; and
based on a determination that the output buffer is full and that all of the plurality of message segments have not been stored in the output buffer, increasing the target buffer size to a maximum buffer size.

US Pat. No. 10,657,078

PROVIDING INFORMATION FOR A CONTROLLER MEMORY BUFFER ELASTICITY STATUS OF A MEMORY SUB-SYSTEM TO A HOST SYSTEM

Micron Technology, Inc., ...

1. A method comprising:receiving, by a processing device of a host system, an indication of a capacity of a controller memory buffer (CMB) elasticity buffer from the CMB elasticity buffer;
receiving, by the processing device from the CMB elasticity buffer, an indication of a throughput of one or more memory components associated with the CMB elasticity buffer;
determining, by the processing device, an amount of time for data at the CMB elasticity buffer to be transmitted to the one or more memory components based on the capacity of the CMB elasticity buffer and the throughput of the one or more memory components; and
transmitting write data from the host system to the CMB elasticity buffer based on the amount of time for data at the CMB elasticity buffer to be transmitted to the one or more memory components.

US Pat. No. 10,657,077

HYPERCONVERGED NVMF STORAGE-NIC CARD

MELLANOX TECHNOLOGIES, LT...

1. A storage and communication apparatus for plugging into a server, the apparatus comprising:a circuit board;
a bus interface, configured to connect the apparatus at least to a server processor over a system bus;
a Medium Access Control (MAC) processor, which is mounted on the circuit board and is configured to connect to a communication network;
one or more storage devices, which are mounted on the circuit board, and are configured to store data;
a dedicated bus, which couples the MAC processor to the one or more storage devices; and
at least one Central Processing Unit (CPU), which is mounted on the circuit board and is configured to expose the one or more storage devices both (i) to the server processor over the system bus via the bus interface, and (ii) indirectly to other servers through the MAC processor and over the communication network, without passing over the system bus.

US Pat. No. 10,657,076

ELECTRONIC APPARATUS AND METHOD OF EXTENDING PERIPHERAL DEVICE

VIA Technologies, Inc., ...

1. An electronic apparatus comprising:a controller; and
a plurality of peripheral devices electrically connected to the controller, wherein the plurality of peripheral devices comprise a plurality of video graphics array (VGA) display cards,
wherein in an initialization phase of the electronic apparatus, the controller allocates input/output (I/O) resources to a first portion of the VGA display cards and does not allocate the I/O resources to a second portion of the VGA display cards,
wherein the first portion of the VGA display cards allocated with the I/O resources is used to display an image in the initialization phase.

US Pat. No. 10,657,075

KEYBOARD-VIDEO-MOUSE SWITCH, AND SIGNAL TRANSMITTING METHOD

1. A keyboard-video-mouse (KVM) switch, for connecting between a plurality of computers and at least one peripheral device, the KVM switch comprising:at least one first interface configured to connect to the at least one peripheral device;
a plurality of second interfaces configured to connect to the computers;
a controller connected to the at least one peripheral device through the at least one first interface, configured to receive a peripheral signal generated by the at least one peripheral device through the at least one first interface and generate a first serial signal and a second serial signal according to the peripheral signal, the first serial signal comprising a first target address and a first data of the peripheral signal, wherein the controller duplicates the first data of the peripheral signal generated by the at least one peripheral device and generates the second serial signal with the first data and a second target address;
a plurality of device emulators, connected to the computers through the second interfaces, each of the device emulators being configured to receive the first serial signal with the first target address and the second serial signal with the second target address, and each of the device emulators is guided by unique address to one of the computers, respectively;
wherein, when the device emulators receive the first serial signal and the second serial signal, the device emulators are configured to determine whether to process the first serial signal and the second serial signal by comparing the first target address and the second target address with the unique address.

US Pat. No. 10,657,074

CONNECTING AN EXTERNAL PHY DEVICE TO A MAC DEVICE USING A MANAGEMENT DATA INPUT/OUTPUT INTERFACE

Intel Corporation, Santa...

1. A method comprising:determining a mode of a communications link between an external physical layer device and a media access control device; and
when the mode of the communications link is serial gigabit media independent interface (SGMII), enabling an inter-integrated circuit (I2) interface between the external physical layer device and the media access control device, and setting a destination for management data input/output (MDIO) transactions to the external physical layer device.

US Pat. No. 10,657,073

DRIVER MODULE FRAMEWORK ENABLING CREATION AND EXECUTION OF RELIABLE AND PERFORMANT DRIVERS

Microsoft Technology Lice...

1. A computer-implemented method, comprising:executing a driver on a computing device, the driver comprising a plurality of modules, each of the plurality of modules comprising
one or more callback functions,
one or more public methods,
one or more private methods,
a module-specific configuration,
one or more module attributes, and
a private context; and
executing a framework on the computing device, the framework configured to instantiate the plurality of modules of the driver, and
pass callbacks received from an operating system to the plurality of modules that support the callbacks of the driver via at least one of the callback functions of the plurality of modules.

US Pat. No. 10,657,072

FLOWMETER, IN PARTICULAR FOR USE IN CUSTODY TRANSFER

KROHNE MESSTECHNIK GMBH, ...

1. A flowmeter for use in custody transfer, comprising:a housing,
a measuring tube in the housing,
an interface arranged in the housing for communication with an external control unit located outside of the housing,
at least one evaluation unit for measuring flow through the measuring tube, the at least one evaluation unit being arranged in the housing and being writable with data via the interface,
at least two write protection sensor elements arranged in the housing, and
a receptacle outside of the housing for at least one write protection influencing element,
wherein the write protection influencing element sets the write protection sensor elements into a write protection state when inserted in the receptacle,
wherein the evaluation unit is adapted to detect the write protection state of the write protection sensor elements, and
wherein writing the evaluation unit with data via the interface is at least partially inhibited during detecting of the write protection state of at least one of the write protection sensor elements by the evaluation unit.

US Pat. No. 10,657,071

SYSTEM, APPARATUS AND METHOD FOR PAGE GRANULAR, SOFTWARE CONTROLLED MULTIPLE KEY MEMORY ENCRYPTION

Intel Corporation, Santa...

1. An apparatus comprising:a cryptographic circuit to encrypt and decrypt data, the cryptographic circuit to:
receive a data line from a memory in response to a read request from an agent, wherein the data line includes at least an encrypted portion, and the read request has a memory address;
obtain a key identifier for a key of the agent from the data line;
use the key identifier to obtain the key;
use the key to decrypt the at least encrypted portion of the data line into decrypted memory data; and
send the decrypted memory data to a cache memory hierarchy of a processor for access by the agent; and wherein:
the memory is encrypted with a plurality of keys;
the key is one of the plurality of keys;
the cryptographic circuit is to obtain the key identifier from the data line when the data line is compressed; and
when the data line is uncompressed, the cryptographic circuit is to use the memory address of the read request to obtain the key identifier from a page-to-key (P2K) table that comprises a plurality of entries, each to map a particular memory page to a corresponding key identifier.

US Pat. No. 10,657,070

APPARATUS AND METHOD FOR SHARED LEAST RECENTLY USED (LRU) POLICY BETWEEN MULTIPLE CACHE LEVELS

Intel Corporation, Santa...

1. An apparatus comprising:a first level cache configured to store a first plurality of entries; and
a second level cache configured to store a second plurality of entries;
the second level cache configured to associate a first value with an entry upon receiving a request for the entry, at which time the entry is to be copied from the second level cache to the first level cache, the first value being configured to indicate that the entry is not to be aged in accordance with a Least Recently Used (LRU) policy implemented by the second level cache, the second level cache being configured to maintain the first value until the entry is evicted from the first level cache, wherein after being notified that the entry has been evicted from the first level cache, the second level cache configured to associate a second value with the entry, the second value is configured to indicate that the entry is to begin aging in accordance with the LRU policy implemented by the second level cache.

US Pat. No. 10,657,069

FINE-GRAINED CACHE OPERATIONS ON DATA VOLUMES

Seagate Technology LLC, ...

1. A method comprising:accessing a cache including a plurality of cache blocks including at least a first cache block in an enabled state;
setting the first cache block to an enabled-passive sub-state, the first cache block in the enabled-passive sub-state configured to be accessed or modified;
receiving at least one access or modification request of the first cache block;
transitioning the first cache block from the enabled-passive sub-state to an enabled-active sub-state; and
incrementing a first cache activation count corresponding to the first cache block at an active cache counter in response to the transitioning the first cache block, the active cache counter configured to track cache activation counts including at least the first cache activation count to provide a coarse granularity of history of activation instances such that one or more cache blocks of the plurality of cache blocks including one or more cache blocks having a highest cache activation count are designated to be overwritten in the cache in a least-recently used first fashion based on the cache activation counts of the one or more cache blocks of the plurality of cache blocks.

US Pat. No. 10,657,068

TECHNIQUES FOR AN ALL PERSISTENT MEMORY FILE SYSTEM

Intel Corporation, Santa...

1. An apparatus comprising:circuitry used in connection with a computing platform coupled with a persistent memory platform, the circuitry to execute logic that responsive to one or more instantiations of a program by circuitry at the computing platform includes the logic to:
allocate a first portion of persistent memory physical pages of one or more memory devices of the persistent memory platform for a first processing working set of a first instantiation of the program, the allocated first portion of the persistent memory physical pages obtained from a persistent memory physical address space for the one or more memory devices;
store context specific data for the first processing working set in a first context file in the allocated first portion of the persistent memory physical pages, the first context file to include a first file offset to at least one persistent memory physical address space of the persistent physical memory address space, the first context file stored in a file format that is directly executable by a first circuitry at the computing platform; and
map a first portion of a first process virtual address space for the first processing working set to the at least one persistent memory address space via use of the first file offset as a reference to the first context file.

US Pat. No. 10,657,067

MEMORY MANAGEMENT UNIT WITH PREFETCH

Xilinx, Inc., San Jose, ...

1. A system comprising:a memory management unit (MMU) circuit that includes:
a plurality of ports;
a plurality of translation buffer units (TBU), each TBU corresponding to a respective port of the plurality of ports and including:
a translation lookaside buffer (TLB) circuit;
a translation logic circuit configured to perform virtual to physical address translation using the TLB circuit;
a TLB prefetch logic circuit that, for a corresponding port of the plurality of ports, is configured to:
monitor virtual memory access requests received at the corresponding port of the MMU circuit;
detect, for the virtual memory access requests, satisfaction of at least one trigger condition;
generate, in response to the satisfaction of the at least one trigger condition, address translation prefetch requests;
receive an indication of a page size for virtual memory of the system and to adjust the at least one trigger condition in response to the indication; and
a control circuit configured to
transmit the address translation prefetch requests to a physical memory circuit; and
receive, in response to the address translation prefetch requests, address translation data for populating the TLB circuit.

US Pat. No. 10,657,066

METHOD AND DEVICE FOR STORAGE MANAGEMENT

EMC IP Holding Company LL...

1. A method of storage management, comprising:creating a plurality of profiles for address mapping, a profile containing a part of an address mapping table stored on a non-volatile storage device, and the profile indicating:
a logical starting address of an initial logical block of a plurality of logical blocks,
a physical starting address corresponding to the logical starting address,
the number of the plurality of logical blocks, and
a modification flag bit indicating whether the profile is changed with respect to the address mapping table;
storing the plurality of profiles in a cache in an order of the corresponding logical starting addresses;
creating an index for a part of the plurality of profiles in the cache;
creating a first record for a first physical extent, the first record indicating a physical starting address of the first physical extent and a first number of physical blocks contained therein, at least a part of the plurality of logical blocks indicated by a first profile of the plurality of profiles being mapped to the first physical extent;
creating a second record for a second physical extent, the second record indicating a physical starting address of the second physical extent and a second number of physical blocks contained therein, at least a part of the plurality of logical blocks indicated by a second profile of the plurality of profiles being mapped to the second physical extent;
in response to a physical end address of the first physical extent and a physical starting address of the second physical extent being continuous, merging the first record and the second record to generate a third record, the third record indicating the physical starting address of the first physical extent and a sum of the first number and the second number; and
storing the third record in the cache.

US Pat. No. 10,657,065

DELAYED WRITE-BACK IN MEMORY

Everspin Technologies, In...

1. A method of operation of a memory, wherein the memory includes an array of memory cells, the method comprising:receiving a first activate command and a first address corresponding to a first page within the memory;
in response to the first activate command:
retrieving first page data corresponding to the first page from the array of memory cells based on the first address; and
storing the first page data in a first cache;
performing at least one read or write operation corresponding to the first page data stored in the first cache, wherein the at least one read or write operation accesses specific words or sets of words in the first page data;
after performing the at least one read or write operation, receiving a second activate command and a second address corresponding to a second page within the memory;
in response to the second activate command:
comparing the first address corresponding to the first page within the memory with the second address corresponding to the second page within the memory:
wherein, if the first address corresponding to the first page is the same as the second address corresponding to the second page, then maintaining the first page data in the first cache;
wherein, if the first address corresponding to the first page is not the same as the second address corresponding to the second page, then:
transferring the first page data from the first cache to a second cache;
retrieving second page data corresponding to the second page from the array of memory cells based on the second address; and
storing the second page data in the first cache; and
writing the first page data from the second cache into the array of memory cells at a location corresponding to the first address.

US Pat. No. 10,657,064

EXTENDING USAGES OF CACHED DATA OBJECTS BEYOND CACHE EXPIRATION PERIODS

salesforce.com. inc., Sa...

1. A computer-implemented method, comprising:receiving, from a data object requester, a request for retrieving a cached data object from a data object cache used to cached data objects retrieved from one or more primary data sources;
in response to determining that the cached data object in the data object cache is expired, performing:
determining whether the cached data object in the data object cache is still within an extended time period;
in response to determining that the cached data object in the data object cache is still within an extended time period, performing:
determining whether the cached data object is free of a cache invalidity state change caused by a data change operation;
in response to determining that the cached data object is free of a cache invalidity state change, returning the cached data object to the data object requester.

US Pat. No. 10,657,063

DEVICE AND METHOD FOR ASSISTING PROCESSOR IN READING DATA

REALTEK SEMICONDUCTOR COR...

1. A data access device applicable to a processor, comprising:an instruction cache memory;
a data cache memory;
a processor circuit configured to read specific data from the instruction cache memory for a Nth time and read the specific data from the data cache memory for a Mth time, in which both the N and the M are positive integers and the M is greater than the N;
a duplication circuit configured to copy the specific data from the instruction cache memory to the data cache memory when the processor circuit reads the specific data for the Nth time; and
a decision circuit configured to determine whether data requested by a read request from the processor circuit are stored in the data cache memory according to the read request.

US Pat. No. 10,657,062

DISTRIBUTED STORAGE SYSTEM AND DISTRIBUTED STORAGE CONTROL METHOD WHEREIN DATA STORED IN CACHE MATRIX, THAT IS TO BE STORED IN SAID DISTRIBUTED STORAGE, IS TRACKED BY COLUMNS AND ROWS

HITACHI, LTD., Tokyo (JP...

1. A non-transitory computer readable medium for improving performance of a distributed storage system, the non-transitory computer readable storage medium including a computer program stored thereon which when executed by a processor of a first node cause the processor to:form a cache matrix having cache rows and cache columns in a cache memory of the first node, wherein the first node is selected from among a plurality of nodes that comprise the distributed storage system;
store, in the cache matrix, a data set to be written, wherein bits that comprise the data set are written to the cache matrix by each respective one of the cache rows in a log-structure scheme;
store, in a memory of the first node, node management information that indicates if data of the data set is transferred to each of the plurality of nodes;
transmit the data set to be written to the plurality of nodes, wherein each respective one of the cache columns is stored by a respective node from among the plurality of nodes;
update the node management information to reflect that each respective one of the cache columns contains data of the data set that is to be transferred by each respective node from among the plurality of nodes;
receive an update to the data set to be written that is stored in the cache matrix, and
store the update to the data set in a different location in the cache matrix according to the log-structure scheme.

US Pat. No. 10,657,061

RESOURCE DISTRIBUTION USING ATTRIBUTES OF VERSIONED HASH RINGS

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:generating a hash ring based at least in part on receiving an instruction to deploy a first set of worker managers having a first value for a resource utilization attribute;
associating the hash ring with one or more previous hash rings associated with a second set of worker managers having a second value for the resource utilization attribute;
receiving, at a service front-end, a request to perform an operation;
determining a worker manager of the first set of worker managers associated with the request based at least in part on the hash ring, the worker manager managing a set of workers to perform one or more tasks indicated in the request;
determining information associated with a set of predecessor worker managers of the second set of worker managers based at least in part on at least one previous hash ring of the one or more previous hash rings, the information for the set of predecessor worker managers being determined based at least in part on the first value and the second value;
providing the request and the information associated with the set of predecessor worker managers to the worker manager to enable processing of the request;
transmitting a set of requests for state information to the set of predecessor worker managers; and
causing performance of the operation by a worker corresponding to the state information.

US Pat. No. 10,657,060

PREFETCHING PARTIAL BITSTREAMS

XILINX, INC., San Jose, ...

1. A method of performing a partial reconfiguration of a partially reconfigurable programmable logic device, the method comprising:detecting an event that triggers a partial reconfiguration process;
providing, to an external memory device storing partial reconfiguration data, a first modified buffer offset;
before receiving partial reconfiguration data at the first modified buffer offset from the external memory, writing, to a configuration space of the partially reconfigurable device, a first portion of prefetched data stored in local buffer memory;
receiving, from the external memory device, a first portion of data at the first modified buffer offset; and
writing, to the configuration space of the partially reconfigurable device, the first portion of data at the first modified buffer offset.

US Pat. No. 10,657,059

CONTROLLING A RATE OF PREFETCHING BASED ON BUS BANDWIDTH

INTERNATIONAL BUSINESS MA...

1. A computer program product for facilitating processing within a computing environment, said computer program product comprising:a computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:
determining whether a rate of prefetching of data from memory into a cache is to be changed, wherein the determining is based on bus utilization, and the determining comprises:
identifying a most utilized bus of a plurality of buses used for the prefetch of data;
monitoring utilization of the most utilized bus;
determining whether the rate of prefetching is to be changed based on the monitoring; and
wherein the monitoring includes:
obtaining for the most utilized bus an indication of bus utilization due to prefetch requests, and another indication of bus utilization due to demand requests; and
wherein the determining whether the rate of prefetching is to be changed based on the monitoring includes using the indication of bus utilization due to prefetch requests and the other indication of bus utilization due to demand requests in determining whether the rate of prefetching is to be changed; and
changing the rate of prefetching, based on determining that the rate is to be changed.

US Pat. No. 10,657,058

INTERLEAVED CACHE CONTROLLERS WITH SHARED METADATA AND RELATED DEVICES AND SYSTEMS

Intel Corporation, Santa...

1. A memory system, comprising:multiple interleaved cache controllers with circuitry configured to:
access memory controllers which access memory;
a metadata store serving the multiple interleaved cache controllers, the metadata store to:
receive information from a plurality of the multiple interleaved cache controllers, a portion of which is stored as shared distributed metadata such that a particular shared metadata entry includes information from more than one interleaved cache controller;
provide shared access of the shared distributed metadata hosted to the multiple interleaved cache controllers; and
a metadata store fabric disposed between the multiple interleaved cache controllers and the metadata store to facilitate the shared access, the metadata store fabric having a mesh structure.

US Pat. No. 10,657,057

SECURE SPECULATIVE INSTRUCTION EXECUTION IN A DATA PROCESSING SYSTEM

NXP B.V., Eindhoven (NL)...

1. A method for speculative execution in a data processing system, the method comprising:receiving an instruction to be executed by a processor of the data processing system, wherein the instruction is for writing data to a memory according to the instruction;
determining that the write access is speculative;
preventing write operations to a cache memory during the speculative execution;
determining that the data is not in the cache memory of the data processing system;
determining that the data is not in a speculative cache;
retrieving the data from a main memory;
storing the data in a location of the speculative cache, wherein the speculative cache is for storing only speculative instructions and data related to the speculative instructions, and wherein the location in the speculative cache is overwritten with the data if necessary;
marking a speculative cache line of the of the speculative cache as dirty;
executing the speculative instruction from the speculative cache;
determining that the speculative execution was due to a misprediction; and
discarding all results of the speculative execution.

US Pat. No. 10,657,056

TECHNOLOGIES FOR DEMOTING CACHE LINES TO SHARED CACHE

Intel Corporation, Santa...

1. A compute device for demoting cache lines to a shared cache, the compute device comprising:one or more processors, wherein each of the one or more processors includes a plurality of processor cores;
a cache memory, wherein the cache memory includes a core-local cache and a shared cache, wherein the core-local cache includes a plurality of core-local cache lines, and wherein the shared cache includes a plurality of shared cache lines;
a cache line demote device; and
a host fabric interface (HFI) to receive a network packet,
wherein a processor core of a processor of the one or more processors is to:
retrieve at least a portion of data of the received network packet, wherein to retrieve the data comprises to move the data into one or more core-local cache lines of the plurality of core-local cache lines;
perform one or more processing operations on the data; and
transmit, subsequent to having completed the one or more processing operations on the data and in response to a determination by the processor core that a size of the received network packet is greater than a packet size threshold, a cache line demotion command to the cache line demote device, and
wherein the cache line demote device is to perform, in response to having received the cache line demotion command, a cache line demotion operation to demote the data from the one or more core-local cache lines to one or more shared cache lines of the shared cache.

US Pat. No. 10,657,055

APPARATUS AND METHOD FOR MANAGING SNOOP OPERATIONS

Arm Limited, Cambridge (...

1. An apparatus comprising:an interface to receive access requests from a plurality N of master devices that have associated cache storage, each access request specifying a memory address within memory associated with the apparatus;
snoop filter storage having a plurality of snoop filter entries, each snoop filter entry being arranged to identify a memory portion, and to maintain snoop control information indicative of the master devices that have accessed that memory portion; and
snoop control circuitry that is arranged, when an access request received at the interface specifies a memory address that is within the memory portion associated with a snoop filter entry, to employ the snoop control information in that snoop filter entry to determine which master devices to subject to a snoop operation;
the snoop control circuitry being arranged to maintain master indication data used to identify a first subset of the plurality of master devices whose accesses to the memory are to be precisely tracked within the snoop filter storage, the first subset comprising up to M master devices, where M is less than N;
each snoop filter entry having a precise tracking field and an imprecise tracking field, and being arranged, when multiple master devices have accessed the memory portion associated with that snoop filter entry, to precisely identify within the precise tracking field each master device of those multiple master devices that is within the first subset, and to set a generic indication in the imprecise tracking field to identify when the multiple master devices include at least one master device absent from the first subset.

US Pat. No. 10,657,054

HANDLING RENAMES IN AN OVERLAY OPTIMIZER

Dell Products L.P., Roun...

1. A method, performed by a write filter that implements an overlay cache, for preventing a failure of a rename operation when the overlay cache is implemented on a separate volume from a protected volume, the method comprising:receiving a first input/output (I/O) operation that successfully opened a file that exists in the overlay cache that is implemented on a separate volume from a protected volume;
storing an identifier of the first I/O operation in association with an identifier of the separate volume;
receiving a second I/O operation;
obtaining an identifier of the second I/O operation;
determining that the identifier of the second I/O operation matches the identifier of the first I/O operation;
based on the determination, identifying the separate volume as a source volume for the second I/O operation; and
redirecting the second I/O operation to the separate volume.

US Pat. No. 10,657,053

MEMORY ALLOCATION TECHNIQUES FOR FILTERING SOFTWARE

KYOCERA DOCUMENT SOLUTION...

1. A method, comprising:receiving, at a computing device, an input file to be filtered by the computing device;
detecting a first reference to an image within the input file;
determining that the image within the input file has not been previously filtered by the computing device;
after determining that the image within the input file has not been previously filtered by the computing device, the computing device:
determining an estimated size of the image,
allocating a first memory buffer having a first size to store a first filtered version of the image, wherein the first size is based on the estimated size,
filtering the image using the first memory buffer,
determining that a difference between a size of the first memory buffer and a size of the filtered image is greater than a threshold memory reduction size, and
based on the difference being greater than the threshold memory reduction size, reducing the size of the first memory buffer by a first amount of memory units;
detecting a second reference to the image within the input file;
determining that the image within the input file has been previously filtered by the computing device;
after determining that the image within the input file has been previously filtered by the computing device, the computing device:
determining a previously filtered data size for the image,
allocating a second memory buffer to store a second filtered version of the image based on the previously filtered data size, and
filtering the image using the second memory buffer; and
printing the filtered image on paper using data stored in the second memory buffer.

US Pat. No. 10,657,052

INFORMATION HANDLING SYSTEM WITH PRIORITY BASED CACHE FLUSHING OF FLASH DUAL IN-LINE MEMORY MODULE POOL

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

1. An information handling system comprising:a plurality of flash dual in-line memory modules including a first dual in-line memory module and a second dual in-line memory module;
a central processing unit to communicate with the flash dual in-line memory modules; and
a memory controller to communicate with the central processing unit and with the flash dual in-line memory modules, the memory controller to detect a flush command for a cache of the central processing unit, to detect that a value is written to a first flush hint register of a table, wherein the first flush hint register is associated with a first flash pool of the flash dual in-line memory modules, to detect that a value is written to a second flush hint register of the table, wherein the second flush hint register is associated with a second flash pool of the flash dual in-line memory modules, to determine whether the first flash pool is interleaved between more than one memory controller, to calculate relative flush hint addresses across the more than one memory controllers, and to flush first data for the first flash pool and second data for the second flash pool in the cache to flash dual in-line memory modules in order of priority based on a first priority of the first pool and a second priority of the second pool.

US Pat. No. 10,657,051

MEMORY DEVICE AND OPERATION METHOD THEREOF

MACRONIX INTERNATIONAL CO...

1. A memory device including:a memory array, including a flag memory array and a data memory array, each of flag memory cells in the flag memory array being mapped to corresponding data memory cells in the data memory array, the corresponding flag memory cells being used to record whether the corresponding data memory cells have been written or not;
wherein
after the memory device is powered up, in initialization, the flag memory array is initialized but the data memory array is not initialized.

US Pat. No. 10,657,050

TILE BASED INTERLEAVING AND DE-INTERLEAVING FOR DIGITAL SIGNAL PROCESSING

Imagination Technologies ...

1. A digital signal processing system, comprising:at least one memory comprising a first storage region and a second storage region, the first storage region arranged to store a plurality of data items arranged in a first sequence; and
a transfer engine coupled to the at least one memory and comprising an interface to a dynamic random access memory (DRAM),
wherein, in a first memory transfer stage, the transfer engine is arranged to read the plurality of data items from the first storage region according to a predefined non-linear sequence of memory read addresses and to write the plurality of data items to the DRAM, and
wherein, in a second memory transfer stage, the transfer engine is arranged to read the plurality of data items from the DRAM according to bursts of linear address sequences, and to write the plurality of data items to the second storage region according to a predefined non-linear sequence of memory write addresses, such that the plurality of data items are arranged in a second sequence in the second storage region that is different from the first sequence and wherein the second sequence is either row-column interleaved or de-interleaved with respect to the first sequence.

US Pat. No. 10,657,049

MEMORY SYSTEM AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory control device comprising:a buffer memory in which data is accessed by a unit of a slot; and
a buffer interface suitable for controlling an access to the buffer memory and checking a write command and a size of data,
wherein the buffer interface includes:
a mapping table suitable for storing the mapping between multiple virtual slot identification information (VBIDs) and multiple physical slot identification information (PBIDs);
a buffer allocation unit suitable for determining a start VBID of the mapping table and the number of slots (NID) based on the size of data and a size of slot in the buffer memory, and allocating PBIDs of a free status to a buffer slot sequence in the mapping table, the buffer slot sequence including slots associating VBIDs, determined sequentially corresponding to the start VBID to a last VBID which is a VBID followed by the NID after the start VBID, with the PBIDs randomly selected; and
a buffer access unit suitable for using the start VBID and the NID for accessing data at positions of the PBIDs of the buffer memory based on the mapping table.

US Pat. No. 10,657,048

GARBAGE COLLECTION METHOD FOR DATA STORAGE DEVICE

Silicon Motion, Inc., Jh...

1. A garbage collection method for a data storage device, comprising:entering a background mode from a foreground mode;
selecting a plurality of source data blocks from a plurality of in-use data blocks;
dividing a mapping table stored in a non-volatile storage medium of the data storage device into a plurality of sub-mapping tables, storing the plurality of sub-mapping tables in the non-volatile storage medium of the data storage device, and selecting one of the sub-mapping tables from the non-volatile storage medium as a target sub-mapping table, wherein the target sub-mapping table is used to manage one of the source data blocks;
selecting a destination data block from a plurality of spare data blocks;
sequentially copying a plurality of valid data stored in the source data blocks to the destination data block;
updating a correspondence relationship of the copied valid data in the target sub-mapping table from the source data blocks to the destination data block;
determining the correspondence relationship of the data stored in the target sub-mapping table has been not completely updated;
selecting another destination data block from the spare data blocks to copy the remaining valid data from the source data blocks to another destination data block until the target sub-mapping table has been completely updated; and
recovering one of the source data blocks as a spare data block when the one of the source data blocks does not contain any valid data.

US Pat. No. 10,657,047

DATA STORAGE DEVICE AND METHOD OF PERFORMING PARTIAL GARBAGE COLLECTION

Silicon Motion, Inc., Jh...

1. A data storage device, comprising:a flash memory, comprising a plurality of physical blocks; and
a microcontroller, selecting one source block and one destination block from the plurality of physical blocks, and performing a garbage collection operation according to a check map corresponding to the selected source block to copy data stored in one or more valid physical addresses of the source block to the selected destination block,
wherein the check map records whether a mapping relationship of each physical address in a physical-to-logical mapping table corresponding to the source block has been compared to that of one or more corresponding group logical-to-physical tables,
wherein the microcontroller selects a first entry of a physical-to-logical mapping table of the source block, and loads a group logical-to-physical mapping table, corresponding to a specific logic address recorded in the first entry, to a random access memory, wherein the first entry is a non-dummy entry.

US Pat. No. 10,657,046

DATA STORAGE DEVICE AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A data storage device comprising:a nonvolatile memory device including a user area having a plurality of memory block groups and a system area having a plurality of map data blocks; and
a controller configured to control an operation of the nonvolatile memory device,
wherein each of the plurality of memory block groups includes a first page group including a plurality of first pages and a second page group including a plurality of second pages,
wherein each of the plurality of first pages stores data received from a host device and a physical-to-logical (P2L) address entry corresponding to the data, and the plurality of second pages store one or more P2L address entries corresponding to valid data in the first page group,
wherein, when the second page group of a first memory block group is damaged, the controller determines whether a sum of sizes of one or more P2L address entries corresponding to valid data stored in the first page group of the first memory block group is equal to or less than an available capacity of an open map data block among the plurality of map data blocks, and stores the one or more P2L address entries within the first page group of the first memory block group, in the open map data block based on the determination result.

US Pat. No. 10,657,045

APPARATUS, SYSTEM, AND METHOD FOR MAINTAINING A CONTEXT STACK

INTERNATIONAL BUSINESS MA...

1. A computer program product for maintaining a context stack, the computer program product comprising a storage device having a computer readable program embodied therewith, the computer readable program readable/executable by a processor to cause the processor to:monitor a stack size for a stack of a plurality of existing contexts that are not associated to a process of a plurality of processes, wherein each context is associable and reusable with a plurality of processes and comprises a pathway to a data set when not associated to any process of the plurality of processes, the pathway comprising a logical volume identifier for the data set, a logical address of the data set within the logical volume, and a logical address of an intervening device, wherein the context defines communications between the process and the data set through the pathway when associated to the process, and each context is returned to the stack when not associated to the process; and
deallocate a context that satisfies a stack policy from the stack if the stack size is within a buffer threshold of a maximum threshold.

US Pat. No. 10,657,044

RUNTIME MEMORY MANAGEMENT USING MULTIPLE MEMORY MANAGERS

Xamarin Inc., San Franci...

7. A system for managing memory for a computer, comprising:the computer, including:
a transceiver that communicates over a network;
a memory that stores at least instructions; and
a plurality of processors, wherein one or more processors execute instructions that enable actions, including:
providing one or more peer objects that correspond to one or more native objects that are executing in a native runtime environment, wherein memory is allocated for the one or more peer objects;
generating, in a binding layer that enables a reference to exist in a native runtime environment and reference one of the one or more managed objects, and a reference to exist in a managed runtime environment and reference one of the one or more native objects, the binding layer including one or more binding objects that enable one or more managed objects to interoperate with one or more native objects, one or more managed objects associated with one or more binding objects, one or more garbage collection handles associated with the one or more peer objects, the one or more binding objects including backing fields to mirror weak reference fields; and
when an application executes one or more instructions that interact with the one or more peer objects and the native runtime environment, modifying each garbage collection handle associated with the one or more peer objects based on a type of an interaction; and
when a garbage collection event occurs, deallocating memory for the one or more peer objects based in part on its modified garbage collection handle; and
a development computer, including:
a transceiver that communicates over the network;
a memory that stores at least instructions; and
one or more processors that execute instructions that enable actions, including:
compiling a machine code version of the application.

US Pat. No. 10,657,043

POWER-SUPPLY DEVICE AND ELECTRONIC DEVICE INCLUDING THE SAME

SK hynix Inc., Icheon (K...

1. A power-supply device comprising:an auxiliary power-supply circuit configured to generate a signal indicative of a charging capacity;
a level detection circuit configured to divide the charging capacity of the auxiliary power-supply circuit into a plurality of charging levels, detect a level of the charging capacity among the plurality of charging levels, and generate a charging level detection signal corresponding to the detected charging level; and
a power-supply controller configured to generate an internal voltage and a charging power-supply voltage in response to an external power, detect a level of the external power, generate a sudden power loss (SPL) detection signal in a sudden power off (SPO) state using the detected level of the external power, and output a charging sense signal indicating a charging level of the auxiliary power-supply circuit in response to the charging level detection signal.

US Pat. No. 10,657,042

USER DEVICE INCLUDING A NONVOLATILE MEMORY DEVICE AND A DATA WRITE METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. An operation method of a storage device included in a user device, the operation method comprising:receiving mode information from a host to write into at least one register, the mode information being set by the host based on a state of a display of the user device or an input state of a user interface of the user device; and
performing a first access operation based on a slower access mode for increasing a lifetime of the nonvolatile memory device, in response to which the mode information is written into the at least one register,
wherein the first access operation based on the slower access mode includes a program operation using lower program voltages,
wherein the operation method further comprises performing a second access operation based on a default access mode before receiving the mode information from the host,
wherein the second access operation based on the default access mode is performed using normal voltages corresponding to an operation speed of the storage device, and
wherein when the state of the display is an OFF state, the mode information is set from the host.

US Pat. No. 10,657,041

DATA MANAGEMENT METHOD AND STORAGE DEVICE PERFORMING THE SAME

Samsung Electronics Co., ...

1. A data management method executed by a storage device that includes a nonvolatile memory device including a plurality of memory blocks, the method comprising:receiving a TRIM-after-COPY command from an external host such that a data compaction operation is performed on a first storage region;
internally copying valid data stored in the first storage region into a second storage region based on the TRIM-after-COPY command; and
performing a TRIM operation based on the TRIM-after-COPY command to update a logical-to-physical address mapping table and a valid page bitmap.

US Pat. No. 10,657,040

STORAGE DEVICE AND DATA MANAGEMENT METHOD OF STORAGE DEVICE

BUFFALO INC., Nagoya-Shi...

1. A storage device configured to be accessed using a logical address by a host device, the storage device comprising:a flash memory comprising a plurality of blocks and configured to erase data stored as a non-volatile data block by block among the plurality of blocks, each of the plurality of blocks comprising a plurality of pages, and to write or read out the data page by page among the plurality of pages; and
circuitry configured to:
manage a logical address among a plurality of logical addresses corresponding to the data to be written page by page into the flash memory and a physical address to be managed in association with a block among the plurality of blocks and a page among the plurality of pages allotted to the block into which the data is written so that the logical address and the physical address can be converted using a conversion table, the data being written into the physical address;
when writing the data into the physical address of the flash memory, write the logical address, which is to be stored in the conversion table in association with the physical address, and old and new information, which indicates a timing when the data is written, into the physical address together with the data;
when writing into the plurality of pages allotted to the block is completed, write at least latest old and new information of the old and new information written into the block into a predetermined one of the plurality of pages allotted to the block; and
reestablish the conversion table by arranging one of the plurality of logical addresses recorded in each of the plurality of pages allotted to the block and the physical address corresponding to the logical address in association with each other, in order of a value of the old and new information, at a predetermined reestablishment timing for reestablishing of the conversion table.

US Pat. No. 10,657,039

CONTROL DEVICE FOR A MOTOR VEHICLE

Robert Bosch GmbH, Stutt...

1. A control device, comprising:a multicore processor having at least two processor cores;
a global memory, wherein each of the processor cores respectively includes a local memory, each of the processor cores being configured to access only its own local memory, and each of the processor cores being configured so that it cannot access the local memories of the others of the processor cores and being configured so that it cannot access the global memory; and
a coordination unit configured to: (i) transfer data, in accordance with a sequence plan available to the coordination unit, from the global memory of the control device, directly without intermediate storage, to the local memories of the processor cores, and (ii) transfer data, in accordance with the sequence plan available to the coordination unit, from the local memories of individual ones of the processor cores, directly without intermediate storage, to at least one of: the global memory or the local memory of another of the processor cores;
wherein the coordination unit is configured to: (i) assign a task to each of the at least two processor cores in accordance with the sequence plan available to the coordination unit, and/or (ii) instruct each of the at least two processor cores to perform the task in accordance with the sequence plan available to the coordination unit;
wherein the coordination unit includes a controller or a processor;
wherein the coordination unit coordinates a data exchange between the local memories of the processor cores of the multicore processor and the global memory, as well as a data exchange between the local memories of the processor cores of the multicore processor, among one another, so as to prevent an occurrence of data access collisions,
wherein the coordination unit is configured to run software, and is networked via a bus with the processor cores of the multicore processor.

US Pat. No. 10,657,038

MOCK SERVER FOR TESTING

INTUIT, INC., Mountain V...

1. A method for providing API response instructions for testing an application, comprising:creating, at a client device, a cookie associated with an application running on the client device, wherein the cookie comprises:
response instructions indicating how a mock server is to respond to an API request; and
a response value;
sending, from the client device to the mock server, the API request and the cookie;
receiving, from the mock server at the client device, an API response, wherein the API response is based on the API-response instructions, and wherein the API response includes the response value; and
testing the application with the API response.

US Pat. No. 10,657,037

METHOD OF CONFIGURING A TEST DEVICE DESIGNED TO TEST AN ELECTRONIC CONTROL UNIT, AND A CONFIGURATION SYSTEM

dSPACE digital signal pro...

1. A configuration system comprising:a test device having at least a processor, the test device designed for testing an electronic control unit, the test device being a hardware-in-the-loop simulator or a rapid control prototyping simulator, a software model of a technical system is executed on the test device and the software model electronically communicates via an input/output interface of the test device with a system to be tested that is connected to the test device, wherein simulation data is transmitted electronically by the communication; and
a modeling system having a software model comprising transversely and longitudinally connected function blocks, the configuration system configures the test device through interconnected configuration items such that the configuration items determine a physical characteristics of the input/output interface and/or the connection of the input/output interface to the software model, and the configuration system has a coupling interface for coupling to the modeling system,
wherein the software model is made available to the configuration system during runtime of the modeling system via the coupling,
wherein when a configuration item accesses the modeling system, generates an input/output (IO) access point as a new function block in the modeling system, and a longitudinal plane of the IO access point corresponds to a longitudinal plane of the configuration item from which the access was initiated,
wherein configuration parameters of the generated IO access point in the modeling system are automatically adjusted by the configuration system,
wherein the configuration system analyzes the software model and thus determines a model structure of the software model,
wherein the model structure of the software model at least describes to which other blocks each block is longitudinally connected,
wherein the configuration system initiates a transfer of the model structure of the software model to the configuration system, and
wherein the configuration items are structured corresponding to the transferred model structure of the software model such that for the first function block and thus a second, longitudinally subordinate or superordinate function block, a first and second configuration item each associated thereto are generated, which are longitudinally interconnected.

US Pat. No. 10,657,036

DETERMINING VISUAL TESTING COVERAGES

MICRO FOCUS LLC, Santa C...

1. A system comprising:a processor; and
a memory to store instructions that, when executed by the processor, cause the processor to:
identify, based on an image processing analysis of a set of screenshots of an application under test, principal application screens that represent a set of test executions of the application under test;
identify user interface elements in the principal application screens;
map gaze points represented by gaze data to an area corresponding to a given user interface element of the user interface elements;
determine the number of the gaze points;
determine a time of fixation associated with the area based on the gaze data; and
automatically identify, based on an analysis of the gaze data and the user interface elements, a visual testing coverage of the application under test, wherein automatically identifying the visual testing coverage comprises:
comparing the number of the gaze points to a number threshold; and
identifying the area as being covered or not covered based on a result of the comparison and the time of fixation.

US Pat. No. 10,657,035

ELECTRONIC PRODUCT TESTING SYSEMS

Rainforest QA, Inc., San...

1. An electronic product testing system, comprising:a retrieving module configured to access an electronic file, the electronic file containing data generated based on a testing of a first product, the testing of the first product performed based at least in part on a first set of digits; and
a testing device having a processing unit configured to perform testing of a second product based on the data in the electronic file, and also based on a second set of digits different from the first set of digits, the second product having at least one feature that is different from the first product, wherein the testing device is configured to perform the testing of the second product by submitting the second set of digits for processing by a repository;
wherein the data in the electronic file comprises information regarding tracked actions of a tester, and respective time stamps of the tracked actions.

US Pat. No. 10,657,034

SYSTEM TESTING USING TIME COMPRESSION

International Business Ma...

1. A computer program product, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code executable by at least one processor to perform operations comprising:accessing one or more test scenarios, wherein each of the one or more test scenarios includes workloads, wherein each workload of the workloads has a different frequency of executing that workload;
accessing, for a workload of the workloads, a workload file that describes a first program, a second program, and the frequency of executing the workload; and
executing the workload based on the frequency and by executing the first program and the second program in accordance with a test clock that includes an internal array, wherein the internal array identifies a first date and time that the first program is to be executed and a second date and time that the second program is to be executed, and wherein the test clock is dynamically updated to reflect the second date and time upon completing the execution of the first program.

US Pat. No. 10,657,033

HOW TO TRACK OPERATOR BEHAVIOR VIA METADATA

International Business Ma...

1. A method, comprising:during execution of a distributed application comprising a plurality of operators, monitoring a first operator of the plurality of operators of the distributed application, wherein an operator graph of the distributed application specifies a configuration of the plurality of operators, wherein the first operator is configured to receive tuples from one or more upstream operators as defined by the operator graph, wherein the first operator is configured to process received tuples in a first manner;
determining, based on the monitoring, one or more actual values for one or more performance metrics for the first operator;
comparing the one or more actual values to one or more predefined expected values for the one or more performance metrics to detect abnormal behavior in the first operator; and
upon determining that at least one of the one or more actual values for the first operator does not comply with the one or more predefined expected values:
generating an indicator for the first operator, wherein the indicator includes information describing the one or more actual values, and
modifying the first operator to process subsequently received tuples from the one or more upstream operators in a second manner, rather than in the first manner, wherein the second manner is distinct from the first manner, wherein the first operator is modified based on the information included in the indicator, wherein modifying the first operator to process tuples in the second manner comprises modifying behavior of the first operator to process tuples differently than previously specified, wherein the first operator receives an input tuple during run-time but does not output a resulting tuple for that input tuple when processing the received tuples in the second manner.

US Pat. No. 10,657,032

SYSTEMS AND METHODS FOR MONITORING PERFORMANCE OF APPLICATIONS

ATLASSIAN PTY LTD, Sydne...

1. A computer implemented method for monitoring an application hosted on a server, the method comprising:receiving a test request at a monitoring system, the test request comprising information about a synthetic test to be performed on an application and a test script for performing the test;
scheduling a monitoring task based on the test request, the monitoring task comprising information about a test start time;
in response to determining a scheduled monitoring task is ready for execution: automatically launching a client application within a container, retrieving the test script, and automatically executing the test script in the client application;
while executing the test script, automatically recording in real time, a state of a user interface of the client application;
initializing a virtual display server within the container to receive inputs from the client application and perform graphical operations on the inputs to generate display rendering information of the client application;
initializing a video recording tool within the container to receive the display rendering information and generate a video file based on the received display rendering information; and
upon ending of the monitoring task, transmitting the video file to a client device.

US Pat. No. 10,657,031

SCALABLE EXECUTION TRACING FOR LARGE PROGRAM CODEBASES

Oracle International Corp...

1. A method, comprising:performing, by one or more computing devices:
obtaining respective indications of a plurality of events detected in a particular execution of a program;
constructing a plurality of partitions of a trace object corresponding to the particular execution, including a first partition corresponding to a first subset of the plurality of events, wherein the first partition comprises a header portion and a data portion;
wherein the header portion comprises a compressed representation of one or more event chains, wherein a given event chain identifies a particular sequence of events, wherein the particular sequence of events occurs multiple times during the particular execution, wherein the compressed representation of the given event chain occurs only once in the header portion, and wherein the data portion comprises a compressed events record indicating one or more occurrences, during the particular execution, of the particular sequence of events indicated at least in part by the given event chain represented in the header portion; and
storing the trace object.

US Pat. No. 10,657,030

SYSTEM AND METHOD FOR TESTING SOFTWARE IN A MULTI-PLATFORM TESTING ENVIRONMENT

International Business Ma...

1. A computer-implemented method comprising:executing, by a processor, at least one test group during testing of a software application in a multi-platform testing environment, wherein the at least one test group is executed based upon, at least in part, a priority level and a test group status identifying at least one of: each test case within the test group has not been run, each test case within the group is being executed, each test case within the group has been run and passed, and at least one test case within the group includes a resolved failure;
testing, by the processor, incremental code of the software application including suspending execution of the at least one test group, extracting, from the test repository, one or more new test cases associated with the incremental code, adding the one or more new test cases to the at least one test pool at a high value of the priority level, and resuming execution of the at least one test group;
detecting, by the processor, an error in the software application based upon, at least in part, execution of the at least one test group; and
resolving, by the processor, the error during execution of the at least one test group in the multi-platform testing environment.

US Pat. No. 10,657,029

PARTITIONING BLOCK DIAGRAMS INTO EXECUTABLE CONTEXTUAL MODELS

The MathWorks, Inc., Nat...

12. A method comprising:for a source graphical model having executable semantics and including model elements and at least one model component,
receiving an identification of a given model element or the at least one model component of the source graphical model, the given model element or the at least one model component including at least one input or at least one output and being identified for a type of model analysis;
evaluating automatically, by a processor, the source graphical model to identify a set of the model elements of the source graphical model that satisfy at least one interaction behavior with the given model element or the at least one model component, where the at least one interaction behavior includes at least one of a dependency or an execution effect among at least one of the at least one input or the at least one output; and
constructing automatically a graphical contextual model, wherein
the graphical contextual model includes the given model element or the at least one model component and the set of the model elements identified as satisfying the at least one interaction behavior, and
the graphical contextual model is different from the source graphical model by including fewer of the model elements than are included in the source graphical model.

US Pat. No. 10,657,028

METHOD FOR REPLICATING PRODUCTION BEHAVIOURS IN A DEVELOPMENT ENVIRONMENT

MASTERCARD INTERNATIONAL ...

1. A method for diagnosing errors within a production environment software platform that is arranged to process transaction messages and to store transaction history data related to processed transactions in a production database, the stored transaction history data comprising transaction objects that have been generated as the production environment software platform processes transaction messages, the method comprising:detecting an error in a series of transaction messages processed by the production environment software platform;
receiving the transaction history data from the production database, the transaction history data comprising a plurality of transaction objects;
reformatting the plurality of transaction objects within the received transaction history data to replicate the transaction messages processed by the production environment software platform;
configuring a development environment software platform to match a configuration of the production environment software platform at a start of transaction history;
running the development environment software platform with the replicated transaction messages; and
running a log file module to determine a source for the detected error.

US Pat. No. 10,657,027

AGGREGATING DATA FOR DEBUGGING SOFTWARE

International Business Ma...

1. A method for obtaining data to debug an issue that affects a software application, the method comprising:determining, by one or more computer processors, a first set of memory spaces utilized by an executing software application;
determining, by one or more computer processors, a second set of memory spaces utilized by the one or more processes supporting the executing software application, wherein the second set of memory spaces are determined based on (i) one or more relationships between the executing software application and the one or more processes supporting the executing software application, and (ii) one or more relationships among the one or more processes supporting the executing software application;
identifying, by one or more computer processors, one or more dictates related to debugging the executing software application, wherein the one or more dictates are selected from the group consisting of: a maximum size for the data related to the dumped from among the determined first set of memory spaces and the determined second set of memory spaces, a scope of tracing associated with the determined first set of memory spaces and the determined second set of memory spaces, specifying one or more processes supporting the executing software application to dump, and an order to dump the determined first set of memory spaces and the determined second set of memory spaces;
determining, by one or more computer processors, one or more memory spaces to dump utilizing the dump function, from among the determined first set of memory spaces and the determined second set of memory spaces, based, at least in part, on the identified one or more dictates related to debugging the executing software application; and
initiating, by one or more computer processors, a dump function to obtain data within the memory spaces of the determined first set of memory spaces and the determined second set of memory spaces.

US Pat. No. 10,657,026

SYSTEMS AND METHODS FOR SUMMARIZATION AND VISUALIZATION OF TRACE DATA

GREEN HILLS SOFTWARE LLC,...

1. An apparatus for facilitating and accelerating visual analysis of a computer system, comprising:one or more visual analysis processors configured to generate pre-computed representations of multiple summary levels, comprised of sequences of trace events from an execution of one or more computer programs by one or more target processors for a time period, wherein each of said multiple summary levels comprises a fixed-size span of time which is different for each summary level;
one or more computer-readable storage media for storing said summary levels; and
one or more rendering processors configured to execute a rendering engine that, in response to a request to display a selected portion of one or more of said trace events, retrieves a subset of said pre-computed representations of sequences of trace events from a determined one of said summary levels and renders said subset on a display device, wherein said determined summary level is determined by selecting the summary level whose time span is less than or equal to the time span of a pixel-unit of execution in said display device.

US Pat. No. 10,657,025

SYSTEMS AND METHODS FOR DYNAMICALLY IDENTIFYING DATA ARGUMENTS AND INSTRUMENTING SOURCE CODE

Denso International Ameri...

1. A data control system for validating data arguments in a program, comprising:one or more processors;
a memory communicably coupled to the one or more processors and storing:
an analysis module including instructions that when executed by the one or more processors cause the one or more processors to, in response to an electronic request, identify a data argument within a code segment of source code of the program, wherein the data argument is non-control data passed between one or more functions of the program;
a graph module including instructions that when executed by the one or more processors cause the one or more processors to store data characteristics about the data argument within a control flow graph derived from the source code, wherein the control flow graph represents execution paths within the program, and wherein the data characteristics indicate a state of the data argument and at least one relationship associated with the data argument, and
wherein the graph module includes instructions to provide the control flow graph as an electronic output to facilitate adjustments in the source code; and
an instrumentation module including instructions that when executed by the one or more processors cause the one or more processors to integrate instrumentation within the source code including instructions to i) identify segments of the source code that are to be instrumented according to control arguments and the data arguments identified in the control flow graph and ii) automatically add the instrumentation according to the identified segments.

US Pat. No. 10,657,024

BREAKPOINT WITH SPECIFIED ANCHOR POINTS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of verifying software, the computer-implemented method comprising:setting, with a processor implementing debugging instructions, a breakpoint in the software that indicates a point at which to pause or stop execution of the software, the setting the breakpoint including creating a data structure that defines the breakpoint; and
setting, with the processor, one or more anchor points associated with the breakpoint, wherein each of the one or more anchor points represents another point in the software that must be executed prior to pausing or stopping the execution of the software at the breakpoint, wherein the data structure that defines the breakpoint includes a field listing the one or more anchor points associated with the breakpoint and at least one of the one or more anchor points is not itself another breakpoint.

US Pat. No. 10,657,023

TECHNIQUES FOR COLLECTING AND REPORTING BUILD METRICS USING A SHARED BUILD MECHANISM

INTUIT, INC., Mountain V...

1. A computer-implemented method for analyzing build-time metrics across a plurality of software development projects of a software platform, the method comprising:receiving, by a management system, a plurality of first metrics associated with a first pre-build stage in a first build process for a first software development project of a plurality of software development projects, wherein the plurality of first metrics is collected via a build module for building the first software development project;
receiving, by the management system, a plurality of second metrics associated with a second pre-build stage in a second build process for a second software development project of the plurality of software development projects, wherein the plurality of second metrics is collected via the build module, wherein the build module is common to the plurality of software development projects, and wherein the first software development project and the second software development project correspond to respective projects;
determining, based on the first metrics and the second metrics, an application programming interface (API) associated with the plurality of software development projects, wherein the API is common to the first software development project and the second software development project;
identifying, by the management system, one or more correlations between the first metrics and a plurality of second metrics, wherein the one or more correlations comprise:
a trend between the plurality of first metrics and the plurality of second metrics, the trend indicating that invocations of the application programming interface (API) associated with the first software development project and the second software development project both correlate with first respective compilation errors that occurred during the first pre-build stage in the first build process for the first software development project and second respective compilation errors that occurred during the second pre-build stage in the second build process for the second software development project;
determining, based on the plurality of first metrics and the plurality of second metrics, whether the trend is a downward trend indicating that the API is a legacy API causing functionality to decrease;
in response to determining that the trend is the downward trend, determining that the trend is a source of both the first respective compilation errors and the second respective compilation errors;
storing in a data store, by the management system, the plurality of first metrics, the plurality of second metrics, and correlation information comprising the one or more correlations;
receiving, by the management system, a request for a report related to the plurality of first metrics associated with the first software development project and the plurality of second metrics associated with at least the second software development project, wherein the request is initiated by a user through a user interface of the management system;
retrieving, by the management system, the plurality of first metrics and the correlation information from the data store by performing a lookup based on a specified metric type and specified developer projects in the request;
generating, by the management system, the report, wherein the report describes at least the plurality of first metrics, the plurality of second metrics, and the one or more correlations between the plurality of first metrics and the plurality of second metrics including the trend between the plurality of first metrics and the plurality of second metrics; and
providing, by the management system, the report to the user.

US Pat. No. 10,657,022

INPUT AND OUTPUT RECORDING DEVICE AND METHOD, CPU AND DATA READ AND WRITE OPERATION METHOD THEREOF

TSINGHUA UNIVERSITY, Bei...

1. An input and output recording device, whereinthe input and output recording device is provided between a central processor CPU and a peripheral, and is configured to record data read and write operations between the CPU and the peripheral, the data read and write operations comprise a data read and write operation initiated by the peripheral and a data read and write operation initiated by the CPU;
wherein the input and output recording device is further configured to request the CPU to process the data read and write operation initiated by the peripheral, and upon receiving an instruction sent by the CPU, send a data packet of the data read and write operation initiated by the peripheral to the CPU,
wherein the input and output recording device is further configured to request the CPU to process the data read and write operation initiated by the peripheral when the data packet of the data read and write operation initiated by the peripheral stored in the input and output recording device reaches a preset threshold.

US Pat. No. 10,657,021

TRACING PROCESSING ACTIVITY WITH POSITION DATA TO REORDER ITEMS OF TRACE DATA

ARM Limited, Cambridge (...

22. A data processing method comprising:generating items of trace data indicative of processing activities of a processing element having an instruction pipeline to execute instructions, comprising generating items of event trace data in response to events initiated by execution of corresponding instructions by the instruction pipeline and generating items of waypoint trace data in response to instructions, in a set of waypoint instructions, reaching a predetermined stage relative to the instruction pipeline; and
generating position data indicating a position of a given item of event trace data relative to one or more items of waypoint trace data within a sequence of instruction execution by the instruction pipeline.

US Pat. No. 10,657,020

AUTOMATION AND AUGMENTATION OF LAB RECREATES USING MACHINE LEARNING

Cisco Technology, Inc., ...

1. A method, comprising:maintaining, by a server, an index of a plurality of lab hardware components and a plurality of lab software components available to a lab environment;
determining, by the server, a particular computer network outside of the lab environment to recreate;
determining, by the server, a plurality of hardware components of the particular computer network;
determining, by the server, interconnectivity of the plurality of hardware components of the particular computer network;
determining, by the server, a plurality of software components installed on respective ones of the plurality of hardware components of the particular computer network;
determining, by the server, configuration of the plurality of software components installed on respective ones of the plurality of hardware components of the particular computer network;
interconnecting, by the server, a selected set of the plurality of lab hardware components within the lab environment according to the interconnectivity of the plurality of hardware components of the particular computer network;
installing, by the server, certain of the plurality of lab software components on respective ones of the selected set of lab hardware components within the lab environment corresponding to the plurality of software components installed on respective ones of the plurality of hardware components of the particular computer network;
configuring, by the server, the installed lab software components within the lab environment according to the configuration of the plurality of software components installed on respective ones of the plurality of hardware components of the particular computer network;
operating, by the server, the installed lab software components on the interconnected lab hardware components within the lab environment to recreate operation of the particular computer network within the lab environment; and
providing, by the server, information about the recreated operation of the particular computer network,
wherein the operating of the installed lab software components on the interconnected lab hardware components within the lab environment to recreate operation of the particular computer network within the lab environment comprises:
determining, using a machine learning model, a network metric corresponding to a problem occurring in the particular computer network, and
controlling, by the server, test equipment or a load generator operatively coupled to the plurality of lab hardware components according to the determined network metric to mimic the problem occurring in the particular computer network within the lab environment.

US Pat. No. 10,657,019

METHOD AND SYSTEM FOR MULTI-NODE MONITORING SERVICES

EMC IP HOLDING COMPANY LL...

1. A computer-implemented method for providing monitoring services of one or more data processing systems, the method comprising:instantiating a microservice architecture in accordance with a predefined framework to perform monitoring services of a first system and a second system, wherein the microservice architecture includes a plurality of microservices, wherein the predefined framework is a directed acyclic graph that includes a plurality of nodes and a plurality of edges, wherein each node represents one of the microservices, and each edge represents a data stream being communicated between a pair of nodes;
segmenting the microservice architecture into groups of microservices, wherein each group of microservices is represented by a subset of the predefined framework;
deploying a first group of microservices to the first system; and
deploying a second group of microservices to the second system.

US Pat. No. 10,657,018

SYSTEMS AND METHODS FOR DYNAMIC AGGREGATION OF DATA AND MINIMIZATION OF DATA LOSS

COUPANG CORP., Seoul (KR...

1. A computer-implemented system for dynamic aggregation of data and minimization of data loss, the system comprising:a memory storing instructions; and
at least one processor configured to execute the instructions for:
aggregating information from a plurality of networked systems by:
collecting a first set of data at a first time point from the networked systems, the first set of data comprising data associated with a predetermined period of time and comprising one or more central variables that are included in data associated with more than one networked systems of the plurality of networked systems and one or more associated variables that describe one or more aspects of the central variables, each of the central variables and the associated variables comprising a corresponding value;
retrieving one or more data transformation rules based on a relational map among the central variables and the associated variables;
aggregating the first set of data into one or more master data structures corresponding to the central variables based on the data transformation rules, each of the one or more master data structures comprising one or more data fields that correspond to one of the central variables and a subset of the associated variables;
determining that a second subset of the networked systems is available after a gap of time; and
updating one or more timestamps corresponding to the networked systems based on the first time point; and
generating one or more data reports based on the master data structures,
wherein collecting the first set of data from the networked systems further comprises collecting a second set of data from the second subset of the networked systems, the second set of data comprising data associated with the gap of time, and
wherein aggregating the first set of data into the master data structures further comprises aggregating the second set of data into the master data structures.

US Pat. No. 10,657,017

SYSTEMS AND METHODS TO SERVICE AN ELECTRONIC DEVICE

1. A computer-implemented method to service an electronic device, the method comprising:receiving a request to service a first electronic device communicatively connected to a first test station;
obtaining a device model and an image group of the first electronic device, each image group being associated with one or more different device models;
determining criteria for servicing the first electronic device in accordance with a first desired setup, the criteria being based on the device model of the first electronic device;
receiving at least one of a first virtual hard drive having an image of one or more applications compatible with the image group of the first electronic device; and
executing a first set of the one or more applications to service the first electronic device in accordance with the first desired setup.

US Pat. No. 10,657,016

RECOVERING STRANDED DATA

Hewlett Packard Enterpris...

1. A node for a computing system, the node comprising:a memory module comprising:
a non-volatile memory;
a module memory controller that controls access to the non-volatile memory;
a main bus interface for connection to a main bus; and
a management device providing access to the non-volatile memory through a sideband management bus;
a main node processor connected to the module memory controller and having a main bus interface for connection to the main bus; and
a management processor having a sideband interface for connection to the sideband management bus, the management processor to detect a failure of the node and, in response thereto, to copy data from the non-volatile memory of the memory module to another node across the sideband management bus.

US Pat. No. 10,657,015

MEMORY SYSTEM

NXP B.V., San Jose, CA (...

12. A method of providing access to memory in a memory system, the method comprising:receiving a memory access request identifying an address in a primary memory module;
determining whether the address is identified as requiring correction;
if the address is not identified as requiring correction, directing the memory access request to the primary memory module;
if the address is identified as requiring correction, directing the memory access request to a secondary memory module;
determining a target operating voltage of the primary memory module;
determining a likely error rate of the primary memory module at the target operating voltage;
determining a redundant capacity required based on the likely error rate of the primary memory module; and
adjusting the capacity of the secondary memory module to match the redundant capacity.

US Pat. No. 10,657,014

METHODS FOR MONITORING AND MANAGING MEMORY DEVICES

Everspin Technologies, In...

1. A method of managing a memory device, comprising:scanning a first memory region for bit errors;
in response to detecting one or more bit errors in the first memory region, incrementing a counter associated with the first memory region based on the number of bit errors detected, wherein the detected one or more bit errors are of a first error type;
comparing a total number of bit errors against a threshold, wherein the total number of bit errors is identified from the first counter; and
if the total number of bit errors exceeds the threshold, restricting access to the first memory region by mapping an address corresponding to the first memory region to a second memory region.

US Pat. No. 10,657,013

SMART SELECTION OF A STORAGE MODULE TO BE EXCLUDED

International Business Ma...

1. A non-transitory computer program product, the non-transitory computer program product comprising a computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising:receiving an indication from a first storage module in a cluster of an intra-module connection failure, wherein the intra-module connection failure indicates that a connection between the first storage module and a second storage module in the cluster is broken;
in response to receiving the indication of the intra-module connection failure, determining whether to exclude one of the first storage module and the second storage module by:
determining whether the second storage module is operational;
in response to determining that the second storage module is operational,
determining values of first exclusion criteria for the first storage module, wherein the first exclusion criteria are based on storage data plane related exclusion criteria and an impact of the first storage module on reliability and availability of the cluster;
summing up the values of the first exclusion criteria to identify a first exclusion total;
determining values of second exclusion criteria for the second storage module, wherein the second exclusion criteria are based on the storage data plane related exclusion criteria and an impact of the second storage module on the reliability and the availability of the cluster;
summing up the values of the second exclusion criteria to identify a second exclusion total;
in response to determining that the first exclusion total exceeds the second exclusion total, excluding the second storage module from the cluster, wherein data of the second storage module is replicated to a third storage module;
in response to determining that the second exclusion total exceeds the first exclusion total, excluding the first storage module from the cluster, wherein data of the first storage module is replicated to the third storage module; and
in response to determining that the first exclusion total and the second exclusion total are equal, excluding the first storage module from the cluster, wherein the data of the first storage module is replicated to the third storage module; and
in response to determining that the second storage module is not operational, excluding the second storage module from the cluster, wherein the data of the second storage module is replicated to the third storage module.

US Pat. No. 10,657,012

DYNAMICALLY CHANGING MEMBERS OF A CONSENSUS GROUP IN A DISTRIBUTED SELF-HEALING COORDINATION SERVICE

Cohesity, Inc., San Jose...

1. A method for managing a consensus group of nodes in a distributed computing cluster, the method comprising:reaching a first consensus, based on at least two members of the consensus group of nodes in the distributed computing cluster, to elect an instance of an authority module executing on a first node of the consensus group of nodes, to serve as a master instance of the authority module for the consensus group of nodes, wherein each member of the consensus group of nodes executes a respective instance of the authority module, and the master instance of the authority module is configured to assign locks to processes executing in the distributed computing cluster;
reaching a second consensus, based on at least two members of the consensus group of nodes, that the instance of the authority module executing on the first node of the consensus group of nodes, has failed;
reaching a third consensus, based on at least two not failed members of the consensus group of nodes, to elect the instance of the authority module executing on a second node of the consensus group of nodes to serve as the master instance of the authority module for the consensus group;
receiving, by the master authority module on the second node, a communication from a new node in the distributed computing cluster, wherein the new node comprises a node in the distributed computing cluster that was not a member of the consensus group at a time the at least two members of the consensus group of nodes reached the second consensus that the instance of the authority module executing on the first node failed;
adding, by the master authority module on the second node, the new node to the consensus group; and
sending to the new node, an identification of a set of nodes in the distributed computing cluster eligible to join the consensus group.

US Pat. No. 10,657,011

SIGNAL PROTECTION

Nevion AS, (NO)

1. A data protection method comprising the steps of:providing data paths A and B between an encoder and a decoder;
transporting a data stream from the encoder to the decoder over path A to supply a decoder data output;
if there is a data fault, using unfaulted data in a decoder buffer to continue decoder data output without interruption;
transporting corrective data stored in an encoder transmit buffer to the decoder via path B;
continuing an uninterrupted supply of data to the decoder data output using the corrective data and the encoder data stream transported over path B;
wherein data path B does not redundantly propagate the same data values as data path A and bandwidth consumption is limited to a single connection while there are no communications errors.

US Pat. No. 10,657,010

ERROR DETECTION TRIGGERING A RECOVERY PROCESS THAT DETERMINES WHETHER THE ERROR IS RESOLVABLE

ARM Limited, Cambridge (...

1. An apparatus comprising:at least three processing circuits to perform redundant processing of a common thread of program instructions; and
error detection circuitry comprising a plurality of comparators, each comparator configured to detect a mismatch between signals on a corresponding signal node in said at least three processing circuits; wherein:
in response to at least one of said plurality of comparators detecting said mismatch, the error detection circuitry is configured to trigger a recovery process for resolving an error detected for an erroneous processing circuit using state information derived from at least two other processing circuits;
the error detection circuitry is configured to generate an unresolvable error signal indicating that said error is unresolvable by said recovery process when, during said recovery process, a mismatch is detected between signals on a corresponding signal node in said at least two other processing circuits by one of a proper subset of said plurality of comparators; and
during the recovery process, the error detection circuitry is configured to suppress said unresolvable error signal when none of said proper subset of comparators detects said mismatch between signals on the corresponding signal node in said at least two other processing circuits.

US Pat. No. 10,657,009

SYSTEM AND METHOD TO DYNAMICALLY INCREASE MEMORY CHANNEL ROBUSTNESS AT HIGH TRANSFER RATES

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

1. A dynamic random access memory (DRAM) device, comprising:an on-die termination (ODT) controller including an input to receive an ODT signal and a WRITE signal from a memory controller; and
ODT circuitry to terminate an interface circuit, the interface circuit to provide a data signal between the memory controller and the DRAM device;
wherein the ODT controller is configured to operate in a first impedance switching mode to direct the ODT circuitry to:
terminate the interface circuit at a first impedance level in response to a first state of the ODT signal;
terminate the interface circuit at a second impedance level in response to a second state of the ODT signal and to a first state of the WRITE signal;
terminate the interface circuit at a third impedance level in response to the second state of the ODT and to a second state of the WRITE signal; and
when the WRITE signal is in the second state and the ODT signal transitions from the second state to the first state, a) terminate the interface circuit at a fourth impedance level, and then b) terminate the interface circuit at the first impedance level, the fourth impedance level being between the first impedance level and the third impedance level.

US Pat. No. 10,657,008

MANAGING A REDUNDANT COMPUTERIZED DATABASE USING A REPLICATED DATABASE CACHE

International Business Ma...

1. A method for operating a computerized database, comprising:operating a first database server to perform a plurality of accesses to a shared database on behalf of respective clients, said shared database being recorded on a shared database storage, wherein at least some of said plurality of accesses perform updates to data in said shared database, and wherein updates to said shared database are logged in a sequential database log;
concurrently with operating said first database server to perform a plurality of accesses to said shared database, copying data from a database cache in said first database server to a corresponding database cache in a second database server, said second database server acting as a standby database server;
responsive to detecting a failure of said first database server, said failure including loss of access to data in the database cache in said first database server expressing one or more database transactions not yet written to said shared database storage, recovering the database to a consistent state in said second database server by: (a) using said sequential database log to verify selective data copied to the corresponding database cache in the second database server, and (b) using the selective verified data copied to the corresponding database cache in said second database server to reconstruct one or more database transactions not yet written to said shared database storage, the consistent state including the reconstructed one or more database transactions not yet written to said shared database storage; and
thereafter operating said second database server to perform a plurality of accesses to said shared database on behalf of respective clients.

US Pat. No. 10,657,007

CONSENSUS SYSTEM DOWNTIME RECOVERY

Alibaba Group Holding Lim...

1. A computer-implemented consensus method to be implemented on a blockchain maintained by a number (N) of nodes, wherein one of the nodes acts as a primary node and the other (N?1) nodes act as backup nodes, and the method is performed by one of the backup nodes, the method comprising:obtaining a pre-prepare message from the primary node;
multicasting a prepare message to at least some of the primary node and the other (N?2) backup nodes, the prepare message indicating an acceptance of the pre-prepare message;
obtaining (Q?1) or more prepare messages respectively from (Q?1) or more of the backup nodes, wherein Q (quorum) is (N+F+1)/2 rounded up to the nearest integer, and F is (N?1)/3 rounded down to the nearest integer;
storing at least a minimal amount of consensus messages for recovery after one or more of the N nodes crash, wherein the minimal amount of consensus messages comprise the pre-prepare message and at least (Q?1) of the (Q?1) or more prepare messages;
multicasting a commit message to at least some of the primary node and the other backup nodes, the commit message indicating that the one backup node agrees to the (Q?1) or more prepare messages; and
obtaining, respectively from Q or more nodes among the primary node and the backup nodes, Q or more commit messages each indicating that the corresponding node a corresponding node of the Q or more nodes agrees to (Q?1) or more prepare messages received by the corresponding node.

US Pat. No. 10,657,006

MULTI-RPO DATA PROTECTION

Zerto Ltd., Herzilya (IL...

1. A system for disaster recovery, comprising:a virtual manager that executes on a computing device having one or more processors and memory to cause the one or more processors to:
control usage of bandwidth by a virtual server in accordance with a calendar- based schedule defining a first recovery point objective for a first time period and a second recovery point objective for a second time period different from the first time period, the first recovery point objective specifying a first maximum loss constraint for data recovery and a first allocation of the bandwidth for data replication for the first time period, the second recovery point objective specifying a second maximum loss constraint for data recovery and a second allocation of the bandwidth for data replication for the second time period, the first allocation of the bandwidth for the first time period different from the second allocation of the bandwidth for the second time period;
adjust the usage of bandwidth by the virtual server in accordance with the first recovery point objective and the second recovery point objective; and
issue an alert, responsive to determination that at least one of the first recovery point objective and the second recovery point objective is not satisfied.

US Pat. No. 10,657,005

COMINGLING CONVENTIONAL AND BACKUP VOLUMES IN TIERED STORAGE SYSTEMS

International Business Ma...

1. A method for efficiently managing extents of backup volumes in a tiered storage system, the method comprising:identifying a lifespan associated with a backup volume, the lifespan indicating how long extents of the backup volume are retained in a tiered storage system before they are released;
assigning a temperature value to the extents, the temperature value determining where the extents are stored in the tiered storage system;
utilizing the lifespan to determine the temperature value, wherein the temperature value is inversely proportional to the lifespan; and
placing the extents on tiers of the tiered storage system in accordance with their temperature value, such that higher temperature extents are placed on higher tiers of the tiered storage system, and lower temperature extents are placed on lower tiers of the tiered storage system.

US Pat. No. 10,657,004

SINGLE-TENANT RECOVERY WITH A MULTI-TENANT ARCHIVE

Amazon Technologies, Inc....

1. A system, comprising:one or more computing devices configured to implement a multi-tenant archiving system, wherein the multi-tenant archiving system is configured to:
store a plurality of snapshots of a multi-tenant data store at a plurality of points in time, wherein the multi-tenant data store comprises a plurality of key-value pairs provided by a plurality of clients;
store a plurality of incremental changes to the multi-tenant data store between individual ones of the plurality of snapshots, wherein the plurality of incremental changes comprise a plurality of changes to individual ones of the plurality of key-value pairs provided by the plurality of clients;
receive a request from a particular client of the plurality of clients to restore a particular subset of the key-value pairs to a particular point in time, wherein the request comprises information identifying the particular subset of the key-value pairs and the particular point in time, and wherein the particular subset of the key-value pairs, for which the request to restore is received, are owned by the particular client of the plurality of clients;
retrieve a particular snapshot of the plurality of snapshots, wherein the particular snapshot was stored prior to the particular point in time;
retrieve a particular subset of the incremental changes, wherein the particular subset of the incremental changes comprise incremental changes to the particular subset of the key-value pairs that are owned by the particular client of the plurality of clients, and wherein the particular subset of the incremental changes were stored after the particular snapshot was stored and up to the particular point in time; and
restore, to the multi-tenant data store, the particular subset of the key-value pairs that are owned by the particular client of the plurality of clients, from the particular snapshot and the particular subset of the incremental changes, wherein at least one key-value pair of the plurality of key-value pairs not owned by the particular client is not restored to the multi-tenant data store with the restoration of the particular subset of the key-value pairs.

US Pat. No. 10,657,003

PARTIAL BACKUP DURING RUNTIME FOR MEMORY MODULES WITH VOLATILE MEMORY AND NON-VOLATILE MEMORY

Hewlett Packard Enterpris...

1. A system for partial backup during runtime, the system comprising:a memory module having a volatile memory and a non-volatile memory; and
a backup controller to:
determine that a backup should occur in the memory module;
determine a backup domain of the volatile memory;
cause a deactivation domain of the volatile memory to be deactivated, where the deactivation domain includes the backup domain; and
cause the backup to initiate during normal runtime of the system, the backup including data in the backup domain of the volatile memory being saved to the non-volatile memory;
wherein to determine the backup domain, the backup controller accesses a change repository that indicates a portion of the volatile memory that is ready to be backed up but was not backed up during a previous backup because that portion exceeded a backup size threshold of the previous backup.

US Pat. No. 10,657,002

METHOD AND APPARATUS TO ROLLBACK MEMORY DIMM LANE SPARING

International Business Ma...

1. A method for correcting improper repair actions in a computer system, comprising:assigning a first algorithm identifier to a first algorithm;
storing the first algorithm identifier and a first input to the first algorithm;
executing, via a processor, the first algorithm with the first input and storing one or more results of the first algorithm, wherein the one or more results comprises a repair action;
determining that the repair action is faulty;
storing the algorithm identifier for the first algorithm in a blacklist;
assigning a second algorithm identifier to a second algorithm;
storing the second algorithm identifier and a second input to the second algorithm;
executing, via the processor, the second algorithm with the second input, wherein the second algorithm corrects the faulty repair action caused by the first algorithm; and
storing a result of the second algorithm.

US Pat. No. 10,657,001

CONVERTING A DATA CHUNK INTO A RING ALGEBRAIC STRUCTURE FOR FAST ERASURE CODING

International Business Ma...

1. A method comprising:receiving a data request from an electronic client device;
retrieving erasure code encoded data from a storage device based on the data request;
converting the erasure code encoded data into a ring structure;
performing erasure decoding on the erasure code encoded data utilizing the ring structure; and
returning decoded data resulting from the erasure decoding to the electronic client device.

US Pat. No. 10,657,000

OPTIMIZING DATA STORAGE IN A DISPERSED STORAGE NETWORK

PURE STORAGE, INC., Moun...

1. A method for execution by a computing device that includes a processor, the method comprises:dispersed storage error encoding a data segment to produce a set of encoded data slices that includes more than a write threshold number of encoded data slices;
facilitating storage of a proper subset of the set of encoded data slices in a set of storage units;
and
facilitating deletion of a number of encoded data slices from the set of storage units, wherein the number of encoded data slices are included in the proper subset of the set of encoded data slices, and wherein the number of encoded data slices is equal to a difference between a number of encoded data slices in the proper subset and the write threshold number.

US Pat. No. 10,656,999

SHARED BLOCKCHAIN DATA STORAGE BASED ON ERROR CORRECTION CODE

Alibaba Group Holding Lim...

1. A computer-implemented method for storing blockchain data, the computer-implemented method comprising:determining, by a blockchain node, one or more blocks that are infrequently visited, wherein the one or more blocks are stored on the blockchain node and created on a blockchain;
performing, by the blockchain node, error correction coding of the one or more blocks to generate one or more encoded blocks;
dividing, by the blockchain node based on one or more predetermined rules, each of the one or more encoded blocks to a plurality of data sets;
selecting, by the blockchain node, one or more data sets from the plurality of data sets of each of the one or more encoded blocks based on the one or more predetermined rules;
hashing, by the blockchain node, the one or more data sets to generate one or more hash values corresponding to the one or more data sets;
storing, by the blockchain node, the one or more hash values; and
deleting, by the blockchain node, the one or more data sets.

US Pat. No. 10,656,998

END-TO-END SECURE DATA STORAGE IN A DISPERSED STORAGE NETWORK

PURE STORAGE, INC., Moun...

1. A method comprises:encrypting, by a first computing device of a dispersed storage network (DSN), a portion of a data matrix based on a set of encryption keys to produce an encrypted data matrix, wherein the data matrix includes data blocks of a data segment of a data object;
sending, by the first computing device, the encrypted data matrix to a second computing device of the DSN;
dispersed storage error encoding, by the second computing device, the encrypted data matrix to produce a set of encrypted encoded data slices; and
sending, by the second computing device, the set of encrypted encoded data slices to a set of storage units of the DSN for storage therein.

US Pat. No. 10,656,997

AUDIT OBJECT GENERATION IN A DISPERSED STORAGE NETWORK

PURE STORAGE, INC., Moun...

1. A method for execution by a storage processing unit that includes a processor, the method comprises:obtaining audit records for an audit object, each of the audit records corresponding to an audit message, each of the audit records identifying a storage network entity and each of the audit records including a time and date, and a type code selected from a plurality of type codes, wherein the plurality of type codes include a storage access event type code and an authentication audit event type code;
generating the audit object to include the audit records, system ID information, and integrity information; and
facilitating storage of the audit object in a storage network utilizing a corresponding name of the audit object.

US Pat. No. 10,656,996

INTEGRATED SECURITY AND DATA REDUNDANCY

PhazrIO Inc., Alhambra, ...

1. A computer-implemented method for facilitating integrated security and high availability, the method comprising:obtaining, by a computing system, a number of data elements based on a number of coded fragments that a code word of erasure encoding includes;
determining one or more bit-level operations for the data elements in such a way that at least one of the one or more bit-level operations becomes eliminated from a first set of operations of the erasure encoding;
obfuscating the data elements based on the one or more bit-level operations; and
generating the code word of the erasure encoding from the obfuscated data elements based on a generator matrix, wherein the generator matrix indicates a second set of operations derived from eliminating the at least one operation from the first set of operations.

US Pat. No. 10,656,995

COPY-BACK OPERATIONS IN A MEMORY DEVICE

Micron Technology, Inc., ...

1. A memory device comprising:an interface to a controller of the memory device; and
control circuitry to:
detect trigger to perform a copy-back operation in relation to a section of data stored on the memory device;
read the section of data from the memory device at a first voltage level within a read window to obtain a first set of bits;
read the section of data from the memory device at a second voltage level in the read window to obtain a second set of bits;
determine that a difference between the first and second sets of bits is beyond a threshold; and
invoke, via the interface, error correction on the section of data in response to the difference between the first and second sets of bits being beyond the threshold, the error correction invoked prior to completion of the copy-back operation.

US Pat. No. 10,656,994

OVER-VOLTAGE WRITE OPERATION OF TUNNEL MAGNET-RESISTANCE (“TMR”) MEMORY DEVICE AND CORRECTING FAILURE BITS THEREFROM BY USING ON-THE-FLY BIT FAILURE DETECTION AND BIT REDUNDANCY REMAPPING TECHNIQUES

SPIN MEMORY, INC., Fremo...

1. A method for correcting bit defects in an STT-MRAM memory, the method comprising:reading a codeword in the STT-MRAM memory, wherein the STT-MRAM memory comprises a plurality of codewords, wherein each codeword comprises a plurality of bits and a plurality of redundant bits;
mapping defective bits in the plurality of bits of the codeword to redundant bits of the plurality of redundant bits based on a mapping scheme, wherein the mapping scheme is operable to determine a manner in which the defective bits in the codeword are to be mapped to the redundant bits, wherein the mapping comprises:
determining if each bit from the defective bits represents an open circuit or a short circuit in the STT-MRAM memory;
determining a respective position of each defective bit in the codeword; and
mapping a respective redundant bit of the plurality of redundant bits to each
defective bit in accordance with a position of each defective bit;
based on the mapping, using mapped redundant bits in lieu of the defective bits in the codeword; and
performing an ECC correction operation on the codeword read from the STT-MRAM memory to correct any additional errors in the codeword.

US Pat. No. 10,656,993

APPARATUS, SYSTEM, AND METHOD TO INCREASE DATA INTEGRITY IN A REDUNDANT STORAGE SYSTEM

Unification Technologies ...

1. A system comprising:a computer apparatus comprising processing circuitry to request and receive data; and
a storage device connected to the computer apparatus via an interface, the storage device comprising a storage controller and one or more storage elements;
the computer apparatus configured to send a read request to the storage device to read data;
the storage device configured to receive the read request from the computer apparatus via the interface, and in response, read data from an error correcting code (ECC) chunk stored in an array of an N+P number of storage elements, wherein the N number of storage elements each store a portion of the ECC chunk and the P number of storage elements store parity data for the ECC chunk stored on the N storage elements;
the storage device further configured to correct errors in the data read from the ECC chunk using Error Correcting Code (“ECC”) when the number of errors are correctable using the ECC, and to
correct errors in the data read from the ECC chunk with substitute data from a substitute storage element of the N+P number of storage elements when the number of errors are uncorrectable using the ECC;
the storage device configured to return the requested data to the computer apparatus via the interface; and
the computer apparatus configured to receive the data requested from the storage device.

US Pat. No. 10,656,991

ELECTRONIC COMPONENT HAVING REDUNDANT PRODUCT DATA STORED EXTERNALLY

INTERNATIONAL BUSINESS MA...

1. A computer program product for redundantly storing product data for an electronic component on an external device, the computer program product comprising:a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
determining that product data stored in a primary storage device is corrupted, the product data comprising vital product data;
determining whether the product data is available on the external device, wherein the external device is in communication with the electronic component via a short-range wireless communications protocol and the external device is one of a smartphone, tablet or laptop that is configured to download product data for the primary storage device from the Internet;
based on a determination that the product data stored in the primary storage device is corrupted and that the product data is available on the external device, obtaining product data from the external device to continue operation of the electronic component, wherein the redundantly stored product data is available for a period of time that begins when it is determined that the product data in the primary storage device is corrupted and ends after a predetermined time period has elapsed; and
based on a determination that the product data stored in the primary storage device is corrupted and that the product data is not available on the external device, initiating a service call to repair or replace the electronic component and halting operation of the electronic component.

US Pat. No. 10,656,989

SYSTEM AND METHOD FOR TREND ESTIMATION FOR APPLICATION-AGNOSTIC STATISTICAL FAULT DETECTION

OPEN INVENTION NETWORK LL...

1. A system, comprising:one or more memory locations configured to store one or more applications and one or more distributions, wherein each of said one or more applications is comprised of one or more processes and threads;
one or more Central Processing Units operatively connected to said one or more memory locations, configured to execute said one or more applications on a host with a host operating system, configured to generate one or more statistical events for said one or more executing applications and said host operating system, and configured to calculate said one or more distributions for said one or more statistical events;
one or more second memory locations configured to store one or more trend-estimators configured to estimate trends in said statistical events using one or more of a dominant period, a fixed number of events or a dynamic number of events, configured to calculate de-trended statistical event data, and configured to detect trends in the statistical events, wherein said one or more trend-estimators estimate trend using one or more of differencing, a moving average, and a least squares estimate and said trend-estimators are calculated using one or more of a number of elements equal to the dominant period, a period of one-half the dominant period, or a period less than one-half the dominant period; and
a fault detector configured to de-trend the data for said one or more statistical events prior to calculation of said one or more distributions if said one or more trend-estimator indicate trend.

US Pat. No. 10,656,988

ACTIVE MONITORING OF PACKET LOSS IN NETWORKS USING MULTIPLE STATISTICAL MODELS

Amazon Technologies, Inc....

1. A method for determining a source of a network entity failure on a network, comprising:by a server computer:
constructing a plurality of hierarchical aggregation layers, wherein each aggregation layer includes one or more of a plurality of network entities;
classifying each network entity of the plurality of network entities into a hierarchical aggregation layer based on a number of downstream data paths from each network entity, wherein a higher layer of an aggregation graph has a higher number of downstream data paths than a lower layer of the aggregation graph;
collecting a plurality of event data sets, wherein each of the plurality of event data sets comprises information obtained from a transmission of data between two or more network entities of the plurality of network entities;
applying the plurality of event data sets to a plurality of statistical models, wherein each of the statistical models generates model output data for each of the plurality of event data sets;
applying a first cost function to each of the model output data, the first cost function identifying one or more of the network entities of the plurality of network entities as a potential source of a network error;
applying a second cost function to at least two of the identified network entities made by the first cost function; and
determining that one or more network entities of the plurality of network entities is experiencing a network error based on the second cost function.

US Pat. No. 10,656,987

ANALYSIS SYSTEM AND METHOD

EMC IP Holding Company LL...

1. A computer-implemented method, executed on a computing device, comprising:receiving temporal telemetry data portions concerning one or more elements of a storage system;
generating one or more health packets, wherein generating the one or more health packets includes generating one or more health awareness results, the one or more health awareness results including a health score;
assigning the health score to the temporal telemetry data portions;
assigning a reliability score to the health score; and
in the event that the reliability score falls below a predefined level, analyzing the quality of a link with the storage system.