US Pat. No. 10,169,402

GEOGRAPHIC SPACE MANAGEMENT

International Business Ma...

1. A computer-implemented method for managing mobile objects comprising:managing a map of a geographic space including a route, wherein managing the geographic space comprises managing a mobile object, wherein the map of the geographic space comprises a first update block and a second update block, and wherein the first update block and the second update block define a boundary in which an update to the map occurs, and wherein the first update block and the second update block share a common boundary;
managing updates to the map of the geographic space by updating contents of the first update block;
changing the common boundary between the first update block and the second update block to prevent a load imbalance based on an extent to which the first update block is updated, and wherein the extent to which the first update block is updated comprises an attribute selected from the group consisting of an update frequency, an update data amount, a number of update files, and an update data loading time of the map corresponding to the first update block, and further comprising dividing the first update block into a plurality of update blocks if the update frequency that the first update block is updated exceeds a limit value.

US Pat. No. 10,169,401

SYSTEM AND METHOD FOR PROVIDING ONLINE DATA MANAGEMENT SERVICES

Google LLC, Mountain Vie...

1. A method for providing online data management services, the method comprising:providing concurrent access to first data to a first user account associated with a first user and to a second user account associated with a second user, wherein providing the concurrent access to the first data comprises allowing the first user and the second user to edit the first data;
receiving, at a server from a first user device of the first user, a specified change to second data that is a copy of the first data, wherein the specified change to the second data is associated with a filter comprising one or more filter criteria, wherein the first data and the second data are both accessible to the first user account, and wherein the first data but not the second data is accessible to the second user account for editing by the second user;
updating the first data based on the specified change, in response to a selection by the first user device of an update option that is available to the first user account; and
providing concurrent access to the updated first data to the first user account and to the second user account.

US Pat. No. 10,169,400

GEOGRAPHIC SPACE MANAGEMENT

International Business Ma...

1. A computer system for managing mobile objects comprising:one or more processors;
one or more computer-readable memories;
one or more computer-readable storage devices; and
program instructions stored on at least one of the one or more computer-readable storage devices for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories, the program instructions comprising:
a subsystem for managing a map of a geographic space including a route, wherein managing the geographic space comprises managing a mobile object, and wherein the map of the geographic space comprises a first update block and a second update block, wherein the first update block and the second update block define a boundary in which an update to the map occurs, and wherein the first update block and the second update block share a common boundary;
an update manager for managing updates to the map of the geographic space, wherein to prevent a load imbalance the update manager changes the common boundary between the first update block and the second update block based on an extent to which the first update block is updated, and wherein the extent to which the first update block is updated comprises an attribute selected from the group consisting of an update frequency, an update data amount, a number of update files, and an update data loading time of the map corresponding to the first update block, wherein the update manager divides the first update block into a plurality of update blocks if the update frequency that the first update block is updated exceeds a limit value.

US Pat. No. 10,169,398

IDENTIFYING CORRUPTED TEXT SEGMENTS

International Business Ma...

1. A computer program product comprising:one or more computer-readable storage media, and program instructions stored on the one or more computer-readable storage media, executable by one or more processors, the stored program instructions comprising:
program instructions to select a set of web pages containing text associated with a single language grouping;
program instructions to determine a set of text segments within the set of web pages;
program instructions to determine a language affinity indicator corresponding to each text segment in the set of text segments, the language affinity indicator being a comparison value of a text segment with a set of predefined rules corresponding to the single language grouping;
program instructions to, responsive to each language affinity indicator indicating an affinity to the single language grouping, identify a set of text artefacts within the text segments;
program instructions to generate an indexing repository based on the set of text artefacts;
program instructions to create an occurrence table from the indexing repository;
program instructions to determine a compliance threshold value for the occurrence table;
program instructions to identify an individual occurrence value for each unique text artefact in the set of text artefacts, the individual occurrence value being the probability that a text artefact occurs within the occurrence table based on the single language grouping; and
program instructions to determine a compliance value for the set of text segments by, for each text segment in the set of text segments:
program instructions to compute a compliance sum value for a first text segment in the set of text segments;
program instructions to adjust the compliance sum value according to the individual occurrence values of a subset of text artefacts occurring in the first text segment;
program instructions to determine a segment length value associated with the first text segment; and
program instructions to adjust the compliance sum value according to the segment length value;
program instructions to, responsive to computing a set of compliance sum values for each text segment in the set of text segments, compute the compliance value based on an average value of the set of compliance sum values;
program instructions to compute a compliance indicator for the set of text segments by comparing the compliance value and the compliance threshold; and
program instructions to, responsive to the compliance indicator indicating that the compliance value is less than the compliance threshold, take a corrective action;
wherein:
the corrective action is an action selected from the group consisting of:
notifying a user of a corrupted set of text segments in the selected set of web pages; and
preventing the selected set of web pages from being accessed again.

US Pat. No. 10,169,397

SYSTEMS AND METHODS FOR REMOTE CORRECTION OF INVALID CONTACT FILE SYNTAX

Synchronoss Technologies,...

1. A method of providing remote correction of invalid contact file syntax, the method comprising:receiving a file comprising information associated with one or more contacts;
processing the received file on a target device to import the one or more contacts; and
in response to an import failure:
depersonalizing the received file of contact information by removing any identifying information from the file;
identifying a location within one or more contacts the depersonalized file which caused the import failure, wherein the location is stored as metadata;
transmitting the depersonalized file and the metadata to a remote server for repair; and
receiving a repaired depersonalized file;
repairing the received file of contacts based on the repaired depersonalized file;
importing the repaired file of contacts on the target device.

US Pat. No. 10,169,396

MAINTAINING DATA CONSISTENCY BETWEEN TRANSACTIONAL AND NON-TRANSACTIONAL DATA STORES

salesforce.com, inc., Sa...

1. A method comprising:receiving a request to archive a first set of data, the first set of data being stored in a transactional data store;
upon receipt of the request, archiving the first set of data, including copying the first set of data into an archive data store and inserting a data high water mark for the first set of data in the transactional data store and the archive data store, the data high water mark representing a time or order for archiving of the first set of data;
updating a reference high water mark for the transactional data store and the archive data store upon successful completion of operations for the archiving of the first set of data, the reference high water mark representing a time or order of completion of a last successful archive operation from the transactional data store to the archive data store;
receiving a query from a user for requested data, the query being either a request to the transactional data store or a request to the archive data store;
upon receiving the query for the requested data, comparing a current value of the reference high water mark and a data high water mark for the requested data in the transactional data store or the archive data store; and
determining whether to allow viewing of the requested data based at least in part on the comparison between the reference high water mark and the data high water mark for the requested data, including the following:
for a request to the transactional data store, excluding viewing of the requested data if the data high water mark for the requested data is less than or equal to the current value of the reference high water mark, and
for a request to the archive data store, excluding viewing of the requested data if the data high water mark for the requested data is greater than the current value of the reference high watermark.

US Pat. No. 10,169,395

DATABASE IDENTIFIER GENERATION IN TRANSACTION PROCESSING SYSTEMS

International Business Ma...

1. A computer system for identifier generation in transaction processing systems, comprising:one or more computer processors;
one or more computer readable storage medium; and
program instructions stored on the computer readable storage medium for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to initiate a generation of an identifier based, at least in part, on definitions of both a primary range and a secondary range that respectively represent either an instance range or a partition range, wherein a definition of the secondary range includes a maximum number of values in the secondary range;
program instructions to obtain a unique sequence value from a unique sequence range of known maximum number of values;
program instructions to calculate an offset value based on the primary range and the secondary range, wherein calculating the offset values includes:
determining a first product by multiplying a value included in the primary range and the maximum number of values in the secondary range;
adding the first product to a value included in the secondary range to generate a first total; and
multiplying the first total by the maximum number of values in the unique sequence range;
program instructions to add the offset value to the unique sequence value to generate an identifier value for a database; and
program instructions to process a transaction of a plurality of transactions by using the identifier value as a database primary key in a database of a transaction processing system.

US Pat. No. 10,169,394

MANAGING DATA SETS OF A STORAGE SYSTEM

International Business Ma...

1. A computer-implemented method for managing data sets of a storage system by repairing a data set that includes padded data such that the data set can be read by an application that cannot read a data set including padded data, the method comprising:determining, by analyzing a first data set, that the first data set includes a first record having padded data, wherein padded data represents data added to a record to make a variable length record a fixed length record;
comparing, to identify the padded data, at least a portion of the first record of the first data set with a second record of a second data set; and
removing, from the first record of the first data set, the padded data identified in response to comparing at least the portion of the first record of the first data set with the second record of the second data set wherein the removing includes:
deleting a segment of the first record matching a mask derived from a character pattern, and
updating a record length for the first record;
loading the first record, without padded data, into a temporary file with the first data set;
storing an original file, with padded data, as a retained file with the first data set;
storing the temporary file, without padded data, with a name of the original file; and
accessing the temporary file by the application, wherein the application could not read the first record with padded data.

US Pat. No. 10,169,393

TRACKING CHANGES AMONG SIMILAR DOCUMENTS

INTERNATIONAL BUSINESS MA...

1. An information processing apparatus comprising:a memory having computer-readable instructions; and
one or more processors for executing the computer-readable instructions, the computer-readable instructions comprising:
calculating similarity among a plurality of documents;
grouping together into a group two or more documents, among the plurality of documents, having a similarity greater than or equal to the first criterion;
identifying, in response to a change made to a first document, a second document that is in a same group as the first document and has a similarity greater than or equal to a first criterion as compared to the first document before the change; and
notifying a user of the second document that the first document has been changed, in response to the change to the first document.

US Pat. No. 10,169,392

PERSISTENT DATA STRUCTURES ON A DISPERSED STORAGE NETWORK MEMORY

INTERNATIONAL BUSINESS MA...

1. A method of updating a dispersed data structure (DDS) in a dispersed storage network (DSN) having a plurality of dispersed storage (DS) units, wherein the DDS is stored as a plurality of encoded data slices in one or more of the plurality of DS units, and wherein the DDS includes an original root node, at least one original internal node including an original first internal node, and an original leaf node, the method comprising:retrieving one or more first encoded data slices of the plurality of encoded data slices, the one or more first encoded data slices containing the original root node, the original root node including an original first internal node pointer related to the original first internal node;
retrieving one or more second encoded data slices of the plurality of encoded data slices, the one or more second encoded data slices containing the at least one original internal node including the original first internal node and the original leaf node;
wherein the at least one original internal node includes an original leaf node pointer related to the original leaf node and a respective original internal node pointer related to each original internal node beyond the original first internal node;
wherein the step of retrieving one or more second encoded data slices of the plurality of encoded data slices is based on the original first internal node pointer, the respective original internal node pointer related to each original internal node beyond the original first internal node and the original leaf node pointer;
storing a modified leaf node in the DSN based on a first modification to the original leaf node; and
storing at least one modified internal node including a modified first internal node in the DSN based on one or more second modifications to the at least one original internal node including the original first internal node;
wherein the at least one modified internal node includes a respective modified internal node pointer related to each of the at least one modified internal nodes beyond the modified first internal node and a modified leaf node pointer related to the modified leaf node; and
storing a modified root node in the DSN based on a third modification to the original root node; and
wherein the modified root node includes a modified first internal node pointer related to the modified first internal node and an original root node pointer related to the original root node.

US Pat. No. 10,169,391

INDEX MANAGEMENT

International Business Ma...

1. A method of index management, comprising:storing, by one or more processors, entries associated with an index to a first buffer of at least two buffers allocated to the index;
moving, by a batch operation, by one or more processors, entries in the first buffer into an index page for the index in response to an entry movement condition being met; and
storing, by one or more processors, new entries associated with the index to another buffer of the at least two buffers while moving the entries in the first buffer.

US Pat. No. 10,169,390

RANKING SOCIAL NETWORK OBJECTS

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:storing interest data about a plurality of social network objects, the interest data including an indication of respective social network objects in which users have an interest;
receiving, using a computing device, a request to apply a label to a social network object;
responsive to receiving the request to apply the label to the social networking object, generating, using the computing device, a query to locate a community having a first interest in a social network, the query specifying the first interest based on the label received in the request to apply the label to the social networking object;
determining, using the computing device, that the community having the first interest based on the label received in the request to apply the label to the social network object does not exist; and
responsive to determining that the community having the first interest based on the label received in the request to apply the label to the social network object does not exist, creating, using the computing device, the community having the first interest by storing social network objects that have interest data that corresponds to the first interest for the community in a database associated with the social network, the community having the first interest having a community name based on the label received in the request to apply the label to the social networking object.

US Pat. No. 10,169,389

METADATA DRIVEN REPORTING AND EDITING OF DATABASES

Microsoft Technology Lice...

1. A computer system, comprising:one or more processors;
system memory; and
one or more computer-readable storage media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to link database metadata for reporting data items in a customizable manner, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following:
receive a user request that indicates one or more requested data items that are stored in a data store and that are to be reported in response to the request;
based at least on receiving the request, identify one or more information sets that are stored at the data store and that define one or more queries for accessing the one or more requested data items from the data store using at least one of: one or more scripts, one or more read/write messages, or one or more code portions;
report to the user a list of the identified one or more information sets, the list of the identified information sets usable to determine how the one or more requested data items will be reported according to pre-existing metadata stored at the data store, the pre-existing metadata comprising one or more first instructions indicating how the one or more information sets are to present the one or more requested data items;
based at least on reporting the list of the identified information sets to the user, receive input metadata that includes one or more second instructions altering how the one or more information sets are to present the one or more requested data items according to the pre-existing metadata;
link the pre-existing metadata with the input metadata to create combined metadata, the linking causing at least one of the one or more first instructions of the pre-existing metadata to override at least one of the one or more second instructions of the input metadata, while preserving the overridden at least one of the one or more second instructions;
store the combined metadata in the data store for use by subsequent requests for reporting the one or more requested data items; and
present the one or more requested data items according to the combined metadata.

US Pat. No. 10,169,387

SELF-BALANCING TREE DATA STRUCTURE COMPRESSION

EMC IP Holding Company LL...

1. A method of managing a memory data structure in a computing environment, comprising:receiving a data element to be inserted into the memory data structure, wherein the data element is represented by a key and a value;
determining a target node in the memory data structure into which the received data element is to be inserted based on the key of the received data element;
determining whether or not the target node is already compressed;
performing an append-write operation to insert the data element into the target node when the target node is already compressed;
performing an evaluation prior to inserting the data element when the target node is not already compressed;
performing an in-place write operation to insert the data element into the uncompressed target node when the evaluation generates a first result; and
compressing the target node and then performing an append-write operation to insert the data element into the compressed target node when the evaluation generates a second result;
wherein the computing environment is implemented via one or more processing devices operatively coupled via a communication network.

US Pat. No. 10,169,386

DEVICES AND METHODS FOR PROCESSING NETWORK NODES

TENCENT TECHNOLOGY (SHENZ...

1. A method for processing network nodes, the method comprising:detecting a sorting request of a network platform;
acquiring n network nodes in the network platform to be sorted corresponding to the sorting request, n being an integer greater than 1;
constructing a first characteristic matrix based on information associated with the n network nodes, wherein the first characteristic matrix is a n×1 matrix including n elements;
constructing an original matrix based on the information associated with the n network nodes, wherein the original matrix is a n×n matrix having nxn elements, and all element values of the n×n elements in the original matrix are “0”;
acquiring a relationship information between each of the n network nodes, wherein the relationship information is predefined by a user;
constructing a sparse matrix based on the information associated with the relationship information between the n network nodes,
wherein the sparse matrix is a n×n matrix, an element in the sparse matrix is represented as gij, 1?i?n, 1?j?n; and
when the i-th network node and the j-th network node are related, replacing element gij in the original matrix by “1” to generate the sparse matrix, comprising:
replacing element gij in the original matrix by “1” to obtain an updated original matrix; and
performing a probability transition processing on the updated original matrix to generate the sparse matrix;
performing an iterative multiplication on the sparse matrix and the first characteristic matrix to obtain a second characteristic matrix upon convergence, comprising:
partitioning the sparse matrix into three blocks of data based on at least information associated with one or more first row numbers, one or more second column numbers and one or more first column numbers;
multiplying the three blocks of data by the first characteristic matrix; and
adding results of the multiplication to obtain the second characteristic matrix;
sorting the n network nodes in the network platform based on information associated with the second characteristic matrix, comprising:
storing the one or more first column numbers associated with one or more first columns of the original matrix, where first element values of the first columns correspond to “0”;
storing the one or more first row numbers and the one or more second column numbers associated with second element values of the original matrix corresponding to “1”; and
storing third element values of the sparse matrix obtained through the probability transition processing on fourth element values of the original matrix corresponding to “1”; and
providing and displaying a sorted result of the n network nodes in the network platform to a user.

US Pat. No. 10,169,385

MANAGING REPLICATED DATA

International Business Ma...

1. A method of managing replicated data, the method comprising the steps of:a computer determining a current usage of resources in a system and a threshold usage of the resources;
based on inter-replica correlation(s) and inter-data correlation(s) specified by a unified replication metadata model, the computer indexing a proper subset of replicas included in a plurality of replicas generated for the system, wherein the step of indexing the proper subset includes:
if the current usage is less than the threshold usage, the computer determining an expected additional resource usage due to performing an indexing task online, and based on the expected additional resource usage, the computer determining a resource affinity score for performing the indexing task online; and
if the current usage is greater than or equal to the threshold usage, the computer determining an expected resource usage due to performing the indexing task offline and based on the expected resource usage, the computer determining a resource affinity score for performing the indexing task offline;
the computer receiving a query to locate a data item in at least one replica included in the plurality of replicas; and
based on (i) a unified content index generated as a result of the step of indexing, (ii) the unified replication metadata model, and (iii) the received query, the computer determining candidate replica(s) and corresponding confidence score(s), the confidence score(s) indicating respective likelihood(s) that the candidate replica(s) include the data item, and the candidate replica(s) being included in the plurality of replicas, wherein the step of determining the candidate replica(s) and the corresponding confidence score(s) includes the steps of:
based on the unified content index, the computer determining first replica(s) included in the proper subset of replicas that are exact matches to the query;
for second replica(s) that are not exact matches to the query, the computer determining respective temporal distance(s) and respective percent change(s) in the system between the second replica(s) and the first replica(s) that are exact matches to the query;
for the second replica(s) that are not exact matches to the query, the computer identifying respective nearest neighbor(s) as respective first replica(s) having minimum(s) of the respective temporal distance(s) and respective percent change(s);
based on the minimum(s) of the temporal distance(s) and percent change(s), the computer determining confidence score(s) of the second replica(s);
the computer sorting the second replica(s) based on the confidence score(s) of the second replica(s); and
the computer directing a device to present the sorted second replica(s) to a user.

US Pat. No. 10,169,384

AUGMENTED REALITY MODEL COMPARISON AND DEVIATION DETECTION

INTERNATIONAL BUSINESS MA...

1. A method, comprising:detecting, using at least one electronic sensor, an object associated with a domain;
receiving a three-dimensional (3D) model of the object;
determining, by a computer processor, a set of characteristics of the object from the 3D model;
searching a domain-specific database for data matching the set of characteristics, the domain-specific database corresponding to the domain associated with the object;
determining an identification of the object from data in the domain-specific database that matches the set of characteristics, the identification determined using an image detection technique;
for each characteristic in the set of characteristics:
comparing each value of the characteristic to a corresponding value in the matching data of the domain-specific database; and
calculating any variation between the corresponding value of the characteristic and the value of the matching data;
creating, by the computer processor, a searchable index of the matching data and corresponding variations;
receiving a request as to how the variations affect at least one of a monetary value of the object, a safety of the object, and a compliance regulation corresponding to the object;
mapping the variations stored in the searchable index to at least one of the monetary value of the object, the safety of the object, and the compliance regulation corresponding to the object;
generating an indicator that indicates a degree of the variation with respect to at least one of the monetary value, the safety, and the compliance regulation; and
displaying, on a display device, the indicator in relation to the object so as to generate an augmented image showing the degree of the variation with respect to the object,
wherein receiving the request comprises:
receiving a request for a monetary value corresponding to a variation responsive to a search of the searchable index, the search including a characteristic from the set of characteristics and corresponding variation; and
submitting a query to a data source, the query including the characteristics and the corresponding variation, wherein the domain-specific database is linked to the data source through an index of domain-specific data and an identifier of the object;
wherein the monetary value reflects one of an increase in value of the object and a decrease in value of the object based on a type and the degree of the variation.

US Pat. No. 10,169,383

METHOD AND SYSTEM FOR SCRUBBING DATA WITHIN A DATA STORAGE SUBSYSTEM

INTERNATIONAL BUSINESS MA...

1. A method for scrubbing data in a storage element within a data storage subsystem, by a processor device, the method comprising:detecting an event in which utilization of the data storage subsystem has fallen below a dynamically adjusted threshold value;
selecting a storage element from a plurality of storage elements within the data storage sub system;
temporarily suspending data modifications on the selected storage element while simultaneously maintaining read access to the selected storage element by temporarily designating at least a portion of the selected storage element as “read-only”; and
performing a scrubbing operation on the selected storage element after the temporary designation, wherein the scrubbing operation automatically initiates when a quantity of active data to be scrubbed reaches a predetermined quantity threshold, the predetermined quantity threshold of active data comprising a total threshold number of bytes or blocks corresponding to a greatest frequency of access thereof.

US Pat. No. 10,169,382

KEYWORD IDENTIFICATION FOR AN ENTERPRISE RESOURCE PLANNING MANAGER

International Business Ma...

1. A method comprising:receiving, by a computer, financial data from a computing device, wherein the financial data includes at least one financial entry that includes a name of a service, a name of a service provider, a cost of the service, and a commodity identification number of the service;
creating a cleansed financial entry, by the computer, for each datum from at least one financial entry except any unnecessary information contained within the at least one financial entry, wherein the unnecessary information comprises numeric characters, special characters other than alphabetic characters, abbreviations, and stop words;
identifying, by the computer, keywords in the at least one cleansed financial entry;
creating a plurality of tables that include columns labeled as Keywords AND Not Keywords, Keywords AND, Keywords NOT, and Keywords;
inserting the identified keywords into the prepared tables;
searching, by the computer, a database for a database entry that corresponds to the identified keywords in the created tables, wherein the database has five columns, wherein one column is labeled Commodity Id, one column is labeled Commodity Name, one column is labeled Keywords, one column is labeled AND Keywords, and one column is labeled Not Keywords;
determining, by the computer, a commodity identification number in the database entry that corresponds to the identified keywords in the created tables, wherein the commodity identification number is a custom created identification number and taxonomy database;
updating, by the computer, the at least one financial entry to include the determined commodity identification number, wherein the commodity identification number is added to at least one received financial data without a commodity identification; and
transmitting, by the computer, the updated financial data to the computing device, wherein the updated financial data includes the updated financial entry.

US Pat. No. 10,169,380

UNIVERSAL DATABASE IMPORT PLATFORM

Sprint Communications Com...

1. A method of importing data from a plurality of databases of various types, comprising:aggregating data from each of the plurality of databases for a centralized database based on a predefined period of time, wherein the aggregating is performed by processing data in the memory of each of the plurality of databases directly without copying data to outside the memory of each of the plurality of databases;
importing the aggregated data from the plurality of databases, wherein data is translated from schemas of the plurality of databases to a universal schema of the centralized database;
adjusting memory usage of each of the plurality of databases by the centralized database based on a predefined memory threshold for each of the plurality of databases by adjusting the volume of data exported from each of the plurality of databases at a time, whereby memory thresholds of the plurality of databases are not exceeded;
storing time zone and date format information associated with each of the plurality of databases, wherein the time zone and date format information is utilized to convert time and date stamps of the associated data to a universal time and date format under predefined circumstances; and
generating the centralized database based on the imported data with the universal time and date stamps.

US Pat. No. 10,169,379

DATABASE COMPARISON SYSTEM

International Business Ma...

8. A computer system for detecting changes in database schema, the computer system comprising:one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the program instructions comprising:
program instructions to receive a first database schema, wherein the first database schema is metadata corresponding to a first database;
program instructions to create a first value corresponding to the first database schema by utilizing a compressed value algorithm, wherein the compressed value algorithm creates a single value corresponding to each database schema;
program instructions to receive a second database schema, wherein the second database schema is metadata corresponding to a second database;
program instructions to create a second value corresponding to the second database schema by utilizing the compressed value algorithm;
program instructions to determine whether a difference exists between the first database schema and the second database schema by comparing the first value and the second value.

US Pat. No. 10,169,378

AUTOMATIC GENERATION OF LOGICAL DATABASE SCHEMAS FROM PHYSICAL DATABASE TABLES AND METADATA

ORACLE INTERNATIONAL CORP...

1. A method for automatic generation of logical database schemas from physical database tables and metadata, the method comprising:at a logical database schema generator executable by or embedded within at least one processor, wherein the logical database schema generator facilitates access to data stored in a data repository by automatically generating a logical database schema from physical database tables and metadata:
identifying physical fact tables in a data repository, wherein identifying the physical fact tables includes determining that at least one physical fact table includes no incoming foreign keys unless from one or more bridge tables;
identifying physical dimension tables in the data repository;
mapping the physical fact tables to logical fact tables, wherein a first physical fact table is mapped to a first logical fact table;
mapping the physical dimension tables to logical dimension tables, wherein a first physical dimension table is mapped to a first logical dimension table;
determining relationships between the physical fact and dimension tables, wherein determining the relationships between the physical fact and dimension tables includes using the metadata containing a first foreign key name associated with a foreign key naming convention, wherein the first foreign key name indicates a first foreign key and a cardinality of a table relationship between the first physical fact table and the first physical dimension table;
logically joining the logical fact and dimension tables based on the identified relationships between the physical fact and dimension tables to form a logical database schema, wherein logically joining the logical fact and dimension tables includes logically joining the first logical fact table and the first logical dimension table based on the table relationship indicated by the first foreign key name;
outputting the logical database schema to a repository data file; and
performing, using the repository data file, a query based on user input to retrieve data from the physical fact tables and the physical dimension tables, wherein performing the query includes using information from the repository data file to generate a structured query, wherein the structured query includes database information that is lacking in the user input.

US Pat. No. 10,169,377

MANAGING A DATABASE MANAGEMENT SYSTEM USING A SET OF STREAM COMPUTING DATA

International Business Ma...

1. A computer program product for managing a database management system (DBMS) using a set of stream computing data derived from a stream computing environment, the computer program product comprising:one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to collect, with respect to the stream computing environment, the set of stream computing data which indicates a set of stream computing environment statistics;
program instructions to analyze the set of stream computing data which indicates the set of stream computing environment statistics;
program instructions to resolve, based on the set of stream computing data, an anticipated database management operation with respect to the DBMS;
program instructions to detect, with respect to the set of stream computing data which indicates the set of stream computing environment statistics, a set of throughput-oriented data;
program instructions to detect, with respect to the set of stream computing data which indicates the set of stream computing environment statistics, a set of anticipated database maintenance values, wherein the set of anticipated values comprises: a number of records to be inserted, a number of records to be deleted, a number of records to be updated, a number of records based on a kay value, and a number of records based on a partition value;
program instructions to detect, with respect to the set of stream computing data which indicates the set of stream computing environment statistics, a data compression merit indication;
program instructions to determine a proactive database management operation for performance with respect to the DBMS in correlation with the anticipated database management option, based on: the anticipated database management operation with respect to the DBMS, the set of throughput-oriented data, the set of anticipated database maintenance values, the data compression merit indication; and the set of stream computing data which indicates the set of stream computing environment statistics;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to build a projected database object with respect to the DBMS;
program instructions to build, with respect to the DBMS, the projected database object to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to update the projected database object respect to the DBMS;
program instructions to update, with respect to the DBMS, the projected database object to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to remove the projected database object with respect to the DBMS;
program instructions to remove, with respect to the DBMS, the projected database object to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to build a database object with respect to the DBMS;
program instructions to build, with respect to the DBMS, the database object to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to update the database object with respect to the DBMS;
program instructions to update, with respect to the DBMS, the database object to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to remove the database object with respect to the DBMS;
program instructions to remove, with respect to the DBMS, the database object to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to bypass an expected database management operation with respect to the DBMS for at least a temporal period;
program instructions to bypass, with respect to the DBMS, the expected database management operation for at least the temporal period to manage the DBMS using the set of stream computing data;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to expedite the expected database management operation with respect to the DBMS;
program instructions to expedite, with respect to the DBMS, performance of the expected database management operation to manage the DBMS using the set of stream computing data;
program instructions to perform, in an expedited fashion, the expected database management operation with respect to the DBMS;
program instructions to determine, based on the set of stream computing data which indicates the set of stream computing environment statistics, to partition a set of database data into a plurality of database partitions with respect to the DBMS;
program instructions to partition, with respect to the DBMS, the set of database data into the plurality of database partitions to manage the DBMS using the set of stream computing data; and
program instructions to perform, with respect to the DBMS, the proactive database management operation to manage the DBMS using the set of stream computing data.

US Pat. No. 10,169,376

SYSTEM AND METHOD OF HIERARCHICAL DATA CONTAINERS

EMC Corporation, Hopkint...

1. A method comprising:creating, based at least in part on a data object type definition, an instance of a data object, wherein the data object is associated with a plurality of traits;
creating corresponding hierarchical containers for the plurality of traits, wherein a corresponding hierarchical container of the corresponding hierarchical containers includes data comprising an instance of a hierarchical relationship that is defined at least in part by a hierarchical data trait definition, wherein the hierarchical relationship comprises one or more nodes and a first node of the one or more nodes comprising the instance of the hierarchical relationship includes a reference to a data structure external to the first node; and
embedding the corresponding hierarchical containers in the instance of the data object, wherein the embedded hierarchical containers are stored with a reference to corresponding hierarchical data trait definitions, wherein the corresponding hierarchical data trait definitions are stored external to the data object.

US Pat. No. 10,169,374

IMAGE SEARCHES USING IMAGE FRAME CONTEXT

ADOBE SYSTEMS INCORPORATE...

1. In a digital media environment to facilitate creation of content using one or more computing devices, a method comprising:exposing functionality for creation of a document via a user interface for a digital media application;
detecting an image frame included within the document;
analyzing context associated with the image frame including at least one of image frame size or image frame shape to derive contextual information;
analyzing content in the document associated with the image frame to derive query terms corresponding to the content;
exposing via the user interface tag elements for the query terms that are derived, the tag elements selectable to initiate a search for candidate images to place in the image frame that match query terms for selected tags;
responsive to a selection of one or more tag elements, communicating query terms for selected tags along with contextual information to an image service to cause the image service to conduct the search for candidate images;
obtaining image search results generated by the image service; and
outputting the image search results as candidate images for placement in the image frame.

US Pat. No. 10,169,372

CONTROL FOR RAPIDLY EXPLORING RELATIONSHIPS IN DENSELY CONNECTED NETWORKS

International Business Ma...

1. A method comprising:presenting a circular user interface, wherein the circular user interface comprises a plurality of sections including a first section and a second section, wherein the first section is associated with a first data field of a data set and the second section is associated with a second data field of the data set;
presenting a first visual representation of the data set as a table separate from the circular user interface, the table having at least a first column associated with the first data field and a second column associated with the second data field, wherein the first column occupies a first position in the table and the second column occupies a second position in the table;
receiving user input via the circular user interface, wherein the user input indicates a selection of the first section of the circular user interface;
in response to user input, moving the first column to the second position in the table and the second column to the first position in the table; and
presenting a second visual representation of the data set as the table.

US Pat. No. 10,169,371

SYSTEM AND METHOD FOR CREATING A PREFERENCE PROFILE FROM SHARED IMAGES

International Business Ma...

1. A system, comprised of at least one data processor connected with at least one memory that stores software instructions, where execution of the software instructions by the at least one data processor causes the system to perform operations to:for a subject category of interest having a plurality N of sub-categories, where N is an integer greater than one, train over a first set of images a plurality of image classifiers to yield a plurality of pre-trained classifiers (C1 . . . CN), where each individual one of the pre-trained classifiers is trained to recognize one sub-category of the plurality of sub-categories;
obtain a second set of images (i=1 . . . M) from at least one social media website that a person has shared /posted /pinned or otherwise expressed an interest in, where M represents a total number of images in the second set of images;
apply at least some of the pre-trained classifiers (C1 . . . CN) to each image i in the second set of images;
obtain a classification score vector Si=[s1 . . . , sN] for image i(i=1 . . . M), where sj indicates a classification score output from a classifier Cj by applying it to image i;
aggregate the M classification score vectors over all of the images of the second set of images;
derive a data construct that is descriptive of a preference profile of the person with respect to the sub-categories of the category of interest as a probability distribution over the N sub-categories; and
characterize by how much the person's profile differs from an average profile of a group of persons by assigning the person to a segment, where Pa represents a probability vector for the person, and calculating an average Psegment_i for each segment i, where a degree to which the person is a member of the segment i is a dot product of the two vectors:
Pa·Psegment_i/(|Pa||Psegment_i|).

US Pat. No. 10,169,370

NAVIGATION DATABASE CUSTOMIZATION

HERE Global B.V., Eindho...

1. A method implemented by a navigation system, the method comprising:analyzing, with a processor of the navigation system, a geographic database to determine database structure elements, wherein the database structure elements comprise road attributes or points of interest, wherein analyzing the geographic database comprises determining a hierarchy of database structure elements with the database structure elements arranged in groups within the hierarchy, and wherein determining the hierarchy comprises grouping database features into database attributes and grouping database attributes into larger database building blocks;
determining a selection of one or more first database structure elements that relate to a first set of drivers to include in a first customized compiled geographic database wherein at least one database structure element is omitted from the first customized compiled geographic database, wherein determining the selection of one or more first database structure elements comprises determining a selection of a greater hierarchical grouping including one or more subordinate database structure elements so as to thereby select each of the one or more subordinate database structure elements;
determining a selection of one or more second database structure elements that relate to a second set of drivers to include in a second customized compiled geographic database wherein at least one database structure element is omitted from the second customized compiled geographic database;
extracting the selected first database structure elements including the one or more database structure elements included in the hierarchical grouping that has been selected from the geographic database;
compiling with the processor, the first customized geographic database for the first set of drivers using the extracted first database structure elements;
extracting the selected second database structure elements from the geographic database; and
compiling with the processor, the second customized geographic database for the second set of drivers using the extracted second database structure elements, wherein the compiled second customized geographic database is distinct from the compiled first customized geographic database,
wherein the first and second customized geographic databases include geographic data used by the first and second sets of drivers, respectively, for a navigation-related application.

US Pat. No. 10,169,369

MEETING STORAGE REQUIREMENTS WITH LIMITED STORAGE RESOURCES

INTERNATIONAL BUSINESS MA...

1. A method for use in a distributed storage network (DSN), the method comprising:determining, at a managing unit, resource availability information, the resource availability information including information indicating a number of memory devices available to be used for storage of encoded data slices;
based on the resource availability information, choosing, at the management unit, dispersal parameters satisfying a performance threshold associated with storage of the encoded data slices in the DSN, subject to a constraint requiring a pillar width associated with the encoded data slices to be no larger than the number of memory devices available;
creating, at the management unit, a number of storage units based on the dispersal parameters, wherein the number of storage units is constrained to be greater than the pillar width, and wherein one or more of the number of memory devices is assigned to each of the number of storage units; and
instantiating, by the management unit, a DSN memory that includes the number of storage units.

US Pat. No. 10,169,368

INDEXING OF LINKED DATA

International Business Ma...

1. A computer program product comprising:one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to, responsive to a state change of a resource in a tracked resource set, create one or more update commands that describe the state change of the resource;
program instructions to create a change event for the resource in a change log, wherein the change event comprises the created one or more update commands that describe the state change of the resource, and the change event further comprises a version identifier of the resource before the state change and a version identifier of the resource after the state change; and
program instructions to, responsive to a state change of a second resource in the tracked resource set, determine, based on a relative cost of updating an indexed version of the second resource with the one or more update commands versus a relative cost of replacing an indexed resource of the second resource using an HTTP GET request to obtain triples comprising the second resource, to create one or more update commands describing the state change of the second resource in a change event for the second resource.

US Pat. No. 10,169,367

MANAGING OPPORTUNISTIC LOCKS IN A DISTRIBUTED FILE SYSTEM

Panzura, Inc., Campbell,...

1. A computer-implemented method for managing distributed opportunistic locks in a distributed filesystem, the method comprising:collectively managing data in the distributed file system using 2 or more cloud controllers, wherein collectively managing the data comprises storing the data for the distributed filesystem in one or more cloud storage systems, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage systems;
receiving at a first cloud controller a request from a first client to access a file in the distributed filesystem, wherein the first client requests an opportunistic lock for the file from the first cloud controller, wherein the requested opportunistic lock requests shared read/write access permissions that are not exclusive to other client accesses, wherein the first cloud controller determines an owning cloud controller among the two or more cloud controllers that has been assigned to manage opportunistic locks for the file, wherein the owning cloud controller is distinct from the first cloud controller, wherein the owning cloud controller tracks multiple clients that have been granted opportunistic locks for the file via other cloud controllers that are distinct from the first cloud controller, wherein every cloud controller with clients presently accessing the file registers with the owning cloud controller to receive notifications of any updates to the file;
initiating via the owning cloud controller a sharing access check that determines that there are outstanding opportunistic locks that are presently being held by one or more other clients of the distributed filesystem that were granted via other distinct cloud controllers for the distributed filesystem and that at least one or more of the outstanding opportunistic locks are write locks, wherein the owning cloud controller sends a distributed oplock break request to the cloud controllers that manage granted outstanding opportunistic locks for the file, wherein cloud controllers receiving the distributed oplock break request send an opportunistic lock break notification to their respective clients that are caching the file to ensure that there are no outstanding unflushed modifications to the file, wherein upon receiving the opportunistic lock break notification said clients flush all buffered modifications for the file to their respective cloud controllers, wherein information describing the flushed modifications for the file is synchronized to the cloud storage systems and to all of the other cloud controllers that have registered to receive notifications of updates for the file; and
upon determining that none of the other outstanding client opportunistic locks for the file that remain granted via the other cloud controllers of the distributed filesystem are exclusive locks that conflict with the requested opportunistic lock and determining that all distributed modifications to the file have been synchronized via the distributed oplock break request to ensure that no client receives obsolete data for the file, granting the first client the requested opportunistic lock for the file, wherein multiple clients simultaneously hold opportunistic locks granting shared write access for the file via distinct cloud controllers.

US Pat. No. 10,169,366

DEDUPLICATED FILE SYSTEM

Red Hat, Inc., Raleigh, ...

1. A method comprising:receiving a request for allocating a first block of a file system to a file;
computing, by a processing device, a first hash value of the first block;
comparing, by the processing device, the first hash value with a plurality of hash values, wherein each of the plurality of hash values correspond to a block of a plurality of blocks stored in the file system;
determining that a match exists between the first hash value and a second hash value of the plurality of hash values in view of the comparing;
allocating, by the processing device, a corresponding block associated with the second hash value to the file in view of the match;
updating, by the processing device, a reference count in the first block in view of allocating the corresponding block; and
replacing, by the processing device, a mapping indicator stored by the file system to track allocations of the first block with a reference to the updated reference count in the first block.

US Pat. No. 10,169,364

GAUGING ACCURACY OF SAMPLING-BASED DISTINCT ELEMENT ESTIMATION

International Business Ma...

1. A method for estimating deduplication rate of logical data units retrieved from a storage system, comprising:selecting a sampling ratio, and sampling a plurality of logical data units from the storage system in accordance with the sampling ratio;
calculating a hash value for each of the sampled logical data units;
computing a first histogram indicating a duplication count of each of the calculated hash values;
computing, based on respective frequencies of the calculated hash values, a second histogram indicating observed frequencies of each of the duplication counts in the first histogram;
deriving, based on the sampling ratio and the second histogram, a target function;
defining a range of acceptable results for the target function;
defining, based on the range of the acceptable results, a set of plausible duplication frequency histograms;
identifying a first given plausible duplication frequency histogram having a highest number of distinct logical data units;
identifying a second given plausible duplication frequency histogram having a lowest number of distinct logical data units; and
determining, from the first and the second given plausible duplication frequency histogram, an upper and a lower bounds for a deduplication rate of the logical data units.

US Pat. No. 10,169,363

STORING DATA IN A DISTRIBUTED FILE SYSTEM

INTERNATIONAL BUSINESS MA...

1. A hardware device for storing data in a distributed file system, the distributed file system including a plurality of nonvolatile deduplication storage devices, the device comprising:at least one memory storing computer-executable instructions; and
at least one processor configured to access the at least one memory and execute the computer-executable instructions to:
receive a request to store first data in the distributed file system;
determine a characteristic of the first data;
identify one of the plurality of nonvolatile deduplication storage devices of the distributed file system as a deduplication storage device for the first data based on the determined characteristic of the first data matching a characteristic of second data stored in the identified deduplication device;
determine that the first data is redundant to the second data based on the determined characteristic of the first data matching the characteristic of the second data; and
in response at least in part to determining that the first data is redundant to the second data, store the first data in the identified deduplication storage device such that the first data and the second data are redundantly stored in the identified deduplication storage device and are deduplicatable within the identified deduplication storage device after the first data is redundantly stored.

US Pat. No. 10,169,361

COLUMNAR DATABASE COMPRESSION

International Business Ma...

1. A computer-implemented method of compressing data in a columnar database comprising at least one column partitioned into a plurality of partitions including at least one empty partition and a plurality of filled partitions each comprising data entries associated with a set of parameters having parameter values relevant to a recurrence frequency of the data entry in the partition, the data entries being compressed in accordance with a compression dictionary based on respective recurrence frequencies of the data entries in the filled partition, the computer-implemented method comprising:receiving forecasted parameter values for the set of parameters for an expected set of data entries to be stored in an empty partition of the column;
predicting a recurrence frequency of the data entries in the expected set using the forecasted parameter values by evaluating data entry ranking histories associated with the respective compression dictionaries of the filled partitions with a machine learning algorithm, wherein:
evaluating the data entry ranking histories associated with the respective compression dictionaries of the filled partitions with the machine learning algorithm comprises detecting a correlation between patterns in the parameter values associated with the respective compression dictionaries and the associated data entry ranking histories;
predicting the recurrence frequency of the data entries in the expected set further comprises detecting further patterns in the forecasted parameter values and comparing the detected further patterns with the patterns detected in the parameter values associated with the respective compression dictionaries;
generating a predictive compression dictionary for the expected set of data entries based on the predicted recurrence frequency of the data entries in the expected set;
receiving the expected set of data entries; and
compressing at least part of the received expected set of data entries using the predictive compression dictionary.

US Pat. No. 10,169,360

MIXING SOFTWARE BASED COMPRESSION REQUESTS WITH HARDWARE ACCELERATED REQUESTS

INTERNATIONAL BUSINESS MA...

1. A computer program product for data compression, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being readable and executable by a processing circuit to cause the processing circuit to:execute software compression for first requests for data compression that have respective sizes below a predefined threshold at the processing circuit;
forward second requests for data compression having respective sizes above the predefined threshold to a hardware accelerator, which is configured to perform data compression faster than the processing circuit, and which is remote from the processing circuit whereby forwards of the second requests to the hardware accelerator are associated with time and processing costs that are amortizable by the predefined threshold being relatively large as compared to the respective sizes of the first requests;
maintain a persistence of a compression dictionary used for executing the second requests across executions of the first and second requests,
wherein maintenance of compression dictionary persistence comprises:
padding a compression dictionary with padding space in accordance with a size of a first request;
adjusting a compression dictionary starting location by the size of the first request and
keeping a running total of compression dictionary starting location adjustments each time a subsequent first request is executed and the compression dictionary is padded, and
the program instructions further cause the processing circuit to inform the hardware accelerator of an offset in accordance with the running total of the compression dictionary starting location adjustments; and
execute software compression for the second requests for data compression at the hardware accelerator with the offset.

US Pat. No. 10,169,359

DISTRIBUTION CONTENT-AWARE COMPRESSION AND DECOMPRESSION OF DATA

EMC IP Holding Company LL...

1. A method, comprising:obtaining a file chunk of a plurality of file chunks of a larger file, a start offset of the file chunk within the larger file, and a data descriptor indicating how to process the file chunk based on characteristics of the larger file;
classifying, using at least once processing device in a distributed system, data inside the file chunk as one or more of headers and samples;
compressing, using the at least once processing device, headers in said file chunk using one or more header compression techniques to obtain one or more compressed headers;
compressing, using the at least once processing device, samples in said file chunk using one or more sample compression techniques to obtain one or more compressed samples, wherein said one or more header compression techniques are distinct from said one or more sample compression techniques; and
packing the compressed headers and compressed samples into a single bit stream comprising a compressed version of the file chunk, wherein at least one processing device of one or more of a storage node and a compute node processes the start offset of the file chunk within the larger file and the data descriptor indicating how to process the file chunk based on characteristics of the larger file.

US Pat. No. 10,169,358

DATA DEDUPLICATION USING A SMALL HASH TABLE

International Business Ma...

1. A method for data deduplication comprising:for a data chunk, determining, by one or more computer processors, whether a hash value of the data chunk generated by a first hash function is present in a hash table;
determining, by one or more computer processors, whether a total capacity of the hash table is above a threshold capacity;
in response to determining that the total capacity of the hash table is above a threshold capacity, determining, by one or more computer processors, whether there is space in a write data area of a system, wherein the write data area is identified by a second hash function, and wherein the hash table is loaded to a main memory of the write data area;
in response to determining that there is not space in the write data area, performing, by one or more computer processors, a post-deduplication process for each data chunk in the write data area, wherein the post-deduplication process identifies and deletes duplicate data chunks in the write data area, frees space in the write data area, and increases a storage usage rate of the deduplicated data chunks; and
in response to determining, upon performing the post-deduplication process, that there is space in the write data area, writing, by one or more computer processors, the data chunk to the write data area identified by the second hash function.

US Pat. No. 10,169,357

METHODS AND SYSTEMS FOR DATA CLEANUP USING PHYSICAL IMAGE OF FILES ON STORAGE DEVICES

INTERNATIONAL BUSINESS MA...

1. A method of optimizing selection of files for eviction from a first storage pool to free up a predetermined amount of space in the first storage pool, the method comprising:analyzing an effective space occupied by each file of a plurality of files in the first storage pool;
selecting one or more of the plurality of files as one or more candidate files for eviction, based on an identified one or more data blocks;
evicting the one or more candidate files for eviction from the first storage pool to a second storage pool; and
after the step of analyzing, identifying, from the plurality of files, one or more data blocks making up a file to free up the predetermined amount of space based on the analysis of the effective space of each file of the plurality of files;
wherein identifying includes:
analyzing a clean-up subset of files included in the plurality of files;
after the plurality of files have undergone a deduplication process, determining whether the one or more data blocks is pointed to by another file other than an instant file of the plurality of files being examined;
examining whether the other file other than the instant file is included as part of the clean-up subset of files; and
choosing the instant file as the one or more candidate files for eviction, if the other file is included as part of the clean-up subset of files and the instant file occupies space equal to or greater than the predetermined amount of space.

US Pat. No. 10,169,341

INTEGRATION OF CONTENT AND RECORDS MANAGEMENT SYSTEMS

Alfresco Software, Inc., ...

1. A computer program product comprising a non-transitory machine-readable storage medium storing instructions the instructions, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:causing a content object to undergo one or more modifications initiated by one or more users of a content management system, the content object comprising content and metadata of a document maintained by the content management system within a first file structure, the first file structure of the content management system providing a first level of access to the document for the one or more users of the content management system, the first level of access comprising an ability to edit the content object;
providing the first level of access to the document within the first file structure for the one or more users of the content management system;
detecting a declaration of the document as a record;
assigning a location for the content object within a file plan of a records management system in response to the detecting the declaration of the document as the record, the records management system capturing and preserving records based upon one or more records management standards;
moving the content object from the first file structure to the location in the file plan;
creating, in response to the moving, a record marker in the first file structure, the record marker identifying a navigation path from the first file structure to the location of the content object in the file plan;
providing, for the one or more users of the content management system and via the record marker, a second level of access to the content object at the location in the file plan, the second level of access being limited relative to the first level of access, the second level of access comprising a view permission for the document from within the first file structure via a user interface of the content management system, the second level of access not including the ability to edit the content object from the file plan of the records management system; and
sending a notification to a records manager regarding the declaration of the document as the record.

US Pat. No. 10,169,322

PERSONAL DICTIONARY

Dinky Labs, LLC, Bartlet...

1. A method for controlling a user device including a processor and a display, the display including a graphical user interface, the method comprising steps:receiving, at the processor, a request from a user to construct a word entry of a word, wherein the processor is in data communication with one or more non-transitory memory mediums;
retrieving, by the processor, a user profile of the user from a non-transitory memory medium, wherein the user profile includes the user's native language and age;
compiling, by the processor, a list of one or more definition databases according to the user's native language and age, wherein the list is stored in a partition of a non-transitory memory medium by the processor;
ranking, by the processor, definitions of the word provided by the definition databases according to the user's native language and age, wherein the definition databases include a first, a second, and a third definition database,
if the first definition database is appropriate for both the native language and the age of the user profile, the first definition database ranks first,
if the second definition database is appropriate for the native language but not the age of the user profile, the second definition database ranks second,
if the third definition database is appropriate for the age but not the native language of the user profile, the third definition database ranks third;
retrieving, by the processor, a top ranked definition of the word from its corresponding definition database;
formatting, by the processor, the definitions retrieved from the definition databases according to a resolution of the display of the user device; and
displaying, by the processor, the formatted definitions on the graphical user interface of the display.

US Pat. No. 10,169,312

SYSTEM AND METHOD IN A SOCIAL NETWORKING SYSTEM FOR DISPLAYING UPDATES IN AN INFORMATION FEED

salesforce.com, inc., Sa...

1. A method of providing feed information from a database system associated with a social networking system, the method comprising:calculating, using the database system, for a plurality of information sources that provide updates to an information feed for a first user of a social networking system, an affinity score for each information source, the affinity score for each information source calculated based on interaction factors between the first user and the information source;
converting, using the database system, each affinity score to a transparency value;
assigning to each information source, by the database system, the transparency value that was converted from the affinity score calculated for the information source;
generating, using the database system, the information feed of the social networking system for the first user, the information feed including updates from the information sources;
sending to a web browser operated by the first user, by a database server in the database system, the information feed and the transparency value assigned to each information source; and
instructing, by the database server, the web browser to display each update at a transparency level that corresponds to the transparency value assigned to the information source that provided the update.

US Pat. No. 10,169,308

METHOD AND SYSTEM FOR CREATING AN ONLINE STORE

GOOGLE LLC, Mountain Vie...

1. A computer-implemented method to create online stores, comprising:receiving, by one or more computing systems, a request from a user via a first client device to generate an online store, the online store comprising a purchasing interface;
receiving, by the one or more computing systems and subsequent to receiving the request, information from the user via the first client device regarding: one or more products the user intends to offer for sale in the online store, and customization of the online store;
generating, by the one or more computing systems, computer-executable instructions that provide the online store according to: the received request, the received information regarding customization, and the received information regarding one or more products;
packaging, by the one or more computing systems, the generated computer-executable instructions as a web gadget, the generated computer-executable instructions comprising instructions presenting the purchasing interface of the online store on a customer client device;
transmitting, by the one or more computing systems, to the user via the first client device, the web gadget; and
embedding, by the first client device, the transmitted web gadget in a web site of the user.

US Pat. No. 10,169,307

METHOD AND SYSTEM FOR THE USE OF ADJUSTMENT HANDLES TO FACILITATE DYNAMIC LAYOUT EDITING

Wix.com Ltd., Tel Aviv (...

1. A website building system comprising:a database to store elements of a website, wherein a plurality of said elements have associated dynamic layout rules which define the relationships between one website element and at least one other secondary website element and wherein each element of said plurality of elements has at least one handle set, said set comprising at least first and second smart handles having different visual attributes;
a dynamic layout editor to provide at least one of said website elements being edited with said at least one handle set during an editing session, said first smart handle to not implement an associated dynamic layout rule implemented by said second smart handle;
a handle module to receive an event triggered by changes made to said at least one website element;
an updater to update said at least one website element according to said event, handle set, handle type and associated dynamic layout rules when not bypassed by said first smart handle and to display said at least one updated website element during said editing session; and
a processor and a memory unit, said processor to embody said dynamic layout editor, said handle module and said updater.

US Pat. No. 10,169,303

MANAGEMENT SYSTEM FOR MANAGING INFORMATION SYSTEM

Hitachi, Ltd., Tokyo (JP...

1. A non-transitory computer readable medium storing a management program causing at least one computer, coupled to an information system including a plurality of elements of a plurality of types, to execute acts comprising:(I) detecting the plurality of elements by collecting configuration information from the information system including the plurality of elements of the plurality of types;
(II) selecting a plurality of display target types from among the plurality of types;
(III) receiving a designation of one of the display target types serving as a key type for aggregated display from among the display target types; and
(IV) displaying information on the plurality of elements according to a horizontal relation view (HRV) format which is a multi-column display format having a plurality of display target columns corresponding to the respective display target types,
wherein (IV) displaying the information according to the HRV format includes:
(A1) selecting a plurality of key elements belonging to the key type;
(A2) displaying a plurality of key objects each being an object indicating information of the plurality of key elements selected in (A1), in a key column corresponding to the key type; and
(A3) for each key object and the display target type other than the key type:
(A3a) calculating aggregation information of a non-key element which belongs to the display target type and is related to the key element selected in (A1); and
(A3b) displaying an aggregation object which is an object indicating the aggregation information calculated in (A3a), so that at least a portion of the aggregation object is included in an area in which the display target column corresponding to the display target type crosses an area in which the key object displayed in (A2) is extended in a horizontal direction;
wherein the key column of key objects and multiple display target columns of aggregation objects are displayed; and
wherein in each display target column, for any given row, one or more non-key elements corresponding to the aggregation object in the given row are related to the key element represented by the key object on the same given row as the aggregation object.

US Pat. No. 10,169,299

ANALYZING DOCUMENT CONTENT AND GENERATING AN APPENDIX

International Business Ma...

1. A method for generating an appendix from document content comprising:analyzing a document to identify a structure of the document;
in response to identifying the structure of the document, extracting semantic relationships, wherein the extracting semantic relationships further comprises:
extracting a semantic relationship from each identified sentence using example statistical modeling, wherein the semantic relationship comprises a subject, a predicate, and an object;
responsive to extracting and identifying the semantic relationship, applying statistical distribution analysis to record a position where the subject and the object appear in the document;
identifying and eliminating semantic relationships that are trivial relations, wherein trivial relations are semantic relationships that do not have content relevant to a main topic of the document, and wherein the trivial relations are at least one of:
the subject being evenly distributed within a section of the document, wherein a section is selected from a group consisting of a sentence, a paragraph, a page, and a chapter; and
the object being evenly distributed within the section of the document; and
storing a relation as a candidate appendix topic in persistent storage for further evaluation for inclusion in the appendix, wherein the relation is a semantic relationship that is either the main topic of the document or does not have a subject or an object evenly distributed in the document;
in response to extracting semantic relationships, determining candidate appendix topics based on a degree of interdependency;
in response to determining candidate appendix topics, executing a web mining operation, wherein the web mining operation calculates a measure of relevance of the mined web page to the determined candidate appendix topics, and wherein the determining further comprises:
detecting at least one interdependency between two or more relations stored in the persistent storage;
graphing the at least one interdependency between the two or more relations, wherein the two or more relations comprise nodes of a graph, and the at least one interdependency comprise an edge of the graph; and
identifying candidate appendix topics, based on a degree of relatedness between the nodes of the graph, centrality, between-ness, and connected-ness;
storing the identified candidate appendix topics in persistent storage; and
formatting the appendix based on the mined intermediate results.

US Pat. No. 10,169,292

STRING VARIABLES REPRSENTATION IN SOLVERS

International Business Ma...

1. A method for solving a Constraint Satisfaction Problem (CSP) having a constraint associated with at least one string variable, comprising:defining at least one string variable using a string domain data structure representing a domain of string values for string variables, wherein the string data structure represents the domain of string values as a Deterministic Finite Automaton (DFA), wherein the DFA comprising nodes and edges, wherein the nodes comprise an initial node and one or more accepting nodes, wherein the DFA has no back loops having size greater than 1, wherein the edges of the DFA represent one or more characters, wherein the domain of string values comprises each string for which a path in the DFA, according to characters in the edges of the path, exists beginning in the initial node and ending in one of the one or more accepting nodes;
defining a constraint for the CSP, wherein the constraint involves the at least one variable and wherein the constraint is to be complied with by a solution to the CSP;
invoking a CSP solver adapted to determine a solution to variables including the at least one string variable while complying with the constraint, and to invoke operations performed over the domain of the at least one string variable, wherein the CSP solver is configured to perform at least one of the following:
value propagation into the domain of string values, wherein the value propagation reduces a size of the domain; and
value selection of a value from the domain of string values, wherein the value selection reduces the domain, whereby value propagation to domains of one or more other variables is invoked by the CSP solver.

US Pat. No. 10,169,291

REUSABLE MODELING FOR SOLVING PROBLEMS

International Business Ma...

1. A computer program product comprising a non-transitory computer readable storage medium retaining program instructions configured to cause a processor to perform actions, which program instructions implement:a framework for creating a model of an NP-hard problem, wherein the model comprising at least one objective, a plurality of variables, and a plurality of constraints, wherein the model includes for each constraint a corresponding setting indicating whether the constraint is active or inactive, and wherein the framework provides methods for automatically transforming the model, comprising
at least one method for manipulating a status indication of the at least one objective;
at least one method for imposing or ignoring at least one of the constraints, by controlling the corresponding setting indicating whether the constraint is active or inactive; and
at least one method for setting values of one or more of the plurality of variables to specific fixed values; and
a solver configured to receive a model including for each constraint a corresponding setting indicating whether the constraint is active or inactive, from the framework and to solve the model created by the framework while ignoring constraints and objectives indicated as inactive by their corresponding setting, and holding values of variables that were set to specific fixed values, at the specific values to which they are fixed, so as to assign values to the variables such that the constraints indicated by their corresponding settings as active are met by the variable values and the objectives indicated as active are achieved,
wherein the framework is configured to allow creating an optimization flow defining a multi-stage process for solving the model, by setting for each stage a different set of objectives and constraints as active, providing the model with the set of active objectives and constraints to the solver, and setting values of variables of subsequent stages to values received as results of earlier stages.

US Pat. No. 10,169,288

NODE INTERCONNECT ARCHITECTURE TO IMPLEMENT HIGH-PERFORMANCE SUPERCOMPUTER

International Business Ma...

1. A computing system, comprising:a plurality N of computing groups which are optically connected to each other to form a computing system, wherein each computing group comprises:
a local group of N multi-processor modules;
a local group of N optical redistribution boxes;
a plurality (N×N) of local optical bundles which optically connect the local group of N multi-processor modules to the local group of N optical redistribution boxes; and
a plurality (N×N) of global optical bundles, wherein N of the global optical bundles optically connect the local group of N optical redistribution boxes to the local group of N multi-processor modules, and wherein (N×N)—N of the global optical bundles optically connect other local groups of optical redistribution boxes in other computing groups to the local group of N multi-processor modules.

US Pat. No. 10,169,287

IMPLEMENTING MODAL SELECTION OF BIMODAL COHERENT ACCELERATOR

International Business Ma...

1. A system for implementing modal selection of a bimodal coherent accelerator in a computer system comprising:a system processor;
a Peripheral Component Interconnect Express (PCIE) standard Vendor Specific Extended Capability (VSEC) structure or Coherently Attached Processor Interface (CAPI) VSEC data in the configuration space of a CAPI-capable PCIE adapter;
said system processor using the CAPI VSEC data in the configuration space of a CAPI-capable PCIE adapter and procedures defined in the Coherent Accelerator Interface Architecture (CAIA) to detect, enable and control a coherent coprocessor adapter over PCIE;
said system processor enabling the CAPI-capable PCIE adapter to be bimodal and operate in a conventional PCI-Express (PCIE) transaction mode or a CAPI mode utilizing CAIA coherence and programming interface capabilities;
configuration firmware in the computer system in which the PCIE adapter is installed; and
said CAPI-capable PCIE adapter is enabled to be selectively configured and enabled in either PCIE transaction mode or CAPI mode by the configuration firmware in the computer system in which the PCIE adapter is installed; and
said CAPI mode enabling CAPI coherent accelerator functions over PCIE utilizing a Coherent Accelerator Interface Architecture (CAIA) accelerator including the configuration space, a Processor Service Layer (PSL) and a plurality of Accelerator Function Units (AFUs).

US Pat. No. 10,169,282

BUS SERIALIZATION FOR DEVICES WITHOUT MULTI-DEVICE SUPPORT

International Business Ma...

1. A method comprising:providing, by a first communication hardware set, data communication between a first master device and a set of controlled device(s) through a set of bus communication line(s);
providing, by a second communication hardware set, data communication between the second master device and the set of controlled device(s) through the set of bus communication line(s);
during the pendency of a communication session, between the first master device and the set of controlled device(s) through the first communication hardware set, sending, by a control unit, a first signal to the second master device to cause the second master device to suspend, as a hardware response, any communication with the set of controlled device(s); and
during the pendency of a communication session, between the second master device and the set of controlled device(s) through the second communication hardware set, sending, by the control unit, a second signal to the first master device to cause the first master device to suspend, as a hardware response, any communication with the set of controlled device(s);
wherein:
the set of bus communication line(s) includes a two line Inter-Integrated Circuit (I2C) bus;
the first signal is a clock stretching signal;
the second signal is a clock stretching signal; and
the first hardware communication set includes a first serializer-master communication hardware set, a first switch and a first controlled-bus communication hardware set.

US Pat. No. 10,169,281

SWITCH SYSTEM AND OPERATION METHOD THEREOF

Inventec (Pudong) Technol...

9. An operation method for a switch system, comprising:transmitting a first control signal to a first multiplexer through a first multiplexer control channel by a baseboard management controller;
wherein the first control signal is configured to control the first multiplexer to electronically couple with a first electrically-erasable programmable read-only memory;
transmitting a first system parameter to the first multiplexer through the first serial peripheral interface bus by the baseboard management controller;
writing the first system parameter to the first electrically-erasable programmable read-only memory through the second serial peripheral interface bus by the first multiplexer;
loading a basic input/output system,
triggering a first switch by the basic input/output system to read the first system parameter stored in the first electrically-erasable programmable read-only memory through the first multiplexer; and
configuring at least one configuration value according to the first system parameter.

US Pat. No. 10,169,275

SYSTEM, METHOD, AND RECORDING MEDIUM FOR TOPOLOGY-AWARE PARALLEL REDUCTION IN AN ACCELERATOR

INTERNATIONAL BUSINESS MA...

1. A topology-aware parallel reduction system, comprising:a partitioning device configured to partition data in each accelerator of a plurality of accelerators into partitions that transfer data in a first and second directions based on a topology of connections between the plurality of accelerators;
a control device configured to control, based on the topology of connections between the plurality of accelerators, a type of parallel reduction of data to use; and
an intra-root reduction device configured to use a full-duplex configuration of a PCIe bandwidth such that each accelerator of the plurality of connected accelerators selectively transfers data either in either direction or in each direction simultaneously.

US Pat. No. 10,169,272

DATA PROCESSING APPARATUS AND METHOD

INTERNATIONAL BUSINESS MA...

1. A data processing apparatus comprising:a plurality of processor cores;
a shared processor cache, the shared processor cache being connected to each of the processor cores and to a main memory, wherein in operation, the shared processor cache receives a descriptor sent by one of the processor cores regarding a transfer of requested data indicated by the descriptor from the shared processor cache to an input/output (I/O) device;
a bus controller, the bus controller being connected to the shared processor cache and receiving from the shared processor cache the descriptor sent by the one or more processor cores regarding the transfer of the requested data to trigger the bus controller to perform a data transfer according to the descriptor, wherein the descriptor is passed through the shared processor cache to the bus controller in parallel with the shared processor cache initiating prefetching the requested data from the shared processor cache or main memory by performing a direct memory access, and wherein based on receipt of the descriptor, the bus controller generates a data request to the shared processor cache to transfer the requested data to the I/O device;
a bus unit, the bus unit being connected to the bus controller and facilitating transferring data to or from the I/O device; and
wherein, by operation of the bus controller, the requested data is transferred from the shared processor cache to the bus unit for transfer to the I/O device.

US Pat. No. 10,169,270

TECHNIQUES FOR HANDLING INTERRUPT RELATED INFORMATION IN A DATA PROCESSING SYSTEM

International Business Ma...

1. A method of handling queued interrupts, comprising:determining, by an interrupt presentation controller (IPC), whether a received memory mapped input/output (MMIO) store request is associated with preempting a virtual processor (VP) thread;
in response to determining the MMIO store request is associated with preempting the VP thread:
writing, by the IPC, interrupt context information of the VP thread to a specified location in memory;
determining, by the IPC, whether an interrupt context table (ICT) indicates an interrupt is currently pending for the VP thread; and
in response to determining the ICT indicates an interrupt is currently pending for the VP thread, issuing, by the IPC, a redistribute message for the interrupt that is currently pending that causes the interrupt to be reassigned to a different VP thread.

US Pat. No. 10,169,267

TRANSACTIONAL EXECUTION ENABLED SUPERVISOR CALL INTERRUPTION WHILE IN TX MODE

International Business Ma...

1. A computer implemented method for managing an interruption while a processor is executing a transaction in a transactional-execution (TX) mode, the method comprising:executing, by a processor initiated into a TX mode by the executing, a transaction in a program context;
detecting, by the processor in the TX mode, an interruption request for an interruption;
based on the interruption being a TX compatible routine, accepting the interruption by the processor to execute the TX compatible routine in a supervisor context for changing supervisor resources;
executing the TX compatible routine within the TX mode;
executing, by the processor in the TX mode, a supervisor call (SC) instruction for requesting a rescindable operation by a supervisor on a supervisor resource, execution of the SC instruction causing the interruption request; and
returning to the program context to complete execution of the transaction.

US Pat. No. 10,169,266

ADAPTIVE BUFFERING OF DATA RECEIVED FROM A SENSOR

InvenSense, Inc., San Jo...

1. A method of adaptive buffering in a mobile device having a host processor and a sensor processor coupled with said host processor:using said sensor processor to buffer data received from a sensor that is operated by said sensor processor, wherein said data is buffered by said sensor processor into a circular data buffer; and
responsive to said sensor processor detecting triggering data within said received data:
setting, by said sensor processor, a start-end marker relative to said triggering data in said circular data buffer, wherein said start-end marker delays overwriting said triggering data until completion of an action; and
sending a command to execute said action from said sensor processor to a second processor.

US Pat. No. 10,169,265

CONFIGURABLE INPUT / OUTPUT CONNECTOR IN A CAMERA

GoPro, Inc., San Mateo, ...

1. A method for configuring a USB3 input/output port in a camera, the method comprising:configuring the USB3 input/output port according to a default USB3 pin configuration;
detecting that a peripheral device is connected to the camera via the USB3 input/output port;
receiving, via a USB3 protocol, an identifier from the peripheral device, the identifier indicating whether the peripheral device is a USB3 device or a non-USB3 device;
responsive to the identifier indicating that the peripheral device is a USB3 device, communicating with the peripheral device via the USB3 protocol;
responsive to the identifier indicating that the peripheral device is a non-USB3 device, remapping pins of the USB3 input/output port to a first predefined port configuration associated with an I2C protocol by remapping a RX1? pin to communicate a first I2C signal and remapping a RX1+ pin to communicate a second I2C signal;
performing authentication between the camera and the peripheral device via the I2C protocol to determine if the peripheral device meets a specified criteria for an approved device;
responsive to successful authentication, enabling communication with the peripheral device and remapping the pins of the USB3 input/output port to a second predefined port configuration compatible with operation of the authenticated peripheral device by remapping a TX2+ pin to communicate a first general purpose input/output signal and remapping a TX2? pin to communicate a second general purpose input/output signal; and
responsive to unsuccessful authentication, disabling communication with the peripheral device and remapping the pins of the USB3 input/output port to the default USB3 pin configuration.

US Pat. No. 10,169,263

MEMORY SUBSYSTEM AND COMPUTER SYSTEM

International Business Ma...

1. A method comprising:estimating an access request frequency from a CPU to a memory subsystem by counting a number of CPU access requests and a number of requests other than CPU access requests, wherein a CPU access request is counted as plus one (+1) and a request other than a CPU access request and a system bus idle state are each counted as minus one (?1), wherein the CPU is connected to the memory subsystem via a system bus, and the memory subsystem comprises a DDR memory and a memory controller connected to the system bus;
comparing the estimated access request frequency with a predetermined threshold value stored in a register;
generating a clock gate signal to decimate an operating clock of the memory controller in response to a result of comparing the estimated access request frequency with the predetermined threshold value;
generating a dummy cycle signal to delay the timing of signal data output from the memory controller to the system bus in response to the result of comparing the estimated access request frequency with the predetermined threshold value; and
generating a clock enable signal to decimate an operating clock of the DDR memory in response to the result of comparing the estimated access request frequency with the predetermined threshold value.

US Pat. No. 10,169,261

ADDRESS LAYOUT OVER PHYSICAL MEMORY

International Business Ma...

1. A computer system including an address translation device (ATD) configured to translate, within a main memory of the computer system, a physical address of a memory line to a storage location of the memory line, the main memory including a plurality of memory devices, each memory device of the plurality memory devices having a respective memory capacity, each of the respective memory capacities including at least one contiguous memory portion of a uniform size, the memory line being stored in one of the at least one contiguous memory portions, the ATD comprising:a first data table structure having a set of consecutive rows, each row of the set of consecutive rows configured to uniquely identify one of the at least one contiguous memory portions; and
a first index calculation unit configured to calculate, for the physical address, a first row index that identifies a row of the first data table structure that identifies a memory portion, of the at least one contiguous memory portions, that includes the storage location of the memory line.

US Pat. No. 10,169,260

MULTIPROCESSOR CACHE BUFFER MANAGEMENT

International Business Ma...

1. A method comprising:receiving, from a first processor in a set of processors sharing a bus, a request for a first set of data;
receiving, from a second processor in the set of processors sharing the bus, a request for a second set of data;
writing a first portion of the first set of data and a first portion of the second set of data to a buffer;
writing additional portions of the first set of data and additional portions of the second set of data to the buffer as each additional portion is received;
determining that a portion of the first set of data has a higher priority to the bus than a portion of the second set of data based on a priority scheme, wherein the priority scheme specifies priority to the bus based on a sequential order, wherein the sequential order comprises:
(a) one or more sets of data that have not yet returned any portions of data; and
(b) one or more sets of data that have only returned one portion of data; and
granting the portion of the first set of data access to the bus.

US Pat. No. 10,169,256

ARBITRATING DIRECT MEMORY ACCESS CHANNEL REQUESTS

Silicon Laboratories Inc....

1. A method comprising:receiving a plurality of requests to perform accesses for associated DMA channels, each request being associated with a fixed priority and each request being associated with a priority weighting, wherein at least a first priority weighting of the associated priority weightings is different from a second priority weighting of the priority weightings; and
arbitrating the requests, the arbitrating comprising, for a given request of the plurality of requests:
identifying a number of arbitration slots in an arbitration cycle based at least in part on the priority weighting assigned to the given request;
assigning at least one arbitration slot in the arbitration cycle to the given request such that the identified number of arbitration slots is or are assigned to the given request, wherein the at least one arbitration slot comprises an arbitration slot concurrently assigned to both the given request and to another request of the plurality of requests; and
sequencing through the slots in the arbitration cycle, comprising for the arbitration slot concurrently assigned to both the given request and to the another request, selectively granting the given request based at least in part on the associated fixed priority of the given request and the associated fixed priority of the another request.

US Pat. No. 10,169,252

CONFIGURING FUNCTIONAL CAPABILITIES OF A COMPUTER SYSTEM

International Business Ma...

1. A computer program product for configuring functional capabilities of a computer system comprising two or more persistent memories and two or more replaceable functional units, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:transferring, in response to a repair action for a first functional unit, first enablement data stored on the first functional unit to a servicer, wherein the first enablement data stored on the first functional unit is in a first persistent memory of the first functional unit, wherein the first enablement data is associated with a first unique identification number that corresponds to the first functional unit, the first enablement data specifying one or more functional capabilities of the first functional unit, and wherein the one or more functional capabilities are enabled in the first functional unit;
erasing, after transferring the first enablement data in the first persistent memory to the servicer, the first enablement data from the first persistent memory;
obtaining, by the servicer, in response to a replacement action for the first functional unit, a second unique identification number that corresponds to a second functional unit;
transferring, from the servicer, the first unique identification number and the second unique identification number to a trusted environment in the computer system;
transforming, in the trusted environment, the first enablement data to second enablement data by replacing the first unique identification number with the second unique identification number; and
transferring the second enablement data to the second functional unit, wherein the second enablement data is stored in a second persistent memory of the second functional unit, wherein the second enablement data specifies one or more functional capabilities of the second functional unit, and wherein the one or more functional capabilities of the second functional unit are the same as the one or more functional capabilities of the first functional unit.

US Pat. No. 10,169,251

LIMTED EXECUTION OF SOFTWARE ON A PROCESSOR

Massachusetts Institute o...

1. A method for limiting execution of an encrypted computer program on a secure processor comprising:executing a first set of instructions encoding a test for determining whether a value of a register of the secure processor belongs to a set of valid register values encoded in the encrypted computer program, execution of the first set of instructions causing the secure processor to:
destructively read a first register value from the register of the secure processor, the register of the secure processor configured to provide a destructive read of its value such that repeated reads of a same value of the register are prevented, and
determining whether the first register value belongs to the set of valid register values encoded in the encrypted computer program; and
preventing execution of further instructions of the encrypted computer program based on a determination that the first register value does not belong to the set of valid register values encoded in the encrypted computer program,
wherein the set of valid register values is based on a value destructively read from the register prior to the destructive read of the first register value.

US Pat. No. 10,169,249

ADJUSTING ACTIVE CACHE SIZE BASED ON CACHE USAGE

INTERNATIONAL BUSINESS MA...

1. A computer program product for managing a cache in at least one memory device in a computer system to cache tracks stored in a storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:maintaining an active cache list indicating tracks in an active cache comprising a first portion of the at least one memory device to cache the tracks in the storage during computer system operations;
maintaining an inactive cache list indicating tracks demoted from the active cache;
during caching operations, gathering information on active cache hits comprising access requests to tracks indicated in the active cache list and inactive cache hits comprising access requests to tracks indicated in the inactive cache list;
staging a track requested by an access request indicated in the inactive cache list from the storage to the active cache;
adding indication of the staged track to the active cache list; and
using the gathered information to determine whether to provision a second portion of the at least one memory device unavailable to cache user data to be part of the active cache for use to cache user data during the computer system operations.

US Pat. No. 10,169,248

DETERMINING CORES TO ASSIGN TO CACHE HOSTILE TASKS

INTERNATIONAL BUSINESS MA...

1. A computer program product for dispatching tasks in a computer system having a plurality of cores, wherein each core is comprised of a plurality of processing units and at least one cache memory shared by the processing units on the core to cache data from a memory, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:processing a task to determine one of the cores on which to dispatch the task;
determining whether the processed task is classified as cache hostile, wherein a task is classified as cache hostile when the task accesses more than a threshold number of memory address ranges in the memory; and
dispatching the processed task to at least one of the cores assigned to process cache hostile tasks.

US Pat. No. 10,169,247

DIRECT MEMORY ACCESS BETWEEN AN ACCELERATOR AND A PROCESSOR USING A COHERENCY ADAPTER

International Business Ma...

8. An adapter for direct memory access (‘DMA’) between a processor and an accelerator, the processor coupled to the accelerator by the adapter, the adapter configured to carry out the steps of:providing, by the adapter, a translation tag (‘XTAG’) to the accelerator; and
responsive to receiving a DMA instruction for a DMA transfer, wherein the DMA instruction comprises the XTAG, generating, by the adapter, a DMA instruction comprising a real address based on the XTAG.

US Pat. No. 10,169,243

REDUCING OVER-PURGING OF STRUCTURES ASSOCIATED WITH ADDRESS TRANSLATION

INTERNATIONAL BUSINESS MA...

1. A computer program product for managing purging of structure entries associated with address translation, said computer program product comprising:a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
determining, by a processor, whether a block of memory of a computing environment for which a purge request has been received is backing an address translation structure, the block of memory having an address to identify the block of memory; and
based on determining the block of memory is not backing the address translation structure, performing an action to selectively purge from a structure associated with address translation entries created from translating the address that are at one level of address translation, wherein other entries at one or more other levels of address translation created from translating the address remain in the structure.

US Pat. No. 10,169,241

MANAGING MEMORY ALLOCATION BETWEEN INPUT/OUTPUT ADAPTER CACHES

International Business Ma...

1. A method for managing memory allocation of caching storage input/output adapters (IOAs) in a redundant caching configuration, the method comprising:detecting a first cache of a first IOA storing a first amount of data that satisfies a memory shortage threshold of the first cache;
transmitting a first request for extra memory for the first cache in response to detecting that the first amount of data satisfying the memory shortage threshold, wherein the first request is transmitted to a plurality of IOAs;
detecting a second cache of a second IOA of the plurality of IOAs storing a second amount of data that satisfies a memory dissemination threshold of the second cache;
allocating memory from the second cache to the first cache in response to both the first request and detecting that the second amount of data satisfies the memory dissemination threshold; and
wherein the first cache has a memory dissemination threshold and the second cache has a memory shortage threshold, further comprising:
detecting the second cache storing a third amount of data that satisfies a memory shortage threshold of the second cache;
identifying an outstanding request for extra memory, wherein the outstanding request for extra memory is a prior request for extra memory from another IOA of the plurality of IOAs, wherein the prior request has not resulted in an allocation of memory to a cache of the requesting IOA; and
deferring a new request for extra memory for the second cache in response to identifying the outstanding request for extra memory from the another IOA.

US Pat. No. 10,169,239

MANAGING A PREFETCH QUEUE BASED ON PRIORITY INDICATIONS OF PREFETCH REQUESTS

INTERNATIONAL BUSINESS MA...

1. A computer program product for managing prefetch queues, said computer program product comprising:a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
obtaining a prefetch request based on executing a prefetch instruction included within a program and determining that data at a memory location designated by the prefetch instruction is not located in a selected cache, the prefetch request having a priority assigned thereto, the priority indicating confidence by the program in whether the prefetch request will be used;
determining, based on obtaining the prefetch request, whether the prefetch request may be placed on a prefetch queue, the determining comprising:
determining whether the prefetch queue is full;
checking, based on determining the prefetch queue is full, whether the priority of the prefetch request is considered a high priority;
determining, based on the checking indicating the priority of the prefetch request is considered a high priority, whether another prefetch request on the prefetch queue may be removed;
removing the other prefetch request from the prefetch queue, based on determining the other prefetch request may be removed; and
adding the prefetch request to the prefetch queue, based on removing the other prefetch request.

US Pat. No. 10,169,238

MEMORY ACCESS FOR EXACTLY-ONCE MESSAGING

International Business Ma...

1. A computer-implemented method executed for enabling exactly-once messaging, the method comprising:transmitting a plurality of messages from a first location to a second location via read requests and write requests made to a memory;
controlling the read and write requests by a memory controller including a read queue, a write queue, and a lock address list, each slot of the lock address list associated with a lock bit;
initiating the read requests from the memory via the memory controller when associated lock bits are enabled;
initiating the write requests from the memory via the memory controller when associated lock bits are disabled; and
enabling and disabling the lock bits after the initiation of the write and read requests, respectively.

US Pat. No. 10,169,237

IDENTIFICATION OF A COMPUTING DEVICE ACCESSING A SHARED MEMORY

International Business Ma...

1. A method for identifying, in a system including two or more computing devices that are able to communicate with each other, with each computing device having a cache and connected to a corresponding memory, the computing device accessing one of the memories, the method comprising:monitoring memory access to any of the memories, wherein monitoring memory access comprises identifying respective computing devices that access respective memories, wherein monitoring memory access to any of the memories further comprises:
collecting an access time, a type of command, and a first memory address from a first memory read access to a first memory based on information acquired from a first probe attached to a first bus connecting the first memory to a first computing device, wherein the first memory is remote from the first computing device, and wherein a cache line in the first computing device is in an invalid state;
collecting a third access time, a third type of command, and a third memory address from a first memory write access to the first memory based on information acquired from the first probe, wherein the cache line in the first computing device enters a modified state;
monitoring cache coherency commands between computing devices, wherein monitoring cache coherency commands further comprises:
monitoring a first cache coherency command sent from the first computing device to at least a second computing device at a first cache coherency time based on information acquired from a second probe attached to a second interconnect connecting the first computing device and the second computing device, wherein the second probe collects the cache coherency time, a type of command, a second memory address, and an identification of the computing device issuing the first cache coherency command; and
identifying the computing device accessing one of the memories by using information related to the memory access and cache coherency commands, wherein identifying the computing device further comprises:
identifying the first computing device as the device that accessed the first memory based on the first memory address being equivalent to the second memory address, and further based on a difference between the access time and the first cache coherency time being smaller than a difference between the access time and any other cache coherency time;
wherein the first computing device is identified as the device performing the first memory write access based on the third memory address being identical to the first memory address and further based on the first computing device performing the first memory read access to the first memory;
wherein the system is configured in a non-uniform memory access (NUMA) design, wherein each memory comprises at least one dual in-line memory module (DIMM);
wherein the access time, the type of command, the first memory address, the cache coherency time, the second memory address, and the identification of the computing device issuing the first cache coherency command are stored in a hard disk drive (HDD) accessible by the system; and
wherein the system utilizes a modified, exclusive, shared, invalid (MESI) cache coherence protocol.

US Pat. No. 10,169,236

CACHE COHERENCY

ARM Limited, Cambridge (...

1. A cache coherency controller comprising:a directory indicating, for memory addresses cached by one or more of a group of one or more cache memories connectable in a coherent cache structure, which of the cache memories are caching those memory addresses; and
control circuitry configured to detect a directory entry relating to a memory address to be accessed so as to coordinate, amongst the cache memories, an access to a memory address by one of the cache memories or a coherent agent in instances when the directory entry indicates that another of the cache memories is caching that memory address;
the control circuitry being responsive to status data indicating whether each cache memory in the group is currently subject to cache coherency control so as to take into account, in the detection of the directory entry relating to the memory address to be accessed, only those cache memories in the group which are currently subject to cache coherency control.

US Pat. No. 10,169,234

TRANSLATION LOOKASIDE BUFFER PURGING WITH CONCURRENT CACHE UPDATES

International Business Ma...

1. A method for purging a translation lookaside buffer concurrently with cache updates in a computer system with a translation lookaside buffer and a primary cache memory having a first cache line that contains a virtual address field and a data field, the method comprising:initiating a translation lookaside buffer purge process;
initiating a cache update process;
determining that the translation lookaside buffer purge process and the cache update process each perform a write operation to the first cache line concurrently;
in response to the determining:
overwriting, by the cache update process, the data field of the first cache line of the primary cache memory,
restoring the translation lookaside buffer purge process from a current state to an earlier state, and
restarting the translation lookaside buffer process from the earlier state.

US Pat. No. 10,169,231

EFFICIENT AND SECURE DIRECT STORAGE DEVICE SHARING IN VIRTUALIZED ENVIRONMENTS

International Business Ma...

1. A method of providing direct storage device sharing in a virtualized environment, comprising:a storage controller assigning each of a plurality of virtual functions of a plurality of guests an associated memory area of a physical memory, including at a first boot of one of the guests, the storage controller receiving a request from the one of the guests, said request including an authentication key, and in response to the request, triggering an interrupt of a physical function to a hypervisor;
the storage controller providing the guests with direct access, via the authentication key and without intervention of the hypervisor, to a specified storage area in the storage device, including the storage controller receiving from the hypervisor a configuration command over the physical function, the configuration command setting up hardware in the storage controller to allocate storage in the storage device for said one of the guests and to provide a mapping function for the authentication key to provide the one of the guests with access to the specified storage area in the storage device; and
the guests directly accessing the specified storage area over the authentication key, including
said one of the guests directly accessing the storage device over the authentication key, including said one guest sending to the storage controller, over one of the virtual functions, the authentication key in a command block requesting access to the storage area allocated to said one guest; and
the storage controller receiving the command block requesting access from the one of the guests, and setting up a mapping for the authentication key to provide said one of the guests with direct access, without intervention of the hypervisor, only to the specified storage area in the storage device set up for the authentication key.

US Pat. No. 10,169,229

PROTOCOLS FOR EXPANDING EXISTING SITES IN A DISPERSED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method for execution by computing device within a dispersed storage and task network (DSTN) including at least one site housing a plurality of current distributed storage and task (DST) execution units, the method comprising:determining that a plurality of new DST execution units are to be added to the at least one site;
in response to determining that the plurality of new DST execution units are to be added to the at least one site, assigning the new DST execution units to positions within the at least one site to limit a number of DST execution units through which data must be moved during migration of data to the new DST execution units to a maximum number, the maximum number being less than the number of current DST execution units included in the at least one site, wherein assigning the new DST execution units to positions within the at least one site includes:
obtaining first address ranges assigned to the plurality of current DST execution units;
determining a common magnitude of second address ranges to be assigned to the plurality of new DST execution units and the plurality of current DST execution units;
determining insertion points for each of the plurality of new DST execution units, wherein the insertion points are selected to intersperse the plurality of new DST execution units among the current DST execution units in a pattern arranged so that each current DST execution unit is no more than a predetermined number of current DST execution units distant from one of the plurality of new DST execution units;
determining transfer address ranges, where transfer address ranges correspond to at least a portion of the first address ranges to be transferred to the plurality of new DST execution units in accordance with the insertion points; and
facilitating transfer of address range assignments from particular current DST execution units to particular new DST execution units.

US Pat. No. 10,169,228

MULTI-SECTION GARBAGE COLLECTION

International Business Ma...

1. A computer program product for facilitating garbage collection within a computing environment, the computer program product comprising:a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
obtaining processing control by a handler executing within a processor of the computer environment based on execution of a load instruction and a determination that an object pointer to be loaded indicates a location within a selected portion of memory undergoing a garbage collection process;
obtaining by the handler an image of the load instruction and calculating an object pointer address from the image, the object pointer address specifying a location of the object pointer, the object pointer indicating a location of an object pointed to by the object pointer;
determining by the handler whether the object pointer is to be modified;
modifying by the handler, based on determining the object pointer is to be modified, the object pointer to provide a modified object pointer; and
storing the modified object pointer in a selected location.

US Pat. No. 10,169,227

MEMORY CONTROLLER AND MEMORY SYSTEM INCLUDING THE SAME

Samsung Electronics Co., ...

1. A read method of a nonvolatile memory device, comprising:the nonvolatile memory device determining whether a read command input to the nonvolatile memory device is a read command for a word line having an upper page program state;
when the input read command is determined not to be a read command for a word line having an upper page program state, the nonvolatile memory device performing a first lower page read operation on the word line;
when the input read command is determined to be a read command for a word line having an upper page program state, the nonvolatile memory device determining whether a page address input together with the input read command is a lower page address;
when the page address input together with the input read command is determined to be the lower page address, the nonvolatile memory device performing a second lower page read operation on the word line; and
when the page address input together with the input read command is determined not to be the lower page address, the nonvolatile memory device performing an upper page read operation on the word line.

US Pat. No. 10,169,224

DATA PROTECTING METHOD FOR PREVENTING RECEIVED DATA FROM LOSING, MEMORY STORAGE APPARATUS AND MEMORY CONTROL CIRCUIT UNIT

PHISON ELECTRONICS CORP.,...

1. A data protecting method for a memory storage apparatus, comprising:determining whether a first procedure which is about to be executed or being executed by the memory storage apparatus is a first type procedure according to a total executing time of the first procedure;
if the first procedure which is about to be executed or being executed by the memory storage apparatus is the first type procedure, temporarily stopping receiving a first data corresponding to a first write command from a host system to all buffers of the memory storage apparatus before the execution of the first procedure is finished; and
allowing the memory storage apparatus to receive the first data corresponding to the first write command only after the first procedure is finished.

US Pat. No. 10,169,212

CODE COVERAGE THROUGH OVERLAY HOOKS

International Business Ma...

1. A computer system for utilizing overlay hooks to increase code coverage, the computer system comprising:one or more computer processors;
one or more computer readable storage media;
program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:
program instructions to compile a program code with branches broken apart to test only one possible condition state at each condition statement;
program instructions to analyze debug information to identify a location within the program code corresponding to a condition statement;
program instructions to exchange the condition statement for an overlay hook at the location within the program code;
program instructions to execute the program code;
upon reaching the overlay hook, program instructions to branch to a set of instructions operative to document an outcome state of the condition statement, wherein the outcome state of the condition statement is selected from the group consisting of true, false, less than, equal to, and greater than;
program instructions to execute the condition statement;
program instructions to record the outcome state of the condition statement and the location of the condition statement within the program code in a table;
program instructions to access the table;
program instructions to determine whether each possible outcome state of the condition statement has been recorded in the table;
responsive to determining that each possible outcome state of the condition statement has not been recorded in the table, program instructions to continue to execute the program code;
responsive to determining that each possible outcome state of the condition statement has been recorded in the table, program instructions to remove the overlay hook; and
program instructions to generate a report, wherein the report includes the recorded outcome state of the condition statement and the location within the program code corresponding to the condition statement.

US Pat. No. 10,169,211

APPLICATION PROGRAMMING INTERFACE TESTING SERVICES

Empire Technology Develop...

1. A method to provide an application programming interface (API) testing service, the method comprising:generating a plurality of test segments based on a plurality of API calls;
creating an API test module that includes the plurality of test segments;
transmitting, via a communication network, the API test module to a plurality of data centers that comprises a first data center and a second data center;
receiving test results from the plurality of data centers, wherein the received test results comprise a first set of test results based on the transmitted API test module that is executed on the first data center, and comprise a second set of test results based on the transmitted API test module that is executed on the second data center, and wherein the first set of test results and the second set of test results are indicative of whether execution of each respective one of the plurality of test segments is successful or returns an error;
comparing the first set of test results and the second set of test results; and
generating a report based on the comparison, wherein the report indicates which of the plurality of API calls are compatible with the plurality of data centers.

US Pat. No. 10,169,210

ASSOCIATION BETWEEN A TEST CASE AND SOURCE CODE

International Business Ma...

1. A computer-implemented method for associating one or more test cases with one or more source code parts for a test target comprising:obtaining historical data comprising one or more modification histories and one or more associated test operation histories, wherein a modification history comprises one or more modifications made in one or more source code parts, and a test operation history comprises one or more test processing parts corresponding to one or more test operations conducted on a test target after the one or more modifications;
for each of the historical data, determining whether a test operation history has one or more test processing parts which are identical or similar to test processing parts in one or more test cases;
associating the one or more test cases with one or more source code parts in one or more modification histories which have been associated with the test operation history responsive to determining that the test operation history has one or more test processing parts which are identical or similar to test processing parts in one or more test cases; and
assigning a degree of reliability to each of the plurality of associations between the one or more test cases and the one or more source code parts, wherein the degree of reliability is directly correlated with the presence of verification parts such that a degree of reliability is lower for each of the plurality of associations for which verification parts are not present than it is for other associations of the plurality of associations for which verification parts are present.

US Pat. No. 10,169,209

CONTAINER IMAGES BY COMPOSITION

Red Hat, Inc., Raleigh, ...

1. A system of creating containers by composition, the system comprising:a memory including a container image;
one or more processors, in communication with the memory; and
an image engine, executing on the one or more processors, wherein the containers include components to generate an isolated runtime environment for specific applications,
wherein the container image includes a plurality of layers, the plurality of layers including at least a first layer and a second layer that is built on the first layer, the image engine determines that the first layer and the second layer are at least one of read only and remain unmodified by the addition of any other layer of the plurality of layers, and each layer of the container image is in one of a broken state and an unbroken state,
wherein the image engine validates that each layer of the container image is associated with a respective identifying signature, the identifying signatures remain unmodified as long as the respective layers remain in the unbroken state, and any respective layer changing from the unbroken state to the broken state if any contents of the respective layer present at a time such respective layer was added to the container image are modified by at least one of an addition and an operation of any other layer of the container image,
wherein the image engine ensures that the plurality of layers adhere to a policy, the policy requiring that each compliant layer includes at least one attribute of (i) each respective compliant layer is read only with respect to each other layer in the container image, and (ii) at a time when each respective compliant layer is added to the container image, the respective layer does not modify the contents of any other layer, the policy also requiring that the updating of any respective compliant layer with a new version of the same respective compliant layer modifies only the contents of the respective compliant layer being replaced, and that each compliant layer remains in the unbroken state,
wherein each layer is designated a different respective location in the memory for the storage of data necessary for each respective layer, and each compliant layer is restricted from writing to a location designated for any other layer, and
wherein the image engine determines that the first layer and the second layer are both compliant layers and replaces the first layer with a third layer, wherein the third layer is an updated version of the first layer, and the second layer and the third layer are both compliant layers after the replacement of the first layer with the third layer, such that the plurality of layers, including the third layer, adhere to the policy.

US Pat. No. 10,169,208

SIMILARITY SCORING OF PROGRAMS

1. A method for generating a similarity score between a source program and a test program, the method comprising:generating a source abstract syntax tree (sAST) for a source program and a test abstract syntax tree (tAST) for a test program;
generating hash vectors for each abstract syntax tree (AST) by hashing subtrees of the sAST and tAST;
reducing the dimensionality hash vectors of the sAST;
forming a spatial data structure based on the reduced dimensionality hash vectors;
querying the spatial data structure with the hash vectors of the tAST to find candidate matching vectors;
searching among the candidate matching vectors for pairs of vectors that exceed a similarity threshold; and
reporting the pairs that exceed the similarity threshold.

US Pat. No. 10,169,207

SMART EMULATOR FOR WEARABLE DEVICES

International Business Ma...

1. A method for generating data for testing applications designed for wearable devices via an emulator, the method comprising:receiving, by one or more computer processors, an input of a video file, wherein:
the video file includes video of a test device being moved to mimic movements of a wearable device as worn by a user;
determining, by one or more computer processors, motion vector data, based on the video file, using video motion detection (VMD);
generating, by one or more computer processors, motion sensor data based on the determined motion vector data, wherein generating the motion sensor data based on the determined motion vector data comprises:
determining, by one more computer processors, an initial weight for each motion vector in the determined motion vector data, wherein the initial weight is determined based on an approach selected from the group consisting of: selecting equal weights, selecting random weights, user input, and historical data;
determining, by one or more computer processors, a final weight for each motion vector in the determined motion vector data, wherein:
a machine-learning algorithm is used to determine the final weight for each motion vector in the determined motion vector data;
the machine-learning algorithm is selected from the group consisting of: artificial neural networks, decision trees, random forests, nearest neighbors, and Apriori algorithm; and
the machine-learning algorithm is run iteratively starting with the initial weight for each motion vector in the determined motion vector data in order to determine the final weight; and
generating, by one or more computer processors, one or more rules that best fit the determined motion vector data, wherein:
the generated one or more rules are based on the final weight for each motion vector in the determined motion vector data;
the generated one or more rules allow for conversion of the motion vector data to the motion sensor data; and
generating the one or more rules that best fit the determined motion vector data comprises:
mapping, by one or more computer processors, existing motion vector data to motion sensor data, wherein the mapping is an offline labelling process using cognitive analysis;
labelling, by one or more computer processors, new motion vector data with corresponding motion sensor values based on a mapping of the existing motion vector data to motion sensor data; and
generating, by one or more computer processors, one or more rules that define a relationship between motion vector displacement and motion sensor displacement based on the new motion vector data labelled with corresponding motion sensor values;
determining, by one or more computer processors, one or more test results using the generated motion sensor data;
storing, by one or more computer processors, the video file, the motion vector data, and the motion sensor data, and the one or more rules;
receiving, by one or more computer processors, an indication of an application to be tested, wherein:
the application to be tested uses one or more motion sensors included in the wearable device; and
the application to be tested is a fitness application;
retrieving, by one or more computer processors, the motion sensor data associated with the application to be tested, wherein the association of the motion sensor data to the application to be tested is based on receiving the motion sensor data that corresponds to one or more sensors included in the wearable device;
causing, by one or more processors, an emulator to test the application, using the retrieved motion sensor data associated with the application to be tested, wherein the emulator uses respective motion sensor data, corresponding to each sensor that is used by the application;
determining, by one or more computer processors, one or more test results based on the retrieved motion sensor data; and
storing, by one or more computer processors, the one or more test results.

US Pat. No. 10,169,205

AUTOMATED SYSTEM TESTING IN A COMPLEX SOFTWARE ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for automated system testing in a complex software environment, comprising:obtaining one or more product code change sets for a product under test to run in the complex software environment, the one or more product code change sets comprising one or more code changes to one or more programs of the product under test;
collecting data during a test run of the product under test that involves multiple systems and resources, wherein the test run introduces the one or more product code change sets to the product under test, and wherein the collected data includes a product trace of the execution of the product under test at a product code level collected during the test run, the product trace indicating which programs are being invoked and what parameters the programs are being invoked with, and the collected data further includes system log data from the multiple systems and resources in which the test is run, and a test log of events and data relating to test execution;
storing last good collected data for the product under test, including a last good product trace;
based on the test run failing, comparing the test log and the system log data to identify an error test case;
obtaining a current product trace for the error test case;
based also on the test run failing, automatically determining whether the test run failing is likely related to the one or more product code change sets or to a test framework error, the automatically determining comprising:
comparing the current product trace for the error test case with the last good product trace;
determining a difference between the current product trace and the last good product trace and identifying a failing product program referenced in the current product trace;
determining whether a code change of the one or more product code changes is found for the failing product program, and if so, indicating that the error is likely to be in the code change set, and if not, indicating that the error is likely in the test framework; and
generating an appropriate defect prompt based, at least in part, on the automatically determining.

US Pat. No. 10,169,204

REAL-TIME USAGE CHECKING OF DYNAMICALLY GENERATED PROGRAM OUTPUT

International Business Ma...

1. A method comprising:receiving output dynamically generated by an executing program, with the output including an assembly of component parts generated and/or configured by the executing program as it runs;
usage checking the output for usage errors in real time via a debug build of the executing program, with the usage checking performed during run time of the executing program on every line of text as the line of text appears on a display to detect at least a first usage error; and
responsive to detection of the first usage error, providing notice of the error to a user, with the provision of notice including:
annotating the output substantially simultaneously with generation of the output by the executing program to provide a first annotation indicative of the first usage error, and
creating a record of the first usage error in a manner so that the usage record persists beyond termination of the executing program.

US Pat. No. 10,169,203

TEST SIMULATION FOR SOFTWARE DEFINED NETWORKING ENVIRONMENTS

1. A system comprising:a processor; and
a memory that stores computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising
receiving a service request comprising a request to instantiate a service,
creating a service order based on the service request, the service order comprising instructions to instantiate the service,
replicating the service order to obtain a replicated service order that comprises instructions to instantiate a replicated service in a test environment, the replicated service comprising a plurality of components,
testing, within the test environment and using a test simulator, paths and connections between the plurality of components of the replicated service,
testing, within the test environment and using the test simulator, device outage handling functionality of the replicated service,
testing, within the test environment and using the test simulator, network outage handling functionality of the replicated service, wherein testing the network outage handling functionality comprises
simulating a network outage using test scripts comprising extensible markup files, and
determining if network traffic is rerouted, by the replicated service, to a shortest available path in response to the replicated service detecting a simulated network outage,
if a determination that the network traffic is rerouted, by the replicated service, to the shortest available path, verifying the replicated service, and
initiating instantiation of the service requested by the service request.

US Pat. No. 10,169,202

CODE COMPONENT DEBUGGING IN AN APPLICATION PROGRAM

International Business Ma...

1. A computer-implemented method for debugging a set of code components of an application program, the method comprising:collecting, with respect to the application program, a set of defect data which indicates a set of defects, wherein the set of defect data is derived from a set of post-compilation users of the application program;
collecting, with respect to the application program, a set of test case data which indicates a set of user interface features of the application program, wherein the set of test case data is derived from a set of development tests of the application program;
determining, using both the set of defect data and the set of test case data, a set of fragility data for the set of code components of the application program; and
debugging, based on the set of fragility data for the set of code components of the application program, the set of code components of the application program.

US Pat. No. 10,169,201

DEBUG MANAGEMENT IN A DISTRIBUTED BATCH DATA PROCESSING ENVIRONMENT

International Business Ma...

1. A computer-implemented method for debug management in a distributed batch data processing environment which uses a shared pool of configurable computing resources, the method comprising:initiating, in the distributed batch data processing environment, a debug configuration to fire a breakpoint based on an achievement of a debug criterion;
detecting, in the distributed batch data processing environment, a data block;
analyzing, by a debug management engine, the data block with respect to the debug criterion;
determining, by the debug management engine, the achievement of the debug criterion by the data block;
firing, in response to determining the achievement of the debug criterion by the data block, the breakpoint based on the achievement of the debug criterion; and
firing the breakpoint with respect to a plurality of data block partitions.

US Pat. No. 10,169,199

AUTOMATIC MODEL-SPECIFIC DEBUGGER EXTENSIONS

Microsoft Technology Lice...

1. A method which may be used to help application developers and other software developers configure a debugger for debugging software that was written using a particular programming model, the method comprising the steps of:providing a debugger that is architected to be extended by a debugger extension which includes debugger viewing routines that are specific to the particular programming model, the debugger extension providing functionality for viewing state information of a debuggee program while using the debugger, the particular programming model being one of multiple programming models, including programming models applicable with multiple programming languages which are not necessarily the same programming languages for each of the programming models, the particular programming models being within at least one of the following categories: coroutine programming models, multicore programming models, parallel programming models, game development programming models, custom hardware programming models, GUI programming models, presentation programming models, event-driven programming models, messaging framework programming models, wide area network programming models, web application programming models, rich internet application programming models, handheld device programming models, cell phone programming models, database programming models, managed execution environment programming models, native code programming models, script programming models; and
configuring the debugger to recognize debugger environment trigger event, thereby allowing automatic loading of the debugger extension for use with the debugger in response to occurrence of the trigger event in the debugger's execution environment.

US Pat. No. 10,169,196

ENABLING BREAKPOINTS ON ENTIRE DATA STRUCTURES

Microsoft Technology Lice...

1. A computer system, comprising:one or more processors; and
one or more computer-readable media having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to set breakpoints on a plurality of memory addresses covered by a data structure, the computer-executable instructions including instructions that are executable to cause the computer system to perform at least the following:
receive a reference to a data structure for which breakpoints are requested;
based on receiving the reference to the data structure, identify a data structure layout of the data structure;
based on the data structure layout of the data structure, identify a plurality of memory addresses that are covered by the data structure; and
add the plurality of memory addresses to a list of breakpoints.

US Pat. No. 10,169,180

REPLICATING TEST CODE AND TEST DATA INTO A CACHE WITH NON-NATURALLY ALIGNED DATA BOUNDARIES

International Business Ma...

1. An apparatus for testing a computer processing device comprising:a test case generator that allows a user to create test cases with test code and test data;
a test case executor that replicates the test cases and loads the replicated test cases into a plurality of segments of consecutive memory locations of a level two cache on the computer processing device wherein the plurality of segments comprise a plurality of replicated test cases placed consecutively in memory, wherein the plurality of the segments fill a plurality of cache lines of the level two cache memory and where a beginning and ending of each and every one of the plurality of segments does not line up with a cache line boundary such that the segments are non-naturally aligned; and
wherein the computer processing device executes the test code on a first test case and causes the processor to load a same cache line to a level one instruction cache and a level one data cache on the processor to test the processor.

US Pat. No. 10,169,177

NON-DESTRUCTIVE ONLINE TESTING FOR SAFETY CRITICAL APPLICATIONS

XILINX, INC., San Jose, ...

1. An integrated circuit, comprising:boot critical circuitry configured to change a mode of the integrated circuit from a boot mode to a test mode;
first circuitry;
logic built-in self test (LBIST) circuitry configured to perform a test on the first circuitry in response to switching from the boot mode to the test mode, wherein the test is non-destructive to the boot critical circuitry such that a boot mode state of the integrated circuit is preserved when performing the test; and
output isolation circuitry coupled to an output of a first scan chain in the first circuitry, wherein the output isolation circuitry is configured to prevent output signals generated by the first scan chain from destroying the boot mode state during the test.

US Pat. No. 10,169,169

HIGHLY AVAILABLE TRANSACTION LOGS FOR STORING MULTI-TENANT DATA SETS ON SHARED HYBRID STORAGE POOLS

Cisco Technology, Inc., ...

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to store a transaction entry in a distributed storage system, wherein storage controller functions of the distributed storage system are separated from distributed storage system storage media, the distributed storage system storage media including a plurality of storage pools, the method comprising:receiving the transaction entry in a first storage pool of the plurality of storage pools of the distributed storage system, wherein the transaction entry is associated with storage controller functions of the distributed storage system that indicates an object is to be stored in at least one logical block address space of the distributed storage system storage media, the at least one logical block address space being defined over one or more storage containers of a plurality of storage containers associated with the plurality of storage pools;
looking up a transaction log to store the transaction entry, the transaction log is associated with a second storage pool of the plurality of storage pools, wherein the second storage pool is separate from the first storage pool, and wherein the transaction log is a log that is a history of actions executed by storage controller functions of the distributed storage system and includes one or more logical logs, wherein the logical log is a log defined over a logical block address space;
routing the transaction entry to the second storage pool, wherein the second storage pool stores the transaction entry in the transaction log; and
replicating the transaction log to another transaction log across a plurality of fault domains, wherein the plurality of fault domains comprises the plurality of storage pools and/or the plurality of storage containers; and
wherein a failure of a component for the transaction log associated with the second storage pool does not affect the another transaction log replicated across the plurality of fault domains.

US Pat. No. 10,169,166

REAL-TIME FAULT-TOLERANT ARCHITECTURE FOR LARGE-SCALE EVENT PROCESSING

BEIJING CHUANGXIN JOURNEY...

1. A system, comprising:one or more processor devices; and
a plurality of event nodes, each for receiving a respective portion of a plurality of event notifications; and
a plurality of log aggregation nodes configured to receive the plurality of event notifications from the plurality of even nodes, a first log aggregation node of the plurality of log aggregation nodes being configured to publish the plurality of event notifications to a log, the log storing the event notifications for a first period of time;
a backup node configured to record the plurality of event notifications from the log in a separate data store and to store the event notifications for a second period of time that is longer than the first period of time; and
a processing node configured to retrieve the plurality of event notifications from the log and to process the plurality of event notifications according to a ruleset,
wherein, upon a failure of the processing node during processing of the plurality of event notifications and subsequent restoration of functionality of the processing node:
the processing node is configured to resume processing of the event notifications by retrieving remaining ones of the plurality of event notifications from the log when the subsequent restoration of functionality of the processing node is prior to expiration of the first period of time; and
the processing node is configured to resume processing of the event notifications by retrieving remaining ones of the plurality of event notifications from the backup node when the subsequent restoration of functionality of the processing node is after expiration of the first period of time.

US Pat. No. 10,169,164

BACKUPS USING APPLICATION MAPS

EMC IP Holding Company LL...

1. A method for organizing information about one or more client computers connected to a network, wherein each client computer contains one or more data modules, the method comprising:sending, by a profiler executed by a processor, an information request to each client computer of the one or more client computers, the information request requesting a backup degree for each data module of the one or more data modules on the client computer, the backup degree describing at least an amount of data associated with a data module currently stored in the client computer that has been backed up to a backup node, wherein the backup node is separated from the client computer, wherein each data module describes one or more data files or data file locations;
receiving, by the profiler, an information message from each client computer of the one or more client computers, wherein each information message contains the backup degree for each data module of the one or more data modules on the client computer;
storing, by the profiler information contained in the information message in a profile information store, wherein the profile information store comprises a plurality of entries, each entry corresponding to one of a plurality of client computer identifiers, one or more data module identifiers associated with each client computer identifier, and a backup degree associated with each data module identifier;
generating a single graphical map by a mapper executed by the processor, wherein the single graphical map includes a first graphical representation of each of the one or more client computers, a second graphical representation of each of the one or more data modules on each client computer, and a third graphical representation of each data module's backup degree, wherein the third graphical representation of each data module's backup degree is graphically correlated to the second graphical representation of the data module that the backup degree describes, and wherein the third graphical representation of each data module's backup degree graphically indicates a proportional amount of data associated with the data module that has been backed up to the backup node, wherein the single graphical map also includes a fourth graphical representation of one of a total degree of backup or an average degree of backup of all of the data modules contained on all of the one or more client computers connected to the network; and
displaying the single graphical map on a display device.

US Pat. No. 10,169,162

CONVEYING VALUE OF IMPLEMENTING AN INTEGRATED DATA MANAGEMENT AND PROTECTION SYSTEM

Commvault Systems, Inc., ...

1. A computer-implementable method of providing data associated with implementing an integrated data management and protection system, the method comprising:maintaining value functions for quantifying value associated with implementing an integrated data management and protection system;
receiving user input regarding value associated with implementing the integrated data management and protection system,
wherein the value associated with implementing the integrated data management and protection system relates to at least two of cost reduction, risks, and obtaining value from data;
providing an interface to display a request for a user to submit, via the interface, information associated with data management and protection,
wherein the interface includes data entry fields for receiving information associated with data management and protection, and
wherein the information associated with data management and protection includes information related to at least three of—
complexity of an existing data management and protection system,
data protection reliability,
data recovery time, and
operational oversight for the existing data management and protection system;
receiving user-submitted information via the data entry fields of the interface;
identifying value functions for quantifying value associated with implementing the integrated data management and protection system;
applying the value functions to the received information,
wherein the value functions result in value data for the integrated data management and protection system when applied to the received user-submitted information, and
wherein the applying includes generating a single, combined index score that aggregates the value data obtained by applying the value functions to the user-submitted information; and,
generating a value dashboard that displays the value data for the integrated data management and protection system,
wherein the value data is indicative of value associated with implementing the integrated data management and protection system versus use of the existing data management and protection system.

US Pat. No. 10,169,161

HIGH SPEED BACKUP

EMC IP Holding Company LL...

1. A method of backing up data of a target volume to a virtual hard disk (VHD) format, comprising:receiving a hint data indicating a last known file system extent associated with a previously-processed data zone;
using the hint data to determine a starting file system extent at which to begin processing file system extent data of the target volume to find file system extents associated with a VHD data zone that is currently being processed; and
backing up the data of the target volume at least in part by using the hint data to skip over one or more file system extents found previously to be associated with one or more previously-processed VHD data zones.

US Pat. No. 10,169,160

DATABASE BATCH UPDATE METHOD, DATA REDO/UNDO LOG PRODUCING METHOD AND MEMORY STORAGE APPARATUS

Industrial Technology Res...

1. A database batch update method applicable to a data storage apparatus comprising a first memory, a second memory and a third memory, wherein the data batch update method comprises:sequentially receiving a plurality of data access commands, wherein the data access commands require to access data from the first memory, wherein the third memory is mirrored to the first memory before the data access commands are sequentially received;
determining that a first subset of the data access commands belong to a first type and a second subset of the data access commands belong to a second type, wherein the data access commands belonging to the first type comprises commands that update data without returning it in real-time, and wherein the data access commands belonging to the second type command comprises commands that return data in real-time without updating it;
storing the first subset of the data access commands in the second memory;
sequentially updating the first memory according to the data access commands stored in the second memory in an order of physical addresses of the first memory;
determining whether the data corresponding to the second subset of the data access commands needs to be updated by inspecting the data access commands stored in the second memory;
if it is determined that the data corresponding to the second subset of the data access commands needs to be updated, updating and returning the data corresponding to the second subset of the data access commands according to the data access commands stored in the second memory; and
if it is determined that the data corresponding to the second subset of the data access commands does not need to be updated, accessing and returning the data corresponding to the second subset of the data access commands from the third memory,
wherein an access rate of sequential physical addresses in the first memory is larger than an access rate of random physical addresses in the first memory, and
wherein an access rate of sequential physical addresses in the third memory is larger than an access rate of random physical addresses in the third memory.

US Pat. No. 10,169,159

AUTOMATED DATA RECOVERY FROM REMOTE DATA OBJECT REPLICAS

International Business Ma...

1. A method for recovering data objects in a distributed data storage system, the method comprising:storing one or more replicas of a first data object on one or more clusters in one or more data centers connected over a data communications network, wherein a first data center of the one or more data centers includes one or more clusters and each cluster of the one or more clusters includes a respective plurality of compute nodes and the each cluster further includes a respective database that stores metadata specifying list of candidate clusters from which the one or more replicas can be recovered;
recording health information metadata that is within the database about said one or more replicas, wherein the health information comprises data about availability of a replica to participate in a restoration process;
in response to determining that the first data object is to be recovered, calculating a query-priority for the first data object;
querying, based on the calculated query-priority, the health information metadata that is within the database for the one or more replicas to determine which of the one or more replicas is available for restoration of the first data object;
calculating a restoration-priority for the first data object based on the health information metadata that is within the database for the one or more replicas; and
restoring the first data object from the one or more of the available replicas, based on querying the list of candidate clusters and further based on the calculated restoration-priority, wherein the query-priority is calculated based on a priority function P(D)=Func(R(D),C(D),n), where:
D represents a data object with multiple replicas in multiple clusters;
R(D)i, i=1 . . . n, where “i” and “n” are natural numbers, with a remote replica indexed i of D out of n remote replicas;
C(D) represents cost of losing N replicas of D;
P(D) represents priority given by the system for the query operation of D; and
Func( ) represents some function.

US Pat. No. 10,169,158

APPARATUS, SYSTEM AND METHOD FOR DATA COLLECTION, IMPORT AND MODELING

International Business Ma...

1. A method for data analysis of a backup system, the method comprising:extracting predetermined configuration and state information from respective dump files of a plurality of different computer systems, the predetermined configuration and state information is in different native formats based on the respective dump file from which it was extracted;
translating the predetermined configuration and state information from a native format used by each of the plurality of different computer systems into a normalized format, wherein the translated configuration and state information comprises configuration and state information irrespective of which of the plurality of different computer systems from which it was generated; and
determining what components are in the backup system, how the backup system works, how data is stored in the backup system, how efficiently data is stored in the backup system, a total capacity of the backup system, a remaining capacity of the backup system, and an operating cost of the backup system by analyzing the normalized predetermined configuration and state information.

US Pat. No. 10,169,157

EFFICIENT STATE TRACKING FOR CLUSTERS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,156

AUTOMATIC RESTARTING OF CONTAINERS

International Business Ma...

1. A method for automatically restarting a container, comprising:reading, by a computing device, custom predefined policy information including one or more condition categories, each of which having a respective reference to a respective log file and defining at least one respective condition for restarting the container;
monitoring, by an agent included in a container engine executed by the computing device, one or more respective log files, each of which corresponding to the respective reference to the respective log file of a corresponding condition category of the one or more condition categories, to detect an occurrence of any one of the at least one condition defined by any one of the one or more condition categories of the custom predefined policy information;
detecting, by the agent, the occurrence of the any one of the at least one condition based on a presence of a string of characters, corresponding to the any one of the at least one condition, in a log file of a corresponding condition category of the any one of the at least one condition to which the custom predefined policy information refers, the string of characters being generated to the log file of the corresponding condition category on behalf of the container;
in response to the detecting of the occurrence of the any one of the at least one condition, saving, by the agent, a state of the container including a state of one or more applications within the container;
automatically restarting the container, by the agent, after detecting the occurrence and saving the state of the container; and
after the automatic restarting of the container, restoring, by the agent, the state of the container, including the state of the one or more applications, wherein the one or more applications continue executing from where the one or more applications left off, thereby improving performance of the computing device.

US Pat. No. 10,169,154

DATA STORAGE SYSTEM AND METHOD BY SHREDDING AND DESHREDDING

International Business Ma...

1. A method for encoding data for storage in a plurality of storage units by use of at least one processor comprising:dividing data into a set of separate pieces of data;
performing a redundancy function and a plurality of transformations on a separate piece of data of the set of separate pieces of data to generate a plurality of encoded data elements, wherein a threshold number of encoded data elements of the plurality of encoded data elements is needed to recover the separate piece of data, in which the threshold number of encoded data elements is less than all of the plurality of encoded data elements, wherein the plurality of transformations includes first transformations performed before performing the redundancy function and second transformations performed after performing the redundancy function;
generating metadata regarding the plurality of encoded data elements, wherein the metadata includes identification for each encoded data element and sequencing information regarding an order in which the redundancy function and the plurality of transformations were performed;
sending the plurality of encoded data elements to the plurality of storage units; and
sending the metadata to one of the storage units of the plurality of storage units or to another storage unit separately from sending the plurality of encoded data elements to the plurality of storage units.

US Pat. No. 10,169,153

REALLOCATION IN A DISPERSED STORAGE NETWORK (DSN)

INTERNATIONAL BUSINESS MA...

1. A computing device comprising:an interface configured to interface and communicate with a dispersed storage network (DSN);
memory that stores operational instructions; and
a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:
within a dispersed or distributed storage network (DSN) that includes a plurality of storage units (SUs) that distributedly store a set of encoded data slices (EDSs) associated with a data object, during a transition from a first system configuration of a Decentralized, or Distributed, Agreement Protocol (DAP) to a second system configuration of the DAP, direct at least one SU of the plurality of SUs to service a data access request based on at least one EDS of the set of EDSs based on a DAP transition mapping between the first system configuration of the DAP to the second system configuration of the DAP, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce the set of EDSs.

US Pat. No. 10,169,152

RESILIENT DATA STORAGE AND RETRIEVAL

International Business Ma...

1. A computer-implemented method for data recovery following loss of a volume manager, the method comprising:determining that the volume manager, and an associated volume manager index, for a distributed storage have been lost;
installing, in response to determining that the volume manager has been lost, a new volume manager, the new volume manager lacking an associated volume manager index;
receiving location information and credentials to access the distributed storage;
receiving a command to recover data from the distributed storage, the data to be recovered comprising one or more data files, each data file stored as two or more data portions, each data portion comprising metadata, the metadata comprising a file ID tag;
attempting to retrieve each data portion from the distributed storage;
retrieving a first data portion and recording a first location in the distributed storage that the first data portion was retrieved from;
reading the first file ID tag attached to the first data portion; and
constructing, in response to determining that the associated volume manager index has been lost, a new volume manager index by storing the first file ID tag and the first location associated with the first data portion in the distributed storage in the new volume manager index such that the new volume manager index provides a reference, to the new volume manager, for the first location and the first file ID tag, the reference associated with the first data portion.

US Pat. No. 10,169,151

UTILIZING REQUEST DEADLINES IN A DISPERSED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method for execution by a dispersed storage and task (DST) processing unit that includes a processor, the method comprises:generating a first plurality of access requests that include a first execution deadline time, the first plurality of access requests for transmission via a network to a corresponding first subset of a plurality of storage units;
receiving a first deadline error notification via the network from a first storage unit of the first subset;
calculating a missed deadline cost value in response to receiving the first deadline error notification;
comparing the missed deadline cost value to a new request cost threshold;
selecting a new one of the plurality of storage units not included in the first subset in response to receiving the first deadline error notification;
generating a new access request for transmission to the new one of the plurality of storage units via the network that includes an updated execution deadline time, wherein the new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset, wherein the new one of the plurality of storage units is selected and the new access request is generated for transmission to the new one of the of the plurality of storage units when the missed deadline cost value compares favorably to the new request cost threshold; and
generating a proceed with execution notification for transmission via the network to the first storage unit of the first subset indicating a request to continue executing the access request when the missed deadline cost value compares unfavorably to the new request cost threshold.

US Pat. No. 10,169,149

STANDARD AND NON-STANDARD DISPERSED STORAGE NETWORK DATA ACCESS

International Business Ma...

1. A method comprises:determining, by a computing device of a dispersed storage network (DSN), whether to utilize a non-standard DSN data accessing protocol or a standard DSN data accessing protocol to access data from the DSN, wherein the data is dispersed storage error encoded into one or more sets of encoded data slices and wherein the one or more sets of encoded data slices are stored in a set of storage units of the DSN;
when the computing device determines to use the non-standard DSN data accessing protocol:
generating, by the computing device, a set of non-standard data access requests regarding the data, wherein a non-standard data access request of the set of non-standard data access requests includes a network identifier of a storage unit of the set of storage units, a data identifier corresponding to the data, and a data access function;
sending, by the computing device, the set of non-standard data access requests to at least some storage units of the set of storage units, which includes the storage unit;
converting, by the storage unit, the non-standard data access request into one or more DSN slice names;
determining, by the storage unit, that the one or more DSN slice names are within a slice name range allocated to the storage unit; and
when the one or more DSN slice names are within the slice name range, executing, by the storage unit, the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.

US Pat. No. 10,169,148

APPORTIONING STORAGE UNITS AMONGST STORAGE SITES IN A DISPERSED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method of apportioning storage units in a dispersed storage network (DSN), the method comprising:generating storage unit apportioning data indicating a mapping of a plurality of desired numbers of storage units, represented as a plurality of numerical values in accordance with the plurality of desired numbers, to a plurality of storage sites based on site reliability data, wherein the mapping includes a first desired number of storage units corresponding to a first one of the plurality of storage sites that is greater than a second desired number of storage units corresponding to a second one of the plurality of storage sites in response to the site reliability data indicating that a first reliability score corresponding to the first one of the plurality of storage sites is more favorable than a second reliability score corresponding to the second one of the plurality of storage sites; and
allocating a plurality of storage units to the plurality of storage sites based on the storage unit apportioning data, wherein each of the plurality of storage units includes at least one processor and at least one memory device.

US Pat. No. 10,169,147

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

International Business Ma...

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

US Pat. No. 10,169,146

REPRODUCING DATA FROM OBFUSCATED DATA RETRIEVED FROM A DISPERSED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method for execution by a computing device in a dispersed storage network (DSN), the method comprises:first encoding first data into a first plurality of sets of encoded data slices, wherein the first encoding is in accordance with a first dispersed error encoding function such that, for a set of encoded data slices of the first plurality of sets of encoded data slices, a first decode threshold number of encoded data slices is required to recover a corresponding first data segment of the first data;
second encoding second data into a second plurality of sets of encoded data slices, wherein the second encoding is in accordance with a second dispersed error encoding function such that, for a set of encoded data slices of the second plurality of sets of encoded data slices, a second decode threshold number of encoded data slices is required to recover a corresponding second data segment of the first data, wherein the second data segment is different from the first data segment;
creating a plurality of mixed sets of encoded data slices from the first and second plurality of sets of encoded data slices in accordance with a mixing pattern; and
outputting the plurality of sets of mixed encoded data slices to storage units of the DSN for storage therein.

US Pat. No. 10,169,145

READ BUFFER ARCHITECTURE SUPPORTING INTEGRATED XOR-RECONSTRUCTED AND READ-RETRY FOR NON-VOLATILE RANDOM ACCESS MEMORY (NVRAM) SYSTEMS

INTERNATIONAL BUSINESS MA...

1. A system, comprising:a read buffer memory configured to store data to support integrated XOR reconstructed data and read-retry data, the read buffer memory comprising a plurality of read buffers, each read buffer being configured to store at least one data unit; and
a processor and logic integrated with and/or executable by the processor, the logic being configured to cause the processor to:
receive one or more data units and read command parameters used to read the one or more data units from at least one non-volatile random access memory (NVRAM) device;
determine an error status for each of the one or more data units, wherein the error status indicates whether each data unit comprises errored data or error-free data; and
store error-free data units and the read command parameters used to read the error-free data units to a read buffer of the read buffer memory.

US Pat. No. 10,169,129

DISPERSED B-TREE DIRECTORY TREES

INTERNATIONAL BUSINESS MA...

1. A computing device comprising:an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);
memory that stores operational instructions; and
processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:
obtain, via the DSN and via the interface, directory metrics associated with a directory structure that is associated with a directory file that is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded directory slices that are stored in at least one DSN memory at least one DSN address corresponding to a source name of the directory file;
determine whether to reconfigure the directory structure based on the directory metrics; and
based on a determination to reconfigure the directory structure based on the directory metrics:
determine a number of layers for a reconfigured directory structure;
determine a number of spans per layer of the number of layers for the reconfigured directory structure;
determine directory entry reassignments; and
reconfigure the directory structure based on the number of layers, the spans per layer, and the directory entry reassignments to generate the reconfigured directory structure including at least one of to create one or more children directory files, facilitate movement within the DSN of one or more directory entries from a parent directory file to the one or more children directory files, or to add pointers associated with the one or more children directory files to the parent directory file.

US Pat. No. 10,169,126

MEMORY MODULE, MEMORY CONTROLLER AND SYSTEMS RESPONSIVE TO MEMORY CHIP READ FAIL INFORMATION AND RELATED METHODS OF OPERATION

SAMSUNG ELECTRONICS CO., ...

1. A memory module comprising:first to Mth memory chips (where M is an integer that is equal to or greater than 2) mounted on a module board and storing data; and
an (M+1)th memory chip mounted on the module board and storing a parity code associated with multi-chip data having data portions stored by respective ones of the first to Mth memory chips, the parity code containing information to correct at least one bit error resulting from a read operation of a data portion stored by a failed one of the first to Mth memory chips,
wherein each of the first to (M+1)th memory chips comprises an on-chip error correction circuit to detect a bit error within the corresponding stored data portion of the multi-chip data and to provide a corresponding fail bit to indicate a result of the detection of a bit error, and
wherein the memory module comprises a circuit connected to receive the fail bits from the first to (M+1)th memory chips and to output fail information as a result of a calculation performed on the fail bits.

US Pat. No. 10,169,124

UNIFIED OBJECT INTERFACE FOR MEMORY AND STORAGE SYSTEM

SAMSUNG ELECTRONICS CO., ...

1. A memory management device, comprising:a memory;
a data structure stored in the memory, the data structure including:
an identifier of an object, wherein the identifier of the object is a hash; and
a tuple including an identifier of a physical device and a location on the physical device; and
a second data structure, the second data structure including:
a second identifier of the object; and
the hash,
wherein the object is stored on one of a plurality of physical devices including at least one volatile storage device and at least one non-volatile storage device,
wherein the second data structure maps the second identifier of the object to the hash and the data structure maps the hash to the tuple to access the object
wherein data for the object may be accessed on behalf of an application or an operating system using the second identifier of the object, and
wherein the memory management device uses the second identifier of the object, the data structure, and the second data structure to determine the identifier of the physical device and the location on the physical device in the tuple.

US Pat. No. 10,169,110

NAVIGATION APPLICATION PROGRAMMING INTERFACE

Google LLC, Mountain Vie...

1. A non-transitory computer-readable medium storing instructions that implement an application programming interface for providing a navigation service as part of a software application executed on a computing device, the computing device having one or more processors and a display device, the application programming interface comprising:a first set of instructions specifying one or more first parameters to control the implementation of a navigation service by the software application, the navigation service providing navigation information to a user of the software application, the first set of instructions implemented as a class;
a second set of instructions specifying logic to control interaction with a routing engine based at least in part on the one or more first parameters specified in the first set of instructions;
wherein the first set of instructions specify one or more configurable event listener interfaces, the configurable event listener interfaces operable to obtain data associated with one or more navigation events to update the navigation information provided as part of the navigation service, the one or more configurable event listener interfaces each comprising one or more parameters specifiable by a developer as part of the first set of instructions implemented as a class;
wherein the one or more configurable event listener interfaces are configured to obtain data associated with the one or more navigation events in response to one or more navigation events specified by the one or more parameters specifiable by the developer; and
wherein the one or more configurable event listener interfaces comprise a route changed listener interface operable to be called when a route provided as part of the navigation service changes;
wherein the one or more configurable event listener interfaces comprise an arrival listener interface operable to be called when a user has arrived at a specified waypoint.

US Pat. No. 10,169,090

FACILITATING TIERED SERVICE MODEL-BASED FAIR ALLOCATION OF RESOURCES FOR APPLICATION SERVERS IN MULTI-TENANT ENVIRONMENTS

salesforce.com, inc., Sa...

1. A method comprising:collecting, by a resource-management server computing device of a database system, data relating to job types associated with multiple tenants within a multi-tenant environment;
based on the data, computing an actual resource usages and expected resource allocations of the job types and actual resource usages and expected resource allocations of the tenants;
assigning the job types to service tiers based on the actual resource usages and the expected resource allocations associated with the job types, wherein each job type is at least one of a high-tiered job type or a low-tiered job type;
assigning the tenants to the service tiers based on the actual resource usages and the expected resource allocations associated with the tenants, wherein each tenant is classified as a high-tiered tenant type or a low-tiered tenant type; and
real-time reassigning and executing of the job types to one or more of the service tiers while ensuring that resources are distributed between the job types and the tenants such that actual resource usage does not exceed expected resource allocation for each job type and each tenant.

US Pat. No. 10,169,084

DEEP LEARNING VIA DYNAMIC ROOT SOLVERS

International Business Ma...

1. A computer implemented method comprising:identifying, by a host computer processor, graphic processor units (GPUs) that are available (available GPUs);
identifying, by the host computer processor, GPUs that are idle (initially idle GPUs) among the available GPUs for an initial iteration of deep learning;
choosing, by the host computer processor, one of the initially idle GPUs as an initial root solver GPU for the initial iteration;
initializing, by the host computer processor, weight data for an initial set of multidimensional data;
transmitting, by the host computer processor, the initial set of multidimensional data to the available GPUs;
forming, by the host computer processor, an initial set of GPUs into an initial binary tree architecture, wherein the initial set comprises the initially idle GPUs and the initial root solver GPU, wherein the initial root solver GPU is the root of the initial binary tree architecture;
calculating, by the initial set of GPUs, initial gradients and a set of initial adjusted weight data with respect to the weight data and the initial set of multidimensional data via the initial binary tree architecture;
in response to the calculating the initial gradients and the initial adjusted weight data, identifying, by the host computer processor, a first GPU among the available GPUs to become idle (first currently idle GPU) for a current iteration of deep learning;
choosing, by the host computer processor, the first currently idle GPU as a current root solver GPU for the current iteration;
transmitting, by the host computer processor, a current set of multidimensional data to the current root solver GPU;
in response to the identifying the first currently idle GPU, identifying, by the host computer processor, additional GPUs that are currently idle (additional currently idle GPUs) among the available GPUs;
transmitting, by the host computer processor, the current set of multidimensional data to the additional currently idle GPUs;
forming, by the host computer processor, a current set of GPUs into a current binary tree architecture, wherein the current set comprises the additional currently idle GPUs and the current root solver GPU, wherein the current root solver GPU is the root of the current binary tree architecture;
calculating, by the current set of GPUs, current gradients and a set of current adjusted weight data with respect to at least the weight data and the current set of multidimensional data via the current binary tree architecture;
in response to the initial root solver GPU receiving a set of calculated initial adjusted weight data, transmitting, by the initial root solver GPU, an initial update to the weight data to the available GPUs;
in response to the current root solver GPU receiving a set of current initial adjusted weight data, transmitting, by the current root solver GPU, a current update to the weight data to the available GPUs; and
repeating the identifying, the choosing, the transmitting, the forming, and the calculating with respect to the weight data, updates to the weight data, and subsequent sets of multidimensional data.

US Pat. No. 10,169,064

AUTOMATIC NETWORK CONFIGURATION OF A PRE-CONFIGURED HYPER-CONVERGED COMPUTING DEVICE

VMware, Inc., San Jose, ...

1. A computer-implemented method for automatic network configuration of a pre-configured hyper-converged computing device, comprising:requesting network configuration information from another pre-configured hyper-converged computing device already configured on a network, said another pre-configured hyper-converged computing device includes pretested, pre-configured and pre-integrated storage, server and network components, including software, that are located in an enclosure;
said another pre-configured hyper-converged computing device further including a hypervisor that supports a virtualization infrastructure, wherein said pre-configured hyper-converged computing device is offered for sale as a single stock keeping unit (SKU), said pre-configured hyper-converged computing device not required to include any additional hardware or software to support and manage said virtualization infrastructure, wherein upon powering on said pre-configured hyper-converged computing device for a first time, only a single end-user license agreement (EULA), pertaining to said hypervisor and said pre-configured and pre-integrated storage, is displayed to an end-user;
receiving said network configuration information from said another pre-configured hyper-converged computing device; and
automatically performing network configuration by said pre-configured hyper-converged computing device such that said pre-configured hyper-converged computing device is automatically configured to said network, said pre-configured hyper-converged computing device includes pretested, pre-configured and pre-integrated storage, server and network components, including software, that are located in an enclosure; said pre-configured hyper-converged computing device further including a hypervisor that supports a virtualization infrastructure.

US Pat. No. 10,169,042

MEMORY DEVICE THAT PERFORMS INTERNAL COPY OPERATION

Samsung Electronics Co., ...

1. A memory device comprising:a memory cell array including at least one bank that includes at least one block, each of the at least one block having a plurality of memory cell rows having memory cells therein; and
processing circuitry configured to,
receive, from an external source, an internal copy command along with a source address and a destination address associated therewith, the source address indicating a source bank of the at least one bank and a source block of the at least one block within the source bank, and the destination address indicating a destination bank of the at least one bank and a destination block of the at least one block within the destination bank,
compare one or more of (i) the source bank and the destination bank and (ii) the source block and the destination block,
generate one or more of a bank comparison signal and a block comparison signal based on a result of comparing the one or more of (i) the source bank with the destination bank and (ii) the source block with the destination block, the bank comparison signal indicating whether the source bank and the destination bank are a same bank or different banks, and the block comparison signal indicating whether the source block and the destination block are a same block or different blocks,
select a selected internal copy operation from among an internal block copy operation, an inter-bank copy operation or an internal bank copy operation based on the one or more of the bank comparison signal and the block comparison signal,
perform the selected internal copy operation on the memory cell array from the memory cells associated with the source address to the memory cells associated with the destination address, and
output a copy-done signal indicating that the selected internal copy operation is complete, if the selected internal copy operation is complete.

US Pat. No. 10,169,040

SYSTEM AND METHOD FOR SAMPLE RATE CONVERSION

Ceva D.S.P. Ltd., Herzli...

1. A method for performing sample rate conversion by an execution unit, the method comprising:receiving an instruction, wherein the instruction comprises an irregular shifting pattern of data elements stored in a vector register; and
shifting the data elements in the vector register according to the irregular shifting pattern,
wherein the sample rate conversion comprises downsampling, and wherein the irregular shifting pattern is provided by an indication stating whether a memory element in the input vector register loads a data element from an immediate next memory element, or whether the memory element loads a data element previously stored in a shadow vector register and the data element stored in the immediate next memory element is loaded into the shadow vector register.

US Pat. No. 10,169,038

COMPARE AND DELAY INSTRUCTIONS

INTERNATIONAL BUSINESS MA...

1. A method of executing a machine instruction in a multi-threaded computing environment, said method comprising: obtaining, by a thread of the multi-threaded computing environment, a compare and delay instruction for execution, the compare and delay instruction being defined for computer execution according to a computer architecture, the compare and delay instruction comprising: an operation code to specify a compare and delay operation; one or more first fields to be used to obtain a first operand; and one or more second fields to be used to obtain a second operand; and executing the compare and delay instruction on the thread of the multi-threaded computing environment, the executing the compare and delay instruction comprising: comparing the first operand and the second operand obtained using fields of the compare and delay instruction to obtain a comparison result, the second operand accessible by the thread and another thread of the multi-threaded computing environment; determining whether a mask indicator corresponding to the comparison result is set to a defined value; and based on determining that the mask indicator corresponding to the comparison result is set to the defined value, delaying completion of the compare and delay instruction that is executing until occurrence of a predefined event, wherein the delaying comprises repeating the comparing and the determining whether the mask indicator corresponding to the comparison result is set to the defined value, and wherein the delaying delays execution on the thread allowing progress to be made on the other thread to provide synchronization between the thread and the other thread.

US Pat. No. 10,169,023

VIRTUAL CONTAINER DEPLOYMENT

International Business Ma...

1. A computer-implemented method of virtual container deployment, the computer-implemented method comprising:retrieving runtime information of a plurality of virtual environments and containers installed in a computing system, each virtual environment selected from a virtual machine and a virtual appliance, the runtime information including information of a plurality of read-only layers in the plurality of virtual environments and containers, wherein each read-only layer of the plurality of read-only layers has a respective weight value assigned thereto;
retrieving at least one deployment policy specifying to select at least one read-only layer having the highest or lowest accumulative weight value among the plurality of read-only layers for installation of a first container in the computing system;
determining, by operation of one or more computer processors and based on the runtime information and the at least one deployment policy, a first virtual environment of the plurality of virtual environments, to host the first container and that includes one or more read-only layers selected based on the at least one deployment policy; and
installing the first container in the first virtual environment, including adding a writable layer on top of the one or more read-only layers selected based on the at least one deployment policy.

US Pat. No. 10,168,998

AUTOMATED INTERFACE DESIGN

Google LLC, Mountain Vie...

1. A method, comprising:receiving a plurality of functions and relationship information describing how the plurality of functions relate to each other in order to automatically generate a user interface;
generating a tree of design actions based on the plurality of functions and relationship information, each intermediary node of the tree representing a partial user interface design, and each branch of the tree representing a design action that creates or modifies the partial user interface design;
determining, automatically without user intervention, a plurality of candidate user interface designs, each implementing the received plurality of functions, by automatically traversing the tree along multiple traversal paths from a root node of the tree to respective leaf nodes of the tree and executing respective design actions represented by branches along the traversal paths;
selecting, automatically without user intervention, a selected candidate interface design from the plurality of candidate interface designs; and
generating the user interface based on the selected candidate user interface design.

US Pat. No. 10,168,986

ATHLETIC PERFORMANCE SENSING AND/OR TRACKING SYSTEMS AND METHODS

NIKE, Inc., Beaverton, O...

1. A method comprising:providing, at a processor associated with a user device, playback of first motivational content to a first user as the first user is performing a first activity;
comparing, at the processor, a performance of the first user in performing the first activity with past performances of the first user;
determining, at the processor, that the first user is approaching a personal best in the performance of the first activity based on the comparing;
identifying, at the processor, second motivational content with a higher beat than the first motivational content;
providing, at the processor, playback of the second motivational content to the first user; and
responsive to receiving a user selection, providing a performance display to the user device showing a first performance metric of the first user specific to playback of the first motivational content.

US Pat. No. 10,168,983

SERVER APPARATUS, CONTENT DISPLAY CONTROL SYSTEM, AND RECORDING MEDIUM

FUJITSU LIMITED, Kawasak...

1. A server apparatus for providing authentication information to associate a client terminal with a plurality of display apparatuses capable of displaying a content distributed from the client terminal, the server apparatus comprising:a storage configured to store a plurality of sets of authentication pattern information associated with information relating to operations of the client terminal; and
an issuing unit configured to issue a set of authentication pattern information from among the plurality of sets of authentication pattern information stored in the storage to a display apparatus on which an operation has been performed by a user, among the plurality of display apparatuses, the set of authentication pattern information being issued to the display apparatus in response to a request from the display apparatus for authentication pattern information, the issuing unit being further configured to disable issuing the set of authentication pattern information issued to the display apparatus to a further display apparatus in a period from issuing the set of authentication pattern information to receiving return of the set of authentication pattern information from the display apparatus.

US Pat. No. 10,168,976

DYNAMIC DISPLAY ARRANGEMENT

International Business Ma...

1. An apparatus comprising:an interface module that:
receives first information comprising information from an information handling device worn or held by a user, wherein the information comprises a position of the user, a location of the user, or some combination thereof;
receives second information comprising context information corresponding to first and second displays of a plurality of displays, wherein the context information comprises a rule for arranging the plurality of displays based on a position of the user, a location of the user, or some combination thereof, the rule for arranging the plurality of displays comprises a rule for a software arrangement of the plurality of displays used to match a physical arrangement of the plurality of displays, the software arrangement comprises a horizontal arrangement, a vertical arrangement, or a scattered arrangement, the physical arrangement comprises the horizontal arrangement, the vertical arrangement, or the scattered arrangement, and the physical arrangement of the plurality of displays corresponds to the position of the user, the location of the user, or some combination thereof;
an arrangement determination module that determines a software arrangement of the plurality of displays based on the first and second information; and
a settings module that changes software settings of the plurality of displays to set the software settings to the horizontal arrangement, the vertical arrangement, or the scattered arrangement based on the determined software arrangement in response to a change in the position of the user, the location of the user, or some combination thereof;
wherein at least a portion of the interface module, the arrangement module, and the settings module comprises one or more of hardware and executable code, the executable code being stored on one or more computer readable storage media.

US Pat. No. 10,168,974

CONTINUOUS GLUCOSE MONITOR COMMUNICATION WITH MULTIPLE DISPLAY DEVICES

DexCom, Inc., San Diego,...

1. A method for connecting a transmitter of a continuous glucose monitoring system with a plurality of display devices, comprising: generating analyte values by a continuous analyte sensor coupled to the transmitter of the continuous glucose monitoring system, wherein the glucose monitoring system is a transdermal system; advertising, by the transmitter, at a defined communication interval to indicate presence of the transmitter to one or more display devices; receiving, in response to the advertising, requests from a first display device and a second display device to connect with the transmitter; determining to authorize connections with the first display device and the second display device, wherein the determination includes verifying identification of the first display device and the second display device authenticating to pair the first display device and the second display device when the connections are authorized, wherein the authentication includes exchanging one or more keys; storing bonding information associated with the authentication process in memory; periodically establishing one or more data communication channels during one or more time intervals to allow transmission of the analyte values from the transmitter of the continuous glucose monitoring system; and changing the one or more keys at least during one of the time intervals.

US Pat. No. 10,168,960

REDUCING PAGE INVALIDATION BROADCASTS IN VIRTUAL STORAGE MANAGEMENT

INTERNATIONAL BUSINESS MA...

1. A system comprising:a memory;
a plurality of processors; and
a storage manager configured to, in response to receiving a request to deallocate a memory buffer, initiating an invalidation of a virtual memory page corresponding to the memory buffer, the invalidation comprising a broadcast to each of the processors to remove an association between the virtual memory page and a corresponding physical memory location, wherein the storage manager is configured to delay the invalidation in response to a size of the memory buffer being smaller than a predetermined buffer threshold.

US Pat. No. 10,168,958

INFORMATION PROCESSING SYSTEM, METHOD IN INFORMATION PROCESSING SYSTEM, AND STORAGE MEDIUM

Canon Kabushiki Kaisha, ...

1. An information processing system that performs data communication between a host and a device in conformity with a SATA standard, whereinthe host transmits a setup command to which information on an undefined command is written to the device, and
the device:
has a command table for commands in conformity with the SATA standard, in which a command code to identify each command and information on a transfer protocol of each command are described; and
makes the undefined command available between the host and the device by writing information on the undefined command to the command table in accordance with the received setup command.

US Pat. No. 10,168,954

SYSTEM AND METHOD OF INTERFACING CO-PROCESSORS AND INPUT/OUTPUT DEVICES VIA A MAIN MEMORY SYSTEM

Rambus Inc., Sunnyvale, ...

1. A co-processing or input/output (CPIO) module with a load-reduction dual in-line memory module (LRDIMM) interface, the CPIO module comprising:a CPIO device;
a variable timing control circuit; and
a load-reduction dual in-line memory module (LRDIMM) interface configured to interface with a memory bus, the LRDIMM interface comprising data buffers to bridge data between the variable timing control circuit and the memory bus,
wherein the variable timing control circuit is operatively coupled between the LRDIMM interface and the GPIO device, and is configured to provide variable timing control to signaling between the variable timing control circuit and the LRDIMM interface.

US Pat. No. 10,168,947

VIRTUAL FILE SYSTEM WITH VNODE RECONSTRUCTION CAPABILITY

VMware, Inc., Palo Alto,...

1. A method of performing virtual file system operations comprising:receiving a file system request from an application process;
processing a vnode operation in response to the file system request, the vnode operation including a vnode descriptor to access a vnode for the vnode operation, the vnode being a representation of a file system object and corresponding to a particular inode, wherein the vnode has a one-to-one relationship with the particular inode;
searching for the vnode in a vnode cache using the vnode descriptor, the vnode including an address of the particular inode and metadata of the file system object; and
reconstructing the vnode using the vnode descriptor if the vnode is not found in the vnode cache, including searching another cache using the vnode descriptor to find information regarding the vnode to reconstruct the vnode if the another cache exists, and then searching for the information regarding the vnode from a physical storage system if the information regarding the vnode is not found in the another cache.

US Pat. No. 10,168,945

STORAGE APPARATUS AND STORAGE SYSTEM

HITACHI, LTD., Tokyo (JP...

1. A storage apparatus, comprising:a controller coupled to a host computer and an external storage apparatus; and
a plurality of storage devices coupled to the controller, the controller being configured to:
allocate, on the basis of respective performances of the plurality of storage devices, the plurality of storage devices to a plurality of tiers;
create a plurality of logical pages from the plurality of tiers;
create a plurality of external logical pages from a volume provided by the external storage apparatus;
create a virtual volume to be provided to the host computer, create a plurality of virtual pages from the virtual volume;
allocate the logical pages to the virtual pages in response to a write request from the host computer;
continuously measure an I/O frequency for the logical page, and changes a logical page allocated to the virtual page among the plurality of tiers on the basis of the I/O frequency;
select, from among logical pages corresponding to a specified tier of the plurality of tiers, a plurality of migration source logical pages satisfying a predetermined migration condition;
determine whether or not a total size of the plurality of migration source logical pages is equal to or larger than a predetermined size threshold; and
select, when it is determined that the total size is equal to or larger than the size threshold, a plurality of migration destination external logical pages unallocated to the virtual volume from among the plurality of external logical pages, transmit a write instruction for writing data stored in the plurality of migration source logical pages into the plurality of migration destination external logical pages to the external storage apparatus, specify a plurality of specified virtual pages that are a plurality of virtual pages to which the plurality of migration source logical pages are respectively allocated, and respectively allocate the plurality of migration destination external logical pages to the plurality of specified virtual pages;
wherein the controller is configured to determine, when a request for writing write data in a first virtual page is received from the host computer, whether or not any one of the plurality of external logical pages is allocated to the first virtual page, and select, when it is determined that any one of the plurality of external logical pages is allocated to the first virtual page, a first external logical page allocated to the first virtual page from among the plurality of external logical pages, transmit a first read instruction for reading data stored in the first external logical page to the external storage apparatus, receive first data stored in the first external logical page from the external storage apparatus, update the received first data with the write data, select a first logical page unallocated to the virtual volume from among a plurality of logical pages in the specified tier, write the updated first data into the first logical page, and allocate the first logical page to the first virtual page.

US Pat. No. 10,168,944

INFORMATION PROCESSING APPARATUS AND METHOD EXECUTED BY AN INFORMATION PROCESSING APPARATUS

FUJITSU LIMITED, Kawasak...

1. An information processing apparatus configured to control moving of data stored in a first storage region selected from a plurality of storage regions of a first storage device to a second storage device, the apparatus comprising:a memory; and
a processor coupled to the memory and configured to:
obtain logs of accesses to the plurality of storage regions respectively,
specify, from the plurality of storage regions based on the logs of the accesses, an access concentration region in which a number of the accesses per a certain time unit is equal to or greater than a first number,
specify, based on the logs of the accesses, a transition speed of the access concentration region when the access concentration region is transited between the plurality of storage regions,
specify, based on the logs of the accesses, a first time period in which the number of the accesses to a certain storage region of a plurality of storage regions changes from a second number less than the first number to the first number,
predict, based on the transition speed and the first time period, that the number of accesses to the first storage region becomes equal to or greater than the first number at a first time, and
move data stored in the first storage region to the second storage device at a certain time which is determined based on the first time.

US Pat. No. 10,168,942

AUTOMATICALLY REMOVING DEPENDENCY ON SLOW DISKS IN A DISTRIBUTED STORAGE SYSTEM

VMware, Inc., Palo Alto,...

1. A computer-implemented method, comprising:determining that a disk in a distributed storage system has been designated as failing; and in response to determining the disk has been designated as failing,
determining a first storage object has a first component stored on the failing disk, wherein the first component belongs to a set of one or more components that make up the first storage object,
determining whether the first storage object will be accessible upon loss of the first component on the failing disk based on whether sufficient copies of the first component are stored on other disks of the distributed storage system to maintain accessibility of the first storage object, and
in response to determining that the first storage object will no longer be accessible upon loss of the first component on the failing disk, migrating the first component from the failing disk to one or more other disks in the distributed storage system.

US Pat. No. 10,168,934

METHOD AND DEVICE FOR MONITORING DATA INTEGRITY IN SHARED MEMORY ENVIRONMENT

Samsung Electronics Co., ...

1. A method of memory access for a memory controller in an integrity monitoring system sharing memory with a host system, the method comprising:receiving, from at least one of a local processor of the integrity monitoring system and a system processor of the host system, a memory access command;
accessing a system memory of the host system based on the memory access command; and
receiving, from the system memory of the host system, data corresponding to the memory access command,
wherein the system memory of the host system includes a secure area, access to which is allowed if the memory access command initiated at the local processor is received, and
wherein, if an access request corresponding to an address of the secure area is received via a system bus, the access request is identified as an unauthorized access and information for the unauthorized access identified by the local processor is transmitted to the system processor.

US Pat. No. 10,168,933

MAINTENANCE OPERATIONS IN A DRAM

RAMBUS INC., Sunnyvale, ...

1. A method of operation in a memory controller that controls the operation of a memory device, the memory device including a command interface and a plurality of memory banks, the method comprising:the memory controller transmitting a refresh command to the command interface of the memory device, wherein the refresh command specifies a refresh operation, the refresh operation to occur during a time interval;
along with the refresh command, the memory controller transmitting a plurality of bits to identify at least one bank as a first bank of the plurality of banks to be refreshed in a sequence in response to the refresh command; and
the memory controller transmitting an operation code to the memory device, the operation code specifying a calibration operation of the command interface, wherein the memory device is to perform the calibration operation of the command interface during at least a portion of the time interval.

US Pat. No. 10,168,919

SYSTEM AND DATA MANAGEMENT METHOD

Hitachi, Ltd., Tokyo (JP...

1. A system comprising a plurality of storage devices and at least one processor configured to provide virtual volumes,wherein each of a plurality of data sets for the virtual volumes consists of a first predetermined number of data elements including a plurality of data and redundant data of the plurality of data,
wherein the at least one processor is configured to:
manage a plurality of virtual parity groups, each of the plurality of virtual parity groups is set a plurality of combinations of a corresponding first predetermined number of storage devices for storing the plurality of data sets, each data set consisting of the first predetermined number of data elements, respectively, where the plurality of combinations of the corresponding first predetermined number of storage devices for each of the plurality of virtual parity groups are different, and where the first predetermined number of storage devices is fewer than a number of the plurality of storage devices,
assign a different virtual parity group to each of at least two virtual volumes of the virtual volumes, and
dispersively store the first predetermined number of data elements of each of the plurality of data sets in the plurality of storage devices,
wherein data sets for each of the at least two virtual volumes are stored in the plurality of combinations of the first predetermined number of storage devices set in a respectively assigned virtual parity group.

US Pat. No. 10,168,892

DEVICE FOR HANDLING TOUCH INPUT AND METHOD THEREOF

Samsung Electronics Co., ...

1. An electronic device, comprising:a touchscreen display including a flat area and a curved area adjacent to the flat area;
a memory configured to store instructions; and
at least one processor configured to execute the stored instructions to:
control the touchscreen display to display an object on the flat area;
sense a touch input selecting the object via the touchscreen display;
sense a movement of the touch input toward the curved area;
maintain the selection of the object during the movement of the touch input;
sense a hovering of the touch input above a pre-defined area including the curved area and a portion of the flat area; and
maintain the selection of the object during the hovering of the touch input,
wherein the portion of the flat area is an area adjacent to the curved area.

US Pat. No. 10,168,888

INFORMATION PROCESSING DEVICE AND TOUCH OPERATION DETECTION METHOD

Sony Corporation, Tokyo ...

1. An information processing device comprising:circuitry configured to:
calculate a movement amount of a touch operation based on a touch point at which the touch operation is performed with respect to a touch panel and a touch release point at which the touch operation is released from the touch panel;
determine whether the touch operation is a single tap operation or a gesture operation based on the calculated movement amount;
generate a command corresponding to the single tap operation or the gesture operation, wherein the command corresponding to the gesture operation is a command to switch a displayed page;
control a display to switch from displaying a second page to displaying a first page in response to a recognition of the gesture operation, wherein the first page includes information identifying a point of interest (POI) and information identifying a geographical location of the POI, and the second page includes detailed information corresponding to the POI that is not included in the first page and a button selectable by a single tap operation to switch from displaying the second page to displaying the first page, wherein the first page includes graphical information not included in the second page, and wherein each of the first page and the second page separately includes a map button selectable to switch to displaying an image corresponding to a map, the image corresponding to the map being distinct from either the information included in the first page or the information included in the second page;
control the display, when the map button on the first page is actuated, to stop displaying the map button and to display the image corresponding to the map by replacing the first page with the image corresponding to the map; and
control the display, when the map button on the second page is actuated, to stop displaying the map button and to display the image corresponding to the map by replacing the second page with the image corresponding to the map.

US Pat. No. 10,168,879

INTERACTIVE IMAGE RECOLORING

Snap Inc., Santa Monica,...

1. A system comprising:a processor;
a user interface coupled to the processor and including a display;
a communication module coupled to the processor; and
memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to perform operations comprising:
causing presentation of an image on a client device;
receiving user input including a single stroke drawn on the image;
expanding the single stroke drawn on the image to generate an expanded stroke mask;
refining the expanded stroke mask to determine a precise boundary that defines a region of interest in the image;
recolorizing the region of interest on the image, the recolorizing including replacing an original color of the region of interest with an alternative color, the recolorizing of the region of interest resulting in a recolorized image; and
causing presentation of the recolorized image on the client device.

US Pat. No. 10,168,869

SYSTEM AND METHOD FOR RETRIEVING INFORMATION WHILE COMMANDING OPERATION OF AN APPLIANCE

Universal Electronics Inc...

1. A method for causing media content to be presented on an appliance using a remote control device having a display and configured to communicate with the appliance, comprising:causing the remote control device to display in the display of the remote control device a user interface element representative of a media content provider; and
in direct response to a sensed interaction with the user interface element displayed in the display of the remote control device by the remote control device, causing the remote control device to transmit both a first command to cause the appliance to perform an operation to thereby provide access via the appliance to media content available from the media content provider and a second command to cause a retrieval of information from a network address that is predetermined within the remote control device prior to the sensed interaction with the user interface element; and
causing the remote control to display the information retrieved from the network address in the display of the controlling device.

US Pat. No. 10,168,868

METHOD AND APPARATUS FOR MULTITASKING

Samsung Electronics Co., ...

1. A method for multitasking in an electronic device, the method comprising:after displaying a first application execution screen of a first application as a top layer screen on a display unit, the first application execution screen including a plurality of objects, receiving a first touch input at a first edge region of the display unit;
in response to the first touch input, displaying a first layer separation object while maintaining display of all of the plurality of objects and a respective shape for each of the plurality of objects, the first layer separation object including one or more lines extending along a vertical length of the display unit,
wherein each of the one or more lines corresponds to an executing application other than the first application, and
wherein after detecting the first touch input and prior to detecting any movement from the first touch input, the first application execution screen is shifted and the first layer separation object is displayed within a screen area from which the first application execution screen is shifted; and
in response to detecting a drag movement beginning from the first touch input, simultaneously displaying a portion of a second application execution screen of a second application and a portion of the first application execution screen,
wherein the simultaneously displaying comprises:
gradually increasing a display portion of the second application execution screen and gradually decreasing a display portion of the first application execution screen when a direction of the drag movement is toward a second edge region opposite to the first edge region, and
gradually increasing a display portion of the first application execution screen and gradually decreasing a display portion of the second application execution screen when a direction of the drag movement is toward the first edge region.

US Pat. No. 10,168,865

DISPLAY APPARATUS FOR GENERATING SYMBOL AND METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. A method for executing a function of an icon by inputting a symbol, comprising:displaying a plurality of icons corresponding to a plurality of functions on a display;
analyzing, by a controller, an image corresponding to an icon of the plurality of icons to extract an outline of a graphic object included in the image and at least one letter of a text included in the image;
generating at least two symbols for the icon based on the analyzed image on the display comprising the extracted at least one letter of the text included in the image and the extracted outline of the graphic object included in the image;
in response to a symbol of the at least two generated symbols being selected by a user, matching the selected symbol to a function represented by the icon; and
in response to a user input which draws an image of the selected symbol using a user interface, executing the function.

US Pat. No. 10,168,860

DYNAMICALLY MODIFIABLE USER INTERFERENCE

Square, Inc., San Franci...

1. A mobile point-of-sale (POS) computing device for dynamically managing the presentation of menu items within a restaurant environment comprising:one or more processors;
one or more non-transitory computer-readable media storing instructions executable by the one or more processors, wherein the instructions program the one or more processors to perform acts comprising:
identifying a plurality of selectable icons capable of display on a user interface of the mobile POS computing device, the mobile POS computing device being associated with a merchant and the plurality of selectable icons representing the menu items for purchase;
determining a first context associated with the mobile POS computing device, wherein the first context comprises one or more first contextual factors corresponding to a use of the mobile POS computing device and item transaction history associated with the merchant, the one or more first contextual factors including a first location of the mobile POS computing device within a physical store associated with the merchant;
presenting a set of selectable icons of the plurality of selectable icons on the user interface of the mobile POS computing device based at least in part on the first context and the item transaction history of the merchant;
determining the mobile POS computing device is located at a second location within the physical store based at least in part on input from a location component of the mobile POS computing device, wherein the location component comprises at least one of a global positioning system (GPS) receiver, a camera system, a beacon sensor, a light detection and ranging system (LIDAR) sensor, or a radio detection and ranging system (RADAR) sensor;
based at least in part on determining that the mobile POS computing device is located at the second location, determining a second context associated with the mobile POS computing device, wherein the second context comprises one or more second contextual factors corresponding to a change in use of the mobile POS computing device;
determining a modified set of selectable icons by dynamically modifying the set of selectable icons based on the second context; and
presenting the modified set of selectable icons on the user interface of the mobile POS computing device.

US Pat. No. 10,168,846

TOUCH DISPLAY PANEL, MANUFACTURING METHOD, DISPLAY DEVICE AND TOUCH SUBSTRATE

BOE Technology Group Co.,...

1. A touch display panel, comprising:a display region and
a non-display region surrounding the display region, wherein
the display region comprises a base substrate and a touch function layer arranged on the base substrate;
the non-display region comprises the base substrate, and a white light-shielding layer and a reflection enhancing layer which are sequentially arranged on the base substrate, and the reflection enhancing layer is configured for increasing reflectivity of the touch display panel with respect to incident rays; and
the touch function layer, the white light-shielding layer and the reflection enhancing layer are located on a same side of the base substrate.

US Pat. No. 10,168,842

CONDUCTIVE SUBSTRATE, CONDUCTIVE SUBSTRATE LAMINATE, METHOD FOR PRODUCING CONDUCTIVE SUBSTRATE, AND METHOD FOR PRODUCING CONDUCTIVE SUBSTRATE LAMINATE

SUMITOMO METAL MINING CO....

1. A conductive substrate, comprising:a transparent base material;
an adhesion layer; wherein the adhesive layer comprises an Ni—Cu alloy and oxygen, and a first surface of the adhesion layer formed on at least one of surfaces of the transparent base material;
a metal layer; wherein a first surface of the metal layer formed on a second surface of the adhesion layer;
a blackened layer formed on a second surface of the metal layer by a wet method.

US Pat. No. 10,168,824

ELECTRONIC DEVICE AND CONTROL METHOD FOR THE ELECTRONIC DEVICE

LG ELECTRONICS INC., Seo...

1. An electronic device provided in a vehicle, the electronic device comprising:a touch screen;
a first camera configured to capture an image of a driver of the vehicle; and
a controller configured to:
restrict a touch input to at least a portion of the touch screen in response to the vehicle being driven and an eyeline of the driver included in the image being out of a preset driving range for more than a first predetermined time,
restrict the touch input to all of the touch screen in response to the eyeline of the driver being out of the preset driving range for more than a second predetermined time greater than the first predetermined time, and
turn off the touch screen in response to the eyeline of the driver being out of the preset range for more than a third predetermined time greater than the second predetermined time.

US Pat. No. 10,168,820

ARRAY SUBSTRATE, DISPLAY PANEL, TOUCH DISPLAY DEVICE AND DRIVING METHOD FOR THE SAME

SHANGHAI TIANMA MICRO-ELE...

1. An array substrate comprising:a plurality of pixel groups arranged in an array of rows and columns, wherein each of the plurality of pixel groups comprises:
a first main pixel unit and a second main pixel unit arranged along a direction of a column, wherein the first main pixel unit and the second main pixel unit each comprises four sub-pixel units arranged in a first row and a second row, wherein the four sub-pixel units comprise a first sub-pixel unit and a second sub-pixel unit disposed in the first row and a third sub-pixel unit and a fourth sub-pixel unit disposed in the second row;
three scan lines arranged row-wise, wherein the three scan lines comprise a first scan line disposed between the first sub-pixel unit and the third sub-pixel unit of the first main pixel unit, a second scan line disposed between the first main pixel unit and the second main pixel unit, and a third scan line disposed between the first sub-pixel unit and the third sub-pixel unit of the second main pixel unit; and
three data lines arranged column-wise, wherein each of the three data lines intersects one of the three scan lines, wherein the three data lines comprise a first data line disposed at a left side of the first main pixel unit, a second data line disposed between the first sub-pixel unit and the second sub-pixel unit of the first main pixel unit, and a third data line disposed at a right side of the first main pixel unit;
wherein within each of the plurality of pixel groups, the number of scanning lines is less than the number of rows of sub-pixel units by 25%, and the ratio of the number of rows of sub-pixels units to the number of scan lines is 4:3;
wherein the first sub-pixel unit, the second sub-pixel unit and the third sub-pixel unit of the first main pixel unit are electrically connected to the first scan line;
wherein-the fourth sub-pixel unit of the first main pixel unit is electrically connected to the second scan line; wherein the second sub-pixel unit of the second main pixel unit are electrically connected to the second scan line;
wherein the first sub-pixel unit, the third sub-pixel unit and the fourth sub-pixel unit of the second main pixel unit are electrically connected to the third scan line;
wherein the first sub-pixel unit of the first main pixel unit is electrically connected to the first data line, the second sub-pixel unit of the first main pixel unit is electrically connected to the second data line, the third sub-pixel unit and the fourth sub-pixel unit of the first main pixel unit each are electrically connected to the second data line; and
wherein the first sub-pixel unit of the second main pixel unit is electrically connected to the second data line, the second sub-pixel unit of the second main pixel unit is electrically connected to the third data line, the third sub-pixel unit of the second main pixel unit is electrically connected to the first data line, and the fourth sub-pixel unit of the second main pixel unit is electrically connected to the second data line.

US Pat. No. 10,168,800

SYNCHRONIZATION OF TEXT DATA AMONG A PLURALITY OF DEVICES

Samsung Electronics Co., ...

1. An electronic device comprising:a memory configured to store a first language model for providing an input word prediction function;
a communication module configured to communicate with a server;
an input interface configured to obtain a sentence input; and
a processor configured to:
update the first language model based on the sentence input, and
synchronize an updated portion of the first language model with a second language model of another electronic device by causing the communication module to transmit information on the sentence input to the server, wherein a type of the second language model is different from a type of the first language model,
wherein the transmitted information includes type information of the first language model,
wherein the information on the sentence input is provided to the other electronic device, and
wherein the information on the sentence input is used by the other electronic device to update the second language model.

US Pat. No. 10,168,797

TERMINAL APPARATUS, AUDIO SYSTEM, AND METHOD FOR CONTROLLING SOUND VOLUME OF EXTERNAL SPEAKER THEREOF

SAMSUNG ELECTRONICS CO., ...

1. A sound volume outputting system comprising:a plurality of speaker apparatuses; and
a user terminal apparatus having a screen and configured to:
display information of a first speaker apparatus and information of a second speaker apparatus,
display a first selection user interface (UI) element for receiving a selection of the first speaker apparatus, and a second selection UI element for receiving a selection of the second speaker apparatus,
display a first volume adjusting UI element for adjusting sound volume of the first speaker apparatus and a second volume adjusting UI element for adjusting sound volume of the second speaker apparatus,
in response to a volume adjusting input being received through the first volume adjusting UI element while the first selection UI element is not selected, transmit a sound volume adjusting command to the first speaker to adjust the sound volume of only the first speaker apparatus, and
in response to a volume adjusting input being received through the first volume adjusting UI element while the first selection UI element and the second selection UI element are selected, transmit a sound volume adjusting command to the first speaker apparatus and the second speaker apparatus to simultaneously adjust the sound volume of the first speaker apparatus and the sound volume of the second speaker apparatus.

US Pat. No. 10,168,792

METHOD AND WEARABLE DEVICE FOR PROVIDING A VIRTUAL INPUT INTERFACE

SAMSUNG ELECTRONICS CO., ...

1. A glass type wearable device comprising:an image sensor;
a display; and
a controller configured to:
control the image sensor to capture one or more images to sense a gesture of a user drawing a line on a physical object by using an input tool;
determine a user input region based on the line drawn by using the input tool;
identify a type of the physical object via an image process; and
control the display to provide a virtual input interface based on the user input region and the type of the physical object.

US Pat. No. 10,168,788

AUGMENTED REALITY USER INTERFACE

GetGo, Inc., Boston, MA ...

1. A method of controlling a computing device using an AR (Augmented Reality) headset, the method comprising:pairing the AR headset with the computing device to establish a communication pathway between the AR headset and the computing device;
detecting, by the AR headset, gestures of a user of the AR headset; and
transmitting UI (User Interface) metadata derived from the gestures to the computing device over the communication pathway, such that the computing device is enabled to map the UI metadata to user operations to be performed on the computing device in response to the gestures,
wherein the method further comprises projecting, onto a transparent display of the AR headset, a set of holographic images, each of the set of holographic images projected to appear to the user in in three dimensional space when viewed through the transparent display,
wherein the set of holographic images includes a set of UI control holograms for operating the computing device, and wherein transmitting the UI metadata is performed, for at least some of the UI metadata, in response to the user interacting with the set of UI control holograms using gestures, and
wherein the method further comprises:
while detecting a gaze of the user directed toward one of the UI control holograms, also detecting, by the AR headset, another concurrent gesture performed by the user;
mapping, by the AR headset, the gaze and the other concurrent gesture to corresponding UI metadata; and
sending, by the AR headset, the corresponding UI metadata to the computing device, the corresponding UI metadata indicating a UI command to the software program.

US Pat. No. 10,168,783

METHOD OF DESIGNING A PANEL ASSEMBLY FOR A VIBRATORY PANEL DEVICE

NVF Tech Ltd, London (GB...

1. A method comprising:sensing, by N+M transducers of a device comprising a panel which supports vibrations and the N+M transducers connected to the panel, a user input on the panel;
receiving, by signal processing circuitry electrically connected to and configured to receive signals from or provide signals to each of the N+M transducers, N+M input signals generated from respective ones of the N+M transducers in response to the user input on the panel; and
processing, by the signal processing circuitry, the N+M input signals to produce N output signals corresponding to input signals from the N transducers of the N+M transducers,
wherein the input signals from the M transducers of the N+M transducers are used to correct the input signals from the N transducers for one or more phenomena affecting all of the N+M transducers other than the user input, and
wherein, N and M are integers greater than or equal to one.

US Pat. No. 10,168,780

INPUT DEVICE, DISPLAY DEVICE, AND METHOD FOR CONTROLLING INPUT DEVICE

FUJITSU TEN LIMITED, Kob...

1. An input device, comprising:a vibration unit that includes a piezoelectric element, the vibration unit vibrating an operation surface; and
a processor programmed to:
detect touch positions on the operation surface;
when the touch positions move in a first direction, cause the vibration unit to vibrate in a first mode associated with a first movement amount of the touch positions in the first direction;
when the touch positions move in a second direction, cause the vibration unit to vibrate in a second mode associated with a second movement amount of the touch positions in the second direction; and
when the touch positions move in a third direction located between the first and second directions and obtained by composing the first and second directions, cause the vibration unit to vibrate in a third mode associated with a third movement amount, the third movement amount being obtained by composing first and second movement amounts corresponding to first and second direction components constituting the third direction.

US Pat. No. 10,168,775

WEARABLE MOTION SENSING COMPUTING INTERFACE

1. An apparatus, comprising:a sensor configured to detect movement and generate first movement data related to at least part of a detected movement in at least one spatial plane and second movement data related to at least part of a detected movement that is indicative of a tapping motion;
a messaging unit configured to create a message that is configured to include movement information based at least in part upon one of the first movement data and the second movement data;
a transmitter in data communication with the messaging unit and configured to transmit the message;
a touch sensor area configured to send, based at least in part on detection of a touch, an activation signal to the messaging unit; and
a housing configured to at least partially enclose at least one of the sensor, the messaging unit, and the transmitter, and including a finger grip configured to secure the housing to a human finger.

US Pat. No. 10,168,772

HEAD MOUNTED ELECTRONIC DEVICE

Samsung Electronics Co., ...

1. An electronic device operatively coupled to an external device mountable on a head of a user, the electronic device comprising:a display;
a sensor configured to capture an image;
a processor; and
a memory, which includes instructions, which, when executed, cause the processor to:
provide a first guide screen that guides the user to gaze at a front of the display;
capture an image, in which at least a portion of an eye of the user is included, using the sensor; and
based on a location of the eye or a pupil of the user displayed in the captured image that deviates from a specified area, display a second guide screen that guides the user to shift the external device in a correct direction.

US Pat. No. 10,168,757

METHOD AND APPARATUS FOR ADAPTIVELY MANAGING POWER

Samsung Electronics Co., ...

1. An electronic device comprising:a first interface for communicating with a first external electronic device functionally connected to the electronic device;
a second interface for receiving power supplied by a second external electronic device; and
a processor configured to:
receive power from the first external electronic device electrically connected to the electronic device through the first interface;
determine whether the second external electronic device is electrically connected to the electronic device through the second interface;
generate state information if the second external electronic device is connected to the electronic device;
transmit the state information to the first external electronic device through the first interface;
receive power from the second external electronic device through the second interface when the power reception from the first external electronic device is stopped in response to the transmission of the state information; and
supply at least a part of the power to the first external electronic device through the first interface.

US Pat. No. 10,168,753

POWER DELIVERY OPTIMIZATION BASED ON SYSTEM CAPABILITY

LENOVO ENTERPRISE SOLUTIO...

1. An apparatus comprising:a configuration module that determines a configuration of an electronic device, wherein determining the configuration comprises determining which components are installed and information about the installed components, the electronic device comprising a voltage regulator device (“VRD”) providing power to one or more of the components;
an environment module that measures one or more environmental variables relating to an operating environment of the electronic device;
a firmware selection module that selects new firmware for the VRD of the electronic device in response to the determined configuration and measured environmental variables; and
a firmware update module that replaces previously installed firmware on the VRD with the new firmware, wherein the new firmware comprises control settings for the VRD.

US Pat. No. 10,168,751

METHOD OF EXECUTING AN APPLICATION ON A DISTRIBUTED COMPUTER SYSTEM, A RESOURCE MANAGER AND A DISTRIBUTED COMPUTER SYSTEM

FUJITSU LIMITED, Kawasak...

12. A Resource Manager for managing a plurality of computers in a high-performance computer system, the computers being coupled together to execute a single monolithic application, each of the computers being allocated a respective portion of the application including code sections comprising executable code and corresponding to different application states including a compute-intensive state, a data transfer state, and a wait state for coordination with other computers, and each of the computers operable in one of a plurality of power configurations, the Resource Manager comprising:a communications module for exchanging messages with a Resource Manager Proxy in each computer of the high-performance computer system;
a state monitor responsive to notifications from Resource Manager Proxies to determine changes of application states in the computers and assess an overall state of the application, the notifications generated by the Resource Manager Proxies from annotations in the code sections of the portion of the application allocated to the computer, the annotations added as mark up for reporting purposes to the executable code and indicative of the application state; and
a power configurer responsive to an assessment by the state monitor to determine a power configuration for an individual computer of the high-performance computer system;
wherein the communications module being arranged to inform the power configuration to the Resource Manager Proxy of the computer.

US Pat. No. 10,168,747

SERVER

INVENTEC (PUDONG) TECHNOL...

1. A server, comprising:a tray removably disposed on a server cabinet;
a handle structure, two ends of the handle structure respectively slidably pivoted to two inner walls of the tray;
a first hard disk assembly movably disposed in the tray;
a second hard disk assembly disposed in the tray, the first hard disk assembly and the second hard disk assembly being placed side by side; and
a processing module being disposed in the tray, the second hard disk assembly and the processing module are respectively located at a front side and a rear side of the first hard disk assembly, the second hard disk assembly being side by side with the front side of the first hard disk assembly, and the processing module being side by side with the rear side of the first hard disk assembly,
wherein two sides of the first hard disk assembly, which are opposite to each other, are pivoted to the handle structure,
wherein when the handle structure is pivoted and slide relative to the tray, the first hard disk assembly is pivotable between a stored position and an inclined position by being driven by the handle structure,
wherein when the first hard disk assembly is in the stored position, the first hard disk assembly is laid on the tray and a first opening at the front side of the first hard disk assembly is covered by the second hard disk assembly, and
wherein when the first hard disk assembly is pivoted from the stored position to the inclined position, the rear side of the first hard disk assembly presses against the tray, and the front side of the first hard disk assembly is relatively away from the tray in order to leave the first opening at the front side exposed.

US Pat. No. 10,168,742

METHODS, SYSTEMS AND APPARATUS TO MANAGE A SPATIALLY DYNAMIC DISPLAY

Intel Corporation, Santa...

1. An electronic device, comprising:a housing;
a rollable display screen carried by the housing;
a length marker carried by the rollable display screen, the length marker one of a plurality of length markers carried by the rollable display screen, the length markers located at equally-spaced positions along the rollable display screen;
a sensor to sense a length of at least one of a rolled or an unrolled portion of the rollable display screen based on the length marker;
a memory including executable instructions; and
processor circuitry to execute the instructions to:
display first content on the unrolled portion of the rollable display screen;
display, on the unrolled portion of the rollable display screen, a symbol indicative of second content available for display; and
display the second content on the unrolled portion of the rollable display screen in response to selection of the symbol.

US Pat. No. 10,168,741

APPARATUS AND METHOD FOR DISPLAYING SCREEN

Samsung Electronics Co., ...

1. A method of displaying a screen, the method comprising:displaying at least a portion of a content on a flexible display unit;
detecting a user input for displaying another portion of the content;
determining whether an edge portion of the content is displayed in response to the detecting of the user input; and
bending the flexible display unit by activating a driving unit coupled to the flexible display unit in response to displaying the edge portion of the content.

US Pat. No. 10,168,736

COUPLING MEMBER AND ELECTRONIC DEVICE INCLUDING THE SAME

Samsung Electronics Co., ...

1. A wearable electronic device comprising:a housing that includes a first face that faces in a first direction, a second face that faces in a second direction that is opposite to the first direction, and a side face that at least partially encloses a space between the first face and the second face;
a display that is exposed through the first face of the housing; and
a coupling member that is mounted to be attachable to/detachable from a portion that faces in a third direction in the side face of the housing, and is configured to detachably couple the electronic device to a user's body portion,
wherein a portion of the housing includes:
a first recess that is formed on a portion of the side face of the housing in a fourth direction that is opposite to the third direction;
a first protrusion that protrudes in the third direction from another portion of the side face of the housing; and
a second recess that extends on at least a portion of the first protrusion to face in the first direction,
wherein the coupling member includes:
a first portion that is configured to be in contact with the user's body portion when the electronic device is coupled to the user's body portion;
a second portion that is arranged to be movable in the third direction between the first portion and the portion of the housing when the coupling member is mounted on the portion of the housing, and includes a second protrusion that protrudes in the fourth direction; and
a third portion that is disposed between the second portion and the portion of the housing and includes at least one opening, and
wherein, when the coupling member is mounted on the portion of the housing, the second protrusion protrudes to the outside of the third portion through the opening to be at least partially accommodated in the first recess, and the third portion is at least partially accommodated in the second recess.

US Pat. No. 10,168,735

ELECTRONIC DEVICE

PANASONIC INTELLECTUAL PR...

1. An electronic device comprising:a display member;
a glass plate that has an area larger than that of a front face of the display member, the glass plate covering the overall front face of the display member;
a frame that has a first holding portion holding a portion of the glass plate corresponding to a circumference of the display member; and
an outer covering member surrounding a side portion of the glass plate, wherein:
the outer covering member has a second holding portion that is inserted between the glass plate and the frame and holds a portion of the glass plate not held by the frame;
the first holding portion includes a plurality of first ribs that extend in parallel to a main face of the glass plate;
the second holding portion includes a plurality of second ribs extending in parallel to the main face of the glass plate;
the first ribs and the second ribs are formed such that ends thereof overlap each other in a direction perpendicular to the main face of the glass plate; and
the first ribs and the second ribs are formed such that an overlap portion in which one of the first ribs overlaps at a glass plate side position and an overlap portion in which one of the second ribs overlaps at the glass plate side position are alternately disposed in a direction along an edge of the glass plate.

US Pat. No. 10,168,717

REMOVABLE BALANCED REGULATOR

EMERSON PROCESS MANAGEMEN...

1. A removable balanced plug assembly for a balanced tap regulator, the removable balanced plug assembly comprising:a valve stem that is adapted to be movable within a valve housing, the valve stem including a stem balanced fluid passage having a stem fluid inlet at a first passage end and a stem fluid outlet at a second passage end, and an externally extending stem flange between a first stem end and a second stem end;
a disk that is adapted to cooperate with a valve seat, the disk being removably attached to the valve stem, and the disk including a disk balanced fluid passage, the disk balanced fluid passage having a disk fluid inlet at a first disk end and a disk fluid outlet at a second disk end, the disk balanced fluid passage being fluidly connected with the stem balanced fluid passage; and
a stem guide adapted to be removably attached to the valve housing, the stem guide including an inwardly extending guide flange at a first stem guide end and an externally extending guide flange at a second stem guide end, the stem guide slidably retaining the valve stem;
wherein the inwardly extending guide flange cooperates with the externally extending stem flange to form a balance chamber, the externally extending stem flange and the inwardly extending guide flange defining longitudinal limits of the balance chamber, and the stem balanced fluid passage being fluidly connected to the balance chamber at the stem fluid outlet and to the disk balanced fluid passage at the stem fluid inlet.

US Pat. No. 10,168,705

AUTOMATIC TUNING OF AUTONOMOUS VEHICLE COST FUNCTIONS BASED ON HUMAN DRIVING DATA

Uber Technologies, Inc., ...

1. A computer-implemented method to automatically tune cost function gains of an autonomous vehicle motion planning system, the method comprising:partitioning, by a central computing device, a training dataset into a plurality of partitions, wherein each of the plurality of partitions comprises data descriptive of one or more humanly-executed motion plans that were executed by one or more human drivers during one or more previous humanly-controlled vehicle driving sessions, wherein the partitioning, by the central computing device, the training dataset into the plurality of partitions comprises:
defining, by the central computing device, a quantity of the partitions and a number of examples to be included in each partition;
generating, by the central computing device, an integer array that has a same length as a total number of training examples included in the training dataset so that each training example corresponds to a respective element in the integer array, and wherein, for each of the plurality of partitions, an index of the partition is repeated within the integer array as many times as the number of training examples that are to be included in the partition;
randomly shuffling, by the central computing device, the integer array; and after the randomly shuffling the integer array, assigning, by the central computing device, each training example to the partition indicated by the index included in the element of the integer array that corresponds to the training example;
launching, by the central computing device, a plurality of computing nodes;
performing, by each of the plurality of computing nodes, the following operations on the respective data descriptive of the one or more humanly-executed motion plans included in a respective one of the plurality of partitions to generate a respective local set of gains;
obtaining data descriptive of one of the humanly-executed motion plans that was executed by one of the one or more human drivers during one of the one or more previous humanly-controlled vehicle driving session;
generating an autonomous motion plan based at least in part on a data log that includes data collected during the previous humanly-controlled vehicle driving session, wherein generating the autonomous motion plan comprises evaluating one or more cost functions, the one or more cost functions including a plurality of gain values;
evaluating an objective function that provides an objective value based at least in part on a difference between a first total cost associated with the humanly-executed motion plan and a second total cost associated with the autonomous motion plan, wherein evaluating the objective function comprises:
inputting the humanly-executed motion plan into the one or more cost functions of the autonomous vehicle motion planning system to determine the first total cost associated with the humanly-executed motion plan;
inputting the autonomous motion plan into the one or more cost functions of the autonomous vehicle motion planning system to determine the second total cost associated with the autonomous motion plan;
determining at least one adjustment to at least one of the plurality of gain values of the one or more cost functions that reduces the objective value provided by the objective function;
aggregating, by the central computing device, local sets of gains generated by the plurality of computing nodes to generate a final set of gains;
using, by a vehicle computing system, the final set of gains to generate an additional autonomous motion plan for an autonomous vehicle; and
controlling, by the vehicle computing system, the autonomous vehicle to execute the additional autonomous motion plan.

US Pat. No. 10,168,693

SYSTEMS AND METHODS OF USE FOR COMMODITIES ANALYSIS, COLLECTION, RESOURCE-ALLOCATION, AND TRACKING

Bext Holdings, Inc., Eve...

16. A method of transacting a sale for a batch of commodity particles using an analysis, collection, and storage machine comprising a weather-proof shell that contains an analysis system having a vibratory assembly and one or more imaging assemblies communicatively coupled with an analysis processor, a collection system having a weigh hopper suspended above a weigh scale of a weigh scale lift assembly, and a storage system adjacent to the collection system, the method comprising:receiving, within a material hopper of the analysis system, the batch of the commodity particles;
feeding the batch of the commodity particles from the material hopper to the vibratory assembly;
applying, via the vibratory assembly, a repetitive vibrational force to each of the commodity particles;
recording, via the one or more of the imaging assemblies, a volume of each of the commodity particles and a response of each of the commodity particles to the repetitive vibrational force;
determining, by the analysis processor and based on the volume and the response to the repetitive vibrational force of each of the commodity particles, a number of analysis attributes associated with each of the commodity particles;
determining, by the analysis processor and based on the number of the analysis attributes associated with each of the commodity particles, whether each of the commodity particles is an acceptable particle or a defective particle;
gravitationally passing, via a good product chute, each of the acceptable particles to the weigh hopper of the collection system;
raising the weigh scale lift assembly until the weigh hopper is isolated on the weigh scale;
determining, using the weigh scale, a total weight of the acceptable particles; and
gravitationally passing, via a material collection chute, the acceptable particles to the storage system.

US Pat. No. 10,168,690

METHODS AND SYSTEMS FOR MULTIROBOTIC MANAGEMENT

X Development LLC, Mount...

1. A method comprising:receiving, by a command robot, sensory data captured by a first client robot, wherein the command robot is in communication with the first client robot and a second client robot, wherein the first client robot has a first sensing capability and the second client robot has a second sensing capability that is different than the first sensing capability, wherein the sensory data is captured by way of the first sensing capability of the first client robot, wherein the first client robot has a first functionality and the second client robot has a second functionality that is different than the first functionality, wherein the sensory data is relevant to the second functionality of the second client robot;
providing, by the command robot, at least a portion of the sensory data captured by the first client robot as a first input to the second client robot, wherein the portion of the sensory data is relevant to the second functionality of the second client robot;
receiving feedback from the second client robot based on the first input; and
commanding, by the command robot, the second client robot to perform a task by way of the second functionality based on the feedback and the portion of the sensory data captured by the first client robot.

US Pat. No. 10,168,682

SYSTEM AND METHOD FOR MANAGING LOAD-MODIFYING DEMAND RESPONSE OF ENERGY CONSUMPTION

Wellhead Power Solutions,...

1. A method for managing demand response (DR), comprising:obtaining, by a processor of a computing device, a local schedule of one or more states for energy consumption on distribution circuits within a selected region served by a distribution operator, the local schedule associating respective time periods with the one or more states including a load state, an unload state, or a combination thereof;
obtaining, by the processor, location information associated with a consumer device, wherein the location information is based on information generated by a locational tracking device integrated onboard the consumer device;
determining, by the processor, that the consumer device is located in the selected region based on the location information;
sending, by the processor, a reward incentive plan generated for the consumer device based on the local schedule;
instructing, by the processor, the consumer device to consume energy during the time period corresponding to the load state and not to consume energy during the time period corresponding to the unload state based on the local schedule;
determining, by the processor, energy consumption of the consumer device during the load state or the unload state based on energy consumption activity data received from the consumer device;
assigning, by the processor, a reward to the consumer device based on the reward incentive plan and the determined energy consumption activity data of the consumer device; and
modifying, by the processor, account information associated with the consumer device in response to assigning the reward to the consumer device.

US Pat. No. 10,168,674

SYSTEM AND METHOD FOR OPERATOR CONTROL OF HETEROGENEOUS UNMANNED SYSTEM TEAMS

1. A method, comprising:assigning an objective to one or more unmanned vehicles by a user;
estimating a cost to perform the objective by one or more agents;
determining control instructions to be executed by one or more unmanned vehicles that minimizes a total cost of the objective;
transmitting the control instructions to be executed by the one or more unmanned vehicles to the one or more unmanned vehicles;
using a processor which functions as a high level optimizer to continue to estimate the cost and modify the assignment of the objective to minimize the cost during the performance of the objective;
executing the objective while minimizing the cost of the objective; and
transmitting sensor data from at least one of the one or more unmanned vehicles to the user;
wherein the cost is tunable during performing the objective by the user selecting between different cost metrics.

US Pat. No. 10,168,632

TONER FOR ELECTROSTATIC USE

Samsung Electronics Co., ...

1. A toner for electrostatic use comprisinga binder resin comprising an amorphous polyester resin having a urethane bond and a crystalline polyester resin;
a metal ion forming a chemical bond with the binder resin;
at least one colorant forming a coordinate bond with the metal ion and being supported on the binder resin through the metal ion; and
at least three elements selected from an iron element, a silicon element, a sulfur element, and a fluorine element while including at least one of an iron element, a silicon element, and a sulfur element;
wherein an amount of the iron element is about 1000 ppm to about 10000 ppm as an element concentration;
an amount of the silicon element is about 1000 ppm to about 5000 ppm as an element concentration; and
an amount of the sulfur element is about 500 ppm to about 3000 ppm as an element concentration.

US Pat. No. 10,168,616

PHOTORESIST COMPOSITION AND PROCESS OF PRODUCING PHOTORESIST PATTERN

SUMITOMO CHEMICAL COMPANY...

1. A photoresist composition comprisinga resin having an acid-labile group and no fluorine atom,
a resin having a fluorine atom, and
a salt represented by formula (I):

in which X represents a sulfur atom or an iodine atom;
m represents 0 or 1;
R1 represents a group represented by formula (I-e):

in which the symbol “r” represents an integer of 1 to 4 and the symbol “t” represents an integer of 1 to 4 provided that a total of r and t is 6 or less;
R2 and R3 each independently represent a C1-C12 hydrocarbon group in which a hydrogen atom can be replaced by a substituent and in which a methylene group can be replaced by an oxygen atom, a sulfur atom or a carbonyl group, or R2 and R3 are optionally bond to each other and form a ring together with X+ when X is a sulfur atom; and
Z? represents an organic anion represented by formula (I-A):

wherein Q1 and Q2 each independently represent a fluorine atom or a C1-C6 perfluoroalkyl group,
Lb1 represents a group represented by formula (b1-1) or formula (b1-3):

wherein Lb2 represents a single bond or a C1-C22 divalent saturated hydrocarbon group where a hydrogen atom may be replaced by a fluorine atom, and Lb3 represents a single bond or a C1-C22 divalent saturated hydrocarbon group where a hydrogen atom may be replaced by a hydroxyl group or a fluorine atom and where a methylene group may be replaced by an oxygen atom, provided that total number of the carbon atoms of Lb2 and Lb3 is up to 22,
Lb6 represents a single bond or a C1-C23 divalent saturated hydrocarbon group where a hydrogen atom may be replaced by a fluorine atom, and Lb7 represents a single bond or a C1-C22 divalent saturated hydrocarbon group where a hydrogen atom may be replaced by a hydroxyl group or a fluorine atom and where a methylene group may be replaced by an oxygen atom or carbonyl group, with the proviso that total carbon number of Lb6 and Lb7 is up to 23 and with the proviso that formula (b1-3) excludes group having a structure represented by -Lb6-O—CO—, and * represents a binding position to Y, and
Y represents an adamantyl group which can have a substituent and in which one methylene group can be replaced by —O— or —CO—.

US Pat. No. 10,168,612

PHOTOMASK BLANK INCLUDING A THIN CHROMIUM HARDMASK

GLOBALFOUNDRIES Inc., Gr...

1. A method of making a photomask, the method comprising:receiving a structure including a mask blank and a layer stack on the mask blank in which the layer stack includes a frame layer, a hardmask layer, an etch stop layer between the frame layer and the hardmask layer, and a phase-shift layer between the hardmask layer and the mask blank;
patterning the frame layer with a first etching process that removes the frame layer selective to the etch stop layer to form a frame of the photomask;
after patterning the frame layer, removing the etch stop layer from the hardmask layer over a chip area interior of the frame with a second etching process that removes the etch stop layer selective to the hardmask layer;
after removing the etch stop layer, patterning the hardmask layer in the chip area to form a plurality of features; and
after patterning the hardmask layer, patterning the phase-shift layer to form a plurality of mask features at locations masked by the features of the hardmask layer,
wherein the frame layer is thicker than the hardmask layer, and the frame is configured to block light outside of the chip area from entering the chip area when the photomask is used in a lithography tool.