US Pat. No. 10,599,692

MODIFICATION OF A SAVED DATABASE QUERY BASED ON A CHANGE IN THE MEANING OF A QUERY VALUE OVER TIME

International Business Ma...

1. A computer-implemented method for a user to modify a query to a database, the method comprising the steps of:providing a graphical user interface that allows a user to create, store and modify queries;
displaying to the user on the graphical user interface a query that was previously created and stored, where the query has a query value;
displaying an option to the user to time adjust the query to compensate for a change in the query value since the query was created;
in response to a user selection to time adjust the query, modifying the query based on a change in a meaning of the query value over time such that when executed the query will have the same meaning as when the query was originally created and stored;
wherein the query is modified by adjusting the query value that has changed in meaning; and
wherein the query value is adjusted to the product of an original query value and a current value returned by the query divided by a historical value returned by the query.

US Pat. No. 10,599,691

METHOD AND SYSTEM FOR ADDRESSING THE PROBLEM OF DISCOVERING RELEVANT SERVICES AND APPLICATIONS THAT ARE AVAILABLE OVER THE INTERNET OR OTHER COMMUNCATIONS NETWORK

Sensoriant, Inc., Cedar ...

1. A method of building a searchable index, comprising:acquiring at least one snippet from each of a plurality of web resources, each of the snippets including one or more attributes of the web resource with which the snippet is respectively associated, at least one of the attributes being a calendar attribute or a geographic attribute, the calendar attribute specifying when additional information in the snippet is applicable and the geographic attribute specifying where the additional information in the snippet is applicable, wherein the web resources include a web page and acquiring the at least one snippet includes extracting at least one snippet by deconstructing the web page by recognizing visual boundaries that are predefined in source code of the web page; and
storing the snippets in a searchable data structure that is configured so that in response to a search request the attributes in the searchable data structure are searchable to identify snippets that are searchable based at least in part on the applicability of the snippets to a mobile device that is to receive results of the search request, the applicability of the snippets being determined based at least in part on a search of the calendar attributes and/or the geographic attributes of the stored snippets.

US Pat. No. 10,599,690

SYSTEMS AND METHODS FOR GENERATING AND USING AGGREGATED SEARCH INDICES AND NON-AGGREGATED VALUE STORAGE

OPEN TEXT SA ULC, Halifa...

1. A computerized search method, comprising:configuring a search system with an index, the search system residing between a client device and a repository, the repository storing a plurality of objects, the search system comprising a server machine having a processor, a search engine, and a data storage unit containing the index, the index comprising a plurality of independently searchable metadata indices and at least one aggregate metadata index, wherein each of the plurality of independently searchable metadata indices has a corresponding defined field and contains one or more entries having corresponding metadata values for the defined field, wherein the at least one aggregate metadata index has a single defined metadata field that contains all of the metadata values corresponding to the one or more entries from at least two metadata fields of the plurality of independently searchable metadata indices, the aggregate metadata index including a dictionary, the dictionary containing terms including the metadata values from the at least two metadata fields, wherein for each of the terms, the aggregate metadata index points to each object of the plurality of objects in the repository for which any one of the at least two metadata fields contains the term;
receiving, from the client device, a search query for the aggregate metadata index, the search query specifying at least one term;
searching, by the search engine, the at least one term in the dictionary of the aggregate metadata index;
identifying, via the dictionary and the single defined metadata field of the aggregate metadata index, value storage locations of objects in the repository for which any one of the at least two metadata fields contains the at least one term specified in the search query; and
providing, by the search system, a search result to the client device, the search result identifying the objects in the repository.

US Pat. No. 10,599,689

IDENTIFYING PARAMETER VALUES IN LOG ENTRIES

International Business Ma...

1. A computer-implemented method for identifying parameter values in log entries of an application, comprising:receiving a log entry including language text and parameter values;
referencing a localization language resource of the application that includes entry types in which translatable language text is distinguished from parameters for the purposes of language substitution for localization of the application;
identifying an entry type in the localization language resource that corresponds to the log entry, wherein identifying an entry type in the localization language resource that corresponds to the log entry uses matching logic to match the language text of the log entry to the translatable language text of an entry type in the localization language resource;
analyzing the log entry with reference to the entry type to distinguish the parameter values from the translatable language text; and
extracting the parameter values from the log entry for analysis.

US Pat. No. 10,599,688

AUTOMATICALLY EMBEDDING DIGITAL MAPS IN SOFTWARE APPLICATIONS

GOOGLE LLC, Mountain Vie...

1. A non-transitory computer-readable medium storing thereon instructions that implement an application programming interface (API) for automatically providing digital maps to third-party software applications, wherein the API is configured to:receive a string of alphanumeric characters from a third-party software application that executes independently of a map service;
automatically determine whether the string is consistent with one or more indications of geographic locations;
in response to determining that the string is consistent with an indication of a geographic location:
provide a notification to the third-party software application that a potential indication of a geographic location has been detected in the string,
receive a request from the third-party software application for a digital map of the indicated geographic location, and
in response to the request, receive the digital map from the map service and provide the digital map to the third-party software application for display via a user interface.

US Pat. No. 10,599,687

INFORMATION PROCESSING DEVICE, MAP UPDATE METHOD, PROGRAM, AND INFORMATION PROCESSING SYSTEM

SONY CORPORATION, Tokyo ...

1. An information processing device comprising:a global map acquiring unit configured to acquire at least a part of a global map representing positions of one or more objects in a real space;
a local map generating unit configured to generate a local map representing positions of the one or more objects detectable by a device associated with a user;
a calculating unit configured to compare three-dimensional position of feature points included in common in the global map and in the local map, and to calculate a relative position of the local map relative to the global map based on the comparison;
a converting unit configured to convert the position data of one or more objects included in the local map into data of the global map; and
an updating unit configured to update at least a portion of the global map based on the local map, by replacing the updated portion of the global map with a corresponding portion of the local map at a predetermined period of time, or by adding the corresponding portion of the local map to the global map,
wherein the position data further includes a time stamp indicating a point in time when the position data is generated, and
wherein the global map acquiring unit, the local map generating unit, the calculating unit, the converting unit, and the updating unit are each implemented via at least one processor.

US Pat. No. 10,599,686

METHOD AND SYSTEM FOR EXTRACTING INFORMATION FROM GRAPHS

Babylon Partners Limited,...

1. A computer implemented method of mapping a first graphical data structure representation to a second graphical data structure representation, the first graphical data structure representation comprising nodes, with at least one of a plurality of relations between said nodes, the second graphical data structure representation comprising nodes, the mapping comprises using an attention mechanism, wherein said attention mechanism establishes the importance of specific nodes dependent on their neighbourhood and the relations between the nodes, wherein the attention mechanism is enacted by attention coefficients and there is a coupling between attention coefficients across different relations.

US Pat. No. 10,599,685

COMPUTER ARCHITECTURE FOR ONLINE NODE REMAPPING IN A CLOUD-BASED CORRELITHM OBJECT PROCESSING SYSTEM

BANK OF AMERICA CORPORATI...

1. A system configured to emulate a correlithm object processing system, comprising:an administrative device configured to send a first remap node command to a first device, wherein the first remap node command comprises a correlithm object key and identifies an output correlithm object type;
the first device in signal communication with the administrative device, configured to:
implement a first node linked with a first node table that identifies:
a first set of input correlithm objects, wherein each input correlithm object in the first set of input correlithm objects is an n-bit digital word of binary values; and
a first set of output correlithm objects corresponding with the first set of input correlithm objects, wherein each output correlithm object in the first set of output correlithm objects is an n-bit digital word of binary values;
receive the first remap node command;
obtain the correlithm object key from the first remap node command;
access the first node table linked with the first node;
determine the first remap node command identifies an output correlithm object type;
re-encode the first set of output correlithm objects using the correlithm object key in response to determining the first remap node command identifies an output correlithm object type; and
shuffle the order of the re-encoded first set of output correlithm objects, wherein shuffling the order of the re-encoded first set of output correlithm objects maintains the link between the first set of input correlithm objects and the first set of output correlithm objects.

US Pat. No. 10,599,683

INTEREST GROUPS BASED ON NETWORK FEED ITEMS

salesforce.com, inc., Sa...

1. An enterprise social networking database system comprising one or more feeds, the database system configurable to cause:obtaining first input data from a first device of a first user of the enterprise social networking database system, the first input data obtained from a sharing element displayed in a user interface on a display of the first device, the sharing element associated with the one or more feeds;
identifying a plurality of characteristics of the first input data, the characteristics comprising a referenced user in the first input data;
sharing a feed item comprising the first input data in the one or more feeds;
obtaining second input data associated with the feed item from a plurality of second devices of a plurality of second users of the enterprise social networking database system;
identifying one or more of the second users as having submitted in the second input data one or more of: a comment on the feed item, a like of the feed item or a request to share the feed item;
sending display data to the first device, the display data capable of being processed to cause display in the user interface of a user interface element (UI element) associated with the feed item, the UI element being operable to cause creation of a group of users of the enterprise social networking database system; and
generating or updating, responsive to obtaining an indication from the first device of interaction with the UI element, one or more group data objects in a database to create the group of users in association with the feed item, the created group of users being updateable and at least initially comprising the first user, the referenced user and the identified one or more second users.

US Pat. No. 10,599,680

REDUCTION OF VOLUME OF REPORTING DATA USING MULTIPLE DATASETS

A10 Networks, Inc., San ...

1. A system for decreasing data transfer over a network, the system comprising:a data collecting node that is a hardware device, the data collecting node being configured to:
collect a plurality of consecutive datasets having subscriber data for a period of time;
determine a frequency of a data change for one or more fields of the plurality of consecutive datasets;
based on the determination, classify data fields of the plurality of consecutive datasets into low frequency change data and high frequency change data, wherein the data fields of the low frequency change data are invariable for the plurality of consecutive datasets and wherein the data fields of the high frequency change data vary for the plurality of consecutive datasets;
analyze the high frequency change data to select, based on the analysis, an analytical function to approximate the high frequency change data;
upon the selection of the analytical function, determine function parameters associated with the analytical function, wherein the function parameters include coefficients representing a power of the analytical function;
combine the plurality of consecutive datasets into a combination dataset, wherein the combination dataset includes one instance of each data field of the low frequency change data and function parameters associated with the analytical function; and
during the period of time, determine that a number of datasets in the plurality of consecutive datasets reached a predetermined number of datasets; and
a data reporting node that is a hardware device, the data reporting node being configured to:
based on the determination that the number of datasets reached the predetermined number of datasets, generate, based on the plurality of consecutive datasets, a combination dataset, wherein the combination dataset includes one instance of each data field of the low frequency change data and aggregated data fields of the high frequency change data from the plurality of consecutive datasets, wherein each of the aggregated data fields stores a sequential list of values of each data field of the high frequency change data of one of the plurality of consecutive datasets; and
transfer the combination dataset to a data processing node over the network, wherein the data processing node is configured to restore the high frequency change data based on the analytical function and the function parameters.

US Pat. No. 10,599,676

REPLICATION CONTROL AMONG REDUNDANT DATA CENTERS

Microsoft Technology Lice...

1. A method of managing redundant data storage centers, the method comprising:redundantly storing data records across the redundant data storage centers, with a first data storage center operating as a primary data storage center configured to respond to at least user input related to changes in the data records;
placing only the first data storage center into an intermediate mode among the redundant data storage centers, wherein the intermediate mode comprises ceasing response to the user input by the first data storage center and executing pending operations related to previous user input received by the first data storage center; and
responsive to the first data storage center placed into the intermediate mode, designating a second data storage center as the primary data storage center configured to respond to at least further user input related to further changes in the data records.

US Pat. No. 10,599,675

HYBRID DATA REPLICATION

INTERNATIONAL BUSINESS MA...

1. A computer implemented method for controlling data replication, comprising:identifying data to write to a storage device;
based on determining that the data is of a first data type, sending a first write command to a first processor, which, in response to receiving the first write command, writes the data to a first storage device and sends the data to at least one second processor, which writes the data to a second storage device, including the data to the first processor without sending any write command to the second processor, wherein the first write command includes an indication that synchronous replication is required, and
wherein the indication comprises at least one of a flag included in the first write command and a data type for the first data; and
based on determining that the data is of a second data type:
sending a second write command to the first processor that writes the data to the first storage device but does not send the data to the second processor, based on receiving the second write command, wherein the second write command includes an indication that synchronous replication is not required; and
sending a third write command to the second processor that writes the data to the second storage device, based on receiving the third write command; and
receiving, from the second processor, a notification indicating that writing the data to the second storage device has not been successful, wherein the data is of the second type; and
in response to receiving the notification from the second processor, sending to the first processor a fourth write command including the data, which, in response to receiving the fourth write command, writes the data to the first storage device and sends the data to the second processor, which writes the data to the second storage device and sends to the first processor a notification indicating that writing to the second storage device has been successful.

US Pat. No. 10,599,674

APPARATUS AND METHOD FOR REPLICATING DATA

West Corporation, Omaha,...

1. A computer-implemented method, comprising:transferring, by a computing system, data from a database to a staging table in another database;
extracting, by the computing system, the data from the staging table to transform the data and moving the extracted data to another staging table after transformation, wherein the extracting of the data comprises determining whether dimensions exist in the staging table in order to receive a dimension key or a new dimension key, returning the dimension key when the dimensions exist, and inserting the new dimension key into a dimension table when the dimensions do not exist and returning the new dimension key; and
transmitting, by the computing system, the extracted data to a database of another computing system;
wherein duplicate records are prevented from being created by:
performing, by the computing system, a check for duplicated records; and
deleting, by the computing system, duplicated records from the staging table.

US Pat. No. 10,599,673

CONTENT MANAGEMENT CLIENT SYNCHRONIZATION SERVICE

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:comparing a remote tree and a sync tree to identify a server difference between the remote tree and the sync tree, wherein the remote tree represents a server state for content items stored by a content management system during a first time period, and wherein the sync tree represents a synced state during a second time period before the first time period and when the remote tree matched a local tree, wherein the local tree represents a local state for content items stored by the client device;
determining, based on the server difference, that the server state and the file system state are out of sync;
generating, based on the server difference, a client set of operations for the content items stored on the client device, wherein the client set of operations is configured to operate on the content items stored on the client device to converge the server state and the file system state; and
providing the client set of operations for execution on the client device.

US Pat. No. 10,599,672

CURSOR-BASED STATE-COLLAPSE SCHEME FOR SHARED DATABASES

Cisco Technology, Inc., ...

1. A method, comprising:inserting, by a cursor management process, temporal references into a plurality of records written within a table of a shared database, the temporal references indicative of an order in which the records are written;
pointing, by the cursor management process, a table write cursor at a last-written record from among the plurality of records;
maintaining, by the cursor management process, one or more read cursors for the table, each read cursor pointing to a last-read record of a corresponding application from among the plurality of records; and
providing, by the cursor management process, table updates to a particular application as a state-collapsed model by determining a chain of one or more updated records of the table from the last-read record of the particular application to the last-written record, the chain of one or more updated records determined by walking a particular read cursor for the particular application through the temporal references of the one or more updated records until the particular read cursor points to the last-written record according to the table write cursor, wherein in a state-collapsed model the updates are collapsed into a same physical copy of a given record.

US Pat. No. 10,599,671

CONFLICT RESOLUTION, RETRY CONDITION MANAGEMENT, AND HANDLING OF PROBLEM FILES FOR THE SYNCHRONIZATION CLIENT TO A CLOUD-BASED PLATFORM

Box, Inc., Redwood City,...

1. A processor-implemented method of resolving conflicts in a synchronization system, comprising:mapping, by a synchronization server, each of a plurality of different conflict resolvers to a different plurality of attributes, each plurality of attributes comprising each of an event type attribute, a file system attribute, and a failure reason attribute;
detecting, by the synchronization server, a conflict when executing, by the synchronization server, a sync event on a local file system on a client device and a cloud server file system, wherein the conflict is detected based on a failure when executing the sync event;
responsive to detecting the conflict, identifying, by the synchronization server, a plurality of attributes associated with the sync event, wherein the plurality of attributes associated with the sync event comprises each of a file system identifier for the sync event, an event type associated with the sync event, and a failure reason associated with the sync event; and
taking an action on the local file system on a client device or the cloud server file system to resolve the conflict, wherein the action is associated with a conflict resolver selected from the plurality of conflict resolvers based on the plurality of attributes mapped to the selected conflict resolver matching the identified set of attributes associated with the sync event and wherein the action includes modifying one of the local file system on the client device or the cloud server file system, associating a retry condition to the sync event, or a combination thereof.

US Pat. No. 10,599,667

NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM, SEARCHING METHOD, AND SEARCHING DEVICE

FUJITSU LIMITED, Kawasak...

1. A non-transitory computer-readable recording medium having stored therein a searching program that causes a computer to execute a process comprising: converting a searching data into an encoded searching data in a first encoding format according to a predetermined rule;comparing a first encoded data with the encoded searching data when the first encoded data is searched, the first encoded data having been encoded in the first encoding format according to the predetermined conversion rule or in a second encoding format according to the predetermined conversion rule; and
when the first encoded data is detected to be encoded in the second encoding format during the comparing,
converting the first encoded data encoded in the second encoding format to second encoded data encoded in the first encoding format by referring to a code conversion table; and
comparing the second encoded data with the encoded searching data, wherein the code conversion table associates data encoded into the first encoding format and data encoded into the second encoding format, wherein data to be encoded into the second encoding format is any one of a two-byte code and a one-byte code, wherein the encoded searching data in a three-byte code format and data to be encoded into the second encoding format are associated with any one of a predetermined word including a space and a character.

US Pat. No. 10,599,665

METHODS AND SYSTEMS TO REFINE SEARCH RESULTS

eBay Inc., San Jose, CA ...

1. A system comprising:at least one processor and executable instructions accessible on a computer-readable medium that, when executed, cause the at least one processor to perform operations comprising:
receiving, from a mobile device identified by a client identifier, a request including an indication of a swiping motion that is applied at a touch-sensitive screen of the mobile device that includes a display of search results including a first plurality of data items; and
responsive to receiving the request:
retrieving a refinement value from a database entry, the database entry being identified based on the client identifier and independent of the first plurality of data items included in the search results;
generating refined search results by filtering the first plurality of data items using the refinement value, the refined search results including a subset of the first plurality of data items; and
causing the mobile device to output a display of the subset of the first plurality of data items.

US Pat. No. 10,599,660

IDENTIFYING AND SCORING DATA VALUES

INTERNATIONAL BUSINESS MA...

1. A system, comprising:a processor programmed to initiate executable operations comprising:
presenting on a display text including at least a first term;
identifying a lifecycle of the first term and at least one data asset parameter assigned to the first term by querying an enterprise glossary;
determining for the first term a first score, the first score based, at least in part, on the lifecycle of the first term and the at least one data asset parameter assigned to the first term;
assigning the first score to a first data value; and
presenting on the display the first data value.

US Pat. No. 10,599,659

METHOD AND SYSTEM FOR EVALUATING USER SATISFACTION WITH RESPECT TO A USER SESSION

Oath Inc., New York, NY ...

1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network, for evaluating user satisfaction with respect to a user query session, comprising:receiving information related to a user query session comprising a plurality of queries from a user and user activities directed to a modification to a presentation of one or more information cards provided to the user in response to the plurality of queries, wherein each of the one or more information cards comprises content related to one of the plurality of queries;
computing a score with respect to the user query session based on the user activities directed to the modification to the presentation of the one or more information cards;
determining a level of satisfaction of the user with respect to the user query session based on the score and a confidence level associated with the score; and
generating, based on the level of satisfaction, user satisfaction information to be used for improving user experience,
wherein the plurality of queries are determined based on an idle period between any two consecutive queries of the plurality of queries being less than a predetermined criterion and a similarity in topic between the any two consecutive queries.

US Pat. No. 10,599,658

SEARCH DEVICE, SEARCH METHOD, AND NON-TRANSITORY COMPUTER READABLE MEDIUM FOR PERFORMING A SEARCH FOR CANDIDATE EXPERTS AND DISPLAYING RESULTS OF THE SEARCH

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

1. A search device comprising:a processor programmed to:
select a candidate expert having a determined level of relationship with a searcher searching for an expert, the expert having an expertise in a specified category and having a level of expertise based on analyzing the use history of the communication tool, the level of relationship being determined based on a history of communications between the searcher and each of a plurality of experts by weighting each type of communication in the history of communications, and summing a weighted number of each type of communication, the selecting of the candidate expert including:
assigning a weighted value to the level of expertise according to the use history,
comparing the weighted value of the level of expertise to a first predetermined threshold value,
upon the weighted value exceeding the first predetermined threshold value, identifying the candidate expert as an expert, and upon the weighted value failing to exceed the first predetermined threshold value and exceeding a second predetermined threshold value, which is lower than the first predetermined threshold value, identifying the candidate expert as a candidate expert with expertise,
selecting, as derived candidate experts, a predetermined number of candidate experts having relationships at determined levels with the candidate expert having the level of expertise that is lower than the first predetermined threshold value,
analyzing the use history of the communication tool of each of the selected derived candidate experts and calculate the level of expertise of each of the selected derived candidate experts in the category, and
selecting, as the expert, only one or more derived candidate experts having determined levels of expertise that are equal to or greater than the first predetermined threshold value from among the derived candidate experts; and
display the selected expert to the searcher as a diagram illustrating the relationship between the selected candidate expert and the searcher, the relationship being illustrated by a line, and the expert and the searcher being illustrated by nodes.

US Pat. No. 10,599,656

INDEXING AND DATA STORAGE FOR REALTIME AND CONTEMPORANEOUS CONTENT SUGGESTIONS

Twitter, Inc., San Franc...

1. A server device, comprising:at least one computer processor comprising one or more processor cores;
a memory storing:
a plurality of segments, wherein each segment of the plurality of segments comprises a corresponding postings list of at least a first content type for users of a messaging platform, wherein each corresponding postings list for each segment of the plurality of segments corresponds to content occurring in the messaging platform during a particular time period, and wherein each corresponding postings list for each segment of the plurality of segments comprises a plurality of shards; and
a node information index comprising an indication of, for each user, an index to each shard of the corresponding postings list for each of the plurality of segments;
a search module executing on the computer processor to enable the computer processor to:
receive a query identifying a first user of the users of the messaging platform;
identify, from one or more postings lists, a random sample of the first content type for the first user, wherein identifying the random sample comprises using a corresponding index to each shard of the one or more of the postings lists to randomly sample the first content type; and
provide the random sample in response to the query; and
a recommendation engine executing on the at least one computer processor to enable the at least one computer processor to:
use the provided random sample of the first content type to provide a recommendation to the first user.

US Pat. No. 10,599,655

UNIVERSAL PARSING FRAMEWORK SYSTEMS AND METHODS

OPEN TEXT GXS ULC, Halif...

1. A method, comprising:receiving an input stream from an application; the receiving performed by a parsing framework embodied on a non-transitory computer-readable medium and having an observerable/inversion of control (IOC) layer, a parser controller layer, and a layer of parser implementations, the IOC layer, the parser controller layer, or a combination thereof structurally insulating the layer of parser implementations from the application, wherein control of parsing the input stream is inverted from the application to the parsing framework;
determining, by a parser controller at the parser controller layer based at least in part on a format of the input stream, a parser at the layer of the parser implementations;
instantiating, by the parser controller, the parser determined by the parser controller;
parsing, by the parser determined by the parser controller, the input stream;
determining, by an observer manager at the IOC layer, which observer or observers of the application is or are to be notified of an outcome from the parsing by the parser at the layer of parser implementations;
generating, by the observer manager, a parsing notification; and
dispatching, by the observer manager, the parsing notification directly to any or all of the observers determined by the observer manager to be notified of the outcome from the parsing by the parser at the layer of parser implementations.

US Pat. No. 10,599,652

DATABASE QUERY TIME ESTIMATOR

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

1. A method comprising:obtaining, by a computing system, an execution plan for a database query received by a database associated with the computing system;
based at least in part on the execution plan, identifying, by the computing system, each source object to be accessed in the database to execute the database query;
based on each source object, determining by the computing system:
statistical information associated with the execution of the query,
a query-specific first number of data rows or blocks in the database to be processed to execute the database query, and
a query-specific second number of data rows or blocks in the database already processed during execution of the database query; and
estimating, by the computing system, a completion time of the database query based at least in part on:
statistical information associated with the execution of the query,
the query-specific first number of data rows or blocks in the database to be processed to execute the database query,
the query-specific second number of data rows or blocks in the database already processed during execution of the database query, and
a time value for time elapsed prior to completion of the execution of the database query to process the query-specific second number of data rows or blocks.

US Pat. No. 10,599,648

OPTIMIZED STORAGE SOLUTION FOR REAL-TIME QUERIES AND DATA MODELING

APPLIED MATERIALS, INC., ...

1. A method, comprising:receiving a set of data from a plurality of devices operating in a manufacturing environment;
separately writing a first portion of the set of data to both a relational database and a distributed storage cluster, the distributed storage cluster comprising a plurality of storage nodes in a distributed computing environment;
upon receiving a query to be processed from the set of data:
analyzing the query to determine an application from which the query was received;
selecting one of the relational database and the distributed storage cluster for processing the query, based on a mapping rule that defines a predefined relationship between a type of the application from which the query was received and the selected one of the relational database and the distributed storage cluster, wherein the mapping rule specifies that queries from applications related to real-time operations are to be processed by the relational database; and
submitting the query to the selected one of the relational database and the distributed storage cluster for execution;
purging the first portion of the set of data from the relational database upon the stored first portion of the set of data in the relational database reaching a first age; and
purging the first portion of the set of data from the distributed storage cluster upon the stored first portion of the set of data in the distributed storage cluster reaching a second age, wherein the first age and the second age are different, and wherein the first age is lower than the second age.

US Pat. No. 10,599,647

PARTITIONING-BASED VECTORIZED HASH JOIN WITH COMPACT STORAGE FOOTPRINT

Oracle International Corp...

9. A computer implemented method, comprising:storing a build key array comprising build key array elements;
generating hash table comprising:
a hash bucket array comprising hash bucket elements, each hash bucket element of the hash bucket elements corresponding to a hash bucket of the hash table;
a link array comprising link array elements, wherein the link array is index aligned with the build key array elements;
wherein each hash bucket element includes an offset value that identifies a respective link array element of the link array elements, wherein the respective link array element:
identifies an offset value of the link array that corresponds to a member build key array element of the build key array elements that is a member of said each hash bucket element; or
specifies that there is no other member build key array elements of the build key array elements for the hash bucket corresponding to the hash bucket element;
selecting at least a subset of build key array elements of the build key array elements and calculating hash values for each build key array element in the subset of build key array elements;
generating a temporary array that maps each build key array element of the subset of build key array elements to hash bucket elements of the hash bucket array based on the calculated hash values for the subset of build key array elements;
for each of the hash bucket elements mapped in the temporary array, copying existing offset values from the hash bucket elements to corresponding link array elements that have an offset values equal to the offset values of the subset of build key array elements in the temporary array; and
for each build key array element of the subset of build key array elements mapped in the temporary array, inserting the offset value from the each build key array element into the corresponding hash bucket element of the hash bucket elements that is mapped to the build key array element in the temporary array.

US Pat. No. 10,599,645

BIDIRECTIONAL PROBABILISTIC NATURAL LANGUAGE REWRITING AND SELECTION

SoundHound, Inc., Santa ...

1. A computer-implemented method of rewriting an input token sequence of a user query when providing query results to the user, the method comprising:receiving, over a computer network from an application executing on a remote client device, a user query from a system user, the query comprising the input token sequence;
determining forward probabilities, according to a forward statistical language model, for a plurality of tokens in the input token sequence;
determining backward probabilities, according to a backward statistical language model, for a plurality of tokens in the input token sequence;
inserting a new token at a location after a first token having a low backward probability and before an adjacent second token having a low forward probability to create a new rewritten token sequence;
processing the new rewritten token sequence to produce a result; and
providing a response, indicating the result of the processing, to the system user.

US Pat. No. 10,599,644

SYSTEM AND METHOD FOR MANAGING ARTIFICIAL CONVERSATIONAL ENTITIES ENHANCED BY SOCIAL KNOWLEDGE

INTERNATIONAL BUSINESS MA...

1. A method for answering a natural-language user query, comprising:receiving a natural-language user query from a user by a central agent;
parsing the natural-language user query;
determining if an answer to the parsed natural-language user query is known to the central agent as being within a local database;
answering the parsed natural-language user query, in the form of a known natural-language answer, using the local database, when it is determined that the answer to the parsed natural-language user query is known to the central agent as being within the local database;
when it is determined that the answer to the parsed natural-language user query is not known to the central agent as being within the local database, artificial conversational entity (ACE) invocation is performed, the ACE invocation comprising:
determining a topical field for the parsed natural-language query;
determining an ACE, of a plurality of available ACEs, to send the parsed natural-language query to, based on the determined topical field;
sending the parsed natural-language query to the determined ACE; and
receiving a natural-language answer to the parsed natural-language query from the determined ACE, and presenting the received natural-language answer to the user when the determined ACE is capable of answering the parsed natural-language query; and
creating a natural-language answer to the parsed natural-language query using social knowledge, and presenting the created natural-language answer to the user when the determined ACE is not capable of answering the parsed natural-language query,
wherein social knowledge includes data that is crawled from social media services, and
wherein the data that is crawled from the social media services includes data provided by an influencer having followers exceeding a predetermined number or data having positive feedback exceeding a predetermined threshold.

US Pat. No. 10,599,643

TEMPLATE-DRIVEN STRUCTURED QUERY GENERATION

CAPRICORN HOLDINGS PTE, L...

1. A system, comprising a server hardware computing device coupled to a computer network and comprising at least one processor executing computer-executable instructions within a memory that, when executed, cause the system to:store:
within a knowledge model database, a knowledge model for a knowledge domain, the knowledge model defining:
a plurality of entities including concepts and instances, and
a plurality of interrelationships between the plurality of entities;
within a knowledge base, a plurality of identified items, each associated within the knowledge base with at least one annotation identifying at least one of the entities in the knowledge model; and
within a template repository, a plurality of templates, each of the plurality of templates including a concept and a relationship from the knowledge model;
execute a query selecting the plurality of templates from the template repository;
generate a Graphical User Interface (GUI) comprising:
a first GUI component configured to receive a first user input selecting a template from a list of the plurality of templates; and
a second GUI component configured to receive a second user input replacing the concept, within the template selected, with an instance of the concept stored in the knowledge model;
transmit the template and the GUI through the computer network to a client hardware computing device;
receive, through the computer network from the GUI displayed on the client hardware computing device, an instantiation of the template comprising a generated query including the instance replacing the concept, and the relationship; and
query the knowledge base, using the generated query, to identify an item in the plurality of items associated in the knowledge base with a metadata including the instance and the relationship, wherein the item is associated with an annotation including the instantiation.

US Pat. No. 10,599,642

DATA AGGREGATION PROCESS

Cadence Design Systems, I...

1. A computer-implemented method comprising:displaying, at a graphical user interface (“GUI”), an electronic design automation debugging platform having a plurality of GUI plug-ins, wherein each of the plurality of GUI plug-ins is configured to access the electronic design automation debugging platform and be automatically included in a debugging display associated with an electronic design automation application;
allowing, via one or more computing devices, at least one data provider access to a data abstraction layer;
allowing the plurality of GUI plug-ins access to the data abstraction layer, wherein allowing the plurality of GUI plug-ins access to the data abstraction layer includes registering the plurality of GUI-plugins with the data abstraction layer at runtime and assigning a separate query delegate of a plurality of query delegates to each GUI plug-in of the plurality of GUI plug-ins, wherein each GUI plug-in of the plurality of GUI plug-ins is configured to access the data abstraction layer via the assigned query delegate;
receiving, at the data abstraction layer, a query and a data aggregator instance from at least one GUI plug-in of the plurality of GUI plug-ins, wherein the data aggregator instance defines how data is aggregated for the at least on GUI plug-in;
in response to the query, retrieving one or more data sets from the at least one data provider;
aggregating a subset of the one or more data sets from the at least one data provider, wherein the at least one data provider is configured to provide a null reference in response to a query not supported by the at least one data provider and the data abstraction layer is configured to ignore the null reference when aggregating the subset of the one or more data sets from the at least one data provider;
providing the subset of the one or more data sets to the at least one GUI plug-in; and
debugging, using the at least one GUI plug-in, an electronic design.

US Pat. No. 10,599,640

PREDICTIVE SEARCH WITH CONTEXT FILTERING

20. A method, comprising:detecting, by a processing system including at least one processor, a biometric condition of a user exceeding a threshold;
determining, by the processing system, a triggering object associated with the biometric condition, wherein the triggering object is captured via a camera;
applying, by the processing system, the triggering object and at least one personal parameter to a plurality of context filters, wherein each of the plurality of context filters provides a relevance topic based upon the triggering object and the at least one personal parameter;
generating, by the processing system, a plurality of search terms based upon the relevance topics that are determined from the plurality of context filters; and
presenting, by the processing system, the plurality of search terms via a user interface.

US Pat. No. 10,599,639

PARALLEL STREAM PROCESSING OF CHANGE DATA CAPTURE

Capital One Services, LLC...

1. A computer-implemented method comprising:receiving, by a first device, a stream of transactions from a first database, wherein the stream of transactions includes a first encoded transaction that comprises:
an offset value,
a first event that includes a first operation, a set of first values in a set of primary key columns, and a first event number, and
a second event that includes a second operation, a second set of values in the set of primary key columns, and a second event number;
dividing, by the first device, the first encoded transaction into a plurality of events, wherein the plurality of events comprises the first event and the second event;
associating, by the first device, each of the events in the plurality of events with an event number and the offset value, wherein the first event is associated with the first event number and the offset value and the second event is associated with the second event number and the offset value;
decoding, by the first device, the plurality of events in parallel;
combining, by the first device, the plurality of decoded events to assemble a first decoded transaction, wherein the offset value and the event number of each event in the plurality of decoded events are used to assemble the first decoded transaction in an order in which the plurality of events appeared in the first encoded transaction;
determining, by the first device, whether the set of first values in the primary key columns of the first event is equal to the set of second values in the set of primary key columns of the second event;
reducing, by the first device, the plurality of events by combining the first event and the second event to produce a third event when the set of first values in the primary key columns of the first event is equal to the set of second values in the primary key columns of the second event; and
writing, in parallel by the first device, the plurality of reduced events to a second database.

US Pat. No. 10,599,634

SIGNALING WHICH VERSION INFORMATION TO USE ON BYTE-RANGE FILE REPAIR

QUALCOMM Incorporated, S...

1. A computing device, comprising:a processor configured with processor-executable instructions to perform operations comprising:
determining whether a description of a service includes an entity tag (ETag) value for a file in response to determining that byte-range file repair is needed to repair the file wherein the description of the service is an Associated Delivery Procedure Description (ADPD) metadata fragment;
generating a partial Hypertext Transfer Protocol (HTTP) GET request for byte-range file repair including the ETag value in an If-Match header element in response to determining that the description of the service includes the ETag value;
determining whether an attribute of the ADPD metadata fragment indicates a server supports using an MD5 as the ETag value in response to determining that the ADPD metadata fragment does not include the ETag value; and
generating a partial HTTP GET request for byte-range file repair including the MD5 as the ETag value in an If-Match header element in response to determining that the attribute of the ADPD metadata fragment indicates the server supports using the MD5 as the ETag value.

US Pat. No. 10,599,632

DOMAIN NAME REGISTRATION AND MANAGEMENT

AFILIAS PLC, Dublin (IE)...

1. A method for synchronizing management of a plurality of domain names in a Domain Name System (DNS), which comprises:receiving a request from a domain name registrant for an action as an operation on an object unique to a domain name of the DNS, the domain name having synchronized objects with another domain name being stored as a domain name bundle including the domain name in a domain name database, the domain name bundle having a domain name bundle;
changing the object in the domain name database according to the action;
obtaining a list of domain names contained in the domain name bundle, the domain name bundle associated with the domain name;
identifying the another domain name in the domain name bundle by inspecting the list of domain names, the domain name bundle being separate from the request;
requesting a change to a corresponding object to the object for the another domain name with the action in order to propagate the operation performed on the object to the corresponding object based on said identifying the other domain name in the domain name bundle, such that the domain name bundle includes the domain name, the corresponding object being unique to the another domain name;
including the operation in a transaction log containing all operations executed on the object of the domain name and the corresponding object of the another domain name of the domain name bundle, the domain name identified in the transaction log by a first domain name ID and the another domain name identified in the transaction log by a second domain name ID; and
forwarding a reported result of the action to the domain name registrant, the object and the corresponding object representing the synchronized objects by having the same parameter value, an owner to all domain names in the domain name bundle being the domain name registrant.

US Pat. No. 10,599,631

LOGGING SYSTEM AND METHOD FOR LOGGING

1. A logging system for logging tests of electronic devices by at least one measurement and/or testing device, the logging system comprising:a first video recording unit, which records a video of the electronic device under test while the test is performed on the electronic device by the at least one measurement and/or testing device, wherein the first video recording unit comprises a camera;
an audio recording device, which records an audio stream of sounds that are emitted by the electric device and/or the measurement and/or testing device, while the electronic device is tested;
a log memory, which stores a log of the tests performed by the at least one measurement and/or testing device on the electronic device, wherein the log comprises at least one of log or test messages produced by the at least one measurement and/or testing device while the test is performed on the electronic device; and
a processor, which timely synchronizes the log of the tests with the video recorded by the first video recording unit and stores the log with the video in the log memory,
wherein every log or text message is provided with a time stamp and every frame of the recoded video is provided with a time stamp, and
wherein the processor timely synchronizes the log of the tests with the respective sections of the recorded audio stream.

US Pat. No. 10,599,630

ELIMINATION OF LOG FILE SYNCHRONIZATION DELAY AT TRANSACTION COMMIT TIME

Oracle International Corp...

1. A method comprising:generating one or more change records corresponding to a database transaction, said one or more change records describing changes to one or more data blocks;
entering one or more buffer entries comprising the one or more change records into a persistent change log buffer that is allocated in byte-addressable non-volatile memory;
persistently storing a current write progress marker, wherein all buffer entries in the persistent change log buffer that are below the current write progress marker have been written to one or more change record log files;
performing a commit operation by at least:
generating a commit change record corresponding to the database transaction;
entering a commit buffer entry comprising the commit change record into the persistent change log buffer; and
returning, by the commit operation, without waiting for the commit change record to be recorded in a change record log file;
after performing said commit operation, writing through a block input/output interface said commit change record to said change record log file; and
wherein the method is performed by one or more computing devices.

US Pat. No. 10,599,624

STORAGE SYSTEM WITH DIRECTORY-BASED STORAGE TIERING

EMC IP Holding Company LL...

1. An apparatus comprising:a storage system comprising at least first and second storage tiers each comprising a plurality of storage devices;
the storage system implementing a parallel file system comprising at least first and second sets of storage servers;
the first set of storage servers being configured to access directories of the parallel file system that are stored in storage devices of the first storage tier; and
the second set of storage servers being configured to access directories of the parallel file system that are stored in storage devices of the second storage tier;
wherein the storage system is further configured to move data between the first and second storage tiers by moving data files between different directories of the respective first and second storage tiers;
a given one of the directories of the first storage tier having an extended attribute which indicates its exclusive association with the servers of the first set of servers; and
a given one of the directories of the second storage tier having an extended attribute which indicates its exclusive association with the servers of the second set of servers;
the extended attributes thereby exclusively associating particular ones of the directories with particular ones of the sets of storage servers;
wherein an application determines whether to write a given data file to a directory of the first storage tier or to a directory of the second storage tier based at least in part on respective extended attributes of those directories exclusively associating the directories with respective ones of the first and second sets of servers; and
wherein the storage system is further configured to move data files between a temporary directory of the first storage tier and a permanent directory of the second storage tier.

US Pat. No. 10,599,623

MATCHING MULTIDIMENSIONAL PROJECTIONS OF FUNCTIONAL SPACE

Locus LP, Hamilton (BM)

1. A computer-implemented method executing on a processor coupled to a memory for algorithmically using an n-dimensional representation derived from a systems syntax for projecting location or relationships associated with data entities in n+k-dimensional space, the method comprising:electronically representing a systems syntax, wherein the systems syntax comprises a logical data model that can be applied by a computer processor to evaluate or generate expressions of elements, wherein the elements represent parts, processes, and interactions of an underlying system;
electronically receiving an input from a computing device, wherein the input is capable of being represented as a functional location in n-dimensional space, and wherein the data entities at a functional location characterize one or more of the elements, and storing the input as a data entity;
wherein at least one of the dimensions in the n-dimensional space represents a functional domain, the functional domain comprising attributes of roles, order, or relationships among the elements;
electronically assigning a set of functional locations in the n-dimensional space to the data entity, the locations based on attributes of the data entity;
algorithmically computing a syntactic proximity among a set of functional locations by executing an algorithm based on the systems syntax on a set of the locations in n-dimensional space,
wherein the syntactic proximity characterizes a quantitative or qualitative measure of similarity amongst attributes of the elements of the underlying system with respect to a projection of the functional location;
algorithmically computing a projection at a point in time of location or relationships associated with one or more of the elements in the underlying system as represented by the data entities in the n-dimensional space, based on the computed syntactic proximity.

US Pat. No. 10,599,620

METHOD AND SYSTEM FOR OBJECT SYNCHRONIZATION IN CRM SYSTEMS

Full Circle Insights, Inc...

1. A computer-implemented method for synchronizing Customer Relationship Management (CRM) data, comprising:triggering, by a synchronization signal, an indication that information is to be synchronized from a plurality of objects in memory of a CRM system;
collecting a plurality of sets of information from a respective plurality of objects, wherein the respective plurality of objects includes a first object of a first object type and a second object of a second object type, wherein the first object type is distinct from the second object type, wherein the plurality of sets of information includes information from the first object and the second object, and wherein the first object and second objects are selected from a lead object, a contact object, a campaign object, or an opportunity object;
recording in memory a first set of response synchronization information that includes the plurality of sets of information into a first response object;
overwriting in memory at least a subset of information from the plurality of sets of information in the plurality of objects; and
recording in memory a second set of response synchronization information into the first response object.

US Pat. No. 10,599,619

TECHNIQUES FOR MANAGING FILE FRAGMENTATION AT A COMPUTING DEVICE

Apple Inc., Cupertino, C...

1. A method for managing fragmentation of files at a computing device, the method comprising, at the computing device:receiving a request to access a file, wherein the file is associated with (i) a scanned flag, and (ii) a fragmentation score;
determining, based on the scanned flag, that the file should be scanned for fragmentation; and
in response to determining that the file should be scanned for fragmentation:
accessing a plurality of extents associated with the file, wherein each extent of the plurality of extents corresponds to (i) a starting physical block address within a memory, and (ii) a length of successive physical blocks within the memory;
establishing, based on a size of the file, a plurality of segment windows under which to analyze the plurality of extents;
for each segment window of the plurality of segment windows in which at least two extents of the plurality of extents are logically disposed:
identifying, among the at least two extents, a number of contiguity gaps that exist between the respective physical blocks of the at least two extents, and
adding the number to the fragmentation score when the number satisfies a fragmentation threshold; and
updating the scanned flag to indicate that the file should not be scanned for fragmentation.

US Pat. No. 10,599,618

NAMESPACE PERFORMANCE ACCELERATION BY SELECTIVE SSD CACHING

EMC IP Holding Company LL...

1. A method, comprising:receiving metadata in the form of a modification to metadata represented by a file system namespace abstraction, wherein the file system namespace abstraction corresponds to less than an entire file system namespace;
updating the file system namespace abstraction based on the received metadata;
determining if caching is enabled for the file system namespace abstraction; and
when caching is enabled for the file system namespace abstraction, caching the updated file system namespace abstraction in SSD storage.

US Pat. No. 10,599,616

EMULATING TRANSPARENT FILE ENCRYPTION

Sophos Limited, Abingdon...

1. A method for emulating transparent file encryption, the method comprising:receiving a file operation for a file, the file operation being a user-space file operation specifying a label for a volume and a path specifying a unique location in a synchronized folder of encrypted files on a cloud-based file synchronization service;
creating a secure directory using a secure mount point process at a new location adjacent to the unique location;
marking the unique location as hidden using a file system folder attribute;
using a new label for the new location and renaming the new location to the unique location;
redirecting access to the unique location to the new location, thereby providing a new label for accessing the unique location; and
executing the file operation on the file using the new label to transparently apply a recipe that encrypts the file when the file is moved to the synchronized folder by the file operation and decrypts the file when the file is moved from the synchronized folder by the file operation.

US Pat. No. 10,599,615

SYSTEM, METHOD, AND RECORDING MEDIUM FOR RECYCLE BIN MANAGEMENT BASED ON COGNITIVE FACTORS

INTERNATIONAL BUSINESS MA...

1. A recycle bin management system, comprising:a cognitive detection circuit configured to detect a cognitive state and a cognitive characteristic of a user at a time when the user is performing a first deletion of a file to a recycle bin; and
a file tagging circuit configured to tag the file with a cognitive indicator based on the cognitive state and the cognitive characteristic of the user, the cognitive indicator altering a visual display of the file in the recycle bin to indicate the cognitive state and the cognitive characteristic of the user before the user performs a second deletion to delete the file from the recycle bin.

US Pat. No. 10,599,610

PROGRAMMATIC SELF-LEARNING OF INTER-SYSTEM DOCUMENT PROCESSING CONFIGURATIONS

International Business Ma...

1. A computer-implemented method, comprising:determining, by analysis of content of a received electronic data interchange (EDI) instance document, an EDI standard and syntax formatting of encoded hierarchical envelopes of the EDI instance document that each package a portion of payload data within the received EDI instance document, where the received EDI instance document comprises a real EDI instance document;
configuring in real time, in accordance with the determined EDI standard and syntax formatting of the encoded hierarchical envelopes, an EDI reception processing sequence definition that encodes a hierarchical EDI reception processing rule sequence usable to partition the encoded hierarchical envelopes and to invoke processing of the payload data packaged within the encoded hierarchical envelopes; and
partitioning the encoded hierarchical envelopes of the received real EDI instance document and invoking the processing of the payload data packaged within the partitioned encoded hierarchical envelopes in real time using the real-time configured EDI reception processing sequence definition that encodes the hierarchical EDI reception processing rule sequence.

US Pat. No. 10,599,609

METHOD AND SYSTEM FOR ELASTIC, DISTRIBUTED TRANSCODING

EMC IP Holding Company LL...

1. A computer implemented method for transcoding a plurality of media files using a transcoding farm comprising:ingesting, by the transcoding farm, a plurality of media files from intermediate storage, wherein the transcoding farm includes a virtual data center having elastic resources;
transcoding, by the transcoding farm, the plurality of media files in parallel to a plurality of output formats in an elastic storage infrastructure; and
packaging, by the transcoding farm, the plurality of transcoded media files for distribution via a content delivery network;
wherein ingesting the plurality of media files from the intermediate storage comprises receiving a plurality of transcoding processing jobs and managing the plurality of transcoding jobs utilizing a first job queue for pending transcoding jobs and at least a second job queue for working transcoding jobs;
wherein transcoding the plurality of media files in parallel to the plurality of output formats in the elastic storage infrastructure comprises:
selecting a given one of the transcoding jobs in the first job queue;
assigning the given transcoding job to a given set of resources providing a given virtual transcoder instance in the elastic storage infrastructure;
moving the given transcoding job from the first job queue to the second job queue;
utilizing the given virtual transcoder instance to transcode one or more of the plurality of media files in the given transcoding job;
receiving a notification from the given virtual transcoder instance that the given transcoding job is completed;
removing the given transcoding job from the second queue; and
releasing the given set of resources providing the given virtual transcoder instance in the elastic storage infrastructure for use in dynamically instantiating one or more additional virtual transcoder instances for one or more other ones of the plurality of transcoding jobs in the first queue; and
wherein assigning the given transcoding job to the given set of resources providing the given virtual transcoder instance in the elastic storage infrastructure comprises:
identifying a set of performance requirements for the given transcoding job;
determining whether the elastic storage infrastructure has sufficient available resources to meet the set of performance requirements for the given transcoding job;
responsive to determining that the elastic storage infrastructure has sufficient available resources to meet the set of performance requirements for the given transcoding job, dynamically instantiating the given virtual transcoder instance utilizing a subset of the available resources in the elastic storage infrastructure; and
responsive to determining that the elastic storage infrastructure does not have sufficient available resources to meet the set of performance requirements for the given transcoding job, provisioning additional resources in the elastic storage infrastructure and dynamically instantiating the given virtual transcoder instance utilizing the additional resources provisioned in the elastic storage infrastructure.

US Pat. No. 10,599,608

CALCULATOR, METHOD OF REGISTERING OPERAND IN CALCULATOR, AND COMPUTER-READABLE NON-TRANSITORY STORAGE MEDIUM

CASIO COMPUTER CO., LTD.,...

1. A calculator comprising:a plurality of numeric keys;
a plurality of operation keys, including a first operation key and a second operation key;
a delimiter key;
a memory; and
a processor,
wherein said processor is configured to:
when a first numerical data having at least a first integer, a delimiter, and a second integer arranged in that order has been received via operations by a user of said delimiter key and at least one of said plurality of numeric keys and when the first integer is larger than the second integer or the first integer is an integer multiple of the second integer, upon receiving a prescribed operation of the first operation key, register said first integer in said memory as a first operand, and registers said second integer in said memory as a second operand;
thereafter, receive an integer as a target operand that is input via an operation or operations of at least one of said plurality of numeric keys; and
when the second operation key is operated after registration of said first integer and said second integer in said memory, register in said memory said target-operand, and perform a prescribed arithmetic operation on said target-operand registered in said memory using a plurality of registered operands that include the registered first and second operands.

US Pat. No. 10,599,607

METHOD AND SYSTEM FOR INTERPRETING CLICKS ON A MULTI-FUNCTION INPUT DEVICE

TEXAS INSTRUMENTS INCORPO...

1. A method for interpreting clicks on a multi-function input device comprised in a digital device, the method comprising:receiving a click from the multi-function input device;
determining a position of the click on the multi-function input device and a cursor displayed on a display comprised in the digital device;
performing an action according to the position of the click when the cursor is a cursor designated as a cursor requiring a click at a specific position on the multi-function input device; and
performing an action associated with the cursor when the cursor is not a cursor designated as a cursor requiring a click at a specific position on the multi-function input device.

US Pat. No. 10,599,606

424 ENCODING SCHEMES TO REDUCE COUPLING AND POWER NOISE ON PAM-4 DATA BUSES

NVIDIA Corp., Santa Clar...

1. A method of encoding a series of data bits onto a serial data bus, the method comprising:determining if (a) a first four-level symbol for a first sequence of two bits of the series of data bits is at a first voltage level of a Pulse Amplitude Modulation 4 Level (PAM-4) encoding, wherein the first voltage level is one of a highest of four voltage levels of the PAM-4 encoding and a lowest of the four voltage levels of the PAM-4 encoding;
determining if (b) a second four-level symbol for a second sequence of two bits of the series of data bits immediately following the first sequence of two bits is at a second voltage level of the PAM-4 encoding different than the first voltage level, wherein the second voltage level is one of the highest voltage level used by the PAM-4 encoding and the lowest voltage level used by the PAM-4 encoding; and
on condition that (a) and (b) are both true, encoding a two-level bridge symbol between the first four-level symbol and the second four-level symbol on a data lane of the serial data bus.

US Pat. No. 10,599,605

SYSTEM AND METHOD FOR ABSTRACTING SATA AND/OR SAS STORAGE MEDIA DEVICES VIA A FULL DUPLEX QUEUED COMMAND INTERFACE TO INCREASE PERFORMANCE, LOWER HOST OVERHEAD, AND SIMPLIFY SCALING STORAGE MEDIA DEVICES AND SYSTEMS

CONCURRENT VENTURES, LLC,...

1. A routable packet-switched network supported by an abstraction protocol comprising:at least one host;
a master controller, the master controller comprising a master processing element, a master controller interface to communicate with the host, and at least one master controller control link interface; and
at least one edge controller, the edge controller comprising an edge processing element, an edge controller control link interface to communicate with the master controller via the master controller control link interface, and at least one storage media device interface to communicate with at least one storage media device,
wherein the master controller and the edge controller communicate via the abstraction protocol, the abstraction protocol comprising a full-duplex protocol supporting full command queuing for the at least one storage media device, wherein the abstraction protocol simultaneously supports both serial ATA (SATA) and serial attached SCSI (SAS) storage media devices, and wherein the edge controller further comprises at least one other master controller further in communication with at least one other edge controller, when the edge processing element associated with the edge controller authors abstract protocol messages intended for the other edge controller.

US Pat. No. 10,599,603

FORWARDING ELEMENT INTEGRATED CIRCUIT CHIP WITH SEPARATE I/O AND SWITCHING TILES

Barefoot Networks, Inc., ...

1. A forwarding chip comprising:a core first application-specific integrated circuit (ASIC) die comprising switching fabric to perform forwarding operations of the forwarding chip;
an input-output (IO) second ASIC die in communication with the core first ASIC die to serve as an IO interface of the core first ASIC die;
a substrate on which the first and second ASIC dies are mounted and through which they communicatively couple; and
a chip encapsulating member for encapsulating the first and second ASIC dies and substrate in a chip housing, wherein:
the input-output second ASIC die includes an arrangement of microbumps with associated functionality,
the arrangement of microbumps with associated functionality is symmetrical about a central axis of the input-output second ASIC die that separates a first top set of lanes and a second bottom set of lanes, and
a microbump is associated with a first functionality and a second microbump is associated with a second and different functionality than that of the first functionality.

US Pat. No. 10,599,601

SINGLE-WIRE BUS (SUBUS) SLAVE CIRCUIT AND RELATED APPARATUS

Qorvo US, Inc., Greensbo...

1. A single-wire bus (SuBUS) slave circuit comprising:a front-end circuit coupled to a SuBUS and configured to receive a start-of-sequence (SOS) training sequence corresponding to a synchronization interval and preceding a SuBUS telegram corresponding to a predefined SuBUS operation; and
a digital control circuit coupled to the front-end circuit and configured to:
count a plurality of free-running oscillator (FRO) pulses during the synchronization interval;
determine a slave FRO count during a predefined slave task interval based on the plurality of FRO pulses counted during the synchronization interval;
control the front-end circuit to enable a slave task independent of the predefined SuBUS operation during the predefined slave task interval; and
control the front-end circuit to disable the slave task in response to the slave FRO count indicating an expiration of the predefined slave task interval.

US Pat. No. 10,599,598

PCIE WRITE REQUEST ACKNOWLEDGMENT

Hewlett Packard Enterpris...

1. A PCIe (Peripheral Component Interconnect Express) protocol converter for connection to a central processing unit (CPU) node having a root complex, a CPU memory fabric, and CPU memory, the PCIe protocol converter comprising:independent PCIe links, each respective link of the links comprising
a respective endpoint for connection to the root complex; and
a respective fabric interface connected to the respective endpoint; and
a fabric switch connected to the fabric interface of each of the links and connectable to a remote node, wherein the fabric switch is to transmit writes of a single write request from the remote node across the links,
wherein each fabric interface is to transmit an acknowledgment to the remote node in response to a write of the writes becoming observable at the central processing unit node; and
wherein the fabric interface is to output a push communication to the CPU node following receipt and transmission of the write, wherein the push communication causes the CPU node to transmit a push response to the fabric interface in response to the write preceding the push communication becoming observable at the central processing unit and wherein the fabric interface transmits the acknowledgment in response to receipt of the push response.

US Pat. No. 10,599,597

PROGRAMMABLE VBUS DISCHARGE IN USB POWER DELIVERY

Cypress Semiconductor Cor...

1. An integrated circuit (IC) for controlling power transfer on a Universal Serial Bus (USB) voltage (VBUS) line, the IC comprising:a USB Power Delivery (USB-PD) controller disposed in a semiconductor die, wherein the USB-PD controller comprises:
a first discharge circuit disposed on the semiconductor die, wherein the first discharge circuit is to couple to a power source node on the VBUS line and to drive current, at a first programmable drive-strength, from the VBUS line through the USB-PD controller to a USB ground line;
a second discharge circuit disposed on the semiconductor die, wherein the second discharge circuit is to couple to an output node on the VBUS line and to drive current, at a second programmable drive-strength, from the VBUS line through the USB-PD controller to the USB ground line; and
a discharge control logic coupled to the first discharge circuit and to the second discharge circuit, wherein the discharge control logic is to independently control the first discharge circuit and the second discharge circuit to discharge voltage on the VBUS line;
wherein the discharge control logic is to generate multi-bit control signals that are applied to the first discharge circuit and the second discharge circuit to control the first programmable drive-strength and the second programmable drive-strength, respectively.

US Pat. No. 10,599,593

DEVICE FOR A SPACECRAFT

THALES, Courbevoie (FR)

1. A device for a spacecraft comprising:electronic boards;
elements that are robust to radiation, wherein the robustness indicates a foreseeable failure rate that is lower than a threshold called acceptable threshold, comprising:
a shared bus for exchanging electric power between electronic boards;
a shared bus for exchanging data between the electronic boards;
a module for managing the inputs/outputs and for telemetry gathering, per electronic board; and
an electrical level interface between an electronic board and the shared data exchange bus, per electronic board;
wherein at least one electronic board comprises:
a part equipped with commercial-off-the-shelf (COTS components whose failure rate is unforeseeable or greater than or equal to the acceptable threshold; and
a firewall formed of components that are robust to radiation and whose failure rate is foreseeable and lower than the acceptable threshold, comprising a module for monitoring and protecting the power flows of the shared power exchange bus and a module for monitoring and protecting the inputs/outputs in order to manage the power supply and the communication of the components of the at least one electronic board.

US Pat. No. 10,599,592

EXTENDED PLATFORM WITH ADDITIONAL MEMORY MODULE SLOTS PER CPU SOCKET AND CONFIGURED FOR INCREASED PERFORMANCE

Intel Corporation, Santa...

1. An apparatus comprising:a printed circuit board including first, second, and third rows of elements;
the first row of elements including a first central processing unit (CPU) socket configured to receive a first CPU and a first memory region configured to receive at least one memory module that includes volatile memory and non-volatile memory;
the second row of elements including a second memory region and a third memory region, the second and third memory regions to separately receive at least one memory module that includes volatile memory and non-volatile memory, the first CPU socket positioned adjacent to the first and second memory regions; and
the third row of elements including a second CPU socket configured to receive a second CPU and a fourth memory region configured to receive at least one memory module that includes volatile memory and non-volatile memory, the second CPU socket positioned adjacent to the third and fourth memory regions.

US Pat. No. 10,599,590

UNIFORM MEMORY ACCESS ARCHITECTURE

International Business Ma...

1. A computer system with a set of processor chips comprising a plurality of processor chips and a set of memory buffer chips comprising a plurality of memory buffer chips,each of the memory buffer chips being communicatively coupled to at least one memory module configured for storing memory lines and assigned to the memory buffer chip,
each of the processor chips comprising a cache configured for caching memory lines, each of the processor chips being communicatively coupled to each of the memory buffer chips via a memory-buffer-chip-specific bidirectional serial point-to-point communication connection, each of the processor chips being configured for transferring memory lines between the cache of the processor chip and each of the memory modules via the respective memory-buffer-chip-specific bidirectional serial point-to-point communication connection.

US Pat. No. 10,599,588

INTERCONNECTION OF PERIPHERAL DEVICES ON DIFFERENT ELECTRONIC DEVICES

OPEN INVENTION NETWORK LL...

1. A method, comprising:transmitting data designated for a remote peripheral device to a local virtual device object, the data received by the local virtual device object is transmitted via at least one of a communication interface and a peripheral device of an electronic device to at least one of a remote communication interface and the remote peripheral device of a remote electronic device, the local virtual device object operating on the electronic device and emulating the remote peripheral device of the remote electronic device;
analyzing by the local virtual device object of the incoming data for a node id specified in the local virtual device object;
buffering the data at a buffer at the local virtual device object, wherein an algorithm is configured to automatically set the amount of buffer for the local virtual device object based on the different speeds of the peripheral device, such speed can be detected by comparing the time for filling up the initial buffer by the incoming data with the time the data is read by the peripheral device, further wherein the algorithm automatically decides the location of stored buffered data, either in volatile or non-volatile memory;
receiving by a remote virtual device object the data designated for the at least one of the remote communication interface and the peripheral device of the remote electronic device;
querying the remote peripheral device via the local virtual device object to determine the remote peripheral device is available to receive data, wherein if the virtual device object detects that the remote peripheral device is not available, a secondary remote peripheral device is queried; and
transmitting the data to the designated remote peripheral device.

US Pat. No. 10,599,585

LEAST RECENTLY USED-BASED HOTNESS TRACKING MECHANISM ENHANCEMENTS FOR HIGH PERFORMANCE CACHING

INTEL CORPORATION, Santa...

1. A method for caching data accessed in a storage device, the method comprising:selecting a list from a plurality of lists based on a cache block accessed from a cache memory, the cache memory being partitioned into a plurality of cache portions, each of the plurality of lists being assigned to a respective cache portion of the plurality of cache portions, each of the plurality of lists indicating an order in which cache blocks of the respective cache portion were accessed;
determining whether the accessed cache block meets a list update criteria based on a count value of the selected list, a count value of the accessed cache block, and a threshold number of updates to the selected list;
updating the order in which cache blocks, assigned to the selected list, were accessed from the cache memory based on determining the accessed cache block meets the list update criteria; and
modifying the count value of the selected list only when the order of the selected list is updated,
wherein the count value of the selected list represents a number of times the selected list has been updated based on access to the cache blocks ordered by the selected list.

US Pat. No. 10,599,584

WRITE BUFFER OPERATION IN DATA PROCESSING SYSTEMS

Arm Limited, Cambridge (...

1. A data processing apparatus comprising:a write buffer including a write cache containing a plurality of lines for storing data to be written to memory, wherein the write buffer maintains a record of a set of lines of the write cache that are available to be evicted to memory, each evictable line having an associated virtual address indicating where the data in the line is to be stored in memory; and
an address-translation cache storing as virtual address to physical address translation entries a list of virtual address to physical address translations;
wherein the write buffer is operable to process the evictable lines in the record of evictable lines by requesting from the address-translation cache a respective physical address for each virtual address associated with an evictable line, wherein in the event that the respective virtual address to physical address translation is present in the address-translation cache, the address-translation cache returns a hit status to the write buffer, whereas in the event that the respective virtual address to physical address translation is not present in the address-translation cache, the address-translation cache returns a miss status to the write buffer;
and wherein:
the write buffer is configured to write out to memory at least one of the evictable lines for which a hit status is returned;
the write buffer is operable to iterate over the set of evictable lines so that, in an iteration, each evictable line in the record of evictable lines is processed;
and the address-translation cache is operable:
to, upon valid data being placed into a virtual address to physical address translation entry of the address-translation cache, set that entry to a locked state in which the data in the entry cannot be removed from the address-translation cache;
and such that when the respective virtual address to physical address translation stored in a locked virtual address to physical address translation entry of the address-translation cache is requested during an iteration, the data in that entry remains prevented from being removed from the address-translation cache until the iteration over the set of evictable lines is complete.

US Pat. No. 10,599,583

PRE-MATCH SYSTEM AND PRE-MATCH METHOD

MACRONIX INTERNATIONAL CO...

1. A pre-match system comprising:a memory array;
an input and output circuit configured to receive an initial address;
an address counter coupled to the input and output circuit, the address counter being configured to gradually increase a current address according to the initial address;
an adder coupled to the address counter, the adder being configured to add an offset value to the current address for generating a match address;
a mapping table being configured to store at least one defect address;
a mapping circuit coupled to the mapping table and the adder, the mapping circuit being configured to generate a hit parameter by comparing the match address with the at least one defect address stored in the mapping table, and to generate a redundancy address corresponding to the match address;
a first register coupled to the mapping circuit, the first register being configured to store the hit parameter;
a second register coupled to the mapping circuit, the second register being configured to store the redundancy address; and
a multiplexer coupled to the first register and the second register, the multiplexer being configured to set a Y-direction address as either the current address or the redundancy address stored in the second register according to the hit parameter stored in the first register, the Y-direction address being corresponding to accessing the memory array.

US Pat. No. 10,599,581

DATA STORAGE DEVICE AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A data storage device comprising:a nonvolatile memory device including an address map table in which a plurality of map segments including a plurality of logical-to-physical (P2L) entries are stored; and
a controller configured to control the nonvolatile memory device,
wherein the controller includes:
a processor configured to control an overall operation of the data storage device; and
a memory configured to store a map update module configured to be driven through the processor and perform map updating on the plurality of map segments,
wherein the map update module;
divides each of the map segments into a plurality of sub segments,
updates a first sub segment as an updating target among the plurality of sub segments by loading the first sub segment into a map update buffer of the memory, and
encodes second sub segments as a non-updating target among the plurality of sub segments and stores the encoded second sub segments in a page buffer of the nonvolatile memory device.

US Pat. No. 10,599,579

DYNAMIC CACHE PARTITIONING IN A PERSISTENT MEMORY MODULE

Intel Corporation, Santa...

1. A memory module comprising:a persistent memory to store data;
a cache; and
control logic coupled to the persistent memory and the cache, the control logic to monitor write and read accesses to/from the persistent memory and to dynamically partition the cache to assign a first portion of the cache for read cache and a second portion of the cache for write cache based on monitored read and write accesses to prioritize read and write operations to the persistent memory, the control logic to monitor a hit rate in the first portion of the cache and to reduce a size of the first portion of the cache and to increase a size of the second portion of the cache if the hit rate is below a minimum threshold.

US Pat. No. 10,599,577

ADMISSION CONTROL FOR MEMORY ACCESS REQUESTS

Cavium, LLC, Santa Clara...

1. A method for managing memory access requests for a plurality of processor cores, the method comprising:storing admission control information for determining whether or not to admit a predetermined type of memory access request into a shared resource that is shared among the processor cores and includes one or more cache levels of a hierarchical cache system and at least one memory controller for accessing a main memory;
determining whether or not a memory access request of the predetermined type made on behalf of a first processor core should be admitted into the shared resource based at least in part on the stored admission control information; and
updating the admission control information based on a latency of a response to a particular memory access request admitted into the shared resource, where the updating depends on whether the response originated from a particular cache level included in the shared resource or from the main memory.

US Pat. No. 10,599,574

MEMORY CONTROL DEVICE AND OPERATING METHOD THEREOF

SK TELECOM CO., LTD., Se...

1. A memory control device comprising a processor, wherein said processor comprises:an activation control unit configured to activate a distribution function according to a state of a cache memory when a read request for cache hit data is identified;
a distribution target identification unit configured to determine whether a process generating the read request corresponds to a target process to be distributed when the distribution function is activated; and
a read request distribution unit configured to distribute the read request to a hard disk to allow the hard disk to process the read request instead of the cache memory when the process is identified to be the target process.

US Pat. No. 10,599,573

OPPORTUNISTIC INCREASE OF WAYS IN MEMORY-SIDE CACHE

Intel Corporation, Santa...

1. A processor comprising:a processor core; and
a cache controller coupled to the processor core, the cache controller to allocate, for a memory, a plurality of cache entries in a cache; and
wherein the processor core is to:
detect an amount of the memory installed in one or more memory sockets of a computing system;
determine a maximum allowable amount of memory for the computing system according to maximum capacity of the one or more memory sockets; and
responsive to detecting less than the maximum allowable amount of memory installed in the computing system, direct the cache controller to increase a number of ways of the cache in which to allocate the plurality of cache entries.

US Pat. No. 10,599,572

METHOD AND DEVICE FOR OPTIMIZATION OF DATA CACHING

EMC IP Holding Company LL...

1. A computer-implemented method, comprising:caching data from a persistent storage device into a cache;
caching a physical address and a logical address of the data in the persistent storage device into the cache;
caching an indicator into the cache;
setting the indicator to a positive state or a negative state to indicate whether the data is directly rewritable in the cache; and
in response to receiving an access request for the data, accessing the data cached in the cache using at least one of the physical address and the logical address, wherein accessing the data cached in the cache comprises:
in response to the access request being a rewrite request, determining whether the indicator is in the positive state or in the negative state;
in response to determining that the indicator is in the positive state, directly performing a rewrite operation on the data in the cache; and
in response to determining that the indicator is in the negative state,
caching data for rewriting in a further position in the cache, and
setting an indicator indicating whether the data for rewriting is directly rewritable to the positive state.

US Pat. No. 10,599,571

INSTRUCTION PREFETCH MECHANISM

Intel Corporation, Santa...

1. An apparatus to facilitate data prefetching comprising:one or more processors to track information for memory instructions in first program code executed at one or more execution units (EUs) that trigger a cache miss, provide the tracked information for generation of second program code, upload the second program code to an instruction memory during execution of the first program code and execute the second program code at the one or more EUs in place of the first program code, wherein the second program code includes one or more pre-fetch instructions inserted into one or more place-holder addresses in the instruction memory to prefetch data for execution of one or more of the memory instructions that triggered a cache miss in place of the first program code.

US Pat. No. 10,599,568

MANAGEMENT OF COHERENT LINKS AND MULTI-LEVEL MEMORY

Intel Corporation, Santa...

1. An apparatus to manage coherency in a system, the apparatus comprising:first hardware storage to store information to indicate locations of pages in a memory hierarchy and an ownership state for the pages, the ownership state to indicate whether the pages are owned by a host processor, owned by an accelerator device, or shared by the host processor and the accelerator device;
second hardware storage to store domain information for cachelines, the domain information to indicate whether a cacheline is in a page owned by the accelerator device; and
logic to:
receive a memory access request from a requesting device to read a cacheline in a page,
determine whether the domain information indicates ownership of the cacheline by a device other than the requesting device,
in response to the cacheline being owned by a device other than the requesting device, determine whether the ownership state for the page indicates ownership of the page by a device other than the requesting device, and
in response to the page being owned by a device other than the requesting device, cause the page to transition to a state in which the requesting device owns or shares the page.

US Pat. No. 10,599,567

NON-COHERENT READ IN A STRONGLY CONSISTENT CACHE SYSTEM FOR FREQUENTLY READ BUT RARELY UPDATED DATA

INTERNATIONAL BUSINESS MA...

1. A computer program product for enabling a multiprocessor computer system to make a non-coherent request for a cache line in a cache, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable by the multiprocessor computer system to cause the multiprocessor computer system to perform a method comprising:sending by a first processor core a non-coherent fetch to the cache; and
in response to a second processor core having exclusive ownership of the cache line in the cache, receiving by the first processor core a stale copy of the cache line in the cache based on the non-coherent fetch concurrently with maintaining cache coherency, such that the second processor core continues to have the exclusive ownership of the cache line in the cache, the exclusive ownership being different from a shared state, while the first processor core receives the stale copy of the cache line;
wherein the non-coherent fetch is configured to obtain the stale copy for a predefined use; and
wherein the predefined use is a single use for the stale copy.

US Pat. No. 10,599,565

HYPERVISOR MANAGING MEMORY ADDRESSED ABOVE FOUR GIGABYTES

Hewlett-Packard Developme...

1. A non-transitory computer-readable storage medium that tangibly stores one or more sequences of instructions for performing memory management by a hypervisor, which when executed by one or more processors, cause:executing, on a device, a host operating system and the hypervisor, wherein the host operating system is not configured to access physical memory addressed above four gigabytes, and
wherein the hypervisor executes on the host operating system;
the hypervisor managing a set of memory to be used by the hypervisor or by virtual machines instantiated by the hypervisor, wherein the set of memory includes memory addressed above four gigabytes, and
upon the hypervisor being instructed to instantiate a virtual machine, the hypervisor allocating memory pages for the virtual machine by preferentially using any unassigned memory addressed above four gigabytes before using memory allocated from the host, wherein all memory allocated from the host is below four gigabytes.

US Pat. No. 10,599,564

RESOURCE RECLAMATION METHOD AND APPARATUS

ALIBABA GROUP HOLDING LIM...

1. A resource reclamation method, comprising:determining a memory region corresponding to a target tenant included by a heap memory as a target region comprising:
determining a memory region, in a first memory region for storing young generation objects in the heap memory, corresponding to a first target tenant included in the target tenant as a first target region, wherein the first target region comprises a new generation object region and a first survivor region, the heap memory further includes at least one other memory region corresponding to at least one other service tenant configured for processing at least one service request, and there is no reference relationship between the target tenant and the at least one other service tenant; and
performing resource reclamation on the target region to release the target region comprising:
determining first available objects in the first target region,
removing the determined first available objects from the new generation object region and the first survivor region of the first target region,
updating reference addresses in a root tenant region for the first available objects, and
releasing the new generation object region and the first survivor region in the first target region,
wherein the resource reclamation on the target region is performed while the at least one service request by the at least one other service tenant is processed and a process of a service request by the target tenant is suspended.

US Pat. No. 10,599,562

NONVOLATILE MEMORY DEVICE CONFIGURED TO BE ACCESSED WITHOUT BLOCK ADDRESS AND METHOD OF OPERATING THE SAME

Samsung Electronics Co., ...

1. A nonvolatile memory device which includes a plurality of memory blocks, comprising:a first memory block which includes a first physical area in which first data are stored; and
a reference memory block which stores an indicator, the indicator indicating the first memory block as an indication in response to a first direct access command received from the outside,
wherein the first physical area, in which the first data are stored, of the first memory block is accessed according to the indication of the indicator and a page address received from the outside together with the first direct access command.

US Pat. No. 10,599,559

VALIDATING A SOFTWARE DEFINED STORAGE SOLUTION BASED ON FIELD DATA

International Business Ma...

1. An apparatus comprising:a processor;
a memory storing code executable by the processor to perform:
parsing keywords from field data for a given software defined storage (SDS) solution, wherein the given SDS solution comprises a data structure comprising SDS components comprising a hardware identifier that identifies hardware, software prerequisites that identify software instances, an operating system identifier that identifies an operating system, and a driver identifier that identifies drivers, wherein the hardware, software instances, operating system, and drivers are deployed at a computer system to provide configurable data storage, wherein the given SDS solution has not been validated with a test suite, and wherein the field data comprises a plurality of component identifiers for deployed SDS solutions, discrepancy data, performance data, and failure data from the deployed SDS solutions for the SDS components of the given SDS solution;
identifying a related SDS solution, wherein the related SDS solution has a weighted sum of differences of the keywords with the given SDS solution of less than a relation threshold;
validating the given SDS solution based on the field data for the given SDS solution and the related SDS solution; and
deploying the SDS solution via a network to a first computer system that provides the hardware, the software instances, the operating system, and the drivers identified by the SDS solution.

US Pat. No. 10,599,558

SYSTEM AND METHOD FOR IDENTIFYING INPUTS TO TRIGGER SOFTWARE BUGS

CYBERTOKA Ltd., Tel-Aviv...

1. A method for identifying inputs which trigger bugs in a computer program comprising:obtaining a snapshot of the state of an executing computer program;
creating an executable package associated with the computer program including a fuzzing manager and a fuzzing driver;
activating the executable package, to 1) run the fuzzing manager and the fuzzing driver, to instrument the computer program with at least one predetermined function to be hooked, and 2) execute the instrumented computer program;
analyzing at least one argument associated with each of the hooked functions in the computer program during its execution, to determine whether each of the at least one arguments is within predetermined limits; or matches a predetermined pattern; and,
should the at least one argument associated with each of the hooked functions in the computer program, be outside of the predetermined limits, or does not match a predetermined pattern, determine the input of the computer program to be the trigger of a bug in the computer program; and,
extracting metadata from the snapshot, the metadata including one or more of: 1) mapping between function names and their addresses; 2) basic block information of code of the computer program associated with a hook for hooking a function in the computer program; and, 3) information on memory being used such as identifying stack boundaries, VFTs (Virtual Function Tables), and segments of the code of the computer program, to be used in detecting anomalous behavior of the computer program.

US Pat. No. 10,599,556

DEBUGGING A TRANSACTION IN A REPLICA EXECUTION ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for debugging a transaction, comprising:receiving a transaction in a transaction management system, the transaction management system comprising one or more message-processing regions (MPRs), wherein the transaction is associated with an original class, and wherein each of the one or more MPRs is dedicated to serving a corresponding assigned class;
determining a count of transactions that are simultaneously debuggable on the transaction management system;
providing a plurality of debug-specific classes in a quantity equal to the count of transactions that are simultaneously debuggable on the transaction management system;
identifying a request to debug the transaction;
reassigning the transaction to a debug-specific class of the plurality of debug-specific classes; and
isolating, from the one or more MPRs, by a computer processor, a debug session for the transaction, the isolating being responsive to identifying the request to debug the transaction and comprising:
identifying a first MPR of the one or more MPRs, wherein the first MPR is dedicated to serve the original class;
deploying a replica MPR having an execution environment copied from the first MPR; and
invoking, inside the replica MPR, a debug-specific application program configured to perform the transaction.

US Pat. No. 10,599,555

CONTEXT-SENSITIVE DEBUG REQUESTS FOR MEMORY ACCESS

TEXAS INSTRUMENTS INCORPO...

1. A processing device comprising:a debug controller configured to issue a context-sensitive debug request including at least one conditional criteria; and
a processing core configured to receive the context-sensitive debug request, determine whether all of the at least one conditional criteria are true, and service the context-sensitive debug request when all of the at least one conditional criteria are true, wherein servicing the context-sensitive debug request comprises accessing, in response to a determination that all of the at least one conditional criteria are true, a data location indicated in the context-sensitive debug request.

US Pat. No. 10,599,554

DYNAMIC INSTRUMENTATION BASED ON DETECTED ERRORS

International Business Ma...

1. A method comprising:identifying, by a processor, a sequence of memory related operations from an instruction stream, wherein the sequence comprises: a plurality of memory related operations that each reference a first address in memory, including a first memory related operation and a second memory related operation, wherein the second memory related operation is only able to execute subsequent to the first memory related operation;
responsive to detecting an error at the first memory related operation, instrumenting, by the processor, at least the second memory related operation based on the presence of the second memory related operation within the identified sequence.

US Pat. No. 10,599,553

MANAGING CLOUD-BASED HARDWARE ACCELERATORS

International Business Ma...

1. An apparatus executing in a cloud comprising:at least one processor;
a memory coupled to the at least one processor;
a computer program executing in the cloud; and
an accelerator manager executing in the cloud and generating an execution trace of the computer program that indicates which of a plurality of cloud-based hardware accelerators implemented in a plurality of programmable devices are used by the computer program and when, the accelerator manager detecting a failure in the computer program and providing the execution trace to a user, wherein the execution trace includes information that allows the user to determine whether the failure in the computer program was due to a failure in one of the plurality of cloud-based hardware accelerators.

US Pat. No. 10,599,552

MODEL CHECKER FOR FINDING DISTRIBUTED CONCURRENCY BUGS

1. A method for distributed concurrency (DC) bug detection, the method comprising:identifying, by a computing device, a plurality of nodes in a distributed computing cluster;
identifying, by the computing device, a plurality of messages to be transmitted during execution of an application by the distributed computing cluster;
determining, by the computing device, a set of orderings of the plurality of messages for DC bug detection, the set of orderings determined based upon the plurality of nodes and the plurality of messages;
removing, by the computing device, a subset of the orderings, where each ordering comprises a unique sequence of message arrival at one or more of the nodes, from the set of orderings based upon one or more of a state symmetry algorithm, a disjoint-update independence algorithm, and a zero-crash-impact reordering algorithm, where the zero-crash-impact reordering algorithm is a crash-after-discard reduction or a consecutive-crash reduction, and where the consecutive-crash reduction comprises determining a first message of a first ordering causes a crash of a node, determining a second message of the first ordering causes another crash of the node, and adding a second ordering comprising the first message and the second message to the subset of the orderings; and
performing, by the computing device, DC bug detection testing using the set of orderings after the subset of the orderings is removed from the set of orderings.

US Pat. No. 10,599,551

AUTOMATICALLY DETECTING DISTRIBUTED CONCURRENCY ERRORS IN CLOUD SYSTEMS

The University of Chicago...

1. A method of predicting distributed concurrency errors in a distributed computing system configured to execute on a plurality of component computers, the method comprising:tracing candidate operations in the distributed computing system that access objects during execution of the distributed computing system to generate trace results;
applying a predetermined set of happens-before rules to the trace results to determine timing relationships among the candidate operations that access respective common objects, each happens-before rule of the predetermined set of happens-before rules indicating a first type of operation that happens before a second type of operation, wherein the predetermined set of happens-before rules includes rules for inter-node communication, intra-node asynchronous event processing, and intra-node multi-threaded computation and synchronization;
building an ordered graph of the candidate operations, each vertex in the graph representing one of the candidate operations and each edge between two vertexes in the graph representing one of the happens-before rules between the candidate operations represented by the two vertexes,
assigning a bit array to each vertex, each bit in the bit array representing a respective vertex in the graph;
for each vertex, traversing the graph and, upon reaching each further vertex during the traversal of the graph, setting a bit corresponding to the further vertex in the bit array of the vertex;
identifying one or more concurrent pairs of the candidate operations, each identified concurrent pair of candidate operations accessing a respective one of the common objects, to generate a list of potential distributed concurrency errors, wherein identifying first and second candidate operations as being a concurrent pair of candidate operations includes determining that a bit corresponding to the second candidate operation is not set in the bit array of the first candidate operation; and
using the one or more concurrent pairs of candidate operations, identifying, during execution of the distributed computing system, respective orders of conflicting memory accesses among the plurality of component computers that result in actual distributed concurrency errors, wherein,
during a further execution of the distributed computing system, the component computers execute the distributed computing system such that the one or more concurrent pairs of candidate operations are executed in an order that does not result in any of the actual distributed concurrency errors.

US Pat. No. 10,599,550

SYSTEMS AND METHODS TO IDENTIFY BREAKING APPLICATION PROGRAM INTERFACE CHANGES

Capital One Services, LLC...

1. A system for managing application programming interfaces (APIs), comprising:one or more memory units storing instructions; and
one or more processors configured to execute the instructions to perform operations comprising:
training a first node-testing model corresponding to a first API node based on first API call data and a first indicator of a match between first node-testing model output and first API node output;
training a second node-testing model corresponding to a second API node based on second API call data and a second indicator of a match between second node-testing model output and second API node output;
training a translation model to generate a translated input based on a plurality of inputs, the first node-testing model output, and the second node-testing model output;
sending, using a routing module, a call to the first node-testing model;
generating, by the first node-testing model, a first model result and a first model-result category based on the call, the first model-result category comprising an estimate of a likelihood that the first model result matches a result of the first API node;
identifying, using the routing module, the second node-testing model based on the first model result;
generating, by the translation model, a translated model result based on the first node-testing model result;
sending, using the routing module, the translated model result to the second node-testing model based on the identification of the second node-testing model;
generating, by the second node-testing model, a second model result and a second model-result category based on the translated model result, the second model-result category comprising an estimate of a likelihood that the second model result matches a result of the second API node;
determining that at least one of:
the first model result comprises a first warning message,
the first model result comprises a first error message,
the second model result comprises a second warning message, or
the second model result comprises a second error message;
displaying, at an interface, a message based on at least one of the first model-result category or second model-result category; and
displaying, at the interface, at least one of the first warning message, first error message, second warning message, or second error message.

US Pat. No. 10,599,549

PACKET BACKPRESSURE DETECTION METHOD, APPARATUS, AND DEVICE

HUAWEI TECHNOLOGIES CO., ...

1. A packet backpressure detection method by a device having a Peripheral Component Interconnect Express (PCIe) port, comprising:storing a plurality of packets that are to be transmitted via the PCIe port in a packet queue in a first buffer and storing a packet that is to be transmitted next in a second buffer;
recording a storage duration of each packet stored in the second buffer;
removing the packet from the second buffer after the packet is transmitted via the PCIe port;
determining that packet backpressure occurs at the PCIe port, when recorded storage duration of any packet in the second buffer reaches a first value, wherein the first value is less than a second value; and
generating an indication of packet backpressure at the PCIe port.

US Pat. No. 10,599,548

CACHE MONITORING

Intel Corporation, Santa...

1. A computing apparatus, comprising:a processor;
a multilevel cache comprising a plurality of cache levels;
a peripheral device configured to write data directly to a directly writable cache; and
a cache monitoring circuit, comprising cache counters La to be incremented when a cache line is allocated into the directly writable cache, Lp to be incremented when a cache line is processed by the processor and deallocated from the directly writable cache, and Le to be incremented when a cache line is evicted from the directly writable cache to the memory without being processed by the processor, wherein the cache monitoring circuit is to determine a direct write policy according to the cache counters.

US Pat. No. 10,599,547

MONITORING THE OPERATION OF A PROCESSOR

Intel Corporation, Santa...

1. An apparatus comprising:a hardware agent, external to a processor, to interrupt the processor to cause the processor to exit a virtual machine (VM) and initiate a sampling interval during which a software agent to be executed by the processor in a root mode is to collect tracing information to be used by the hardware agent to verify operation of the processor in a non-root mode, wherein
the tracing information is to be stored in one or more of a plurality of memory regions accessible to the hardware and inaccessible to the virtual machine,
the VM is to run guest software in the non-root mode and be hosted by a virtual machine monitor (VMM), and
the VMM is to run in the root mode in which host software is to directly control system resources.

US Pat. No. 10,599,545

CORRELATION BASED ADAPTIVE SYSTEM MONITORING

International Business Ma...

1. A computer-implemented method of dynamic adaptive monitoring of a computer system over time to reduce redundant measurements in the computer system, comprising:a server processing system identifying a group of performance parameters, from a multitude of performance parameters, for monitoring the computer system, including
the server processing system receiving performance indicators of a plurality of processes of the computer system,
the server processing system constructing a correlation matrix among the received performance indicators, wherein the correlation matrix is a table holding correlation values between elements of the computer system,
the server processing system using the correlation matrix to construct a time-varying correlation graph indicating defined, changing correlations between a multitude of performance parameters of the computer system, and
the server processing system mining said defined correlations indicated in the correlation graph to identify monitoring logic for monitoring the elements of the computer system, including selecting a group of performance parameters, from the multitude of performance parameters, for monitoring the elements of the computer system;
using the selected group of the performance parameters to monitor the elements of the computer system; and
the server processing system dynamically altering the group of performance parameters selected for monitoring the elements of the computer system as the time-varying correlation graph changes over time by selecting different groups of the performance parameters at different times for monitoring the elements of the computer system based on changes in the defined correlations indicated in the correlation graph to reduce redundant measurements in the computer system.

US Pat. No. 10,599,544

DETERMINING REBOOT TIMES OF COMPUTING NODES

International Business Ma...

1. A method of determining a reboot time of a computing node in a network of computing nodes, the method comprising the steps of:a computer collecting data specifying intra-box factors, inter-box factors, and user behaviors associated with the computing nodes in the network;
the computer classifying the collected data in groups of metrics;
based on the classified data and user feedback, the computer generating rules corresponding to the groups, each rule including an indicator of whether the corresponding group is associated with permitting a reboot or not permitting the reboot;
the computer receiving data associated with the computing node in the network, the received data including: data specifying intra-box factors and inter-box factors of the computing node and user behaviors that include operations of the computing node initiated by a user;
the computer determining that the data associated with the computing node matches a group included in the groups of metrics;
based on the data associated with the computing node matching the group, the computer determining that a rule corresponding to the group includes an indicator that indicates whether the computing node is permitted to be rebooted; and
if the indicator in the rule indicates that the computing node is permitted to be rebooted, the computer automatically rebooting the computing node, or if the indicator in the rule indicates that the computing node is not permitted to be rebooted, the computer making a decision to not reboot the computing node and requesting user feedback about the decision to not reboot the computing node.

US Pat. No. 10,599,543

UNSUPERVISED METHOD FOR BASELINING AND ANOMALY DETECTION IN TIME-SERIES DATA FOR ENTERPRISE SYSTEMS

Oracle International Corp...

1. A method comprising:receiving a set of time-series data that includes a sequence of values captured by one or more computing devices over time;
detecting two or more seasonal patterns within the set of time-series data, including a first seasonal pattern and a second seasonal pattern;
generating, based on the set of time-series data, a first interval for the first seasonal pattern and a second interval for the second seasonal pattern;
wherein the first interval represents a first distribution of sample values associated with the first seasonal pattern;
wherein the second interval represents a second distribution of sample values associated with the second seasonal pattern;
monitoring a first set of one or more data points occurring at a first time period within a time-series signal for anomalies in the first seasonal pattern based, at least in part, on whether the first set of one or more data points falls outside of the first interval;
detecting, after the first time period, a transition between a first season when the first seasonal pattern is expected and a second season when the second seasonal pattern is expected;
responsive to detecting the transition, transitioning monitoring of the time-series signal from using the first interval to using the second interval such that a second set of one or more data points occurring at a second time period within the time-series signal are monitored for anomalies in the second seasonal pattern based, at least in part, on whether the second set of one or more data points falls outside of the second interval; and
in response to detecting an anomaly in the first seasonal pattern or the second seasonal pattern, generating an alert.

US Pat. No. 10,599,542

DEVICE CONFIGURATION WITH CACHED PRE-ASSEMBLED DRIVER STATE

Microsoft Technology Lice...

1. A computing device, comprising:a memory;
a processor, wherein the memory and the processor are respectively configured to store and execute instructions for causing the computing device to perform operations, the operations including:
creating a pre-processed device configuration, including:
detecting, by the computing device, a driver package that is new to the computing device and a lack of a pre-processed device configuration corresponding to the driver package;
installing, by the computing device, a service state for a device driver of the driver package and pre-instance configuration settings for the device driver and a corresponding device; and
pre-registering interfaces for the corresponding device; and
storing, by the computing device in a data store, the created pre-processed device configuration.

US Pat. No. 10,599,540

MEMORY TEST SYSTEM AND AN OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory test system, comprising:a data storage device comprising a nonvolatile memory device, and a controller configured to control an operation of the nonvolatile memory device; anda test device configured to check whether the data storage device performs a normal operation,wherein the test device transmits a test command for testing an operation of the data storage device to the data storage device, transmits a variable output command for requesting output of a variable generated by an execution of firmware which performs the test to the data storage device while the operation corresponding to the test command is being performed and verifies whether the firmware is normally executed based on the variable outputted from the data storage device.

US Pat. No. 10,599,538

USAGE PROFILE BASED RECOMMENDATIONS

Dell Products L.P., Roun...

1. A method comprising:receiving, by one or more processors and from a computing device, a device profile comprising:
a software profile identifying a usage of software applications associated with the computing device; and
a hardware profile identifying:
one or more hardware components associated with the computing device, the one or more hardware components comprising:
components included in the computing device; and
peripheral devices that have been connected to the computing device;
an amount of time that each the one or more hardware components is used within a particular time period; and
an amount of resource usage associated with each the one or more hardware components within the particular time period;
performing, by the one or more processors, a comparison of the device profile with other device profiles associated with other computing devices;
determining, by the one or more processors and based on the comparison, a similarity index of the device profile with the other device profiles;
selecting, by the one or more processors, a subset of the other device profiles based at least in part on the similarity index;
determining, by the one or more processors, one or more configuration differences between the device profile of the computing device and individual device profiles of the subset of the other device profiles;
determining, by the one or more processors, one or more configuration recommendations based on the one or more configuration differences; and
sending, by the one or more processors, the one or more configuration recommendations to the computing device, wherein the one or more configuration recommendations include an instruction to automatically update either a firmware or a driver associated with a peripheral device that is connected to the computing device.

US Pat. No. 10,599,533

CLOUD STORAGE USING MERKLE TREES

EFOLDER, INC., Atlanta, ...

1. A method, comprising:locating a Merkle tree of a stored object on a deduplicating block store;
comparing an object at a source location to the Merkle tree of the stored object;
determining changed blocks for the object at the source location;
transmitting a message across a network to the deduplicating block store, the message comprising the change blocks and Merkle nodes that correspond to the change blocks, wherein the Merkle nodes that correspond to the change blocks comprise at least one missing Merkle node that is missing from the Merkle tree of the stored object;
synchronizing the transmitted Merkle nodes for the change blocks with Merkle nodes of the Merkle tree of the stored object, wherein synchronizing comprises copying the Merkle nodes of the Merkle tree in bottom-to-top order to ensure that when a check of any Merkle node is performed that all child Merkle nodes associated with the Merkle node are present; and
pushing the at least one missing Merkle node onto a stack residing on the deduplicating block store.

US Pat. No. 10,599,532

UPGRADE BACKUP IN VIRTUALIZED COMPUTING ENVIRONMENTS

NICIRA, INC., Palo Alto,...

1. A method to validate integrity of data and one or more configurations in response to an upgrade in a virtualized computing environment, wherein the method comprises:preparing a first pre-upgrade backup file and a first post-upgrade backup file in response to a data plane upgrade of the virtualized computing environment;
validating the integrity of data and one or more configurations based on the first pre-upgrade backup file and the first post-upgrade backup file before upgrading a control plane of the virtualized computing environment;
preparing a second pre-upgrade backup file and a second post-upgrade backup file in response to a control plane upgrade of the virtualized computing environment;
validating the integrity of data and one or more configurations based on the second pre-upgrade backup file and the second post-upgrade backup file before upgrading a management plane of the virtualized computing environment;
preparing a third pre-upgrade backup file and a third post-upgrade backup file in response to a management plane upgrade of the virtualized computing environment; and
validating the integrity of data and one or more configurations based on the third pre-upgrade backup file and the third post-upgrade backup file after upgrading the management plane of the virtualized computing environment.

US Pat. No. 10,599,531

USING DATA SET COPIES FOR RECOVERY OF A DATA SET IN EVENT OF A FAILURE

INTERNATIONAL BUSINESS MA...

1. A computer program product for maintaining backup copies of a data set, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that is executable to perform operations, the operations comprising:storing a plurality of copies of a data set receiving updates from at least one processing system;
in response to an update to the data set, determining an update group to include at least one copy of the data set that was not in a last determined update group to which a previous update was applied and to exclude at least one copy of the data set that was in the last determined update group;
applying the update to the data set to the copies of the data set in the update group, wherein updates are not applied to the copies of the data set not in the update group; and
in response to a failure event, determining whether to recover the data set from one of the copies of the data set in the update group or one of the copies of the data set not in the update group.

US Pat. No. 10,599,530

METHOD AND APPARATUS FOR RECOVERING IN-MEMORY DATA PROCESSING SYSTEM

HITACHI, LTD., Tokyo (JP...

1. A storage system configured to provide one or more snapshot volumes for one or more servers, each of the one or more servers configured to conduct data processing and store most recent data, the storage system comprising:one or more storage devices configured to provide the one or more snapshot volumes, one or more log volumes, and one or more recovery volumes, each of the one or more log volumes configured to store a log of data processing transactions of an associated server from the one or more servers, each of the one or more snapshot volumes configured to store a snapshot of the most recent data of an associated server of the one or more servers, each of the one or more recovery volumes created to be associated with the one or more snapshot volumes upon completion of a volume configuration process;
a memory configured to store information associating the one or more snapshot volumes to the one or more recovery volumes, the information generated upon completion of the volume configuration process; and
a processor, configured to:
process selected log volume from the one or more log volumes to update an associated recovery volume of the one or more recovery volumes associated with the selected log volume with data from an associated snapshot volume of the one or more snapshot volumes associated with the selected log volume.

US Pat. No. 10,599,529

INSTANTIATING DATA QUEUES FOR MANAGEMENT OF REMOTE DATA STORES

SPLUNK INC., San Francis...

1. A computer-implemented method comprising:storing a persistent copy of data in a stale data queue, wherein the data is associated with an entity;
in response to establishing a connection with a remote data store associated with the entity, dynamically instantiating a dual-queue node associated with the entity, wherein dynamically instantiating the dual-queue node includes:
initializing a live data queue included in the dual-queue node, wherein the initialized live data queue is enabled to receive and process additional data associated with the entity; and
associating the stale data queue with the dual-queue node; and
employing the dual-queue node to transmit at least a portion of the persistent copy of the data to the remote data store.

US Pat. No. 10,599,526

AUTO-SAVE OPERATION FOR COLLABORATIVE EDITING OF ELECTRONIC DOCUMENTS

MICROSOFT TECHNOLOGY LICE...

1. A computer, configured as a local client computer, for use in a computer system comprising a server computer comprising shared storage for electronic documents, and a remote client computer, the local client computer and the remote client computer connected to the server computer over a computer network, the remote client computer configured to support collaborative editing of an electronic document stored in the shared storage, the server computer configured to manage the collaborative editing of the electronic document by an application on the local client computer and the remote client computer by implementing a save protocol with the server computer, the local client computer comprising:a save component in the application that, when executed by the local client computer, configures the local client computer to, during collaborative editing of the electronic document though the application and for each save operation in a series of successively performed automatic save operations:
receive data indicative of local user activity from the local client computer indicative of user interaction with the application with respect to the electronic document;
receive data indicative of external user activity with respect to external user interaction with respect to the electronic document, based on at least operation of the save protocol with the server computer;
responsive to both the local and external user activity, dynamically compute an interval for a next save operation in the series based on at least the data indicative of the local user activity and the data indicative of the external user activity to meet a target rate of combined local and external user activity in the interval; and
based on at least the computed interval, set a time for performance of the next save operation in the series of successively performed automatic save operations performed on the electronic document.

US Pat. No. 10,599,524

BACKUP PERFORMANCE AFTER BACKUP FAILURE

Veritas Technologies LLC,...

1. A computer-implemented method, implemented in a computer system, comprising:generating a snapshot of a prior backup, wherein
the snapshot is generated at a first point in time, and
snapshot metadata is associated with the snapshot;
determining whether a backup operation is successful, wherein
the first point in time is prior to initiation of the backup operation, and
the determining comprises
determining whether a tag file exists, and
in response to a determination that the tag file exists, determining whether the tag file indicates that a file was updated without being persisted to a storage device of the computer system, wherein
the file was to be backed up by the backup operation; and
in response to a determination that the backup operation was unsuccessful,
replacing backup metadata with the snapshot metadata, wherein
the backup metadata is associated with the backup operation,
the replacing the backup metadata with the snapshot metadata facilitates performance of a subsequent backup operation that is based on the snapshot metadata,
the subsequent backup operation is to be performed at a second point in time, and
the second point in time is subsequent to the initiation of the backup operation.

US Pat. No. 10,599,523

SYSTEMS AND METHODS FOR ENHANCED ROM ACCESS RESILIENCY

Dell Products L.P., Roun...

1. An information handling system comprising:at least one processor;
a management controller communicatively coupled to the at least one processor and configured to provide out-of-band management of the information handling system;
a serial peripheral interface (SPI) read-only memory (ROM); and
at least one logic device configured to reset the SPI ROM in response to an indication that the SPI ROM is to be reset, wherein the resetting includes:
causing a file system associated with the SPI ROM to be dismounted;
causing the SPI ROM to be detached from a SPI controller of the SPI ROM;
disconnecting a power source from the SPI ROM;
in response to a passage of a particular amount of time, reconnecting the power source to the SPI ROM;
causing the SPI ROM to be re-attached to the SPI controller of the SPI ROM; and
causing the file system associated with the SPI ROM to be remounted.

US Pat. No. 10,599,521

SYSTEM AND METHOD FOR INFORMATION HANDLING SYSTEM BOOT STATUS AND ERROR DATA CAPTURE AND ANALYSIS

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

1. An information handling system, comprising:a processor complex configured to provide boot status information in response to a system boot process of the processor complex; and
a baseboard management controller (BMC) configured to:
receive, during a characterization phase of manufacture of the information handling system, first boot status information from the processor complex in response to a first system boot process, the first system boot process being a first in time system boot process of the processor complex;
store, during the characterization phase, the first boot status information as baseline status information, wherein the baseline status information includes a plurality of Power-On Self Test (POST) codes;
receive, during the characterization phase, second boot status information from the processor complex in response to a second system boot process;
compare, during the characterization phase, the second boot status information to the baseline status information to determine baseline difference information; and
store the baseline difference information.

US Pat. No. 10,599,519

COORDINATING NODE MODIFICATION OF AN INDEX STRUCTURE VIA DELEGATES

PURE STORAGE, INC., Moun...

1. A method comprises:determining, by a computing device of a dispersed storage network (DSN), to change a node of a plurality of nodes of an index structure, wherein the index structure is used to identify particular data stored in the DSN and wherein the plurality of nodes includes a root index node, a plurality of index nodes, and a plurality of leaf index nodes arranged in a related hierarchical manner;
determining, by the computing device, whether one or more other computing devices are attempting to change the node;
when one or more other computing devices are attempting to change the node, determining, by at least one of the computing device and the one or more other computing devices, to use a delegate device to process multiple change requests to the node;
when determined to use the delegate device, sending, by the computing device, a message to the delegate device requesting the delegate device to process the change to the node on behalf of the computing device;
coordinating, by the delegate device, requested changes to the node by the computing device and the one or more other computing devices; and
updating, by the delegate device, the node in accordance with the coordinating of the requested changes.

US Pat. No. 10,599,518

PROTECTING DATA MEMORY IN A SIGNAL PROCESSING SYSTEM

TEXAS INSTRUMENTS INCORPO...

1. A signal processing system comprising:a data memory component configured to store data corresponding to signal processing of at least one digital signal received by the signal processing system;
a plurality of parity bits stored in a parity memory component associated with the data memory component, the plurality of parity bits including a set of group parity bits for each group of memory words of a plurality of groups of memory words in the data memory component;
a processor coupled to the data memory component and parity management component and enabled to receive the at least one digital signal, the processor configured to perform the signal processing of the at least one digital signal and to check the plurality of parity bits for an error in the data stored in the data memory component; and
a parity management component coupled to the parity memory component and enabled to receive an address of a memory word in the data memory component and a data read from or written to the memory word by the processor during the signal processing, the parity management component configured to update group parity bits in the plurality of parity bits stored in the parity memory component corresponding to the address of the memory word based on the data.

US Pat. No. 10,599,517

MEMORY DEVICE

Taiwan Semiconductor Manu...

1. A method, comprising:retrieving a first word comprising a plurality of data bits and a plurality of original parity bits that correspond to the first word, wherein the plurality of data bits form N?1 groups and the plurality of original parity bits form a first group different from the N?1 groups, and N is a positive integer greater than 2;
receiving a request to update respective data bits of a first one of the N?1 groups; and
providing a second word comprising updated data bits that form a second one of the N?1 groups and a plurality of updated parity bits that correspond to the second word, wherein the plurality of updated parity bits form a second group that has a same group index as the first one of the N?1 groups such that a respective location of the plurality of updated parity bits within the second word is different from a respective location of the plurality of original parity bits within the first word.

US Pat. No. 10,599,516

METHOD, MEMORY CONTROLLER, AND MEMORY SYSTEM FOR READING DATA STORED IN FLASH MEMORY

Silicon Motion, Inc., Hs...

1. A method for reading data stored in a flash memory, comprising:referring to time information of the flash memory to determine a target gate voltage combination, wherein the time information comprises read count of the flash memory, and the target gate voltage combination comprises a group of threshold voltage levels; and if the time information comprises a first read count, it is determined that the target gate voltage combination comprises a first group of threshold voltage levels; and if the time formation comprises a second read count different from the first read count, it is determined that the target gate voltage combination comprises a second group of threshold voltage levels different from the first group of threshold voltage levels; and
controlling a plurality of memory units in the flash memory to read a plurality of bit sequences according to the target gate voltage combination.

US Pat. No. 10,599,511

METHOD AND ARCHITECTURE FOR CRITICAL SYSTEMS UTILIZING MULTI-CENTRIC ORTHOGONAL TOPOLOGY AND PERVASIVE RULES-DRIVEN DATA AND CONTROL ENCODING

Chippewa Data Control LLC...

1. A system comprising:two control centers communicably coupled over a network; and
at least one sub-network arranged orthogonal to the network, the sub-network communicably coupling each of the control centers to each of:
a sensor receiving sensed data; and
a controller controlling one or more operations based on the sensed data;
wherein the sensor and controller are communicably coupled together over the at least one orthogonal sub-network; and
an archive storing as non-transitory computer readable media:
a configuration table storing configuration data for each of the control centers, sensor, controller, and archive, wherein the configuration data includes a preferred error correction code, and at least one preferred error correction procedure; and
a real-time time log of events storing actions performed by the control centers, sensor, controller, and archive.

US Pat. No. 10,599,507

SEMICONDUCTOR APPARATUS AND DISPLAY APPARATUS

Japan Display Inc., Toky...

1. A semiconductor apparatus comprising:a plurality of semiconductor devices that includes a first semiconductor device including a first anomaly detection circuit and a second semiconductor device including a second anomaly detection circuit,
wherein the first anomaly detection circuit is configured to detect anomalies in a plurality of first functions implemented in the first semiconductor device and output a first anomaly detection signal to the second anomaly detection circuit and a device outside the semiconductor apparatus,
wherein the second anomaly detection circuit is configured to detect anomalies in a plurality of second functions implemented in the second semiconductor device and output a second anomaly detection signal to the first anomaly detection circuit,
wherein the first anomaly detection circuit is configured to generate the first anomaly detection signal when the first anomaly detection circuit detects (a) an anomaly in at least one of the first functions, (b) the second anomaly detection signal that is output from the second anomaly detection circuit, or (c) both,
wherein the second anomaly detection circuit is configured to generate the second anomaly detection signal when the second anomaly detection circuit detects an anomaly in at least one of the second functions,
wherein the semiconductor devices each comprise a first filter, and
wherein the first filter of the first semiconductor device passes the generated first anomaly detection signal therethrough when an anomaly in at least one of the first and second functions continues for a predetermined time.

US Pat. No. 10,599,505

EVENT HANDLING SYSTEM WITH ESCALATION SUPPRESSION

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:receiving a plurality of event data from a number of support service servers comprising information on an event impacting one or more services;
determining, based on the received plurality of event data, that the impact to the one or more services exceeds a threshold level of impact for the one or more services;
identifying an origination source for each of the plurality of event data;
aggregating event data related to each identified origination source in order to calculate a contribution for each identified origination source based on a quantity of event data originating at the origination source;
determining whether the contribution for at least one origination source exceeds a predetermined contribution threshold;
upon determining that the contribution threshold has not been exceeded, transmitting an alarm notification in relation to the event; and
upon determining that the contribution for at least one origination source exceeds the predetermined contribution threshold, suppressing the alarm notification that would otherwise be transmitted in relation to the event.

US Pat. No. 10,599,504

DYNAMIC ADJUSTMENT OF REFRESH RATE

Amazon Technologies, Inc....

1. A method comprising:receiving an indication that a correctable error is detected when reading from dynamic random access memory (DRAM) in communication with a processor, the processor being in a fleet of processors;
using a baseboard management controller in communication with the processor to calculate an error rate of reading from the DRAM and to determine that the error rate exceeds a pre-determined threshold error rate, the baseboard management controller in communication with a health monitoring service configured to monitor the operational status for the fleet of processors;
determining that a refresh rate of the DRAM exceeds a default refresh rate of the DRAM;
without rebooting the processor, using the baseboard management controller to initiate programming of a memory controller to increase both the refresh rate and a patrol scrub rate of the DRAM in response to determining that the error rate exceeds the pre-determined threshold error rate and that the refresh rate of the DRAM exceeds the default refresh rate of the DRAM, wherein the patrol scrub rate is different from the refresh rate;
in response to increasing both the refresh rate and the patrol scrub rate of the DRAM, using the baseboard management controller to transmit a status message, indicating the increase of the refresh rate and the patrol scrub rate, to the health monitoring service that is configured to monitor the operational status for the fleet of processors, the health monitoring service executing on a management server computer; and
using the health monitoring service to determine that a denial of service attack is underway on the fleet of processors based on the refresh rate and the patrol scrub rate of the DRAM being increased.

US Pat. No. 10,599,503

TRIGGERING POWER LOSS PROTECTION ON SOLID-STATE STORAGE DEVICES

Dell Products L.P., Roun...

1. A method for triggering power loss protection on solid-state storage devices in an information handling system, comprising:detecting, by a power supply unit, a condition indicative of an imminent power loss event;
outputting, at a dedicated drive pin of the power supply unit communicatively coupled directly to one or more solid-state storage devices by the power supply unit responsive to detection of the condition, a pre-warning signal indicating that a power loss event is imminent and that a predetermined minimum hold-up time following a loss or reduction of AC input voltage has expired; and
initiating, by a respective power loss protection circuit on each of the one or more solid-state devices in response to receiving the pre-warning signal from the power supply unit, performance of one or more actions to prevent data loss in the information handling system, wherein the initiating is performed prior to the power loss event being detectable by the respective power loss protection circuit.

US Pat. No. 10,599,502

FAULT DETECTION AND RECOVERY IN A DISTRIBUTED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:identifying a set of encoded data slices (EDSs) in the DSN, wherein a data object is segmented to create a plurality of data segments and wherein each data segment of the plurality of data segments is dispersed error encoded to produce a set of encoded data slices, wherein the set of EDSs includes a pillar width of EDSs, and wherein the pillar width of EDSs is generated from a data segment;
identifying a set of storage units (SUs) that distributedly store the set of EDSs, wherein each SU of the set of SUs stores at least a respective one EDS of the set of EDSs;
collecting a first plurality of performance parameter values associated with the set of SUs, wherein each of the first plurality of performance parameter values are reported by one or more SUs of the set of SUs;
receiving from one or more SUs of the set of SUs a second plurality of performance parameter values associated with the set of SUs, wherein each of the second plurality of performance parameter values is generated by a validation engine associated with each SU of the set of SUs;
comparing the first plurality of performance parameter values to a first plurality of predetermined performance parameter values;
comparing the second plurality of performance parameters values to a second plurality of predetermined performance parameter values; and
based on an unfavorable comparison of the first plurality of performance parameter values to the first plurality of predetermined parameter values and also on an unfavorable comparison of the second plurality of performance parameters values to the second plurality of predetermined parameter values:
identifying one or more SUs of the set of SUs that is below a threshold performance; and
implementing one or more corrective actions for the one or more SUs of the set of SUs that is below the threshold performance.

US Pat. No. 10,599,501

INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND RECORDING MEDIUM

NEC CORPORATION, Minato-...

7. An information processing method comprising:classifying abnormal patterns, each representing a relationship among metrics at a time of abnormality detection in a system, into groups based on a similarity between the abnormal patterns;
determining, based on a number of abnormal patterns classified into each of the groups, a likelihood of an abnormality of the corresponding group; and
displaying, for each of the groups, a combination of the likelihood of the abnormality of the group and an impact that is set for the abnormality of the group, at a position corresponding to the combination of the likelihood and the impact of the abnormality on a risk matrix that indicates a combination of a likelihood and an impact.

US Pat. No. 10,599,500

API REGISTRY IN A CONTAINER PLATFORM FOR AUTOMATICALLY GENERATING CLIENT CODE LIBRARIES

Oracle International Corp...

1. A method of providing Application Programming Interface (API) functions for registered service endpoints in container environments, the method comprising:receiving, at an API registry, an API definition comprising:
an endpoint of a first service that is encapsulated in a container that is deployed in a container environment; and
one or more API functions;
creating, by the API registry, a binding between the one or more API functions and the endpoint of the first service;
receiving, by the API registry, a request from a second service to use the first service; and
providing, by the API registry, the one or more API functions to the second service, wherein the one or more API functions are included as part of the second service, and the one or more API functions execute calls from the second service to the endpoint of the first service.

US Pat. No. 10,599,497

INVOKING ENHANCED PLUG-INS AND CREATING WORKFLOWS HAVING A SERIES OF ENHANCED PLUG-INS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:receiving, by a computing device, user input for composing a first enhanced plug-in, wherein the first enhanced plug-in includes one or more logical components for invoking the first enhanced plug-in by an application running in a different framework as the first enhanced plug-in;
receiving, by the computing device, user input for creating a workflow that includes a series of a plurality of enhanced plug-ins including the first enhanced plug-in and one or more subsequent second enhanced plug-ins; and
invoking, by the computing device, the workflow, wherein the invoking the workflow causes the first enhanced plug-in to receive data from an application running on the same or different framework as the first enhanced plug-in, process the data, and forward the processed data as input data to a particular one of the one or more subsequent second enhanced plug-ins or an endpoint application.

US Pat. No. 10,599,496

END-TO-END APPLICATION TRACKING FRAMEWORK

Qwest Communications Inte...

1. A method for establishing a framework for end-to-end traceability and performance monitoring of an execution chain, the method comprising:receiving, at a first application component, a request for processing;
measuring a first start time of the first application component;
calling an application programming interface (“API”) to a tracking framework, which transmits a first object to a tracking server, the first object creating in a database at the tracking server a first request record comprising the first start time, the first request record indicating start of execution of the first application component;
measuring a second start time of an application callout;
calling the API, which transmits, to the tracking server, a second object that creates a callout record in the database, the callout record comprising the second start time and indicating that the first application component has initiated an application callout to a second application component;
establishing a parent-child relationship in the database between the first request record and the callout record, wherein the parent-child relationship between the first request record and the callout record comprises assigning a first Record ID of the first request record as the Parent ID of the callout record when generating and/or storing the callout record;
sending application data from the first application component to the second application component;
storing, in the callout record, traceability data about the application data sent from the first application component to the second application component;
measuring a third start time of execution of the second application component;
calling the API to transmit a third object, the third object creating, in the database, a second request record comprising the third start time;
establishing, in the database, a parent-child relationship between the callout record and the second request record, wherein establishing a parent-child relationship between the callout record and the second request record comprises assigning a Record ID of the callout record as the Parent ID of the request record when generating and/or storing the second request record;
measuring a first stop time of the second application component after execution but before the second application passes a response to the first application component;
storing the first stop time in the second request record;
measuring a second stop time of the application callout after the first application component receives a response from the called application;
storing the second stop time in the callout record;
measuring a third stop time of the first application component, after the first application component returns a response to the request for processing; and
storing the third stop time in the first request record.

US Pat. No. 10,599,495

TRIGGERING OF DISTRIBUTED DATA DELETION

AMERICAN EXPRESS TRAVEL R...

1. A method comprising:scheduling, by a data deletion system, a record having an identifier on a schedule for deletion in a first market, based on a first data deletion rule;
broadcasting, by the data deletion system and to a first subscribing entity, a deletion message containing the identifier and the schedule, wherein the deletion message is configured to trigger the first subscribing entity to purge data associated with the identifier in the first market based on the schedule, wherein the data includes a first subset of the data and a second subset of the data;
overriding, by the data deletion system, the schedule for the deletion of the second subset of the data based on a record retention rule; and
monitoring, by the data deletion system, the first subscribing entity to determine whether the purge of the first subset of the data was successfully completed.

US Pat. No. 10,599,493

METHOD AND MODULE IN OPERATING SYSTEM FOR CONTROLLING HARDWARE DEVICE

KUANG-CHI INTELLIGENT PHO...

1. A method for controlling a hardware device in an operating system, comprising:obtaining an instruction for loading a link library, and loading the link library, the link library comprises a performance implementation function for controlling a hardware device action;
obtaining an instruction for controlling the hardware device action;
invoking, from the link library, a performance implementation function corresponding to the instruction for controlling the hardware device action; and
executing the invoked performance implementation function to control a hardware device to perform a corresponding action;
wherein before the obtaining an instruction for loading a link library, the method further comprises:
obtaining state data for controlling the hardware device action;
delivering and storing the state data into a buffering unit; and
after the executing the invoked performance implementation function, the method further comprises:
invoking a hardware device driver, the hardware device driver reads the state data stored in the buffering unit, and controlling a state of the hardware device action according to the state data;
wherein obtaining state data for controlling the hardware device action comprises:
obtaining an original data;
encoding the original data to obtain the state data;
wherein encoding the original data to obtain the state data comprises:
encoding each different digit in the N-ary data of the original data into a different electric signal unit, where high level duration in the electric signal unit is Ti1, Ti2 . . . , Tij, low level duration in the electric signal unit is Tij, wherein i, j, and N are natural numbers, different electric signal units are separated by delimiters to obtain the state data,
wherein the hardware device is a light emitting device, the hardware device driver is a light emitting device driver, the state data is an array indicating time data, and the controlling, by the hardware device driver, a state of the hardware device action according to the state data is specifically: controlling, by the light emitting device, a time of turning on or off the light emitting device according to order of data elements in the array.

US Pat. No. 10,599,492

CONTEXT-AWARE CONNECTORS IN INTEGRATION

International Buisness Ma...

1. A computer-implemented method, comprising:Deploying, by one or more processors, a first connector in a computing environment, wherein the first connector initializes data transmission connections to a first application;
obtaining, by the first connector, at the first connector, at startup of the first connector, contextual information related to one or more additional connectors within a potential communication path of the first connector, wherein each of the one or more additional connectors initializes data transmission connections to a respective application;
accessing, by the first connector, usage policy metadata of a second application, wherein the second application comprises the respective application of a second connector of the one or more additional connectors, wherein the usage policy metadata is selected from the group consisting of: static metadata accessible at the second connector and dynamic metadata accessible responsive to a call by the first connector to an application programming interface of the second application;
determining, by the first connector, whether initializing a data transmission connection between the first application and the second application is consistent with the contextual information related to the second connector obtained by the first connector at startup and the usage policy metadata;
based on determining that the contextual information and the usage policy metadata are inconsistent, transmitting, by the first connector, an error message indicating a connection failure;
based on determining that the contextual information and the usage policy metadata are consistent, initializing, by the first connector, the data transmission connection between the first application and the second application through the first connector and the second connector; and
wherein obtaining the contextual information related to one or more additional connectors comprises reading, by the first connector, a flow document of a computing network comprising the one or more processors.

US Pat. No. 10,599,490

NOTIFICATION RELAY SYSTEM FOR SUPERVISORY AND SUBORDINATE USER COMPUTING DEVICES

Bank of America Corporati...

9. A method, comprising:at a computing platform comprising at least one processor, memory, and a communication interface:
establishing, via the communication interface, a first connection to a subordinate user computing device and, while the first connection is established, receiving, by the at least one processor, via the communication interface, information defining a first event associated with the subordinate user computing device;
comparing the information defining the first event to supervisory criteria and establishing, via the communication interface, a second connection to a supervisory user computing device;
while the second connection is established, transmitting, via the communication interface, to the supervisory user computing device, a first formatted alert which, when processed by the supervisory user computing device causes a first notification to be displayed on the supervisory user computing device;
while the second connection is established, receiving, via the communication interface, from the supervisory user computing device, supervisory user input; and
generating a second formatted alert reflecting the supervisory user input and transmitting to the subordinate user computing device, the second formatted alert which, when executed by the subordinate user computing device, causes a second notification to be displayed on the subordinate user computing device.

US Pat. No. 10,599,484

WEIGHTED STEALING OF RESOURCES

International Business Ma...

1. A method comprising:receiving a plurality of work queues, where each work queue includes at least one assigned computing thread and at least one work queue of the plurality of work queues has had at least one assigned computing thread that is not being presently used to perform computing jobs reassigned to a thread pool;
reassigning, from the thread pool to a given work queue of the plurality of work queues, at least one computing thread; and
processing at least one computing job using at least one computing thread reassigned from the thread pool;
wherein a given work queue cannot receive one or more computing thread(s) from the thread pool that were originally assigned to other work queues until recalling all one or more computing thread(s) that were reassigned from the given work queue.

US Pat. No. 10,599,481

SCHEDULER FOR AMP ARCHITECTURE USING A CLOSED LOOP PERFORMANCE CONTROLLER AND DEFERRED INTER-PROCESSOR INTERRUPTS

Apple Inc., Cupertino, C...

1. A method performed on a computing system comprising an asymmetric multiprocessing (AMP) system comprising a plurality of a first core type and a plurality of a second core type, the method comprising:grouping a thread into a first thread group of threads for one or more processes;
running a first thread of the first thread group on at least one core of an AMP system;
incorporating at least one thread execution metric of the first thread with a plurality of thread execution metrics of the first thread group;
determining an interrupt decision based at least in part on the plurality of thread execution metrics, the interrupt decision comprising a core type and an interrupt type; and
scheduling the thread on the core type and configuring the interrupt controller with the interrupt type in accordance with the interrupt decision.

US Pat. No. 10,599,480

CASCADING JOB SCHEDULING IN GUESTS

Red Hat, Inc., Raleigh, ...

1. A system comprising:a plurality of nodes, including a first node, a second node, a third node, and a fourth node, wherein separate pluralities of guests execute on each node of the plurality of nodes, including a first plurality of guests on the first node, a second plurality of guests on the second node, a third plurality of guests on the third node, and a fourth plurality of guests on the fourth node, wherein each seperate plurality of guests executes a respective plurality of jobs including a first plurality of jobs on the first plurality of guests, a second plurality of jobs on the second plurality of guests, a third plurality of jobs on the third plurality of guests, and a fourth plurality of jobs on the fourth plurality of guests;
one or more processors; and
a scheduler executing on the one or more processors to:
receive a current first capacity update of the first node;
track a first quantity of jobs executing on the first node, a second quantity of jobs executing on the second node, a third quantity of jobs executing on the third node, and a fourth quantity of jobs executing on the fourth node;
calculate, a first estimated capacity of the first node, a second estimated capacity of the second node, a third estimated capacity of the third node, and a fourth estimated capacity of the fourth node;
rank the first node, the second node, the third node, and the fourth node in a list based on the first estimated capacity, the second estimated capacity, the third estimated capacity, and the fourth estimated capacity;
receive a request to execute a first job;
select the first node, the second node, and the third node as a schedulable set based on the list; and
send, a schedulable set notice based on the schedulable set and the first job to the first node to be executed, wherein the schedulable set notice sent to the first node includes the schedulable set.

US Pat. No. 10,599,479

RESOURCE SHARING MANAGEMENT OF A FIELD PROGRAMMABLE DEVICE

INTERNATIONAL BUSINESS MA...

13. A system for resource sharing management of a field programmable device, the system comprising:a memory having computer readable instructions; and
a processing device for executing the computer readable instructions, the computer readable instructions comprising:
applying resource control to the field programmable device such that a percentage of the field programmable device is apportioned to each virtual machine of a plurality of virtual machines, the percentage set proportional to a number of general processors assigned to each virtual machine;
selecting a job belonging to one of a plurality of tenants based on the resource control, each virtual machine of the plurality of virtual machines representing a tenant of the plurality of tenants;
dispatching a job to the field programmable device, wherein the job is received at a processing device, and wherein the job comprises dispatchable units;
performing the dispatchable units belonging to the job using the field programmable device; and
tracking processing statistics related to each of the plurality of virtual processing devices based on performing the dispatchable units belong to the job.

US Pat. No. 10,599,478

AUTOMATED RECONFIGURATION OF REAL TIME DATA STREAM PROCESSING

Amazon Technologies, Inc....

1. A system, comprising:a plurality of compute nodes, respectively comprising at least one processor and a memory, wherein the plurality of compute nodes implement a managed stream processing system comprising a control plane and a plurality of stream processing nodes;
the control plane, configured to:
collect performance metrics for one or more of the processing nodes that execute a processing function for a data stream that applies the processing function to data records of the data stream as they are received;
based, at least in part, on an analysis of the performance metrics, detect a reconfiguration event for the processing function as the one or more of the processing nodes continue to execute the processing function for the data stream;
in response to the detection of the reconfiguration event:
determine a different execution configuration for the processing function such that at least one different processing node is executing the processing function;
initiate the different execution configuration for the processing function; and
the plurality of stream processing nodes configured to:
execute the processing function using the different execution configuration for the processing function.

US Pat. No. 10,599,477

METHODS AND APPARATUS FOR COMMAND LIST PROCESSING IN PERFORMING PARALLEL IO OPERATIONS

DataCore Software Corpora...

1. A method for handling IO requests directed to an operating system having an IO scheduling component, the method comprising:allocating a command to a thread in association with one of the IO requests, the command being allocated from one of a plurality of command lists accessible in parallel;
linking the command to one of a plurality of active command lists that are accessible in parallel;
returning a success indication to the thread, unlinking the command from the one of the plurality of active command lists, and freeing the command to one of the plurality of command lists following a cache hit corresponding to the one of the IO requests,
wherein each of the active command lists respectively corresponds to one of a plurality of CPUs on a multi-core processing platform on which the IO requests are processed.

US Pat. No. 10,599,476

DEVICE AND METHOD FOR ACQUIRING VALUES OF COUNTERS ASSOCIATED WITH A COMPUTATIONAL TASK

BULL SAS, Les Clayes-sou...

1. A device for acquiring values of counters associated with a computational task implemented on an interconnection network, said interconnection network comprising a plurality of nodes interconnected via switches, said nodes and switches including a plurality of ports associated with counters, the values of said counters being stored over time, said computational task involving a subset of ports associated with subsets of nodes and switches, and said device comprising:A routing acquisition module adapted to acquire a routing table including all the connections of the interconnection network,
An acquisition module of involved nodes adapted to acquire a list of the nodes involved in the computational task,
A port extraction module adapted to extract a list of the ports involved in the computational task from the list of involved nodes and the routing table, and
A counter extraction module adapted to extract the values of the counters of the ports involved in the computational task from the list of ports involved and the stored values of said counters.

US Pat. No. 10,599,473

APPARATUS AND METHOD FOR MATCHING OFFERS AND REQUESTS FOR SHARING OF RESOURCES

PROVENANCE ASSET GROUP LL...

1. An apparatus, comprising:a processor and a memory communicatively coupled to the processor, the processor configured to:
send, by a first element toward a controller, a resource request comprising an indication of a quantity of resources requested by the first element;
receive, by the first element from the controller, resource assignment information comprising an indication of a quantity of granted resources granted to the first element and an identification of a second element from which the granted resources are to be provided, the resource assignment information determined by (i) a greedy assignment process configured to assign as many remaining resources as possible to the second element as a hosting node or (ii) a maximum flow resource assignment process configured to assign resources based on an integral maximum flow of a maximum flow graph; and
send, by the first element toward the second element, a request by the first element to use at least a portion of the granted resources granted to the first element.

US Pat. No. 10,599,472

INFORMATION PROCESSING APPARATUS, STAGE-OUT PROCESSING METHOD AND RECORDING MEDIUM RECORDING JOB MANAGEMENT PROGRAM

FUJITSU LIMITED, Kawasak...

1. An information processing apparatus comprising:a processor; and
a memory coupled to the processor,
the information processing apparatus is provided as a job management node in a system including a plurality of nodes,
the processor performs a scheduling process of scheduling a job for the plurality of nodes, the scheduling process including:
calculating, when a computation node of the plurality of nodes executes a first job, a job execution end time when execution of the first job is completed by referring an execution history in which an execution time of a job is recorded;
acquiring, from a load management node that is included in the plurality of nodes and manages a load of a metadata-process execution node which is included in the plurality of nodes and performs metadata processing to access metadata of a file among the plurality of nodes, the load of the metadata-process execution node at the job execution end time; and
generating, when the load is equal to or more than a threshold, schedule data to cause a staging execution node, which is included in the plurality of nodes and is different from the metadata-process execution node, to perform the metadata processing which is produced by a staging process in which a file having an execution result of the first job is moved between the computation node and a node which is included in the plurality of nodes and stores user data at the job execution end time.

US Pat. No. 10,599,468

HOUSEKEEPING VIRTUAL PROCESSOR OVERCOMMIT FOR REAL TIME VIRTUALIZATION

Red Hat, Inc., Raleigh, ...

1. A system comprising:a hypervisor;
one or more virtual machines; and
one or more virtual processors, associated with on one or more physical processors, including a real time virtual processor adapted to perform real time data processing and a housekeeping virtual processor adapted to perform non-real time data processing for housekeeping tasks, wherein the housekeeping virtual processor is configured to:
initiate a non-preemptible, non-real time housekeeping task that includes acquiring a lock,
responsive to initiating the non-preemptible, non-real time housekeeping task, increment a counter value from an initial counter value, wherein a respective counter value greater than the initial counter value indicates that the housekeeping virtual processor is in a respective critical section of a plurality of respective critical sections,
complete the non-preemptible, non-real time housekeeping task, wherein completing the non-preemptible, non-real time housekeeping task includes releasing the lock,
responsive to completing the non-preemptible, non-real time housekeeping task, decrement the counter value towards the initial counter value,
responsive to the counter value reaching the initial counter value, check a flag and determine a status of the flag as one of (i) set by the hypervisor to yield on unlock and (ii) unset, and
responsive to checking the flag and determining the status as set by the hypervisor to yield on unlock, execute a hypercall to yield a processor of the one or more physical processors associated with the housekeeping virtual processor after the housekeeping virtual processor has completed each of the respective critical sections.

US Pat. No. 10,599,466

MANAGED SERVICES COORDINATOR

International Business Ma...

1. A computer system for applying tasks, the computer system comprising:a memory; and
a processor in communication with the memory, wherein the computer system is configured to perform a method, the method comprising:
receiving a schedule for performing a plurality of tasks for a plurality of applications, an application of the plurality of applications hosted by a computing environment utilizing a monitoring agent;
determining, based on the schedule, that a first task of the plurality of tasks is to be performed for an operation of the application during a first period of time;
reviewing the schedule for the first period of time;
determining, in response to reviewing the schedule, that the first task requires a first amount of a first resource type during the first period of time and a second task, also scheduled for the first period of time, requires a second amount of the first resource type;
determining that combined the first amount and the second amount exceed a total amount of the first resource type available in the computing environment;
prioritizing, based on the operation of the application, the first task over the second task;
rescheduling, in response to prioritizing the first task, the second task for a second period of time;
reviewing, in response to rescheduling the second task, the schedule for the second period of time;
determining, in response to reviewing the schedule, that the second task requires a third amount of a second resource type and a third task, also scheduled for the second period of time, requires a fourth amount of the second resource type;
determining that combined the third amount and the fourth amount exceed a total amount of the second resource type available in the computing environment;
determining that the first task does not require the second resource type; and
rescheduling, in response to determining that combined the third amount and the fourth amount exceed a total amount of the second resource type available in the computing environment, and further in response to determining that the first task does not require the second resource type, the third task for the first period of time.

US Pat. No. 10,599,465

OFF-THE-SHELF SOFTWARE COMPONENT REUSE IN A CLOUD COMPUTING ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A computer-implemented distributed data processing method for a software application that includes no code that targets a distributed data processing system, the method comprising:executing, via a synthesized remote procedure call in a thunk layer, a software application that has been designed with a single-node operation to operate in a distributed fashion by automatically arranging for components of the software application to execute across a plurality of nodes.

US Pat. No. 10,599,463

SYSTEM AND METHOD FOR CREATING VIRTUAL MACHINES FROM CONTAINERS

NUTANIX, INC., San Jose,...

1. A method comprising:receiving a container file as an input at a computer system, wherein the container file is part of a hierarchy of container files defined in a container file specification;
parsing the container file to obtain information regarding resources needed for a container application in the container file;
identifying a parent file of the container file in the hierarchy;
parsing the parent file to obtain information regarding resources needed for a parent application in the parent file;
repeating identifying and parsing at least one container file at each level in the hierarchy until a base of the hierarchy is reached; and
caching a virtual machine image at each level in the hierarchy.

US Pat. No. 10,599,460

ANALYTIC MODEL EXECUTION ENGINE WITH INSTRUMENTATION FOR GRANULAR PERFORMANCE ANALYSIS FOR METRICS AND DIAGNOSTICS FOR TROUBLESHOOTING

ModelOp, Inc., Chicago, ...

1. A system, comprising:a processor configured to:
receive at an interface an analytic model for processing data;
inspect the analytic model to determine a language, an action, an input type, and an output type; and
generate a virtualized execution environment for an analytic engine that includes executable code to implement the analytic model for processing an input data stream, wherein the analytic model includes an input configuration schema that specifies an input type, an output configuration schema that specifies an output type, and a stream configuration descriptor that specifies a stream type, and wherein the generating of the virtualized execution environment comprises to:
route, based on a first analytic language, the executable code to implement the analytic model for processing the input data stream to one of a plurality of runtime engines;
bind, using the virtualized execution environment, the analytic model and a stream descriptor based on a schema shared by the analytic model and the stream descriptor;
process the input data stream using the executable code, wherein a stream processor enforces the input type; and
generate an output data stream using the stream processor based on the output type; and
a memory coupled to the processor and configured to provide the processor with instructions.

US Pat. No. 10,599,459

ENTITY DATABASE DISTRIBUTED REPLICATION

NUTANIX, INC., San Jose,...

1. An apparatus comprising a processor having programmed instructions to:store, in a first entity trail in a first memory, a first modification to a first entity having a first timestamp, wherein the first memory is in a first node of a plurality of disjoint sets of nodes;
record, in a second entity trail in a second memory, a second modification to a second entity having a second timestamp that is non-adjacent to the first timestamp; and
replicate the second modification to the first entity trail.

US Pat. No. 10,599,458

FABRIC COMPUTING SYSTEM HAVING AN EMBEDDED SOFTWARE DEFINED NETWORK

Unisys Corporation, Blue...

1. A Forward Fabric system for coupling to a data center platform, the Forward Fabric system comprising:a processor;
a memory coupled to the processor;
a plurality of nodes, wherein each node includes at least one of one or more applications, operating systems, virtual machines, and hypervisor applications running thereon;
an interconnect backplane coupled between the plurality of nodes;
a Forward Fabric Manager (FFM) coupled to the plurality of nodes via the interconnect backplane for controlling and managing the Forward Fabric system; and
a physical router switch coupled to the Forward Fabric manager and coupled to the plurality of nodes,
wherein the Forward Fabric manager creates at least one secure partition (s-Par) application executing within at least one of the plurality of nodes,
wherein at least one of the plurality of nodes having a secure partition (s-Par) application executing therein also includes a software defined network (SDN) controller executing therein for receiving configuration information and providing at least one secure and non-stop Forward Fabric endpoint on the Forward Fabric system for connecting with at least one endpoint on the data center platform,
wherein at least one of the plurality of nodes having a secure partition (s-Par) application executing therein also includes an interconnect service partition for accepting and interpreting at least one configuration command from the SDN controller and for implementing a configuration based on the configuration command,
wherein at least one of the plurality of nodes having a secure partition (s-Par) application executing therein also includes a router switch component for performing at least one switching function within the Forward Fabric system,
wherein at least one of the plurality of nodes is coupled to the data center platform via at least one SDN controller, and
wherein the at least one SDN controller allows the plurality of nodes to communicate with the data center platform without any network cards and without any host bus adapters.

US Pat. No. 10,599,456

CENTRALIZED NETWORKING CONFIGURATION IN DISTRIBUTED SYSTEMS

Amazon Technologies, Inc....

1. A system, comprising:a plurality of computing devices comprising one or more hardware processors and memory and configured to:
obtain, at a networking configuration service, metrics from a plurality of sources, including network traffic metrics collected at a set of nodes associated with a network-accessible service of a provider network;
select, at the networking configuration service, based at least in part on the network traffic metrics, a procedure to be applied to a category of network traffic associated with one of the respective instances of the network-accessible service at a node of the set of nodes and a different procedure to be applied to a different category of traffic associated with a different one of the respective instances of the network-accessible service at a different node of the set of nodes, wherein the procedure indicates at least a bandwidth limit, a latency requirement, a packet fragmentation configuration setting, or a configuration setting dependent at least in part on packet size, and the different procedure indicates at least a different bandwidth limit, a different latency requirement, a different packet fragmentation configuration setting, or a different configuration setting dependent at least in part on packet size;
transmit, from the networking configuration service:
a representation of the procedure to the node of the set of nodes; and
a representation of the different procedure to the different node of the set of nodes;
determine at the node that one or more units of network traffic are within the category of network traffic;
schedule one or more network transmissions of the one or more units of network traffic at the node of the set of nodes according to the procedure responsive to the determination at the node that the one or more units of network traffic are within the category of network traffic;
determine at the different node that one or more different units of network traffic are within the different category of network traffic; and
schedule one or more network transmissions of the one or more different units of network traffic at the different node of the set of nodes according to the different procedure selected at the network configuration service responsive to the determination at the different node that the one or more different units are within the different category of network traffic.

US Pat. No. 10,599,454

DATABASE SYSTEMS AND RELATED METHODS FOR VALIDATION WORKFLOWS

salesforce.com, inc., Sa...

1. A method comprising:receiving, at a server of a database system, a graphical representation of a validation process from a client device coupled to a network, the graphical representation comprising an arrangement of process symbology defining the validation process;
identifying a user-configured triggering criterion for the validation process based on the graphical representation of the validation process;
generating, at the server, a source code representation of the validation process based on the arrangement of process symbology defining the validation process;
converting the source code representation to object model code corresponding to the validation process;
storing the object model code corresponding to the validation process at the database system in association with a database object type by integrating the object model code with process code that may be executed in a virtual machine environment to perform the validation process in response to an action with respect to an instance of the database object type during execution of the process code; and
in response to the action with respect to the instance of the database object type in a database of the database system, performing the validation process defined by the arrangement of process symbology with respect to the instance of the database object type using the object model code integrated with the process code when the user-configured triggering criterion is satisfied.

US Pat. No. 10,599,451

SYSTEMS AND METHODS FOR AIDING COMPUTING USERS HAVING SUB-OPTIMAL ABILITY

SimpleC, LLC, Atlanta, G...

1. A computer-implemented method of adaptively controlling a user computer experience, comprising:administering, using a computer-implemented testing program on a graphical user interface of a computer and one or more data processors, a series of multiple tests to record user metrics;
wherein the series of multiple tests measures a user's cognitive ability; and
automatically adapting a graphical user visual interface of the computer having a plurality of icons, each icon having a size and a relative position to the other icons outside of the testing program throughout the user computer experience, the size of the plurality of icons being adjusted to correspond to the user's cognitive ability measured through the testing using the one or more data processors by adjusting one or more computing environment settings,
wherein the relative position of each icon is maintained after adjusting the size of the plurality of icons.

US Pat. No. 10,599,450

ELECTRONIC TRANSACTION METHOD AND APPARATUS

1. An electronic product transaction method at a merchant aggregator server operated by a merchant aggregator service provider, the method comprising:generating and outputting an interface to a user, the interface comprising a plurality of selectable merchant options, each merchant option comprising a link to a plurality of selectable product options for a respective merchant, each product option comprising information on a product offered for sale, rent or hire by the respective merchant;
receiving, from the user, a selection of a plurality of merchant options and a plurality of product options for the plurality of merchants;
generating transaction data identifying the plurality of merchants and the plurality of products, the transaction data including data on commission payable to the merchant aggregator service provider;
receiving an instruction from the user to pay for the selected products;
transmitting the transaction data to a remote payment server to authorize and make payments for the products from the user to the plurality of merchants and payment of the commission to the merchant aggregator service provider; and
generating and outputting a merchant interface to receive product data from the merchants to generate the product options for the merchant option for each merchant, including receiving selections of templates using the merchant interface and generating interfaces for the product options using the selected templates.

US Pat. No. 10,599,447

SYSTEM CONSTRUCTION ASSISTANCE SYSTEM AND METHOD, AND STORAGE MEDIUM

NEC CORPORATION, Tokyo (...

1. A system construction assistance system comprising:a processing circuitry and a storage device storing data used by the processing circuitry, the processing circuitry being configured to form:
a system definition input unit that inputs a system definition including at least
a designation of a component using a component definition that is capable of including a field definition being information of a field and a setting definition being information about a setting to a constituent element associated with the field, and
an assignment definition related to assignment of a constituent element to a field included in the component,
the component definition being information that defines a component including at least one or more fields finally associated with one specific constituent element, the field storing information of a constituent element; and
a setting assignment unit that
associates a constituent element with a field in a designated component, based on the system definition and the component definition, and
assigns a setting to a constituent element constituting a target system, by reflecting a setting content defined with respect to the field in the constituent element associated with the field.

US Pat. No. 10,599,446

MECHANISM FOR TRANSPARENT VIRTUAL TAPE ENGINES RESTART

EMC IP Holding Company LL...

1. A method for restarting virtual tape engines (VTEs), comprising:receiving a restart request comprising a VTE configuration for a VTE; and
processing the restart request to restart the VTE by:
storing the VTE configuration in a shared data buffer (SDB) residing on the VTE;
detaching a set of virtual tape drives from the VTE;
preserving a tape drive state (TDS), a set of tape drive processes (TDPs), and input/output (I/O) network traffic associated with each virtual tape drive of the set of virtual tape drives, in the SDB; and
after the preserving, restarting the VTE.

US Pat. No. 10,599,445

CONTROLS AND INDICATORS WITH ON-SCREEN COGNITIVE AIDS

Intel Corporation, Santa...

9. A mobile computing device comprising:an embedded controller;
a plurality of buttons, each button having a button identifier assigned by the embedded controller, the plurality of buttons including HID-class buttons; and
an ACPI-to-HID mapper driver to use a standardized nomenclature for controlling HID-class buttons of the plurality of buttons, wherein the ACPI-to-HID mapper driver is reconfigurable using a configuration file that defines details of the HID-class buttons.

US Pat. No. 10,599,444

EXTENSIBLE INPUT STACK FOR PROCESSING INPUT DEVICE DATA

Microsoft Technology Lice...

1. A system, comprising:at least one processor; and
at least one memory that stores program code configured to be executed by the at least one processor, the program code comprising:
an operating system configured to:
determine an input device coupled to the computing device;
determine an application operable on the computing device that is interacted with via the input device;
determine at least one software component that extends the functionality of at least one stack layer of a plurality of stack layers of an extensible input stack to support operability of the determined input device for the application, the extensible input stack being configured to process input device data generated by the input device;
load the software component for the at least one stack layer;
determine a second application operable on the computing device that is interacted with via the input device;
determine at least a second software component that extends the functionality of at least one stack layer of a plurality of stack layers of the extensible input stack to support operability of the determined input device for the second application; and
load the second software component for the at least one stack layer.

US Pat. No. 10,599,443

SYSTEMS AND METHODS INVOLVING CONTROL-I/O BUFFER ENABLE CIRCUITS AND/OR FEATURES OF SAVING POWER IN STANDBY MODE

GSI TECHNOLOGY, INC., Su...

1. A method of operating a clock frequency detected control-i/o buffer enable circuit in a semiconductor device comprising:enabling a frequency detected control-i/o buffer enable circuit output signals to enter into a low power mode for a first group of circuits in the semiconductor device based on a clock frequency detector associated with an external clock frequency while maintaining a second group of circuits in an active mode, wherein the first group of circuits include high power consumption circuits and the second group of circuits include a clock buffer, a TMS buffer and a TCK buffer; and
disabling the said frequency detected control-i/o buffer enable circuit output signals to exit from a low power mode for the first group of circuits based on a clock frequency detector associated with the external clock frequency.

US Pat. No. 10,599,440

METHOD FOR SHARING PROCESSING MODULES BETWEEN PIPELINES

International Business Ma...

19. A computer system comprising one or more computer processors, one or more computer-readable storage media, and program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more computer processors, the program instructions configured to perform an operation comprising:receiving a request to activate a new pipeline;
acquiring information relating to shareability of an existing pipeline comprising a first plurality of processing modules, wherein each of the first plurality of processing modules are in an activated state;
identifying, based on the information relating to shareability, a first shareable processing module from the first plurality of processing modules;
instantiating a first non-shared processing module for the new pipeline; and
generating the new pipeline by connecting the first non-shared processing module to the first shareable processing module.

US Pat. No. 10,599,437

MANAGING OBSCURED BRANCH PREDICTION INFORMATION

Marvell World Trade Ltd.,...

1. An integrated circuit comprising:at least one processor executing instructions in a pipeline, where each instruction is associated with a particular translation context of a plurality of potential translation contexts that are used to distinguish otherwise identical virtual addresses from each other, and the instructions include branch instructions;
first storage for branch prediction information characterizing results of branch instructions previously executed by the processor;
first circuitry configured to provide a predicted branch result that is determined based on at least a portion of the branch prediction information; and
second circuitry configured to provide an actual branch result based on an executed branch instruction, and to update the branch prediction information based on the actual branch result;
wherein updating the branch prediction information based on an actual branch result for a first execution of a first branch instruction comprises:
computing a randomized value and storing the randomized value in association with an identified subset of one or more translation contexts that contains fewer than all of the plurality of potential translation contexts, where the identified subset includes a translation context associated with the first branch instruction,
obfuscating the actual branch result based at least in part on the randomized value, and
storing a resulting obfuscated value in the branch prediction information; and
wherein providing a predicted branch result for a second execution of the first branch instruction comprises:
retrieving the obfuscated value from the branch prediction information,
retrieving the randomized value, and
de-obfuscating the obfuscated value using the randomized value to recover the actual branch result as the predicted branch result.

US Pat. No. 10,599,436

DATA PROCESSING METHOD AND APPARATUS, AND SYSTEM

HUAWEI TECHNOLOGIES CO., ...

1. A data processing method, applied to a system comprising a central processing unit (CPU) pool and a storage pool, whereinthe CPU pool is communicatively connected to the storage pool; and
the CPU pool comprises at least two CPUs, a master node, at least one mapper node, and at least one reducer node running in the CPU pool, wherein the at least one mapper node comprises a first mapper node, the at least one reducer node comprises a first reducer node, and the first mapper node and the first reducer node run on different CPUs in the CPU pool;
the storage pool comprises a remote storage area shared by the first mapper node and the first reducer node; and the method comprises:
executing, by the first mapper node, a map task on a data slice, and obtaining N groups of at least one data segment according to an execution result of the map task, wherein
N is a positive integer, each of the at least one data segment is to be processed by a corresponding reducer node, and
the at least one data segment comprises a first data segment, and an Mth group, the first data segment being a data segment to be processed by the first reducer node, and the Mth group comprising an Mth first data segment, wherein M is a positive integer less than or equal to N;
storing, by the first mapper node, all first data segments in the N groups of at least one data segment into the remote storage area, and generating N storage messages, wherein an Mth storage message comprises a storage address of the Mth first data segment in the remote storage area and a data volume of the Mth first data segment; and
sending, by the first mapper node, the N storage messages to the master node.

US Pat. No. 10,599,434

PROVIDING TOUCH GESTURE RECOGNITION TO A LEGACY WINDOWED SOFTWARE APPLICATION

Raytheon Company, Waltha...

1. A method, in a system including a touch-sensitive display device and a computer, of implementing touch gesture recognition for a legacy software application, the computer comprising a processor and a tangible computer-readable medium storing a plurality of instructions executable by the processor to implement the method, comprising:initiating an instance of the legacy application including an application programming interface (API) associated therewith, the legacy application configured to respond to a predetermined set of input data;
initiating an instance of an overlay application located over the legacy application and configured to detect, recognize and provide data regarding a touch gesture presented on the touch-sensitive device; and
initiating a converter plug-in application, in communication with the legacy application API and the overlay application, configured to convert touch gesture data received from the overlay application into data found in the predetermined set of input data useable by the legacy application,
wherein the legacy application is further configured to receive data from the converter plug-in application via the API, and
wherein the overlay application is configured to intercept all touch data received from the touch-sensitive device.

US Pat. No. 10,599,429

VARIABLE FORMAT, VARIABLE SPARSITY MATRIX MULTIPLICATION INSTRUCTION

Intel Corporation, Santa...

1. A processor comprising:fetch and decode circuitry to fetch and decode a variable format, variable sparsity matrix multiplication (VFVSMM) instruction having fields to specify locations where each of A, B, and C matrices having (M×K), (K×N), and (M×N) elements, respectively, is stored; and
execution circuitry, operating in a dense-dense mode, in response to the decoded VFVSMM instruction, to route each row of the specified A matrix, staggering subsequent rows, into a corresponding row of a processing array having (M×N) processing units, and route each column of the specified B matrix, staggering subsequent columns, into a corresponding column of the processing array, and
wherein each of the (M×N) processing units is to generate K products of matching A-matrix and B-matrix elements received from the specified A and B matrices, respectively, a match to exist when the B-Matrix element has the same row address as a column address of the A-matrix element, and to accumulate each generated product with a corresponding element of the specified C-matrix having a same relative position as a position of the processing unit in the processing array.

US Pat. No. 10,599,427

SOFTWARE UPDATING

Apple Inc., Cupertino, C...

1. A method for updating a target file stored on a device, the method comprising:receiving update data for a plurality of sections that are divided from a target file;
receiving a segmentation map specifying an update method for each section, wherein the update method of a section is one of a patch section update or full section update; and
updating the plurality of sections, wherein a section is updated by an update method that results in a smaller update data size for the section in an update file than the other update method, wherein the update data for a section that is specified as being updated by the full section update comprises compressed data, wherein the segmentation map specifies the update method for the plurality of sections in an order of increasing sizes following a geometric progression.

US Pat. No. 10,599,422

INTELLIGENT DETECTION AND PREVIEW OF ENHANCED APPLICATION FUNCTIONALITY

Bank of America Corporati...

1. A computing platform, comprising:at least one processor;
a communication interface communicatively coupled to the at least one processor; and
memory storing computer-readable instructions that, when executed by the at least one processor, cause the computing platform to:
establish a first connection, via the communication interface, with a remote client device and, while the first connection is established, initiate a first client session;
establish a second connection, via the communication interface, with an intelligent helper agent and, while the second connection is established, receive new feature information, via the communication interface, relevant to the first client session as determined by comparing the new feature information to a first client persona; and
transmit a first notification, via the communication interface, to the remote client device which, when executed by the remote client device, causes the first notification to be displayed on the remote client device.

US Pat. No. 10,599,421

SYSTEMS AND METHODS FOR FAILSAFE FIRMWARE UPGRADES

CalAmp Corp., Irvine, CA...

1. A method for firmware updates, the method comprising:running a primary bootloader application contained in a firmware image by using a vehicle telematics device, wherein the vehicle telematics device comprises a processor and a firmware memory coupled to the processor and partitioned into a plurality of segments, each segment for storing an individual firmware image segment, and the firmware image is contained in the firmware memory, the firmware image further comprising a first firmware image segment, and a second firmware image segment;
verifying the integrity of the first firmware image segment by using the vehicle telematics device;
verifying the integrity of the second firmware image segment by using the vehicle telematics device;
selecting a firmware image contained in the firmware memory to boot by using a failsafe process; and
booting the vehicle telematics device by using the selected firmware image, wherein the firmware memory comprises a default firmware image segment and a transferred firmware image segment, the method further comprising selecting the default firmware image segment to boot the vehicle telematics device when the first firmware image segment is invalid and the second firmware image segment is invalid,
wherein the transferred firmware image segment stored within the firmware memory is independent of a partition location such that transferring a single image is sufficient without the need to transfer a plurality of images;
wherein the transferred firmware image segment comprises metadata that identifies a firmware image segment in which the transferred firmware image segment is to be stored;
wherein the method further comprises:
checking an image ID for the first firmware image segment by using the vehicle telematics device; and
checking an image ID for the second firmware image segment by using the vehicle telematics device;
selecting the first firmware image segment to boot the vehicle telematics device when the first firmware image segment and the second firmware image segment are valid, and the image ID for the first firmware image segment is greater than the image ID for the second firmware image segment.

US Pat. No. 10,599,417

REMOTE ADMINISTRATION TECHNIQUE

ORANGE, Paris (FR)

1. A method comprising:remotely administering a device, which is not a medical device, of a local area network by an administration server connected to a wide area communication network, wherein remotely administering comprises:
using CPE WAN Management Protocol (CWMP) for communicating between the device and the administration server;
obtaining at least one item of data representative of human activity in a geographical area in which the device to be updated is situated, wherein the item of data is determined from a plurality of items of information that are collected from activity sensors that are distinct from the device being administered and are distributed in a service area of the local area network, the activity sensors sensing activity of at least one human in the service area whether the at least one human is a user of the device or not;
deferring the update when the item of data obtained indicates human activity in said geographical area; and
forcing, by the administration server, performing the update when a number of deferring the update at the device reaches a predetermined threshold.

US Pat. No. 10,599,416

VIRTUALIZED FILE SERVER BLOCK AWARENESS

Nutanix, Inc., San Jose,...

1. A virtualized file server, comprising:a cluster of virtualized server managers hosted on a computing node cluster and configured to manage storage items maintained on virtual disks, the cluster of virtualized server managers including a first virtualized file server manager configured to manage an input/output (I/O) transaction directed to a first storage item of the storage items and a second virtualized file server manager configured to manage an I/O transaction directed to a second storage item of the storage items; and
a centralized coordination service hosted on the computing node cluster and configured to, in response to detection of a failure of the first virtualized file server manager:
determine whether a first computing node block of the computing node cluster on which the first virtualized file server manager is hosted has failed;
based on the determination and identification of a second computing node block of the computing node cluster on which the second virtualized file server manager is hosted, identify a failover path to the second virtualized file server manager; and
migrate I/O transaction management associated with the first storage item to the second virtualized file server manager.

US Pat. No. 10,599,415

VIRTUALIZED FILE SERVER RESILIENCE

Nutanix, Inc., San Jose,...

1. A system for managing a virtualization environment, the system comprising:a virtualized file server (VFS) comprising a plurality of file server virtual machines (FSVMs), wherein each of the FSVMs is running on one of a plurality of host machines configured to form a cluster, and wherein each of the FSVMs is configured to conduct I/O transactions with one or more virtual disks, wherein a health monitoring service is running on each of the host machines running a FSVM, and wherein the VFS is configured to:
by the distributed health monitoring service, monitor the and detect that a plurality of the FSVMs have failed; and
for each of the failed FSVMs, reassign an IP address corresponding to the failed FSVM to a live one of a plurality of live ones of the FSVMs.

US Pat. No. 10,599,414

ADAPTIVE DEPLOYMENT OF APPLICATIONS FOR MOBILE DEVICES

OATH INC., New York, NY ...

1. A method comprising:receiving, by a processor, a request from a user of a mobile device for installing a version of an application on the mobile device;
transmitting, by the processor, a network request to the mobile device in response to receiving the request;
receiving, by the processor, a response to the network request from the mobile device, the response including a unique identification of the mobile device and resource description framework (RDF) information of the mobile device;
creating, by the processor, a metadata signature for the mobile device by parsing the response of the mobile device, the metadata signature including at least one feature present on the mobile device based at least in part on said RDF information;
retrieving, by the processor, a configuration of software components from an application component data store based on mapping the metadata signature to the configuration of software components, the configuration of software components being selected from multiple software components that can be assembled into variations of the application, the multiple software components providing functionality executed by the mobile device;
compiling, by the processor, the configuration of software components into a device version of the application, the compilation comprising adding the configuration of software components to a predefined application template and compiling the application template and software components into an application binary; and
communicating, by the processor, the device version of the application to the mobile device.

US Pat. No. 10,599,409

APPLICATION LIFECYCLE OPERATION QUEUEING

BlackBerry Limited, Wate...

1. In a trusted execution environment for designating a group of trusted applications for exclusive interprocess communication in a computing device, a method for installing an application, comprising:identifying an installation package for the application, the installation package including installation directives and executable instructions;
identifying a lifecycle operation within the executable instructions;
determining, for the lifecycle operation, execution conditions for initiation of the lifecycle operation; and
inserting a delay into the executable instructions prior to an invocation of the lifecycle operation, the delay being based on satisfaction of the execution conditions;
wherein deferred invocation of the lifecycle operation prevents interprocess communication of the application in the trusted execution environment with other applications in a common address space;
wherein the executable instructions have an original entry point, and further comprising: copying the executable instructions and installation directives to a deferred installation package, the deferred installation package operable to define an operation queue for a plurality of lifecycle operations and to resume execution from the original entry point pending completion of the plurality of lifecycle operations.

US Pat. No. 10,599,408

CUSTOMER INFORMATION CONTROL SYSTEM (CICS) SERVICES DEPLOYMENT SYSTEM

Walmart Apollo, LLC, Ben...

1. A code development tool for automatically deploying Customer Information Control System (CICS) services in a CICS environment, the code development tool comprising:a computing system operatively coupled to a plurality of servers and a data storage device, programmed to:
execute a CICS deployment service that displays a list of a plurality of CICS services on a GUI rendered on a display;
receive with the CICS deployment service a selection of a CICS service for deployment, the selection selected from the list of the plurality of CICS services displayed on the GUI;
read, from the data storage device, parameters associated with deployment of the CICS service and source code associated with the CICS service;
determine at least one or more available servers from the plurality of servers;
execute a mass compilation of the source code in a CICS environment on the one or more available servers and the parameters associated with the deployment of the selected CICS service to generate a compiled CICS service;
execute a mass Relational Database Management System (RDBMS) bind batch in response to the compiled CICS service; and
deploy the compiled CICS service in the CICS environment in response to completion of the mass RDBMS bind batch.

US Pat. No. 10,599,407

COMPILER FOR TRANSLATING BETWEEN A VIRTUAL IMAGE PROCESSOR INSTRUCTION SET ARCHITECTURE (ISA) AND TARGET HARDWARE HAVING A TWO-DIMENSIONAL SHIFT ARRAY STRUCTURE

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:receiving a first sequence of instructions of a first instruction set architecture, wherein the first sequence of instructions (i) defines an image processing algorithm and (ii) includes one or more load instructions and one or more arithmetic instructions, wherein each load instruction specifies, using a two-dimensional address, a position of data within a region of image data;
receiving, by a compiler, a request to translate the first sequence of instructions into instructions of a second instruction set architecture, wherein instructions in the second instruction set architecture are executable by an image processor comprising a two-dimensional array of processing elements and a two-dimensional shift-register array, wherein each shift-register in the two-dimensional shift-register array is dedicated to a respective processing element in the two-dimensional array of processing elements; and
in response, translating the one or more load instructions in the first instruction set architecture into one or more shift instructions of the second instruction set architecture, wherein each shift instruction is operable to cause the image processor to shift data at the position within the region of image data specified by the two-dimensional address of a corresponding load instruction from a source register in the two-dimensional shift-register array to a destination register.

US Pat. No. 10,599,406

GENERATING EXECUTABLE FILES THROUGH COMPILER OPTIMIZATION

International Business Ma...

1. A computer-implemented method of generating an executable file, comprising:determining, using a processor, whether a first symbol having a first definition associated with a first object file matches a second symbol of a second definition associated with a second object file;
if the first symbol matches the second symbol, optimizing the first object file based on a first segment in the first object file corresponding to the first definition and skipping optimizing the second object file based on a second segment in the second object file corresponding to the second definition; and
generating, using the processor, an executable file based on the optimized first object file and the second object file.

US Pat. No. 10,599,404

M/A FOR COMPILING PARALLEL PROGRAM HAVING BARRIER SYNCHRONIZATION FOR PROGRAMMABLE HARDWARE

Altera Corporation, San ...

1. A method of compiling a first program code, the method comprising:determining if the first program code is to program a programmable logic device to execute a second program code, wherein the first program code is a parallel program having a barrier function call for a group of threads; and
transforming the first program code by replacing the barrier function call with additional hardware control logic specified to be programmed into the programmable logic device to form a transformed program in response to determining that the first program code is to program the programmable logic device, wherein the transformed program code remains a parallel program and maintains synchronization among the group of threads.

US Pat. No. 10,599,401

COMPONENT-BASED SOFTWARE SYSTEM AND DEVELOPMENT METHOD

1. A method of assembling a computer program by using re-usable software-components to perform a service, the method comprising:generating a computational goal data message (CGDM) comprising a first input key-value pair and an output key-value pair based on input and output requirements of the service;
configuring a part function (PF) of the computer program to receive the CGDM as an input argument;
generating a variable matching structure sequence (VMSS) including a label to identify a computation function (CF) and a first variable matching structure (VMS) associated with the label, the first VMS including a first input key-pair mapped to an input parameter of the CF and to the first input key-value pair of the CGDM and an output key-pair mapped to an output parameter of the CF and to the output key-value pair of the CGDM; and
associating the CGDM with the VMSS to enable the PF to invoke the CF according to the first VMS,
wherein the CF is configured to perform an operation related to the service, and
wherein the first input key-pair of the first VMS includes a first input key that is mapped to the input parameter of the CF and a second input key that is mapped to the first input key-value pair of the CGDM.

US Pat. No. 10,599,399

MOBILE USER INTERFACE DESIGN TESTING TOOL

INTERNATIONAL BUSINESS MA...

1. A method performed by a computing device for verifying a user interface (UI) design of an application, the method comprising:receiving a screenshot of the application's UI operating at a target device by the computing device;
retrieving, by the computing device, a reference UI design image that corresponds to the received screenshot;
generating, by the computing device, a plurality of images based on one or more discrepancies between the screenshot and the reference UI design image, wherein the plurality of images comprises:
a set of differential images in which each pixel location has a value that is based on a difference between corresponding pixels at a same pixel location of the reference UI design image and of the screenshot; and
at least one blended image that is an overlay of the reference UI design image with the screenshot; and
presenting the generated plurality of images in one presentation.

US Pat. No. 10,599,398

RESIDUE NUMBER MATRIX MULTIPLIER

Olsen IP Reserve, LLC, H...

1. A matrix multiplier that performs matrix multiplication on a plurality of input matrices in residue number format, the matrix multiplier comprising:a plurality of digit processing units that receive said plurality of input matrices, each of said plurality of digit processing units associated with a distinct modulus; and
one or more normalization units in communication with each of said plurality of digit processing units;
wherein each of said plurality of digit processing units perform a modular matrix multiplication on said plurality of input matrices resulting in a matrix of non-normalized dot products;
wherein said one or more normalization units generate a plurality of normalized dot products based on a plurality of non-normalized dot products from said matrix of non-normalized dot products;
wherein said plurality of normalized dot products form a single normalized matrix product.

US Pat. No. 10,599,395

DYNAMICALLY MERGING DATABASE TABLES

Amperity, Inc., Seattle,...

1. A system comprising:a database that stores a first database table and a second database table, the first database table comprising a first set of records and a first plurality of fields for the first set of records, the second database table comprising a second set of records and a second plurality of fields for the second set of records; and
a memory coupled to a processor, the memory comprising a plurality of instructions that cause the processor to:
obtain a user-specified threshold confidence level;
compare the first set of records and the second set of records to:
identify, according to the user-specified threshold confidence level, a set of related record pairs, wherein each related record pair includes a record in the first set of records and a record in the second set of records, wherein each related record pair is determined by comparing field values to generate a feature signature for the related record pair and classifying the feature signature to generate a confidence score, and
identify a set of unique records among the first set of records and the second set of records; and
generate a dynamically merged database table comprising a selected portion of the set of related record pairs and comprising the set of unique records.

US Pat. No. 10,599,393

MULTIMODAL INPUT SYSTEM

Microsoft Technology Lice...

1. In a computing environment, a method performed at least in part on at least one processor, the method comprising:receiving sets of input data corresponding to a plurality of input modalities, the received sets of input data including a first set of input data and a second set of input data, the first set of input data being associated with a first input modality from the plurality of input modalities, the second set of input data being associated with a second input modality from the plurality of input modalities, the second input modality being different than the first input modality;
selecting the first set of input data and the second set of input data;
utilizing a trained usage model to determine whether to combine the first set of input data and the second set of input data into a combined meaning;
based on the determining, identifying a meaning of a combination of the first set of input data and the second set of input data; and
providing output data for input by the trained usage model, the output data corresponding to the combined meaning of the first set of input data and the second set of input data.

US Pat. No. 10,599,390

METHODS AND SYSTEMS FOR PROVIDING MULTI-USER RECOMMENDATIONS

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:maintaining, with respect to each of a plurality of known group contexts, a contextual profile comprising a set of profile parameters for each known group context and an indication of an activity of a plurality of activities in which one or more users may be engaged;
receiving, from a voice-activated device, a voice command of a first user requesting media content to be played by the voice-activated device as well as a contextual audio data corresponding to ambient sound within an environment in which the voice-activated device is located, wherein the ambient sound includes user voices as well as other sound data that is independent of media content played by the voice-activated device, and wherein the contextual audio data corresponding to the ambient sound is utilizable to determine a known group context of the plurality of known group contexts;
identifying, based on a first voice associated with the voice command, the first user;
determining, based on a second voice associated with the contextual audio data, a presence of a second user different from the first user within a proximity of the voice-activated device;
identifying, based on the second voice associated with the contextual audio data, the second user;
determining, based on the first user and the second user, the known group context of the plurality of known group contexts associated with the environment at least in part by comparing an audio feature extracted from the contextual audio data with an audio feature associated with a profile parameter of the known group context, the known group context indicating the activity of the plurality of activities in which multiple people are engaged;
determining a first list of recommended media content for the first user based on a first set of attributes stored in relation to the first user and the known group context, the first list of recommended media content determined based on the activity;
determining a second list of recommended media content for the second user based on a second set of attributes stored in relation to the second user and the known group context, the second list of recommended media content determined based on the activity;
determining a third list of recommended media content based at least in part on the first list and the second list; and
providing the third list of recommend media content to the voice-activated device.

US Pat. No. 10,599,388

SYSTEM FOR MANAGING TRANSITIONS BETWEEN MEDIA CONTENT ITEMS

SPOTIFY AB, Stockholm (S...

1. A method of continuously playing back a plurality of media content items, the method comprising:determining, using at least one computing device, a mix-out point of a first media content item, comprising:
dividing the first media content item into a plurality of sections;
determining an ending section of the plurality of sections;
dividing the ending section into a plurality of segments;
determining a value of a musical attribute for each of the plurality of segments of the ending section;
identifying, from the plurality of segments of the ending section, a segment of the ending section having the musical attribute with a highest value; and
defining a beginning of the identified segment of the ending section as the mix-out point of the first media content item;
playing back the first media content item on a media playback device;
determining an alignment of the mix-out point of the first media content item with a mix-in point of a second media content item; and
playing back the second media content item on the media playback device based on the determined alignment.

US Pat. No. 10,599,387

METHOD AND DEVICE FOR DETERMINING DELAY OF AUDIO

TENCENT TECHNOLOGY (SHENZ...

1. A method of determining an audio delay, comprising:obtaining first audio data and second audio data;
extracting a first sub-fingerprint sequence of the first audio data and a second sub-fingerprint sequence of the second audio data, the first sub-fingerprint sequence including at least one first sub-fingerprint, the second sub-fingerprint sequence including at least one second sub-fingerprint;
performing at least one relative shifting operation on the first sub-fingerprint sequence and the second sub-fingerprint sequence to form at least one sub-fingerprint pair, the first sub-fingerprint sequence and the second sub-fingerprint sequence being partially or entirely aligned in a time domain;
determining, by processing circuitry of an information processing apparatus, similarity coefficients corresponding to a similarity between the first sub-fingerprint sequence and the second sub-fingerprint sequence according to a distance between two sub-fingerprints in the at least one sub-fingerprint pair;
determining, by the processing circuitry, a matching level between the first sub-fingerprint sequence and the second sub-fingerprint sequence according to the similarity coefficients; and
determining, by the processing circuitry and according to the matching level, a delay of the second audio data relative to the first audio data.

US Pat. No. 10,599,386

AUDIO PROCESSING ALGORITHMS

Sonos, Inc., Santa Barba...

1. A playback device comprising:a network interface;
an audio stage comprising an amplifier;
one or more processors;
a housing, the housing carrying at least the network interface, the audio stage, the one or more processors, and data storage having stored therein instructions executable by the one or more processors to cause the playback device to perform operations comprising:
determining that a first type of calibration is unavailable, the first type of calibration configured to offset acoustic characteristics of a particular zone in which the playback device is located;
based on determining that the first type of calibration is unavailable, calibrating the playback device with a second type of calibration, wherein calibrating the playback device with the second type of calibration comprises:
determining that the playback device is in a particular type of zone;
querying, via the network interface, a database of pre-determined calibrations of the second type for a particular pre-determined calibration of the second type, the particular pre-determined calibration offsetting acoustic characteristics of a model zone that simulates the particular type of zone, wherein the model zone is based on additional zones corresponding to the particular type of zone, wherein the model zone includes one or more known materials having a given reflectivity characteristic, and wherein the database is hosted by one or more servers remote from the playback device;
applying the particular pre-determined calibration to the audio stage of the playback device; and
playing back audio content via the calibrated audio stage and one or more speakers.

US Pat. No. 10,599,384

AUDIO SIGNAL PROCESSING DEVICE

YAMAHA CORPORATION, Hama...

1. An audio device comprising:a signal processor configured to process an audio signal in accordance with a current parameter set in a channel having a plurality of processing blocks connected in series, each processing block processing the audio signal in accordance with a sub-set of parameters in the current parameter set;
a memory storing a library of a plurality of presets, each preset having a data structure same as the current parameter set and including the sub-set of parameters corresponding to each processing block;
a processor configured to provide a plurality of tasks, including:
a first display control task that:
controls a display to display a detail screen of only a first processing block, among the plurality of processing blocks, for displaying a sub-set of parameters of the first processing block in the current parameter set of the channel, wherein the block library screen of the first processing block displays a channel recall button; and
accepts an operation from a user on a target parameter of the sub-set of parameters of only the first processing block, among the plurality of processing blocks, displayed on the detail screen via a control corresponding to the target parameter displayed on the detail screen to change a value of the target parameter in the current parameter set of the channel in accordance with an amount of the operation on the control;
a second display control task that controls the display to display, upon receiving a user instruction to open the library while the detail screen of only the first processing block, among the plurality of processing blocks, of the channel is displayed, a block library screen of only the first processing block, among the plurality of processing blocks, displaying a list of the plurality of presets stored in the library and a block recall button;
a first control task that, upon receiving a user selection of one preset in the list on the block library screen of only the first processing block, among the plurality of processing blocks, and a user operation of the block recall button, recalls a sub-set of parameters of only the first processing block, among the plurality of processing blocks, included in the selected preset in the library as the sub-set of parameters of only the first processing block, among the plurality of processing blocks, in the current parameter set of the channel; and
a second control task that, upon receiving a user selection of one preset in the list on the block library screen and a user operation of the channel recall button, recalls the parameter set of the selected preset in the library as the current parameter set of the channel to which the first processing block belongs.

US Pat. No. 10,599,380

METHOD AND SYSTEM FOR AUTOMATICALLY MANAGING CONTENT IN AN ELECTRONIC DEVICE

Samsung Electronics Co., ...

1. A method for content management between a first electronic device and a second electronic device, the method comprising:identifying, by the first electronic device, a first content displayed at the first electronic device when a first application is active in the first electronic device;
determining, by the first electronic device, one or more first attributes associated with at least one of the first application or the first content of the first application;
receiving, by the first electronic device, a query request to share information between the first electronic device and the second electronic device, the query request being received from the second electronic device and including one or more second attributes corresponding to a second application executed at the second electronic device or a second content of the second application, at least one of the one or more second attributes being different from at least one of the one or more first attributes;
determining, by the first electronic device, target data information to be shared with the second electronic device by matching the one or more first attributes and the one or more second attributes; and
transmitting, from the first electronic device to the second electronic device, the target data information.

US Pat. No. 10,599,378

DISPLAY DEVICE

SAMSUNG DISPLAY CO., LTD....

1. A display device, comprising:a first display panel including a first display area to display an image;
a second display panel including a second display area to display an image;
a third display panel including a third display area to display an image;
a first support portion to support the first display panel, the first support portion including a first flat portion which has a first upper outer surface and a first lower outer surface, the first support portion including a first curved end portion that is formed to be convex in a rightward direction from the first upper outer surface and the first lower outer surface, and the first support portion being rotatable based on a first rotation shaft;
a second support portion to support the second display panel, the second support portion including a second flat portion which has a second upper outer surface and a second lower outer surface, the second support portion including a second curved end portion that faces the first curved end portion and is formed to be convex in a leftward direction from the second upper outer surface and the second lower outer surface, and the second support portion being rotatable based on a second rotation shaft parallel to the first rotation shaft,
a third support portion to support the third display panel, the third support portion including a third flat portion which has a third upper outer surface and a third lower outer surface, the third support portion including a fourth curved end portion that is formed to be convex in a leftward direction from the third upper outer surface and the third lower outer surface and to face a third curved end portion of the second support portion disposed opposite to the second curved end portion of the second support portion, the third curved end portion being formed to be convex in a rightward direction from the second upper outer surface and the second lower outer surface, and the third support portion being rotatable based on a fourth rotation shaft parallel to a third rotation shaft,
wherein
the first display area of the first display panel is disposed on an outer surface of the first curved end portion of the first support portion,
the second display area of the second display panel is disposed on an outer surface of the second curved end portion of the second support portion and an outer surface of the third curved end portion of the second support portion,
the third rotation shaft is at the second support portion to be parallel to the second rotation shaft, and
the third display area of the third display panel is disposed on an outer surface of the fourth curved end portion of the third support portion.

US Pat. No. 10,599,377

CONTROLLING VISUAL INDICATORS IN AN AUDIO RESPONSIVE ELECTRONIC DEVICE, AND CAPTURING AND PROVIDING AUDIO USING AN API, BY NATIVE AND NON-NATIVE COMPUTING DEVICES AND SERVICES

Roku, Inc., Los Gatos, C...

1. A system, comprising:a network;
a display device;
a media device communicatively coupled to the display device and the network;
one or more content sources communicatively coupled to the network;
a digital assistant communicatively coupled to the network; and
an audio responsive remote control communicatively coupled to the network, comprising visual indicators, wherein the visual indicators include a plurality of light-emitting diodes and the media device is native to the audio responsive remote control, and the digital assistant is non-native to the audio responsive remote control and wherein the audio responsive remote control is configured to:
receive a first response from the media device;
receive a second response from the digital assistant;
processing the first response and the second response using a library stored on the audio responsive remote control, wherein the library includes information regarding at least one of an on/off setting, a brightness setting, a movement setting, and a color setting of the visual indicators; and
controlling an operation of the visual indicators based on the processing.

US Pat. No. 10,599,374

PRINTING METHOD THAT ENSURES SECURITY OF PRINTED MATTER, STORAGE MEDIUM, AND MOBILE TERMINAL

CANON KABUSHIKI KAISHA, ...

1. A printing method in which a printing apparatus performs printing of print data stored in the printing apparatus in accordance with a print instruction transmitted from a mobile terminal which a user operates, the printing method comprising:a determination step of determining whether a distance between the mobile terminal and the printing apparatus is equal to or smaller than a predetermined distance;
a display control step of, irrespective of a result of the determination in said determination step, obtaining from the printing apparatus list information indicating print data corresponding to the user of the mobile terminal and displaying a selection screen for selecting desired print data based on the obtained list information;
a control step of not transmitting the print instruction for printing the desired print data selected via the selection screen in a case where it is determined that the distance between the mobile terminal and the printing apparatus is not equal to or not smaller than the predetermined distance in said determination step; and
a transmission step of transmitting to the printing apparatus a printing instruction for performing printing of the selected print data in accordance with acceptance of the user's instruction from the user who attempts to perform the printing by selecting the desired print data via the selection screen in a case where it is determined that the distance between the mobile terminal and the printing apparatus is equal to or smaller than the predetermined distance in said determination step.

US Pat. No. 10,599,373

COMMUNICATION APPARATUS HAVING DIRECT WIRELESS COMMUNICATION FUNCTION AND METHOD FOR CONTROLLING COMMUNICATION APPARATUS

Canon Kabushiki Kaisha, ...

1. A method for controlling a printing apparatus capable of establishing a direct wireless connection with a communication terminal, not through an intermediary of a relay apparatus, by operating as an access point conforming to an IEEE802.11 standard, comprising:starting an operation as the access point;
stopping the operation as the access point in a case where a one-time SSID is used, on a condition that the direct wireless connection with the communication terminal is not established for a predetermined time period, and;
continuing the operation as the access point in a case where a fixed SSID is used, even if the direct wireless connection with the communication terminal is not established for the predetermined time period.

US Pat. No. 10,599,372

MEDIUM STORING PROGRAM EXECUTABLE BY TERMINAL APPARATUS, DATA TRANSMITTING METHOD AND TERMINAL APPARATUS

Brother Kogyo Kabushiki K...

1. A non-transitory computer-readable medium storing programs executable by a processor of a terminal apparatus, the terminal apparatus being configured to transmit files to be executed by external apparatuses to the external apparatuses, the programs, when executed by the processor, causing the terminal apparatus to:transmit a first file, which is a firmware, to a predetermined external apparatus included in the external apparatuses; and
in a case that a second file being different from the first file is to be transmitted to the predetermined external apparatus, transmit the second file to the predetermined external apparatus after transmittance of the first file to the predetermined external apparatus has been completed, the second file indicating information which is usable at a time of execution of a function of the predetermined external apparatus.