US Pat. No. 10,169,473

PACKAGED SEARCHING SYSTEM AND METHOD

Hyundai Motor Company, S...

1. A packaged searching system, comprising:a memory configured to store program instructions; and
a processor configured to execute the program instructions, the program instructions when executed configured to:
display a plurality of search target objects selected on a map to distinguish the plurality of search target objects from unselected objects;
create and display a plurality of search boxes on the map, wherein each of the plurality of search boxes correspond to the respective distinguished search target objects, and search keywords are independently input in each of the plurality of search boxes;
map the respective distinguished search target objects to each of the created search boxes;
search information regarding the respective distinguished search target objects mapped to the respective search boxes simultaneously using the independently inputted search keywords, wherein the information regarding the respective distinguished search target objects is searched within a space related to the search target objects, contents related to the search target objects, and information related to the selected search target objects; and
display the searched information for each of the plurality of search target objects, wherein
pieces of information among the searched information are displayed at separate positions on the map adjacent to the displayed plurality of search boxes for each of the plurality of search target objects, and
when the plurality of search target objects and the plurality of search boxes are configured as layers, the plurality of search boxes are mapped to the plurality of search target objects by invoking an interface disposed between the layers to transmit identifier information of the plurality of search target objects.

US Pat. No. 10,169,471

GENERATING AND EXECUTING QUERY LANGUAGE STATEMENTS FROM NATURAL LANGUAGE

International Business Ma...

1. A method for generating query language statements for a document repository comprising:detecting, via a processor, a search query corresponding to a document repository;
generating, via the processor, a modified search query by adding atomic tags to the search query, the atomic tags being based on prior knowledge obtained by static analysis of the document repository and semantic rules;
generating, via the processor, enriched tags based on combinations of the atomic tags and any previously identified enriched tags and adding the generated enriched tags to the modified search query;
generating, via the processor, a first set of conditions based on combinations of the atomic tags and the generated enriched tags and generating a second set of conditions based on free-text conditions, the second set of conditions corresponding to terms in the search query that are not associated with any of the first set of conditions;
reconciling, via the processor, the first set of conditions based on identified contradictions;
generating, via the processor, the query language statements corresponding to the search query, the query language statements based in part on the first set of conditions and the second set of conditions; and
displaying, via the processor, a plurality of documents from the document repository that satisfy the query language statements, wherein
the generating the query language statements comprises:
joining at least two queries for documents of a same type with a logical disjunction or at least two queries for documents of a different type with a logical conjunction.

US Pat. No. 10,169,470

SYSTEMS AND METHODS FOR IDENTIFYING A MEANING OF AN AMBIGUOUS TERM IN A NATURAL LANGUAGE QUERY

Rovi Guides, Inc., San J...

1. A method for identifying a meaning of an ambiguous term in a natural language query, the method comprising:receiving, via a user interface, a query from a user;
isolating a first term and a second term from the query received from the user;
accessing, at a storage device, a knowledge graph;
identifying, in the knowledge graph, a first plurality of candidate components associated with the first term, wherein the first term having more than one candidate component indicates the first term has an ambiguous meaning;
identifying, in the knowledge graph, a second plurality of identified candidate components associated with the second term, wherein the second term having more than one candidate component indicates the second term has an ambiguous meaning;
matching each candidate component of the first plurality of candidate components to each candidate component of the second plurality of candidate components to form a plurality of pairs;
determining a strength of association for each pair in the plurality of pairs based on a distance on the knowledge graph between two nodes of the respective pair;
filtering the plurality of pairs by the strength of association for each pair;
determining a plurality of possible meanings associated with the query based on the filtered plurality of pairs; and
selecting a meaning from the plurality of possible meanings associated with the query based at least in part on a ranking of the plurality of possible meanings.

US Pat. No. 10,169,468

SECURE MONITORING TECHNIQUE FOR MOVING K-NEAREST QUERIES IN ROAD NETWORK

1. A method of providing safe results of a k-nearest query, comprising:receiving a request for a k-nearest query about at least one object from a querying user, and also receiving a location of the querying user;
generating an anonymized location region by anonymizing the location of the querying user;
transferring the anonymized location region and the request for a k-nearest query to a server;
receiving results of the k-nearest query, calculated in accordance with the anonymized location region, from the server;
calculating results of a k-nearest query about the location of the querying user using the results of the k-nearest query calculated in accordance with the anonymized location region and received from the server; and
transferring the results of the k-nearest query about the location of the querying user to the querying user,
wherein:
calculating the results of the k-nearest query about the location of the querying user comprises generating information about a safe zone that has results of a k-nearest query identical to the former results of the k-nearest query; and
transferring the results of the k-nearest query about the location of the querying user to the querying user comprises transferring the information about a safe zone, together with the results of the k-nearest query about the location information of the querying user, to the querying user,
wherein calculating the results of the k-nearest query about the location of the querying user comprises:
segmenting the anonymized location region into one or more candidate regions based on the results of the k-nearest query; and
selecting a candidate region, in which the querying user is located, as the safe zone,
wherein segmenting the anonymized location region into the candidate regions comprises:
calculating results of a k-nearest query at nodes within the anonymized location region;
determining whether a boundary point at which the results of the k-nearest query change is present on each road within the anonymized location region by comparing the results of the k-nearest query at the nodes;
calculating locations of boundary points on roads on which the boundary points have been determined to be present; and
identifying the candidate regions based on the locations of the boundary points.

US Pat. No. 10,169,467

QUERY FORMULATION VIA TASK CONTINUUM

Microsoft Technology Lice...

1. A system, comprising:one or more processing units; and
one or more memories storing instructions that, when executed by the one or more processing units, cause the system to perform a method comprising:
identifying one or more user-engaged non-operating system (non-OS) applications;
gathering and monitoring content presented by the one or more user-engaged non-OS applications to determine user context, the user context is based on one or more user actions or one or more predicted user actions with the one or more user-engaged non-OS applications;
determining one or more high-level concepts from the determined user context, wherein each of the one or more high-level concepts is based at least on the one or more user actions or the one or more predicted user actions associated with at least one of the one or more user-engaged non-OS applications;
passing the one or more high-level concepts to a browser application for query formulation, the query formulation comprising formulating at least a portion of a query;
based on the query formulation, automatically returning search results relevant to the determined user context; and
causing the search results to be presented in one of the one or more user-engaged non-OS applications.

US Pat. No. 10,169,466

PERSONA-BASED CONVERSATION

International Business Ma...

1. A method implemented by an information handling system that includes a memory and a processor, the method comprising:identifying a persona-based profile to utilize in a conversation between a user and a question answering (QA) system, wherein the persona-based profile includes a sentiment preference;
receiving, at the QA system, a question from the user;
retrieving, by the QA system, one or more candidate answers, wherein the candidate answers are retrieved from a threaded forum previously ingested by the QA system;
comparing a question topic related to the question to a plurality of main topics, wherein each of the main topics corresponds to a different parent post included in the threaded forum, and wherein the comparing results in a selected parent post in a selected thread;
analyzing a plurality of posts included in the selected thread, wherein the analyzing further comprises selecting a plurality of child posts in the selected thread, wherein each of the selected child posts is one of the candidate answers, and wherein the parent post is a parent to each of the child posts;
building a forum tree corresponding to the threaded forum, wherein the forum tree includes the parent post and the selected child posts;
comparing the candidate answers to the persona-based profile;
scoring the candidate answers based on the comparing the candidate answers to the persona-based profile, wherein the scoring comprises performing the following for each candidate answer:
determining a sentiment level of the candidate answer, wherein the determined sentiment level corresponds to an amount of positive sentiment expressed in the candidate answer; and
adjusting a score of the candidate answer based on a correlation between the sentiment preference in the persona-based profile and the determined sentiment level of the candidate answer;
selecting one or more of the candidate answers based on the scores corresponding to each of the candidate answers; and
providing the selected candidate answers to the user.

US Pat. No. 10,169,465

DYNAMIC RUNTIME ENVIRONMENT CONFIGURATION FOR QUERY APPLICATIONS

International Business Ma...

1. A computer-implemented method to manage runtime environments (RTEs), the computer-implemented method comprising:receiving, by a server computing system, a query from a requesting entity;
determining an RTE to execute the query against, wherein the RTE is selected from a plurality of RTEs, each of which corresponds to a respective, isolated set of data libraries, wherein each set of data libraries is distinct and stores data according to a predefined schema common across the plurality of RTEs, wherein the determined RTE identifies one or more exit programs;
determining whether a current RTE for executing queries on the server computing system matches the determined RTE;
upon determining that the current RTE does not match the determined RTE, dynamically reconfiguring the server computing system by operation of one or more computer processors to access the data libraries associated with the determined RTE, wherein the server computing system is dynamically reconfigured without requiring any server restart;
dynamically modifying the query by executing the one or more exit programs; and
generating a set of results by executing the dynamically modified query against the determined RTE on the dynamically reconfigured server computing system, whereafter the set of results is output to the requesting entity.

US Pat. No. 10,169,464

SYSTEM AND METHOD FOR A BIDIRECTIONAL SEARCH ENGINE AND ITS APPLICATIONS

1. A method of computer aided searching by a plurality of seeker users of information stored in a database by a plurality of provider users, comprising the steps of:(a) the computer receiving a plurality of search criteria as input from the plurality of provider users, and storing the search criteria in a first section of the database in the form of a plurality of alphanumerical strings selected from a pre-assigned set of alphanumerical strings, each alphanumerical string in the set of alphanumerical strings having been pre-assigned to a search criterion;
(b) the computer receiving a plurality of search criteria as input from the plurality of seeker users, and storing the search criteria in a second section of the database in the form of a plurality of alphanumerical strings selected from the pre-assigned set of alphanumerical strings;
(c) the computer, at a determined time interval, matching the plurality of alphanumerical strings representing the search criteria originally received from the plurality of provider users stored in the first section of the database against the plurality of alphanumerical strings representing the search criteria originally received from the plurality of seeker users stored in the second section of the database;
(d) the computer determining that a match is found if at least one alphanumerical string from the first section of the database matches at least one alphanumerical string from the second section of the database; and
(e) if the computer has determined that a match has been found, then providing matching results to the users within the plurality of seeker users or the plurality of provider users from which the search criteria were originally received which are represented by the alphanumerical strings from which the computer determined a match had been found, otherwise waiting for a pre-set time t and then continuing with the matching process of step (c) when any new provider or new seeker contributes new search criteria.

US Pat. No. 10,169,463

DATA INGEST OPTIMIZATION

International Business Ma...

1. A non-transitory computer readable storage medium comprising a computer readable program code, wherein the computer readable program code when executed on a computer causes the computer to:obtain a slot map including slots configured for storage of data elements, the slot map including quality tag values associated with each of the data elements applied to each slot in the slot map;
prioritize the data elements associated with the slots by weighting each of the quality tag values, each of which is associated with a different data element and indicates a respective degree of importance of the associated data element, with costs and probabilities of successfully retrieving valid data elements from each of one or more respective data sources at one or more particular times, and output a priority queue of the valid data elements;
populate the slot map with one or more retrieved valid data elements, and
direct a retrieval of the valid data elements from the respective data sources in an order in accordance with a determined priority of the valid data elements to optimize the quality of data obtainable for the analysis within a critical time constraint.

US Pat. No. 10,169,462

CREATION OF STRUCTURAL DIAGRAM OF WEB SITE BASED ON BOTH PHYSICAL LINKS AND SEMANTIC LINKS OF WEB PAGES OF WEB SITE

International Business Ma...

1. A method comprising:determining a plurality of hyperlink physical links among a plurality of web pages of a web site;
determining a plurality of non-hyperlink semantic links among the web pages;
combining the hyperlink physical links and the non-hyperlink semantic links to generate a structural diagram of the web site having a plurality of structural links among the web pages; and
displaying the structural diagram,
wherein determining the non-hyperlink semantic links among the web pages comprises conducting a directory structure search in relation to a current level target web page by:
(a) acquiring the directory in which the current level target web page is stored, as a selected directory;
(b) acquiring a list of web pages in the selected directory and a list of subdirectories in the selected directory;
(c) search the list of web pages for an index web page of the web pages in the selected directory;
in response to locating the index web page:
(d) searching for a first given web page that has a hyperlink to the index web page using a determined search path;
in response to locating the first given web page,
(e) adding the first given web page to the structural diagram and to the determined search path;
(f) selecting a web page from the list of web pages, as a selected web page;
(g) searching for a second given web page that has a hyperlink to the selected web page;
in response to locating the second given web page,
(h) adding the second given web page to the structural diagram and not to the determined search path.

US Pat. No. 10,169,461

ANALYSIS OF DATA UTILIZATION

International Business Ma...

1. A method for determining efficiency of data exchange in a distributed software application, the method comprising:initializing, by one or more processors, a data registry in response to a start of an operation;
clearing, by the one or more processors, a space in the data registry for inputting a first data;
storing the first data as part of the data registry;
instrumenting, by the one or more processors, the first data in the data registry;
determining, by the one or more processors, whether the first data was read by a program;
responsive to the determination that the first data was read by the program, flagging, by the one or more processors, the first amount of data;
determining, by the one or more processors, a first amount of data that was provided to the program in a distributed software application by a data source over a network;
analyzing, by the one or more processors, a degree of usage of the first amount of data by the program;
determining, by the one or more processors, a second amount of data that was used by the program based, at least in part, on the degree of usage, wherein the second amount of data is a portion of the first amount of data;
determining, by the one or more processors, a degree of efficiency of data usage by the program;
providing a modification to the data exchange to improve processor performance; and
generating, by the one or more processors, a report indicating the degree of efficiency of data usage by the program.

US Pat. No. 10,169,460

CLIENT APPLICATION FINGERPRINTING BASED ON ANALYSIS OF CLIENT REQUESTS

Oath Inc., Dulles, VA (U...

1. A computer system for generating a fingerprint corresponding to a browser request comprising cookie name-value pairs, the computer system comprising:a database that stores data corresponding to a correlation between one or more cookie name-value pairs in the browser request and one or more stored values; and
a hardware processor configured to:
retrieve, from the database, the one or more stored values corresponding to the one or more cookie name-value pairs in the browser request;
sum the retrieved one or more stored values to produce a score for the browser request;
generate the fingerprint comprising code at least indicative of the score for the browser request;
analyze the score to determine whether the score falls within at least one predefined numerical range associated with a particular type of client application; and
when the score falls within the at least one predefined numerical range associated with the particular type of client application, identify the particular type of client application associated with the browser request.

US Pat. No. 10,169,459

INTELLIGENT COLLECTING AND SHARING METHOD AND MOBILE TERMINAL

HUIZHOU TCL MOBILE COMMUN...

1. An intelligent collecting and sharing method, comprising the following steps of:predefining, by a first mobile terminal, critical information to be saved and a save format of the critical information according to types of contents supported by the first mobile terminal;
acquiring, by the first mobile terminal, a type of a content currently browsed, wherein the type is a picture, a webpage, a fiction, a music or an application;
determining, by the first mobile terminal, whether the type of the content currently browsed is one of the types of contents supported by the first mobile terminal; and receiving a collecting command by the first mobile terminal when the type of the content currently browsed is supported by the first mobile terminal, and calling a screenshot function of the first mobile terminal to save a content to be shared in the form of a picture by the first mobile terminal when the type of the content currently browsed is not supported by the first mobile terminal;
when receiving the collecting command, classifying the content currently browsed according to the type of the content currently browsed and storing the critical information corresponding to the content currently browsed in a local favorites folder according to the save format corresponding to the type of the content currently browsed by the first mobile terminal; and
when receiving a sharing command, opening the local favorites folder automatically and searching for the content to be shared in the local favorites folder based on the type of the content currently browsed by the first mobile terminal, and copying and pasting latest critical information by the first mobile terminal directly without changing a format of the latest critical information for purpose of sharing to a second mobile terminal, to allow the second mobile terminal to search for latest content on a network based on the latest critical information;
wherein after searching for the content to be shared and before copying and pasting the latest critical information, the method further comprises:
the first mobile terminal selecting the critical information corresponding to the content to be shared, searching for the latest content by taking the selected critical information as an index and downloading an address from the network, and extracting the latest critical information from the latest content.

US Pat. No. 10,169,457

DISPLAYING AND POSTING AGGREGATED SOCIAL ACTIVITY ON A PIECE OF ENTERPRISE CONTENT

MICROSOFT TECHNOLOGY LICE...

1. A method for providing social activity insights, the method comprising:displaying a client application on a client device;
receiving a request from a user to display a content item in the client application;
in response to receiving the request, querying a graph to determine activities taken with respect to the content item by other users, and relationships between the user and the other users, the relationships including implicit and explicit relationships between the user and the other users, wherein at least one activity or relationship is weighted and at least one explicit relationship is defined according to an organization structure;
determining one or more insights associated with the content item, the one or more insights identifying the activities taken with respect to the content item by the other users, wherein the one or more insights are personalized based on the user's relationships with the other users, and the determining is based on weighting of the at least one activity or relationship determined in the querying of the graph;
generating a user interface for displaying the one or more insights to the user; and
displaying the user interface in the client application, the user interface including a preview of the content item and the one or more insights presented in association with the preview of the content item.

US Pat. No. 10,169,456

AUTOMATIC DETERMINATION OF QUESTION IN TEXT AND DETERMINATION OF CANDIDATE RESPONSES USING DATA MINING

International Business Ma...

1. A computer-implemented method of providing responses to inquiries residing within input text processed by an application comprising:enabling, via a processor, a feature to provide the responses to the inquiries residing within the input text processed by the application;
monitoring, via the processor, the input text during entry into a user interface of the application by a user and automatically identifying an inquiry within the input text during the entry into the user interface, wherein the application provides the input text within one or more from a group of a word processing document, a presentation document, a spreadsheet document, an email and an instant message, wherein identifying an inquiry within the input text during the entry into the user interface further includes:
parsing the input text to identify predefined text including one or more from a group of a question mark and an initial word of a sentence indicative of a question; and
analyzing a predefined amount of text in proximity of the identified predefined text to identify a string of text corresponding to a question;
in response to the identifying of the inquiry during entry of the input text and while the user remains within the user interface of the application:
determining, via the processor, a context of the identified inquiry, wherein determining a context of the identified inquiry includes:
parsing text of the identified inquiry into one or more words and combining definitions of the one or more words to determine a meaning of the identified inquiry using natural language processing;
identifying one or more data sources from among a plurality of data sources associated with the determined meaning of the identified inquiry;
controlling, via the processor, a search engine to perform a search limited to the identified one or more data sources associated with the determined meaning of the identified inquiry to produce a series of responses to the identified inquiry, wherein the searching is automatically initiated from the user interface of the application based on the inquiry identified during entry of the input text;
evaluating the series of responses, via the processor, to rank each of the responses and determine an associated accuracy level value for each response; and
displaying the ranked responses within the user interface of the application during entry of the input text into the user interface, wherein displaying the ranked responses further includes:
displaying each of the ranked responses and the associated accuracy level value for each response, wherein the associated accuracy level value comprises a color coding corresponding to a relevance of the ranked response.

US Pat. No. 10,169,454

UNSUPERVISED ONTOLOGY-BASED GRAPH EXTRACTION FROM TEXTS

XEROX CORPORATION, Norwa...

1. A method for extracting a relations graph, comprising:providing an ontology of elements in the form of a graph in which nodes represent entity classes and edges connecting the nodes represent properties of the entity classes, at least one of the properties being associated with a constraint which defines a range of values for the respective property to take without incurring a constraint cost;
receiving input text in which entity mentions are identified;
identifying an optimal set of alignments between a subgraph of the ontology graph and the identified entity mentions in the input text, each of the alignments in the optimal set of alignments mapping one of identified entity mentions to a node in the subgraph, the optimal set of alignments being identified by optimizing a function of the constraint costs incurred by alignments in the optimal set of alignments for which the respective property does not take a value within the range of values and a distance measure computed over the set of alignments, the optimizing of the function comprising identifying a subgraph of the ontology and a graph linking mentions in the text for which a combination of the distance measure and the constraint costs is minimal; and
generating the relations graph based on the optimal set of alignments, the relations graph representing a linked set of relations instantiating the subgraph of the ontology, and where the subgraph of the ontology includes a node that is not aligned to any of the entity mentions, including an implicit mention in the relations graph corresponding to that subgraph node;
at least one of the identifying of the optimal set of alignments and the generating of the relations graph is performed with a processor.

US Pat. No. 10,169,453

AUTOMATIC DOCUMENT SUMMARIZATION USING SEARCH ENGINE INTELLIGENCE

Microsoft Technology Lice...

1. A system comprising:at least one processing unit; and
at least one memory storing computer executable instructions that, when executed by the at least one processing unit, cause the system to perform a method, the method comprising:
causing a document to open in an interface;
receiving an indication to summarize the document;
generating a plurality of overlapping, contiguous candidate passages for the document, comprising:
extracting a series of contiguous sentences; and
iteratively combining in a consecutive order two or more of the series of contiguous sentences to generate at least a first candidate passage comprising a first extracted sentence and a second extracted sentence, at least a second candidate passage comprising the second extracted sentence and a third extracted sentence, and at least a third candidate passage comprising the third extracted sentence and a fourth extracted sentence;
extracting one or more features for each candidate passage of the plurality of candidate passages;
ranking each candidate passage of the plurality of candidate passages based at least in part on the extracted one or more features;
generating a summary of the document, wherein the summary includes at least a highest ranked candidate passage of the plurality of candidate passages; and
providing the summary adjacent to the document in the interface.

US Pat. No. 10,169,452

NATURAL LANGUAGE INTERPRETATION OF HIERARCHICAL DATA

International Business Ma...

1. A computer program product for scoring the results of querying structured hierarchical data, the computer program product comprising one or more computer readable storage media and program instructions stored on said one or more computer readable storage media, said program instructions comprising instructions to:receive a search label;
access a structured hierarchical data source comprising a plurality of nodes, one of said plurality of nodes being a context node, wherein the structured hierarchical data source is constrained such that child nodes represents a specific instance of their parent;
determine a similarity score between said search label and a node label of each of said plurality of nodes;
determine a contextual score between said context node and each of said plurality of nodes;
combine, for each of said plurality of nodes, said similarity score with said contextual score to yield a combined score based on multiplying the similarity score by the contextual score; and
return a result based on ordering said plurality of nodes according to said combined score of each of said plurality of nodes and returning the node with the lowest combined score.

US Pat. No. 10,169,451

RAPID CHARACTER SUBSTRING SEARCHING

International Business Ma...

1. A processor unit for searching, within a target character string, for a reference character string of length “L,” the processor unit comprising a plurality of vector registers each including a number “M” of n-bit vector elements, each vector element of the M n-bit vector elements configured to contain a binary-encoded character, the processor unit further comprising:an M×M matrix of comparators configured to perform a character-by-character comparison of characters of a reference string stored in a first register of the plurality of vector registers with characters of a target string stored in a second register of the plurality of vector registers;
a plurality of logic gates, each logic gate of the plurality of logic gates associated with a respective diagonal of the matrix of comparators, each logic gate of the plurality of logic gates configured to combine the results of comparators located along the respective diagonal of the matrix of comparators, the plurality of logic gates configured to produce a bit vector indicating at least one item selected from the group consisting of: characters of the target string that fully match characters of the reference string and characters of the target string that partially match characters of the reference string; and
correction logic configured to suppress an indication of at least one item selected from the group consisting of: a partial match in the resulting bit vector and a full match in the resulting bit vector.

US Pat. No. 10,169,450

ENHANCED ANSWERS IN DEEPQA SYSTEM ACCORDING TO USER PREFERENCES

International Business Ma...

1. A method for using user preferences to customize answer output comprising the steps of:performing, by a computer, using a semantic search engine with machine learning, a first semantic search on a first search query for a first user;
receiving, by a computer, a first plurality of candidate answers from the first semantic search;
responsive to determining, by a computer that the first search query contains multiple-parts or multiple-steps, retrieving, by a computer, a first set of supplemental information regarding at least one of the first plurality of candidate answers;
selecting, by a computer, one or more of the first plurality of candidate answers according to the first set of supplemental information;
updating, by a computer, the machine learning of the semantic search engine according to the selecting; and
producing, by a computer, an output including the selected one or more candidate answers.

US Pat. No. 10,169,449

METHOD, APPARATUS, AND SERVER FOR ACQUIRING RECOMMENDED TOPIC

TENCENT TECHNOLOGY (SHENZ...

1. A method for acquiring a recommended topic, comprising:acquiring, according to a link of a current page, a recommended topic associated with a topic of the current page by:
acquiring a first keyword having a first relevance to the link of the current page, wherein the first keyword having the first relevance is a keyword used when the current page is a clicked search result through a search engine,
determining whether a first number of the acquired first keywords having the first relevance is greater than a first preset value,
when the first number of the acquired first keywords is greater than the first preset value, using the acquired first keywords as the recommended topic associated with the topic of the current page,
when the first number of the acquired first keywords is not greater than the first preset value, acquiring a second keyword having a second relevance to the link of the current page, wherein the second keyword having the second relevance is not the keyword used when the current page is the clicked search result through the search engine,
determining whether a sum of the first number of the acquired first keywords and a second number of the acquired second keywords is greater than a second preset value,
when the sum is greater than the second preset value, using the acquired first and second keywords as the recommended topic associated with the topic of the current page,
when the sum is not greater than the second preset value,
acquiring a third keyword having a third relevance to the link of the current page, wherein the third keyword having the third relevance is a recommended topic of a page related to the current page, and
using the acquired first, second and third keywords as the recommended topic associated with the topic of the current page; and
displaying the recommended topic on the current page.

US Pat. No. 10,169,446

RELATIONAL MODELER AND RENDERER FOR NON-RELATIONAL DATA

Amazon Technologies, Inc....

1. A system, comprising:one or more computing devices comprising at least one hardware processor and configured to:
in response to an indication of one or more non-relational data sources by a client, and a determination of one or more model inclusion criteria, generate a relational data model to represent at least a portion of contents of the one or more non-relational data sources selected in accordance with the model inclusion criteria, wherein the model defines a plurality of relational database tables;
store a representation of the model in a persistent store;
in response to a model population request from the client, store data obtained from the one or more indicated non-relational data sources in accordance with the model inclusion criteria within cache storage allocated on behalf of the client for the plurality of relational database tables;
in response to a request from the client indicating a read-only operation directed to one or more tables of the model, received after the data obtained from the one or more non-relational data sources has been stored within the cache storage to populate the model, obtain results of the read-only operation from the one or more tables of the model populated with the obtained data stored within the cache storage and provide the results to the client, wherein the one or more tables populated with the obtained data stored in the cache storage are read-only;
in response to a request from the client indicating a read-only operation directed to one or more of the non-relational data sources, received after the data obtained from the one or more non-relational data sources has been stored within the cache storage to populate the model, obtain results of the read-only operation from the one or more non-relational data sources and provide the results to the client; and
in response to a modifying request from the client directed to one or more of the non-relational data sources, received after the data obtained from the one or more indicated non-relational data sources has been stored within the cache storage to populate the model, perform a modification operation on a non-relational data source of the one or more indicated non-relational data sources.

US Pat. No. 10,169,445

SYSTEMS AND METHODS FOR DETERMINING OPTIMAL PARAMETERS FOR DYNAMIC QUANTUM CLUSTERING ANALYSES

The Board of Trustees of ...

1. A method for data clustering, comprising:obtaining a set of source data using a dynamic quantum clustering server system, where the set of source data comprises a data dimensionality;
assigning a subset of the set of source data to a representational space using the dynamic quantum clustering server system, where the representational space allows a distance between pieces of data in the set of source data to be measured;
constructing a potential function based on the representational space and the set of source data using the dynamic quantum clustering server system;
computing a set of frames of animation for the set of source data over a time interval using the dynamic quantum clustering server system wherein computing a frame of animation includes:
associating data points from the set of source data with states, where the states include initial wave functions;
computing kinetic and potential energies for each initial wave function;
determining updated wave functions based on the kinetic and potential energies of each initial wave function;
determining at least one trajectory for the time interval based on the updated wave functions; and
constructing the frame of animation based on the at least one trajectory;
evaluating the computed set of frames of animation for the set of source data using the dynamic quantum clustering server system, where the evaluation identifies data clusters comprising a subset of the set of source data within the computed set of frames of animation:
when a cluster threshold is reached:
generating a representation of the computed set of frames of animation using the dynamic quantum clustering server system; and
transmitting the generated representation to a client device displaying the generated representation by providing an interactive visual animation of point positions at one or more selected times; and
when the cluster threshold is not reached, iteratively:
identifying strongly clustered data in the computed set of frames of animation using the dynamic quantum clustering server system;
filtering the strongly clustered data from the set of source data to generate a set of filtered data using the dynamic quantum clustering server system; and
computing a second set of frames of animation for the set of filtered data using the dynamic quantum clustering server system.

US Pat. No. 10,169,443

AUTOMATIC LOG SENSOR TUNING

International Business Ma...

1. A method comprising:responsive to an occurrence of an alert condition, generating a piped HTTP request for performing analytics on a first set of machine data in a search cluster, the first set of machine data collected by a collector according to a first configuration of the collector, the first configuration establishing default data collection levels;
receiving a single-threaded, piped HTTP response to the piped HTTP request as analytics output;
determining a second configuration for the collector to collect a second set of machine data responsive to the analytics output, the second configuration establishing debug data collection levels, wherein the debug data collection level causes a list of events to be monitored for data collection in addition to actions of the default data collection levels;
executing a sync instruction to the collector to replace the first configuration with the second configuration; and
causing the collector to collect a second set of machine data by processing new machine data according to the second configuration, the new machine data generated after the occurrence of the alert condition;
wherein:
the second set of machine data includes event-specific data determined to be relevant by the performing analytics on the first set of machine data.

US Pat. No. 10,169,441

SYNCHRONOUS DATA REPLICATION IN A CONTENT MANAGEMENT SYSTEM

International Business Ma...

1. A computer-implemented method for data replication during ingestion of data in a content management system, the method comprising:receiving, by the processor and in response to instructions by an application programming interface, blocks of data to be written into a content management system;
retrieving a replication rule from a replication rule repository, wherein the replication rule includes instructions for handling the blocks of data in a strict mode and in a tolerant mode, respectively;
replicating the blocks of data to different live replication nodes in the content management system using the strict mode in situations that require strict data consistency and no data losses in response to writing the blocks of data to the first node in the content management system by the processor and in response to instructions by the application programming interface, wherein the strict mode requires that the blocks of data be persisted synchronously to the first node and all its replica nodes before the data node returns a success status;
replicating the blocks of data to different live replication nodes in the content management system using the tolerant mode in situations that require high throughput and high availability in data ingestion, in response to writing the blocks of data to the first node in the content management system by the processor and in response to instructions by the application programming interface, wherein the tolerant mode requires that the blocks of data be persisted synchronously to a user-assigned number of replica nodes of the first data node before the first data node returns a success status and the data blocks be asynchronously persisted to any failed data nodes at a later point in time; and
receiving either a success status or a failure status for persisting the data in the content management system.

US Pat. No. 10,169,440

SYNCHRONOUS DATA REPLICATION IN A CONTENT MANAGEMENT SYSTEM

International Business Ma...

9. A system for data replication during ingestion of data in a content management system, comprising:a processor; and
a memory storing instructions that when executed by the processor, cause the processor to:
receive, by the processor and in response to instructions by an application programming interface, blocks of data to be written into a content management system;
retrieve a replication rule from a replication rule repository, wherein the replication rule includes instructions for handling the blocks of data in a strict mode and in a tolerant mode, respectively;
replicate the blocks of data to different live replication nodes in the content management system using the strict mode in situations that require strict data consistency and no data losses in response to writing the blocks of data to the first node in the content management system by the processor and in response to instructions by the application programming interface, wherein the strict mode requires that the blocks of data be persisted synchronously to the first node and all its replica nodes before the data node returns a success status;
replicate the blocks of data to different live replication nodes in the content management system using the tolerant mode in situations that require high throughput and high availability in data ingestion, in response to writing the blocks of data to the first node in the content management system by the processor and in response to instructions by the application programming interface, wherein the tolerant mode requires that the blocks of data be persisted synchronously to a user-assigned number of replica nodes of the first data node before the first data node returns a success status and the data blocks be asynchronously persisted to any failed data nodes at a later point in time; and
receive either a success status or a failure status for persisting the data in the content management system.

US Pat. No. 10,169,439

MULTI-SOURCE ASYNCHRONOUS TABLE REPLICATION

SAP SE, Walldorf (DE)

20. One or more non-transitory, tangible computer-readable storage media storing computer-executable instructions for causing a server programmed thereby to perform a method for facilitating asynchronous replication within a database environment using data manipulation language (DML) statements and implementing a replica node of a database system, the method comprising:receiving from a first source node and buffering, as entries in a write log, at least a first DML statement for a first single-node transaction executed at a first node that corresponds to a first part of a multi-node source transaction;
receiving from the first source node and buffering, as entries in the write log, a precommit operation for the first part of the multi-node source transaction and the first node;
receiving and buffering, as entries in the write log, at least a second DML statement for a second single-node transaction executed at the second node that corresponds to a second part of the multi-node source transaction;
receiving and buffering, as entries in the write log, a precommit operation for the second part of the multi-node source transaction and the second node;
replaying the buffered entries in the write log on the replica node; and
replaying a transaction commit write log entry corresponding to the multi-node source transaction on determining that the at least a first and the at least a second DML statements have been replayed, wherein replaying the buffered precommit operations facilitates replay of operations for at least a second transaction by avoiding deadlocks.

US Pat. No. 10,169,438

DETERMINING COMMON TABLE DEFINITIONS IN DISTRIBUTED DATABASES

INTERNATIONAL BUSINESS MA...

1. A method for determining common table definitions in distributed databases, the method comprising:receiving a query at a node in a distributed database, the query targeting a logical table;
determining if the logical table is defined locally at the node;
upon determining the logical table is locally defined, selecting one of the local definition and a network definition to use, the network definition independently established for shared logical table names, and propagating the selected definition with the query through the distributed database; and
upon determining the logical table is not locally defined, issuing an initial query to other nodes in network to find the network definition for the logical table, storing the network definition in memory, and propagating the network definition with the query.

US Pat. No. 10,169,437

TRIPLESTORE REPLICATOR

International Business Ma...

1. A system for replicating triplestore data from generic data records comprising:a computing processor; and
a computer readable medium having program instructions embodied therewith, the program instructions executable by the computing processor to cause the computing processor to implement:
a plurality of triplestore mapping operations;
a record reader for listening for data events from the generic data record and for matching each data event to one or more triplestore mapping operations;
a processor for generating equivalent triples for each located data event by applying the matched triplestore mapping operation, the application of the triplestore mapping operation comprising determining if a mapping includes a structured query language (SQL) expression and on condition that the mapping includes a SQL expression, calling a SQL processing engine to process the SQL expression but otherwise performing the generation of the equivalent triples directly in memory; and
a data sink for receiving generated equivalent triples so that the triplestore data is synchronized in real time with the generic data records.

US Pat. No. 10,169,436

DATA STANDARDIZATION AND VALIDATION ACROSS DIFFERENT DATA SYSTEMS

International Business Ma...

1. A computer-implemented method in a data processing system comprising at least one processor and at least one memory, the at least one memory comprising instructions executed by the at least one processor to cause the at least one processor to standardize and validate data across source systems, the computer-implemented method comprising:converting a value of a physiological attribute of an entity to a standardized value;
dynamically determining a first value range for the physiological attribute from a corresponding region of clustered physiological data of a population, wherein the first value range is specific to and varies with an age of the entity;
comparing the standardized value of the physiological attribute to the first value range;
designating the standardized value of the physiological attribute as an outlier in response to the standardized value of the physiological attribute residing outside of the first value range;
in response to the standardized value of the physiological attribute residing within the first value range:
dynamically determining a second value range for the physiological attribute from a history of physiological attribute values of the entity and corresponding ages of the entity, wherein the second value range is specific to and varies with the age of the entity;
comparing the standardized value of the physiological attribute to the second value range; and
designating the standardized value of the physiological attribute as an outlier in response to the standardized value of the physiological attribute residing outside of the second value range.

US Pat. No. 10,169,435

CONTENT TRANSFER

SEMANTIC TECHNOLOGIES PTY...

1. A method of transferring content from a mark-up language file to a database, the file including content instances associated with file fields having a respective file field type, and the database including database fields having a respective database field type, the method being performed using a processing system having a processor executing applications software and coupled to a memory and the method including:a) receiving the file in the processing system, wherein the file includes an indication of the document type definition;
b) determining the document type definition associated with the file by examining the elements and attributes contained in the file, comparing the elements and attributes to a list of elements and attributes contained within each different document definition;
c) examining the indication of the document type definition to select a node map from the list of node maps stored in a centralized database separate to the processing system, wherein each node map indicates for a respective file type, the fields within the database to which each node type in the file should be mapped and specifies the database fields where the content of each type of element and attribute within the file to be stored within the database;
d) determining node rules from the selected node map, wherein the node rules specifying each type of node contained within the file and the destination to which the node should be stored within the database;
e) creating a data store within the memory, wherein the data store includes a respective field corresponding to each type of node within the file;
f) mapping, using the node rules, the content of each node in the file into a respective field within the data store, wherein the mapping defining the manipulations to be performed on the content instance and the manipulations include at least one of combining and splitting content instances;
i) combining of the content instances to be stored into the single field in the data store resulted from determining the database only including a single field covering multiple content instances of the file; or
ii) splitting of the content instance to be stored into single fields in the data store resulted from determining the database including multiple fields covering a single content instance of the file, wherein the mapping defining the;
iii) transferring each manipulated content instance from the mapping within the file to the respective field in the data store,
g) repeating steps i) to iii) for each node of the file so that each content instance to be transferred is stored in a respective store field in the data store; and,
h) transferring each content instance from the data store field to a respective database field according to the mapping.

US Pat. No. 10,169,434

TOKENIZED HTTP EVENT COLLECTOR

Splunk Inc., San Francis...

1. A computer-implemented method for processing raw machine data received from an electronic device via an internet protocol (IP), the method comprising:receiving a hypertext transfer protocol (HTTP) message from the electronic device, the HTTP message including a token identifier, message event settings metadata, and the raw machine data generated by the electronic device in an information technology environment and reflecting activity in the information technology environment;
identifying a token associated with the token identifier from the HTTP message;
accessing token event settings based on the token, wherein the token event settings for each of a plurality of tokens are individually configurable;
processing message event settings from the HTTP message;
establishing final metadata based on a hierarchy of the token event settings and the message event settings;
extracting raw machine data from the HTTP message;
generating an event having event data based on the raw machine data and the final metadata;
applying one or more transformations to the event data;
identifying keywords in the event data and updating a keyword index with the identified keywords to facilitate keyword searching for event data;
indexing the event based on the token event settings and the message event settings; and
storing the event at one or more data stores in a data intake and query system.

US Pat. No. 10,169,433

SYSTEMS AND METHODS FOR AN SQL-DRIVEN DISTRIBUTED OPERATING SYSTEM

Microsoft Technology Lice...

1. A computer-implemented method comprising:receiving, by a computing system, at least one operation to be performed against a first data set and a second data set, the operation being received through an interface provided by the computing system, and being based at least in part on a Structured Query Language (SQL), wherein the first data set and the second data set are at least:
stored in different database types;
stored in independent storage environments; and
managed by independent computing systems, including at least a first computing system and a different computing system;
performing, by the computing system, at least one optimization with respect to the operation;
executing, by the computing system, the operation using at least the first data and the second data based on accessing the first data directly from a first storage environment and accessing the second data directly from a different storage environment; and
providing, by the computing system, a generated result upon executing the operation through the interface provided by the computing system, wherein the computing system, the first computing system, and the different computing system are each able to concurrently process, access, and create at least a portion of the generated result without combining the first data set and the second data set into a centralized data set prior to providing the generated result.

US Pat. No. 10,169,432

CONTEXT-BASED SEARCH AND RELEVANCY GENERATION

Microsoft Technology Lice...

1. A computing system comprising:at least one processor; and
memory storing instructions executable by the at least one processor, wherein the instructions, when executed, configure the computing system to:
based on a plurality of sensor inputs, identify a plurality of different items of context from a plurality of different sources of context;
search a plurality of different content sources to identify a set of documents based on a trigger input;
generate a relevancy metric corresponding to each document in the identified set of documents, based on the plurality of different items of context; and
generate a user interface display that selectively displays the documents in the set of documents based on the corresponding relevancy metric.

US Pat. No. 10,169,431

DEVICE, METHOD, AND GRAPHICAL USER INTERFACE FOR MAPPING DIRECTIONS BETWEEN SEARCH RESULTS

Apple Inc., Cupertino, C...

1. A method, comprising:at a computing device with a display:
displaying a map on the display, wherein displaying a map on the display includes displaying on the map one or more search results for a prior search;
while displaying the map including displaying one or more search results for the prior search, displaying a popup view with a list of prior query inputs, wherein the list of prior query inputs is displayed concurrently with the one or more search results;
detecting selection of a prior query input in the list of prior query inputs; and
in response to detecting selection of the prior query input in the list of prior query inputs:
initiating a search using the selected prior query input; and
displaying on the map one or more search results for the selected prior query input, while maintaining the one more search results for the prior search on the map.

US Pat. No. 10,169,429

DATA CACHING IN HYBRID DATA PROCESSING AND INTEGRATION ENVIRONMENT

International Business Ma...

1. A method for processing a query involving data objects both in a Relational Database Management System (RDBMS) and in a Big Data System (BDS), the method comprising the steps of:parsing the query into requests for RDBMS data objects and BDS data objects, wherein the RDBMS hosts structured data and the BDS hosts structured, semi-structured and unstructured data, and wherein the query involves joining the data objects in the RDBMS and the BDS;
determining whether the RDBMS data objects are present in a RDBMS cache;
retrieving the RDBMS data objects from the RDBMS cache if the RDBMS data objects are present in the RDBMS cache, otherwise determining whether the RDBMS data objects are present in a BDS cache;
retrieving the RDBMS data objects from the BDS cache if the RDBMS data objects are present in the BDS cache, otherwise computing the RDBMS data objects;
determining whether the BDS data objects are present in the RDBMS cache;
retrieving the BDS data objects from the RDBMS cache if the BDS data objects are present in the RDBMS cache, otherwise retrieving the BDS data objects: from the BDS cache if the BDS data objects are present in the BDS cache, or as computed by the BDS if the BDS data objects are not present in the BDS cache.

US Pat. No. 10,169,428

MINING PROCEDURE DIALOGS FROM SOURCE CONTENT

International Business Ma...

1. A system for human-machine communication, the system comprising:a computer system comprising, a processor, a computer readable storage medium, and program instructions stored on the computer readable storage medium being executable by the processor to cause the computer system to:
receive source content, the source content comprising linguistic data, from one or more databases at a server communicating with the one or more databases using a communication network;
embed the linguistic data of the source content to a high-dimensional vector using a neural network;
cluster the sentences of the source content into a plurality of sentence groups based on the embedded linguistic data;
sequence the clustered sentence groups of the source content into a set of sentence sequences, wherein each of the plurality of sentence groups is represented by a single representative sentence;
transform each sentence of the source content by replacing each sentence with the single representative sentence of the sentence group that each sentence is sequenced into;
embed each representative sentence of the source content based on the sentence that precedes and follows each sentence;
map the relationships between the embedded representative sentences of the source content;
identify related representative sentences of the source content;
generate linguistic data blocks comprised of the related representative sentences of the source content;
identify similarities between the linguistic data blocks based on cohesions;
separate the linguistic data blocks into groups based on the cohesions identified; and
generate a procedure dialogue based on the cohesions between data blocks of the same group.

US Pat. No. 10,169,427

PERSONALIZED HIGHLIGHTER FOR TEXTUAL MEDIA

International Business Ma...

1. A method for highlighting an electronic document, comprising:monitoring reading of a plurality of electronic documents by a user to determine a time spent by the user on one or more portions of the plurality of electronic documents, wherein the monitoring comprises applying tracking software to a browser utilized by the user to track and record the time one or more pages of the plurality of electronic documents are displayed on the browser;
inferring one or more reading patterns of the user based on the time spent on the one or more portions of the plurality of electronic documents, wherein the inferring comprises determining which portions of the plurality of electronic documents the user reads and the user skips;
mining one or more sources to obtain data corresponding to a user, wherein the data comprises the one or more reading patterns of the user;
inferring one or more interests of the user based on the data;
analyzing the electronic document to determine at least one portion of the electronic document related to at least one of the one or more interests and the one or more reading patterns of the user;
automatically highlighting the at least one portion of the electronic document related to at least one of the one or more interests and the one or more reading patterns of the user;
transmitting the automatically highlighted document over at least one network to a user device comprising a display; and
electronically displaying the automatically highlighted document on the display of the user device, wherein the automatically highlighted document comprises an electronic modification of the at least one portion of the electronic document from a previous version of the electronic document;
wherein the steps of the method are performed by a computer system comprising a memory and at least one processor coupled to the memory.

US Pat. No. 10,169,426

FAST IDENTIFICATION OF COMPLEX STRINGS IN A DATA STREAM

TREND MICRO INCORPORATED,...

1. A system for detecting presence of complex strings in a data stream, the system comprising:a memory device storing a dictionary containing a plurality of complex strings, each complex string comprising at least one ambiguous string and at least one coherent string, wherein a coherent string comprises a sequence of characters uniquely defined in an alphabet and an ambiguous string comprises characters defined according to a character-class association;
at least one primary processor configured to locate sequential portions of said data stream that are identical to successive coherent strings of a candidate complex string;
and
at least one secondary processor configured to ascertain congruence of parts of said data stream adjacent to said sequential portions with corresponding ambiguous strings of said candidate complex string adjacent to said successive coherent strings,
thereby detecting the presence of complex strings in the data stream for protecting the data stream from harmful insertions.

US Pat. No. 10,169,425

FAST IDENTIFICATION OF COMPLEX STRINGS IN A DATA STREAM

TREND MICRO INCORPORATED,...

1. A method for examining a data stream to detect complex strings, the method comprising:employing a computing device having at least one processor and at least one memory device storing processor-executable instructions causing said at least one processor to implement processes of:
initializing each bit of a bit array to logical FALSE;
selecting a target complex string comprising at least one ambiguous string of characters defined according to character-class association, each said ambiguous string being adjacent to a simple string of characters uniquely defined in an alphabet;
for each constituent simple string of said target complex string:
detecting in said data stream a matching simple string;
shifting bits of said bit array by a number of positions determined as a difference between positions of said matching simple string and a previous simple string of said target complex string detected in said data stream;
setting a first bit of said bit array to logical TRUE; and
performing a logical AND of said bit array and a bitmask indicating a position of said each constituent simple string within said target complex string placing outcome in said bit array;
and
subject to a determination that a bit in said bit array corresponding to a position of a last constituent simple string has a value of logical TRUE:
ascertaining presence of said target complex string in said data stream; and
deleting said target complex string;
thereby, detecting presence of complex strings for protecting data networks from harmful data-stream insertions.

US Pat. No. 10,169,424

APPARATUS, SYSTEMS AND METHODS FOR SCORING AND DISTRIBUTING THE RELIABILITY OF ONLINE INFORMATION

1. A method programmed in a non-transitory memory of a device to provide a user with breaking news information associated with a reliability score calculated by applying a first category of intrinsic criteria in real time then a second category of extrinsic criteria, the method comprising:collecting the breaking news information;
dispatching the breaking news information to a priority queue, wherein the breaking news information in the priority queue is analyzed before other information;
pre-calculating the reliability score for the breaking news information;
providing the breaking news information associated with the reliability score;
assigning a new pre-calculated reliability score based on updates to the breaking news information; and
time-stamping reliability scores and associating the reliability scores to a related time-stamped version of the breaking news information, wherein when a discrepancy is detected between the time-stamp of the reliability score and the time-stamp of the related breaking news information, pre-processing of the breaking news information is updated.

US Pat. No. 10,169,423

RANKING ANSWERS IN GROUND TRUTH OF A QUESTION-ANSWERING SYSTEM

International Business Ma...

1. A computer-implemented method for ranking answers of question-answer pairs in a ground truth, the computer-implemented method comprising:searching a documents corpus, using an annotated domain dictionary, for candidate answers of question-answer pairs, based on defined search patterns;
evaluating the candidate answers with an annotation tool to verify acceptability of the candidate answers based on the search, wherein the evaluating includes automatically extracting acceptability features from the candidate answers, and wherein the verified acceptability of candidate answers is based on a threshold that identifies the candidate answers along a scale from acceptable to perfect candidate answers; and
responsive to the candidate answers being acceptable, based on the evaluating, assigning an acceptable ranking to the candidate answers, wherein the ranking is based on length of the answers, sentence structure of the answers, directness of language of the answers, and internal structure of the answers.

US Pat. No. 10,169,422

METHOD AND DEVICE FOR DISPLAYING PROCESS INFORMATION

TENCENT TECHNOLOGY (SHENZ...

1. A method, comprising:at a computing device having one or more processors and memory for storing one or more programs to be executed by the one or more processors:
scanning the memory of the computing device for running processes;
categorizing the scanned running processes according to a preset process display format;
obtaining operation suggestions for the scanned running processes according to usage of applications corresponding to the scanned running processes and security evaluation of the scanned running processes, wherein the security evaluation of the scanned running processes includes (1) evaluation of impact of the scanned running processes on system security while running on the computing device and (2) evaluation of impact on system stability and safety when terminated through activation of an operation command in a process management user interface;
after categorizing the scanned running processes, displaying a plurality of process categories;
displaying, within each of one or more of the plurality of process categories, one or more respective sub-categories of said each process category, wherein each of the one or more respective sub-categories corresponds to a group of running processes, and at least one of the plurality of process categories or the respective sub-categories thereof corresponds to an application, wherein the running processes in at least one of the plurality of process categories are ranked according to respective scores that are based on the evaluation of the impact on system stability and safety when the running processes are terminated through activation of an operation command in the process management user interface;
concurrently displaying, with the plurality of process categories and the respective sub-categories thereof, (a) first information suggesting user to perform an uninstall operation of a respective application represented among the plurality of process categories and the respective sub-categories thereof based on the operation suggestion and (b) a selectable operation command for uninstalling the respective application, wherein the selectable operation command uninstalls the respective application in a one-click manner which requires one single user input selection of the selectable operation command;
receiving user selection of the selectable operation command for uninstalling the respective application represented among the plurality of process categories and the respective sub-categories thereof; and
executing uninstallation of the respective application after terminating all processes of the application.

US Pat. No. 10,169,420

TABLE PARTITIONING AND STORAGE IN A DATABASE

International Business Ma...

1. A system, comprising:a memory unit for storing a computer program for storing a sub-table by deciding one of a plurality of table storage areas, the sub-tables resulting from partitioning of a table in a database; and
a processor coupled to the memory unit, wherein the processor is configured to execute the program instructions of the computer program comprising:
acquiring a history of access occurrences to each of the sub-tables;
deciding a location of the table storage area in which a sub-table is to be located, based on the history of access occurrences to each of the sub-tables;
storing the sub-table in the location;
prioritizing the plurality of table storage areas in descending order of access to the table storage areas;
changing the location of a sub-table having a higher access frequency to a table storage area having a higher priority as compared with a sub-table having a lower access frequency;
acquiring an access frequency of each of the sub-tables based on the history of access occurrences to each of the sub-tables;
calculating a hit rate that is a ratio of accessed records to all records per access for each of the sub-tables based on the history of access occurrences to each of the sub-tables; and
deciding the location of the table storage area where each of the sub-tables is to be located, based on the access frequency and the hit rate.

US Pat. No. 10,169,419

SYSTEM AND METHOD FOR GENERATING SOCIAL SUMMARIES

Microsoft Technology Lice...

1. A method comprising:filtering a plurality of communications to identify a subset of the communications that include a common hashtag or web link;
computing similarity scores for the identified subset of the communications, the similarity scores reflecting semantic similarities among individual communications of the subset;
computing diversity scores for the identified subset of the communications, the diversity scores reflecting semantic differences among individual communications of the subset;
combining the similarity scores and the diversity scores to determine total scores for the identified subset of communications;
selecting individual communications based on the total scores; and
generating a summary of the common hashtag or web link, the summary representing the selected individual communications,
wherein weighting the diversity score more than the similarity score promotes a broader range of themes being included in the summary.

US Pat. No. 10,169,418

DERIVING A MULTI-PASS MATCHING ALGORITHM FOR DATA DE-DUPLICATION

International Business Ma...

1. A method comprising steps of:(a) identifying multiple passes across multiple databases using a set of one or more blocking columns derived from a set of trained input data within which users have marked matches, wherein each of the passes comprises a matching algorithm that includes (i) a set of blocking columns for filtering data and (ii) a set of matching columns on which match criteria are defined;
(b) identifying, in each of the multiple passes, one or more columns across the multiple databases that match one or more of the blocking columns;
(c) selecting a given pass from the multiple passes, wherein said given pass comprises a maximum number of matching columns within the multiple passes;
(d) determining, for the given pass, data that conform to the given pass comprising (i) a set of matching columns, (ii) one or more matching types and (iii) one or more weights, wherein the one or more weights are assigned to each of the one or more columns across the multiple databases that match one or more of the blocking columns;
(e) executing the matching algorithm of the given pass against a matching engine to obtain results;
(f) comparing the results to human-derived results;
(g) removing the data that conform to the given pass;
(h) determining one or more subsequent passes across the multiple databases subsequent to said removing;
(i) iterating steps (c) through (h) until a final matching algorithm is derived, wherein the final matching algorithm achieves a given percentage of human matches in step (f) and a given percentage of the trained input data has been utilized; and
(j) outputting the final matching algorithm to at least one user;
wherein the steps are carried out by at least one computing device.

US Pat. No. 10,169,417

DETECTING LOGICAL RELATIONSHIPS BASED ON STRUCTURED QUERY STATEMENTS

International Business Ma...

1. A computer system for detecting logical relationships between structured query statements, 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, wherein the computer system is capable of performing a method comprising:
receiving a plurality of structured query statements associated with an application and a database by extracting the plurality of structured query statements from a source code of the application, extracting the plurality of structured query statements from pre-bound packages stored on the database comprising a metadata repository, and capturing the plurality of structured query statements from a bespoke database driver wherein the plurality of structured query statements comprise a plurality of intercepted SQL statements against a relational database;
detecting a logical relationship between at least two of the plurality of structured query statements based on a common source of the at least two of the plurality of structured query statements, a predetermined threshold time between the at least two of the plurality of structured query statements, and a common transaction associated with the at least two of the plurality of structured query statements;
generating a model based on the detected logical relationship;
receiving a request to modify the database, wherein a warning is displayed in response to receiving the request to modify the database based on the detected logical relationship;
calculating a probability of application functionality impairment associated with the request to modify the database based on the logical relationship, wherein the request to modify the database is to modify the logical relationship; and
modifying the database in response to detecting that the probability of application functionality impairment is not exceeded.

US Pat. No. 10,169,416

DETECTING LOGICAL RELATIONSHIPS BASED ON STRUCTURED QUERY STATEMENTS

International Business Ma...

1. A method for detecting logical relationships between structured query statements, the method comprising:receiving a plurality of structured query statements associated with an application and a database by extracting the plurality of structured query statements from a source code of the application, extracting the plurality of structured query statements from pre-bound packages stored on the database comprising a metadata repository, and capturing the plurality of structured query statements from a bespoke database driver wherein the plurality of structured query statements comprise a plurality of intercepted SQL statements against a relational database;
detecting a logical relationship between at least two of the plurality of structured query statements based on a common source of the at least two of the plurality of structured query statements, a predetermined threshold time between the at least two of the plurality of structured query statements, and a common transaction associated with the at least two of the plurality of structured query statements;
generating a model based on the detected logical relationship;
receiving a request to modify the database, wherein a warning is displayed in response to receiving the request to modify the database based on the detected logical relationship;
calculating a probability of application functionality impairment associated with the request to modify the database based on the logical relationship, wherein the request to modify the database is to modify the logical relationship; and
modifying the database in response to detecting that the probability of application functionality impairment is not exceeded.

US Pat. No. 10,169,414

CHARACTER MATCHING IN TEXT PROCESSING

International Business Ma...

1. A method comprising:determining an original structured query language (SQL) database query comprises a query clause containing a string of one or more un-shaped characters in Arabic, wherein each of the one or more un-shaped characters are associated with a plurality of respective shapes based on a respective location of a respective character in a word, wherein the plurality of respective shapes comprise an initial position, a middle position, a final position, and an isolated position, and wherein the string comprises a first wildcard operator, a first character, a second character, a third character, and a second wildcard operator;
generating a plurality of respective generated query clauses storing respective shapings of the string of one or more un-shaped characters therein, wherein the plurality of respective generated query clauses comprises:
a first query clause comprising the first character in the initial position, the second character in the middle position, and the third character in the final position;
a second query clause comprising the first character in the middle position, the second character in the middle position, and the third character in the final position;
a third query clause comprising the first character in the initial position, the second character in the middle position, and the third character in the middle position; and
a fourth query clause comprising the first character in the isolated position, the second character in the isolated position, and the third character in the isolated position;
combining respective generated query clauses storing respective shapings of the string of one or more characters therein to create a modified SQL database query;
outputting the modified SQL database query to a processor configured to execute the modified SQL database query against one or more databases; and
presenting search results from the modified SQL database query to a user interface.

US Pat. No. 10,169,413

SCALABLE ACCELERATION OF DATABASE QUERY OPERATIONS

INTERNATIONAL BUSINESS MA...

1. A system comprising a processing device configured to:receive a database query from an application;
perform an analysis on the query;
identify a plurality of available accelerators and a plurality of accelerator templates available on each of the plurality of available accelerators, wherein the plurality of accelerator templates represent different processing configurations that the accelerator is capable of executing;
retrieve cost information for the plurality of accelerator templates, the cost information comprising throughput and latency information;
determine, via a plurality of accelerators configured to accelerate one or more operators within a database query, a query execution plan based on the cost information, a status report indicative of an availability for each of the accelerators, and the analysis of the query;
select an accelerator template from the plurality of accelerator templates available on at least one of the plurality of available accelerators;
configure the at least one of the plurality of accelerators based on the selected accelerator template; and
offload one or more query operations to at least one of the plurality of accelerators based on the query execution plan.

US Pat. No. 10,169,412

SELECTIVITY ESTIMATION FOR QUERY EXECUTION PLANNING IN A DATABASE

International Business Ma...

1. A computer-implemented method of estimating selectivity of a query, the query having a plurality of query conditions with respect to two or more attributes, the method comprising:generating, for data stored in a database in a memory, a one-dimensional value distribution for each of a plurality of attributes of the data, the one-dimensional value distribution includes a simple histogram;
generating a multidimensional histogram, wherein the multidimensional histogram includes the one-dimensional value distributions for the plurality of attributes of the data, the generating of the multidimensional histogram includes dividing one or more attributes of the simple histogram into particular bucket ranges and responsively generating a multidimensional discrete matrix of the bucket ranges;
converting the multidimensional histogram to a one-dimensional histogram by assigning each bucket of the multidimensional histogram to corresponding buckets of the one-dimensional histogram and ordering the corresponding buckets according to a space-filling curve;
determining one or more bucket ranges of the one-dimensional histogram by mapping the query conditions on the one-dimensional histogram; and
estimating the selectivity of the query by estimating how many data values in the one or more bucket ranges will meet the query conditions.

US Pat. No. 10,169,411

FORECASTING QUERY ACCESS PLAN OBSOLESCENCE

International Business Ma...

1. A method for generating a replacement query access plan, the method comprising:receiving, by a database management system (DBMS), a query;
generating, by an optimizer of the DBMS and based on statistics for a database, a first query access plan for executing the query on the database;
obtaining, by the DBMS, a first result set for the query by implementing the first query access plan on the database;
forecasting, by the DBMS and based on at least one trend in the statistics, a target time after which implementing the first query access plan will fail a set of criteria, wherein the at least one trend in the statistics is caused by a substantially constant rate of change in at least one item over time, the at least one item selected from the group of items consisting of: frequent value count, singular value count, unique value count, size, and access time;
detecting the substantially constant rate of change in the at least one item over time;
extrapolating, in response to the detecting, to predict statistics at the target time by calculating a result of applying the substantially constant rate of change to a current value of the at least one item between a current time and the target time;
generating, by the optimizer, in response to the forecasting and based on the statistics, a replacement query access plan prior to the target time, wherein the replacement query access plan is generated based on the predicted statistics; and
obtaining, by the DBMS, a second result set for the query by implementing, after the target time, the replacement query access plan rather than the first query access plan.

US Pat. No. 10,169,410

MERGE OF STACKED CALCULATION VIEWS WITH HIGHER LEVEL PROGRAMMING LANGUAGE LOGIC

SAP SE, Walldorf (DE)

1. A method to be performed on one or more data processors comprising at least part of a computer system, the method comprising:resolving, using a high-level programming logic layer, high level programming logic associated with a first calculation view and a second calculation view below the first calculation view in a stacked calculation view of a calculation scenario to form a sub-query, the high level programming logic comprising a plurality of complex analytical privileges, each complex analytical privilege comprising at least one sub-select on at least one database table;
converting, using the high-level programming logic layer, the sub-query into a database system format;
applying, using the high-level programming logic layer, a high-level programming logic tag to the sub-query in the database system format; and,
merging, using a calculation engine layer, the sub-query into the calculation scenario, the calculation engine layer comprising the first and second calculation views.

US Pat. No. 10,169,409

SYSTEM AND METHOD FOR TRANSFERRING DATA BETWEEN RDBMS AND BIG DATA PLATFORM

International Business Ma...

1. A method for transferring data from a Relational Database Management System (“RDBMS”) to a big data platform, comprising:submitting, by a processor to the RDBMS, a request with a partition degree to generate a parallel query plan relating to a selected table, wherein the partition degree is based on a number of parallel tasks of the big data platform;
acquiring, by the processor, a partitioned execution scheme of the selected table from the RDBMS, the acquiring comprising obtaining statistics related to the selected table from a statistics catalog of the RDBMS and determining the partitioned execution scheme for the selected table based on the statistics;
generating, by the processor, partitioned queries, with partition mappers, based on said acquired partitioned execution scheme; and
submitting, by the processor, the generated partitioned queries to the RDBMS to transfer the selected table to the big data platform via the partition mappers in parallel with multiple tasks.

US Pat. No. 10,169,408

SYSTEMS AND METHODS FOR NON-DISRUPTIVE COMPLEX VARIABLE CALCULATION IN ONLINE ENVIRONMENTS

The Travelers Indemnity C...

1. A system for utilizing user input to drive multi-tiered queries of a memory array to compute a value for a complex variable, comprising:a data transceiver device communicatively coupled to a first electronic network pathway;
a historic data aggregation device storing data defining values for each of a plurality of variables in correlation with specific historic time periods;
a memory array comprising a plurality of data tables, each data table storing data defining a relationship between a specific value for one of the plurality of variables and a corresponding variable adjustment factor;
a computational server cluster communicatively coupled to a second electronic network pathway, the computational server cluster comprising a plurality of cooperative processing units, and the computational server cluster being in communication with the data transceiver device and each of the historic data aggregation device and the memory array; and
a computational logic data storage device in communication with the computational server cluster, the computational logic data storage device storing (i) data correlating a plurality of versioning input variable values and different logical pathways and (ii) at least one programmatic logic routine defining how the value of the complex variable is computed in accordance with one or more of the different logical pathways, wherein execution of the at least one programmatic logic routine by the computational server cluster, results in:
receiving, by the data transceiver device and from a remote user device via the first electronic network pathway, information defining a value for a versioning input variable;
routing, by the data transceiver device and to the computational server cluster, the information defining the value for the versioning input variable;
comparing, by the computational server cluster, the information defining the value for the versioning input variable with the data stored in the computational logic data storage device that correlates the plurality of versioning input variable values and different logical pathways;
identifying, by the computational server cluster and based on the comparing, a first one of the different logical pathways that correlates to the information defining the value for the versioning input variable;
identifying, by the computational server cluster and by querying the historic data aggregation device in accordance with logic defined by the first one of the different logical pathways, a historic value for the complex variable;
identifying, by the computational server cluster and by querying the historic data aggregation device in accordance with logic defined by the first one of the different logical pathways, (i) a historic value for each one of the plurality of variables, the historic value comprising a value for the respective one of the plurality of variables for a historic time period, and (ii) a current value for each one of the plurality of variables, the current value comprising a value for the respective one of the plurality of variables for a current time period that is different than the historic time period;
computing, by the computational server cluster and by respectively querying each one of the plurality of data tables of the memory array utilizing, respectively, each of the current and historic values for the respective one of the plurality of variables, and in accordance with logic defined by the first one of the different logical pathways, a variable adjustment factor for the complex variable;
computing, by the computational server cluster and by executing the at least one programmatic logic routine defining how the value of the complex variable is computed in accordance with the first one of the different logical pathways, wherein the first one of the different logical pathways defines a formula that modifies the historic value for the complex variable based upon each of the computed variable adjustment factors, a current value for the complex variable;
transmitting, by the computational server cluster and to the data transceiver device, a signal indicative of the computed current value for the complex variable; and
providing, by the data transceiver device and to the remote user device via the first electronic network pathway, the data indicative of the computed current value for the complex variable.

US Pat. No. 10,169,407

METHOD FOR THE EFFICIENT ANALYSIS OF PROCESS DATA

1. A computer-implemented method for storing process data in a computer system for efficient analysis of process data, wherein the process data is generated by executing real processes, and is stored as a component of source data in at least one source system, wherein the computer system comprises a processor and a storage means coupled to the processor operatively, wherein the process data comprise a number of process instances, wherein each process instance comprises a number of process steps, wherein the method comprises:allocating, by the processor, a storage area for the process data in the storage means;
loading, by the processor, the source data comprising the process data, from the at least one source system, and storing the process steps of the source data according to a predetermined data structure in the allocated storage area of the storage means, wherein the loading of source data and the storing of process steps in the allocated storage area of the storage means comprises a step, in which the process steps of the source data are transformed into the predetermined data structure, wherein the predetermined data structure comprises at least:
a first attribute, in which a unique identification of the process instance of the respective process step is stored;
a second attribute, in which an identification of the respective process step is stored; and
a third attribute, in which the sequence of the process steps within a process instance is stored;
sorting, by the processor, the process steps in the allocated storage area, wherein the process steps, at first, are sorted according to the first attribute, and subsequently, according to the third attribute physically, wherein subsequent process steps of a process instance are stored in directly adjacent storage sections of the allocated storage area.

US Pat. No. 10,169,406

MANAGING SPARSITY IN AN MULTIDIMENSIONAL DATA STRUCTURE

International Business Ma...

1. A computer-implemented method comprising:determining a set of dimensions within a relational database to be stored in a cache, the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells;
responsive to determining the set of dimensions, restricting an initial load to a size below a threshold size by causing a multidimensional database management system to generate the initial load using only the set of dimensions having a historical access frequency meeting a pre-defined cardinality threshold of data-containing cells;
at predetermined time intervals, retrieving log files including usage information for individual dimensions in the set of dimensions stored in a cache and in uncached dimensions stored in a relational database, the usage information corresponding to a level of usage of the individual dimensions;
at the predetermined time intervals, determining at least one relatively high usage dimension in the uncached dimensions based, at least in part, upon the usage information; and
at the predetermined time intervals, causing the multidimensional database management system to refresh, in a memory device, the initial load using only a portion of the set of dimensions and the at least one relatively high usage dimension in the uncached dimensions from the usage information in the log files, the refreshing action generating an incremental load to be stored in the cache.

US Pat. No. 10,169,405

DATA MODEL SELECTION AND APPLICATION BASED ON DATA SOURCES

SPLUNK INC., San Francis...

1. A method, comprising:selecting one or more data models among a plurality of data models based on data being analyzed from a specific data source among a plurality of data sources, the one or more data models representing a view of the data associated with the specific data source, the data comprising a plurality of time-stamped, searchable events, each event in the plurality of time-stamped, searchable events including a portion of unstructured raw machine data reflecting activity in an information technology environment;
causing display, in a graphical user interface, of a representation of one or more objects that are included in the one or more data models;
receiving a selection of a first object representation of a first object among the representation of the one or more objects via the graphical user interface;
based on the first object representation, retrieving, from computer memory, a previously stored object query and an object schema associated with the first object representation;
retrieving a set of time-stamped, searchable events from the data using the object query; and
extracting first field values from one or more fields, identified by the object schema, in portions of unstructured raw machine data in the set of time-stamped, searchable events;
wherein the method is performed by one or more computing devices.

US Pat. No. 10,169,404

AUTOMATICALLY AGGREGATING DATA IN DATABASE TABLES

International Business Ma...

1. A method for aggregating data in database tables, the method comprising:creating, by one or more processors at a computer system, an aggregation object hierarchy comprising a set of tables with related key columns and data columns, wherein the aggregation object hierarchy is defined and managed as a single entity with a single definition, and a defined rule exists for each key column and each data column for each table in the set of tables;
receiving, by one or more processors at a computer system, a request to update a table row in the aggregation object hierarchy, wherein the update to the table row is based on an updated table row from a table of the set of tables in the aggregation object hierarchy;
creating, by one or more processors at a computer system, a summarized row from the updated table row, wherein the summarized row includes the key columns and one or more updated or inserted data columns from the updated table row;
determining, by one or more processors at a computer system, the summarized row exists in one or more remaining tables of the aggregation object hierarchy;
upon determining that the summarized row exists in one or more remaining tables of the aggregation object hierarchy, automatically aggregating, by one or more processors at a computer system, the one or more updated or inserted data columns of the summarized row to the one or more remaining tables in the aggregation object hierarchy, wherein the key columns and the one or more updated or inserted data columns of the summarized row are aggregated according to the defined rules that exist for each key column and each data column;
receiving, by one or more processors at a computer system, a request to add a table row in the aggregation object hierarchy, wherein the addition of the table row is based on a new table row from a table of the set of tables in the aggregation object hierarchy;
creating, by one or more processors at a computer system, a summarized row from the new table row, wherein the summarized row includes the key columns and one or more updated data columns from the new table row; and
automatically aggregating, by one or more processors at a computer system, the summarized row to one or more remaining tables in the aggregation object hierarchy, wherein the key columns and the one or more updated data columns of the summarized row are aggregated according to the defined rules that exist for each key column and each data column, wherein the automatic aggregation of the summarized row to one or more remaining tables in the aggregation object hierarchy is performed based on defined table rules for each of the one or more remaining tables in the aggregation object hierarchy, wherein the defined table rules include removing a column from the summarized row, rounding a time value to an hour, summing values, and averaging values, and wherein the defined table rules are visible to the user as part of a column label.

US Pat. No. 10,169,403

GEOGRAPHIC SPACE MANAGEMENT

International Business Ma...

1. A computer program product for managing mobile objects, the computer program product comprising one or more computer-readable storage devices and program instructions stored on at least one of the one or more storage devices, the program instructions 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,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,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,399

FLEXIBLE PROFILE GROUPING DOWNLOAD

TELEFONAKTIEBOLAGET L M E...

1. A method for providing of data, wherein the method is provided at a first database having at least one communication interface, the method comprising:providing group data;
providing data of a first entity and data of a second entity, the data of the first entity comprising individual data specific for the first entity and the group data, the data of the second entity comprising individual data specific for the second entity and the group data, the first entity comprising a first wireless machine to machine (M2M) device and the second entity comprising a second wireless M2M device, wherein the group data comprises data relating to or associated with a group of wireless M2M devices including the first wireless M2M device and the second wireless M2M device and/or data relating to the configuration of the group of wireless M2M devices, wherein the individual data specific to the first entity device comprises data specific to the first wireless M2M device and the individual data specific to the second entity comprises data specific to the second wireless M2M device;
receiving, via the at least one communication interface, a request for the data of the first entity transmitted from a second database;
determining that the data of the first entity comprises the group data and that said group data has not been previously sent to the second database;
responsive to determining that the data of the first entity comprises the group data and that said group data has not been previously sent to the second database, transmitting, via the at least one communication interface, the data of the first entity comprising the individual data specific to the first wireless M2M device and the group data to the second database;
receiving, via the at least one communication interface, a request for the data of the second entity transmitted from the second database;
determining whether the data of the second entity comprises the group data and that said group data has been previously transmitted to the second database; and
responsive to determining that the data of the second entity comprises the group data and that said group data has been previously transmitted to the second database, transmitting, via the at least one communication interface, the data of the second entity comprising the individual data specific to the second wireless M2M device without the group data to the second database.

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,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,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,355

KNOWLEDGE REPRESENTATION IN A MULTI-LAYERED DATABASE

1. A system for storing data using a knowledge representation scheme in a multi-layered database, the system comprising:a processor;
an operation module coupled to the processor to:
receive attributes of a real world entity for storage in the multi-layered database, wherein the attributes characterize properties and relationships of the real world entity; and
store an object corresponding to the real world entity in an object database layer of the multi-layered database, wherein, based on the attributes of the real world entity, the object is associated with object properties that characterize the object, at least one object relationship that relates the object to at least one other object, and relationship properties that characterize the object relation, wherein the object and the at least one object relationship are manipulated independently; and
a decomposer coupled to the processor to:
decompose the object, the object properties, the object relationship, and the relationship properties into a node, node properties associated with the node, at least one edge, and edge properties associated with the edge, wherein the node properties are indicative of the object properties, the edge is indicative of the object relationship, and the edge properties are indicative of the relationship properties of the object;
store the node, the node properties, the edge, and the edge properties in a graph database layer of the multi-layered database, wherein the edge connects the node with at least one other node corresponding to the at least one other object;
decompose further the node, the node properties, the edge, and the edge properties into the data and metadata associated with the data; and
store the data and the metadata corresponding to the node of the graph database layer in a backend database layer of the multi-layered database, wherein the backend database layer is scalable in real-time, wherein the backend database layer further store the node properties as the data and store the edge properties as the metadata,
wherein the object database layer is pluggable over the graph database layer and the graph database layer is pluggable over the backend database layer to independently change configuration of each layer,
wherein with presence of the object database layer in the multi-layered database, changes in information of the object database layer is automatically incorporated into the nodes and edges in the graph database layer, and the object in the backend database layer,
wherein the object database layer facilitates adding a new real world entity to the graph database layer unaltering the node and the edge.

US Pat. No. 10,169,353

GROUPING DOCUMENTS BASED ON DOCUMENT CONCEPTS

United Services Automobil...

1. A computer-implemented method executed by one or more processors, the method comprising:receiving at least one electronic document;
identifying, by the one or more processors, one or more words, phrases, or patterns used within the electronic document, the one or more words, phrases, or patterns based on a lexicon;
mapping, by the one or more processors using a concept library, the one or more words, phrases, or patterns to a concept intended to be conveyed by the one or more words, phrases, or patterns according to the lexicon, wherein the concept library comprises two or more lexicons each having a plurality of context entries, each context entry comprising a first set of one or more words, phrases, or patterns from a first lexicon and a second set of one or more different words, phrases, or patterns from a second lexicon, wherein both the first set and second set are mapped to at least one common concept intended to be conveyed by the respective sets of one or more words, phrases, or patterns;
generating, by the one or more processors, concept data based on the mapping; and
storing the concept data associated with the electronic document in a concept index comprising concept data associated with at least one other electronic document that conveys respective concepts according to a different lexicon from the lexicon of the at least one electronic document, the concept index comprising, for each electronic document represented in the concept index, an array of values where each value indicates a presence or absence of a given concept within a respective document irrespective of a particular lexicon used to convey the concept within the document.

US Pat. No. 10,169,352

SYSTEM FOR PERFORMING PARALLEL FORENSIC ANALYSIS OF ELECTRONIC DATA AND METHOD THEREFOR

Stroz Friedberg, LLC, Ne...

1. A system for conducting a forensic analysis of electronic data duplicated from an electronic storage device, the electronic data comprising a plurality of files and information indicative of a location of each of the plurality of files in the electronic storage device, the system comprising:a controller operatively coupled to a plurality of processors, wherein the controller is configured to:
characterize the electronic data based, at least in part, on the plurality of files and the information indicative of the location of each of the plurality of files to obtain a characterization; and
distribute a plurality of segments of the electronic data to the plurality of processors based, at least in part, on the characterization, each of the plurality of segments corresponding to at least one of the plurality of processors; and
wherein each one of the plurality of processors is configured to process each corresponding one of the plurality of segments to identify at least one characteristic of each corresponding one of the plurality of segments.

US Pat. No. 10,169,351

MERGING DIRECTORY INFORMATION FROM A USER DIRECTORY TO A COMMON DIRECTORY

INTERNATIONAL BUSINESS MA...

1. A system for merging directory information from a user directory to a common directory, the system comprising:a processor; and
computer program code, communicatively coupled to the processor, the computer program code comprising;
an extracting engine to, based on a rule associated with contents of a user directory of a local database, extract a department indicator from the user directory;
a mapping engine to map the department indicator to a corresponding user record in a common directory of a registry database;
a marking engine to, based on the department indicator, mark the user record in the common directory with a department that corresponds to the contents from the user directory with a department for controlling access to that user record in the registry database;
an assigning engine to, based on the department, assign access controls to an administrator for controlling the access to that user record in the registry database; and
a permitting engine to, based on the access controls, permit the administrator to access the user record in the registry database;
wherein the mapping engine maps the department indicator to the corresponding user record in the common directory of the registry database by:
based on a source field name associated with the contents of the user directory of the local database, determining the user directory;
sending a key field value associated with the contents to a rule engine to determine the department;
matching, via the rule, a regular expression pattern with a value associated with the source field name to determine the department indicator; and
based on the department indicator, establishing the department for the marking of the user record in the common directory that corresponds to the contents from the user directory.

US Pat. No. 10,169,350

INFORMATION PROCESSOR, NON-TRANSITORY COMPUTER READABLE MEDIUM, AND INFORMATION PROCESSING METHOD

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

1. An information processor comprising a central processing unit and associated memory configured to function as:a dividing part that divides a series of data pieces identified by an identification information piece into a plurality of data pieces; and
a providing part that provides, based on the number of digits of a total number of the plurality of data pieces resulting from the division by the dividing part, each of the plurality of data pieces with a corresponding, different identification information piece, the corresponding identification information piece including a code having digits the number of which is equal to or larger than the number of digits of the total number of the plurality of data pieces and indicating an order of placement of the data piece in the series of data pieces,
wherein for at least one of the plurality of data pieces whose order of placement is a number having less than the number of digits of the total number of the plurality of data pieces, the code of the corresponding identification information piece provided by the providing part has digits the number of which is equal to or larger than the number of digits of the total number of the plurality of data pieces, and
wherein in response to an increase in the number of digits of the total number of the plurality of data pieces, the providing part changes the code of the corresponding identification information piece of each of the plurality of data pieces to have digits the number of which is equal to the increased number of digits of the total number of the plurality of data pieces.

US Pat. No. 10,169,349

LIBRARY INDEXING SYSTEM AND METHOD

1. A method for creating a collective index for a plurality of documents, comprising the steps of:converting each document in a plurality of documents to a document file in common standard format;
identifying objects of interest, wherein objects of interest are not documents or sections of documents in said plurality of documents;
creating a list of names for each identified object of interest;
creating a single unique named object identifier tag for each named object of interest, wherein the single unique named object identifier tag does not identify any documents or sections of said documents in said plurality of documents;
processing all of the document files in common standard format, wherein said processing comprises:
searching each document to identify information pertinent to any identified object of interest, where the information has a type;
marking, in each document, information pertinent to an identified named object of interest with a unique identifier tag, said unique identifier tag comprising a combination of a form of the unique named object identifier tag for the named object of interest, and the type of information identified;
adding a destination to the document for that unique identifier tag; and overlaying the marked information within each document with a button;
constructing a plurality of menu files with multiple category levels for said collective index, wherein each type of object of interest belongs to a low category level, and each object of interest corresponds to a button in a menu file; and
inserting code text files into the document files and the plurality of menu files, wherein each code text file corresponds to the at least one of identified objects of interest, and comprises pointers to locations within the plurality of document files with information pertinent to the at least one of identified objects of interest, wherein the code text files inserted into the plurality of menu files cause one or more sub-menus to open in a window when a user clicks on a menu button for the particular identified object of interest, wherein the sub-menus present information options available for the particular identified object of interest, and cause the document file to open to the location for the selected information option.

US Pat. No. 10,169,348

USING A FILE PATH TO DETERMINE FILE LOCALITY FOR APPLICATIONS

Red Hat, Inc., Raleigh, ...

1. A method comprising:identifying a path name and a volume identifier of a file that is stored in a file system associated with a plurality of storage servers, the file being associated with a system call from a map/reduce-based application;
mounting the file system via a mount-point by using the volume identifier;
determining an extended attribute request by converting the system call from the map/reduce-based application to an executable routine to be used by the file system;
sending, by a processing device, the extended attribute request to the mount-point, the extended attribute request comprising the path name to a server computer system to identify a physical location of the file at a storage server of the plurality of storage servers in the file system, wherein the file system comprises a virtual extended attribute that identifies the physical location of the file in view of a hash value associated with the path name in the request;
receiving a response from the server computer system indicating the physical location of the file at the storage server in the file system in view of the hash value associated with the path name in the request, the received response comprising a directory name that is associated with the physical location of the file in the file system;
creating a job request for the file in view of a closeness of the physical location of the file in the file system from the received response to a physical location of another storage server to operate on the file at the storage server in the file system in view of the job request; and
sending the job request to a master storage server to combine results of an operation on the file with additional results associated with an additional job request.

US Pat. No. 10,169,347

LAYER IDENTIFICATION AND DEPENDENCY ANALYSIS FOR MANAGEMENT OF IMAGES

International Business Ma...

1. A computer-implemented method, comprising:extracting multiple layer files from an input image, wherein said input image is selected from a containerization platform repository, and wherein said extracting is carried out by at least one computing device;
identifying one or more software components in each of the multiple extracted layer files, wherein said identifying is carried out by the at least one computing device, and wherein said identifying comprises a first technique comprising:
processing each word in each of the multiple extracted layer file names;
constructing a word cloud that measures a frequency of occurrence of each unique word across the multiple extracted layer file names; and
identifying a pre-determined number of most frequently used words across the multiple extracted layer file names as software components;
manipulating the input image based on said identifying and one or more user-defined parameters, wherein said manipulating comprises (i) selecting a sub-set of one or more of the multiple layer files for retention, (ii) removing a sub-set of one or more of the multiple layer files, and (iii) modifying one or more of the layer files selected for retention and/or inserting one or more new layer files in place of one or more of the removed layer files, wherein said manipulating is carried out by the at least one computing device; and
outputting a modified version of the input image subsequent to said manipulating, wherein said modified version of the input image includes the sub-set of one or more of the multiple layer files selected for retention and any new layer files inserted in place of one or more of the removed layer files, wherein said outputting is carried out by the at least one computing device;
wherein (i) said extracting, (ii) said identifying, (iii) said manipulating, and (iv) said outputting are carried out offline.

US Pat. No. 10,169,346

FILE MIGRATION IN A HIERARCHICAL STORAGE SYSTEM

International Business Ma...

1. A method, executed by at least one processor, the method comprising:receiving a migration request for a plurality of files;
determining a file size threshold for the plurality of files based on an average recall time, average transfer speed for migrating a file, and an average migration overhead time to transfer the file;
assigning files of the plurality of files that are smaller than the file size threshold to one or more small-file secondary storage devices;
assigning files of the plurality of files that are larger than the file size threshold to one or more large-file secondary storage devices;
and initiating migration of the plurality of files front one or more primary storage devices to the secondary storage devices to which they are assigned.

US Pat. No. 10,169,344

DELETING FILES WRITTEN ON TAPE

International Business Ma...

1. A method, comprising:receiving a request to delete a file from an application;
identifying a position of data of the file to be deleted on a basis of meta-information stored in an index partition;
identifying a number of a data set including the data of the file and dummy records;
acquiring a first head position of the data set including a head record of the file to be deleted, wherein the tape apparatus is a linear tape file system (LTFS), wherein the tape includes one or more files and dummy data interposed between each of the one or more files;
acquiring a second head position of a data set including a head record of a file written immediately after the file to be deleted, wherein records within a particular data set are interleaved using an interleaving function, wherein a maximum length of records of the file is 1 MB, and a file size larger than 1 MB is divided into a plurality of records; and
overwriting, physically, the data set using the high frequency pattern by writing a high frequency pattern from the first head position to the second head position.

US Pat. No. 10,169,343

DEFERRING THE COST OF VIRTUAL STORAGE

Microsoft Technology Lice...

1. A virtual storage system, comprising:one or more processors: and
a memory configured to cause the virtual storage system to maintain a file data set in a virtual hosting layer, including being configured to at least;
execute a runtime activity on the file data set on a virtual execution layer using runtime format file representing the file data set optimized to perform the runtime activity, wherein the runtime format file omits file metadata from the file data set that is unnecessary to execute the runtime activity;
create a differencing snapshot for an interchange format file that represents the file data set and has an interchange file metadata set additional to the runtime format file allowing the file data set to be used on multiple platforms; and
execute an interchange activity to migrate a file data set between data storages using the interchange format file.

US Pat. No. 10,169,342

FILTERING DOCUMENT SEARCH RESULTS USING CONTEXTUAL METADATA

International Business Ma...

1. A computer-implemented method for filtering document search results, the computer-implemented method comprising:receiving contextual data comprising a facial movement associated with an active document, an image of a face of a user reading the active document, a location where the user read the active document, a timestamp indicating when the user read the active document; and a timestamp indicating when the user edited the active document, wherein the contextual data is based, at least in part, on physical contexts of the user, wherein the physical contexts include movement of hands, movement of eyes, posture of the user, motion of the user's body, location of the user, facial expressions, identities of people proximate the user, and environmental characteristics;
detecting an emotional response associated with the active document based on the contextual data, wherein the emotional response is detected based, at least in part, on the shape and position of the mouth, nose, eyebrows, and facial lines in the forehead in relation to one another;
generating a contextual metadata tag based on the contextual data and the detected response to the active document, the contextual metadata tag including a movement tag indicating a movement of a device while the active document was read by the user and a movement of the device while the active document was edited by the user;
receiving a query comprising a contextual keyword corresponding to the contextual metadata tag;
filtering search results received in response to the query based on the contextual metadata tag; and
displaying a list of the filtered search results.

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,340

INFORMATION PROVIDING APPARATUS AND INFORMATION PROVIDING SYSTEM

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

1. An information providing apparatus comprising:a moving unit that causes the information providing apparatus to move toward a specified destination or along a predetermined route;
an obtaining unit that obtains information associated with a user located around a current position of the information providing apparatus in accordance with moving of the moving unit; and
a presenting unit that presents the information obtained by the obtaining unit,
wherein the obtaining unit also obtains non-associated information that is not associated with the user located around the current position, and the presenting unit presents the non-associated information together with the information associated with the user located around the current position in a mixed manner.

US Pat. No. 10,169,339

CONTEXT-SENSITIVE QUERY ENRICHMENT

Elwha LLC, Bellevue, WA ...

1. A system comprising:circuitry for establishing an association between a first interface device and a second interface device;
circuitry for generating recognition data based at least in part on position of one or more portions of a person relative to one or more object portions;
circuitry for obtaining a second parameter from the second interface device based at least in part upon the recognition data;
circuitry for obtaining a first parameter from a first search task initiated at the first interface device;
circuitry for causing the second interface device to display the first parameter from the first search task initiated at the first interface device responsive to the obtaining the second parameter from the second interface device; and
circuitry for triggering a search task including at least transmitting a search expression to a search engine as a real time response to detecting a component of the search expression in a component of a vocalization, including at least circuitry for recognizing at least one search term of the search expression within the component of the vocalization without awaiting a corroborating indication or other confirmatory indication from a user.

US Pat. No. 10,169,337

CONVERTING DATA INTO NATURAL LANGUAGE FORM

INTERNATIONAL BUSINESS MA...

1. A method implemented in a computer infrastructure, comprising:obtaining document data from a document;
applying a first keyword translation to the document data;
translating, using a translation engine, a product of the first keyword translation to a natural language form;
applying a second keyword translation to a product of the natural language form translation, wherein the translation engine is provided with programming for determining how much document data is required for making a successful determination of data types prior to a translation to the natural language form; and
training a natural language engine by consuming the product of the second keyword translation.

US Pat. No. 10,169,336

TRANSLATING STRUCTURED LANGUAGES TO NATURAL LANGUAGE USING DOMAIN-SPECIFIC ONTOLOGY

International Business Ma...

1. A computer-implemented method, comprising steps of:determining one or more similarities among multiple natural language query interpretations derived from an input query;
determining one or more differences among the multiple natural language query interpretations derived from the input query;
generating one or more natural language descriptions of each of the multiple natural language query interpretations based on analysis of (i) the one or more determined similarities, (ii) the one or more determined differences, and (iii) the input query;
producing, for each of the multiple natural language query interpretations, a natural language string that represents one or more unambiguous interpretations of the input query, wherein said producing comprises consolidating the generated natural language descriptions; and
outputting each of the produced natural language strings to a user;
wherein the steps are carried out by at least one computing device.

US Pat. No. 10,169,335

CONTEXTUAL VALIDATION OF SYNONYMS IN OTOLOGY DRIVEN NATURAL LANGUAGE PROCESSING

International Business Ma...

1. A method for providing contextual validation of synonyms in ontology driven natural language processing, the method comprising the computer-implemented steps of:receiving, via at least one computing device, a user input of electronic text structured as a linear sequence of symbols;
determining, via at least one computing device, based on the linear sequence of symbols, a token that identifies a linguistic unit of the electronic text, the linguistic unit comprising at least one of a word, a punctuation symbol, a number, or a letter;
structuring, via at least one computing device, the user input into a semantic model comprising a set of classes each containing a set of related permutations of the token, wherein the semantic model is stored as data in memory of the at least one computing device;
quantifying, via at least one computing device, a linear distance between the token and a contextual token within the user input, wherein the linear distance is a quantity of additional tokens in between the token and the contextual token;
comparing, via at least one computing device, the linear distance to a pre-specified linear distance limit;
designating, via at least one computing device, the token as a synonym of one of the set of related permutations based on a result of the comparison;
annotating, via at least one computing device, the token with a class from the set of classes corresponding to the one of the set of related permutations;
when, based on the comparing, the quantified linear distance is within the pre-specified linear distance limit to the number of words,
assigning a high confidence level to the annotation, and
validating the annotation based on the high confidence level,
wherein the validating the annotation comprises restructuring, via at least one computing device, the semantic model to include a knowledge structure containing the contextual token, the linear distance, the pre-specified linear distance limit, and the designation of the token as a synonym of the one of the set of related permutations; and
when, based on the comparing, the quantified linear distance is not within the pre-specified linear distance limit to the number of words, assigning a low confidence level to the annotation.

US Pat. No. 10,169,334

SYSTEMATIC TUNING OF TEXT ANALYTIC ANNOTATORS WITH SPECIALIZED INFORMATION

International Business Ma...

1. A computer-implemented method of tuning one or more text analytic annotators comprising:generating, via a processor, a data structure including domain information and one or more information extraction rules, wherein the domain information includes one or more enumerators associated with one or more data types defining respective information categories of the domain, one or more text forms associated with one or more of the enumerators representing forms of the enumerators appearing in text, and one or more context patterns associated with one or more of the text forms, wherein the one or more extraction rules are associated with the enumerators, and wherein the domain information is generic with respect to requirements of more than one organization;
tuning, via the processor, the one or more extraction rules to a specified set of unannotated documents with specialized information including domain specific terminology of a particular organization, wherein the tuning includes:
identifying one or more additional new context patterns within the set of unannotated documents for the enumerators of the generic domain information of the data structure in a first iteration through the set of unannotated documents, wherein the first iteration:
determines exact matches between tokens within the set of unannotated documents and the one or more text forms associated with the enumerators of the generic domain information;
identifies enumerators of the generic domain information in the set of unannotated documents in response to context patterns of tokens of exact matches within the set of unannotated documents matching context patterns associated with the enumerators of the generic domain information; and
extracts the new context patterns from the set of unannotated documents for enumerators of the specialized information in response to context patterns of tokens of exact matches within the set of unannotated documents not matching context patterns associated with the enumerators of the generic domain information;
identifying one or more additional new context patterns and new text forms within the set of unannotated documents for enumerators of the specialized information in a second iteration through the set of unannotated documents, wherein the second iteration:
determines partial matches between tokens within the set of unannotated documents and the one or more text forms associated with enumerators of the generic domain information, wherein the partial matches are based on matching n-grams having a length less than the tokens and text forms;
extracts the new context patterns for tokens of the partial matches within the set of unannotated documents; and
identifies the additional new context patterns and text forms in response to the extracted context patterns for the partial matches matching one of: the context patterns of the enumerators of the generic domain information and the context patterns of the specialized information from the first iteration;
updating the data structure with the additional new context patterns and text forms from the first and second iterations without user intervention to expand the generic domain information to cover the specialized information; and
analyzing the set of unannotated documents based on the updated data structure and generating one or more additional extraction rules based on the analysis;
configuring, via the processor, one or more text analytic annotators for the specialized information based at least on the additional extraction rules, identified enumerators of the generic domain information, and enumerators of the specialized information; and
processing documents with the specialized information via the configured text analytic annotators.

US Pat. No. 10,169,333

SYSTEM, METHOD, AND RECORDING MEDIUM FOR REGULAR RULE LEARNING

INTERNATIONAL BUSINESS MA...

1. A regular rule learning system, comprising:a processor; and
a memory, the memory storing instructions to cause the processor to execute:
an analyzing circuit configured to analyze a corpus of sentences to discover lexical features of the sentences and to find semantic relationships between sentence constituents that are responsible for specific senses of words in that sentence by describing the semantic relationships and grammatical relations that are actuated in the sentence,
wherein the lexical features are unknown prior to the analyzing circuit discovering the lexical features.

US Pat. No. 10,169,332

DATA ANALYSIS FOR AUTOMATED COUPLING OF SIMULATION MODELS

International Business Ma...

1. A method linking variables within disparate simulation models, the method comprising:extracting, with a distributed processor, a first variable description associated with a first variable within a simulation input data structure comprising input data that is to be read and operated upon by a first simulation model;
extracting, with the distributed processor, a plurality of variable descriptions within an output data structure comprising output data that has been operated upon and written by a second simulation model;
determining, with the distributed processor, character strings within an information corpus that are similar to the first variable description;
ranking, with the distributed processor, the character strings in order of confidence levels, wherein each confidence level indicates a degree of similarity between an associated character string and the first variable description;
determining, with the distributed processor, a particular variable description of the plurality of variable descriptions within the output data structure is equal to a character string, wherein the particular variable description is associated with a second variable; and
linking, with the distributed processor, the first variable to the second variable if the rank of the equal character string is greater than a confidence level threshold.

US Pat. No. 10,169,331

TEXT MINING FOR AUTOMATICALLY DETERMINING SEMANTIC RELATEDNESS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:by a text mining server that autonomously determines semantic relatedness of a plurality of semantic concepts:
establishing a network connection to one or more social networking platform servers;
identifying, by programmatically navigating at least one application programming interface (API) of at least one social networking application hosted by the one or more social networking platform servers, multiple reference documents and multiple test documents published by the one or more social networking platform servers;
applying a first text mining analysis on the reference documents and extracting a non-redundant set of reference concepts from the reference documents;
for each reference concept of the set of reference concepts, computing a reference co-occurrence frequency (RCCF), the RCCF indicating the frequency of co-occurrence of the reference concept with all other reference concepts within the reference documents;
applying a second text mining analysis on the test documents and extracting a non-redundant set of test concepts, the test concepts comprising one or more new concepts that are not elements of the set of reference concepts and the test concepts comprising one or more of the reference concepts;
computing an extended co-occurrence matrix indicating the frequency of co-occurrence of each new concept and each reference concept with all other new concepts and reference concepts within the test documents;
for each of the new concepts, computing a new concept relatedness score (NCRS) as a function of the co-occurrences of the new concept in the extended co-occurrence matrix, the NCRS representing the semantic relatedness of the new concept to a totality of the reference concepts;
for each of the test documents, computing a document similarity score (DSS) by aggregating the NCRS of each new concept and the RCCF of each reference concept contained in the test document, the DSS representing the semantic relatedness of the test document to the totality of the reference concepts;
automatically identifying any of the test documents with a computed DSS below a DSS threshold value; and
one or more of marking, blocking and removing any identified test documents with the computed DSS below the DSS threshold value.

US Pat. No. 10,169,329

EXEMPLAR-BASED NATURAL LANGUAGE PROCESSING

Apple Inc., Cupertino, C...

1. A non-transitory computer-readable storage medium for natural language processing comprising computer-executable instructions for causing a processor to:receive a speech input representing a user request;
generate a first text phrase corresponding to the speech input;
determine, with respect to a semantic space, a plurality of semantic edit distances between the first text phrase and a plurality of exemplar text phrases, wherein each exemplar text phrase of the plurality of exemplar text phrases is associated with a respective predetermined intent of a plurality of predetermined intents;
determine a plurality of centroid distances between a centroid position of the first text phrase in the semantic space and a plurality of centroid positions of the plurality of exemplar text phrases in the semantic space;
determine a plurality of degrees of semantic similarity between the first text phrase and the plurality of exemplar text phrases, wherein each degree of semantic similarity of the plurality of degrees of semantic similarity is determined based on a linear combination of a respective semantic edit distance of the plurality of semantic edit distances and a respective centroid distance of the plurality of centroid distances;
identify, based on the plurality of degrees of semantic similarity, a first exemplar text phrase of the plurality of exemplar text phrases, wherein the first exemplar text phrase is most semantically similar to the first text phrase among the plurality of exemplar text phrases, and wherein the first exemplar text phrase is associated with a first predetermined intent of the plurality of predetermined intents;
determine, based on the identified first exemplar text phrase, a user intent corresponding to the first text phrase, wherein the determined user intent corresponds to the first predetermined intent; and
in accordance with the determined user intent, perform one or more tasks responsive to the user request.

US Pat. No. 10,169,328

POST-PROCESSING FOR IDENTIFYING NONSENSE PASSAGES IN A QUESTION ANSWERING SYSTEM

International Business Ma...

1. A method, in a data processing system, for identifying nonsense passages, the method comprising:annotating, by an annotator in a nonsense identification component within a natural language processing pipeline configured to execute in the data processing system, an input passage with linguistic features to form an annotated passage;
counting, by metric counters component in the nonsense identification component, a number of instances of each type of linguistic feature in the annotated passage to form a set of feature counts;
determining, by the metric counters component, a value for a metric based on the set of feature counts;
comparing, by a comparator component of the nonsense identification component, the value for the metric to a predetermined model threshold;
determining, by a filter component of the nonsense identification component, whether the input passage is a nonsense passage based on a result of the comparison;
responsive to the filter component determining the given evidence passage is a nonsense passage, sending, by the filter component of the nonsense identification component, the input passage to a semi-structured data pipeline configured to execute in the data processing system and preventing the input passage from proceeding in the natural language processing pipeline; and
responsive to the filter component not determining that the input passage is a nonsense passage, passing, by the filter component, the input passage to the natural language processing pipeline.

US Pat. No. 10,169,327

COGNITIVE REMINDER NOTIFICATION MECHANISMS FOR ANSWERS TO QUESTIONS

International Business Ma...

1. A method, in a data processing system comprising a processor and a memory that operate to implement a natural language processing system, the method comprising:generating, by the natural language processing system implemented by the data processing system, a result of processing a natural language query;
determining, by the data processing system, that at least one of the natural language query or the result comprises a temporal characteristic;
in response to determining that at least one of the natural language query or the result comprises a temporal characteristic, generating a reminder notification data structure having an associated scheduled reminder notification time for outputting a reminder notification of the result generated for the natural language query;
storing the reminder notification data structure in a data storage device; and
at a later time from a time that the reminder notification data structure was stored in the data storage device, in response to the later time being equal to or later than the scheduled reminder notification time, outputting a reminder notification to a client device associated with a user, wherein the reminder notification specifies the result generated for the natural language query and a historical listing that specifies a history of changes to the result occurring from a time that the result was originally generated for the natural language query and the scheduled reminder notification time, wherein the historical listing includes at least one change from the time that the result was originally generated for the natural language query and the scheduled reminder notification time.

US Pat. No. 10,169,326

COGNITIVE REMINDER NOTIFICATION MECHANISMS FOR ANSWERS TO QUESTIONS

International Business Ma...

1. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device implementing a natural language processing system, causes the computing device to:generate, by the natural language processing system, a result of processing a natural language query;
determine that at least one of the natural language query or the result comprises a temporal characteristic;
generate, in response to determining that at least one of the natural language query or the result comprises a temporal characteristic, a reminder notification data structure having an associated scheduled reminder notification time for outputting a reminder notification of the result generated for the natural language query;
store the reminder notification data structure in a data storage device; and
output, at a later time from a time that the reminder notification data structure was stored in the data storage device, in response to the later time being equal to or later than the scheduled reminder notification time, a reminder notification to a client device associated with a user, wherein the reminder notification specifies the result generated for the natural language query and a historical listing that specifies a history of changes to the result occurring from a time that the result was originally generated for the natural language query and the scheduled reminder notification time, wherein the historical listing includes at least one change from the time that the result was originally generated for the natural language query and the scheduled reminder notification time.

US Pat. No. 10,169,325

SEGMENTING AND INTERPRETING A DOCUMENT, AND RELOCATING DOCUMENT FRAGMENTS TO CORRESPONDING SECTIONS

INTERNATIONAL BUSINESS MA...

13. A computer program product comprising a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:receive a first item and a second item;
determine that the first item is a fragment matching a lexicon;
place the fragment in a first section of a document, the first section selected based on the matching lexicon;
segment the document into multiple sections, wherein each of the multiple sections corresponds to a respective section type of multiple section types;
segment items in a first section of multiple sections of the document into multiple fragments, wherein the first section corresponds to a first section type;
determine a section type of each of the multiple fragments in the first section;
determine whether the multiple fragments include fragments that correspond to different section types and that are interspersed among each other in even proportions; and
based on the multiple fragments in the first section including fragments that correspond to different section types and that are interspersed among each other in even proportions:
determine that the fragments that correspond to different section types and that are interspersed among each other in even proportions do not belong in the first section;
generate a new section corresponding to a section type that corresponds to a section type that is different than the multiple section types; and
re-locate the fragments that correspond to different section types and that are interspersed among each other in even proportions to the new section.

US Pat. No. 10,169,323

DIAGNOSING AUTISM SPECTRUM DISORDER USING NATURAL LANGUAGE PROCESSING

International Business Ma...

1. A method for evaluating a textual conversation, comprising:generating a machine learning (ML) model using training data comprising a first plurality of training examples, each example being a text of a conversation labeled as exhibiting at least one characteristic of autism;
receiving text of an ongoing conversation between a plurality of participants;
annotating the text of the conversation using natural language processing;
identifying features in the conversation using the annotations;
evaluating the features using the ML model to determine a measure of probability that a first one of the plurality of participants in the conversation falls on the autism spectrum; and
based on the measure of probability, outputting for display, during the conversation, a notice indicating that the first participant has exhibited a characteristic of autism.

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,321

BROWSER EXTENSION FOR FIELD DETECTION AND AUTOMATIC POPULATION

CAPITAL ONE SERVICES, LLC...

1. A browser extension system comprising:a communication device configured to communicate with a computing device executing a browser extension application;
a memory storing instructions; and
a processor configured to execute the instructions to perform operations comprising:
generating a regular expression configured to detect a plurality of fields in a web page, wherein the regular expression is a sequence of characters defining a search pattern and the web page includes a merchant-provided payment process, and wherein the payment process includes a message;
providing the regular expression to the browser extension application;
receiving, from the browser extension application, an indication of an unrecognized field in the web page based on an execution of the browser extension application by the computing device, the execution comprising using the regular expression to detect a transaction field in a web page;
in response to the received indication of the at least one unrecognized field, providing, via a pop-up notification, suggested transaction data to the browser extension application based on:
(1) transaction data not used to automatically populate a recognized transaction field, and
(2) a characteristic of the unrecognized field detected by the regular expression, the characteristic comprising a number of characters required to populate the field, and one or more types of characters required to populate the field;
receiving, from the browser extension application, an indication of a selection of the suggested transaction data to populate the unrecognized field;
generating an updated regular expression configured to detect the unrecognized field in the web page based on the selection of the suggested transaction data;
providing the updated regular expression to the browser extension application; and
receiving, from the browser extension application, an indication of an additional transaction field detected in the message.

US Pat. No. 10,169,319

SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR IMPROVING DIALOG SERVICE QUALITY VIA USER FEEDBACK

INTERNATIONAL BUSINESS MA...

1. A computer-implemented dialog performance improvement method, the method comprising:computing a plurality of question classes and a confidence score for each of the question classes for a language input of a user;
comparing the confidence score to an upper threshold and a lower threshold for each of the question classes to determine which of at least one action to perform;
receiving a language feedback from the user for the performed action; and
adjusting at least one of the upper threshold and the lower threshold based on the language feedback from the user,
wherein the at least one action to perform includes a different action based on the confidence score being above, below, or in between the upper threshold and the lower threshold,
wherein, if the confidence score is between the upper threshold and the lower threshold, querying the user for a second language feedback, and decreasing the upper threshold to produce an updated upper threshold if the second language feedback includes a positive feedback or increasing the lower threshold to produce an updated lower threshold if the second language feedback includes a negative feedback, thereby to refine a distance between the upper threshold and the lower threshold in order to increase an accuracy of an answer to the plurality of question classes, and
wherein a confidence score of a next language input of the user is compared with the updated upper threshold or the updated lower threshold to determine which of the at least one action to perform.

US Pat. No. 10,169,318

FILTER AND SORT BY FORMAT

Microsoft Technology Lice...

1. A method executable on a computer system for organizing data cells, the computer system having a graphical user interface including a display device and one or more user interface selection devices, the method comprising:providing a sheet comprising a plurality of data cells, comprising:
at least a first data cell associated with a first format;
at least a second data cell associated with a second format; and
at least a third data cell associated with a third format;
receiving a selection of data cells within the plurality of data cells, wherein the selected data cells comprise at least the first data cell and the second data cell but not the third data cell, and wherein the selected data cells are not associated with the third format;
analyzing the selected data cells to identify one or more formats associated with the selected data cells, wherein analyzing the selected data cells includes identifying the first format and the second format but not the third format;
providing a menu, wherein the menu includes options for organizing the selected data cells, and wherein the options include the first format and the second format but not the third format;
organizing the selected data cells based on the first format;
displaying the organized data cells, including displaying at least the first data cell having the first format and at least the second data cell having the second format; and
simultaneously displaying at least the third data cell associated with the third format.

US Pat. No. 10,169,317

RENDERING COMMON CELL FORMATTING FOR ADJACENT CELLS

Apple Inc., Cupertino, C...

1. One or more non-transitory, tangible machine-readable media comprising instructions to:identify a set of adjacent cells in a table of cells that have at least one border edge in common with another cell in the set of adjacent cells and at least one type of cell formatting in common, wherein the at least one type of cell formatting comprises a fill pattern having a particular shape;
identify a contiguous border around the set of adjacent cells;
apply the fill pattern contiguously to an area inside the contiguous border; and
render on a display the set of adjacent cells in the table of cells with the cell formatting applied contiguously within the contiguous border, rendering the at least one type of cell formatting as a single entity instead of individually for each cell, such that the cell formatting is automatically rendered on the display to appear seamless between each cell in the set of adjacent cells by displaying the cell formatting without cell borders within the contiguous border.

US Pat. No. 10,169,316

METHOD AND SYSTEM TO CONVERT DOCUMENT SOURCE DATA TO XML VIA ANNOTATION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:providing a defined set of XML tags to a user for annotating a document;
receiving, by one or more computing systems and from the user, the document that includes source data and one or more annotations by the user regarding a subset of the source data, wherein the one or more annotations are selected from the defined set of XML tags and wherein each of the one or more annotations describe and delineate boundaries of the subset of the source data;
parsing, by the one or more computing systems, the document based on the one or more annotations, wherein parsing the document includes:
generating, based at least in part on the one or more annotations, one or more data structures corresponding to the subset of the source data; and
constructing, based at least in part on mapping of the one or more data structures, a target XML document that consists of information extracted from the subset of the source data, wherein the subset includes multiple distinct subsets of the source data, and wherein at least one of the distinct subsets includes a data table having a first number of columns that is distinct from a second number of columns included in a data table associated with at least one other of the distinct subsets.

US Pat. No. 10,169,314

SYSTEM AND METHOD FOR MODIFYING WEB CONTENT

1. A web server for modifying web content, comprising:a network interface configured to receive, via a network, a body of existing digital text web content from a tag that is embedded within and hosted by a web page having the body of digital text stored therein; and
a processor configured to
identify at least one keyword included within the body of the existing digital text,
determine supplemental digital text web content from a web page of a different website having content to add to the body of the existing digital text web content based on the identified at least one keyword, and
generate additional text to add to the body of the existing digital text web content, the generating comprising retrieving a string of additional words which include empty data fields interspersed therein, and filling-in the empty data fields with auto-detected keywords from the supplemental digital text web content of the web page of the different website to generate a filled-in string of words that comprises a description based on a position between the beginning and the end of the body of the existing digital text web content where the filled-in string of words are to be embedded,
wherein the network interface is further configured to transmit the filled-in string of words to the tag embedded within and hosted by the web page thereby integrating the filled-in string of words into the body of the existing digital text stored within the web page without removing text content from the body of the existing digital text web content.

US Pat. No. 10,169,313

IN-CONTEXT EDITING OF TEXT FOR ELEMENTS OF A GRAPHICAL USER INTERFACE

SAP SE, Walldorf (DE)

1. A non-transitory computer-readable medium having stored thereon computer-executable instructions for causing a computer system, when programmed thereby, to perform:receiving user input specifying a graphical user interface (“GUI”);
determining multiple GUI elements associated with the GUI;
retrieving code defining the multiple GUI elements, wherein, for at least a portion of the multiple GUI elements, the code defines multiple textual content items to be displayed in association with a respective GUI element;
rendering a display divided into a first, shell portion, and a second, editing portion, wherein the first and second portions are displayed such that GUI elements of the multiple GUI elements displayed in the first portion do not overlap or obscure, and are not overlapped or obscured by, GUI elements of the multiple GUI elements displayed in the second portion;
rendering for display the GUI in the first portion of the display, the GUI comprising the multiple GUI elements, based at least in part on the retrieved code, at least a portion of the multiple GUI elements being operable by a user;
concurrently rendering for display in the second portion of the display a first textual content item and at least a second textual content item associated with at least one GUI element, at least one of the first textual content item and the at least a second textual content item being concurrently displayed in the first portion of the display;
receiving user input from the user in the second portion of the display for the first textual content item of the at least one GUI element;
based at least in part on the user input, updating at least some of the text of the first textual content item specified by the at least one GUI element in the displayed GUI; and
updating the code defining the at least one GUI element with the updated text, wherein the updated text is displayed when the at least one GUI element is rendered in another display.

US Pat. No. 10,169,310

RICH TEXT HANDLING FOR A WEB APPLICATION

INTERNATIONAL BUSINESS MA...

1. A computer program product comprising a computer readable hardware storage memory device having readable program code embodied in the hardware storage memory device, the computer program product includes at least one component, the at least one component executed by a processor to:initialize a dictionary containing words;
create at least one signature for each dictionary word;
add each dictionary word to at least one list keyed by each of the at least one signatures for each dictionary word;
determine that a word is misspelled by checking the dictionary for the misspelled word resulting in a null value, the checking the dictionary comprising determining whether the misspelled word is present in the at least one list for a primary signature of the misspelled word, and when the misspelled word is not present in the at least one list, then the misspelled word is not spelled correctly resulting in the null value;
create substitution list for the misspelled word, when the misspelled word is not spelled correctly, which includes:
creating at least one signature associated with the misspelled word;
finding all the dictionary words in the at least one list keyed by the at least one signature associated with the misspelled word; and
selecting best matches to the misspelled word;
provide from the selected best matches at least one replacement word for the misspelled word in the documents having rich text,
wherein the dictionary is initialized from wordlists and then instantiated and serialized as a serialized hashtable,
the serialized hashtable of the dictionary comprises property files in Java code for a dictionary class,
the dictionary is stored on a server side in a hardware server memory for fast retrieval, and
the at least one component is executed in a servlet environment which includes server-side Java programs that are loaded and run within a framework of a web server.

US Pat. No. 10,169,309

GENERATION OF COMBINED DOCUMENTS FROM CONTENT AND LAYOUT DOCUMENTS BASED ON SEMANTICALLY NEUTRAL ELEMENTS

International Business Ma...

1. A method for managing markup documents each having a definition conforming to a pre-defined specification, the method comprising:receiving, by a software application executing on a web server, a request to access a web site hosted on the web server;
dispatching, by the software application, the request to a web application executing on the web server;
retrieving, by the web application, a definition of a content markup document from a web page repository that maintains web pages for the web site, the definition of the content markup document comprising a set of one or more content portions each enclosed within a content element of semantically neutral type and having a corresponding content identifier;
returning, by the web application, the definition of the content markup document to a combiner application executing on the web server;
retrieving, by the combiner application interacting with the web application, a definition of a layout markup document, the definition of the layout markup document comprising a set of one or more layout elements of semantically neutral type each having a corresponding layout identifier;
generating, by the combiner application, a definition of a combined markup document from the definition of the layout markup document and the definition of the content markup document, wherein generating the definition of the combined markup document comprises inserting the content portion enclosed within each content element of the content markup document into the definition of the layout markup document in correspondence to each layout element with the corresponding layout identifier matching the corresponding content identifier of the content element;
returning, by the combiner application, the definition of the combined markup document to the software application;
wherein each content element comprises a start metadata element for a start thereof and having a first attribute with a pre-defined start value and a second attribute whose value defines the content identifier, and an end metadata element for an end thereof and having a second attribute with a pre-defined end value, and wherein each layout element is a metadata element having a third attribute with a pre-defined layout value and a fourth attribute whose value defines the layout identifier;
determining the layout elements comprised in the definition of the layout markup document; and
storing an indication of the layout elements, wherein the step of generating the definition of the combined markup document comprises:
retrieving the stored indication of the layout elements; and
for the retrieved stored indication of each layout element of the layout elements, searching for each content element in the content markup document with the corresponding content identifier that matches the corresponding layout identifier of the layout element;
updating a placeholder repository comprising the indication of the layout elements if the definition of the layout markup document has been updated since a last use thereof, wherein updating the placeholder repository comprises:
scanning the layout markup document to search for potential placeholders; and
responsive to finding a placeholder in the layout markup document, adding a corresponding layout element to an entry for the layout markup document maintained in the placeholder repository;
wherein the definition of the layout markup document and the definition of the content markup document each comprise a header and a body, and wherein metadata elements are used to enclose the content portions in the header of the content page, and to define placeholders in the header of the layout page.

US Pat. No. 10,169,306

ENHANCED FAVORITES SERVICE FOR WEB BROWSERS AND WEB APPLICATIONS

Oath Inc., Dulles, VA (U...

1. A computer-implemented method for providing persistent access to a data feed listing in a web page, the method comprising the following operations performed by at least one processor:displaying, on a user device, a window of a web browser;
displaying, in the window of the web browser, a list linking to one or more feed-enabled pages;
receiving, via the user device, input specifying a user operation associated with at least one of the one or more feed enabled pages;
providing, to at least one server, data associated with the user operation;
caching, by the at least one server, the data associated with the user operation;
analyzing, by the at least one server, the data associated with the user operation for URL information;
matching, by the at least one server, the URL information with taxonomy path data in a database; and
in response to the user operation associated with at least one of the one or more feed-enabled pages, displaying a tearoff object configured to automatically provide updated feed information in a persistent window separate from the window of the web browser.

US Pat. No. 10,169,304

PROVIDING DIFFERENT FONT HINTS BASED ON DEVICE, TEXT AND FONT CONTEXT

Amazon Technologies, Inc....

1. A method for a user device, the method comprising:receiving, at the user device, an electronic document comprising text in a first font of a plurality of fonts and a hint tag set comprising a suggested order of hint types for the first font, wherein a first hint type is arranged in the suggested order according to a corresponding quality score for the first hint type, the quality score indicating how closely characters from a generated simulated presentation of the text match a predefined presentation of the characters;
determining, by a processing device, a hint type for the first font from the suggested order of hint types and according to a capability of the user device; and
utilizing the hint type for a presentation of the text of the electronic document.

US Pat. No. 10,169,302

METHOD AND SYSTEM FOR PAGE DISPLAY, SERVER-END DEVICE, CLIENT DEVICE AND STORAGE MEDIUM

TENCENT TECHNOLOGY (SHENZ...

1. A method for page display, wherein the method is operable in a server-end device and comprises:obtaining a first page content corresponding to a page to be displayed at a client device;
allocating a page identity information to the first page content, wherein the page identity information has a one-to-one correspondence relationship with the first page content, comprising:
obtaining a page identity information category corresponding to the first page content, the page identity information category is divided as size ranges, colors and background brightness of the page;
obtaining a current value of a visual business to customer tag (vb2ctag) corresponding to the first page content based on the page identity information category, wherein the vb2ctag is a 5-digit number representing different page identity information; and
increasing the current value of the vb2ctag by one as the page identity information of the first page content;
generating a first page representation information from the first page content and the page identity information allocated to the first page content, and storing the generated first page representation information in the server-end device;
generating page invoking information from the page identity information, wherein the page invoking information contains the page identity information and is used to invoke the first page representation information;
obtaining a second page representation information; and
obtaining a second page content and the page identity information corresponding to the second page content from the second page representation information,
wherein a process of obtaining the second page content and the page identity information from the second page representation information is inverse to a process of generating the first page representation information from the first page content and the page identity information, and
the first page content and the second page content correspond to the same page identity information.

US Pat. No. 10,169,301

INTEGRATED DOCUMENT EDITOR

8. The computing device according to claim 6 wherein said region is further defined based on at least one of said plurality of document locations as represented on the touch screen being within said region.

US Pat. No. 10,169,300

ADVANCED ZERO-KNOWLEDGE DOCUMENT PROCESSING AND SYNCHRONIZATION

Entefy Inc., Palo Alto, ...

8. A digital end-user device, comprising:a network interface;
a user interface;
a display element;
memory operatively coupled to the network interface, the user interface and the display element; and
one or more processors operatively coupled to the network interface, the user interface, the display element and the memory, the one or more processors configured to execute instructions stored in the memory to cause the digital end-user device to:
request, from a network-based server system and through the network interface, a converted document, wherein the converted document includes a plaintext portion and a cyphertext portion, the plaintext portion comprising a plaintext structural element, the plaintext structural element having a token, the cyphertext portion comprising the token and a corresponding cyphertext;
receive, through the network interface, the plaintext portion and an authorization request from the network-based server system in response to the request;
send, through the network interface, authorization credentials to the network-based server system in response to the authorization request;
receive, through the network interface, the cyphertext portion from the network-based server system in response to the authorization credentials;
decrypt the cyphertext to generate content;
identify a location in the plaintext portion based on the cyphertext's corresponding token;
replace the token in the plaintext portion with the content; and
display the converted document based on the plaintext structural element and the content.

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,297

RESISTIVE MEMORY ARRAYS FOR PERFORMING MULTIPLY-ACCUMULATE OPERATIONS

HEWLETT PACKARD ENTERPRIS...

1. A resistive memory array comprising:a number of resistive memory elements to receive a common-valued read signal, in which a resistance of a resistive memory element defines a value within a matrix;
a number of multiplication engines to perform a multiply operation by:
receiving a memory element output from a corresponding resistive memory element;
receiving an input signal; and
generating a multiplication output based on a received memory element output and a received input signal;
a conditioning resistor to condition the multiplication outputs; and
an accumulation engine to sum the multiplication outputs from the number of multiplication engines, in which the summed multiplication outputs represent a multiplication of the matrix and a number of input signals.

US Pat. No. 10,169,296

DISTRIBUTED MATRIX MULTIPLICATION FOR NEURAL NETWORKS

Intel Corporation, Santa...

1. An apparatus, comprising:a plurality of memory elements to store matrix data, wherein the matrix data comprises a plurality of input matrices; and
a plurality of processing elements to perform a matrix operation associated with the plurality of input matrices, wherein the plurality of processing elements is configured to:
partition the plurality of input matrices into a plurality of input partitions, wherein the plurality of input matrices is partitioned based on a number of available processing elements;
distribute the plurality of input partitions among the plurality of processing elements, wherein each input partition is distributed to a particular processing element of the plurality of processing elements;
perform a plurality of partial matrix operations using the plurality of processing elements;
transmit partial matrix data between the plurality of processing elements while performing the plurality of partial matrix operations; and
determine a result of the matrix operation based on the plurality of partial matrix operations.

US Pat. No. 10,169,294

CONFIGURABLE FFT ARCHITECTURE

Imagination Technologies ...

1. A device for performing a Fast Fourier Transform (FFT) on an input dataset, the device comprising:an FFT pipeline comprising a first stage configured to receive the input dataset, a plurality of intermediate stages and a final stage, each stage comprising: a stage input; a computational element; and a stage output;
a controller configured to select a size for the FFT;
a multiplexer configured to: receive data output from one of the intermediate stages and data output from the final stage; select one of the received outputs in dependence on the selected FFT size; and output said selection as a result of the FFT on the input dataset;
a complex multiplier configured to perform multiplication of data at a point in the FFT pipeline, wherein the controller is further configured to select a multiplication factor for performing the multiplication by the complex multiplier in dependence on the FFT size; and
a constant multiplier configured to perform multiplication of data at a point in the FFT pipeline, wherein the controller is further configured to select a value from a precomputed set of values for performing the multiplication by the constant multiplier, the value being selected in dependence on the FFT size.

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,290

DATA PROCESSING METHOD AND APPARATUS

Huawei Technologies Co., ...

1. A method for processing data by a data processing apparatus, the method comprising:acquiring historical data, by a network interface of the data processing apparatus, wherein the historical data belongs to a first level and a second level, and data corresponding to the first level comprises data corresponding to the second level;
generating, by a processor of the data processing apparatus, from the historical data, a first-granularity data set according to a first granularity;
generating, by the processor, from the historical data, a second-granularity data set according to a second granularity, wherein the first granularity and the second granularity respectively correspond to the first level and the second level;
performing, by the processor, modeling for a second-granularity forecasting model according to the first-granularity data set and the second-granularity data set;
performing, by the processor, an performing forecasting by using the second-granularity forecasting model; and
obtain, by the network interface, second-granularity forecast data.

US Pat. No. 10,169,289

MEMORY SYSTEM AND METHOD FOR ACCELERATING BOOT TIME

SK Hynix Inc., Gyeonggi-...

1. A memory system comprising:a plurality of memory channels, each of the plurality of memory channels includes a plurality of memory dies and a die processor, each of the plurality of memory dies includes a plurality of memory blocks; and
a memory controller including a monarch processor, coupled to the plurality of memory channels,
wherein the die processor on each of the plurality of memory channels is configured in parallel to:
process to find last written data within at least a predetermined block of the plurality of memory dies; and
provide information regarding the last written data to the monarch processor, the monarch processor determines which boot record to be used to identify firmware images based on the information.

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,285

PORTABLE COMPUTING SYSTEM AND PORTABLE COMPUTER FOR USE WITH SAME

1. A computing system having a disconnected state and a connected state for operation, the computing system comprising:a portable computer comprising:
a processor;
a controller;
at least one integrated circuit for storing data; and
at least one connector,
the portable computer being no greater in size than 100 mm by 60 mm and no greater than 6 mm thick, a thermally conductive coating being disposed between the processor and an outer metallic case of the portable computer; and
a reader comprising:
a housing;
at least one input port;
at least one output port; and
at least one connector,
the reader having no user application processing CPU,
the portable computer and the reader comprising, in the connected state:
the at least one connector of the portable computer connected to the at least one connector of the reader;
the at least one input port and the at least one output port of the reader providing access to the portable computer, in order to access the stored data contained on the at least one integrated circuit of the portable computer; and
the reader routing signals between the at least one input port and the at least one output port of the reader and the portable computer, for accessing the stored data contained on the at least one integrated circuit of the portable computer; and
the portable computer and the reader comprising, in the disconnected state:
the at least one connector of the portable computer disconnected from the at least one connector of the reader; and
the at least one input port and the at least one output port of the reader providing no access to the at least one integrated circuit, so there is no ability to access the stored data contained in the at least one integrated circuit of the portable computer via the reader.

US Pat. No. 10,169,283

CUSTOM DATA TRANSFER CONNECTOR AND ADAPTER

ARRIS Enterprises LLC, S...

1. A system for transferring data between a first device and a second device, the system comprising:an adapter base, wherein the adapter base is attached to the first device, and wherein the adapter base is secured to an enclosure of the first device;
a data transfer adapter, wherein the data transfer adapter comprises a serial AT attachment adapter, wherein the data transfer adapter is attached to the adapter base, and wherein the data transfer adapter comprises a clip at each end of the data transfer adapter, the clips providing for an attachment of the data transfer adapter to the adapter base and for a removal of the data transfer adapter from the adapter base; and
a connector opening coupled to the second device, wherein the connector opening comprises a serial AT attachment connector, wherein the connector opening is mounted to the bottom of an enclosure of the second device, and wherein the connector opening comprises one or more connector ports positioned within the connector opening according to a first orientation;
wherein the data transfer adapter comprises a pinout configuration that mates with the one or more connector ports positioned within the connector opening according to the first orientation, wherein the pinout configuration of the data transfer adapter mates with the one or more connector ports positioned within the connector opening when the enclosure of the first device is temporarily attached to the enclosure of the second device.

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,280

DATA PROCESSING APPARATUS AND TERMINAL

HUAWEI TECHNOLOGIES CO., ...

1. An apparatus, comprising:an input switching module;
a buffer module; and
an output switching module;
wherein the buffer module comprises N buffer units, and N is a positive integer greater than 1;
wherein a first input end to an Nth input end of the input switching module are respectively connected to a first input end to an Nth input end of the apparatus, and a first output end to an Nth output end of the input switching module respectively correspond to a first buffer unit to an Nth buffer unit comprised in the buffer module; and
wherein a first input end to an Nth input end of the output switching module respectively correspond to the first buffer unit to the Nth buffer unit, and a first output end to an Nth output end of the output switching module are respectively connected to a first output end to an Nth output end of the apparatus;
wherein the input switching module is configured to acquire target data transmitted by a target input end of the apparatus, wherein the target input end is one or more input ends of the apparatus;
wherein the apparatus further comprises a write arbiter, a read arbiter, and a rearranger;
wherein a control end of the write arbiter is connected to a control end of the input switching module, and the write arbiter is configured to control the input switching module to store the target data into a target buffer unit, wherein the target buffer unit is one or more buffer units of the N buffer units;
wherein a control end of the read arbiter is connected to a control end of the output switching module, and the read arbiter is configured to control the output switching module to read the target data from the target buffer unit;
wherein the first output end to the Nth output end of the output switching module are respectively connected to a first input end to an Nth input end of the rearranger;
wherein a first output end to an Nth output end of the rearranger are respectively connected to the first output end to the Nth output end of the apparatus;
wherein the read arbiter is further configured to control the output switching module to transmit the target data to a target input end of the rearranger, wherein the target input end is an input end of the rearranger that is used to transmit the data to a target output end of the rearranger, the target output end is an output end of the rearranger that is connected to a destination port of the target data, and a destination end of the target data is one or more output ends of the apparatus; and
wherein the rearranger is configured to, when there are a plurality of pieces of data that are in a storage space of the rearranger and whose destination ports are the same as the destination port of the target data, sort the plurality of pieces of data whose destination ports are the same, and then output the plurality of pieces of data whose destination ports are the same to the destination port according to a result of the sorting.

US Pat. No. 10,169,279

INPUT/OUTPUT CONTROL DEVICE, INPUT/OUTPUT CONTROL SYSTEM, AND INPUT/OUTPUT CONTROL METHOD FOR CONVERSION OF LOGICAL ADDRESS OF INSTRUCTION INTO LOCAL ADDRESS OF DEVICE SPECIFIED IN INSTRUCTION

NEC CORPORATION, Tokyo (...

1. An input/output control device connected to an input/output switch which transfers a received input/output instruction to an input/output device whose local address is specified in the input/output instruction, the input/output control device comprising:a memory that stores specific information about a processor as well as storing a conversion table for converting a logical address of the input/output device into the local address, with the specific information and the conversion table each being associated with a group ID (Identification) of a device group which includes the processor and the input/output device; and
circuitry which has a configuration to identify the group ID of the device group from the specific information about a processor of sender which information is obtained when an input/output instruction is received, convert the logical address included in the input/output instruction into the local address which is obtained from the conversion table for the identified group ID of the device group, and send the input/output instruction to the input/output switch,
wherein the local address is associated with an input/output device ID identifying the input/output device, the input/output device ID including a bus number representing a bus to which the input/output device is connected.

US Pat. No. 10,169,278

LIN BUS MODULE

INFINEON TECHNOLOGIES AG,...

1. A network node for connecting to a Local Interconnect Network (LIN), the network node comprising:a bus terminal operably coupled to a data line to receive a data signal representing serial data via the data line, the data signal having a high signal level and a low signal level;
a receiver circuit coupled to the bus terminal, the receiver circuit including a comparator having a first input coupled to the bus terminal and a second input configured to receive a reference signal, wherein the comparator is configured to compare the data signal with the reference signal, and the comparator generates a binary output signal representing a result of the comparison;
a measurement circuit having an input coupled to the bus terminal, the measurement circuit configured to measure an amplitude of the high signal level of the data signal and to provide a first voltage signal at an output of the measurement circuit, the first voltage signal having a voltage proportional to the high signal level of the data signal received on the data line via the bus terminal; and
a scaling circuit having an input coupled to the output of the measurement circuit and an output coupled to the second input of the comparator, the scaling circuit configured to generate the reference signal from the first voltage signal, wherein the reference signal is provided at the output of the scaling circuit, and the reference signal is proportional to the first voltage signal.

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,274

SYSTEM AND METHOD FOR CHANGING A SLAVE IDENTIFICATION OF INTEGRATED CIRCUITS OVER A SHARED BUS

QUALCOMM Incorporated, S...

1. A method for resetting a slave identification (SID) of an integrated circuit (IC) on a computing device, the method comprising:determining that a plurality of ICs in communication with a shared bus operating in a master/slave configuration have the same SID;
identifying a common memory address of the plurality of ICs where data stored in the common memory address of a first of the plurality of ICs is different than data stored in the common memory address of a second of the plurality of ICs;
receiving at each of the plurality of ICs over the shared bus a first new SID value and a second new SID value;
receiving at each of the plurality of ICs over the shared bus a match data;
comparing with logic at each of the plurality of the ICs the received match data with the data stored in the common memory address of the plurality of ICs; and
based on the comparison, when the received match data is the same as the data stored in the common memory address, changing the SID of the IC to the received first new SID value.

US Pat. No. 10,169,273

FORCED COMPRESSION OF SINGLE I2C WRITES

QUALCOMM Incorporated, S...

1. A method performed at a physical layer interface in a master device coupled to a serial bus, comprising:buffering a first single-byte transaction addressed to a first register at a first address in a slave device coupled to the serial bus in a first-in-first-out buffer of the physical layer interface;
receiving at the physical layer interface a second single-byte transaction addressed to a second register at a second address in the slave device coupled to the serial bus;
determining in the physical layer interface whether the second address is incrementally greater than the first address;
combining the second single-byte transaction with the first single-byte transaction to obtain a multi-byte transaction;
replacing the first single-byte transaction with the multi-byte transaction in the first-in-first-out buffer; and
transmitting a sequence of transactions output by the first-in-first-out buffer over the serial bus.

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,271

DIRECT MEMORY ACCESS DESCRIPTOR

XILINX, INC., San Jose, ...

1. A system comprising:a memory;
a first buffer;
a second buffer; and
a direct memory access circuit coupled to the memory and first and second buffers and configured to:
receive a data transfer request indicating a first descriptor and a second descriptor, wherein the first descriptor indicates a first set of addresses of the first buffer from which a set of data is to be read and the second descriptor indicates a second set of addresses of the second buffer to which the set of data is to be written;
wherein:
the first descriptor references a first linked list of descriptor blocks,
the second descriptor references a second linked list of descriptor blocks, and
each of the descriptor blocks is stored in a contiguous portion of the memory, each descriptor block stores a set of descriptor entries that references a plurality of addresses of the first or second sets of addresses, and each descriptor entry includes a marker;
in response to receiving the data transfer request, transfer the set of data from the first set of addresses in the first buffer to the second set of addresses in the second buffer by traversing the first and second linked lists of descriptor blocks;
in response to the marker in a descriptor entry of the first descriptor or the second descriptor being a pause marker, pausing the transfer of the set of data from the first set of addresses in the first buffer for a period of time until the pause marker is removed; and
in response to the marker in a descriptor entry of the first descriptor or the second descriptor being a stop marker, ending the transfer the set of data from the first set of addresses in the first buffer.

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,269

ARCHITECTURE AND METHOD FOR MANAGING INTERRUPTS IN A VIRTUALIZED ENVIRONMENT

INTEL CORPORATION, Santa...

1. A system to manage interrupts, comprising:a processor; and
a non-transitory computer readable medium to store a set of instructions for execution by the processor, the set of instructions to cause the processor to:
receive an interrupt for a virtual machine (VM);
determine whether the VM is in a first mode of operation or a second mode of operation;
route the interrupt directly to a processor core for the VM and bypass a hypervisor when the VM is in the first mode of operation;
route the interrupt to the hypervisor for the VM when the VM is in the second mode of operation;
receive an end-of-interrupt (EOI) for the interrupt, the EOI to indicate completion of interrupt processing of the interrupt by the VM; and
determine whether a VM exit event is to occur based on a bit value stored in a register in response to the received EOI, the VM exit event to transition execution of an instruction by the VM to execution by the processor core or the hypervisor.

US Pat. No. 10,169,268

PROVIDING STATE STORAGE IN A PROCESSOR FOR SYSTEM MANAGEMENT MODE

Intel Corporation, Santa...

1. A system comprising:a first processor including a first core to execute instructions and to enter a system management mode (SMM), a first indicator to indicate whether a thread executing on the first core is in a long flow operation, a second indicator to indicate whether the thread is in a system management interrupt (SMI)-inhibited state, and a storage unit, wherein upon entry to the SMM the first core is to store an active state present in a state storage of the first core into the storage unit and to store a SMM execution state into the state storage of the first core, the storage unit dedicated to storage of the active state of the first core during the SMM;
a second processor including a second core to execute instructions and to enter the SMM, a first indicator to indicate whether a second thread executing on the second core is in a long flow operation, a second indicator to indicate whether the second thread is in the SMI-inhibited state, and a second storage unit, wherein upon entry to the SMM the second core is to store an active state present in a state storage of the second core into the second storage unit and to store a SMM execution state into the state storage of the second core, the second storage unit dedicated to storage of the active state of the second core during the SMM; and
a dynamic random access memory (DRAM) coupled to the first and second processors, wherein a portion of the DRAM is a system management random access memory (SMRAM) for the system.

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,264

IMPLEMENTING ROBUST READBACK CAPTURE IN A PROGRAMMABLE INTEGRATED CIRCUIT

XILINX, INC., San Jose, ...

1. A memory circuit in a programmable integrated circuit (IC), the memory circuit comprising:a control port and a clock port;
a configurable random access memory (RAM) having a control input and a clock input;
input multiplexer logic coupled to the control input and the clock input; and
a state machine coupled to the input multiplexer logic and configuration logic of the programmable IC, the state machine configured to:
in response to being enabled by the configuration logic, control the input multiplexer logic to switch a connection of the control input from the control port to the state machine and, subsequently, switch a connection of the clock input from the clock port to a configuration clock source; and
in response to being disabled by the configuration logic, control the input multiplexer logic to switch the connection of the clock input from the configuration clock source to the clock port and, subsequently, switch the connection of the control input from the state machine to the control port.

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,262

LOW-POWER CLOCKING FOR A HIGH-SPEED MEMORY INTERFACE

QUALCOMM Incorporated, S...

1. A method for operating a communication interface coupling a memory device and a memory controller, comprising:transmitting a first clock signal having a first frequency to the memory device;
using the first clock signal to control transmissions of commands to the memory device over a command bus of the communication interface;
using the first clock signal to control transmissions of first data over a data bus of the communication interface in a first mode of operation; and
in a second mode of operation,
transmitting a second clock signal having a second frequency greater than the first frequency to the memory device, and
using the second clock signal to control transmissions of second data over the data bus,
wherein the second clock signal is suppressed in the first mode of operation.

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,259

PATTERN-BASED SERVICE BUS ARCHITECTURE USING ACTIVITY-ORIENTED SERVICES

Savigent Software, Inc., ...

1. A pattern-based service bus comprising:a plurality of bus endpoints that interacts with bus participants external to the pattern-based service bus, each of the plurality of bus endpoints identified by a unique address, and type of interaction to be provided by the bus endpoint;
a bus-hosted service that implements patterns that define allowed interactions between each of the plurality of bus endpoints and the bus-hosted service, wherein the implemented patterns can be utilized by the plurality of bus endpoints to interact with the bus-hosted service and wherein the bus endpoints interact with the bus-hosted service without knowledge of one another;
a bus storage component that interacts with the bus-hosted service to store information relevant to operation of the pattern-based service bus; and
an access tool that provides an interface to allow an outside system and/or user to interact with the bus-hosted service and/or the bus storage component.

US Pat. No. 10,169,258

MEMORY SYSTEM DESIGN USING BUFFER(S) ON A MOTHER BOARD

Rambus Inc., Sunnyvale, ...

17. A system comprising:a processor coupled to one or more communication channels to communicate commands;
a first communication channel electrically coupling a first set of two or more dual in-line memory modules (DIMMs) and a first primary data buffer on a mother board, wherein at least one DIMM in said first set of two or more DIMMs comprises a first internal data buffer coupled to said first primary data buffer via said first communication channel;
a second communication channel electrically coupling a second set of two or more DIMMs and a second primary data buffer on said mother board, wherein at least one DIMM in said second set of two or more DIMMs comprises a second internal data buffer coupled to said second primary data buffer via said second communication channel; and
a third communication channel electrically coupling said first primary data buffer to said second primary data buffer, and coupling said first primary data buffer and said second primary data buffer to said processor, wherein said first primary data buffer and said second primary data buffer are configured to sample and retransmit data.

US Pat. No. 10,169,257

MODULE BASED DATA TRANSFER

Rambus Inc., Sunnyvale, ...

1. A method for transferring data between memory modules, the method comprising:sending a read request to a first memory module, the first memory module comprising one or more non-volatile memory devices;
sending a write request to a second memory module, the second memory module comprising one or more volatile memory devices, wherein the write request comprises an indicator that the second memory module is to capture data from a data bus, the data sent directly from the first memory module;
in response to the read request, sending data from the first memory module on the data bus, wherein the data bus electrically couples the first memory module, the second memory module, and a processor; and
in response to the write request, storing the data from the data bus into the second memory module.

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,255

INFORMATION-SHARING DEVICE, METHOD, AND TERMINAL DEVICE FOR SHARING APPLICATION INFORMATION

Sony Corporation, Tokyo ...

1. An information-sharing device, comprising:circuitry configured to:
obtain, from a sound output device, first application information, wherein the first application information indicates at least one first application of the sound output device and types of audio source devices connected to the sound output device,
wherein each audio source device of the audio source devices corresponds to an audio source that outputs audio data to the sound output device;
obtain second application information that indicates at least one second application on the information-sharing device;
generate shared information that is shared between the sound output device and the information-sharing device,
wherein the shared information is generated in a form of a list, wherein the list includes an order of an arrangement of a plurality of icons associated with the at least one first application and the at least one second application, and
wherein the order includes an ordinal position of each of the plurality of icons in the list,
wherein the shared information is generated based on the first application information and the second application information;
transmit the generated shared information to the sound output device;
select a first icon of the plurality of icons based on operation information received from the sound output device, wherein the operation information indicates an ordinal position of the first icon that is displayed on the sound output device; and
control a display screen of the information-sharing device to display the selected first icon.

US Pat. No. 10,169,254

INCREASING VIRTUAL-MEMORY EFFICIENCIES

Intel Corporation, Santa...

1. An apparatus comprising:one or more computer processors; and
a virtual machine monitor to be operated by the one or more computer processors to:
cause a first core and a second core of a computer processor of the one or more computer processors to execute one or more first instructions in accordance with permissions from a first virtual memory page table;
determine the second core should operate with a different set of permissions; and
cause the second core of the computer processor to execute one or more second instructions in accordance with permissions from a second virtual memory page table contemporaneously with execution of the one or more first instructions by the first core.

US Pat. No. 10,169,253

CRYPTOGRAPHIC MULTI-SHADOWING WITH INTEGRITY VERIFICATION

1. In a computer system comprising a virtual machine monitor (VMM) running on system hardware and supporting a virtual machine (VM), a method of controlling access to a cloaked data page stored in a system memory, the method comprising:creating, by a first shim in an address space of an application and in coordination with the VMM, a first shadow context associated with the application;
receiving, by the VMM, a request for access to the cloaked data page;
responsive to determining the cloaked data page is plaintext and the request does not correspond to a first execution context associated with the application:
unmapping, by the VMM, the cloaked data page from any mapped references to the cloaked data page not corresponding to the first execution context associated with the application,
encrypting, by the VMM, data in the cloaked data page, and
mapping, by the VMM, a location of the cloaked data page into a second shadow context associated with an execution context to which the request corresponds; and
responsive to determining the cloaked data page is encrypted and the request does correspond to the first execution context associated with the application:
verifying, by the VMM, integrity of encrypted data in the cloaked data page, and
if the integrity of the encrypted data in the cloaked data page is verified: decrypting, by the VMM, the encrypted data in the cloaked data page and storing the decrypted cloaked data page; and
mapping, by the VMM, a location of the decrypted cloaked data page into the first shadow context associated with the application.