US Pat. No. 10,248,749

AUTOMATED ATTRIBUTE PROPAGATION AND HIERARCHICAL CONSISTENCY CHECKING FOR NON-STANDARD EXTENSIONS

INTERNATIONAL BUSINESS MA...

1. A system for automated attribute propagation and hierarchical consistency checking, the system comprising:a memory having computer readable instructions; and
a processing device for executing the computer readable instructions, the computer readable instructions comprising:
detecting a non-standard extension during convergence of an integrated circuit logic design;
propagating the non-standard extension to each level of a plurality of hierarchies of the integrated circuit design for which a net utilizes a special constraint; and
verifying a hierarchy consistency by checking the attribute propagation at each level of the plurality of hierarchies, and
wherein an integrated circuit is manufactured using the integrated circuit design.

US Pat. No. 10,248,747

INTEGRATED CIRCUIT SIMULATION WITH DATA PERSISTENCY FOR EFFICIENT MEMORY USAGE

CADENCE DESIGN SYSTEMS, I...

1. A computer-implemented method for simulating an integrated circuit (IC) design, comprising:parsing an IC netlist and loading the IC netlist into memory;
forming a table model including parameter values for at least one circuit component in the IC netlist, the parameter values selected from a portion of a parameter space;
storing, from a first processor in a cloud computing environment upon completion of a first simulation stage, a data value associated with the parsing of the IC netlist and the table model in a first register of an ordered parameter stack of a database accessible through the cloud computing environment, the data value comprising a metadata associated with the data value;
loading, to a second processor at a second simulation stage, at least one of the data value or the metadata from the database;
modifying the data value or the metadata that is loaded in the second processor, according to the portion of the parameter space;
storing the data value in a second register of the ordered parameter stack in the database; and
performing an analysis on at least one block of the IC netlist according to the data value or the metadata that is loaded in the second processor, wherein the first register and the second register are accessed from different nodes of a hierarchical layout for the IC netlist.

US Pat. No. 10,248,746

METHOD AND APPARATUS FOR ESTIMATING IDEAL POWER OF AN INTEGRATED CIRCUIT DESIGN

CADENCE DESIGN SYSTEMS, I...

1. A computer-implemented method for determining a power consumed by a circuit, comprising:identifying a redundant frame comprising one of a clock toggle or a data toggle that is not propagated to an output pin of the circuit;
identifying a non-redundant frame comprising a clock toggle and a data toggle that are propagated to the output pin of the circuit;
determining an ideal power consumed by the circuit during the non-redundant frame; and
providing a feedback to a user, the feedback comprising the redundant frame, a source of the redundant frame, and the ideal power consumed by the circuit during the non-redundant frame, wherein providing the feedback to the user comprises:
excluding a source of the redundant frame from an integrated circuit model, and
providing the integrated circuit model for fabrication of an integrated circuit.

US Pat. No. 10,248,745

INTEGRATED CIRCUIT SIMULATION WITH VARIABILITY ANALYSIS FOR EFFICIENT MEMORY USAGE

CADENCE DESIGN SYSTEMS, I...

1. A computer-implemented method for simulating an integrated circuit (IC) design, comprising:forming a partition of an integrated circuit netlist into blocks based on a performance value from at least a portion of a parameter space;
forming a table with parameter values comprising multiple instances of a block of the partition;
analyzing a direct-current solution of the block by combining at least a first instance of a first block with a second instance of a second block based on the performance value from the portion of the parameter space;
performing a transient analysis where signals change over time for the block, wherein forming a table with parameter values comprises forming an ordered stack of memory registers, each memory register storing a parameter value according to a circuit hierarchy;
separating a connectivity from multiple parameters in the portion of the parameter space at each level of a simulation hierarchy;
sharing a memory registry for multiple parameters having a same connectivity;
storing a unique identification for a first parameter according to the simulation hierarchy to leverage the sharing of the memory registry;
evaluating at least one instance of the block with the first parameter having the unique identification;
forming a shared database for a simulation instance that has a same parameter value as the first parameter having the unique identification and
providing a circuit layout for fabrication after evaluating the at least one instance of the block.

US Pat. No. 10,248,744

METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR ACOUSTIC CLASSIFICATION AND OPTIMIZATION FOR MULTI-MODAL RENDERING OF REAL-WORLD SCENES

THE UNIVERSITY OF NORTH C...

1. A method for determining acoustic material properties associated with a real-world scene, the method comprising:obtaining an acoustic response in a real-world scene;
obtaining images of the real-world scene;
generating, using the images of the real-world scene, a three-dimensional (3D) virtual model of the real-world scene;
determining acoustic material properties of surfaces in the 3D virtual model using a visual material classification algorithm to identify materials in the real-world scene that make up the surfaces and known acoustic material properties of the materials, wherein the visual material classification algorithm comprises:
performing, using the images of the real-world scene and a convolutional neural network (CNN) based material classifier, a visual material segmentation, wherein the visual material segmentation indicates material classification probabilities for triangles associated with the 3D virtual model;
identifying, using a patch segmentation algorithm, patches associated with the 3D virtual model, wherein each patch represents a localized group of triangles appearing to be the same material; and
determining, using the material classification probabilities, material classifications for the patches, where each material classification is associated with predetermined acoustic material properties; and
performing one or more acoustic simulations in the 3D virtual model using an optimization algorithm, wherein the optimization algorithm includes a sound propagation simulation phase for generating a simulated acoustic response based on the acoustic material properties and a material estimation phase for adjusting the acoustic material properties used in the sound propagation simulation phase, wherein the acoustic response in the real-world scene is used to adjust the acoustic material properties, wherein the optimization algorithm uses a solver to determine the adjustment for the acoustic material properties during the material estimation phase, wherein the optimization algorithm alternates between the phases until a simulated acoustic response of an acoustic simulation in the 3D virtual model is similar to the acoustic response in the real-world scene or until a termination condition is met; and
generating, using the acoustic material properties of surfaces in the 3D virtual model, physically-based sound effects for the real-world scene.

US Pat. No. 10,248,743

DETERMINING CUMULATIVE WATER FLOW ON A GRID-BY-GRID BASIS IN A GEOCELLULAR EARTH MODEL

Saudi Arabian Oil Company...

1. A computer-implemented method, comprising:receiving four-dimensional fluid flow data associated with a time dimension and I, J, and K dimensions, the four-dimensional fluid flow data including, for each time step of plural time steps associated with the time step dimension, a fluid flow amount for the respective time step and for a respective I, J, K cell;
determining, using the four-dimensional fluid flow data and for each of plural time steps t, a four-dimensional geocellular model having I, J, K and t dimensions and indicating, for each I, J, K, I cell, a fluid flow amount of a fluid flowing through the I, J, K cell for a respective time step t;
determining, using plural four-dimensional geocellular models, a three-dimensional time-independent model for the I, J, K cell, wherein determining the three-dimensional time-independent model includes summing, for a particular I, J, K cell, the fluid (low amounts from the plural time steps; and
determining, using the three-dimensional time-independent model, a two-dimensional time-independent model that includes a cumulative fluid flow amount for each I, J cell in the respective time-independent mode;
wherein the fluid flow amount for a respective cell is determined as a function of the square root of a sum of squares of fluid flow amounts in each of the I, J, and K directions.

US Pat. No. 10,248,742

ANALYZING FLIGHT DATA USING PREDICTIVE MODELS

University of North Dakot...

1. A system, comprising:at least one processor;
at least one memory device;
wherein the at least one memory device stores a machine learning algorithm trained based on flight information to discover related groupings and identify clusters of outliers in the groupings and stores a program to cause the at least one processor to:
derive, using a quadratic least squares model applied to a matrix of time-series flight parameter data for a flight, a mathematical signature for each flight parameter of each flight in a set of data including a plurality of sensor readings corresponding to time-series flight parameters of a plurality of flights;
aggregate the derived mathematical signatures into a dataset;
measure a similarity between each pair of flights within the plurality of flights by calculating a distance metric between the mathematical signatures for each flight parameter of each pair of flights within the dataset;
combine the measured similarities with the dataset; and
apply the machine-learning algorithm to the dataset to discover related groupings of data based on the calculated distance metric and identify clusters of outliers within the dataset by using a unified distance matrix to train the machine-learning algorithm, wherein:
new data corresponding to a flight parameter is acquired from a flight sensor;
contemporaneously with acquisition of the new data corresponding to the flight parameter, the new data corresponding to the flight parameter is processed using the trained machine-learning algorithm to detect when the new data is an outlier of the flight parameter and generate an alert; and
an adjustment to an avionics device is generated to prevent or mitigate a hazardous condition responsive to the alert being generated.

US Pat. No. 10,248,741

METHOD FOR EQUALIZING THE DISTORTION CAUSED BY LOSSES IN COUPLINGS IN A MICROWAVE FILTER AND A FILTER PRODUCED WITH SAID METHOD

THALES, Courbevoie (FR)

1. A method for producing a microwave filter having an equalized transfer function, the method comprising the steps of:designing with a processor an initial transfer function of a microwave filter,
calculating, with the processor, poles pi of said designed initial transfer function,
modifying, with the processor, values of said poles pi with a predetermined amount ai, so as to produce an asymmetric displacement of the poles along a real axis of a complex plane, said predetermined amount ai being calculated as a function of a quality factor Qk of couplings between adjacent resonators of the microwave filter so as to compensate for an effect of losses in couplings between adjacent resonators of the microwave filter,
calculating with the processor a modified transfer function from said initial transfer function and said modified poles pi-ai, and
producing a microwave filter comprising resonators from said modified transfer function.

US Pat. No. 10,248,740

THREE-DIMENSIONAL PRINTING PREPARATION

AUTODESK, INC., San Rafa...

1. A computer-implemented method for preparing 3D geometry for 3D printing, comprising:receiving, by a processor, the 3D geometry;
identifying, by the processor, one or more non-manifold edges in the 3D geometry;
for each non-manifold edge, separating, by the processor, the non-manifold edge into a plurality of edges corresponding to faces meeting at the non-manifold edge, to create a set of patches;
orienting, by the processor, the patches so that coincident faces have topologically consistent normals; and
iteratively stitching, by the processor, boundaries of the patches together, wherein the boundaries are stitched together by stitching a longest zip first.

US Pat. No. 10,248,739

APPARATUS, SYSTEM, AND METHOD OF PROCESSING LOG DATA, AND RECORDING MEDIUM STORING LOG DATA PROCESSING PROGRAM

Ricoh Company, Ltd., Tok...

1. A management system, comprising:a temporary storage that stores information including communication state data indicating a communication state of a terminal, the communication state data being received directly or indirectly from the terminal, as conference log data including the received communication state data;
a format processor that reads out the conference log data from the temporary storage, determines whether the received communication state data included in the conference log data matches one of a plurality of specific, predetermined communication states, and applies processing to remove incomplete log data to the conference log data read out from the temporary storage to generate formatted log data, when the received communication state data matches one of the plurality of specific, predetermined communication states, and does not apply processing to the conference log data when the received communication state data does not match the one of the plurality of specific predetermined communication states;
a formatted log storage that stores the formatted log data; and
a first interface that receives a request for obtaining the formatted log data of the terminal directly or indirectly from the terminal,
wherein the format processor applies the processing to remove incomplete log data to the conference log data to generate the formatted log data before the interface receives the request for obtaining the formatted log data.

US Pat. No. 10,248,738

STRUCTURING NARRATIVE BLOCKS IN A LOGICAL SEQUENCE

International Business Ma...

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:receiving a textual work by an input device coupled to a computer system;
ingesting the textual work using a natural language processor;
dividing the textual work into a plurality of narrative blocks, each narrative block being a contiguous portion of text within the textual work, each narrative block being separated from other narrative blocks by linguistic delimiters;
generating, by the natural language processor, a first knowledge graph based on the ingested textual work, the first knowledge graph including nodes that represent concepts and edges between nodes that represent links between concepts;
receiving, from a user, a selection of a target concept from a plurality of concepts in the first knowledge graph, wherein all concepts in the first knowledge graph that are not selected by the user are non-target concepts;
identifying a first set of narrative blocks and a second set of narrative blocks, the first set of narrative blocks including one or more narrative blocks of the plurality of narrative blocks that include the target concept, the second set of narrative blocks including one or more background narrative blocks, the one or more background narrative blocks being narrative blocks of the plurality of narrative blocks that do not include the target concept;
determining, using the first knowledge graph, which non-target concepts are related to the target concept;
identifying related background narrative blocks, the related background narrative blocks being narrative blocks that contain a related non-target concept, the related non-target concept being a non-target concept that is related to the target concept, wherein the related background narrative blocks do not contain the target concept;
identifying unrelated background narrative blocks, the unrelated background narrative blocks being narrative blocks that do not contain the target concept or a related non-target concept;
determining a narrative path for the target concept, the narrative path including the target narrative blocks and the related background narrative blocks ordered in a sequence consistent with an ordering of the narrative blocks in the textual work, wherein the narrative path does not include the unrelated background narrative blocks, wherein the determining the narrative path for the target concept comprises receiving the narrative path from the user;
generating a second knowledge graph based on the narrative path;
comparing, by the computer system, the first knowledge graph to the second knowledge graph; and
determining, based on the comparing and by the computer system, whether the narrative path is approved; and
outputting the narrative path to an output device coupled with the computer system.

US Pat. No. 10,248,737

METHOD FOR DETERMINING THE STATE OF A DEVICE IN AN AIRCRAFT

Airbus (S.A.S.), Blagnac...

1. A method for determining a state of a device of interest in an aircraft, this state specifying a version of the device of interest present in the aircraft, the method comprising:transmitting, by one or more computers, and to at least one database, a request formed from an identifier of the aircraft;
receiving, by the one or more computers and in response to the transmitting, a list of updates previously performed on the device of interest, each update specifying an earlier version of the device of interest before the update and a later version of the device of interest after the update, wherein the device of interest comprises a functional assembly including hardware elements and software elements, and wherein the earlier versions of the device of interest are different from the later versions of the device of interest by one or more of a group consisting of hardware and software differences;
from a directed graph, stored in a memory, and such that each edge of a plurality of edges of the directed graph corresponds to one update out of a set of updates associated with devices of a type of the device of interest, determining, by the one or more computers, a sub-graph of the directed graph corresponding to the list of updates, wherein the directed graph and the sub-graph are each stored in a form of an adjacent matrix, each non-zero coefficient of the adjacent matrix of the generic graph being associated with at least one update;
determining, by the one or more computers, the state of the device of interest from the sub-graph; and
causing, by the one or more computers, the state of the device of interest to be displayed on a display device.

US Pat. No. 10,248,736

DATA LOADER AND MAPPER TOOL

Sprint Communications Com...

13. A method of managing data in a telecommunication network data structure by converting source data in a source data structure to target data in a target data structure, where the source data structure and target data structure are arbitrarily selected from a plurality of at least 50 different data structures comprising:receiving, by a translation application executing on a telecommunication network computer system, a request to translate source data stored in a source data structure to a target data structure;
identifying, by way of information stored in a taxonomy repository:
a data store key within the source data;
a category of an element of the source data;
inferring, by way of information stored in the taxonomy repository, a relationship between the data store key and the element;
converting, by the translation application, a format of the data store key to a format of a target data store key;
converting, by the translation application, a format of the element to a format of a target element;
storing, by the translation application, the target data store key and the target element in the target data structure;
receiving a request to translate second data stored in a second data structure to the target data structure;
identifying, based on information in the taxonomy repository, redundant and non-redundant data between the second data and source data;
determining, by way of information stored in the taxonomy repository that the second data structure is not a data store of record; and
translating the non-redundant data to the target data structure.

US Pat. No. 10,248,735

COLLABORATIVE VIRTUAL MARKUP

JPMORGAN CHASE BANK, N.A....

1. A computer-implemented method for collaborative markup of a webpage between multiple users, the method comprising:providing a capture interface available to user computers over a network, the capture interface including a menu of webpages available for modification, the webpages residing at a webpage server;
receiving at a markup server a capture request from a first user for a webpage selected from the available webpages residing at the webpage server and offered through the capture interface;
capturing the requested webpage from the webpage server, the captured webpage including an original layout and original content, the original content including interactive features and the original layout being described by original layout information in the requested webpage;
receiving first markup data from the first user, the first markup data corresponding to a modification of at least the original webpage, the first markup data including a first time stamp, a first user stamp, and a first modifier;
storing the received first markup data in a related file in a computer memory accessible to the markup server separately from the requested webpage;
automatically generating at the markup server, using a computer processor, a first code for a first marked-up webpage based on the received first markup data, thereby rendering a first marked-up webpage based on the first markup data and enabling the first user to view the first marked-up webpage including the first markup data in real time;
notifying the second user that the first marked up web page was generated and automatically transmitting from the markup server the first code to a second user for real-time rendering of the first marked-up webpage to the second user, thereby enabling the second user to view the modified webpage including the first markup data in real time;
providing the mark-up interface to the second user;
receiving, at the markup server, second markup data associated with the second user, the second markup data corresponding to a modification of at least one of the requested webpage and the first markup data, the second markup data including a second time stamp, a second user stamp, and a second modifier, wherein the second modifier indicates at least one of an acceptance and a rejection of at least a portion of the first modifier;
storing the received mark-up data in a related file in a computer memory accessible to the markup server separately from the requested webpage;
automatically generating at the markup server, using the computer processor, a second code for a second marked-up webpage based on the second mark-up data associated with the second user, thereby rendering a second marked-up webpage including the second markup data in real time; and
publishing in real-time to the webpage server an updated webpage based on the first markup data or the second markup data, wherein at least a portion of the original webpage remains functional during collaboration.

US Pat. No. 10,248,734

OBFUSCATING NETWORK PAGE STRUCTURE

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:receiving, from a client, a request for a network page;
in response to the request:
obtaining the network page;
determining which of either a new randomization or a same randomization is to be applied to a document structure of the network page, the same randomization having been previously applied to the document structure in response to a previous request;
generating an obfuscated network page by changing the document structure according to the new randomization or the same randomization such that:
when rendered for display, the network page and the obfuscated network page have a same visual appearance; and
the obfuscated network page has a changed document structure that is unpredictable to the client; and
providing the obfuscated network page to the client.

US Pat. No. 10,248,733

INTEGRATION OF A CATALOG APPLICATION WITH A MONITORING APPLICATION

SAP SE, Walldorf (DE)

1. A computer implemented method for performance measurement, the method comprising:monitoring one or more applications by a monitoring application, the one or more applications operating on at least one computer platform and the monitoring application operating on a second computer platform in communication with the at least one computer platform across a network;
installing an instantiation of a catalog application service interface on the second computer platform for processing requests from the monitoring application for information about key indicators available at the catalog application, the catalog application providing data defining different key indicators for measuring performance of at least one of the one or more monitored applications;
the catalog application service interface receiving a request to provide data for one or more key indicators compatible with a first application of the one or more applications;
the catalog application evaluating the request to determine the one or more compatible key indicators based on technical characteristics of the first application; and
executing in a second application measurement of the one or more key indicators over performance of the first application;
displaying in a user interface the one or more compatible key indicators determined by the catalog application; and
providing in the user interface measurement results of the performance of the first application.

US Pat. No. 10,248,732

IDENTIFYING RELATED ENTITIES

Microsoft Technology Lice...

1. A computer-implemented method, the method comprising:identifying an entity within a search query;
identifying mined criteria comprising one or more related entities related to the entity, wherein the one or more related entities are identified based on a distance of each of the one or more related entities from the entity, wherein the distance is a number of connections away from the entity for each of the one or more related entities,
wherein the mined criteria further comprises at least one of (a) historical session data of a plurality of users and (b) at least two URLs that occur together in a user session, wherein the historical session data includes a set of URLs clicked by a user within a given time period;
ranking the one or more related entities based on the distance of each of the one or more related entities from the entity, wherein a first related entity having a fewer number of connections from the entity than a second related entity is ranked higher than the second related entity; and
providing at least one of the one or more related entities in a condensed display simultaneously with one or more search results responsive to the search query such that review of each of the one or more search results is avoided.

US Pat. No. 10,248,731

SYSTEM AND METHOD FOR LINKING DATA RECORDS FOR PARCELS

Corelogic Solutions, LLC,...

1. A method of linking real estate parcels in a database, the method comprising:under control of a geocoding engine comprising computer hardware:
accessing a data repository that is configured to store parcel data for each of a plurality of real estate parcels, the parcel data associated with each real estate parcel comprising a parcel boundary;
identifying a community of real estate parcels, the community comprising a plurality of real estate parcels separated by no more than a threshold distance, at least some of the plurality of real estate parcels having spatially contiguous boundaries;
calculating a community border for the community of real estate parcels by:
determining links among the real estate parcels in the community to identify a set of neighboring parcels for each of the real estate parcels in the community;
generating spatially enlarged parcels by spatially enlarging the parcel boundaries of the real estate parcels in the community to create an overlap among the neighboring parcels among the real estate parcels in the community;
finding a union of the spatially enlarged parcels to identify an outward facing boundary of the union of spatially enlarged parcels; and
reducing the outward facing boundary of the union of spatially enlarged parcels to determine the community border for the community;
identifying a group of real estate parcels in the community, wherein each of the real estate parcels in the group intersects the community border;
determining, for each real estate parcel in the group, a border intersection between the real estate parcel and the community border;
finding, for each real estate parcel in the group, a reduced set of neighboring real estate parcels based at least in part on a distance between the border intersection for the real estate parcel and locations of the other real estate parcels in the group;
linking, for each real estate parcel in the group, the real estate parcel to at least one other real estate parcel in the reduced set, wherein a data record associated with the at least one other real estate parcel is missing an address number; and
matching the at least one other real estate parcel in the reduced set to an address number that brackets an address number of the real estate parcel based on the linking.

US Pat. No. 10,248,730

STATISTICAL METHOD AND APPARATUS FOR WEBPAGE ACCESS DATA

BEIJING GRIDSUM TECHNOLOG...

1. A statistical method for webpage access data, comprising:collecting an initial dataset of page access behaviours of a user, wherein the initial dataset comprising one or more initial page view data, the initial page view data for the user to access the target site data;
extracting first-time access data of the user from the initial dataset;
judging the first-time access data by using a pre-set judgement model to obtain a judgement result;
performing dating-back matching in the initial dataset by using the first-time access data to obtain associated access data when the judgement result is contrary to a pre-set result of the pre-set judgement model; and
splicing and repairing the initial dataset based on the associated access data to obtain a repaired dataset;
wherein performing dating-back matching in the initial dataset by using the first-time access data to obtain the associated access data comprises:
filtering the initial PV (page view) data identical to an Internet Protocol (IP) of the first-time access data and a browser Identifier (ID) from the initial dataset;
comparing initial access time of the initial PV data with first-time access time of the first-time access data;
saving the initial PV data into an access data set if the initial access time is earlier than the first-time access time; and
extracting the initial PV data of which the initial access time is the latest from the access data set, and taking the initial PV data of which the initial access time is the latest as the associated access data;
wherein the step of splicing and repairing the initial dataset based on the associated access data to obtain the repaired dataset comprises:
extracting all initial PV data of the user from the initial dataset;
combining all initial PV data of the user and the associated access data to obtain repaired access data; and
repairing the initial dataset by using the repaired access data to obtain the repaired dataset.

US Pat. No. 10,248,729

METHOD AND SYSTEM OF QUANTIFYING AND QUALIFYING ATHLETIC SKILLS AND COMPETITIVE RESULTS IN A SOCIAL NETWORK

Bari Enterprises, Inc., ...

1. A method of quantifying and qualifying athletic skills and competitive data in a social network implemented on a client computing device having one or more processors and memory for storing one or more programs to be executed by the processors comprising:registering a first user with the social network and creating a first user account;
establishing a user profile for the first user;
searching at least one remote database for at least one of skills data, ratings data and competition data relating to the first user and retrieving the at least one of skills data, ratings data and competition data and adding the data to the first user account in a social network database;
displaying predetermined information from the first user account on the client computing device;
creating a connection list for the first user that comprises at least one other user;
calculating a number of users through whom the first user connects to another user; and
determining a separation degree of the another user based on the calculated number of users,
wherein if there are n users through whom the first user connects to the another user, the separation degree of the another user is determined as n+1;
retrieving at least one of skills data, ratings data, and competition data of the another user from the at least one remote database;
displaying the at least one of skills data, ratings data, and competition data, and the separation degree between the user and the another user on the client computing device; and
displaying predetermined information from the another user account or the remote database and a connection starting date on the client computing device based on the separation degree between the user and the another user,
wherein the predetermined information from the another user comprises at least one of:
a summary of competition data of the another user over a pre-defined time period; and
competition data over a pre-defined time period of the another user against each opponent.

US Pat. No. 10,248,728

SEARCH AND NOTIFICATION PROCEDURES BASED ON USER HISTORY INFORMATION

Open Invention Network LL...

1. A method comprising:receiving at least one first action as a voice command from a first user device comprising a first data repository;
storing the at least one first action in a first category in the first data repository;
receiving at least one second action as a first air gesture from a second user device comprising a second data repository, air gestures comprising user movements in front of a user device display;
ignoring all other air gestures, except for an overriding gesture, for a predetermined time period after receiving the first air gesture;
in response to receiving the overriding gesture as a second air gesture during the predetermined time period:
permitting receipt of another of at least one second action as a third air gesture from the second user device comprising the second data repository;
storing the other of at least one second action in a second category in the second data repository, the first and second data repositories organized into default categories defined by other users different than users of the first and second user devices; and
creating a notification and transmitting the notification to at least one of the first user device and the second user device responsive to receiving at least one of the at least one first action and the at least one second action.

US Pat. No. 10,248,727

SYSTEM FOR PROVIDING WORDS SEARCHING SERVICE BASED ON MESSAGE AND METHOD THEREOF

1. A system for providing a word search service based on message, comprising:a database which is equipped with a plurality of data modules and registers sentence data and word extracted from the sentence data in each data module equipped to manage the sentence data and the word; and
a service server which,
if a sentence data is newly registered, gives a sentence data number to the registered sentence data, and registers the given sentence data number as a key,
extracts words on a form basis from the registered sentence data, converts each extracted word into 64-bit hash code, creates a word listener data structure including the converted word, word size and sentence data number, and assigns the data module in the database to the created word listener data structure to store the data module therein,
wherein the service server, if receiving a search word from a user terminal, converts the received search word into the 64-bit hash code, and thereafter creates a transmission protocol structure including the converted search word, user ID and word size, and broadcasts the created transmission protocol structure to all the data modules in the database and is provided with a search result from the data modules in response to broadcasting and thereafter provides the provided search result to the user terminal, and
wherein the data module, if receiving the transmission protocol structure, extracts a top 64-bit data in the received transmission protocol structure and checks whether the extracted data coincides with its hash code, if the extracted data coincides with its hash code, creates a search result structure including the user ID, search word, sentence number and registers the created search result structure in queue in the service server, and if, as a result of checking, the extracted data does not coincide with its hash code, does not create the search result structure.

US Pat. No. 10,248,726

OBJECT SEARCH BY DESCRIPTION

Verint Systems Ltd., Her...

1. A method of image data storage and retrieval, the method comprising:acquiring video image data from a plurality of cameras in a plurality of locations, the acquired video image data comprising an identifier indicative of a camera of the plurality of cameras that acquired the video image data and a time stamp of when the video image data was acquired;
detecting a plurality of objects in the acquired video image data from the plurality of cameras;
detecting, for each detected object, object characteristics in the acquired video image data;
obtaining, for each detected object, other object characteristics from a source other than the acquired video image data;
aggregating, for each detected object, (i) the object characteristics detected in the acquired video image data and (ii) at least a portion of the object characteristics obtained from a source other than the acquired video image data;
storing, in a database, each detected object, each detected object's aggregated characteristics, and each detected object's associated identifier;
receiving search parameters and Boolean operators at a video analytics module, wherein the search parameters correspond to a user's estimate of an object's characteristics;
querying the database for object characteristics based upon the received search parameters and Boolean operators;
returning identifiers meeting the query based upon the received search parameters and Boolean operators;
computing a similarity score for each returned identifier, wherein the similarity score corresponds with how closely a detected object's characteristics match the query;
sorting the returned identifiers by similarity score;
refining the sorted identifiers by removing identifiers that did not originate from one or more selected locations in the plurality of locations during a selected period of time; and
presenting the sorted and refined identifiers as images, wherein each image displays the detected object and is linked to corresponding stored video image data of the detected object.

US Pat. No. 10,248,725

METHODS AND APPARATUS FOR INTEGRATING SEARCH RESULTS OF A LOCAL SEARCH ENGINE WITH SEARCH RESULTS OF A GLOBAL GENERIC SEARCH ENGINE

Gartner, Inc., Stamford,...

1. A computerized method for simultaneously searching public and private information sources, comprising:implementing, by a user, a key word search of a public search engine via a web browser;
simultaneously automatically implementing the key word search of a private external information source to locate at least one of user contacts and documents relevant to the key word search;
scoring the at least one of the user contacts and the documents returned from the private external information source for relevancy to the key word search;
returning public search results to the user in a main section of a web browser display based on the key word search of the public search engine;
modifying the web browser display to comprise a side bar viewing window adjacent the main section of the web browser display; and
returning a predetermined number of most relevant of the at least one of the user contacts and the documents obtained from the private external information source to the user in the side bar viewing window of the web browser display adjacent to the public search results displayed on the main section of the web browser display;
wherein:
the scoring of the user contacts and the documents returned from the private external information source further comprises ordering the user contacts and the documents by relevancy to key words or topics derived from at least one of the key word search or the public search results;
the private external information source comprises a recommendation system comprising at least one of a document recommendation engine comprising a document database for the documents and an expert recommendation engine comprising an expert database identifying experts and corresponding areas of expertise; and
identifying information for the experts from the expert database which are relevant to the key word search is displayed in the side bar viewing window.

US Pat. No. 10,248,724

PLAYBACK QUEUE CONTROL CONNECTION

Sonos, Inc., Santa Barba...

1. A playback device comprising:a network interface;
an audio output interface;
a processor;
a non-transitory computer-readable medium; and
program instructions stored on the non-transitory computer-readable medium that are executable by the processor to cause the playback device to perform functions comprising:
while the playback device does not have an existing connection session with any mobile device, playing back media in a first playback queue;
receiving a request to connect with a given mobile device in a communication range of the playback device; and
after receiving the request, entering into a new connection session with the given mobile device during which the playback device either (i) continues playing back media items in the first playback queue if the given mobile device had a prior connection session with the playback device using the first playback queue that was terminated due to the given mobile device moving outside of the communication range of the playback device or (ii) otherwise begins playing back media items in a second playback queue that is associated with the given mobile device at the time of the request.

US Pat. No. 10,248,723

METHOD AND DEVICE FOR GENERATING FINGERPRINTS OF INFORMATION SIGNALS

Teletrax B. V., Eindhove...

1. A method of generating a fingerprint representing an information signal, the method comprising the steps of:decomposing a portion of the information signal into plural frequency sub bands at a decomposition level;
calculating a spectral property of the portion for each of the plural frequency sub bands;
comparing each spectral property against a criterion, thereby generating a comparison result;
combining each comparison result for constituting the fingerprint; and
repeating, at least once, the decomposing, calculating, comparing and combining, wherein
for each repetition the decomposing is performed using a decomposition level different from a previous decomposition level.

US Pat. No. 10,248,722

MULTI-LANGUAGE SUPPORT FOR DYNAMIC ONTOLOGY

PALANTIR TECHNOLOGIES INC...

1. A method comprising:at one or more computing devices comprising one or more processors and storage media storing one or more computer programs executed by the one or more processors to perform the method, performing operations comprising:
storing an ontology for a data store, wherein the ontology comprises a plurality of data types; and
for each data type of the plurality of data types, storing, in the ontology, one or more display values in association with a respective locale identifier, wherein each display value indicates how the data type is displayed in a graphical user interface;
for at least a particular data type of the plurality of data types, storing, in the ontology, one or more parsers in association with a respective locale identifier;
determining a particular locale associated with a user computing device;
determining a locale identifier corresponding to the particular locale;
determining one or more data types of the plurality of data types to be displayed in a graphical user interface at the user computing device;
for each data type of the one or more data types, determining a display value corresponding to the particular locale using the locale identifier, and displaying the data type at the user computing device using the display value corresponding to the particular locale;
receiving, from the user computing device via the graphical user interface, input data corresponding to the particular data type;
determining, based on the locale identifier, a particular parser of the one or more parsers corresponding to the particular locale;
parsing the input data using the particular parser.

US Pat. No. 10,248,721

MANAGEMENT, EVALUATION AND VISUALIZATION METHOD, SYSTEM AND USER INTERFACE FOR DISCUSSIONS AND ASSERTIONS

1. A system for evaluating a plurality of statements transmitted amongst a plurality of geographically-distributed users interactively participating in a topic of an online discussion, the system comprising:a first user device operated by a first user of the geographically distributed users configured for:
generating for display, a graphical representation of the plurality of statements according to a tree-like structure;
receiving a statement from the first user for inclusion into the tree-like structure, wherein each statement in the plurality of statements comprises:
a contents portion,
an assigned classification, wherein the assigned classification is selected from a set of at least two classifications, each classification of said set of at least two classifications specifies a relationship of an associated statement to another statement in said tree-like structure, the set of at least two classifications including a supporting assertion and an opposing assertion, and
one or more associated quality designations, wherein the one or more associated quality designations include an impact value based on a veracity value and a relevance value of each statement,
wherein at least one of said plurality of statements includes (i) at least a first veracity value and a second veracity value and (ii) at least a first relevance value and a second relevance value, the first veracity value and the first relevance value associated with a first contextual parameter, and the second veracity value and the second relevance value associated with a second contextual parameter,
wherein the display of the tree-like structure to the first user includes generation of a user perspective driven layout based on the first contextual parameter and the second contextual parameter;
a second user device operated by a second user of the geographically-distributed users configured for:
displaying the tree-like structure including the statement of the first user;
receiving from the second user, a voting value representative of approval of the second user to the statement of the first user; and
a collaboration system configured for:
generating the display of the tree-like structure to the first user and the second user; and
modifying the voting value of the second user based on one or more criteria.

US Pat. No. 10,248,720

SYSTEMS AND METHODS FOR PREPARING RAW DATA FOR USE IN DATA VISUALIZATIONS

Tableau Software, Inc., ...

8. A method of preparing data for use in data visualizations, comprising:at a computing device having one or more processors and memory storing one or more programs configured for execution by the one or more processors:
receiving a first indication from a user that a first data column within a data source contains integer-only values representing unformatted dates;
determining a minimum value and a maximum value of the integer-only values in the first data column;
matching the integer-only values in the first data column to a first date format based on a determination that a range of values associated with the first date format includes the minimum value and the maximum value of the integer-only values in the first data column;
selecting a sample of the integer-only values in the first data column and applying the first date format to each integer-only value within the sample of the integer-only values to produce a respective formatted date;
applying the first date format to each integer-only value of the integer-only values in the first data column to produce a respective formatted date;
storing, in the data source, each formatted date in a first new data column in a respective row corresponding to the respective integer-only value;
displaying a schema information region in a data visualization user interface, wherein the schema information region includes a field name of the first new data column; and
displaying a data visualization in the data visualization user interface including at least one formatted date based on user selection of the field name of the first new data column from the schema information region.

US Pat. No. 10,248,719

SYSTEM AND METHOD FOR ANALYSING TEMPORAL TEXT DATA

Tata Consultancy Services...

1. A method for analyzing temporal text data to provide visualization of content evolution of the temporal text data, the method performed by a hardware processor and comprising:collecting the temporal text data as an input from voluminous data sources using an input module;
implementing text analysis on the collected temporal text data for information extraction and determination of top concepts using a text analytics module;
writing, at regular intervals, the analysed text to a shared file system for storage purpose;
clustering the analysed text as per frequency distribution of top users, concepts and tag clouds using a visualisation module, wherein the visualisation module performs the clustering of the analysed text as per frequency distribution of top users, concepts and tag clouds using a concept wise frequency distribution module, a user wise frequency distribution module and tag-cloud wise distribution module; and
presenting the results post the clustering in the form of a visualization dashboard.

US Pat. No. 10,248,717

COMPUTER-BASED MEDIA CONTENT CLASSIFICATION AND DISCOVERY SYSTEM AND RELATED METHODS

1. An e-book media content classification and discovery method comprising the steps of:providing a plurality of e-book files;
associating a plurality of content representative identifiers with each of the e-book files, wherein each of the plurality of content representative identifiers corresponds to at least one of a plurality of author-based, content-centered literary criteria elements assigned within literary criteria categories, wherein the plurality of author-based, content-centered literary criteria elements are identified by an author of the each of the plurality of e-book files, respectively, wherein the literary criteria categories comprise: a rating factor of the e-book file; a setting of the e-book file; a style of the e-book file; a theme of the e-book file; and a main character characteristic of the e-book file;
wherein author-based, content-centered literary criteria elements of the rating factor of the e-book file comprise: violence, language, sexual content, and target audience,
wherein author-based, content-centered literary criteria elements of the setting of the e-book file comprise: time period, setting type, and realism,
wherein author-based, content center literary criteria elements of at least one of the style of the e-book file and the theme of the e-book file comprise: physical action, pacing, romance, mysteries and puzzles, humor, inspiration of reader, and political and social commentary,
wherein author-based, content centered literary criteria elements of the main character characteristic of the e-book file comprise: gender, age, race, sexual preference, and religion;
determining a user selection of at least one of a plurality of selectable fields based on a selection of the literary criteria categories and the author-based, content-centered literary criteria elements thereof, using at least one input selection field displayed on a graphical user interface (GUI) of a computerized device of the user, wherein the at least one input selection field has the plurality of selectable fields, wherein each of the plurality of selectable fields matches at least one of the plurality of author-based, content-centered criteria elements;
filtering the author-based, content-centered literary criteria elements based on the determined user selection, whereby author-based, content-centered literary criteria elements matching the determined user selection are populated in a results list and author-based, content-centered literary criteria elements not matching the determined user selection are omitted from populated results list;
filtering the e-book files based on the filtered author-based, content-centered literary criteria elements;
assigning a point value to each of the filtered author-based, content-centered literary criteria elements;
ranking, based on the point value, the plurality of e-book files having the filtered author-based, content-centered literary criteria elements within one of the literary criteria categories against all other e-book files within that literary criteria category, wherein e-book files in different literary criteria categories are not ranked against each other;
displaying a result of the filtered plurality of selectable fields on the GUI of the computer device of the user, wherein the result has at least a portion of the plurality of e-book files keyed to the plurality of author-based, content-centered literary criteria elements; and
saving the result of the filtered plurality of selectable fields and associating a name with the saved result, enabling the user to retrieve the same result at a later point of time.

US Pat. No. 10,248,716

REAL-TIME GUIDANCE FOR CONTENT COLLECTION

Accenture Global Solution...

1. A computer-implemented method comprising:receiving user input from a user through a user interface, the user input comprising a plurality of terms;
determining, by providing the user input as input to a first model, one or more data elements in the user input and one or more data element labels that each describe a respective data element, wherein each data element includes one or more terms of the plurality of terms;
determining, from among a plurality of tasks and by providing the one or more data elements and the one or more data element labels that each describe a respective data element as input to a second model, one or more predicted tasks for the provided user input, wherein each task of the plurality of tasks is associated with a respective plurality of data elements and data element labels of each data element for completing the task;
determining, by providing each task of the one or more tasks as input to a third model, one or more additional data elements for one or more suggested data element labels that are not included in the one or more data elements in the user input, wherein each additional data element for each suggested data element label includes additional information that is for completing the task and that has not yet entered been entered;
and
updating the user interface with a user interface element suggesting that the user provide the one or more additional data elements.

US Pat. No. 10,248,715

MEDIA CONTENT RECOMMENDATION METHOD AND APPARATUS

Tencent Technology (Shenz...

1. A media content recommendation method executed by a computer system, comprising:receiving an input entry parameter;
performing word segmentation on the entry parameter to obtain a word sequence, the word sequence comprising multiple sequentially sorted words;
combining adjacent words in the word sequence to generate a mixed word sequence, the mixed word sequence comprising multiple sequentially sorted phrases;
acquiring phrases comprised in the word sequence and the mixed word sequence;
for each of the phrases, allocating a matching weight coefficient to each phrase, the matching weight coefficient of a phrase being used to represent a percentage of the phrase in a meaning expressed by the whole entry parameter, searching for media content comprising the phrase;
calculating a matching weight coefficient sum of phrases comprised in the found media content; and
sorting the found media content in a descending order of matching weight coefficient sums, and recommending media content whose matching weight coefficient sum is sorted in the first place.

US Pat. No. 10,248,714

PROTECTING DOMAIN-SPECIFIC LANGUAGE OF A DIALOGUE SERVICE

International Business Ma...

1. A system to protect domain-specific language of a dialogue service having a set of protected terms, each protected term being associated with a domain and a substitute term, wherein the system executes on a data processing system within a distributed prediction system, the distributed prediction comprising a storage unit, the data processing system communicating with the storage unit via a network, the system comprising:a query processing unit adapted to identify the presence of a protected term in a received domain-specific query based on the domain that is specific to the query, the domain that is specific to the query corresponding to a particular company, the domain having an associated company dialogue service, the protected term corresponding to a term inappropriate for use with a different dialogue service, the protected term being stored within a table along with information associated with the protected term, the information associated with the term comprising replace with information, domain information, source term information, owner information, reverse translate information, alternate term information and part of speech information; and
a language substitution unit adapted to substitute the identified protected term with its associated substitute term, the language substitution unit using the information from the table to substitute the identified protection term with its associated substitute term.

US Pat. No. 10,248,713

TIME SERIES ANALYSIS USING A CLUSTERING BASED SYMBOLIC REPRESENTATION

Business Objects Software...

1. A computer-implemented method performed by at least one processor, the method comprising:receiving, by the at least one processor, time series data that includes a plurality of time series;
determining, by the at least one processor, a time window matrix that includes the plurality of time series each divided into a plurality of subsequences;
executing, by the at least one processor, a clustering algorithm to determine clusters, each of the clusters including a set of subsequences that represent a similar pattern among the subsequences of the plurality of time series;
modifying, by the at least one processor, the time window matrix by replacing one or more data elements of the time window matrix with one or more symbols that each correspond to a cluster; and
employing, by the at least one processor, the modified time window matrix to determine one or more discretized time series with a symbolic representation;
employing, by the at least one processor, the symbolic representation of the one or more time series to determine at least one prediction regarding the time series data.

US Pat. No. 10,248,712

GENERATING A SET OF REPRESENTATIVE ITEMS USING A MAXIMUM-SET-COVERAGE SELECTION STRATEGY

Amazon Technologies, Inc....

1. A computing system comprising:a memory configured to store processor-executable instructions; and
a processor in communication with the memory and configured to execute the processor-executable instructions to perform operations comprising:
receiving, from another computing device, a value indicative of the number of reviews desired for presentation on the other computing device;
deriving an associated collection of elements from a set of reviews, wherein each element in the associated collection of elements is related to a review in the set of reviews;
for each review of the set of reviews, identifying a set of elements related to the review based at least in part on the associated collection of elements;
for each review of the set of reviews, determining a marginal utility value of the review based at least in part on the set of elements, in the associated collection of elements, that is related to the review;
selecting, from the set of reviews, a set of representative reviews based at least in part on the value indicative of the number of reviews desired for presentation and the marginal utility values of the reviews in the set of reviews;
determining that the number of reviews in the set of representative reviews corresponds to the value indicative of the number of reviews desired for presentation; and
providing the set of representative reviews to the other computing device for presentation via a user interface.

US Pat. No. 10,248,711

REPRESENTATION OF TIME-SENSITIVE AND SPACE-SENSITIVE PROFILE INFORMATION

INTERNATIONAL BUSINESS MA...

1. A profile-management system comprising a computer processor, a memory coupled to the processor, a computer-readable hardware storage device coupled to the processor, and a multidimensional information repository that comprises a profile set of user-profile records that each identifies a user profile of a plurality of user profiles, a geospatial-map set of location records that each identifies a location of a plurality of locations, a time-graph set of time-period records that each identifies a time period of a plurality of time periods, and a subject-dictionary set of subject-matter records that each identifies a subject of a plurality of subjects, wherein the storage device stores program code configured to be run by said processor via the memory to implement a method for managing dynamic time-sensitive and space-sensitive user characteristics, the method comprising:the system receiving an inbound event that is associated with a first user profile, a first location, a first time period, and a first subject;
the system searching the profile set for a user-profile record associated with the first user profile and adding such a record to the profile set if none already exists;
the system decreasing a first confidence level of the record if unable to identify the record in the profile set that exactly matches the first user profile associated with the inbound event;
the system searching the geospatial map for a location record associated with the first location and adding such a record to the geospatial map if none already exists;
the system zooming out the geospatial map and decreasing a second confidence level of the location record if unable to identify the location record that exactly matches the first location associated with the inbound event;
the system searching the time graph for a time-period record associated with the first time period and adding such a record to the time graph if none already exists;
the system searching the subject dictionary for a subject-matter record associated with the first subject and adding such a record to the subject dictionary if none already exists;
the system creating a set of space-sensitive and time-sensitive linkages, wherein the linkages link the record associated with the first user profile to the record associated with the first location, the record associated with the first time period, and the record associated with the first subject;
the system continuously self-learning by recognizing the set of space-sensitive and time-sensitive linkages in user behaviors represented by objects and the linkages and using self-learned observations to infer user behavioral patterns in the user-profile records;
the system dynamically and automatically updates the set of space-sensitive and time-sensitive linkages in response to a modification of the inbound event; and
the system increasing a confidence factor of query results by adding space-sensitive context and time-sensitive context to a query.

US Pat. No. 10,248,710

PARALLEL BOOTSTRAP AGGREGATING IN A DATA WAREHOUSE APPLIANCE

International Business Ma...

1. A computer-implemented method of creating bootstrap samples from a dataset, comprising:generating, with a process node, a series of random integers;
creating, with the process node, an assignment map, the assignment map includes a row identifier for each row of the dataset;
assigning, with the process node, a plurality of bootstrap sample identifiers defined by the series to at least one row identifier; and
creating, with the process node, an output table, rows of the output table include each instance of the bootstrap sample identifiers, the row identifier assigned with the bootstrap sample identifier, and data of a row of the dataset.

US Pat. No. 10,248,709

PROMOTED PROPERTIES IN RELATIONAL STRUCTURED DATA

Microsoft Technology Lice...

1. A method of managing data coherency among partitioned data storage spaces, the method comprising:storing sets of structured data records among the partitioned data storage spaces, with data fields of the structured data records correlated among the sets by one or more relational associations;
maintaining data fields in at least a first set of structured data records, the data fields comprising promoted data fields that reference properties of data fields of at least a second set of structured data records;
responsive to a user instruction to update at least a data field of a first structured data record in the partitioned data storage spaces, determining if the update relates to a promoted data field;
when the update does not relate to the promoted data field, implementing the update and propagating the update to any associated ones of the structured data records;
when the update relates to the promoted data field, implementing a portion of the update in the second set of structured data records and propagating the update to associated promoted data fields in the first set of structured data records along with any intervening changes received for the associated promoted data fields.

US Pat. No. 10,248,708

STORAGE AND REPLICATION IN DISTRIBUTED COMPUTING ENVIRONMENTS

Universita della Svizzera...

1. A computer-implemented method, comprising: providing, by one or more processors, an application program interface to an application to submit a value; based on obtaining the value through the application program interface (API), initiating, by the one or more processors, an instance of a consensus protocol, wherein the initiating comprises sending a message comprising the value to one or more hardware components communicatively coupled to the one or more processors; obtaining, by logic executed in the one or more hardware components, the message and appending the message with a sequence number, wherein the sequence number identifies the instance; accepting, by additional logic executed in the one or more hardware components, the value and supplying the value to the one or more processors; and replicating, by the one or more processors, the value for the instance and returning the value to the application via a callback.

US Pat. No. 10,248,707

REPLICATING DATABASE UPDATES WITH BATCHING

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:determining, by a computer processor, a minimum batching percentage for a source table;
determining, by the computer processor, a change threshold based on the minimum batching percentage;
detecting, by the computer processor, a source update applied to the source table, wherein the source table comprises a plurality of columns, and wherein the source update modifies a first subset of columns of the plurality of columns;
determining, by the computer processor, a second subset of columns of the plurality of columns, wherein the second subset of columns comprises more columns than the first subset of columns and fewer columns than the plurality of columns, wherein the determining the second subset of columns comprises determining which of the plurality of columns were updated most recently, and wherein a respective tracking count of each column in the second subset of columns is less than or equal to the change threshold;
including, by the computer processor, the second subset of columns in a set clause of an update statement for updating a target table, wherein the second subset of columns included in the set clause comprise more columns than the first subset of columns modified by the source update, wherein the second subset of columns comprise fewer columns than the plurality of columns in the source table, and wherein the target table comprises a replica of the source table; wherein the change threshold is a number of times a column that has been updated at least once and is allowed to be unchanged by an update before the column is not included in the set clause; and
updating, by the computer processor, one or more columns of the target table responsive to the source update at the source table by applying the update statement to the target table to achieve at least the minimum batching percentage within a plurality of update statements, wherein the applying the update statement comprises batching the update statement with a set of one or more previous update statements applicable to the target table, and wherein the minimum batching percentage is a guaranteed minimum percentage of update statements batched together when the plurality of update statements are performed in sequence, uninterrupted by other database operations.

US Pat. No. 10,248,706

REPLICATING DATABASE UPDATES WITH BATCHING

INTERNATIONAL BUSINESS MA...

1. A system comprising:a memory having computer readable instructions; and
one or more processors for executing the computer readable instructions to perform:
determining a minimum batching percentage for a source table;
determining a change threshold based on the minimum batching percentage;
detecting a source update applied to the source table, wherein the source table comprises a plurality of columns, and wherein the source update modifies a first subset of columns of the plurality of columns;
determining a second subset of columns of the plurality of columns, wherein the determining the second subset of columns comprises determining which of the plurality of columns were updated most recently, and wherein a respective tracking count of each column in the second subset of columns is less than or equal to the change threshold;
including the second subset of columns in a set clause of an update statement for updating a target table, wherein the second subset of columns included in the set clause comprise more columns than the first subset of columns modified by the source update, wherein the second subset of columns comprise fewer columns than the plurality of columns in the source table, and wherein the target table comprises a replica of the source table;
wherein the change threshold is a number of times a column that has been updated at least once is allowed to be unchanged by an update before the column is not included in the set clause; and
updating one or more columns of the target table responsive to the source update at the source table by applying the update statement to the target table to achieve at least the minimum batching percentage within a plurality of update statements;
wherein the applying the update statement comprises batching the update statement with a set of one or more previous update statements applicable to the target table, and wherein the minimum batching percentage is a guaranteed minimum percentage of update statements batched together when the plurality of update statements are performed in sequence, uninterrupted by other database operations.

US Pat. No. 10,248,705

STORAGE CONSTRAINED SYNCHRONIZATION OF SHARED CONTENT ITEMS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:storing, by a client device, a shadow item representing a content item on the client device, wherein 1) the content item includes content data and metadata, 2) the content data is stored on a host device that is remote to the client device without the content data of the content item being stored on the client device, and 3) the shadow item only stores the metadata on the client device, and wherein the metadata corresponds to file attributes of the content item stored on the host device including at least a size of the content item;
receiving a request to view the file attributes in a file system interface of the client device, the request associated with a selection of the shadow item;
retrieving the metadata associated with the shadow item in response to the request; and
displaying the retrieved metadata including the size of the content item as the file attributes in the file system interface of the client device, wherein at least some of the displayed metadata attributes correspond to the metadata attributes of the content item represented by the shadow item.

US Pat. No. 10,248,704

SYSTEM AND METHOD FOR LOG CONFLICT DETECTION AND RESOLUTION IN A DATA STORE

Amazon Technologies, Inc....

1. A system, comprising:a plurality of computing nodes, each comprising at least one processor and memory, wherein the plurality of computing nodes is configured to implement a data storage service;
wherein the data storage service maintains data on behalf of one or more storage service clients, wherein maintaining the data comprises storing two or more replicas of the data on respective computing nodes in the system, wherein the two or more replicas make up a replica group, wherein at most one of the replicas in the replica group can act as a master replica for the replica group at a time, and wherein replicas in the replica group that are not acting as the master replica act as slave replicas in the replica group;
wherein one of the replicas in the replica group is configured to:
receive a log record to be appended to a log maintained by the replica, wherein the log comprises a plurality of log records, wherein each log record indicates an update to the data being maintained on behalf of the storage service clients or an update to the membership of the replica group, and wherein each log record comprises metadata associated with the update or the replica group that receive log records from the master replica, wherein the metadata comprises:
a sequence number that was assigned to the log record when the log record was generated and that comprises a value in a strictly increasing series; and
a master reign identifier indicating a reign of a particular master replica over the replica group when the log record was generated;
compare metadata for the received log record to metadata for one or more other log records in the log to determine a conflict in master reign between the received log record and the one or more other log records;
determine an action to be taken in response to receiving the log record dependent on results of the comparison, wherein the action resolves the determined conflict; and
take the determined action.

US Pat. No. 10,248,703

SYSTEM AND METHOD FOR CLUSTER-WIDE REPLICATION OF EMBEDDED COMPONENT CONFIGURATION

ORACLE INTERNATIONAL CORP...

1. A system for cluster-wide replication of embedded component configuration, comprising:a computer including a processor;
a host application server that includes a configuration replication logic and deployment interface, and one or more embedded components, each embedded component having an original configuration associated therewith;
wherein the system receives input to modify the original configuration of a particular embedded component provided at the host application server, and cause a configuration state change for the particular embedded component at the host application server;
wherein, at the host application server, the configuration replication logic and deployment interface:
determines, in response to the changed configuration state of the particular embedded component, one or more configuration commands to be executed at a target application server having the particular embedded component, to provide an equivalent change in configuration of the particular embedded component at the target application server, and
packages, within a configuration archive, each of the one or more configuration commands as a command payload, associates the command payloads with an order in which the commands were executed at the host application server, and distributes the configuration archive including the command payloads to the target application server; and
wherein, at the target application server, a listener, upon receipt and deployment of the configuration archive:
extracts the command payloads, and
invokes the associated configuration commands on the particular embedded component at the target application server, in the order the commands were executed at the host server, to modify the configuration of the particular embedded component at the target application server.

US Pat. No. 10,248,702

INTEGRATION MANAGEMENT FOR STRUCTURED AND UNSTRUCTURED DATA

International Business Ma...

1. A computer-implemented method for structured data and unstructured data integration management to provide a valid Java Database Connectivity (JDBC) results-set, the method comprising:receiving, by a database driver, a query, wherein the query is received from an application configured without an unstructured data adapter;
constructing, in a dynamic fashion by the database driver in response to receiving the query, a single data frame having both a set of structured data and a set of unstructured data;
compiling, by the database driver based on the single data frame, a valid JDBC results-set for the query; and
providing, by the database driver, a query response having the valid JDBC results-set wherein the query response is provided to the application configured without the unstructured data adapter.

US Pat. No. 10,248,701

EFFICIENT DISTRIBUTED QUERY EXECUTION

International Business Ma...

1. A method for query execution in multiple nodes of a distributed database system, said method comprising:receiving a database query in a first node of the distributed database system, the database query including a first constraint and at least one additional constraint;
identifying data in the first node that satisfies the first constraint with a first processor;
encoding the data with an encoder to generate encoded data;
sending the encoded data to a second node of the distributed database system with a first communications device, wherein each node of the nodes includes a data field, a predicate field, and an object field;
encoding a predicate in the second node to generate an encoded predicate; and
encoding an object in the second node to generate an encoded object;
identifying at least one encoded data of the encoded data that is in a mapping table in the second node with a second processor;
identifying at least one missing identifier with the second processor, the at least one missing identifier including at least one encoded data of the encoded data that is not in the mapping table in the second node;
sending the missing identifier to the first node with a second communications device;
decoding the missing identifier to retrieve the value of the missing identifier;
mapping the missing identifier to the retrieved value;
sending the mapping of the missing identifier and the retrieved value to the second node with the first communications device;
querying a dictionary in the second node with the retrieved value to identify an identification number for the retrieved value;
rewriting the database query to include:
the identification number for the retrieved value; and
at least one identification number for the at least one encoded data of the
encoded data that is in the mapping table in the second node; and
mapping the missing identifier to the identification number for the retrieved value.

US Pat. No. 10,248,700

SYSTEM AND METHODS FOR EFFICIENT SELECTION AND USE OF CONTENT

Remote Sensing Metrics, L...

21. A computer method for providing an estimate of economic activity of one or more retail stores comprising the steps of:capturing by a recording device one or more visual recordings of the one or more retail stores over a first time period and a second time period;
sending to a processor the one or more visual recordings;
generating by the processor one or more representations from the one or more visual recordings;
refining by the processor the one or more representations based on one or more criteria to produce one or more refined representations, wherein the refining step further comprises the step of determining whether a threshold value of a selected criteria is met by each of the one or more representations, and if the threshold value is not met, removing the one or more representations, the selected criteria selected from the group consisting of resolution, pixilation, and cloud cover;
extracting by the processor content for evaluation from the one or more refined representations, wherein said extracting step further includes:
defining a border around the one or more retail stores;
identifying within the border a parking lot of the one or more retail stores; and
distinguishing within the border both a number of cars in the parking lot and a number of empty parking spaces in the parking lot;
evaluating by the processor the content to obtain a result, wherein the evaluating step further comprises the steps of:
counting by the processor the number of cars in the parking lot;
counting by the processor the number of empty parking spaces; and
dividing by the processor the number of cars in the parking lot by the number of empty parking spaces to determine a first fill rate of the first time period, wherein the first time period is selected from a group consisting of a day, a week, a month, and a quarter, of a first year;
repeating the extracting and evaluating step to determine a second fill rate for the one or more retail stores of the second time period, wherein the second time period is identical to the first time period, but of a second year;
comparing the first fill rate to the second fill rate; and
displaying the result on a display, wherein the result comprises the estimate of economic activity of the one or more retail stores.

US Pat. No. 10,248,699

QUESTION ROUTING FOR USER COMMUNITIES

International Business Ma...

1. A system comprising:a computing device having a processor; and
a computer readable storage medium having program instructions embodied therewith, the program instructions readable/executable by the processor to cause the system to perform a method, the method comprising:
determining, for a current question presented by an asking user and for a plurality of existing questions within a plurality of online communities that each has a plurality of users contributing answers to the plurality of existing questions, a plurality of question-to-question similarity values;
determining, for the current question presented by the asking user and of the plurality of users contributing answers, a plurality of question-to-user similarity values, the question-to-user similarity values includes scoring the question-to-user similarity based at least on determining how many communities one or more of the plurality of users are members of;
determining, for the current question presented by the asking user and the plurality of online communities, a plurality of question-to-community similarity values;
selecting one or more of the plurality of online communities based on the plurality of question-to-question similarity values, the plurality of question-to-user similarity values and the plurality of question-to-community similarity values; and
routing the current question presented by the asking user to the selected one or more of the plurality of online communities.

US Pat. No. 10,248,698

NATIVE APPLICATION SEARCH RESULT ADJUSTMENT BASED ON USER SPECIFIC AFFINITY

Google LLC, Mountain Vie...

12. A system, comprising:a data processing apparatus; and
software stored in non-transitory computer readable storage medium storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:
receiving a search query submitted from a user device for a search operation;
accessing application affinity data for the user device from which the query was received, the application affinity data describing, for a plurality of native applications installed on the device, an affinity score for the native application that measures the user's affinity for the native application relative to other native applications, and wherein the application affinity data is received responsive to a reporting process that is separate from the search operation;
receiving a set of search results that each identify a respective resource determined to be responsive to the query, and wherein each of the identified resources has a corresponding search score by which the resource is ranked in responsiveness to the search relative to other resources, and wherein one or more of the search results are a native application search results that each include a deep link to a respective one of the native applications installed on the user device from when the query was received;
for each of the native application search results, determining the affinity score of the native application, the determining the affinity score comprising:
determining, from usage data received from the user device, a first time measure that is inclusive of usage time of a plurality of native applications installed on the user device;
for each native application of the plurality of native applications installed on the user device:
determining, from the reporting data received from the user device, a respective second time measure for the native application on the user device;
determining a relative engagement measure for the native application based on the respective second time measure and the first time measure; and
determining the affinity score of the native application based on the relative engagement measure determined for the native application;
adjusting the search results based on the affinity scores to generate an adjusted set of search results; and
providing, to the user device, the adjusted search results.

US Pat. No. 10,248,697

METHOD AND SYSTEM FOR FACILITATING INTERACTIVE REVIEW OF DATA

RAYTHEON COMPANY, Waltha...

1. A method for facilitating interactive review of image data, comprising:receiving a plurality of examples of a target associated with a set of image data, wherein the image data comprises pixels;
comparing the plurality of examples of the target to the set of image data to identify a plurality of potential matches based upon pixels of the target data and the pixels of the set of image data;
assigning, for each respective potential match, a priority value to the respective potential match based on a comparison of the plurality of examples of the target to the respective potential match;
displaying the plurality of potential matches in a first display area, wherein the first display area organizes the plurality of potential matches according to the priority value assigned to each respective potential match;
receiving a selection of at least one of the plurality of potential matches displayed in the first display area; and displaying, in response to the selection, the selected potential matches in a second display area,
wherein displaying the selected potential matches in the second display area comprises at least one of (i) enlarging the potential matches and displaying the potential matches in the second display area while maintaining a relative spatial relationship between the potential matches, or (ii) displaying any two of the potential matches at a second distance that is shorter than a first distance at which the two potential matches are displayed in the first display area, while maintaining a relative spatial relationship between the potential matches, and
wherein displaying the selected potential matches in the second display area further comprises displaying an image for each selected potential match, receiving a command associated with modifying a display attribute associated with the images, and modifying, in response to the command, the display attribute associated with the images.

US Pat. No. 10,248,696

METHODS AND SYSTEMS FOR SEARCHING ENTERPRISE DATA

Cisco Technology, Inc., ...

1. A method for searching for data, comprising:(a) accessing a data storage unit comprising data, wherein at least a subset of said data is associated with a user that is in an organization;
(b) identifying connections that associate (i) data in said subset with said user, (ii) data in said subset with other data in said data storage unit, which other data is associated with one or more other users that are in said organization, (iii) said user with said one or more other users, and (iv) said user with said other data;
(c) using a computer processor, assigning an initial resistance value to each connection identified in (b), which the initial resistance value is based on and inversely related to a strength of association between data and/or users associated with a given connection among said connections identified in (b);
(d) generating a resistance graph identifying (i) said user, subset of said data, at least a portion of said other data and said one or more other users, and (ii) said connections identified in (b), said resistance graph containing connections in series and parallel;
(e) modifying the initial resistance value of each connection identified in (b) to produce a modified resistance value based on a frequency in which said user accesses said data in said subset, accesses said other data in said data storage unit, and communicates with said one or more other users;
(f) determining an overall resistance value (Req) of each connection based on the resistance graph and the modified resistance values (R1, . . . Rn), wherein the overall resistance value (Req) of connections in series is calculated by the relationship Req=R1+ . . . Rn, and the overall resistance value (Req) of connections in parallel is calculated by the relationship Req=1/{(1/R1)+ . . . (1/Rn)};
(g) conducting a search of said data storage unit directed to search criteria provided by said user; and
(h) providing results of said search, wherein said results are sorted based on said overall resistance values determined in (f).

US Pat. No. 10,248,695

EXTREME VALUE COMPUTATION

International Business Ma...

1. A computer-implemented method for storing a data table, wherein the data table has at least one attribute, and wherein a first data block of the data table comprises a set of data rows of the data table, and wherein a current data block being the first data block, the method comprising:providing a plurality of synopsis techniques for determining a plurality of attribute value information indicative of the at least one attribute;
determining a data characteristic describing the plurality of data rows of the current data block;
selecting, based on the determined data characteristic, at least one synopsis technique of the provided plurality of synopsis techniques suitable for generating the plurality of attribute value information for the at least one attribute of the current data block;
determining the plurality of attribute value information for the at least one attribute of the plurality of data rows of the current data block using the at least one selected synopsis technique, wherein determining the plurality of attribute value information further comprises:
scanning the current data block to identify a fixed number j from a plurality of first distinct values of the at least one attribute for indicating a value range of the at least one attribute in the current data block;
dividing the value range into a plurality of sub-ranges; and
creating a distribution of a plurality of buckets, wherein each bucket is associated with a respective sub-range of the plurality of sub-ranges;
storing the determined plurality of attribute value information for the current data block to be used for query processing against the data table;
further scanning the current data block;
determining a bucket within the plurality of buckets is available for each further current value j+1 of the at least one attribute;
marking the bucket as a non-empty bucket;
providing the plurality of attribute value information as comprising a plurality of extremum values of the at least one attribute in the current data block, the distribution of the plurality of buckets, and the value range in each of the distribution of the plurality of buckets;
receiving a query of the at least one attribute of the data table;
determining a plurality of empty buckets within the distribution of the plurality of buckets;
comparing the determined plurality of empty buckets with a predetermined maximum number; and
using one of the distribution of the plurality of buckets and the plurality of extremum values to decide to scan or not to scan the current data block for evaluating the received query based on the compared plurality of empty buckets.

US Pat. No. 10,248,694

BLOOM FILTER UTILIZATION FOR JOIN PROCESSING

International Business Ma...

1. A computer program product comprising:one or more computer readable tangible storage media and program instructions stored on at least one of the one or more storage media, the program instructions comprising:
program instructions to insert a bloom filter creation stage after an inner data source identification stage, wherein a join operation is to be performed to join an outer data source with the inner data source;
program instructions to, responsive to determining a plurality of optimization conditions are satisfied, wherein the plurality optimization conditions at least specify that the join operation does not have any additive stages between the inner data source and a join stage, determine to insert a first bloom filter search stage after an outer data source identification stage;
program instructions to insert the first bloom filter search stage after the outer data source identification stage, wherein each row of data from the outer data source is searched against a first bloom filter for the inner data source during the first bloom filter search stage;
program instructions to initialize a read on the inner data source, wherein a plurality of rows from the inner data source pass through to the join stage;
program instructions to, responsive to determining the bloom filter creation stage is complete, initialize a read on the outer data source against the first bloom filter, wherein the plurality of rows from the inner data source pass through to the bloom filter creation stage; and
program instructions to perform the join operation of the inner data source and the outer data source at the join stage.

US Pat. No. 10,248,693

MULTI-LAYERED ROW MAPPING DATA STRUCTURE IN A DATABASE SYSTEM

SAP SE, Walldorf (DE)

1. A method in a database system comprising a database server in communication with a database, the method comprising:receiving a first query from a client system via a network, the first query comprising a first key and a first operation to be performed on data stored in the database;
scanning an index of the database using the first key to obtain a row identifier for a row to be accessed in the database for the operation to be performed;
converting the row identifier of the row to be accessed in the database into a row address of the row in a first cache memory using a row mapping table comprising a multi-layer data structure stored in a memory of the database server, wherein the first cache memory is configured to store recently accessed rows of the database;
determining whether the row is located in the first cache memory based on the row address; and
performing the operation on the row and storing a result of the operation into the first cache memory at the row address when the row is located in the first cache memory,
wherein converting the row identifier into the row address of the row in the first cache memory comprises:
segmenting the row identifier into at least a first part and a second part;
performing a first comparison at a first layer data structure of the row mapping table, the first comparison comprising comparing bits of the first part of the row identifier with bits of a corresponding first part of the row address stored at the first layer data structure of the row mapping table;
performing a second comparison at a second layer data structure of the row mapping table, the second comparison comprising comparing bits of the second part of the row identifier with bits of a corresponding second part of the row address stored at the second layer data structure of the row mapping table; and
identifying the row address of the row in the first cache memory based on the first comparison and the second comparison.

US Pat. No. 10,248,692

CARDINALITY ESTIMATION OF A JOIN PREDICATE

International Business Ma...

1. A computer-implemented method comprising:receiving, by one or more computer processors, a dimension table and a fact table in a join predicate of one or more SQL statements;
identifying, by one or more computer processors, a majority of records in the fact table that refer to a subset of records in the dimension table;
computing, by one or more computer processors, a filter factor of the join predicate between the dimension table and the fact table, wherein computing the filter factor of the join predicate between the dimension table and the fact table is performed using statistics relating to only the portion of the dimension table referred to by the fact table, and wherein the statistics relating to only the portion of the dimension table referred to by the fact table are maximum and minimum values of a column in the dimension table; and
creating, by one or more computer processors, a statistical view of the dimension table using the maximum and minimum values as a range predicate on the dimension table's join column, and using one or more relevant portions of the dimension table that are referred to by the fact table, wherein the one or more relevant portions of the dimension table include DATE and TIMESTAMP dimensions.

US Pat. No. 10,248,691

READ/WRITE SPLIT DATABASE QUERY ROUTING

PAYPAL, INC., San Jose, ...

1. A database system, comprising:a database application cluster comprising a read-write node and a plurality of read nodes;
a shared memory; and
a multiplexer coupled to the database application cluster and shared memory, and comprising a non-transitory memory and one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the multiplexer to perform operations comprising:
receiving a request from a client computing system, wherein the request comprises a database query;
determining that the database query is a read query which is not included in a transaction executing on the read-write node of the database application cluster;
determining, based at least on a lookup in the shared memory and the determination that the database query is a read query not included in a transaction executing on the read-write node, whether the database query can be routed to one of the plurality of read nodes; and
routing the database query to one of the plurality of read nodes for execution if the determination is that the database query can be routed to one of the plurality of read nodes.

US Pat. No. 10,248,690

DECREMENTAL CORRELATION CALCULATION FOR BIG DATA OR STREAMED DATA USING COMPONENTS

1. A computing-system-implemented method for generating a correlation for data elements in two modified computation subsets, the method comprising:initializing, by a computing-device-based computing system, a computation subset size counter n (n?6) which indicates a number of pairs of data elements in two pre-modified computation subsets of one or two data sets on one or more storage media of the computing-device-based computing system or one or two data streams accessible by the computing-device-based computing system, a sum or an average or both for each of the two pre-modified computation subsets, and one or more other components of a correlation for the two pre-modified computation subsets;
accessing or receiving, by the computing-device-based computing system, a pair of data elements to be removed from the two pre-modified computation subsets;
modifying, by the computing-device-based computing system, the two pre-modified computation subsets by:
removing the accessed or received pair of data elements from the two pre-modified computation subsets; and
modifying the computation subset size counter;
decrementally deriving, by the computing-device-based computing system, a sum or an average or both for each of the two modified computation subsets;
directly decrementally deriving, by the computing-device-based computing system and based at least in part on the one or more components of the correlation other than a sum and an average initialized or derived for the two pre-modified computation subsets and/or the computation subset size counter, one or more components of a correlation other than a sum and an average for the two modified computation subsets, wherein the decrementally deriving includes:
accessing the one or more components of the correlation other than a sum and an average initialized or derived for the two pre-modified computation subsets without accessing all data elements in the two modified computation subsets to reduce data accessing latency thereby saving computing resources and reducing the computing-device-based computing system's power consumption; and
removing any contribution of the removed pair of data elements from each of the accessed components mathematically without using all data elements in the two modified computation subsets to reduce the number of operations performed by the computing-device-based computing system thereby increasing calculation efficiency; and
generating, by the computing-device-based computing system, a correlation for the two modified computation subsets based on one or more of the decrementally derived components.

US Pat. No. 10,248,689

SUPPLEMENTING CANDIDATE ANSWERS

International Business Ma...

1. A method for providing candidate answers in a question-answering system, the method further comprising:receiving a first user question at a first point in time;
receiving a second user question at a second point in time;
comparing a set of candidate answers for the first user question from a first question-answering session to one or more indexed question-answer sets of a database;
identifying, using both relationships of the database and natural language analysis of the first user question, a previous question-answer set of the indexed question-answer sets which correlates with a first candidate answer of the set of candidate answers,
wherein the identifying a previous question-answer set includes
identifying a first conceptual entity within the first candidate answer using natural language processing techniques,
identifying a first data point of a knowledge graph which corresponds to the conceptual entity, and
identifying a second data point of the knowledge graph which connects to the first data point based on association data from the natural language analysis, wherein the second data point corresponds to a second conceptual entity from the previous question-answer set;
adding the first user question and the first candidate answer to the database as a first question-answer set;
indexing the first user question and the first candidate answer in the database,
comparing a set of candidate answers for the second user question from a second question-answering session to one or more indexed question-answer sets of a database;
identifying, using both relationships of the database and natural language analysis of the question, the first question-answer set of the indexed question-answer sets as corelative to the second user question;
restructuring the first question-answer set to comprise the question rephrased as a statement, wherein the first candidate answer is embedded within the statement;
identifying elements of the first question-answer set that contain similar concepts to the second user question;
supplementing the statement with the elements; and
provide the supplemented statement to the user.

US Pat. No. 10,248,688

ANNOTATIONS FOR PARALLELIZATION OF USER-DEFINED FUNCTIONS WITH FLEXIBLE PARTITIONING

SAP SE, Walldorf (DE)

1. A method implemented at least in part by a computing system, the method comprising:receiving one or more source code annotations for a user-defined function appearing in source code, wherein the source code defines an executable program comprising both one or more relational operations and one or more user-defined functions, and wherein a source code annotation of the one or more source code annotations specifies at least one property for parallelized instances of the user-defined function, the at least one property comprising a partitioning pre-condition specifying a range of a plurality of permitted partition arrangements for input tables of the parallelized instances of the user-defined function, wherein the range of the plurality of permitted partition arrangements is specified as:
an upper bound specified in an annotation of the one or more source code annotations and selected as at least one selected from the group consisting of (i) a designation that partitioning is not supported; (ii) a designation that any degree of partitioning is supported; and (iii) identifiers for one or more columns which may be included in partition calculation; and
a lower bound specified in the annotation of the one or more source code annotations and selected as at least one selected from the group consisting of (i) a designation that partitioning is not required; (ii) a designation that any degree of partitioning is supported; and (iii) identifiers for one or more columns which must be included in partition calculation;
wherein at least one of the upper bound and the lower bound specifies identifiers for one or more columns and wherein the upper bound and the lower bound are not the same;
receiving a relational operation out of the relational operations; and
based at least in part on the relational operation, the source code annotation, and the user-defined function, generating a query execution plan optimized, according to an optimization algorithm, for parallel execution, the generating comprising choosing and avoiding partition or merge operations during query execution plan optimization based on what partition arrangements are permitted for input tables of tables of the parallelized instances of the user-defined function, and wherein, for the optimized query execution plan, a partition arrangement is selected that is within the range of permitted partition arrangements.

US Pat. No. 10,248,687

EXPANDED SEARCH AND FIND USER INTERFACE

MICROSOFT TECHNOLOGY LICE...

1. A method for providing an expanded search and find email functionality comprising:displaying, by a computing device, a user interface including a list pane and a search pane, the list pane initially including an unfiltered listing of email items, the search pane initially being in a simplified form and including a first textbox;
receiving, by the computing device, entry of a free form alphanumeric first search query in the first textbox;
receiving, by the computing device, a request to initiate the first search query;
executing the first search query and displaying a first results list in the list pane, the first results list including one or more of the email items that match the first search query;
receiving, by the computing device, a request to display an expanded form of the search pane that includes the first textbox and a plurality of additional textboxes, each of the additional textboxes being associated with a pre-selected property of the email items that defines a search criteria associated with the additional textbox, each pre-selected property being represented by a label adjacent to its associated additional textbox;
receiving, by the computing device, entry of a search string in at least one of the additional textboxes;
receiving, by the computing device, a request to initiate a second search query that includes the search string entered in the at least one additional textbox;
removing the expanded form of the search pane and redisplaying the simplified form so that the first textbox is displayed without the additional textboxes, wherein the first textbox is populated with a syntax and structure of the second search query in response to removing the expanded form of the search pane and redisplaying the simplified form; and
executing, by the computing device, the second search query and displaying a second results list in the list pane, the second results list including one or more of the email items having instances of the pre-selected property matching the search string in the second search query.

US Pat. No. 10,248,686

SHARED DATA WITH RELATIONSHIP INFORMATION

Tekla Corporation, Espoo...

1. A method comprising:maintaining a shared data in a shared model, the shared data comprising a plurality of shared plans where each shared plan comprises one or more data items in a sequential order, the plurality of shared plans comprising a master plan and at least one parallel plan and a plurality of alternative plans, wherein at least one of the plurality of alternative plans are capable of being selected to be deleted upon storing of the shared model; and wherein each data item contains relationship information comprising an identifier, previous data item information, next data item information, and higher level relationship information;
associating a first data item stored in a shared plan selected from the group consisting of the master plan, the at least one parallel plan, and the plurality of alternative plans, with the relationship information indicating:
whether or not the first data item has a previous data item in the shared plan,
whether or not the first data item is associated with a next data item in the shared plan, and
whether or not the first data item has a relationship to a second data item in a higher level plan, information representing an existing relationship indicating that the first data item is a starting data item for the shared plan, and information representing a missing relationship indicating that the first data item is one of the one or more data items for the shared plan, wherein the plurality of data items further includes a third data item that is in a relationship with both the second data item in the higher level plan and another data item in the plurality of data items;
detecting that the first data item is unwanted;
obtaining the relationship information of the first data item and relationship information of data items subsequent to the first data item;
determining that none of the data items subsequent to the first data item are to be saved;
creating a new shared plan comprising a start packet, the start packet having no previous data item information but having next data information that indicates the next data item is the first data item; and
moving the first data item and the data items subsequent to the first data item to the new shared plan, the data items subsequent to the first data item being positioned subsequent to the first data item in the new shared plan.

US Pat. No. 10,248,685

EFFICIENT DETERMINATION OF COMMITTED CHANGES

Oracle International Corp...

1. A method comprising:for a pluggable database that is open on a plurality of instances of a database, identifying a first current timestamp of said pluggable database for a first instance of said plurality of instances, wherein said pluggable database is open on said first instance;
as of said first current timestamp, computing a minimum value of one or more start timestamps that each correspond to an uncommitted transaction of said pluggable database on said first instance;
communicating, from said first instance to a second instance of said plurality of instances, said minimum value and said first current timestamp;
wherein said pluggable database is open on said second instance;
causing comparing said first current timestamp to a second current timestamp of said pluggable database that is open on said second instance:
when said first current timestamp is greater than said second current timestamp, causing said second current timestamp to become equal to said first current timestamp and causing said second instance to store said minimum value,
when said first current timestamp is equal to said second current timestamp, causing said second instance to store said minimum value, and
when said first current timestamp is less than said second current timestamp, causing said second instance to discard said minimum value and advancing said first current timestamp to said second current timestamp; and
wherein said method is performed by one or more computing devices.

US Pat. No. 10,248,684

INTELLIGENT VERIFICATION OF UPDATES TO PROFILE STORES FROM SOURCES OF TRUTH

INTUIT INC., Mountain Vi...

1. A method for managing synchronization between a profile store and a source of truth that is used to update the profile store via a real-time link, comprising:identifying a synchronization issue associated with the profile store due to a loss of communication over the real-time link;
following restoration of communication over the real-time link, selecting a profile for an entity in the profile store for use in verifying the synchronization between the profile store and the source of truth based on an access pattern that defines a set of profiles of the profile store to access based on previous updates to the set of profiles, wherein the profile selected is included in the access pattern;
obtaining, by a catch-up service executing on a processor, over a first network connection with the profile store, a first set of attributes from the profile, wherein the profile is transmitted to a set of remote offerings;
obtaining, by the catch-up service, over a second network connection with the source of truth, a second set of attributes for the entity from the source of truth, wherein the second set of attributes from the source of truth is transmitted to the set of remote offerings;
detecting mismatches between the first and second sets of attributes; and
correcting, via one or more Representational State Transfer (REST) calls, the mismatches between the first set of attributes and the second set of attributes, wherein correcting the mismatches improves subsequent use of the profile in the profile store by the set of remote offerings.

US Pat. No. 10,248,683

APPLICATIONS OF AUTOMATED DISCOVERY OF TEMPLATE PATTERNS BASED ON RECEIVED REQUESTS

Oracle International Corp...

1. A method comprising:in response to receiving a first request, identifying a first node in a model that represents a plurality of ordered template patterns followed by multiple previous requests, wherein the first node corresponds to a first template that represents a normalized version of the first request and one or more other requests, wherein the first request is mapped to the first template by removing one or more data values from the first request;
determining a predicted template pattern based on a probability of transitioning from the first node to one or more other nodes of a plurality of other nodes in the model, wherein the predicted template pattern is a particular ordered template pattern, of the plurality of ordered template patterns, that includes the first template and one or more other templates;
selecting a candidate node from the plurality of other nodes based on the predicted template pattern;
identifying a second template that corresponds to the candidate node, wherein the second template represents a normalized version of at least a second request, wherein the second request maps to the second template by removing one or more data values from the second request;
comparing the first template with at least the second template to determine an estimated cost for completing the first request and one or more other requests that follow the predicted template pattern;
generating an execution plan for the first request, wherein the execution plan is generated based on both the estimated cost for completing the first request and the one or more other requests that follow the predicted template pattern.

US Pat. No. 10,248,682

OBJECT STORAGE SYSTEM CAPABLE OF PERFORMING SNAPSHOTS, BRANCHES AND LOCKING

Scality, S.A., Paris (FR...

1. An apparatus, comprising:a large scale distributed storage system comprising:
an object store comprised of a plurality of hardware storage devices, the plurality of hardware storage devices coupled to a network, said object store implementing said storage system with a hierarchy of objects stored within said plurality of hardware storage devices, said hierarchy of objects comprising information stored by said storage system and navigational information for accessing a specific subset of the information;
a plurality of connector nodes coupled to the object store, the connector nodes implemented as software instances on respective computer hardware platforms, the connector nodes to provide access to the object store for respective users that are respectively coupled to the connector nodes, the connector nodes to provide the following services for the respective users:
an object storage system implemented on said object store;
a file system implemented on said object store;
a thin provisioned block system implemented on said object store;
a snapshot of information stored by any of said object storage system, said file system and said thin provisioned block system;
branching from the snapshot taken of the information stored by any of said object storage system, said file system and said thin provisioned block system;
locking of any of a plurality of subsets of information stored by any of said object storage system, said file system and said thin provisioned block system.

US Pat. No. 10,248,681

FASTER ACCESS FOR COMPRESSED TIME SERIES DATA: THE BLOCK INDEX

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:generating, by one or more processors of a data platform, an index vector based on a table stored in a database of the data platform, the table storing data associated with multiple sources of data provided as consecutive values, the index vector comprising index vector values corresponding to the consecutive values stored in the table;
generating, by the one or more processors, a plurality of blocks based on the index vector, at least one block of the plurality of blocks comprising index vector values corresponding to a range of the consecutive values, the block comprising a block number, a starting position of the block in the index vector, and a starting index vector value for the block;
generating, by the one or more processors, a block index for at least one block of the plurality of blocks, the block index stored in memory of a computing system in uncompressed form, the block index comprising a field start vector and, for an index vector value of the index vector, a list of block numbers containing the index vector value, the field start vector representing a starting position of a field corresponding to a first block that contains the index vector value;
compressing into a single entry, by the one or more processors, one or more fields of the block index based on values of the one or more fields, the compressing reducing size of the block index reducing memory consumption in the computing system;
accessing, by the one or more processors in response to a query to the data platform, the field start vector of the block index to obtain the starting position of the field corresponding to the first block without scanning entirety of the one or more compressed fields of the block index, increasing the computing systems access speed to timestamp data stored in the first block; and
transmitting, by the one or more processors to a source of the query, a response comprising the starting position of the first block that contains the index vector value.

US Pat. No. 10,248,680

INDEX MANAGEMENT

International Business Ma...

1. A computer-implemented method for managing an index associated with an online database, comprising:in response to a data refresh associated with the online database where each old data entry within a plurality of old data entries is deleted, saving the index including a plurality of index information associated with the deleted plurality of old data entries as the base for building a new index, wherein a plurality of nodes in the saved index are marked with a plurality of predefined flags as invalid indicating the plurality of nodes are associated with a plurality of index information of the old data entries that have been deleted from the database;
obtaining the saved index of the database;
selecting a node included in the saved index based on a key value in index information of a new data entry in response to the new data entry being inserted into the database, wherein the selecting the node included in the saved index comprises:
traversing the plurality of nodes based on the key value in the index information of the new data entry; and
selecting the node in response to a range of a parent of the node matching the key value in the index information of the new data entry; and
updating the selected node with the index information of the new data entry to build the new index, wherein a number of data entries associated with the deleted plurality of old data entries is similar to a number of new data entries inserted to build the new index.

US Pat. No. 10,248,678

ENABLING PLACEMENT CONTROL FOR CONSISTENT HASHING-BASED OBJECT STORES

International Business Ma...

1. A method for controlling object placement, comprising:receiving a first request to store a first object in an object store which includes a plurality of nodes, wherein the object store determines a placement of the first object in one of the plurality of nodes based on an object namespace, wherein the object namespace includes a numerical namespace and a lexicographical namespace, wherein each node is assigned a corresponding subspace of the object namespace for storing objects;
upon determining that the first object specifies both a first numerical namespace value and a first lexicographical namespace value:
generating a second object, wherein the second object is a replica of the first object;
storing the first object in a first node of the plurality of nodes based on the first lexicographical namespace value, wherein the first lexicographical namespace value specifies the first node; and
storing the second object in a second node of the plurality of nodes based on the first numerical namespace value;
receiving a second request to store a third object in the object store; and
upon determining that the third object specifies a second numerical namespace value and does not specify a lexicographical namespace value, storing the third object in a third node of the plurality of nodes based on the second numerical namespace value.

US Pat. No. 10,248,677

SCALING AN SSD INDEX ON A DEDUPLICATED STORAGE SYSTEM

EMC IP Holding Company LL...

1. A method for scaling an index on a solid state drive (“SSD”) in a deduplicated storage system, the method comprising:receiving an instruction to write an in-memory hash table to the SSD, wherein the in-memory hash table comprises in-memory hash buckets containing a first set of fingerprint to logical container mappings, each mapping representing an association between a fingerprint and a logical container, wherein the logical container contains a data segment for the fingerprint;
merging the in-memory hash table with a cache hash table on the SSD, wherein the cache hash table comprises cache hash buckets containing a second set of fingerprint to logical container mappings, each cache hash bucket including a capacity limit, wherein the in-memory hash table is non-persistent, the merging further comprising:
determining that a combined capacity of the cache hash buckets in the cache hash table is to reach a predetermined threshold due to the merging of the in-memory hash table with the cache hash table;
determining that additional SSD capacity is available to the deduplicated storage system;
scaling the cache hash table using a scale factor to increase the number of cache hash buckets in the cache hash table;
mapping the in-memory hash buckets to the cache hash buckets in the cache hash table, wherein the mapping includes identifying a corresponding cache hash bucket for each in-memory hash bucket based on an identifier of the in-memory hash bucket, the scale factor, and a hash value for a fingerprint in the in-memory hash bucket, wherein the hash value is different from a hash value used to map the fingerprint to the in-memory hash bucket; and
inserting a fingerprint to logical container mapping into at least one of the cache hash buckets mapped to the in-memory hash buckets; and
writing the cache hash table to the SSD.

US Pat. No. 10,248,676

EFFICIENT B-TREE DATA SERIALIZATION

INTERNATIONAL BUSINESS MA...

1. A method for efficient B-Tree data serialization using a processor device in a computing environment, comprising:serializing B-Tree data to existing data for one of a plurality of workloads by converting a B-Tree data structure into a format capable of being stored and resurrected while containing all data stored in the B-Tree data structure and information relating to the B-Tree data structure; wherein the B-Tree data is serialized to replace logs associated with the existing data with the serialized B-Tree data to mitigate rebuilding of the B-Tree structure upon access of the existing data stored in the B-Tree data structure;
dividing the serialized B-Tree data into a plurality of sections, wherein the plurality of sections include each of a B-Tree information section, a B-Tree key section, and a B-Tree data section;
storing the serialized B-Tree data into a plurality of buffers, wherein the B-Tree information section is stored in a first binary buffer, the B-Tree key section is stored in a second binary buffer, and the B-Tree data section is stored in a third binary buffer;
saving, in the B-Tree data section, B-Tree data elements stored in the B-Tree data structure, wherein a size of the B-Tree data section is equal to a total number of the B-Tree data elements in the B-Tree data structure multiplied by a size of each of the B-Tree data elements; and
saving a plurality keys used in the B-Tree data structure in the B-Tree key section, wherein the plurality keys are ordered according to a tree scan order, and a size of the B-Tree key section is equal to a total number of keys saved in inner nodes plus a total number of keys saved in leaves multiplied by a size of one of the plurality of keys.

US Pat. No. 10,248,675

METHOD AND APPARATUS FOR PROVIDING REAL-TIME MONITORING OF AN ARTIFICAL NEURAL NETWORK

University of Tennessee R...

1. Apparatus for configuring a neuromorphic network comprising an artificial neural network for implementing a solution to one of a control, detection or classification application, the artificial neural network comprising:an artificial neural network configuration structure, an interface and control structure for connecting a two-dimensional array to an external process and the configuration structure and interface and control structure connected to a control and optimizing device for configuring the two-dimensional array, the two-dimensional array comprising addressable circuit elements and the neuromorphic network for optimizing the configuration of the two-dimensional array and for controlling connection to the external process;
the two-dimensional array of interconnected, addressable circuit elements, the two-dimensional array comprising X columns and Y rows of circuit elements where X and Y are integers greater than one, the interconnection of circuit elements of the multi-dimensional array being programmable by a special purpose computer program to implement a solution to one of the control, detection and classification application of the neuromorphic network for use with the external process,
each circuit element having the same components,
each circuit element addressably configured by the configuration structure, interface and control structure and optimizing device responsive to the external process, under special purpose program control, as selectively operating as one of a neuron and a synapse function or used as a pass-thru circuit element or excluded from the artificial neural network,
under special purpose program control, at least one circuit element of the array selectively configured as one of an input neuron and an output neuron at an edge of the two-dimensional array for internal array connection and external process connection, and,
under program control, one to multiple circuit elements of the two-dimensional array selectively operating as the neuron circuit element or the synapse circuit element being connected between the input neuron at the edge of the array or the synapse circuit element and the output neuron at the edge of the array or the synapse circuit element,
the circuit elements formed in an array of rows and columns with signal lines connecting addressably programmable circuit elements oft least two of the Y rows of programmably selected circuit elements and signal lines connecting at least two of the X columns of programmably selected circuit elements to provide monitoring of the selectively configured two-dimensional array of programmably addressed circuit elements having one of a programmable neuron and a programmable synapse function, certain of the programmably addressable circuit elements used as a pass-thru circuit element or others excluded from the artificial neural network comprising the neuromorphic network,
a given addressed circuit element of the neuromorphic network performing one of a neuron and a synapse function at a particular row and column number selectively reporting its output to an output register of a monitoring circuit at the same particular row and column number when a value is stored in a read register of the monitoring circuit for monitoring of the programmably addressed circuit element of the artificial network array of the neuromorphic network of the at least two of the X columns and Y rows of programmably addressed circuit elements interconnected to implement one of a control, detection and classification application responsive to the external process, the programmably addressed circuit elements of the neuromorphic network being configurable to implement either a neuron or a synapse function, the configuration of programmable addressed circuit elements being addressably configurable and optimized by the control and optimizing device.

US Pat. No. 10,248,674

METHOD AND APPARATUS FOR DATA QUALITY MANAGEMENT AND CONTROL

JIANGXI ELECTRIC POWER CO...

1. A method for data quality management and control, comprising:receiving, by a system for data quality management and control, application information transmitted by a service sub-system, wherein the application information comprises a service sub-system identifier, datasheet operation information and datasheet operation trigger information;
resolving, by the system, the datasheet operation trigger information to obtain datasheet flow information;
receiving, by the system, user information transmitted by the service sub-system and a target datasheet transmitted by the service sub-system;
if the datasheet operation information is adding a datasheet, then querying, by the system, pieces of history information according to the service sub-system identifier to obtain a plurality of datasheet names corresponding to the service sub-system identifier; if a name of the target datasheet is different from the plurality of datasheet names, then instructing, by the system, the service sub-system to store the target datasheet into a data center;
if the datasheet operation information is updating a datasheet, then querying, by the system, pieces of history information according to the name of the target datasheet to obtain a datasheet name that is the same as the name of the target datasheet, and instructing, by the system, the data center to replace datasheet contents corresponding to the datasheet name with contents of the target datasheet;
wherein the pieces of history information at least comprise the service sub-system identifier and the datasheet name.

US Pat. No. 10,248,673

ALLOCATING FREE SPACE IN A DATABASE

International Business Ma...

1. A computer-implemented method for allocating free space in a database table associated with a relation database managed by a relational database management system, the method comprising:receiving statistics associated with records in a database table, including an average record byte size for records stored in the database table;
receiving a database operation, wherein the received database operation comprises an insertion operation, a deletion operation, and an update operation;
determining a primary free space byte size for record updates, wherein determining the primary free space byte size for record updates comprises comparing a preliminary free space byte size to the average record byte size and a byte size of a subject record, and wherein the subject record is subjected to the received database operation;
in response to determining that the received database operation is an insertion operation, increasing the preliminary free space byte size based on a first difference in byte size between the average record byte size and the byte size of the subject record, and wherein the byte size of the subject record is less than the average record byte size;
in response to determining that the received database operation is a deletion operation, decreasing the preliminary free space byte size based on a second difference in byte size between the average record byte size and the byte size of the subject record, and wherein the byte size of the subject record is less than the average record byte size;
in response to determining that the received database operation is an update operation that changes a record byte size, increasing or decreasing the preliminary free space byte size, based on the update increasing or decreasing the record byte size, respectively, based on a third difference in byte size between the average record byte size and the byte size of the subject record, and wherein the byte size of the subject record is less than the average record byte size; and
allocating free space at a page level of the database table based on the primary free space byte size.

US Pat. No. 10,248,672

METHODS AND SYSTEMS FOR ASSESSING DATA QUALITY

CITIGROUP TECHNOLOGY, INC...

1. A method, comprising:selecting, by a microprocessor, a group of proposed critical data elements from a plurality of proposed critical data elements consisting at least in part of type of account, original balance, origination date, number of deposits, and number of loans based at least in part on ranking each of the plurality of proposed critical data elements according to weighted criteria consisting at least in part of ease of access to each proposed critical data element, regulatory risk associated with each proposed critical data element, financial risk associated with each proposed critical data element, and reputation risk associated with each proposed critical data element;
collecting, by the microprocessor, samples of data for each of the proposed critical data elements in said group of proposed critical data elements from a database storing a population of data elements representing attributes of each of a plurality of different financial transactions;
identifying, by the microprocessor, a portion of said group of proposed critical data elements based at least in part on a ranking of respective degrees of correlation between said data samples for each of the proposed critical data elements in said group of proposed critical data elements;
generating, by the microprocessor, a plurality of different, overlapping sets of data quality rules at least in part in terms of data completeness and data validity for each of the proposed critical data elements in said portion of said group of proposed critical data elements, each set of data quality rules comprising a different number of data quality rules for the same proposed critical data elements in said portion of said group of proposed critical data elements;
identifying, by the microprocessor, one of the plurality of different, overlapping sets of data quality rules for monitoring a quality of data in said database based at least in part on a difference between a value for each of said sets of data quality rules as a function of accuracy or completeness of data in the database and a sum of a cost of creating each set of data quality rules as a function of number, complexity, and interdependency of rules in each of said sets of data quality rules;
monitoring, by the microprocessor, the quality of data within said database using said identified one of the plurality of different, overlapping sets of data quality rules
identifying, by the microprocessor, critical data elements that produce a pre-defined high number of outliers in said data within said database based on said monitoring the quality of data in said database indicative of a likelihood that a process is out of control; and
identifying, by the microprocessor, causes for the pre-defined high number of outliers produced by said critical data elements in said data within said database.

US Pat. No. 10,248,671

DYNAMIC MIGRATION SCRIPT MANAGEMENT

Oracle International Corp...

1. A method comprising:receiving one or more indications of a plurality of migration scripts to be executed to perform a migration of a database system from a source server system to a target server system, wherein the source server system is online and processing database requests during the migration of the database system;
determining, based on one or more factors, an execution order in which the plurality of migration scripts are to be initialized for execution;
identifying one or more first migration scripts of the plurality of migration scripts based on the execution order;
initiating execution of the one or more first migration scripts to commence the migration of the database system;
identifying one or more second migration scripts of the plurality of migration scripts scheduled to initiate execution after the one or more first migration scripts based on the execution order;
monitoring one or more processing resources available to the source server system and/or the target server system;
determining that the one or more processing resources are above a first threshold but below a second threshold;
initiating execution of one or more third migration scripts of the plurality of migration scripts out-of-order from the execution order to continue the migration of the database system based on determining that the processing resources are above the first threshold but below the second threshold, the one or more third migration scripts being initiated for execution before the one or more second migration scripts; and
rescheduling the one or more second migration scripts to be initiated for execution after the one or more third migration scripts.

US Pat. No. 10,248,670

METHOD AND SYSTEM FOR MIGRATING CONTENT BETWEEN ENTERPRISE CONTENT MANAGEMENT SYSTEMS

Open Text Corporation, W...

1. A system for migrating content between enterprise content management systems, the system comprising:a processor; and
a processor-based application that is executable by the processor to:
based on a migration job definition, execute a first remote procedure call to a source database management system associated with a source enterprise content management system to directly interact with a source database at a level of the source database to identify a source object identifier that is a primary key that uniquely identifies a plurality of source metadata tables stored in the source enterprise content management system for content stored in the source enterprise content management system;
retrieve the plurality of source metadata tables from the source enterprise content management system, based on using the source object identifier as the primary key that uniquely identifies the plurality of source metadata tables;
execute a second remote procedure call to a target database management system associated with a target enterprise content management system to identify a target object identifier based on the plurality of source metadata tables and the migration job definition, wherein the target object identifier is a placeholder object identifier in the target enterprise content management system for the source metadata tables to be migrated;
create an object identifier map that maps the source object identifier that functions, at the source enterprise content management system, as the primary key that uniquely identifies the plurality of source metadata tables to the target object identifier that is the placeholder object identifier in the target enterprise content management system for the source metadata tables to be migrated;
store the plurality of source metadata tables to the target enterprise content management system, based on the object identifier map;
retrieve the content for the source enterprise content management system; and
store the content as content for the target enterprise content management system.

US Pat. No. 10,248,669

METHODS AND DEVICES FOR CUSTOMIZING KNOWLEDGE REPRESENTATION SYSTEMS

PRIMAL FUSION INC., Kitc...

1. A method comprising:using at least one processor to perform:
providing, to a first set of one or more users, access to a first semantic network;
providing, to a second set of one or more users, access to a second semantic network, wherein at least a second subset of the second semantic network has a same topology as at least a first subset of the first semantic network; and
in response to identifying information corresponding to the second set of one or more users, modifying the second semantic network based, at least in part, on the information corresponding to the second set of one or more users by adding to the second semantic network one or more first elements not included in the first semantic network and/or removing from the second semantic network one or more second elements included in the first semantic network,
wherein each of the one or more first and second elements comprises a concept or a relationship, and
wherein the first and second semantic networks are implemented as computer-readable data structures, and wherein modifying the second semantic network is performed by one or more processors executing computer-readable instructions.

US Pat. No. 10,248,668

MAPPING DATABASE STRUCTURE TO SOFTWARE

International Business Ma...

1. A computer-implemented method for determining a software identity based on a database structure, the method comprising:receiving, by a computing device and via a network, a first set of metadata that includes structural information about a first database;
comparing, by the computing device, the structural information with one or more software signatures, each software signature including a first field specifying a software identity and one or more second fields specifying one or more associated database structure features such that the software identity is mapped to the one or more associated database structure features;
generating, by the computing device, a first match estimate based on the comparing of the structural information with the one or more software signatures; and
inferring, by the computing device, that the first database is likely included in a first software product based on the generating of the first match estimate.

US Pat. No. 10,248,667

PRE-FILTERING IN A MESSAGING PLATFORM

TWITTER, INC., San Franc...

1. A computer-implemented method comprising:receiving, from a client device accessing a real-time messaging platform using a first account of a plurality of accounts, one or more signals indicating a request for a message stream, wherein the first account is associated with one or more account features;
identifying a set of two or more candidate messages each associated with one or more message features;
selecting, based on a machine learning model, a subset of features that includes at least one of the one or more message features and at least one of the one or more account features, wherein only message features and account features included in the subset of features are used to preliminarily evaluate the candidate messages in the set of two or more candidate messages, thereby reducing an amount of processing needed to preliminarily select candidate messages for inclusion in the message stream, wherein the subset of features includes fewer features than a total of the one or more account features and the one or more message features;
determining, based on the machine learning model and ranking data representing past rankings of candidate messages for the plurality of accounts, account ranking weights for the at least one of the one or more account features associated with the first account and that are included in the subset of features, the past rankings used to select one or more candidate messages to present in message streams associated with the plurality of accounts;
for each candidate message of the set of two or more candidate messages:
determining, based on the ranking data and the machine learning model, message ranking weights for the at least one of the one or more message features associated with the candidate message that are included in the subset of features;
determining, by a processor, a value representing a likelihood of the candidate message ranking above a ranking threshold for the first account, the likelihood based at least on the message ranking weights and the account ranking weights; and
in response to the determined value being less than a threshold likelihood value, removing the candidate message from the set of two or more candidate messages to generate a set of remaining candidate messages;
selecting at least one of the set of remaining candidate messages for inclusion in a message stream of the first account; and
sending the message stream to the client device for display on the client device, wherein the message stream includes the selected at least one candidate message of the set of remaining candidate messages.

US Pat. No. 10,248,666

CREATION OF HIERARCHICAL DICTIONARY

Hewlett-Packard Developme...

1. A method of creating a hierarchical dictionary comprising, with a processor:extracting, by a processor, a plurality of symbols from a first image;
constructing, by the processor, a plurality of refinement dictionary entries based on the symbols, the plurality of refinement dictionary entries forming a refinement dictionary;
grouping, by the processor, the plurality of refinement dictionary entries into clusters to form a plurality of refinement dictionary entry clusters;
constructing, by the processor, a plurality of direct dictionary entries for each of the refinement dictionary entry clusters, the plurality of direct dictionary entries forming a direct dictionary, wherein the direct dictionary is formed by encoding unmatched refinement dictionary entries using the refinement dictionary;
constructing, by the processor, a stored dictionary by combining the refinement dictionary and the direct dictionary, wherein the refinement dictionary and the direct dictionary are created from a plurality of previous images before a subsequent image;
creating, by the processor, additional dictionary entries for each page within a multi-page document resulting in a larger dictionary for each page;
measuring, by the processor, information redundancy between the dictionary entries; and
combining, by the processor, the direct dictionary, the refinement dictionary, and the stored dictionary.

US Pat. No. 10,248,665

METHOD AND SYSTEM FOR COLLECTING, AND GLOBALLY COMMUNICATING AND EVALUATING DIGITAL IMAGES OF SPORTS FANS, PUBLIC DISPLAYS OF AFFECTION AND MISCELLANEOUS GROUPS FROM ENTERTAINMENT VENUES

1. A contest method comprising the steps of:a sponsor displaying an advertisement accompanied by a contest invitation in association with a spectator event, said contest invitation relating to a contemporaneously operating digital contest relating to the spectator event;
providing a network, including data transmission, storage mechanisms and a computer processor, for permitting a plurality of contest participants to communicate within an electronically geofenced perimeter of said spectator event, wherein said spectator event occurs at least one or venue wherein said contest participants may dynamically and interactively respond to predetermined aspects of said spectator event;
said network further providing input means for said contest participants to electronically submit a plurality of affection-demonstrating digital images for contest participation, said plurality of affection-demonstrating digital images comprising at least one still image selected from a personal photograph, a family photograph, and a pet photograph portraying demonstrations of kissing, hugging, or otherwise conveying personal affection between at least two individuals or pets;
providing through said network a plurality of data elements and instructions for permitting said contest participants to communicate with said digital contest, by generating a digital image utilizing a camera, a cellular phone with a built-in camera, a scanner, or a kiosk and electronically submitting said affection-demonstrating digital images representing demonstrations of kissing, hugging, or otherwise conveying personal affection between at least two individuals or pets, as well as participant information, to said network, for contest participation, said digital images being electronically submitted utilizing an MMS message or an internet connection, said digital images being stored on contest servers;
selecting a subset of said affection-demonstrating digital images from said contest participants located within said electronically geofenced perimeter of said spectator event as candidates for entry into a voting stage of said digital contest;
broadcasting said selected subset of said affection-demonstrating digital images to a global of community of spectators both located at the spectator event and watching the spectator event via a media outlet;
inviting all spectators of the spectator event to vote for at least one of said affection-demonstrating digital images from said selected subset of said affection-demonstrating digital images and communicating a vote to a contest server;
electronically receiving and tallying said votes from all said spectators within a predetermined time limit and prior to the end of the spectator event;
electronically encrypting said affection-demonstrating digital images and contestant information, utilizing software provided on said contest participants' computer or mobile devices or upon receipt of said affection-demonstrating digital images by a contest server of said contest provider, to form a plurality of information capsules comprising a plurality of affection-demonstrating digital images, each said affection-demonstrating digital images corresponding to an individual entrant of said contest;
entering said plurality of affection-demonstrating digital images into an electronic batch of a plurality of affection-demonstrating digital image entrants;
selecting an affection-demonstrating digital image from said electronic batch of said plurality of affection-demonstrating digital images and designating such selected affection-demonstrating digital image as a winning entry of said contest according to the selected affection-demonstrating digital image having received a predetermined qualifier from the group comprising the most votes, a random/chance variable, or a management decision from within the spectator event geofenced perimeter and outside the spectator event geofenced perimeter;
decrypting said digital image and contestant information and identifying a single winner of said contest by using said digital image and said contestant information; and
wherein because said winning digital is accomplished electronically by submitting said digital images via said MMS message or said internet connection, new digital images can be initiated and completed in compressed time periods associated with the duration for said spectator event.

US Pat. No. 10,248,664

ZERO-SHOT SKETCH-BASED IMAGE RETRIEVAL TECHNIQUES USING NEURAL NETWORKS FOR SKETCH-IMAGE RECOGNITION AND RETRIEVAL

INCEPTION INSTITUTE OF AR...

16. A method for performing sketch-based image retrieval (SBIR) comprising:encoding images using an image encoding network that has been trained to mitigate heterogeneity associated with sketches and the images;
receiving a query comprising a sketch from an unknown category;
encoding the sketch using a sketch encoding network that has been trained to mitigate heterogeneity associated with the sketches and the images; and
utilizing the encoded sketch to execute a zero-shot retrieval function for retrieving one or more of the images corresponding to the unknown category associated with the sketch;
wherein executing the zero-shot retrieval function to retrieve the one or more images includes utilizing semantic knowledge derived from one or more known categories of information to identify the one or more images corresponding to the unknown category; and
wherein a multi-modal neural training network trains the sketch encoding network and the image encoding network to utilize the semantic knowledge via a graph convolutional network and a decoding model.

US Pat. No. 10,248,663

GEO-VISUAL SEARCH

Descartes Labs, Inc., Sa...

1. A system, comprising:one or more processors configured to:
receive a query feature vector associated with a query tile;
determine distance measures between the query feature vector and a previously selected set of exemplar feature vectors, wherein the set of exemplar feature vectors was previously selected from a corpus of feature vectors, and wherein a distance measure between the query feature vector and an exemplar feature vector comprises an indication of an amount of difference in features between the query feature vector and the exemplar feature vector;
wherein each exemplar feature vector is associated with a corresponding list of candidate feature vectors;
wherein the list of candidate feature vectors corresponding to a given exemplar feature vector comprises a list of feature vectors in the corpus previously determined to be visual neighbors of the given exemplar feature vector, wherein the candidate feature vectors in the corresponding list were previously determined to be visual neighbors of the given exemplar feature vector based at least in part on a first threshold and on distance measures determined between the given exemplar feature vector and the candidate feature vectors in the corresponding list;
based at least in part on the distance measures determined between the query feature vector and the previously selected set of exemplar feature vectors, select an exemplar feature vector from the previously selected set of exemplar feature vectors;
receive a list of candidate feature vectors corresponding to the selected exemplar feature vector;
determine distance measures between the query feature vector and the list of candidate feature vectors corresponding to the selected exemplar feature vector;
based at least in part on the distance measures determined between the query feature vector and the list of candidate feature vectors corresponding to the selected exemplar feature vector, determine a tile that is visually similar to the query tile, wherein the determined tile corresponds to a feature vector in the list of candidate feature vectors, and wherein the tile is determined to be visually similar to the query tile based at least in part on a second threshold and a distance measure determined between the query feature vector and the feature vector corresponding to the determined tile; and
provide the determined tile as output; and
a memory coupled to the one or more processors and configured to provide the one or more processors with instructions.

US Pat. No. 10,248,662

GENERATING DESCRIPTIVE TEXT FOR IMAGES IN DOCUMENTS USING SEED DESCRIPTORS

Google LLC, Mountain Vie...

1. A method performed by data processing apparatus, the method comprising:identifying a set of one or more seed descriptors for a given image in a given document;
for each seed descriptor:
identifying a location of at least one word of the seed descriptor in the given document by comparing each word of the seed descriptor to text included in the given document;
in response to identifying the location of the at least one word of the seed descriptor in the given document, generating one or more templates for the given image and the seed descriptor, each template including:
image location information specifying a location of the given image within the given document;
document structure information specifying a structure of the given document with respect to the given image and the seed descriptor, including a location of a given string of text that includes the at least one word of the seed descriptor within the given document with respect to the location of the given image within the given document;
image feature information specifying one or more feature values for one or more image features of the given image, each feature value representing a respective visual characteristic of the given image or data regarding an image file in which the given image is stored; and
for each generated template:
identifying a set of one or more documents that each have (i) an image that has at least one image feature that matches a corresponding image feature of the given image specified by the generated template and (ii) a string of text in the document that is located at a same location with respect to the image as the location of the given string of text with respect to the given image specified by the generated template; and
for each document in the set of documents:
generating descriptive text for the image of the document using the generated template and the document; and
associating the descriptive text with the image.

US Pat. No. 10,248,661

METHOD AND DEVICE FOR PULLING VIRTUAL MACHINE MIRROR FILE

BEIJING BAIDU NETCOM SCIE...

1. A method for pulling a virtual machine mirror file, comprising:obtaining a mirror pulling instruction, the mirror pulling instruction comprising a timestamp of a mirror file to be pulled;
determining whether the mirror pulling instruction instructs pulling only a base mirror file previously dispatched to physical machines, the base mirror file being a release version file of an operating system or the combination of a release version file of an operating system and a system patch file; and the timestamp being used to search for the incremental file;
if yes, obtaining locally the base mirror file previously dispatched to physical machines; and
if not, (i) obtaining locally the base mirror file previously dispatched to physical machines; (ii) searching for an incremental file matching the timestamp of the mirror file to be pulled, the incremental file representing the difference between the mirror file to be pulled and the base mirror file; and (iii) obtaining, locally or from a mirror server, the incremental file matching the timestamp of the mirror file to be pulled.

US Pat. No. 10,248,660

MECHANISM FOR CONVERTING ONE TYPE OF MIRROR TO ANOTHER TYPE OF MIRROR ON A STORAGE SYSTEM WITHOUT TRANSFERRING DATA

NetApp Inc., Sunnyvale, ...

1. A method, comprising:creating a mapping using matching data container attributes that are within both first data container attributes of a first data structure stored by a first device and second data container attributes of a second data structure stored by a second device, the mapping comprising a first entry mapping a first file of an original dataset within the first data structure to a second file of a copy dataset within the second data structure maintained as a mirrored backup for the first data structure using an existing mirror relationship between the original dataset and the copy dataset;
converting the existing mirror relationship, corresponding to a first mirror at the first device having a first layout for the copy dataset that is the same as an original layout of the original dataset, to a new mirror relationship having a second mirror with a second layout for the copy dataset that is different than the first layout; and
utilizing the mapping to facilitate mirroring of changes to the original dataset to the copy dataset using the new mirror relationship.

US Pat. No. 10,248,659

CONSISTENT HASHING CONFIGURATIONS SUPPORTING MULTI-SITE REPLICATION

International Business Ma...

1. A computer-implemented method, comprising:creating a namespace in a central storage location;
dividing the namespace into more than one cell, wherein a first cell is a common cell, wherein the common cell is configured to store management data received from remote storage locations coupled to the central storage location, and each of the remaining cells are configured to store object data received from a respective one of the remote storage locations;
receiving management data from the remote storage locations, wherein the management data corresponds to object data stored in the remote storage locations;
storing the received management data in the common cell of the central storage location;
receiving object data corresponding to the management data received from the remote storage locations; and
storing the received object data in the respective cells of the central storage location.

US Pat. No. 10,248,658

ANALYTICS AND DEDUPLICATION FOR AIR-GAPPED LOG ANALYSIS

International Business Ma...

1. A computer program product for data storage management, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the device to perform a method comprising:capturing an image of at least one log entry, wherein the image of the at least one log entry is a still image;
encrypting the image of the at least one log entry;
converting text in the image of the at least one log entry to machine-encoded text;
encrypting the machine-encoded text of the at least one log entry;
scanning the machine-encoded text for at least one redundant copy of the at least one log entry;
removing the at least one redundant copy of the at least one log entry;
determining if the at least one log entry is significant, wherein the determining determines that the at least one log entry is significant if a number of the at least one redundant copy of the a least one log entry is greater than a threshold number of redundant copies of log entries in a designated time span;
flagging the at least one log entry if the at least one log entry is significant; and
alerting a user if the at least one log entry is flagged.

US Pat. No. 10,248,657

DATA OBJECT STORE AND SERVER FOR A CLOUD STORAGE ENVIRONMENT, INCLUDING DATA DEDUPLICATION AND DATA MANAGEMENT ACROSS MULTIPLE CLOUD STORAGE SITES

Commvault Systems, Inc., ...

1. A method for storing a secondary copy, of an original data set, on a cloud storage site using a cloud gateway, wherein the cloud gateway is coupled between multiple computers and one or more cloud storage sites via a network, the method comprising:identifying data blocks within a cache of the cloud gateway that satisfy certain criteria,
wherein the original data set comprises data blocks, and
wherein the certain criteria are from a storage policy;
performing block-level deduplication of the identified data blocks to create a deduplicated set of data,
wherein the block-level deduplication includes—
determining a size for a container file to utilize when deduplicating the identified data blocks; and
deduplicating at least some of the identified data blocks to create one or more container files containing deduplicated data,
wherein at least one of the container files has the determined size; and
storing the deduplicated set of data on the cloud storage site by:
buffering data, to a data buffer, for transmission to the cloud storage site;
repeating the following steps while the data buffer is not full:
receiving a file system request to write a group of data to the cloud storage site; and
adding the group of data to the buffer;
converting a file system request to one or more application program interface calls associated with the cloud storage site; and
transmitting contents of the data buffer to the cloud storage site using the one or more application program interface calls associated with the cloud storage site.

US Pat. No. 10,248,656

REMOVAL OF REFERENCE INFORMATION FOR STORAGE BLOCKS IN A DEDUPLICATION SYSTEM

INTERNATIONAL BUSINESS MA...

1. A method for managing data in a data storage having data deduplication, comprising:under control of a processor and memory having executable instructions, performing:
for a back reference data structure incorporating reference information for at least one user data segment to a storage block, removing, by the processor, a user data segment identification (ID) representative of the at least one user data segment from the back reference data structure, the storage block being associated with both a reference counter and the user data segment ID of the back reference data structure; wherein the removal of the user data segment ID is performed in response to determining that the at least one user data segment no longer references the storage block caused by failed data, thereby maintaining the back reference data structure so as to facilitate an efficient search operation for recovering or reclaiming the failed data within the data storage;
configuring the back reference data structure by partitioning the back reference data structure as form type bits specifying a type of the ID representative of the at least one user data segment, and storage bits storing the ID of a representation of the ID thereof;
defining a plurality of form types corresponding to the form type bits;
defining a first form type structure incorporating a full representation of the ID of the at least one user data segment to be stored in the back reference data structure;
storing the defined first form type structure in the back reference data structure;
defining second, intermediate form type structures implementing a hashed form of the at least one user data segment ID to be stored in the back reference data structure;
storing the defined second, intermediate form type structures in the back reference data structure;
defining a third form type structure implementing a representation of the at least one user data segment ID as a bit bucket in a hash table of the at least one user data segment to be stored in the back reference data structure; and
storing the third form type structure in the back reference data structure; wherein a total number of the at least one user data segment ID increases as a bit per ID correspondingly decreases when migrating from the first form type through the second form types to the third form type.

US Pat. No. 10,248,655

FILE STORAGE SYSTEM, CACHE APPLIANCE, AND METHOD

Avere Systems, Inc., Pit...

1. A network file system comprising one or more processors and memory storing executable instructions which, when executed by the one or more processors configure the network file system with an architecture for managing cache appliances used for storing data, wherein the cache appliances are managed using a synchronization mechanism that ensures that all references to a cached file are up-to-date, even when a file is written through multiple cache appliances concurrently, and wherein the configured network file system comprises:a plurality of backend servers in which data is stored;
a plurality of token servers that each control access to the stored data using stored tokens, wherein the tokens are used to ensure cache coherence when data is updated at a cache appliance, and wherein the stored tokens comprise:
a write data token for files stored in the backend server, and wherein the write data token ensures that no two write data tokens are granted over a single byte of any same file;
a write attribute token for files stored in the backend server, and wherein the write attribute token ensures that no two write attribute tokens are granted for the same file;
ownership tokens that allow a given cache appliance to read data from another cache appliance; and
wherein each token server is configured to revoke an already granted write data token or a write attribute token by recalling the granted write data token or write attribute token if a new write data token or a new write attribute token is requested by a cache appliance and is incompatible with the already granted write attribute token or the already granted write data token, so that cache coherence is provided;
a plurality of cache appliances, wherein each cache appliance comprises:
a cache manager module which executes a client request to access stored data, wherein the request is executed by obtaining one or more tokens from a particular token server and accessing cache attributes and cache data in accordance with the one or more obtained tokens;
a token client module which determines the particular token server that is to be accessed when obtaining the tokens in response to the client request for access to the stored data; and
an NFS client module which sends calls for stored data to any of the backend servers, wherein the ownership tokens allow the given cache appliance to read data from another cache appliance associated with any of the backend servers.

US Pat. No. 10,248,654

VIRTUAL MACHINE OBJECT VERSION CONTROL

Nutanix, Inc., San Jose,...

1. A method for implementing a virtual machine snapshot index in a virtualization environment, the method comprising:receiving an initiation signal that initiates sending of at least one quiescence request to at least one user virtual machine;
quiescing the at least one user virtual machine by at least transmitting the at least one quiescence request to the at least one user virtual machine;
confirming that the at least one user virtual machine is quiesced based on at least receipt of an acknowledgement signal from the at least one user virtual machine, the acknowledgement signal indicating that the at least one user virtual machine has quiesced;
requesting and receiving a set of virtual machine attribute values from the at least one user virtual machine while the at least one user virtual machine is quiesced;
generating a volume index data structure comprising at least some of the set of virtual machine attribute values received from the at least one user virtual machine while the at least one user virtual machine is quiesced; and
storing the volume index data structure comprising the at least some of the set of virtual machine attribute values received from the at least one user virtual machine while the at least one user virtual machine is quiesced.

US Pat. No. 10,248,653

INFORMATION TECHNOLOGY PLATFORM FOR LANGUAGE TRANSLATION AND TASK MANAGEMENT

Lionbridge Technologies, ...

1. A system for improvement of routing of segments for translation among a plurality of machine and human translators, comprising:a set of metadata associated with a segment for translation, the set of metadata derived from contextual information gathered during ingestion of the segment for translation;
a segment routing engine that determines a plurality of candidate routes for translating the segment based, at least in part, on the application of at least one route generation rule to the set of metadata and selects at least one candidate route based, at least in part, on an application of at least one route selection rule;
a training engine that modifies at least one of the route generation rule and the route selection rule used by the segment routing engine for each of a plurality of instances of segment translation in a training metadata set, tracks at least one metric relating to the outcome of translation of each of the instances of the training data set, compares the outcomes for a plurality of versions of the rules, and adjusts at least one of the route generation rule and the route selection rule based on the at least one outcome metric; and
a route configuration engine that processes the segment of translation through at least one of the plurality of candidate routes in response to the adjusted at least one of the route generation rule and the route selection rule.

US Pat. No. 10,248,652

VISUAL WRITING AID TOOL FOR A MOBILE WRITING DEVICE

Google LLC, Mountain Vie...

1. A computer-implemented method of providing a visual writing aid in a second language, comprising:obtaining, by one or more computing devices, data descriptive of a first set of information, wherein the first set of information is presented in a first language;
determining, by the one or more computing devices, a translation of the first set of information to a second language;
presenting, by the one or more computing devices, a visual representation of the translation of the first set of information in the second language via a display device;
obtaining, by the one or more computing devices, data descriptive of a second set of information, wherein the second set of information comprises a transcription of at least a portion of the translation of the first set of information in the second language, the transcription generated by a user of a mobile writing device via the mobile writing device; and
determining, by the one or more computing devices, whether the second set of information corresponds to the visual representation of the translation of the first set of information in the second language, whereby user aid in transcribing the translation is promoted.

US Pat. No. 10,248,651

SEPARATING TRANSLATION CORRECTION POST-EDITS FROM CONTENT IMPROVEMENT POST-EDITS IN MACHINE TRANSLATED CONTENT

Amazon Technologies, Inc....

1. An apparatus, comprising:one or more processors; and
one or more non-transitory computer-readable storage media having instructions stored thereupon which are executable by the one or more processors and which, when executed, cause the apparatus to:
receive a source language string expressed in a source language;
receive a target language string comprising a machine translation of the source language string into a target language generated by a machine translation system;
receive a post-edited target language string comprising the target language string following post-editing by one or more post-editors;
utilize one or more unsupervised machine learning models to identify one or more post-edits performed by the one or more post-editors on the target language string and, to identify for the one or more post-edits, whether the one or more post-edits are corrective post-edits or content improvement post-edits, the corrective post-edits indicating an incorrect translation of the source language string in the post-edited target language string and the content improvement post-edits indicating a refinement of a correct machine translation of the source language string;
utilize the corrective post-edits to modify labels associated with strings used to train a translation quality estimation system; and
automate a modification of content that is stored in a content database and that is submitted to the machine translation system for translation, the modification based on the content improvement post-edits.

US Pat. No. 10,248,650

IN-CONTEXT EXACT (ICE) MATCHING

SDL Inc., Wakefield, MA ...

1. A method for determining an in-context exact (ICE) match from context matching levels of a plurality of source texts stored in a translation memory to a lookup segment to be translated, the method comprising:generating a preceding usage context hash code for a preceding segment, based on a text stream for the preceding segment next to the lookup segment;
generating a post usage context hash code for a post segment, based on a text stream for the post segment next to the lookup segment;
determining any exact matches for the lookup segment in the plurality of translation memory source texts;
calculating for each exact match a context matching level based on:
a match between the preceding usage context hash code for the lookup segment and a preceding usage context hash code generated for a segment of a translation memory source text, and
a match between the post usage context hash code for the lookup segment and a post usage context hash code generated for the segment of the translation memory source text; and
determining, for each exact match, if the segment of the translation memory source text providing the exact match is an ICE match for the lookup segment based on the calculated context matching level.

US Pat. No. 10,248,649

NATURAL LANGUAGE PROCESSING APPARATUS AND A NATURAL LANGUAGE PROCESSING METHOD

KAI INC., Shizuoka (JP)

1. A natural language processing apparatus for analyzing an inputted natural language sentence and generating an output sentence for having a dialog with the inputted natural language sentence, the natural language processing apparatus comprising:a dialog analyzing-and-generating unit in which a plurality of analysis processing units for performing a different analysis for each element of the natural language sentence are prepared, wherein every time an analyzable unit of the natural language sentence is inputted, each of the plurality of analysis processing units performs an analysis with respect to the input unit in an incremental and parallel manner; and
an output unit for obtaining an output based on an analysis result from each of the analysis processing units in the dialog analyzing-and-generating unit,
wherein:
each of the analysis processing units prepared in the dialog analyzing-and-generating unit is configured to acquire an immediately preceding or an earlier analysis result from the analysis processing unit and an immediately preceding or an earlier analysis result from another analysis processing unit, and configured to obtain one or a limited number of analysis results with reference to the acquired analysis results; and
based on the one or a limited number of analysis results from each of the analysis processing units in the dialog analyzing-and-generating unit, a sentence generation unit which is one of the analysis processing units generates a dialog response sentence corresponding to the inputted natural language sentence, and outputs the dialog response sentence to the output unit.

US Pat. No. 10,248,648

DETERMINING WHETHER A COMMENT REPRESENTED AS NATURAL LANGUAGE TEXT IS PRESCRIPTIVE

Microsoft Technology Lice...

1. A method for classifying comments, the method comprising:receiving, by an online system, a plurality of comments provided by users associated with an organization;
inputting a first comment of the plurality of comments and a second comment of the plurality of comments to a model trained using machine learning, the model configured to assign a classification to an input comment received from a user;
determining, using the model, that the first comment is a conditionally prescriptive comment representing a prescriptive comment provided in response to a question presented to the user, and responsively assigning the first comment to a first category, wherein the prescriptive comment is a comment that specifies an action to be performed;
determining, using the model, that the second comment is an unconditionally prescriptive comment representing a prescriptive comment that is not associated with a question presented to the user, and responsively assigning the second comment to a second category;
receiving output from the model, the output comprising indicia that the first comment is assigned to the first category and the second comment is assigned to the second category;
generating a report based on the output; andsending for presentation, results of the report.

US Pat. No. 10,248,647

STYLE EXTENSIBILITY APPLIED TO A GROUP OF SHAPES BY EDITING TEXT FILES

MICROSOFT TECHNOLOGY LICE...

1. A system for providing style extensibility in a diagram, the system comprising:a semantic model in the form of a text-based tree diagram of lines of text entered by a user that create and define elements in the diagram and hierarchical relationships between each of the elements of the diagram, wherein a hierarchical level for each of the elements within the diagram is based on a position of each line of text entered by the user within the semantic model, and wherein each element that is located on a different line in the semantic model is displayed as a different element within the diagram determined from the semantic model;
a style label assigned to each of the elements of the diagram based on the hierarchical level of each of the elements within the semantic model of the defined hierarchical relationships such that each element at a same hierarchical level is assigned a same style label, wherein the style label associates the elements of the diagram with style definitions independent of a layout definition, and wherein the elements of the diagram comprise: objects, connectors and content; and
a style definition for each object of the diagram generated from the semantic model determined by locating a matching style label within a file that comprises style definitions, wherein the diagram is rendered based on the layout definition and the determined style definitions.

US Pat. No. 10,248,646

TOKEN MATCHING IN LARGE DOCUMENT CORPORA

COGNIGO RESEARCH LTD., T...

1. A method comprising:in a populating stage, receiving a dictionary comprising a plurality of entities, wherein each entity has a length of between 1 and n tokens;
automatically constructing a probabilistic data representation model comprising n Bloom filter (BF) pairs, wherein each BF pair is indexed from 1 to n;
automatically populating said probabilistic data representation model with a data representation of said entities, wherein, with respect to each BF pair indexed i:
(i) a first BF in said BF pair is populated with the first i tokens of all said entities having at least i+1 tokens, and
(ii) a second BF in said BF pair in populated with all said entities having exactly i tokens;
in a matching stage, receiving a text corpus, wherein said text corpus is segmented into tokens; and
automatically matching each token in said text corpus against said populated probabilistic data representation model, wherein said matching comprises sequentially querying each said BF pair in the order of said indexing, to determine a match.

US Pat. No. 10,248,645

MEASURING PHRASE ASSOCIATION ON ONLINE SOCIAL NETWORKS

Facebook, Inc., Menlo Pa...

1. A method comprising, by a computing device:receiving, from a client system of a first user of an online social network, a search query for posts of the online social network, the search query comprising one or more query terms;
retrieving a plurality of posts of the online social network, each post containing each of the one or more query terms in a text of the post;
identifying, from an index of known phrases, one or more known phrases in the text of the one or more retrieved posts, each identified known phrase containing at least one of the one or more query terms, wherein the index of known phrases comprises a plurality of pre-identified phrases having a length less than or equal to a pre-determined maximum length;
filtering the plurality of retrieved posts to generate a filtered set of posts, wherein the filtering comprises removing each post not containing at least one of the identified known phrases;
computing a plurality of features for each of the identified known phrases, each feature measuring a degree of equivalence between the identified known phrase and the one or more query terms included in the identified known phrase;
calculating, for each post in the filtered set of posts, a score for the post based on the plurality of features of the identified known phrases included in the post;
ranking the posts based on the calculated scores; and
sending, to the client system in response to the search query, instructions for generating a search-results interface comprising references to one or more of the posts presented in ranked order.

US Pat. No. 10,248,644

METHOD AND SYSTEM FOR TRANSFORMING UNSTRUCTURED TEXT TO A SUGGESTION

WRIBER INC., Waterloo, O...

1. A computing device with a memory and a processing unit; an application stored in said memory and having a plurality of lines of computer code wherein said plurality of lines of computer code are executed by said processing unit of the computing device to generate a user interface of the application, wherein unstructured text is transformed into at least one suggestion for content creation; andsaid plurality of lines of computer code executable by said computing device to:
receive unstructured text from external sources having at least one sentence inputted by a user via said user interface to create said content;
disassemble said at least one sentence into individual words;
tag said individual words by determining a speech type for each of said individual words;
when said individual words are tagged correctly, chunk said individual words together into phrases to form a tree-like structure of the text;
dynamically generate at least one suggestion in real time based on said chunking, said at least one suggestion comprising at least one of a question, a sentence, a partial sentence, and a phrase, and wherein said at least one suggestion is a thought-provoking suggestion for triggering further thought provoking questions pertaining to said at least one sentence to aid said user create said content;
determine whether said at least one suggestion has a proper tense and singular/plural form;
provide said at least one suggestion when said at least one suggestion has the proper tense and singular/plural form, and
output said at least one suggestion with the proper tense and singular/plural form to a window generated on said user interface.

US Pat. No. 10,248,643

DETECTING COMPATIBLE LAYOUTS FOR CONTENT-BASED NATIVE ADS

Nativo, Inc., El Segundo...

1. A method, comprising:crawling a first page of a website and a second page of the website;
generating first page information representing elements of the first page based on the crawling;
generating second page information representing elements of the second page based on the crawling;
determining, based at least in part on the first page and second page, that a native sponsored content template configured for use with the first page is compatible with the second page, wherein the native sponsored content template is configured to generate a native advertisement, wherein the native advertisement is configured to resemble surrounding content elements displayed on a page, wherein determining that the native sponsored content template configured for use with the first page is compatible with the second page comprises:
generating a selector based on the first page information, wherein the selector is configured to analyze a location on the first page where the native sponsored content template is configured to place the native advertisement and the selector is configured to identify elements in a page that are similar in structure or layout to the location;
comparing the selector to the second page information; and
determining that a portion of the elements associated with the second page matches the selector; and
embedding the native sponsored content template in the second page, wherein the native advertisement is displayed where the native sponsored content template is embedded in the second page when the second page is loaded.

US Pat. No. 10,248,642

POPULATING DOCUMENTS WITH USER-RELATED INFORMATION

Microsoft Technology Lice...

1. A method, implemented on a computing device, comprising:searching a template to identify information identifiers comprised in the template and associated with information fields of the template, the information identifiers associated with respective types of user-based information;
connecting to a social network by providing authorization information to the social network using an application programming interface (API);
retrieving user-based information corresponding to the types of user-based information associated with the information identifiers from a user profile of a single individual identified in the social network using the API;
generating an electronic document specific to the single individual by populating information fields of the template using the user-based information; and
providing, for display via a client-agnostic platform, the electronic document to one or more individuals associated with the single individual.

US Pat. No. 10,248,641

METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR MANAGING RETRIEVAL OF CONTENT FOR DISPLAY BY A BROWSER

McKesson Corporation, Sa...

1. A method for managing retrieval of content for display of a table by a browser, the method comprising:determining a tile layout comprising a plurality of tiles representing the table, wherein a tile comprises multiple table cells;
receiving a first indication of a first subset of the plurality of tiles to be rendered;
in response to the first indication, causing data associated with the first subset of tiles to be transmitted, stored in a document object model (DOM), and rendered;
receiving a second indication of a second subset of tiles to be rendered;
determining whether each tile of the second subset of tiles is associated with data stored in the DOM;
in an instance a particular tile of the second subset is associated with data stored in the DOM, causing the data to be accessed from the DOM and rendered; and
in an instance the particular tile of the second subset is not associated with data stored in the DOM, causing the data associated with the particular tile to be transmitted.

US Pat. No. 10,248,640

INPUT-MODE-BASED TEXT DELETION

MICROSOFT TECHNOLOGY LICE...

1. A method being performed by one or more computing devices including at least one processor, the method for deleting textual input and comprising:receiving a first text portion via a block-unit input mode;
converting the first text portion into a first typewritten text segment, the first typewritten text segment having character-units that comprise at least a first recognizable block-unit, each block-unit of the at least the first recognizable block-unit having a plurality of character-units;
receiving a second typewritten text segment via a character-based input mode, the second typewritten text segment having character-units that comprise at least a second recognizable block-unit, each block-unit of the at least the second recognizable block-unit having a plurality of character-units;
detecting a location of a boundary between the first typewritten text segment that was input via the block-unit input mode and the second typewritten text segment that was input via the character-based input mode;
visually designating the boundary;
receiving a plurality of delete commands, wherein a first portion of the plurality of delete commands directs deletion of at least a portion of the first typewritten text segment, and wherein a second portion of the plurality of delete commands directs deletion of at least a portion of the second typewritten text segment; and
subsequent to the receiving the plurality of delete commands, deleting at least a portion of the first and second typewritten text segments, wherein the deleting comprises: deleting at least a portion of the first typewritten text segment on a block-unit basis, one block unit being deleted for each of the first portion of the plurality of delete commands; detecting the boundary between the first and second typewritten text segments; and based on the detecting the boundary, altering the delete command so that at least a portion of the second typewritten text segment is deleted on a character by character basis, one character unit being deleted for each of the second portion of the plurality of delete commands.

US Pat. No. 10,248,639

RECOMMENDING FORM FIELD AUGMENTATION BASED UPON UNSTRUCTURED DATA

INTERNATIONAL BUSINESS MA...

1. A method for recommending a structured field for a form from unstructured text data, the method comprising:utilizing at least one processor to execute computer code that performs the steps of:
obtaining text data from at least one unstructured field, wherein the at least one unstructured field is contained within a completed form generated from a template form;
identifying at least one topic associated with the text data;
generating at least one hypothesis, wherein the at least one hypothesis treats the least one topic as a structured field within the template form;
determining, using the at least one hypothesis, whether the accuracy of the template form has increased based upon use of the at least one topic as a structured field within the template form; and
recommending, based upon the determining, at least one modification to the template form, wherein the at least one modification is an addition of a structured field corresponding to the at least one topic.

US Pat. No. 10,248,638

CREATING FORMS FOR HIERARCHICAL ORGANIZATIONS

FUJI XEROX CO., LTD., Mi...

1. An information input system comprising:at least one hardware processor configured to implement:
an information input field display section that displays an information input field for inputting information for each of a plurality of persons inputting information;
a specified problem input field display section that displays a specified problem input field for inputting a character string indicating a specified problem with respect to the input information for a problem-specifying person who is different from the plurality of persons inputting information, wherein the specified problem input field display section is configured to receive the character string in the specified problem input field of a user interface in a same window also displaying previously input information in the information input field;
a recording section that associates and records character string information with the information input field in response to an input of the character string being received from the problem-specifying person; and
a guidance display section that controls display, as input guidance, of at least one character string information item, which is recorded by the recording section, along with the information input field, in response to a request for display of the information input field being received from any one of the plurality of persons inputting information,
wherein the specified problem input field display section displays the specified problem input field side by side with the previously input information in the same window.

US Pat. No. 10,248,637

HIGH PERCEPTABILITY INK EFFECTS

MICROSOFT TECHNOLOGY LICE...

1. A method for improving pattern perceptibility as applied to an ink object, comprising:selecting a contrast basis image and, based on the selected contrast basis image, defining a plurality of contrast values to be applied in an enhanced ink effect definition;
selecting a color image and, based on the color image, defining color values to be applied in the enhanced ink effect definition;
defining a contrast filter for each of the defined plurality of contrast values, wherein defining the contrast filter includes isolating a selected portion of the contrast values of the contrast basis image, wherein each of the plurality of contrast filters includes an isolated selected portion of the contrast values that is different from the isolated selected portion of contrast values of the other of the plurality of contrast filters, and wherein the isolated selected portion of contrast values for each of the plurality of contrast filters is selected to include only one of: high-tone contrast values, mid-tone contrast values or low-tone contrast values; and
applying, serially, each of the contrast filters atop the color image and atop any contrast filters previously applied to produce the enhanced ink effect definition.

US Pat. No. 10,248,636

ELECTRONIC DEVICE FOR CONTROLLING DELETION OF CHARACTER INPUT ON CHARACTER INPUT SCREEN, CHARACTER INPUT CONTROL METHOD FOR CONTROLLING DELETION OF CHARACTER INPUT ON CHARACTER INPUT SCREEN, AND STORAGE MEDIUM STORING THEREIN CHARACTER INPUT CONTROL METHO

KYOCERA Document Solution...

1. A character input control method comprising:detecting a character input key being pressed, and in response to the detection of a character input key being pressed, displaying a character corresponding to the character input key at a position of a cursor displayed on a character input screen;
selecting a deletion mode; and
detecting a single press on a character delete key, and in response to detecting a single press on a character delete key, deleting at least one character displayed on the character input screen,
wherein the displaying a character corresponding to the character input key includes:
upon detecting the character input key being pressed, displaying the character corresponding to the character input key as an unconfirmed character on the character input screen, the unconfirmed character being a character input of which is to be confirmed when a confirmation key is pressed;
acquiring and unconfirmed character or a character string of unconfirmed characters displayed on the character input screen;
determining that the unconfirmed character or the character string is not a candidate for any word registered in the word table; and
in response to determining that the unconfirmed character or the character string is not a candidate for any word registered in the word table, acquiring a character input through a character input key just before the determination and storing in storage an unconfirmed character that makes word prediction impossible the acquired character as a deletion start character,
the deleting at least one character includes:
deleting the at least one character in a first deletion mode in which the deletion start character is deleted or the deletion start character and at least one unconfirmed character immediately preceding or following the deletion start character are deleted;
deleting the at least one character in a second deletion mode in which all unconfirmed characters are deleted;
deleting the at least one character in a third deletion mode in which a designated number of characters immediately preceding or following the cursor are deleted; and
deleting the at least one character in a fourth deletion mode in which only one character immediately preceding or following the cursor is deleted, and
the selecting a deletion mode includes selecting one of the first through fourth deletion modes.

US Pat. No. 10,248,635

METHOD FOR INSERTING CHARACTERS IN A CHARACTER STRING AND THE CORRESPONDING DIGITAL SERVICE

MYSCRIPT, Nantes (FR)

1. A character input method performed by a computing device comprising:a processor; and
a touchscreen display device that is operably connected to the processor, the touchscreen display device comprising an interactive user interface including:
an input surface for inputting characters; and
an output surface for displaying characters, the output surface comprising a recognition area and an insertion area that are adjacent to each other, the method comprising:
firstly displaying, by the processor, a string of characters using the recognition area and the insertion area as a display region for the firstly displaying;
in response to detecting, by the touchscreen display device, an interaction of a user with the input surface, selecting a position within the string of characters between a first character and a second character displayed on the output surface, the second character being consecutive to the first character within the string of characters;
secondly displaying, by the processor, in the recognition area, a first part of the string of characters ending with the first character, while masking, in the insertion area, a second part of the string of characters starting with the second character;
detecting, by the touchscreen display device, at least one input stroke entered manually in the insertion area;
converting, by the processor and using handwriting recognition, the at least one input stroke into at least one recognised character;
inserting, at the selected position within the string of characters, the at least one recognised character; and
firstly scrolling, by the processor, the string of characters in the recognition area by moving the string of characters in a first direction to display, in the recognition area, at least part of the at least one recognised character that was inserted into the string of characters.

US Pat. No. 10,248,634

MODEL-DRIVEN DATA ENTRY VALIDATION

Oracle International Corp...

1. A method comprising:at a computer system having a processor and a memory storing a document readable by an application:
receiving information from an application server specifying a user interface component in response to the application processing the document,
wherein the application includes or is in communication with the application server via a client side component of an application development framework (ADF),
wherein the user interface component is a re-usable component of the ADF linked to an attribute of a data model of the application server to integrate the document with a web-based application developed on the ADF; and
wherein the document is configured to act as a user interface for the web-based application by extending functionality provided by the web-based application to the application, and the user interface comprises the user interface component;
determining, by the client side component, a set of validation rules associated with the user interface component based on the information received from the application server;
receiving, at the computer system, data representing the attribute of the data model from the application server responsive to processing the document;
rendering, using the processor, the document to include the user interface component, the set of validation rules, and the data, wherein the rendering includes configuring, using the processor, the application using the set of validation rules to perform a validation of input that is made within the application via the user interface component;
receiving an input made via the user interface component; and
performing, using the processor, one or more actions by the application in response to the application validating the input made via the user interface component using the set of validation rules.

US Pat. No. 10,248,633

CONTENT BROWSER SYSTEM USING MULTIPLE LAYERS OF GRAPHICS COMMANDS

Amazon Technologies, Inc....

1. A system configured to act as an intermediary between user devices and content servers, the system comprising one or more hardware computing devices, wherein the system is programmed to at least:receive a request for a content page hosted by a content server;
obtain a base file of the content page and a resource referenced by the base file;
generate, using a server-side browser application executing on the one or more computing devices, a first set of hardware-independent graphics commands, wherein the first set of hardware-independent graphics commands instructs a client-side browser application to display a first layer comprising a representation of at least a first text portion of the content page;
generate, using the server-side browser application, a second set of hardware-independent graphics commands, wherein the second set of hardware-independent graphics commands instructs the client-side browser application to display a second layer comprising a representation of at least a second text portion of the content page;
generate, using the server-side browser application, text data regarding text to be graphically represented by at least one of the first or second sets of hardware independent graphics commands, wherein the text data enables a user device to process a user interaction with the first layer independently of the second layer; and
transmit the text data and the first and second sets of hardware-independent graphics commands to the user device over a network.

US Pat. No. 10,248,632

OPTIMIZATION FOR RENDERING WEB PAGES

International Business Ma...

1. A method for rendering a web page, comprising:parsing a Hypertext Markup Language (HTML) document for a web page to generate a Document Object Model (DOM) tree;
caching data for rendering a first portion of a plurality of elements in the DOM tree based on an analysis of user operations on the web page;
rendering the plurality of elements in the DOM tree in a higher-to-lower sequence based on their z-index attributes from a style sheet corresponding to the HTML document, wherein rendering the plurality of elements includes using the cached data to perform layout computing and painting of the first portion of the plurality of elements; and
skipping rendering for an element with a lower z-index attribute than an element with a higher z-index attribute if the element with the lower z-index attribute is below the element with the higher z-index attribute and would not be seen by a user viewing the web page.

US Pat. No. 10,248,631

SYSTEM AND METHOD OF PRESENTING MEDIA DATA

Amazon Technologies, Inc....

1. A system comprising:a processor; and
memory storing computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising:
causing display of one or more first items offered by an online retailer via a graphical user interface (GUI), the one or more first items being identified responsive to a search query;
causing display of media data having content and being associated with a time index for playback of the media data via the GUI;
causing the media data to be played via the GUI;
receiving a first event message associated with a first time of the time index;
based at least in part on the first event message, modifying the GUI by:
removing the one or more first items from display via the GUI at the first time and causing display of one or more second items via the GUI, the one or more second items associated with the content of the media data at the first time of the time index;
receiving a second event message associated with a second time of the time index;
after causing the one or more second items to be displayed and based at least in part on the second event message, modifying the GUI by removing the search results of the one or more second items from display via the GUI;
in response to removing the one or more second items, causing display of the one or more first items via the GUI; and
causing the media data to be played via the GUI at a third time of the time index.

US Pat. No. 10,248,630

DYNAMIC ADJUSTMENT OF SELECT ELEMENTS OF A DOCUMENT

Microsoft Technology Lice...

1. A computer-implemented method, the method comprising:rendering, at a computing device, a document including a formatting element and text arranged within a boundary of the formatting element, wherein the boundary maintains the text within a viewing area of a display device;
receiving a command to apply a first scale factor to the text of the document;
determining at least one dimension of the boundary of the formatting element of the document based on a second scale factor that is based on an inverse of the first scale factor;
rendering the document, wherein the text is rendered based on the first scale factor, and wherein the at least one dimension of the boundary is rendered based on the second scale factor that is based on the inverse of the first scale factor, wherein a magnitude of the second scale factor is adjusted above the inverse of the first scale factor based on an increase of a magnitude of the first scale factor, and wherein the boundary is rendered to maintain the text within the viewing area of the display device; and
in response to the rendering of the document, displaying the text without requiring a user to scroll horizontally or vertically to view the rendered text.

US Pat. No. 10,248,629

METHOD FOR DETERMINING WIRING RISK AND WIRING RISK DETERMINATION SYSTEM

MITSUBISHI AIRCRAFT CORPO...

1. A method for determining a wiring risk, comprising:identifying a number of connectors to which a target harness identified from a plurality of harnesses is indirectly connected;
determining, based on the identified number of connectors, a first risk that electric wires connected to a plurality of terminal devices are bundled into a single harness;
matching location information of the target harness to an influenced area by a hazard source;
identifying whether the target harness passes through the influenced area; and
determining, based on the matched location information and identification of whether the target harness passes through the influenced area, a second risk that harnesses fail at the same time in a wiring system in which the plurality of harnesses are provided between the plurality of terminal devices and connected via connectors; and
changing at least one of the plurality of harnesses based on the determined first risk or the determined second risk in a manner that reduces the determined first risk or the determined second risk.

US Pat. No. 10,248,628

STATISTICAL APPROACH FOR TESTING MULTIPLE VERSIONS OF WEBSITES

Hybris AG, Zug (CH)

1. A computer-implemented method for selection of a version of a website from multiple versions of the website, the method being executed by one or more processors and comprising:receiving, by the one or more processors, user interaction data representative of user interactions with respective versions of a website;
for each version of the website, determining, by the one or more processors, a posterior distribution as:
f(?i(i=1, . . . ,k)|n1,n2, . . . ,nk,n)=f(n1+?1,n2+?2, . . . ,nk+?k)(?1,?2, . . . ,?k)
where n is the total number of users visiting a respective version k of the website, ? is a shape parameter, and ? is a probability of one or more users visiting the respective version k of the website, and values of ? for the users are determined as:

selecting, by the one or more processors, a version of the website based on the posterior distributions; and
hosting, by the one or more processors, the version of the website on one or more servers.

US Pat. No. 10,248,627

METHOD FOR STORING IMAGE OF VEHICLE BLACK BOX

CENTER FOR INTEGRATED SMA...

1. A method for storing an image in a vehicle black box, comprising:inputting an image captured through a camera module installed on the vehicle black box;
temporarily storing the inputted image in a temporary processing unit installed in the vehicle black box while an event processing unit being installed in the vehicle black box and consuming relatively high power becomes a sleep state or a power-off state when an event is not detected in the inputted image, wherein the temporary processing unit is configured to consume relatively low power;
setting a threshold for sensing the event via a sensor set in the black box and determining that the event is generated when a value measured by the sensor exceeds the threshold; and
when the event is detected in the inputted image after the temporary storing step,
storing images of the event for a specific time before the event is generated and for a specific time after the event is generated in the event processing unit, wherein the event processing unit is configured to return from the sleep state or the power-off state, the storing step comprising:
transferring and storing a light weight-compressed image from the temporary processing unit to the event processing unit, wherein the light weight-compressed image corresponds to the event for the specific time before the event is generated; and
storing a heavy weight-compressed image in the event processing unit, wherein the heavy weight-compressed image corresponds to the even for the specific time after the event is generated.

US Pat. No. 10,248,626

METHOD AND SYSTEM FOR DOCUMENT SIMILARITY ANALYSIS BASED ON COMMON DENOMINATOR SIMILARITY

EMC IP Holding Company LL...

1. A method for document similarity analysis, the method comprising:obtaining a document to be archived;
identifying a document category similar to the document to be archived, based on indexing terms and corresponding term frequencies, comprising:
identifying a document category that includes a plurality of indexing terms that are identical to indexing terms identified in the document to be archived;
obtaining a term frequency vector for the identical indexing terms in the document to be archived;
generating a normalized term frequency vector, from the term frequency vector for the document to be archived;
obtaining a term frequency vector for the identical indexing terms in the identified document category;
generating a normalized term frequency vector, from the term frequency vector for the identified document category;
calculating a common denominator similarity based on the normalized term frequency vector for the document to be archived, the normalized term frequency vector for the identified document category, and a common denominator;
making a determination that the document category is similar to the document to be archived based on the common denominator similarity; and
registering the document to be archived in the document category.

US Pat. No. 10,248,625

ASSURANCE-ENABLED LINDE BUZO GRAY (ALBG) DATA CLUSTERING

Tata Consultancy Services...

1. A method for Assurance-enabled Linde Buzo Gray (ALBG) data clustering-based segmentation, the method comprising:obtaining, by a processor, a user model data from a database available to the processor, the user model data having data elements represented by a plurality of data points in a multi-dimensional space, wherein the data elements correspond to features and feature values associated with users;
obtaining, by the processor, a segmented data output comprising clusters of the user model data of the users, wherein the data elements that belong to a same cluster are as similar as possible and the data elements of each cluster are as dissimilar as possible to the data elements of other clusters;
determining, by the processor, validity of the segmented data output against pareto validity check;
in response to determining the validity of the segmented data output, iteratively segmenting, by the processor, the data elements of the user model data into segmented clusters based on an accuracy cluster criterion, till the segmented clusters are determined valid against pareto validity check;
storing, by the processor, the segmented clusters resulting from the iteratively segmenting as the segmented data output in the database;
performing, by the processor, qualitative assurance of the segmented data output to ensure that each of the data elements is correctly assigned to the segmented clusters; and
storing, by the processor, the qualitative assured segmented data output as a result of the qualitative assurance.

US Pat. No. 10,248,624

METHOD AND SYSTEM FOR DOCUMENT SYNCHRONIZATION IN A DISTRIBUTED SERVER-CLIENT ENVIRONMENT

Fasoo.com, Inc., Seoul (...

1. A method comprising:wrapping at least one of a document ID, version information, and document content in a synchronized document by a distributor client;
uploading the synchronized document to a synchronization server by the distributor client;
identifying, before the user client opens the local copy of the synchronized document, the synchronized document on the synchronization server corresponding to the local copy of the synchronized document that is requested to be opened, wherein the identifying the synchronized document on the synchronization server is performed after the user client accesses the local copy of the synchronized document;
requesting latest version information of the synchronization document from the synchronization server;
receiving from the synchronization server the latest version information of the synchronized document;
receiving from the synchronization server the synchronized document if the synchronized document is more recent than the local copy of the synchronized document; and
opening the synchronized document by the user client.

US Pat. No. 10,248,623

DATA DEDUPLICATION TECHNIQUES

EMC IP Holding Company LL...

1. A method of processing data comprising:receiving, using a processor, a plurality of data portions of a logical device;
determining, using a processor, a plurality of hash values for the plurality of data portions, each of the plurality of data portions having a corresponding one of the plurality of hash values;
determining, using a processor, whether a first of the plurality of hash values associated with a first of the plurality of data portions is equal to a hash value of an implied data value; and
if it is determined that the first hash value is equal to the hash value of the implied data value, performing, using a processor, first processing comprising:
determining whether the first data portion has a current data value equal to the implied data value; and
responsive to determining that the first data portion has a current data value equal to the implied data value, performing second processing including updating first metadata for the first data portion with an indicator to denote that the first data portion has said implied data value, wherein the implied data value is a particular data value implied by the indicator and the first data portion is not associated with any storage storing the particular data value implied by the indicator, wherein the indicator is a non-pointer field of the first metadata, wherein an operation to read the first data portion includes determining the particular data value implied by the indicator using only the indicator without accessing a stored value that is the particular data value, and wherein the method is performed as part of data deduplication processing, and wherein no data deduplication is performed for the first data portion and any other ones of the plurality of data portions equal to the implied data value.

US Pat. No. 10,248,622

VARIABLE VIRTUAL SPLIT DICTIONARY FOR SEARCH OPTIMIZATION

SAP SE, Walldorf (DE)

1. A computer implemented method to optimize data searching in an in-memory database stored as a column store, the method comprising:assigning priorities to a plurality of attribute vectors including value identifiers that represent values of corresponding columns of a table of structured data;
basing the priorities for each of the plurality of attribute vectors on a frequency of data access from each respective attribute vector of the plurality of attribute vectors;
a processor of a computer executing a reordering optimization model to reorder the plurality of attribute vectors based on corresponding sequence scores, the corresponding sequence scores computed based on one or more of the assigned priorities, a memory size consumed by each of the plurality of attribute vectors, a historical data access metric, and a query referencing percentage for each of the plurality of attribute vectors;
upon computing the corresponding sequence scores and reordering the plurality of attribute vectors, the processor of the computer executing a partitioning optimization model to logically partition each of the plurality of attribute vectors into a varying optimal number of logical partitions, the partitioning optimization model analyzing a tree bounding model having multiple paths between a root node and a leaf node to determine an optimal path from among the multiple paths;
determining an optimal number of logical partitions for a respective attribute vector of the plurality of attribute vectors based on conditions including the priority of the respective attribute vector and a memory constraint, the memory constraint dependent on the memory size consumed by the respective attribute vector and an amount of memory available to create logical partitions of the respective attribute vector;
based on the partitioning, for each of the plurality of attribute vectors generating one or more attribute vector blocks; and
rearranging value identifiers in the one or more attribute vector blocks to additionally optimize searching for data in the table of structured data.

US Pat. No. 10,248,621

SYSTEMS AND METHODS FOR STORING, UPDATING, SEARCHING, AND FILTERING TIME-SERIES DATASETS

MOONSHADOW MOBILE, INC., ...

1. A computer-implemented method comprising:(a) automatically receiving at a computer system electronic indicia of a time-series dataset wherein
(i) for each one of multiple defined data fields, the time-series dataset includes one or more corresponding field-value (FV) data strings,
(ii) the time-series dataset includes multiple field-value-time-index (FVTI) data strings, and
(iii) each one of the FV data strings is associated with a corresponding one of the multiple FVTI data strings that indicates a time when information represented by that FV data string was acquired, measured, generated, or recorded;
(b) using one or more electronic processors of the computer system programmed therefor, automatically generating, using the electronic indicia of the time-series dataset, electronic indicia of multiple time-slice datasets, wherein
(i) each one of the multiple time-slice datasets corresponds to a designated time-slice time index (TSTI) that differs from the corresponding TSTI of at least one other of the multiple time-slice datasets,
(ii) for each one of multiple designated subsets of the multiple defined data fields, each time-slice dataset includes a corresponding time-slice data subset,
(iii) each time-slice data subset includes, for each data field of the corresponding designated subset of the multiple data fields, (A) either a corresponding single FV data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, a corresponding FV data string in a corresponding time-slice data subset with an earlier TSTI, and (B) for the FV data string included or indicated in subpart (A), either the associated FVTI data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, the corresponding associated FVTI data string in a corresponding time-slice data subset with an earlier TSTI, and
(iv) each FVTI data string included in, or indicated by a pointer of, each time-slice data subset represents a latest FVTI in the time-series dataset, for the associated FV data string, that is earlier than the TSTI of that time-slice data subset; and
(c) automatically storing in a computer-searchable format the electronic indicia generated in part (b) on one or more tangible, non-transitory computer-readable media of the computer system that are operatively coupled to one or more electronic processors of the computer system.

US Pat. No. 10,248,620

DATABASE TABLE COLUMN ANNOTATION

ENTIT SOFTWARE LLC, Sunn...

1. A method for database constraint generation, the method comprising:receiving data related to a table in a database;
analyzing the data to determine a row count for a column of the table;
analyzing the data to determine a number of distinct values for the column of the table;
determining a comparison value by comparing the row count to the number of distinct values;
determining if the comparison value is within a threshold; and
if the comparison value is within the threshold, adding, by a processor, an annotation to the column specifying a soft-unique constraint for the column,
wherein the soft-unique constraint indicates the column is considered unique during a cardinality estimation process involving the table, and further indicates to restrict enforcement of a unique property of the column upon data insertions or updates to the column.

US Pat. No. 10,248,619

RESTORING A VIRTUAL MACHINE FROM A COPY OF A DATASTORE

EMC IP Holding Company LL...

1. A method to restore a virtual machine comprising:receiving a selection of a point-in-time copy of the virtual machine to restore the selection being made from a plurality of point-in-time copies of virtual machines stored, a point-in-time copy of a datastore comprising the plurality of point-in-time copies of the virtual machines;
retrieving point-in-time copy information, from catalog information, the point-in-time copy information being associated with the point-in-time copy of the virtual machine selected to restore;
enabling the point-in-time copy of the virtual machine to receive I/Os for a host where the virtual machine will be restored;
mounting the datastore on the host;
modifying a virtual machine configuration file path to point to the point-in-time copy of the datastore;
registering the modified virtual machine configuration file path with the host;
determining a snapshot ID of a snapshot of the virtual machine; and
reverting to the snapshot of virtual machine.

US Pat. No. 10,248,618

SCHEDULING SNAPSHOTS

EMC IP Holding Company LL...

1. A computer-implemented method, comprising:receiving statistics data representing historic performance statistics over a predetermined period of time by a storage system, the historic performance statistics including resource consumption of a plurality of resources including at least one of a processor, memory, input-output (IO) transactions, and network bandwidth;
performing an analysis, by an analysis module executed by a processor, on the historic performance statistics to determine an optimal time window within the predetermined time period for taking a snapshot of data stored on the storage system based on the analysis, wherein performing an analysis on the historic performance statistics comprises assigning a weight factor for each resource for each point in time over the predetermined time period during which the historic performance statistics were collected, ranking each resource based on its resource consumption in view of its corresponding weight factor for each point in time over the predetermined time period, calculating a standard mean value and a standard deviation value based on resource rankings of sample points in time for each of a plurality of time window candidates, and selecting a time window from the time window candidates for taking snapshot, such that during the selected time window the standard mean value is within a first predetermined range while the standard deviation is within a second predetermined range; and
scheduling, by a scheduler executed by the processor, the snapshot according to the optimal time window.

US Pat. No. 10,248,617

FILE-LEVEL ARRAY STORAGE

Spectra Logic, Corp., Bo...

1. A data file storage apparatus that stores a plurality of different-sized data files in a file-level array, the apparatus comprising:a processor-based storage controller;
a nontransient, tangible computer memory configured to store the data files; and
computer instructions stored in the computer memory defining file-level array storage logic that is configured to be executed by the controller to logically containerize each data file in respective stripe units forming a file-level data set across a plurality of virtual storage containers, each data file's stripe units individually sized by dividing the respective data file size by the number of virtual storage containers, and to concurrently flush the virtual storage containers by migrating the stripe units of each file-level data set to a plurality of physical storage devices.

US Pat. No. 10,248,616

MONOLITHICALLY INTEGRATED SYSTEM ON CHIP FOR SILICON PHOTONICS

INPHI CORPORATION, Santa...

1. A monolithically integrated system-on-chip device configured for a multi-rate and selected format of data communication, the device comprising:a single silicon substrate member;
a data input/output interface provided on the substrate member and configured for a predefined data rate and protocol;
an input/output block provided on the substrate member and coupled of the data input/output interface, the input/output block comprising a SerDes block, a CDR block, a compensation block, and an equalizer block, the SerDes block being configured to convert a first data stream of N into a second data stream of M, each of the first data stream having a first predefined data rate at a first clock rate and each of the second data stream having a second predefined data rate at a second clock rate;
a signal processing block provided on the substrate member and coupled to the input/output block, the signal processing block configured to the input/output block;
a driver module provided on the substrate member and coupled to the signal processing block, the driver module coupled to the signal processing block;
a driver interface provided on the substrate member and coupled to the driver module and configured to be coupled to a silicon photonics device, the driver interface being configured to transmit output data in either an amplitude modulation format or a combination of phase/amplitude modulation format or a phase modulation format;
a receiver module comprising a TIA block provided on the substrate member and to be coupled to the silicon photonics device using predefined modulation format, and configured to the signal processing block to communicate information to the input/output block for transmission through the data input/output interface;
a laser coupled to the silicon photonics device;
a communication block provided on the substrate member and operably coupled to the input/output block, the signal processing block, the driver block, and the receiver block;
a communication interface coupled to the communication block; and
a control block provided on the substrate member and coupled to the communication block.

US Pat. No. 10,248,615

DISTRIBUTED PROCESSING IN A NETWORK

Harman International Indu...

1. A computing system comprising:a main host processor including multiple processing cores and a shared on-chip memory accessible by each of the multiple processing cores; and
an Ethernet hardware subsystem communicatively coupled to the main host processor via a direct memory access (DMA) subsystem, the DMA subsystem configured to route data from the Ethernet hardware subsystem to one or more of the multiple processing cores,
wherein the main host processor includes a digital signal processing core and an Audio/Video Bridging (AVB) audio processing core, and wherein the digital signal processing core is adapted to maintain a media clock and send precision time protocol (PTP) data to the AVB audio processing core; and
wherein the main host processor includes an application processor and one or more sub-processors, and wherein the AVB audio processing core is adapted to send the precision time protocol (PTP) data to the application processor.

US Pat. No. 10,248,614

GENERATING SEGMENTED NOTIFICATIONS IN A VIRTUAL SPACE

Kabam, Inc., San Francis...

1. A system for facilitating segmented notifications based on user parameters in a virtual space in which an online game takes place, the system comprising:one or more physical processors configured by machine-readable instructions to:
execute an instance of a virtual space in which the online game takes place, facilitate presentation of views of the virtual space to users through client computing platforms that are associated with the users and operatively linked to the system via a network, and enable user interactions with the virtual space and/or other users by receiving and executing commands from the users, wherein interactions between the users are supported through communications exchanged within the virtual space;
manage user accounts associated with the individual users, the user accounts including:
(i) external communication media preferences, wherein the external communication media preferences define one or more electronic communication media external to the virtual space through which individual users prefer to receive notifications, and wherein the external communication media preferences are associated with the individual users, and
(ii) user parameters related to the individual users such that the user accounts include accounts associated with a first set of one or more users having a first user parameter value for a first user parameter, and accounts associated with a second set of one or more users having a second user parameter value for the first user parameter,
wherein the first user parameter represents spending information related to spending by an individual user within the virtual space, wherein the spending information includes one or more of a spend rate by the individual user that reflects an average amount spent by the individual user within the virtual space per a real-world unit of time, a total spend amount by the individual user, average spending by the individual user during one or more predetermined periods, and spending by the individual user during certain events within the virtual space,
wherein the first and second user parameter values are distinct and separate from each other;
automatically generate the notifications that convey information to encourage the users to participate in the virtual space and include information about events and/or activities within the virtual space that the users could have participated in without receiving the notification, the notifications being generated based on user parameter values of the user parameters related to the individual users the notifications are intended for and will be transmitted to, such that a first notification is generated for the first set of one or more users based on the first user parameter value, and a second notification is generated for second set of one or more users based on the second user parameter value, wherein the first and second notifications are separate and distinct from each other in content; and
effectuate transmissions of the notifications through the one or more electronic communication media external to the virtual space such that the first notification is transmitted to the first set of one or more users and the second notification is transmitted to the second set of one or more users, wherein transmissions of the notifications to the individual users use the one or more electronic communication media external to the virtual space in accordance with the external communication media preferences per individual user.

US Pat. No. 10,248,613

DATA BUS ACTIVATION IN AN ELECTRONIC DEVICE

QUALCOMM Incorporated, S...

16. An electronic device, comprising:a data bus comprising a clock line and at least one data line;
a host circuit coupled to the data bus and configured to:
determine a cumulative potential representing a cumulative fractional bus activation vote on the at least one data line; and
activate the clock line in response to determining the cumulative potential on the at least one data line being greater than a configurable bus activation threshold; and
a plurality of device circuits coupled to the data bus, wherein at least one selected device circuit among the plurality of device circuits is configured to:
determine a signal strength of an incoming signal;
compare the determined signal strength against one or more predefined signal strength thresholds to determine a selected signal strength threshold among the one or more predefined signal strength thresholds, wherein the selected signal strength threshold is less than the determined signal strength; and
assert at least one fractional potential corresponding to the selected signal strength threshold on the at least one data line in response to determining the selected signal strength threshold, wherein the at least one fractional potential represents at least one fractional bus activation vote in the cumulative fractional bus activation vote.

US Pat. No. 10,248,612

INTERNAL SERIAL INTERFACE

Skyworks Solutions, Inc.,...

1. A communications interface device comprising:a radio frequency front end configured to receive input data signals and a first clock signal;
a serial interface configured to receive data signals from the radio frequency front end and that includes a transmit block that provides data and enable signals to at least one receive block, the receive block being associated with a component other than the radio frequency front end; and
a clock generator configured to be enabled by the radio frequency front end to provide a second clock signal when data is to be transmitted via the interface so that the transmit block of the serial interface receives the second clock signal, the clock generator being activated by the radio frequency front end when data received by the radio frequency front end indicates that the data being provided to the at least one receive block has changed, the clock generator configured to provide a clock signal and a transmit signal to the transmit block of the interface when enabled by the radio frequency front end, and the clock generator and the transmit block being disabled when the data has been transmitted.

US Pat. No. 10,248,611

DATA TRANSMISSION METHOD AND MOBILE TERMINAL

GUANGDONG OPPO MOBILE TEL...

1. A data transmission method, comprising:generating, by a mobile terminal, bytes of data in universal asynchronous receiver/transmitter (UART) format, wherein the data in UART format comprises software update information for a receiving terminal, and the mobile terminal comprises a processor; and
simulating UART ports via general purpose input/output (GPIO) ports of the processor and transmitting the bytes of data in UART format divided into batches to the receiving terminal via the GPIO ports,
wherein when transmitting the bytes of data in UART format in divided batches to the receiving terminal via the GPIO ports, the processor of the mobile terminal is in a locked state,
wherein the processor is in an unlocked state during an interval between two adjacent batches of the data transmitting, and
wherein the receiving terminal is a power adapter, and the mobile terminal is in electrical communication with the power adapter via a charging interface.

US Pat. No. 10,248,610

ENFORCING TRANSACTION ORDER IN PEER-TO-PEER INTERACTIONS

MELLANOX TECHNOLOGIES, LT...

1. A method for computing, comprising:receiving in a network interface controller (NIC), which is configured as a first peripheral device in a computer and couples the computer to a packet data network, data transmitted over the network in a remote direct memory access (RDMA) operation;
writing the data in a first bus transaction over a peripheral component bus in the computer from the NIC to a second peripheral device in the computer;
after executing the first bus transaction, submitting a completion notification from the NIC to a central processing unit (CPU);
in response to the completion notification, submitting a command from the CPU to one of the first and second peripheral devices to execute a second bus transaction, subsequent to the first bus transaction, that will flush the data from the peripheral component bus to the second peripheral device;
executing the second bus transaction in response to the command; and
following completion of the second bus transaction, processing the written data in the second peripheral device.

US Pat. No. 10,248,609

MODULAR INTERCONNECTION SYSTEM AND COMPONENTS THEREFOR

VERIFONE, INC., San Jose...

1. A modular interconnectivity assembly for interconnecting elements of a point of sale system, the modular interconnectivity assembly including:at least one interconnectivity module comprising:
an Input/Output (I/O) hub having at least one upstream facing port and at least two downstream facing ports;
at least one upstream connector connected to said at least one upstream facing port of said I/O hub and adapted for communication in accordance with a first communication protocol;
at least one downstream connector connected to at least one of said at least two downstream facing ports and adapted for communication in accordance with said first communication protocol; and
at least one interface connected to another of said at least two downstream facing ports and adapted for communication in accordance with a second communication protocol, different from said first communication protocol.

US Pat. No. 10,248,608

CONTROLLER CIRCUIT AND METHOD FOR ESTIMATING TRANSMISSION DELAY

SILICON MOTION, INC., Jh...

1. A controller circuit, comprising:a first signal processing device, configured to process signals;
a second signal processing device, configured to process signals, wherein the first signal processing device and the second signal processing device are disposed on different platforms;
a data bus, coupled between the first signal processing device and the second signal processing device and comprising a plurality of data lines; and
a confirm signal line, coupled between the first signal processing device and the second signal processing device,
wherein the first signal processing device transmits at least one synchronization signal to the second signal processing device via the data bus, the second signal processing device estimates transmission delay on each data line according to the at least one synchronization signal, performs transmission delay compensation according to the transmission delay estimated on each data line and transmits a confirmation signal on the confirm signal line to notify the first signal processing device that the transmission delay compensation on the data lines is complete.

US Pat. No. 10,248,607

DYNAMIC INTERFACE PORT ASSIGNMENT FOR COMMUNICATION TRANSACTION

Amazon Technologies, Inc....

1. A device comprising:a first interface port and a second interface port for communication with a plurality of processors; and
a controller communicatively coupled to the first interface port and to the second interface port and configured to:
determine, for a transaction with at least a first processor of the plurality of processors, at least one of a function or a transaction attribute;
assign the first interface port and the second interface port to the at least one of the function or the transaction attribute; and
transmit, based on the assignment, a request for the transaction using at least one of the first interface port or the second interface port to the first processor of the plurality of processors.

US Pat. No. 10,248,606

I/O MODULE

YOKOGAWA ELECTRIC CORPORA...

1. An input/output (I/O) module, comprising:a base plate comprising a plurality of connection terminals, the connection terminals being electrically connectable to a plurality of field devices;
a plurality of universal circuits associated with the connection terminals, the universal circuits being provided on the base plate, and each of the plurality of universal circuits being configured to receive analog signals from respective one of the plurality of field devices, to output analog signals to the respective one of the plurality of field devices, to receive discrete signals from the respective one of the plurality of field devices, and to output discrete signals to the respective one of the plurality of field devices; and
a plurality of option modules detachably provided on the base plate, each of the option modules being provided between respective one of the connection terminals and respective one of the universal circuits, the respective one of the connection terminals being associated with the respective one of the universal circuits, and each of the option modules comprising a first circuit configured to perform transmitting of signals between the respective one of the connection terminals and the respective one of the universal circuits.

US Pat. No. 10,248,605

BIDIRECTIONAL LANE ROUTING

Hewlett-Packard Developme...

1. An apparatus, comprising:a pass-through module that includes connector pins to connect with at least one active motherboard connector and to separately connect with at least one routing motherboard connector; and
a routing function on the pass-through module to redirect a set of bidirectional lanes from the connector pins connected to the at least one active motherboard connector to the connector pins connected to the at least one routing motherboard connector to enable a connection of the set of bidirectional lanes to at least one other motherboard connector via the at least one routing motherboard connector,
wherein the pass-through module connector pins include an install pin to notify a motherboard controller that the pass-through module is installed and to enable the motherboard controller to reapportion the set of bidirectional lanes to the at least one other motherboard connector.

US Pat. No. 10,248,604

MICROCONTROLLER PROGRAMMABLE SYSTEM ON A CHIP

Cypress Semiconductor Cor...

1. A configurable analog processing circuit, comprising:a plurality of analog circuit blocks, each configured to provide at least one analog function;
a programmable interconnect coupled to the analog circuit blocks, the programmable interconnect configurable to interconnect combinations of at least two of the plurality of analog circuit blocks to one another to perform at least another analog function; and
at least one digital block of a plurality of digital blocks that each provides at least one digital function, and wherein the programmable interconnect is further coupled to the plurality of digital blocks and configurable to interconnect combinations of the plurality of digital blocks to one another,
wherein the circuit is formed in an integrated circuit and wherein the programmable interconnect comprises a plurality of switches coupled between the analog circuit blocks and ports that provide signal connections for the integrated circuit,
wherein the plurality of switches are configured in one or more multiplexer (MUX) circuits, the MUX circuits comprising MUX inputs and MUX outputs coupled to the analog circuit blocks.

US Pat. No. 10,248,603

PCI EXPRESS NETWORK CARD

ACCTON TECHNOLOGY CORPORA...

1. A PCI Express network card, comprising:a circuit board having five ports, each of which is adapted to be electrically connected to a small form-factor pluggable transceiver;
a plate provided on the circuit board near a front edge of the circuit board, wherein the plate has a plurality of openings;
a plurality of integrated circuits provided on a surface of the circuit board, wherein the integrated circuits comprise a first processor and a second processor; the first processor and the second processor are respectively connected to different parts of the ports; the first processor is directly electrically connected to a part of the ports, while the second processor is directly electrically connected to another part of the ports; the first processor and the second processor are staggered on the surface; and
two heat sinks abutting against the first processor and the second processor, respectively, wherein an area of each of the heat sinks is greater than an area of each one of the first processor and the second processor.

US Pat. No. 10,248,602

COMPUTING DEVICES HAVING SLOTS AND COMPONENTS FOR RECEIPT OF DIFFERENT TYPES OF PERIPHERALS

Lenovo Enterprise Solutio...

1. A computing device comprising:a body with a top wall, a side wall, and an interior, wherein the interior comprises a rear wall with a first slot that extends within a first horizontal plane and into the interior and enables a connection with a plurality of peripherals of a first protocol,
wherein the rear wall comprises a plurality of openings that extend within a first vertical plane;
a motherboard comprising a second slot, a third slot, and a rear edge, wherein the second and the third slots are of a same size that extends out of the interior at a second protocol,
wherein the motherboard is housed within the interior of the body and the rear edge of the motherboard is oriented such that the second slot, and the third slot is aligned co-planarly with the first slot; and
a connector, operatively interfaced with the motherboard and positioned at the rear edge of the motherboard, that provides a direct connection to a second plurality of peripherals of the second protocol.

US Pat. No. 10,248,601

REMOTE TERMINAL UNIT (RTU) WITH UNIVERSAL INPUT/OUTPUT (UIO) AND RELATED METHOD

Honeywell International I...

1. An apparatus comprising:a remote terminal unit (RTU) comprising:
input/output (I/O) terminals configured to be coupled to at least one industrial control and automation field device;
one or more first I/O modules comprising one or more first reconfigurable I/O channels, each first reconfigurable I/O channel configured to be coupled to a pair of the I/O terminals, each first reconfigurable I/O channel configurable as an analog input, an analog input supporting digital communication, an analog output, an analog output supporting digital communication, a digital input, a digital output, and a pulse accumulator input for communication through the pair of I/O terminals;
each of the one or more first reconfigurable I/O channel comprises:
a digital logic block configured to control operating states for devices connected to the pair of I/O terminals using logic signals;
an analog common resource block configured to convert digital and analog signals between the digital logic block and the pair of I/O terminals;
a multiplexer block configured to receive a current signal from the analog common resource block and output a voltage signal to the analog common resource block; and
an output circuit block that comprises a plurality of switches and is configured to:
connect the current signal from the analog common resource block to a first I/O terminal of the pair of I/O terminals; and
connect a second I/O terminal of the pair of I/O terminals to an input of the multiplexer block;
a first expansion board coupled to the one or more first I/O modules;
a second expansion board configured to be coupled to one or more second I/O modules comprising one or more second reconfigurable I/O channels, wherein the second expansion board is connected to the first expansion board;
first and second electric paths formed through the first expansion board and the second expansion board, wherein the first and second electric paths meet at a loop after a final expansion board to indicate a lack of any additional I/O modules or additional expansion boards;
at least one processing device configured to control a configuration of each of the one or more first reconfigurable I/O channels and each of the one or more second reconfigurable I/O channels and to control the one or more second reconfigurable I/O channels through the one or more first I/O modules;
a first circuit board coupled to the I/O terminals and the first expansion board, wherein the first circuit board is further coupled to one or more serial interfaces, one or more uplink/downlink ports, and one or more transformers coupled to the first expansion board;
a second circuit board coupled to the at least one processing device, wherein the second circuit board is further coupled to one or more transceivers configured to communicate with the first circuit board; and
a third circuit board coupled to the one or more first I/O modules, wherein the third circuit board is further coupled to a power converter, the power converter configured to convert power received from the second circuit board;
wherein the first circuit board is coupled to the second and third circuit boards.

US Pat. No. 10,248,600

REMOTE CONTROL SYSTEM

INVENTEC (PUDONG) TECHNOL...

1. A remote control system for a microserver, the remote control system comprising:a plurality of computing boards is for processing data of the microserver;
a control board electrically connected to the plurality of computing boards and communicated with a remote control manager, the control board converting network signals transmitted between the plurality of computing boards and the remote control manager, the plurality of computing boards being remote-controlled by the remote control manager through the control board, and the control board comprising:
a first network physical layer protocol conversion chip electrically connected to the remote control manager, and the first network physical layer protocol conversion chip transmitting a first network signal via the remote control, the first network physical layer protocol conversion chip transforming the first network signal to an internal signal or transforming the internal signal to the first network signal;
a network signal switch module electrically connected to the first network physical layer protocol conversion chip and the plurality of computing boards, the network signal switch module receiving the internal signal from the first network physical layer protocol conversion chip, the network signal switch module transforming the internal signal to a second network signal or transforming the second network signal to the internal signal; and
a network signal processing module electrically connected to the network signal switch module, the network signal processing module generating an executive instruction according to the internal signal received by the network signal switch module, and the network signal switch module transmitting the second network signal to at least one of the plurality of computing boards according to the executive instruction,
wherein the network signal processing module comprising a basic input-output unit, a processing unit and a memory unit, the basic input-output unit stores a configuration setting of the remote control system, the processing unit is electrically connected to the basic input-output unit and the network signal switch module, and the processing unit communicates with the plurality of computing boards through the network signal switch module to detect network status of the plurality of computing boards, the processing unit produces and transmits the executive instruction to the network signal switch module according to the configuration setting of the remote control system and the internal signal so that the network signal switch module transmits the second network signal to at least one of the plurality of computing boards according to the executive instruction, the memory unit is electrically connected to the processing unit and temporary saves staged data of the processing unit.

US Pat. No. 10,248,599

USB CONNECTIONS

DISPLAYLINK (UK) LIMITED,...

1. A method of configuring a Universal Serial Bus (USB) connection between a first device and a second device, the USB connection comprising at least two high speed data channels and at least one low speed data channel, each data channel comprising a pair of signal links, each signal link comprising a port in the device at either end of the connection, a controller for the ports, and a signal wire extending between corresponding ports, each signal wire comprising one or more physical wires, each of the first and second devices having a controller coupled to control the connection at each port, the method comprising:initially negotiating between the first and second devices to determine which controller will be a co-ordinating controller;
configuring both of the signal links of at least the high speed data channels to be capable of transmitting data bidirectionally;
initially determining, by the co-ordinating controller, a first direction for transmission of data for each of the bidirectionally configured signal links based on an initial required data transmission capacity in each direction between the first and second devices;
transmitting data along each of the bidirectionally configured signal links in the determined first direction;
determining, by the co-ordinating controller, that there is a requirement to change the direction of transmission of one or more of the bidirectionally configured signal links;
selecting, by the co-ordinating controller, which of the bidirectionally configured signal links that are transmitting data in the first direction should change their direction of transmission to a second direction;
sending, by the co-ordinating controller, a redirection signal to each of the selected bidirectionally configured signal links to cause the selected bidirectionally configured signal links to change their direction of transmission of data to the second direction; and
transmitting data along each of the selected bidirectionally configured signal links in the second direction.

US Pat. No. 10,248,598

INTELLIGENT STORAGE DEVICE SIGNAL TRANSMISSION METHOD FOR BACKING UP DATA ON INTELLIGENT STORAGE MODULE BASED ON SYSTEM TYPE OF ELECTRONIC DEVICE

POWER 7 TECHNOLOGY CORP. ...

1. An intelligent storage device signal transmission method, comprising the steps of:(A1) electrically connecting an intelligent storage module and an electronic device;
(A2) enabling a built-in identification system of a microprocessor unit of said intelligent storage module to identify whether or not said electronic device is an iOS device by means of a numeric identification code, and then proceeding to step (A3) if yes, or step (A4) if not;
(A3) said electronic device being an iOS electronic device, enabling a USBMUX communication protocol channel for signaling between said intelligent storage module and the said iOS electronic device, and then proceeding to step (A5);
(A4) said electronic device being an Android smart phone or tablet computer, and thus, enabling an Android USBAOA communication protocol channel for signaling between said intelligent storage module and said Android electronic device, and then proceeding to step (A5);
(A5) enabling a file system of a downloaded application software (APP) of said electronic device to identify the file format of said intelligent storage module;
(A6) enabling said microprocessor unit of said intelligent storage module to define a data packet format of a DATA block through a USBMUX or USBAOA communication protocol channel;
(A7) enabling said intelligent storage module to transmit data packets to the said application software (APP) of said electronic device for data packet resolution;
(A8) using a built-in file system of the said application software (App) of said electronic device to identify and solve received data packets;
(A9) providing the file data of the resolved data file to a data storage software of said electronic device for application; and
(A10) enabling said intelligent storage module and said electronic device to transmit signal therebetween, and then releasing the electronic connection between said intelligent storage module and said electronic device after the signal transmission is completed,
wherein in step (A2), the said identification system that is built in said microprocessor unit of said intelligent storage module is capable of using a numeric identification code of USB VID or PID to identify whether said electronic device is an iOS device or Android device; the said file system that is built in said microprocessor unit said intelligent storage module is capable of enabling a USB MUX or AOA communication protocol channel to define the packet format for the iOS device or the Android device; said intelligent storage module comprises a storage unit a docking interface and a power supply unit electrically connected to said microprocessor unit; in step (A10), during data signal transmission between said intelligent storage module and said electronic device through one said docking interface of said intelligent storage module and one said transmission interface of said electronic device for backup, said power supply unit of said intelligent storage module charges said electronic device via one said docking interface and the said transmission interface.

US Pat. No. 10,248,597

USB COMMUNICATION CONTROL MODULE, SECURITY SYSTEM, AND METHOD FOR SAME

Response Technologies, Lt...

1. A USB communication control module comprising:a first USB port that comprises an input power port and is configured for electrical coupling and data communication with an associated USB device;
a first port power controller in communication with the input power port of the first USB port, the first port power controller being operable in one of a power delivery mode and a power interrupt mode, wherein when in the power delivery mode, the first port power controller facilitates delivery of power from a power source to the input power port of the first USB port, and when in the power interrupt mode, the first port power controller facilitates the interruption of power from the power source to the input power port of the first USB port;
a USB switch in data communication with the first USB port via a first communication bus and in control communication with the first port power controller via a first control bus;
a microprocessor in data communication with the USB switch via a second communication bus; wherein:
data communicated between the microprocessor and a USB device is routed over the first communication bus, through the USB switch, over the second communication bus, and through the first USB port;
the USB switch monitors the first communication bus to determine whether communication between the first USB port and the associated USB device is lost;
when communication between the first USB port and the associated USB device is lost, the USB switch facilitates temporary operation of the first port power controller in the power interrupt mode via the first control bus to restart the first USB port; and
the USB switch monitors the delivery of power from the power source to the input power port of the first USB port, and, when abnormal power conditions exist, facilitates temporary operation of the first port power controller in the power interrupt mode to restart the first USB port.

US Pat. No. 10,248,596

SYSTEMS AND METHODS FOR PROVIDING A LOWER-LATENCY PATH IN A VIRTUALIZED SOFTWARE DEFINED STORAGE ARCHITECTURE

Dell Products L.P., Roun...

1. An information handling system, comprising:an accelerator device; and
a processor subsystem having access to a memory subsystem and having access to the accelerator device, wherein the memory subsystem stores instructions executable by the processor subsystem, the instructions, when executed by the processor subsystem, causing the processor subsystem to:
receive an input/output command from an application executing on a virtual machine of a hypervisor, wherein the hypervisor is executing on the processor subsystem;
determine if the input/output command meets a predefined criteria for trapping the input/output command; and
responsive to determining that the input/output command meets a predefined criteria for trapping the input/output command, bypass a storage stack of the hypervisor by passing the input/output command to an endpoint of the accelerator device assigned for access to the hypervisor.

US Pat. No. 10,248,595

VIRTUAL MACHINE MONITOR INTERRUPT SUPPORT FOR COMPUTER PROCESSING UNIT (CPU)

Infineon Technologies AG,...

1. A system, comprising:a processor component comprising a plurality of virtual machines (VMs) and a virtual machine monitor (VMM)/hypervisor configured to control the plurality of VMs, wherein the processor component is configured to:
receive a plurality of interrupt requests that correspond to one or more of: the VMM/hypervisor or the plurality of VMs; and
determine whether to grant an interrupt request of the plurality of interrupt requests to the VMM/hypervisor and the plurality of VMs based on a set of predetermined criteria,
wherein the processor component is further configured to determine current statuses of interrupt priority schemes at the VMM/hypervisor and the plurality of VMs as part of the set of predetermined criteria.

US Pat. No. 10,248,594

PROGRAMMING INTERRUPTION MANAGEMENT

Micron Technology, Inc., ...

1. An apparatus, comprising:a memory array; and
a controller coupled to the memory array, wherein the controller is configured to:
modify a programming operation to program a portion of the memory array to an uncorrectable state in response to detecting an interruption during the programming operation.

US Pat. No. 10,248,593

TECHNIQUES FOR HANDLING INTERRUPTS IN A PROCESSING UNIT USING INTERRUPT REQUEST QUEUES

International Business Ma...

1. A processing unit for a multithreaded data processing system, the processing unit comprising:an interrupt source controller (ISC); and
an interrupt presentation controller (IPC) coupled to the ISC, wherein the IPC is configured to:
receive an event notification message (ENM), wherein the ENM specifies an event target number and a number of bits to ignore;
in response to a slot being available in an interrupt request queue of the data processing system,
enqueue the ENM in the slot; and
in response to the ENM being dequeued from the interrupt request queue, determine a group of virtual processor threads that may be potentially interrupted based on the event target number and the number of bits to ignore specified in the ENM, wherein the event target number identifies a specific virtual processor thread and the number of bits to ignore identifies a positive, integer number of lower-order bits to ignore with respect to the specific virtual processor thread when determining a group of virtual processor threads that may be potentially interrupted.

US Pat. No. 10,248,592

INTERRUPTED WRITE OPERATION IN A SERIAL INTERFACE MEMORY WITH A PORTION OF A MEMORY ADDRESS

MICRON TECHNOLOGY, INC., ...

1. A method comprising:identifying a first portion of a read command that includes a first portion of a memory address of a memory device, wherein the first portion of the memory address comprises a number of bits of the memory address;
identifying a memory partition of the memory device based at least in part on the number of bits;
determining that a write operation is being performed at the identified memory partition;
interrupting the write operation in response to the determination that the write operation is being performed and identifying the first portion of the read command;
identifying, after a start of the interruption and before a completion of the interruption, a second portion of the read command that includes a second portion of the memory address, wherein the second portion of the memory address comprises a remaining number of bits of the memory address, the remaining number of bits identifying one or more memory cells of the memory partition; and
reading, after the completion of the interruption, the one or more memory cells indicated by the memory address.

US Pat. No. 10,248,591

HIGH PERFORMANCE INTERCONNECT

Intel Corporation, Santa...

1. A processor device comprising:link layer logic, implemented at least in part in hardware, to generate a link layer flow control unit (flit) comprising three slots, wherein each slot is adapted to be encoded with a separate packet header, and a particular one of the slots is designated to be alternatively encoded with a link layer credit message,
wherein the link layer credit message comprises an opcode field to identify that the particular slot is encoded with a link layer credit message, a credit type field to indicate a type of credit refund included in the link layer credit message, a credit return field to indicate a number of credits to be refunded based on the link layer credit message, and at least one acknowledgement field,
wherein format of a payload of the link layer credit message is based on the type of credit refund, and the flit further comprises a field to indicate whether the link layer credit message corresponds to a deadlock free virtual networks of a system or a shared adaptive virtual network of the system.

US Pat. No. 10,248,590

SUPPORTING DIFFERENT TYPES OF MEMORY DEVICES BASED ON SERIAL PRESENSE DETECT

Hewlett-Packard Developme...

1. A computing device for supporting a plurality of different types of memory devices, comprising:a plurality of types of memory device slots on a printed circuit board (PCB) to connect a corresponding number and types of memory devices to the computing device;
a memory voltage regulator coupled to the memory device slots;
a basic input/output system (BIOS) to: determine serial presence detect (SPD) data present on a detected memory device coupled to one of the memory device slots to determine the type of the detected memory device of the number of memory device types; and
initialize the memory voltage regulator to adjust a supply voltage to a voltage required by the detected memory device based on the SPD data; and
a memory controller coupled to the memory device slots, the memory controller to control input/output signals to and from the detected memory device based on the SPD data, wherein the memory controller transmits signals common to all memory device types to the detected memory device via a first transmission line and transmits signals not common to all memory device types to the detected memory device via a second transmission line, the second transmission line being an exclusive transmission line for the type of the detected memory device.

US Pat. No. 10,248,589

INTEGRATED CIRCUIT WITH A SERIAL INTERFACE

Dialog Semiconductor (UK)...

1. An integrated circuit coupled to an external serial bus, the integrated circuit comprisinga serial interface configured to act as a bus slave with regard to the external serial bus and to detect a data address on the external serial bus;
a data cache coupled to the serial interface via an internal bus; and
a prefetch control unit configured to instruct the serial interface to prefetch a data element associated with the detected data address by causing the data element to be read from a target data storage unit associated with the data address and the data element and the data address to be written in the data cache,
wherein the prefetch control unit is configured to not instruct the serial interface to prefetch the data element in case reading data from the target data storage unit by the serial interface involves a turnaround time which is shorter than a predetermined threshold turnaround time; and
wherein the predetermined threshold turnaround time is based on a maximum response time defined by a message protocol of the external serial bus.

US Pat. No. 10,248,588

FRAME RECEPTION MONITORING METHOD IN SERIAL COMMUNICATIONS

LSIS CO., LTD., Anyang-s...

1. A frame reception monitoring method in serial communications, the method comprising:when a plurality of sub-frames constituting a frame is each entered into a reception buffer at certain time intervals, assigning timestamps to the plurality of sub-frames respectively, and allowing the respective sub-frames to be stored on a temporal buffer;
allowing the plurality of sub-frames stored on the temporal buffer to be entered into a service buffer within a predetermined inter-sub-frames time-out time;
using the plurality of sub-frames entered into the service buffer to generate a combined frame; and
using the combined frame to execute a control.

US Pat. No. 10,248,587

REDUCED HOST DATA COMMAND PROCESSING

SanDisk Technologies LLC,...

1. A storage system comprising:a buffer configured to store host data responsive to the host data being received from a host over a bus;
a backend memory for data storage;
a processor; and
a Direct Memory Access (DMA) circuit configured to copy data to the backend memory independently of the processor, the DMA circuit comprising:
a data generator configured to generate the host data responsive to the host data not being received from the host, wherein the DMA circuit is configured to:
copy the host data generated by the data generator to the backend memory independently of the processor responsive to the host data not being received from the host; and
copy the host data in the buffer to the backend memory independently of the processor responsive to the host data being received from the host; and
a metadata generator configured to:
generate the metadata from the host data that is in the buffer responsive to the host data being received from the host; and
generate the metadata from the host data that is generated by the data generator responsive to the host data not being received from the host.

US Pat. No. 10,248,586

INFORMATION PROCESSING APPARATUS AND DATA TRANSFER METHOD

Canon Kabushiki Kaisha, ...

1. An information processing apparatus comprising:a first chip;
a second chip; and
a third chip,
wherein the first chip, the second chip, and the third chip are connected in series, wherein the second chip includes
a receiving unit configured to receive, from the first chip, data and address information attached to the data,
a register configured to store address translation information,
a determination unit configured to determine whether the address information attached to the data received by the receiving unit corresponds to an address translation area based on the address translation information set to the register,
an address translation unit configured to translate the address information attached to the data received by the receiving unit and output the translated address information to an internal bus with the data received by the receiving unit,
a controller unit configured to control to store, in a memory for the second chip, data to which address information corresponding to an address area set for the second chip is attached among the data received from the address translation unit via the internal bus, and
a transmission unit configured to transmit, to the third chip, data to which address information corresponding to an address area set for transfer to the third chip is attached among the data received from the address translation unit via the internal bus,
wherein the address translation unit translates address information corresponding to an address area set for the second chip into an address destination in the second chip.

US Pat. No. 10,248,585

SYSTEM AND METHOD FOR FILTERING FIELD PROGRAMMABLE GATE ARRAY INPUT/OUTPUT

Oracle International Corp...

1. A method comprising:receiving a Field Programmable Gate Array (FPGA) program bitstream;
generating, based at least in part on the FPGA bitstream, FPGA programming logic segments;
modifying, based at least in part on the FPGA programming logic segments, an FPGA to comprise a core logic layer and a filtering layer;
receiving, by the filtering layer, Input/Output (I/O) associated with the core logic layer;
modifying, based at least in part on the filtering layer, the I/O associated with the core logic layer;
that the
sampling the I/O associated with the core logic layer to generate a sampled I/O;
receiving, at a processor, a timestamp from the FPGA associated with the sampled I/O;
receiving, at the processor, an interrupt signal associated with the FPGA; and
in response to receiving the interrupt signal, correlating the sampled I/O and the timestamp with an Epoch time of the processor.

US Pat. No. 10,248,584

DATA TRANSFER BETWEEN HOST AND PERIPHERAL DEVICES

Microsoft Technology Lice...

1. A peripheral device comprising:a wireless communication interface arranged to communicate with a host computing device;
an output device;
a memory arranged to store an output data set for output via the output device; and
a processor arranged to:
monitor parameters of a wireless communication link between the host computing device and the peripheral via the wireless communication interface;
detect imminent disconnection of the wireless communication link based on the parameters of the wireless communication link;
trigger, in response to imminent disconnection detection, a data transfer from the host computing device to the peripheral device via the wireless communication interface;
receive, in response to the trigger, the output data set; and
display the output data set via the output device, wherein following disconnection of the wireless communication link the output data set is fixed such that the output data set does not change.

US Pat. No. 10,248,583

SIMULTANEOUS VIDEO AND BUS PROTOCOLS OVER SINGLE CABLE

TEXAS INSTRUMENTS INCORPO...

1. A system comprising:a main switch configured to:
operate in an enhanced mode in which the main switch is configured to simultaneously transfer data from a first data source and a second data source to a cable;
operate in a default mode in which the main switch is configured to transfer data from the second data source to the cable without transferring data from the first data source;
a multipurpose switch, the multipurpose switch coupled to the cable through a first set of switch connections, the multipurpose switch configured to:
operate in a handshake mode in which the multipurpose switch is configured to transport handshake data between the cable and a digital logic, wherein the handshake data is received on the first set of switch connections;
operate in a data mode in which the multipurpose switch is configured to transport bus data between the cable and the second data source, wherein the bus data is received on the first set of switch connections; and
the digital logic coupled to the multipurpose switch through a first switch control;
the digital logic coupled to the main switch through a second switch control, the digital logic programmed to:
drive the first switch control that enables a mode of operation of the multipurpose switch, the mode of operation of the multipurpose switch comprising one of the handshake mode and the data mode; and
drive the second switch control that enables a mode of operation of the main switch, the mode of operation of the main switch comprising one of the enhanced mode and the default mode.

US Pat. No. 10,248,582

PRIMARY DATA STORAGE SYSTEM WITH DEDUPLICATION

NexGen Storage, Inc., Lo...

1. A primary data storage system for use in a computer network and having de-duplication capability, the system comprising:an input/output port configured to receive a block command packet that embodies one of a read block command and a write block command and transmitting a block result packet in reply to a block command packet;
a data store system having at least a first data store and a second data store;
wherein each of the first and second data stores is capable of receiving and storing data in response to a write block command and retrieving and providing data in response to a read block command;
wherein the first data store has a first responsiveness characteristic, the second data store has a second responsiveness characteristics, and the first and the second responsiveness characteristics are different;
a statistics database configured to provide hardware and/or volume statistical data relevant to a potential deduplication of data associated with a write block command; and
a deduplication processor configured to: (a) receive a write block command and statistical data relevant to the received write block command from the statistics database, (b) determine, using the hardware and/or volume statistical data that is relevant to the potential deduplication of data associated with the write block command, if a yet to be performed deduplication operation on the data associated with the received write block command is expected to satisfy a time constraint specifically associated with the processing of the received write block command relative to the data store system, the time constraint being the difference between (i) an allowed amount of time to process the write block command that is specifically associated with the received write block command and reflects a quality of service goal and (ii) an amount of time previously expended in processing the received write block command, (c) if the yet to be performed deduplication on the data associated with the received write block command is expected to satisfy the time constraint specifically associated with the received write block command relative to the data store system, proceeding with the performance of the deduplication operation on the data associated with the received write block command, and (d) if the yet to be performed deduplication operation on the data associated with the received write block command is not expected to satisfy the time constraint specifically associated with the received write block command relative to the data store system, forgoing the performance of the deduplication operation and proceeding with the processing of the received write block command, thereby increasing the possibility that duplicate data is established on the data store system.

US Pat. No. 10,248,581

GUARDED MEMORY ACCESS IN A MULTI-THREAD SAFE SYSTEM LEVEL MODELING SIMULATION

Synopsys, Inc., Mountain...

1. A method for multi-thread system level modeling simulation (SLMS) of a target system on a host system, the target system having a plurality of processor core models that access a memory model of the target system, the method comprising:setting a memory region of the memory model of the target system into guarded mode indicating that the memory region should be locked when the memory region is accessed by one of a plurality of SLMS processes, the plurality of SLMS processes representing functional behaviors of the processor core models;
identifying an access to the memory region by an accessing SLMS process of the plurality of SLMS processes via an interconnect model of the target system, the interconnect model connecting the processor core models to the memory model; and
responsive to the access to the memory region and the memory region being in the guarded mode, acquiring a guard lock for the memory region that allows the accessing SLMS process to access the memory region via the interconnect model while the guard lock is acquired, and wherein the plurality of SLMS processes cannot access the memory region while the guard lock is acquired.

US Pat. No. 10,248,580

METHOD AND CIRCUIT FOR PROTECTING AND VERIFYING ADDRESS DATA

STMICROELECTRONICS (ROUSS...

1. A circuit for protecting memory address data, the circuit comprising:an input data bus configured to receive write data to be written to a memory device;
an input address bus configured to receive a write address associated with the write data;
an output data bus; and
an address protection circuit coupled to said input data, input address, and output data buses and configured to
generate an address protection value based on the write address,
generate modified write data, on said output data bus, the modified write data including both the write data and the address protection value, said output data bus having a width greater than a width of said input data bus, and
generate a modified write address.

US Pat. No. 10,248,579

METHOD, APPARATUS, AND INSTRUCTIONS FOR SAFELY STORING SECRETS IN SYSTEM MEMORY

Intel Corporation, Santa...

1. A processor comprising:a hardware key;
an instruction unit to receive a compare instruction, the the compare instruction having a plaintext input value and a ciphertext input value; and
an encryption unit to, in response to the compare instruction, decrypt the ciphertext input value using the hardware key to generate a plaintext output value and compare the plaintext output value to the plaintext input value.

US Pat. No. 10,248,578

METHODS AND SYSTEMS FOR PROTECTING DATA IN USB SYSTEMS

Microsoft Technology Lice...

1. A system comprising:a processor;
memory;
a USB port;
one or more unsecure client applications stored in the memory;
one or more secure client applications stored in the memory;
an unsecure software stack including at least one unsecure USB driver;
a secure software stack including at least one secure USB driver; and
a USB host controller associated with the secure software stack and the unsecure software stack;
wherein the USB host controller being configured to:
receive a transfer descriptor including instructions for routing data from a communicating USB device, coupled with the USB port, to access the memory,
determine whether the communicating USB device is a secure USB device or an unsecure USB device,
route data to and from the unsecure USB device, based on the instructions in the transfer descriptor, through the unsecure software stack for use by the one or more unsecure client applications in response to determining the communicating USB device is the unsecure USB device, and
route data to and from the secure USB device, based on the instructions in the transfer descriptor, through the secure software stack for use by the one or more secure client applications in response to determining the communicating USB device is the secure USB device.

US Pat. No. 10,248,577

USING A CHARACTERISTIC OF A PROCESS INPUT/OUTPUT (I/O) ACTIVITY AND DATA SUBJECT TO THE I/O ACTIVITY TO DETERMINE WHETHER THE PROCESS IS A SUSPICIOUS PROCESS

International Business Ma...

1. A computer program product for detecting a security breach in a system managing access to a storage, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that when executed performs operations, the operations comprising:monitoring process Input/Output (I/O) activity of a process accessing data in a storage;
determining a peak I/O rate during a time period which an I/O rate of data access was a highest I/O rate;
determining a timestamp of when the data was last accessed;
characterizing the process initiating the I/O activity as a suspicious process in response to determining a process I/O rate of the process I/O activity as compared to the peak I/O rate of the data satisfies a first condition and a process access time at which the process is accessing the data as compared to the timestamp satisfies a second condition; and
indicating a security breach in response to characterizing the process as the suspicious process.

US Pat. No. 10,248,576

DRAM/NVM HIERARCHICAL HETEROGENEOUS MEMORY ACCESS METHOD AND SYSTEM WITH SOFTWARE-HARDWARE COOPERATIVE MANAGEMENT

HUAZHONG UNIVERSITY OF SC...

1. A Dynamic Random Access Memory/Non-Volatile Memory (DRAM/NVM) hierarchical heterogeneous memory access system with software-hardware cooperative management configured to perform the following steps:step 1: Translation Lookaside Buffer (TLB) address translation: acquiring a physical page number (ppn), a P flag, and content of an overlap tlb field of an entry where a virtual page is located, and translating a virtual address into an NVM physical address according to the ppn;
step 2: determining whether memory access is hit in an on-chip cache; directly fetching, by a Central Processing Unit (CPU), a requested data block from the on-chip cache if the memory access is hit, and ending a memory access process; otherwise, turning to step 3;
step 3: determining a memory access type according to the P flag acquired in step 1; if P is 0, which indicates access to an NVM, turning to step 4, updating information of the overlap tlb field in a TLB table, and determining, according to an automatically adjusted prefetching threshold in a dynamic threshold adjustment algorithm and the overlap tlb field acquired in step 1, whether to prefetch an NVM physical page corresponding to the virtual page into a DRAM cache; or if P is 1, which indicates access to a DRAM cache and indicates that the DRAM cache is hit, calculating an address of the DRAM cache to be accessed according to the information of the overlap tlb field acquired in step 1 and a physical address offset, and turning to step 6 to access the DRAM cache;
step 4: looking up a TLB entry corresponding to an NVM main memory page if a value of the overlap tlb field acquired in step 1 is less than the automatically adjusted prefetching threshold, and increasing the overlap tlb field of the TLB by one, wherein the overlap tlb field is a counter; turning to step 5 if the value of the overlap tlb field acquired in step 1 is greater than the automatically adjusted prefetching threshold, to prefetch the NVM main memory page into the DRAM cache; otherwise, turning to step 6 to directly access the NVM, wherein the automatically adjusted prefetching threshold is determined by a prefetching threshold runtime adjustment algorithm;
step 5: prefetching the NVM physical page corresponding to the virtual address into the DRAM cache, and updating the TLB and an extended page table; and
step 6: memory access: accessing the memory according to an address transmitted into a memory controller.

US Pat. No. 10,248,575

SUSPENDING TRANSLATION LOOK-ASIDE BUFFER PURGE EXECUTION IN A MULTI-PROCESSOR ENVIRONMENT

International Business Ma...

1. A method for operating translation look-aside buffers, TLBs, in a multiprocessor system, the multiprocessor system comprising at least one core each supporting at least one thread, the method comprising:receiving a purge request for purging one or more entries in the TLB;
determining if a thread requires access to an entry of the entries to be purged;
when the thread does not require access to the entries to be purged:
starting execution of the purge request in the TLB;
setting a suspension time window wherein the setting of the suspension time window is performed in response to an address translation request of the thread being rejected due to the TLB purge, wherein setting further comprises providing a level signal having a predefined activation time period during which the level signal is active, wherein the suspension time window is the predefined activation time period, and wherein a rejected address translation request is recycled during a recycling time window, wherein the recycling time window is smaller than the suspension time window;
suspending the execution of the purge during the suspension time window;
executing address translation requests of the thread during the suspension time window wherein the executing of the address translation requests of the thread comprises executing the recycled address translation request;
resuming the purge execution after the suspension window is ended;
when the thread requires access to the entries to be purged:
providing a branch point having two states;
providing a second branch point having two states;
blocking the thread for preventing the thread sending address translation requests to the TLB with firmware instructions, wherein blocking the thread comprises setting the branch point to a first state, setting the second branch point to a third state, and reading the first state of the branch point, and reading the third state of the second branch point, for performing the blocking with firmware instructions;
upon ending the purge request execution,
setting the first branch point to a second state
unblocking the thread and executing the address translation requests of the thread;
wherein the at least one core supporting a second thread, and when a first thread does not require access to the TLB entries to be purged and the second thread requires access to an entry to be purged, before starting the execution of the purge request at the TLB:
blocking both the first and second threads for preventing them sending requests to the TLB; and
when the purge request has started at both the first and second threads, unblocking the first thread.

US Pat. No. 10,248,574

INPUT/OUTPUT TRANSLATION LOOKASIDE BUFFER PREFETCHING

Intel Corporation, Santa...

1. An apparatus comprising:a bridge between an input/output (I/O) side of a system and a memory side of the system, the I/O side to include an interconnect on which a zero-length transaction is to be initiated by an I/O device, the zero-length transaction to include an I/O-side memory address;
an input/output memory management unit (IOMMU) including
address translation hardware to generate a translation of the I/O-side memory address to a memory-side memory address, and
an input/output translation lookaside buffer (IOTLB) in which to store the translation; and
an IOTLB prefetch control unit including prefetch control logic to cause the apparatus to, in response to determining that the memory-side address is inaccessible, emulate completion of the zero-length transaction and to, in response to determining that I/O device prefetching to the IOTLB is not enabled and that the I/O device is not permitted to access a system memory, generate a fault instead of emulating completion of the zero-length transaction.

US Pat. No. 10,248,573

MANAGING MEMORY USED TO BACK ADDRESS TRANSLATION STRUCTURES

INTERNATIONAL BUSINESS MA...

1. A computer program product for facilitating memory management of a computing environment, said computer program product comprising:a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
determining whether a block of memory is marked as being used to back an address translation structure used by a guest program for address translation, the block of memory being a block of host memory, wherein the guest program is managed by a virtual machine manager that further manages the host memory, and wherein the determining determines whether the block of memory is actively being used for the address translation structure, the address translation structure used in translating a virtual address to another address; and
performing a memory management action based on whether the block of memory is being used to back the address translation structure, the memory management action controlling availability of the block of memory for further use, wherein memory management within the computing environment is facilitated, enhancing system performance.

US Pat. No. 10,248,572

APPARATUS AND METHOD FOR OPERATING A VIRTUALLY INDEXED PHYSICALLY TAGGED CACHE

ARM Limited, Cambridge (...

1. An apparatus, comprising:processing circuitry to perform data processing operations on data;
a cache storage to store data for access by the processing circuitry, the cache storage having a plurality of cache entries, and each cache entry arranged to store data and an associated physical address portion, the cache storage being accessed using a virtual address portion of a virtual address in order to identify a number of cache entries whose stored physical address portions are to be compared with a physical address derived from the virtual address in order to detect whether a hit condition exists; and
snoop request processing circuitry, responsive to a snoop request specifying a physical address, to determine a plurality of possible virtual address portions for the physical address, and to perform a snoop processing operation in order to determine whether the hit condition is detected for a cache entry when accessing the cache storage using the plurality of possible virtual address portions, and on detection of the hit condition to perform a coherency action in respect of the cache entry causing the hit condition.