US Pat. No. 10,169,561

BIOMETRIC INTERFACE SYSTEM AND METHOD

1. An earpiece for authenticating users using stored finger print authentication data, the earpiece comprising:an earpiece housing;
at least one speaker;
at least one microphone;
a processor disposed within the earpiece housing and operatively connected to the at least one speaker and the at least one microphone, wherein once authentication occurs all or portions of earpiece operation or programming become accessible to a user;
a plurality of sensors operatively connected to the processor;
a data storage device disposed within the earpiece housing and operatively connected to the processor, wherein a first portion of the stored finger print authentication data is stored on the data storage device;
a radio transceiver disposed within the earpiece housing and operatively connected to the processor, wherein a second portion of the stored fingerprint authentication data is stored at a remote location and accessible over a network through the radio transceiver;
wherein the processor is configured to receive fingerprint data from a first sensor at a fingerprint contact surface on the earpiece housing and analyze the fingerprint data using the first portion of the stored fingerprint authentication data and the second portion of the stored fingerprint authentication data; and
wherein the processor is configured to receive users biometric data from a second sensor and make an authentication decision based on the fingerprint data and the biometric data.

US Pat. No. 10,169,559

CONTROLLING INPUT/OUTPUT DEVICES

Samsung Electronics Co., ...

1. A wearable electronic device comprising:one or more sensors;
a communication module;
a touchscreen display;
a battery module;
at least one memory configured to store executable instructions; and
at least one processor configured to execute the stored instructions to:
control the one or more sensors to obtain heart rate information of a user,
control the one or more sensors to obtain motion information of the user,
obtain power state information of the battery module including a remaining battery charge,
control operation of at least one of the touchscreen display and the communication module based on the obtained power state information, including controlling a Wireless Fidelity module of the communication module to be turned on or off based on the obtained power state information, and
control operation of the touchscreen display based on the obtained motion information of the user, including deactivating the touchscreen display when the motion information indicates a movement greater than a predefined value,
wherein the one or more sensors include at least one of a heartbeat sensor, an acceleration sensor, a gyro sensor, a geomagnetic sensor, and a GPS module.

US Pat. No. 10,169,558

ENHANCING BIOMETRIC SECURITY OF A SYSTEM

Intel Corporation, Santa...

1. A method comprising:receiving an ordered sequence of biometric inputs from a user via a biometric sensor associated with a processing system, wherein each biometric input of the ordered sequence of biometric inputs is associated with a corresponding digit of the user;
determining an indication of a direction of motion of the corresponding digit for each of the biometric inputs while the corresponding digit is being sensed by the biometric sensor;
determining if the biometric input and direction of motion of each of the ordered sequence of biometric inputs matches a corresponding entry stored in a table of a non-volatile storage of the processing system, the table including a stored ordered sequence of biometric inputs corresponding to a password pattern of the user selected by the user, the table including a plurality of entries each to store, for one of the stored ordered sequence, a biometric input, direction of motion, and mapping to an alphanumeric character;
if the biometric input and direction of motion of each of the ordered sequence of biometric inputs matches the corresponding entry stored in the table, determining whether a collection of the alphanumeric characters of each entry matches a stored password in a password database;
if so, enabling the user to access the processing system and converting the stored password to the password pattern, and otherwise preventing the user from accessing the processing system, wherein each of the ordered sequence of biometric inputs maps to an element of the password pattern selected by the user and the stored password is an alphanumeric password previously stored without biometrical-based information.

US Pat. No. 10,169,557

PICTURE/GESTURE PASSWORD PROTECTION

International Business Ma...

2. A system for identifying a strength of an input picture password formed from a selected picture and performing a sequence of gestures relative to the picture, the system comprising:a memory device for storing a crowd source history of picture passwords formed by tracking a plurality of picture passwords used to authenticate a plurality of users, each of the plurality of users having a respective user profile including at least one non-language demographic and each of the plurality of picture passwords including a picture selected by a user of the plurality of users and a sequence of gestures performed relative to the picture by the user;
a processor-based demography-based pattern usage assessment generator for generating a demography-based pattern usage assessment corresponding to the at least one non-language demographic by analyzing the crowd source history and the user profiles of the plurality of users to develop rules from the crowd source history according to common gestures for the at least one non-language demographic, wherein the rules are indicative of a strength of each gesture in the sequence of gestures according to how the sequence of gestures is performed relative to the picture; and
a user-perceptible indication device for providing an indication of the strength of the input picture password in accordance with the demography-based pattern usage assessment corresponding to the at least one non-language demographic.

US Pat. No. 10,169,554

WORK SUPPORT SYSTEM, WORK SUPPORT METHOD AND COMPUTER-READABLE RECORDING MEDIUM

CASIO COMPUTER CO., LTD.,...

1. A work support system, comprising:a processor configured to perform a display control process to display, on a display, a first list including a plurality of unprocessed task indices each of which has a first periphery size and a second list including a plurality of processed task indices each of which has a second periphery size smaller than the first periphery size,
wherein, in the display control process, when attribution of one of the unprocessed task indices in the first list is changed to a processed task index, a periphery size of the changed-to-processed task index, the attribution of which is changed to the processed task index, is reduced from the first periphery size to a third periphery size which is smaller than the first periphery size and larger than the second periphery size, and the changed-to-processed task index is displayed in a moving manner from the first list to the second list so that the changed-to-processed task index is visually recognized as passing behind other unprocessed task indices.

US Pat. No. 10,169,553

MANAGING GROUPED STUDENT DEVICES WITH TIMED LOCKS

AirWatch, LLC, Atlanta, ...

1. A system comprising:at least one processor; and at least one non-transitory computer-readable medium including instructions, which when executed by the at least one processor, cause the at least one processor to perform stages including:
determine at least one user device that corresponds to a session to which a master device is assigned;
send device identifiers to the master device that correspond to the at least one user device;
receive a lock request from the master device to apply a lock to a group of user devices comprising the at least one user device, the group being selected by the master device, wherein the lock request includes timing information relating to the lock and the lock is associated with a whitelist of resources that can be accessed by the group of user devices, wherein the lock request further includes a selection of a lock type and the lock type is selected from a group that includes an application lock, a file lock and a web lock;
determining two or more different operating systems of two or more user devices from the group of user devices and using two different messaging servers corresponding to the two different operating systems to send the lock requests to the two or more user devices, respectively; and
cause the group of user devices to apply the lock for a duration based on the timing information and the whitelist of resources, wherein applying the lock includes locking the group of user devices into a single application mode such that the user devices are locked into an application managed by a management server that specifies which resources are available to the application for access by the user devices, and wherein the timing information causes the group of user devices to unlock after the duration without further contact with the master device or the management server.

US Pat. No. 10,169,552

EVENT-DRIVEN GENERATION OF WATERMARKED PREVIEWS OF AN OBJECT IN A COLLABORATION ENVIRONMENT

Box, Inc., Redwood City,...

1. A method for watermarking an editable document comprising:configuring a server in a cloud-based environment, wherein one or more storage devices are accessible by the server to provide cloud-based storage services to two or more client entities as a service across a network;
maintaining an editable document at the server in a first version using a version indication, wherein the editable document is accessible from the server by a first client entity, wherein the first client entity edits the editable document live and a second client entity receives updated watermarked pages indicating a preview representation of the editable document as the updated watermarked pages are edited by the first client entity in an editing session of the editable document, wherein the editing session corresponds to the first client entity editing the first version of the editable document comprising a first watermark image and a preview session corresponds to a second client entity viewing the preview representation of the editable document comprising a second watermark image that is different from the first watermark, wherein the first version of the editable document is stored in a first storage location and the preview representation of the editable document is stored in a second storage location different from the first storage location;
applying the first watermark image to the first version of the editable document and granting edit access to the first version of the editable document to the first client entity of the two or more client entities;
generating the preview representation of the editable document that is different from the first version of the editable document while the first client entity has edit access to the first version of the editable document; and
applying the second watermark image to the preview representation of the editable document by manipulating the preview representation of the editable document rather than manipulating the editable document before delivering the preview representation of the editable document to the second client entity of the two or more client entities.

US Pat. No. 10,169,551

CONTENT READING METHOD FOR READING OUT COPYRIGHT-PROTECTED CONTENT FROM NON-TRANSITORY RECORDING MEDIUM, CONTENT READING APPARATUS, AND NON-TRANSITORY RECORDING MEDIUM

PANASONIC INTELLECTUAL PR...

1. A method, comprising:receiving a command for reading out a content from a non-transitory recording medium from a host apparatus;
identifying first version information indicating a version of a content copyright protection method for the non-transitory recording medium based on the non-transitory recording medium;
identifying second version information indicating a version of a protocol used in authentication of the host apparatus;
determining whether the authentication is to be approved or not based on the first version information with the second version information;
authenticating the host apparatus according to a result of the determination as to whether the authentication is to be approved or not;
reading out, from the non-transitory recording medium, medium-specific information used in decrypting an encrypted content stored in the non-transitory recording medium and sending the medium-specific information to the authenticated host apparatus; and
reading out the encrypted content from the non-transitory recording medium and sending the encrypted content to the authenticated host apparatus,
wherein the first version information is identified based on disk information that is meta data stored at a beginning of the recording medium formed in a disk shape in the identifying first version information.

US Pat. No. 10,169,550

DRM PLUGINS

ERICSSON AB, Stockholm (...

1. A method by a client device for decrypting digital content, which is encrypted using one of a plurality of different encryption techniques, the method comprising:receiving, by a receiver at a client device, a digital content stream from a service provider, wherein the digital content stream comprises:
the encrypted digital content, and
metadata identifying the one of the plurality of different encryption techniques utilized to encrypt the digital content;
transmitting, by a transmitter at the client device, a message identifying the encryption technique utilized to encrypt the digital content, and requesting an appropriate decryption module to decrypt the encrypted digital content;
receiving, by the receiver at the client device, the appropriate decryption module and a decryption key; and
decrypting, by processing circuitry at the client device, the digital content, utilizing the appropriate decryption module and the decryption key.

US Pat. No. 10,169,548

IMAGE OBFUSCATION

International Business Ma...

1. A method for managing image obfuscation comprising:receiving, by the computer, an image file uploaded to a social networking site;
identifying at least two portions of the image file that match at least one criteria of a plurality of obfuscation methods;
dividing the image file into a plurality of regions based on the at least two portions; and
executing, simultaneously, each obfuscation method to a corresponding region of the plurality of regions based on the corresponding region matching the at least one criteria of the plurality of obfuscation methods.

US Pat. No. 10,169,547

SECURE COMPUTING SYSTEM RECORD TRANSFER CONTROL

Microsoft Technology Lice...

1. A computing system comprising:at least one processor; and
memory storing instructions executable by the at least one processor, wherein the instructions, when executed, configure the computing system to provide:
a record generation component configured to generate a record in a computing system, the record identifying a set of users associated with the record and having an owner property that identifies a first user as an owner of the record;
a record security component configured to control modification of the record based on the owner property of the record; and
a record ownership transfer component configured to:
receive an indication of an ownership transfer that transfers ownership of the record from the first user to a second user;
based on the received indication, modify the owner property to identify the second user as the owner of the record; and
propagate the ownership transfer to the set of users by instructing an electronic messaging system to:
for each respective user of the set of users,
 send a structured electronic message to a respective user computing system that is associated with the respective user and maintains a separate copy of the record having a corresponding owner property,
 wherein the structured electronic message includes:
 a protected header field that is generated by the electronic messaging system and stores a unique identifier that identifies, to the respective user computing system, the first user as a sender of the structured electronic communication, wherein the protected header field is protected through control of the protected header field by the electronic messaging system; and
 an instruction to the respective user computing system to modify the separate copy of the record to reflect the ownership transfer based on a comparison of the protected header field relative to the corresponding owner property on the separate copy of the record.

US Pat. No. 10,169,546

GENERATING DOCUMENT PROCESSING WORKFLOWS CONFIGURED TO ROUTE DOCUMENTS BASED ON DOCUMENT CONCEPTUAL UNDERSTANDING

International Business Ma...

1. A computer-implemented method of generating a document processing workflow to enforce and record compliance with a set of disclosure provisions, the computer-implemented method comprising:receiving an unstructured document comprising a contractual agreement between a source party and a target party, the contractual agreement containing a disclosure provision to be complied with by the source party in written communications pertaining to the target party and published by the source party;
parsing the contractual agreement in order to identify a set of terms included in the disclosure provision;
annotating each term with metadata describing the respective term in order to create a structured pattern describing the disclosure provision;
facilitating pattern identification by semantically normalizing one or more of the annotated terms based on a contractual ontology in order to create a semantically normalized, structured pattern corresponding to the disclosure provision;
comparing the semantically normalized, structured pattern to a plurality of patterns in order to identify a best-fit pattern from the plurality of patterns, wherein each of the plurality of patterns pattern describes a workflow template;
upon identifying the best-fit pattern, automatically generating, based on the workflow template corresponding to the best-fit pattern, a workflow for the semantically normalized, structured pattern and by operation of one or more computer processors, wherein the workflow specifies a sequence of steps to enforce and record compliance, of the source party, with the disclosure provision, the sequence of steps involving a set of reviewing individuals of the target party, wherein the generated workflow is stored in a repository;
upon automatically determining that a written communication to be published the source party contains a set of statements, pertaining to the target party, that warrants initiating an approval workflow to ensure compliance with the disclosure provision, executing the generated workflow in order to solicit, from the set of reviewing individuals of the target party, approval of the written communication for publication by the source party; and
generating, for each step of the sequence in the generated workflow completed, an audit record indicating that the respective step is complete, wherein the audit record is stored in an audit log, wherein upon approval, by the target party, of the written communication for publication by the source party, the written communication is published by the source party without violating the disclosure provision.

US Pat. No. 10,169,545

COMPUTER-IMPLEMENTED TOOLS FOR USE IN ELECTROPHYSIOLOGY

1. A computer-implemented process for computing and displaying a spatial distribution, a time series, or a spatial distribution and a time series of at least one electrical variable for at least a portion of an electrophysiological system, said method comprising:(I) modeling said at least a portion of an electrophysiological system by a method that comprises:
(A) inputting data to a computer regarding structure and at least one electrical property of said at least a portion of an electrophysiological system;
(B) simulating, using the computer, at least one spatial charge distribution for said at least a portion of an electrophysiological system without first determining and differentiating an electrical potential distribution, wherein simulating comprises determining quantities of charge in a plurality of calculation cells, each of said plurality of calculation cells having at least two faces;
(II) using the computer to determine the spatial distribution, the time series, or the spatial distribution and the time series of the electrical variable from the at least one spatial charge distribution simulated in step (I); and
(III) displaying the spatial distribution, the time series, or the spatial distribution and the time series of the electrical variable determined in step (II);
wherein for at least one of said plurality of calculation cells, a quantity of charge for the calculation cell is determined in step (I)(B), at least in part, using a solid angle of a face of the calculation cell as seen from a quantity of charge in at least one other calculation cell of said plurality of calculation cells, and
in step (I)(B), at least one of the calculation cells of the plurality of calculation cells is a flattened calculation cell having only two faces with substantial areas as seen from quantities of charge in the other calculation cells of said plurality of calculation cells.

US Pat. No. 10,169,544

SIMULATION OF ENDOGENOUS AND EXOGENOUS GLUCOSE/INSULIN/GLUCAGON INTERPLAY IN TYPE 1 DIABETIC PATIENTS

University of Virginia Pa...

1. An electronic system that simulates a glucose-insulin metabolic system of a T1DM subject, comprising:an electronic subsystem configured to model dynamic glucose concentration in the T1DM subject, including an electronic module configured to model glucagon action on endogenous glucose production (EGP(t)),
an electronic module configured to model meal glucose rate of appearance (Ra(t)),
an electronic module configured to model insulin-dependent glucose utilization (Uid(t)), according to following equation:
where Gt(t) is an amount of glucose in tissue, X(t) is insulin action on glucose utilization and [Vm0, Vmx, Km0, p2U] are model parameters, where Vm0 governs amplitude of insulin action on glucuose utilization at basal steady state, Vmx governs amplitude of insulin action on glucuose utilization, Km0 governs glucose control on glucose utilization, p2U accounts for delay between insulin signal and insulin action on glucose utilization, andwith G being total glucose, Gb being patient basal glucose, Gth a hypoglycemic threshold, which is set at 60 mg/d1, and risk is a measure of risk of hypoglycemia,and [r1, r2] are additional randomly generated integers;an electronic module configured to model renal excretion of glucose (E(t));
a subsystem configured to model dynamic insulin concentration in said T1DM subject, including
an electronic module configured to model insulin secretion (S(t));
an electronic module configured to model glucagon subcutaneous transport;
an electronic database containing a population of virtual T1DM subjects, each virtual subject having a plurality of metabolic parameters with values within a range of values derived from in vivo T1DM subjects; and
a processing module configured to calculate an effect of variation of at least one metabolic parameter value on the glucose-insulin metabolic system of a virtual subject by inputting said plurality of metabolic parameter values including said at least one varied metabolic parameter value into said glucose concentration and insulin concentration subsystems;
wherein calculated effects of variation of at least one metabolic parameter value are outputted by said processing module and used to determine effectiveness of insulin treatment strategies that vary said at least one metabolic parameter value on a subject.

US Pat. No. 10,169,543

SYSTEMS AND METHODS FOR REPORTING BLOOD FLOW CHARACTERISTICS

HeartFlow, Inc., Redwood...

1. A system for displaying cardiovascular information of a patient, the system comprising:at least one computer system configured to:
receive patient-specific image data regarding a geometry of one or more of the patient's arteries;
create a model representing at least a portion of the patient's arteries based on the patient-specific image data;
determine at least one value of a fractional flow reserve for at least the portion of the patient's arteries based on the model;
generate a report for visual display comprising a representation of at least the portion of the patient's arteries and a summary portion including a listing of the represented portion of the patient's arteries adjacent to a graph of one or more markers of the value of the fractional flow reserve for each respective portion of the patient's arteries;
display, on the graph of the summary portion of the report, an indicator of uncertainty for each determined value of the fractional flow reserve, wherein each indicator of uncertainty is displayed as a bar overlapping a respective marker of fractional flow reserve on the graph of the summary portion of the report, and wherein each indicator of uncertainty is displayed when it cannot be determined whether the respective value of the fractional flow reserve exceeds the predetermined threshold value.

US Pat. No. 10,169,540

BLOOD GLUCOSE SYSTEM HAVING TIME SYNCHRONIZATION

Roche Diabetes Care, Inc....

1. A blood glucose system for treating a glucose metabolic disorder, comprising:a portable, independent ambulantly operable dosing device for delivering a medicinal agent for the treatment of the glucose metabolic disorder to a body, the dosing device being free from having an integrated time counter for generating relative time values, wherein each relative time value is a time count in relation to a reference instant and is not an actual time, a memory unit in which data sets of dosing quantities and relative time values are stored, and a device for transmitting stored data sets to a data processing apparatus;
a portable, independent ambulantly operable blood glucose measuring device for determining a blood glucose content of the body, the blood glucose measuring device including an integrated time standard, a memory unit in which data sets of blood glucose measurements and associated time values are stored, and a device for transmitting stored data sets to a data processing apparatus; and
wherein the data processing apparatus is for processing data sets of the dosing device and the blood glucose measuring device, the data processing apparatus having a receiving device for receiving the data sets from the dosing device and the blood glucose measuring device, wherein the data processing device has an arithmetic unit for converting the relative time values of the data sets of the dosing device into absolute time values by calculating a difference between the relative time value of the time counter of the dosing device and the associated time value of the time standard of the blood glucose measuring device;
wherein, the data processing apparatus synchronizes the data sets of the dosing device and the data sets of the blood glucose measuring device with one another by adding the difference to the relative time value of the time counter of the dosing device;
wherein the dosing device has a needle and a needle sensor with which it registers whether the needle is in the body during delivery of the medicinal agent, and further operates in a priming mode to evaluate when a bolus is delivered without the needle being injected in the body and marks the data sets accordingly when the bolus is delivered without the needle being injected in the body.

US Pat. No. 10,169,538

GRAPHICAL PRESENTATION OF MEDICAL DATA

Quest Diagnostics Investm...

1. A computer system programmed to perform a method of presenting information graphically, the method comprising:presenting on an electronic display device a flowsheet, comprising
a plurality of identifiers, each of which textually identifies exactly one of at least a plurality of stored series of one or more related data points, wherein each data point comprises a value and temporal information, the temporal information comprising a time, a date, or a time and a date, each of the identifiers being displayed in association with one or more controls, the associated controls together permitting a user to choose between associating the series with a left axis, associating the series with a right axis, and associating the series with no axis;
a plurality of temporal labels, each temporal label indicating at least a time, a date, or a time and a date, the temporal labels together spanning a period of time;
a plurality of numeric values, each numeric value representing one or more data points from a respective exactly one of the plurality of stored series, each numeric value being displayed in visual association with the identifier that identifies the respective series from which the data points were taken, each numeric value further being displayed in visual association with exactly one of the temporal labels, no more than one of the numeric values that are associated with a respective identifier being associated with any respective temporal label; and
a zoom control configured to allow a user to modify the period of time spanned by the temporal labels;
in response to input from a user, selecting a first one or more of the plurality of identifiers and, for each of the first one or more of the plurality of identifiers, associating the respective series associated with the identifier with the left axis or the right axis;
in response to input from a user, selecting a second one or more of the plurality of identifiers;
in response to input from the user, presenting on the electronic display device a graphical display that comprises:
a first graph that comprises a first horizontal axis indicating a time interval; a first left vertical axis indicating a first range of values; a first right vertical axis indicating a second range of values; and at least one set of symbols, each set comprising at least one symbol that corresponds to at least one of the data points comprised by the stored series represented by one of the first selected one or more identifiers; wherein the horizontal placement of each symbol indicates the temporal information associated with the corresponding data point, the vertical placement of each symbol indicates the value associated with the corresponding data point, and, for each set of symbols comprised by the first graph, all symbols within the set correspond to data points comprised by the same stored series; and
a second graph that comprises a second horizontal axis indicating a time interval; a second vertical axis indicating a third range of values; and at least one set of symbols, each set comprising at least one symbol that corresponds to at least one of the data points comprised by the stored series represented by one of the second selected one or more identifiers; wherein the horizontal placement of each symbol indicates the temporal information associated with the corresponding data point, the vertical placement of each symbol indicates the value associated with the corresponding data point, and, for each set of symbols comprised by the second graph, all symbols within the set correspond to data points comprised by the same stored series;
wherein:
the first graph is presented adjacent to the second graph and either above it or below it; and
the first horizontal axis and the second horizontal axis are aligned vertically so that any position indicating a time relative to the first horizontal axis indicates the same time relative to the second horizontal axis.

US Pat. No. 10,169,537

SYSTEM AND METHOD FOR THE VISUALIZATION OF MEDICAL DATA

Forward Health Group, Inc...

1. A computer-implemented method for the automated visualization of patient medical information and medical data over an Internet network, comprising:storing medical data of patients for each of at least one medical provider and at least one payor organization in a plurality of datasets, wherein each of the datasets in the plurality of datasets is stored in a computer memory accessible over the Internet network separately from each of the other datasets, each of the plurality of datasets including at least an electronic medical record and a secondary healthcare record, the electronic medical record and the secondary healthcare record stored separately and having at least one common key;
normalizing the medical data by executing database-specific calls to each of the datasets over the Internet network and retrieving at least some of the medical data from the plurality of datasets by a normalizer, the normalizer configured to generate a set of metadata based on at least one quality measure of the medical data and generate normalized medical data for the set of metadata using a denominator to define a patient population having the at least one quality measure;
populating a database with the normalized medical data, the database operably coupled to the Internet network, wherein the normalized medical data is stored separately from the plurality of datasets to create a medical data superset for each patient including medical data common to each patient stored among the plurality of datasets;
configuring an application layer operably coupled to the Internet network to enable communication between the database of the medical data superset for each patient and a dashboard over the Internet network;
displaying an output of normalized medical data on the dashboard, the dashboard displayed on a user device operably coupled to the Internet, the dashboard configured to:
enable a user to select one of a set of display options from the set including: a Venn diagram-type output, a scatter plot-type output or an orbit plot-type output;
display medical data for the patient population captured by the at least one quality measure using the display option selected by the user; and
enable the user to further interactively select details of a particular data section displayed in the display option.

US Pat. No. 10,169,536

RECORDING DOSE DATA FROM DRUG INJECTION DEVICES USING OPTICAL CHARACTER RECOGNITION (OCR)

Sanofi-Aventis Deutschlan...

1. A method of recording a medicament dose using a handheld data collection device, the method comprising:capturing, by a camera of the handheld data collection device positioned at a distance from a medicament dose indicator of a medicament delivery device, an image of the medicament dose indicator, wherein the distance between the camera and the medicament dose indicator is variable;
adjusting a scale of said image;
adjusting said image for skew of one or more characters displayed by the medicament dose indicator;
determining a position of at least one of said one or more characters in the image;
identifying the at least one character using optical character recognition; and
determining a medicament dose indicated by the medicament dose indicator based on a result of said optical character recognition.

US Pat. No. 10,169,534

MEDICAL IMAGE DISPLAY SYSTEM AND METHOD

Toshiba Medical Systems C...

1. A display system for collaboratively displaying a plurality of separate medical images across a plurality of separate display devices, the system comprising:processing circuitry connected to the plurality of separate display devices and configured to
provide a hanging protocol specifying the plurality of separate medical images to be displayed and a relative position in which each of the separate medical images is to be displayed;
obtain, from each of the plurality of separate display devices, consent to join a collaboration with other of the plurality of separate display devices, in order to display the plurality of separate medical images across the plurality of separate display devices, wherein establishment of the collaboration is dependent on at least one of user preference, group preference, a person using at least one of the separate display devices, and particular protocols used;
automatically assign each of the plurality of separate medical images to one of the plurality of separate display devices according to the hanging protocol; and
in response to receiving the consent to join the collaboration from each of the plurality of separate display devices, display the plurality of separate medical images concurrently on the plurality of separate display devices to obtain a collaborative display of the medical images across the plurality of separate display devices,
wherein at least one of the plurality of separate display devices comprises a mobile display device, and
the processing circuitry is further configured to
automatically detect a physical location of each of the plurality of separate display devices,
select, based on the detected physical location of each of the separate display devices, at least one device out of the detected plurality of separate display devices, and
after receiving the consent from the selected at least one device, assign at least one of the plurality of separate medical images for display on the selected at least one device, based on the hanging protocol and at least one of the detected location and an orientation of the selected at least one device with respect to the mobile display device.

US Pat. No. 10,169,533

VIRTUAL WORKLIST FOR ANALYZING MEDICAL IMAGES

Compressus, Inc., Austin...

1. A method for automating and managing workflow for healthcare data retrieval, display, and analysis on a healthcare enterprise network and providing interoperability between nodes of the healthcare enterprise network, the method comprising:receiving a study order for a patient from a first workstation of an imaging system on the healthcare enterprise network, wherein the study order contains data associated with at least one study image;
storing the study order in a master worklist on a network server as an uncompleted study order;
collecting and organizing network locations of data related to a patient in an enterprise-wide database using interrelated data structures in a computer memory to store the data related to the patient so that programmed rules provided to a workflow manager can test the contents of the various fields of the data structures to determine the destination of a study order in the worklist;
testing the contents of the various fields of the data structures to determine the destination group of a study order;
applying a workflow routing rule to the data associated with the at least one study image contained in the study order to route the workflow to the destination group, wherein the workflow routing rule depends on at least one of a criticality of the study order, image modality, and a body part in the at least one study image, the routing rules are implemented in modifiable, enterprise-specific, locally-defined tables that are utilized to automatically route patient studies based on an imaging modality of the study order, the routing rules comprise conditional rules that depend upon on loads and responsiveness of destinations to facilitate balancing routing workloads;
adding the study order to a first filtered worklist which is specific to the destination group;
acquiring study order related data from the nodes of the healthcare enterprise network including any available historical studies, patient records, and reports related to the study order, wherein sets of the study order related data have differing formats;
manipulating file characteristics of the data including compiling the data from a variety of differing formats on a number of workstations into a common format, to render the data accessible by a workstation of the destination group to provide interoperability between the nodes of the healthcare enterprise network;
storing a primary study, the historical studies, the patient records, and the reports related to study order in a designated memory associated with the destination group;
displaying the first filtered worklist on the second workstation in use by a logged-in diagnostician who is a member of the destination group;
making accessible to the second workstation an image of the primary study of the patient associated with the study order, and the historical studies, the patient records, and the reports;
accepting a claim of the study order from the logged in diagnostician;
preventing the claimed study order from being claimed by any other diagnostician;
receiving a report created by the logged-in diagnostician;
routing the report, in accordance with the modifiable, enterprise-specific, locally-defined tables, to a designated repository while the study order is claimed by the logged-in diagnostician;
removing the study order from the first filtered worklist from any other filtered worklist on which the study order appears;
sending an indication to the first workstation that the study order has been completed;
marking the study order in the master worklist as complete;
updating historical diagnostic throughput information based on a measured diagnostic throughput of the study, wherein the measured diagnostic throughput comprises an elapsed amount of time or expense between receiving the study order and marking the study order as complete; and
adjusting the workflow routing rule base on the updated historical diagnostic throughput information.

US Pat. No. 10,169,532

QUERY SEQUENCE GENOTYPE OR SUBTYPE CLASSIFICATION METHOD

OMICSIS, INC., Daejeon (...

1. A computer system for classifying genotype or subtype of a query sequence, the system comprising:one or more databases that store information on classified types of sequences of various viruses;
a client computer that receives user inputs of the query sequence; and
a web server comprising a processor and a memory, and coupled to the databases and the client computer via an Internet computer network,
wherein the web server
receives the query sequence from the client computer,
selects, from the classified types stored in the databases, base sequences of various viruses of which genotypes or subtypes are known as reference sequences
obtains a distance matrix by calculating distances between sequences in a multiple alignment of said reference sequences,
develops a discriminant equation which classifies the reference sequences by performing discriminant analysis for a cluster obtained by clustering said reference sequences through multidimensional scaling of the distance matrix,
classifies retroviral or flaviviral query sequence against the same type of virus, according to said discriminant equation, and
provides the classified query sequence to the client computer, and
wherein the client computer receives the classified query sequence and displays the classified query sequence on a screen of the client computer.

US Pat. No. 10,169,531

ALGEBRAIC PHASING OF POLYPLOIDS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for applying algebraic rules to single-nucleotide polymorphisms (SNPs), the method comprising:receiving, by a processor, a matrix comprising a set of rows and a set of columns, the matrix representing a set of two or more SNPs for two or more sample organisms;
setting each row in the set of rows to a ploidy based on a number of ploidies present in the two or more sample organisms;
representing each allele in the set of two or more SNPs as a binary number;
receiving a set of algebraic rules, wherein the set of algebraic rules comprises an algebraic phasing algorithm; and
applying the set of algebraic rules to the matrix to determine a haplotype of a parent of the two or more sample organisms.

US Pat. No. 10,169,529

METHOD AND APPARATUS FOR DETERMINING A ROAD NETWORK PARTITIONING BORDER LINE

INTERNATIONAL BUSINESS MA...

1. A computer implemented method for determining a road network partitioning border line, comprising:determining a border point based on road network data;
determining a buffer zone between adjacent partitions based on the border point, partitioning information of road segments in a road network, and the road network data;
determining a border line segment between the adjacent partitions based on the buffer zone; and
determining a border line of at least one partition based on the border line segment.

US Pat. No. 10,169,528

METHOD AND DEVICE FOR GENERATING ENGINEERING TOPOLOGY OF DIGITAL SUBSTATION

Korea Electric Power Corp...

1. A method of controlling and/or monitoring a digital substation, the method comprising:automatically generating a computer-readable engineering topology of a digital substation by:
generating, by a single-line diagram generation module, a single-line diagram of the digital substation based on input information regarding a plurality of substation component devices and connection relations therebetween;
converting, by a topology conversion module, the single-line diagram of the digital substation into an engineering topology conforming to international standards by use of conversion conditions stored in a topology component management module;
verifying, by a topology verification module, whether the engineering topology is suitable for the digital substation based on the international standards; and
generating, by an international standard file generation module, a computer-readable single-line diagram engineering file of the digital substation as a system specification description (SSS) by use of the verified engineering topology;
providing the computer-readable single-line diagram engineering file to a computerized supervisory control and data acquisition (SCADA) system; and
controlling, by the SCADA system, the digital substation,
wherein converting the single-line diagram into an engineering topology comprises establishing connection relations between connection nodes (CN) and terminals for individual objects included in the single-line diagram of the digital substation, and
verifying whether the engineering topology is suitable comprises determining whether an isolated object is present among objects contained in the single-line diagram of the digital substation based on a determination that an object is not linked with any other object.

US Pat. No. 10,169,527

ACCURATE STATISTICAL TIMING FOR BOUNDARY GATES OF HIERARCHICAL TIMING MODELS

INTERNATIONAL BUSINESS MA...

1. A method of improving performance of a semiconductor chip design, the method comprising:determining, by a computer processor, a hierarchical arrangement of the semiconductor chip design, the hierarchical arrangement including a plurality of arcs located at different levels internal to the semiconductor chip design, wherein the different levels include a macro level, a unit level and a core level;
determining, by the computer processor, first timing characteristics of at least one first arc in the macro level based on a load applied to the at least one first arc; and
determining, by the computer processor, second timing characteristics of at least one second arc in at least one of the unit level and the core level based on the first timing characteristics, wherein a portion of the second timing characteristics is determined irrespective of the load,
wherein the load includes a first capacitance load applied to the output of at least one first arc and a second capacitance load applied to an output of the at least one second arc, and
wherein an input slew rate is implemented in the semiconductor design and the semiconductor chip design is provided for semiconductor chip fabrication.

US Pat. No. 10,169,526

INCREMENTAL PARASITIC EXTRACTION FOR COUPLED TIMING AND POWER OPTIMIZATION

INTERNATIONAL BUSINESS MA...

1. A method of optimizing a semiconductor device according to a non-coupling scenario, the method comprising:constructing, by a computer system, an initial logic circuit included with the semiconductor device, the initial logic circuit including a plurality of initial design components;
performing, by the computer system, at least one first optimization action on the initial logic circuit, the at least one optimization action resulting in an updated performance requirement of at least one affected design component among the plurality of initial design components;
generating, by the computer system, an invalidation list that indicates the at least one affected design component;
replacing, by the computer system, the at least one affected design component with an updated design component capable of operating according to the updated performance requirement to construct an updated logic circuit included with the semiconductor device; and
performing, by the computer system, at least one second optimization action on the updated logic circuit, the at least one second optimization action generating performance results of the updated design component along with the remaining initial design components without requiring coupling,
wherein the second optimization action includes re-computing timing information of the updated design component and all of the remaining initial design components before outputting results of a slack analysis, and
wherein at least one new RC network is implemented in a semiconductor device design and the semiconductor device including the at least one new RC network is fabricated based on the semiconductor device design.

US Pat. No. 10,169,525

MULTIPLE-DEPTH TRENCH INTERCONNECT TECHNOLOGY AT ADVANCED SEMICONDUCTOR NODES

International Business Ma...

1. A method of forming a metal interconnect structure, said method comprising:controlling, using a hardware processor, a material deposition tool to form a dielectric material layer and a stack of hard mask layers over an underlying semiconductor structure, said stack of hard mask layers comprising at least, from bottom to top, a first dielectric layer of a first dielectric material, a lower metallic hard mask layer including a first metallic material, a second dielectric layer including a second dielectric material, an upper metallic hard mask layer including a metallic material, and a third dielectric layer including a third dielectric material;
controlling, using the hardware processor, a semiconductor lithographic patterning tool to form a first pattern of materials on top said third dielectric layer, and controlling an etching tool to recess a first portion of said third dielectric layer and said metallic hard mask layer within an area of the first pattern by employing a combination of a first lithographic process and a first etch; and
controlling, using the hardware processor, the semiconductor lithographic patterning tool to form a second pattern of materials on top said third dielectric layer, and controlling the etching tool to recess a second portion of said third dielectric layer and said metallic hard mask layer within an area of the second pattern by employing a combination of a second lithographic process and a second etch, wherein a cavity is formed within an area of intersection between said first pattern and said second pattern, said cavity having a bottom surface below a first horizontal plane including a bottom surface of said lower metallic hard mask layer,
wherein said first lithographic process and second lithographic process result in a double exposed overlapped feature portion at said area of intersection such that a resultant formed trench is deeper as compared to a depth of a trench formed as a result of the first lithographic process and the first etch.

US Pat. No. 10,169,524

UNIVERSAL CELL MODEL FOR ARRAY AND CIRCUIT SIMULATION USING THE SAME

TAIWAN SEMICONDUCTOR MANU...

1. A method, performed by at least one processor, for designing and implementing an integrated circuit, the method comprising:receiving, by the at least one processor, for each of at least a first array, a layout of the first array which comprises a plurality of cells, and a plurality of first circuit paths running across at least one side length in a first array size configuration of the first array,
each of the plurality of cells being configured with a first node that is coupled to a respective one of the plurality of first circuit paths;
extracting, by the at least one processor, a first representative characteristic associated with the plurality of first circuit paths;
generating, by the at least one processor, a universal cell model applied to each cell in a second array based on a base cell model comprising parameters independent of positions in the second array, and the first representative characteristic,
the second array having a second array size configuration the same as or different from the first array size configuration; and
effecting a physical implementation of an integrated circuit based on the universal cell model.

US Pat. No. 10,169,523

TIMING CONSTRAINTS FORMULATION FOR HIGHLY REPLICATED DESIGN MODULES

International Business Ma...

1. A method for managing time constraints in a circuit, the method comprising:creating an initial placement design of blocks of macros in a circuit based on a weighted combination of a micro-architectural requirement, a critical path timing requirement, and a connection density requirement;
determining, by one or more processors, whether a first location-based criteria is met, wherein the first location-based criteria comprises a first predefined threshold;
in response to determining that the first location-based criteria is met, initiating, by one or more processors, a first checkpoint procedure, the first checkpoint procedure comprising a pin list filtering to generate a first shortened pin list;
performing an intermediate placement of blocks of macros in the circuit if the first predefined threshold is not met;
determining, by one or more processors, whether a second timing-based criteria is met, wherein the second timing-based criteria comprises a second predefined threshold;
in response to determining that the second timing-based criteria is met, initiating, by one or more processors, a second checkpoint procedure, the second checkpoint procedure comprising a pin list filtering to generate a second shortened pin list; and
performing design iterations, by one or more processors, using at least the first shortened pin list or the second shortened pin list instead of an unfiltered pin list to reach a final optimized stage.

US Pat. No. 10,169,522

METHODS AND SYSTEM FOR MODEL-BASED GENERIC MATCHING AND TUNING

ASML Netherlands B.V., V...

1. A method of tuning a to-be-tuned lithographic process to a reference lithographic process, each of the reference and the to-be-tuned lithographic processes involving use of a lithographic apparatus to manufacture a pattern on or in a substrate, the method comprising:obtaining respective lithographic process models for both the reference lithographic process and the to-be-tuned lithographic process, the reference and to-be-tuned lithographic process models each comprise a plurality of mathematical terms and each model a physical characteristic of an aspect of the respective lithographic processes;
identifying a set of tunable parameters of the to-be-tuned lithographic process;
determining, by a hardware computer, one or more changes in the set of tunable parameters that cause responses of the reference and to-be-tuned lithographic process models to match, wherein the determining the one or more changes includes applying non-uniform weights to different mathematical terms in the reference and to-be-tuned lithographic process models; and
tuning the to-be-tuned lithographic process to the reference lithographic process by adjusting the model for the to-be-tuned lithographic process based on the determined one or more changes,
where an output of the adjusted model is configured (a) to (i) design, (ii) control, (iii) modify, or (iv) any combination selected from (i) to (iii), an aspect of a physical manufacturing step of the to-be-tuned lithographic process, or (b) to (v) design, (vi) control, (vii) modify, or (viii) any combination selected from (v) to (vii), an aspect of a physical object or apparatus to be used or manufactured in the to-be-tuned lithographic process, or (c) both (a) and (b).

US Pat. No. 10,169,521

METHOD FOR FORMING CONTACT PLUG LAYOUT

UNITED MICROELECTRONICS C...

1. A method for forming a contact plug layout, comprising:(a) receiving a plurality of active region patterns and a plurality of buried gate patterns, the buried gate patterns respectively extending along a first direction and arranged along a second direction perpendicular to the first direction, the active region patterns respectively extending along an extending direction different from the first direction and the second direction and overlapping adjacent two of the buried gate patterns to form two overlapping regions and one contact plug region in between the two overlapping regions in each of the active region patterns;
(b) forming a plurality of contact plug patterns respectively on the contact plug region in each of the active region patterns, the contact plug patterns respectively comprising a parallelogram having a pair of second short sides and a pair of second long sides, wherein the second short sides are parallel with the first direction and the second long sides are parallel with the extending direction of the active region patterns, wherein an included angle of the parallelograms is not equal to 90°, and the contact plug patterns respectively partially overlapping the adjacent two of the buried gate patterns and completely overlapping the contact plug region between the adjacent two of the buried gate pattern; and
(c) outputting the contact plug patterns to a photomask for forming an DRAM device.

US Pat. No. 10,169,520

METHOD OF RECONFIGURING UNCROWNED STANDARD CELLS AND SEMICONDUCTOR APPARATUS INCLUDING UNCROWNED AND CROWNED CELLS

TAIWAN SEMICONDUCTOR MANU...

1. A method of reconfiguring a set of uncrowned standard cells in a layout of a semiconductor apparatus,wherein each uncrowned standard cell includes a standard first array;
each standard first array including a first stacked arrangement of vias interspersed with corresponding one or more first segments of corresponding M(i)˜M(N) metallization layers; and
wherein the M(N) metallization layer includes one or more second segments which connect corresponding first segments of the M(N) metallization layer in the first standard array of each uncrowned standard cell in the set;
the method comprising:
crowning each first standard array in the set with a corresponding second standard array thereby resulting in a corresponding crowned standard cell;
wherein each second standard array includes a second stacked arrangement of vias interspersed with corresponding one or more of first segments of corresponding M(N+1)˜M(N+Q) metallization layers; and
adding, to the M(N+Q) layer, one or more second segments which connect corresponding first segments of the M(N+Q) metallization layer in the corresponding second standard arrays, thereby resulting in the layout;
wherein i, N and Q are non-negative integers, i?N and 1?Q; and
wherein at least one of the disconnecting, crowning and adding is executed by a processor of a computer.

US Pat. No. 10,169,519

AREA SHARING BETWEEN MULTIPLE LARGE BLOCK SYNTHESIS (LBS) BLOCKS

International Business Ma...

1. A method comprising:receiving an integrated circuit (IC) floorplan comprising a plurality of large block synthesis (LBS) blocks, wherein respective LBS blocks comprise respective pluralities of macros merged therein;
selecting at least a first LBS block and at least a second LBS block of the plurality of LBS blocks, wherein the first LBS block shares at least a portion of a perimeter of the first LBS block with at least a portion of a perimeter of the second LBS block, wherein the first LBS block comprises a first area, and wherein the second LBS block comprises a second area, wherein selecting at least the first LBS block and at least the second LBS block further comprises:
determining a first utilization of a periphery of the first LBS block is below a target utilization and a second utilization of a periphery of the second LBS block is below the target utilization;
overlapping a portion of the first LBS block with a portion of the second LBS block to form an overlap area, wherein the overlap area is less than the first area, wherein the overlap area is less than the second area;
apportioning a first portion of the overlap area to the first LBS block and a second portion of the overlap area to the second LBS block, wherein apportioning a respective portion to a respective LBS block dedicates resources of the respective portion to the respective LBS block; and
manufacturing an integrated circuit based on the IC floorplan and comprising the first portion of the overlap area apportioned to the first LBS block and the second portion of the overlap area apportioned to the second LBS block.

US Pat. No. 10,169,518

METHODS FOR DELAYING REGISTER RESET FOR RETIMED CIRCUITS

Intel Corporation, Santa...

1. A method of operating an integrated circuit design tool implemented on computing equipment, comprising:receiving a circuit design that includes a plurality of registers that are resettable using a first reset sequence;
performing a first register move operation on the circuit design to move a first register in the plurality of registers across a first circuit element in the circuit design;
updating a first counter value associated with the first circuit element for a clock domain; and
generating a second reset sequence by delaying the first reset sequence based on the first counter value for the clock domain, wherein the second reset sequence is at least associated with resetting the moved first register to a reset state.

US Pat. No. 10,169,517

METHODS AND SYSTEMS FOR REDUCING CONGESTION IN VERY LARGE SCALE INTEGRATED (VLSI) CHIP DESIGN

Wipro Limited, Bangalore...

1. A method of reducing congestion in a Very Large Scale Integrated (VLSI) chip design, the method comprising:applying a placement constraint with at least one hot-spot logic cell, wherein the placement constraint restricts placement of new logic cells within a predefined distance from each of the at least one hot-spot logic cell;
applying a routing constraint on a metal layer in a node of the VLSI chip, wherein the node includes the at least one hot-spot logic cell;
restricting fresh placement of the at least one hot-spot logic cell to original location extracted using feedback received after culmination of routing procedure while applying the placement constraint and the routing constraint;
performing placement of circuit components based on the placement constraint and the routing constraint, wherein the routing procedure establishes paths for interconnections, the paths comprising at least one of standard cell and macro pins, pins on block boundary, and pads at chip boundary; and
fabricating the VLSI chip based on the placement of the circuit components.

US Pat. No. 10,169,516

METHODS AND COMPUTER PROGRAM PRODUCTS FOR VIA CAPACITANCE EXTRACTION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for via capacitance extraction, the method comprising:placing a plurality of shapes of target nets of an integrated circuit (IC) into a Cshapes collection and placing a plurality of via pad shapes of the target nets into a CshapesVia collection, wherein each of the via pads has a first via pad shape, and a second via pad shape;
processing the plurality of shapes in the Cshapes collection and placing the processed shapes into a Ctile collection, and processing the plurality of via pad shapes in the CshapesVia collection and placing the processed shapes into a CtilesVia collection;
extracting via capacitance of the plurality of target nets through each of the Cshapes collection, the CshapesVia collection, the Ctiles collection, and the CtilesVia collection; and
fabricating the integrated circuit.

US Pat. No. 10,169,515

LAYOUT MODIFICATION METHOD AND SYSTEM

TAIWAN SEMICONDUCTOR MANU...

1. A method of forming an integrated circuit, the method comprising:analyzing, by the at least one processor, at least dimensional and positional characteristics of a plurality of specific layout segments of a circuit cell layout to determine a cell boundary of the circuit cell layout, wherein the cell boundary is a boundary between the circuit cell layout and an adjacent cell abutted to the circuit cell layout;
selecting at least a first specific layout segment and a second specific layout segment from the plurality of specific layout segments based on a first distance between the first specific layout segment and the cell boundary and a second distance between the second specific layout segment and the cell boundary;
determining, by the at least one processor, if the first specific layout segment and the second specific layout segment are electrically connected to a first reference voltage level;
merging, by the at least one processor, the first specific layout segment and the second specific layout segment to form a first merged layout segment when the first specific layout segment and the second specific layout segment are electrically connected to the first reference voltage level;
selecting at least a third specific layout segment and a fourth specific layout segment from the plurality of specific layout segments in response to said analyzing;
merging, by the at least one processor, the third specific layout segment and the fourth specific layout segment to form a second merged layout segment;
merging, by the at least one processor, the first merged layout segment and the second merged layout segment to form a rail;
generating a modified circuit cell layout based on the rail; and
causing the integrated circuit to be fabricated according to the modified circuit cell layout.

US Pat. No. 10,169,514

APPROXIMATION OF RESISTOR-CAPACITOR CIRCUIT EXTRACTION FOR THREAD-SAFE DESIGN CHANGES

International Business Ma...

1. A method of fabricating an integrated circuit, the method comprising:performing, using a processor, a design change for a net among a plurality of nets of the integrated circuit;
performing, using the processor, an extraction for the net, the performing the extraction including re-computing values for a resistor-capacitor (RC) circuit representation of the net;
recording re-computed values resulting from the re-computing and a timestamp of the extraction;
changing a capacitance value of a capacitor coupling the net with a neighboring net in the RC circuit representation of the neighboring net to be the capacitance value of the capacitor coupling the net with the neighboring net that was re-computed for the RC circuit representation of the net;
updating timing and noise parameters for the net and the neighboring net to updated timing and noise parameters;
performing timing analysis based on the updated timing and noise parameters; and
implementing a physical implementation of the integrated circuit based on a result of the timing analysis meeting design criteria.

US Pat. No. 10,169,512

COMPUTER SYSTEM FOR STATE ASSIGNMENTS USING A FINITE STATE MACHINE

King Fahd University of P...

1. A computer system for optimizing state assignments for a finite state machine, the system comprising:processing circuitry configured to
generate a random initial state assignment for each of a plurality of states of the finite state machine with a probabilistic pairwise swap search,
determine an initial cost associated with the random initial state assignments,
identify a code swap to explore as a function of a code swap probability,
calculate a cost for the code swap when one or more criteria is satisfied, the one or more criteria include one or more of an indication of whether the code swap has not been explored in a current round, a solution associated with the code swap was not previously generated, a round is not repeated wherein the round is an iteration where all pairs of code swaps are considered, and a maximum predetermined number of code swaps by round is not exceeded, the maximum predetermined number of code swaps by round being a function of a number of hill climbs taken in a period, the period starting when a current solution does not improve after finishing a round and ending when a best solution is found,
update the code swap probability as a function of the cost of the code swap and a best cost,
perform the code swap when the cost of the swap is smaller than the best cost and/or a current cost, to optimize the state assignments,
output optimized state assignments and
implement a physical circuit including one or more flip flops based on the optimized state assignments.

US Pat. No. 10,169,511

METHOD TO SYNTHESIZE A CROSS BAR SWITCH IN A HIGHLY CONGESTED ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A method comprising:automatically generating design data for a semiconductor circuit comprising a crossbar switch, the automatically generating comprising:
synthesizing the crossbar switch using predefined multiplexer building blocks, wherein the predefined multiplexer building blocks comprise at least a multiplexer, an input driver and a select driver;
regularly placing the predefined multiplexer building blocks to define a crossbar switch arrangement;
testing the crossbar switch arrangement for timing constraints;
re-synthesizing the crossbar switch or replacing of the predefined multiplexer building blocks based on the testing;
wherein:
the re-synthesizing comprises using multiplexers comprising multiple multiplexer areas;
one of said multiplexer areas comprise a primary output driver and the remaining multiplexer areas include the multiplexing circuits;
the replacing comprises placing the multiplexer such that the multiplexer area are located in adjacent bit bay areas, wherein a single bit bay area includes two power supply rails; and
initiating fabrication of the semiconductor circuit comprising the crossbar switch using the automatically generated design data.

US Pat. No. 10,169,510

DYNAMIC FAULT MODEL GENERATION FOR DIAGNOSTICS SIMULATION AND PATTERN GENERATION

INTERNATIONAL BUSINESS MA...

1. A computer implemented method for locating defects in a fabricated device, the method comprising:inputting, by a computer system, inline fabrication parametric data, the inline fabrication parametric data is a collection of physical measurements measured on the fabricated device during stages of building process layers in the fabricated device, wherein a fault model is based on the inline fabrication parametric data;
generating, by the computer system, test patterns according to inline fabrication parametric data of the fabricated device according to the fault model in order to obtain results from testing the fabricated device; and
detecting a physical location of one or more defects in the fabricated device by running a simulation of the fabricated device using the results.

US Pat. No. 10,169,509

EFFICIENT DEPLOYMENT OF TABLE LOOKUP (TLU) IN AN ENTERPRISE-LEVEL SCALABLE CIRCUIT SIMULATION ARCHITECTURE

INTERNATIONAL BUSINESS MA...

1. A system for conducting numerical analysis, the system comprising:a processor that is configured to define a plurality of components in a circuit and a condition to be statistically analyzed;
a module that is configured to perform a table look-up in a table for individual components of the plurality of components;
a module that is configured to acquire a result for the condition to be statistically analyzed based on information in the table in which a component of the plurality of components is defined, wherein a result of the statistical analysis provides a design of the circuit for a fabrication facility for manufacturing integrated circuits; and
a module that determines if the condition to be statistically analyzed is possible to be interpolated from existing conditions for the component in the table,
wherein, when it is determined that the condition to be statistically analyzed is possible to be interpolated from the existing conditions, the existing conditions for the component in the table are interpolated to obtain the condition to be statistically analyzed.

US Pat. No. 10,169,508

EFFICIENT DEPLOYMENT OF TABLE LOOKUP (TLU) IN AN ENTERPRISE-LEVEL SCALABLE CIRCUIT SIMULATION ARCHITECTURE

INTERNATIONAL BUSINESS MA...

1. A method for conducting numerical analysis, the method comprising:defining a plurality of components in a system and a condition to be statistically analyzed;
performing a table look-up in a table for individual components of the plurality of components;
acquiring a result for the condition to be statistically analyzed based on information in the table when a component of the plurality of components is defined in the table;
designing a circuit from integrated circuits based on conducting the statistical analysis of the system, wherein the designing the circuit from the integrated circuits is implemented in manufacturing the integrated circuits; and
determining if the condition to be statistically analyzed is possible to be interpolated from existing conditions for the component in the table,
wherein, when the determining determines that the condition to be statistically analyzed is possible to be interpolated from the existing conditions, the method further comprises interpolating the existing conditions for the component in the table to obtain the condition to be statistically analyzed.

US Pat. No. 10,169,507

VARIATION-AWARE CIRCUIT SIMULATION

Taiwan Semiconductor Manu...

1. An integration circuit (IC) simulation method, comprising:(a) providing a design netlist of a system-level circuit, wherein the system-level circuit comprises a first sub-circuit;
(b) providing a first behavior model that is determined based on an operation of the first sub-circuit, wherein the first behavior model is a function of one or more respective behavior-level parameters;
(c) incorporating a first variation into each of the one or more behavior-level parameters of the first behavior model; and
(d) simulating the system-level circuit based on the one or more behavior-level parameters of the first behavior model that incorporates the first variation, wherein the first variation comprises at least one first local mismatch variation, wherein the at least one first local mismatch variation corresponds to a variation of a design parameter of an element of the first sub-circuit.

US Pat. No. 10,169,506

CIRCUIT DESIGN METHOD AND SYSTEM

TAIWAN SEMICONDUCTOR MANU...

1. A method of fabricating a circuit by a predetermined fabrication process, the method comprising:designing a first layout of the circuit based on a first plurality of corner variation values for an electrical characteristic of a corresponding plurality of back end of line (BEOL) features of the circuit to be fabricated by the predetermined fabrication process;
using a processor, calculating, based on the first layout, a first delay attributable to the plurality of BEOL features and a second delay attributable to a plurality of front end of line (FEOL) devices of the circuit;
if the first delay is greater than the second delay, designing a second layout of the circuit based on a second plurality of corner variation values for the electrical characteristic of the corresponding plurality of BEOL features,
wherein each corner variation value of the first plurality of corner variation values is obtained by multiplying a corresponding corner variation value of the second plurality of corner variation values by a corresponding scaling factor,
in response to the first delay being greater than the second delay, fabricating the circuit based on the second layout; and
in response to the first delay not being greater than the second delay, fabricating the circuit based on the first layout.

US Pat. No. 10,169,504

ACHIEVING POWER SUPPLY AND HEAT DISSIPATION (COOLING) IN THREE-DIMENSIONAL MULTILAYER PACKAGE

International Business Ma...

1. A computer-implemented method for designing a package for a stacked multiple-chip Integrated Circuit (IC) structure, the method comprising the steps of:establishing, using the computer, a silicon (Si)-containing substrate having a wiring layer that optimizes power supply and heat dissipation for the stacked multiple-chip structure from an upper surface side of said stacked multiple-chip structure, said wiring layer supplying power to said stacked multiple-chip structure via a power supply;
setting, using the computer, a heat conductive thermal via density initial value for a chip of said stacked multiple-chip structure, wherein thermal via structures of said chip at said initial value density provide a heat dissipation route in the stacked multi-chip structure;
preparing the Si-containing substrate where said wiring layer is of a predetermined thickness and is formed on a bottom surface side of said Si-containing substrate contacting said upper surface side of said stacked multiple-chip structure and, prior to setting up an initial value of the power supply, connecting a heat dissipater a top an upper surface side of said Si-containing substrate for dissipating heat directly above the upper surface side of said Si-containing substrate;
setting, using the computer, the initial value of the power supply for said stacked multiple-chip structure supplied from said wiring layer of said Si-containing substrate;
determining, using the computer, whether the initial value of the power supply and the initial value of the thermal via density are both within a predetermined range; and based on said determining, performing, using the computer, one or more of:
increasing or decreasing said initial value of the power supply until detecting a convergence of the initial power supply value within the predetermined range; and
increasing or decreasing said heat conductive thermal via density initial value until detecting a convergence of the thermal via density initial value within the predetermined range, and
fabricating a three-dimensional multilayer chip package including said stacked multiple-chip structure having a thermal via density corresponding to the thermal via density value at the detected convergence, said three-dimensional multilayer chip package for receiving a power supply input at a value corresponding to the power supply value at the detected convergence.

US Pat. No. 10,169,503

CALLBACK BASED CONSTRAINT PROCESSING FOR CLOCK DOMAIN INDEPENDENCE

INTERNATIONAL BUSINESS MA...

1. A method of performing timing analysis of an integrated circuit design with callback-based constraint processing for clock domain independence, the method comprising:generating a timing graph representation of the integrated circuit design, wherein the timing graph includes nodes interconnected by edges;
loading timing abstracts representing the nodes of the timing graph;
obtaining, using a processor, a timing result based on propagating timing values and associated timing tags from an input to an output of the integrated circuit design and processing timing constraints at one or more of the nodes as callbacks, wherein each timing tag indicates a clock domain;
applying a design change;
determining, using the processor, one or more modified timing tags that are added or changed as a result of the design change;
processing the timing constraints associated with the modified timing tags as callbacks;
re-computing the timing result; and
providing the integrated circuit design to obtain a physical implementation based on the timing analysis.

US Pat. No. 10,169,502

ADDRESSING OF PROCESS AND VOLTAGE POINTS

International Business Ma...

1. A method for addressing process and voltage points across voltage and process space, the method comprising:computer processors identifying an integrated circuit design;
the computer processors identifying a timing model associated with the identified integrated circuit design;
the computer processors identifying a minimum set of voltage/process pairs associated with the integrated circuit design, wherein an operating temperature and frequency are constant;
the computer processors identifying a number n that defines the number of finite differencing operations to be performed for the identified minimum set of voltage/process pairs;
the computer processors performing a single statistical static timing analysis with multi-corner projection for the identified integrated circuit based on the identified number n that provides a finite difference for each number of finite differencing operations to be performed based on the identified number n for the identified minimum set of voltage/process pairs;
the computer processors performing addressing based on an exact timing at each individual voltage/process pairs for the identified minimum set of voltage/process pairs with respect to a process corner and a delay from the identified timing models;
the computer processors providing a report; and
the computer processors initiating to manufacture an updated integrated circuit design.

US Pat. No. 10,169,501

TIMING CONTEXT GENERATION WITH MULTI-INSTANCE BLOCKS FOR HIERARCHICAL ANALYSIS

Cadence Design Systems, I...

1. A method for hierarchical timing comprising:accessing a memory of a computing device to obtain a first circuit design, the first circuit design comprising a plurality of instances of a first block;
determining, by one or more hardware processors of the computing device, a plurality of multi-mode multi-corner (MMMC) views for the first circuit design;
generating, by the one or more hardware processors, a plurality of timing contexts for the circuit design, each timing context of the plurality of timing contexts being generated from a different combination of an instance of the plurality of instances and an MMMC view of the plurality of MMMC views;
generating, by the one or more hardware processors, an analysis view output file comprising a plurality of content MMMC views, the plurality of content MMMC views comprising the plurality of MMMC views and the plurality of timing contexts;
determining a block timing merge threshold for the circuit design;
determining a first phase value for a first propagation point within the circuit design using a first timing context and a first MMMC view from the analysis view output file;
determining a second phase value for the first propagation point within the circuit design using a second timing context and a second MMMC view from the analysis view output file;
generating a merged phase value by comparing the block timing merge threshold with a difference between the first phase value and the second phase value; and
fabricating semiconductor devices using the circuit design with the hierarchical timing.

US Pat. No. 10,169,500

CRITICAL PATH DELAY PREDICTION

International Business Ma...

1. A method of predicting a delay of one or more critical paths of an integrated circuit, the method comprising:determining a respective delay of each of a plurality of on-board ring oscillators on the integrated circuit based on a real-time measurement of a respective frequency of each of the plurality of ring oscillators,
wherein the plurality of on-board ring oscillators includes one or more on-board high-voltage threshold (HVT) ring oscillators, one or more on-board medium-voltage threshold (SVT) ring oscillators, and one or more on-board low-voltage threshold (UVT) ring oscillators; and
calculating, using a computer system processor, a predicted delay for each of the one or more critical paths based on a delay of components of the respective critical path at a corner condition, a wire delay of the respective critical path, a delay of each of the plurality of on-board ring oscillators at a corner condition, and the determined delay of each of the plurality of on-board ring oscillators,
wherein each of the one or more critical paths include at least one HVT component on the integrated circuit having a first voltage threshold, at least one SVT component on the integrated circuit having a second voltage threshold less than the first voltage threshold, and at least one UVT component on the integrated circuit having a third voltage threshold less than both the first voltage threshold and the second voltage threshold.

US Pat. No. 10,169,499

THERMOSET RESIN FLOW MODELS FOR PRINTED CIRCUIT BOARD LAMINATES

International Business Ma...

1. A method comprising:storing thermoset resin rheology data at a memory, the thermoset resin rheology data including a plurality of dynamic fluid flow properties that are measured for a thermoset resin;
receiving, at a computing device, information associated with a printed circuit board (PCB) laminate design;
receiving, at the computing device, a first set of PCB lamination parameters;
storing, at the computing device, a first thermoset resin flow model that is generated based on the thermoset resin rheology data, the information associated with the PCB laminate design, and the first set of PCB lamination parameters;
sending first instructions to a PCB lamination device; and
forming a first printed circuit board laminate according to the first set of PCB lamination parameters.

US Pat. No. 10,169,498

PARTICLE-BASED SIMULATION THROUGH POWER DIAGRAMS

California Institute of T...

1. A system for generating computer graphics comprising:a processor; and
a memory containing a model of a fluid, where the fluid is broken into a set of cells each defining a volume with boundaries that are relative to a distance of a set of points and the set of cells are continuous within the model of the fluid;
wherein the processor is directed by a power particle application to:
calculate a plurality of forces acting on the set of cells;
move the set of cells within the model of the fluid based upon the plurality of forces; and
update the model of the fluid with a new set of cells; wherein updating the model of the fluid comprises updating the volume of the set of cells with a local volume change using the following expression:
Vi?Vi+dt[Dv]i
where V is a target volume, i is a point in a cell in the set of cells, D is a divergence operator, and v is a velocity.

US Pat. No. 10,169,497

METHOD AND APPARATUS FOR ANALYSIS OF SHAPE OPTIMIZATION

JFE Steel Corporation, (...

1. A method for analysis of shape optimization in which a computer executes optimization of a portion forming a structural body model with a two-dimensional element or a three-dimensional element, the method executed by the computer, and comprising:a design space setting step of setting, as a design space, a portion to be optimized in the structural body model;
an optimization block model generating step of generating, in the set design space, an optimization block model formed of three-dimensional elements and that performs an analysis processing of optimization;
a connection processing step of connecting the generated optimization block model with the structural body model;
a material property setting step of setting a material property for the optimization block model;
a crashworthy optimum shaping condition setting step of setting a crashworthy optimum shaping condition for the optimization block model, the crashworthy optimum shaping condition being a condition that finds an optimum shape for a crashworthiness;
a crashworthiness analysis condition setting step of setting a crashworthiness analysis condition for the structural body model with which the optimization block model has been connected, the crashworthiness analysis condition being a condition that performs a crashworthiness analysis;
a three-dimensional element necessity calculation step of executing, based on the set crashworthy optimum shaping condition and the crashworthiness analysis condition, the crashworthiness analysis on the optimization block model, and calculating information related to necessity of each of the three-dimensional elements of the optimization block model for the crashworthiness;
an optimum shape determining step of determining, based on a result of the calculation, an optimum shape for the crashworthiness,
utilizing the analysis of shape optimization for configuring optimization of the structural body formed from a thin sheet, and
displaying the structural body model based on the optimum shape determining step,
wherein in the optimization block model generating step,
when the computer or an operator selects a plane having the maximum area of the design space having a size that fits in the set design space, along a peripheral surface where the design space has been set in the structural body model,
the computer pushes out the three-dimensional elements in parallel with the plane having the maximum area of the design space such that the three-dimensional elements and the design space are to be integrated by node sharing, and subdivides the three-dimensional elements such that the three-dimensional elements have at least one pair of sides parallel to each other, and
the optimization block model is generated by:
setting nodes in a connected portion with the two-dimensional elements or the three-dimensional elements forming the structural body model; and
stacking the three-dimensional elements along a plane including the nodes set in the connected portion.

US Pat. No. 10,169,496

SPRINGBACK AMOUNT EVALUATION METHOD

JFE STEEL CORPORATION, T...

1. A method of manufacturing a press forming product, comprising:forming the press forming product by press forming a metal sheet with a die;
evaluating a springback amount after die release of the press forming product by a computer; and
implementing countermeasures against the springback amount based on the evaluation,
wherein evaluating the springback amount includes:
finding a shape to be a reference of the press forming product and a shape after the die release by an analysis using the computer or by actually performing three dimensional shape measurement; and
executing a predetermined program, the predetermined program executed by a processor of the computer, as follows:
setting, with respect to the shape to be the reference of the press forming product and the shape after the die release, a plurality of section planes intersecting a shape of the press forming product at predetermined intervals and parallel to one another, the plurality of section planes being set on the computer;
obtaining a sectional shape of the press forming product for each of the set section planes; and
obtaining an orientation of each of the sectional shapes in each section plane as a direction of each of the sectional shapes,
in which for each of the shape to be the reference of the press forming product and the shape after the die release, the section plane setting step, the sectional shape obtaining step, and the sectional shape direction obtaining step are performed,
the amount of springback is evaluated from an amount of torsion defined as a deformation by rotation of the sectional shapes about an axis by comparing, for all of the section planes, the obtained directions of the sectional shapes for the shape to be the reference and for the shape after the die release, and by obtaining a rotational angle of each sectional shape of the section planes and comparing the rotational angle of each sectional shape for all of the obtained sectional shapes, and
a direction of each of the sectional shapes in the each section plane is a direction in which a second moment of area in the sectional shape indicates a maximum value or minimum value, a direction in which a section modulus in the sectional shape indicates a maximum value or minimum value, or a long side direction or a short side direction of a smallest rectangle circumscribing the sectional shape.

US Pat. No. 10,169,495

METHOD FOR VERIFYING HARDWARE/SOFTWARE CO-DESIGNS

International Business Ma...

1. A computer system for formally verifying a hardware/software co-design, the computer system comprising:one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising:
providing in a co-design, a first model, and a second model, wherein the first model is one of a hardware model, and the second model is one of a software model, or vice versa;
performing an abstraction on the first model, wherein the abstraction comprises refining the first model to a lower abstraction level;
specifying a safety property comprising one or more conditions to be satisfied by a composed hardware/software model;
combining the abstraction of the first model and the safety property to obtain an abstracted first model;
translating the abstracted first model and a corresponding interface model into a Property Specification Language, wherein the Property Specification Language is capable of describing a model environment for the second model;
based on the described model environment, composing, by a model checker, the abstracted first model and the second model to obtain the composed hardware/software model, wherein the model checker automatically composes the abstracted first model and the second model using a construct in the Property Specification Language;
verifying whether the composed hardware/software model satisfies the safety property;
in response to the composed hardware/software model not satisfying the safety property, projecting, by the model checker, a counterexample on the first model, wherein the counterexample is projected on variables of the abstracted first model, the interface model, and the second model such that a sequence of model states is obtained as a consequence of projecting the counterexample;
verifying whether the counterexample projected on the first model comprises a real error trace in the first model;
based on the counterexample being a real error trace, signaling that the hardware/software co-design violates the safety property; and
based on the counterexample not being a real error trace, refining the abstraction of the first model to eliminate the error trace.

US Pat. No. 10,169,493

METHOD FOR MANIPULATING A COMPUTER AIDED DESIGN (CAD) MODEL, COMPUTER PROGRAM PRODUCT AND SERVER THEREFORE

Bricsys NV, Ghent (BE)

1. A method for manipulating a computer aided design (CAD) model, comprising the computer-implemented steps of:a) determining one or more entities in a CAD model that are associated with a cursor controlled by a user;
b) determining a set of one or more adequate user actions to execute on said one or more entities;
c) providing a suggestion menu comprising said set of one or more adequate user actions;
characterized in, that said set of one or more adequate user actions is partly determined by previously executed user actions by said user, wherein each one of the previously executed user actions is a CAD action previously executed on said one or more entities in the CAD model.

US Pat. No. 10,169,492

FIBER PLACEMENT OPTIMIZATION FOR STEERED-FIBER PLIES

The Boeing Company, Chic...

1. A method, performed by a computer system, for determining optimum tow cut locations for steered-fiber placement, said method comprising:(a) generating stream function data with a multiplicity of corresponding stream lines;
(b) generating course pair data representing successive pairs of neighboring courses having centerlines corresponding to the stream lines representing the stream function data generated in operation (a) such that there is no gap between the neighboring courses; and
for each pair of neighboring courses:
(c) determining potential tow cut locations where any uncut tow from one of the pair of neighboring courses will potentially overlap with any uncut tow from the other of the pair of neighboring courses in dependence on a set of allowable coverage parameter values,
(d) generating geometry data for each potential tow cut location, and
(e) selecting which tows of the pair of neighboring courses should be cut or added at which tow cut locations selected from the potential tow cut locations determined in operation (c) and in which direction the courses should be laid down, wherein the tows selected for cutting at the selected tow cut locations and the selected direction for course laydown minimize a penalty function taking a plurality of constraints into account;
(f) generating machine code for controlling a fiber placement machine to cut the tows selected for cutting in operation (e) and lay down the courses in the direction selected in operation (e);
(g) storing the machine code generated in operation (f) on a computer-readable medium; and
(h) operating a computer numerical control tow placement machine in accordance with the machine code stored on said computer-readable medium,
wherein said plurality of constraints comprise a maximum thickness build-up, a minimum turning radius for a centerline of each neighboring course, a coverage parameter which determines where tows will be terminated and restarted with respect to a boundary, a minimum cut length for each tow, and a maximum number of tow cuts within an overlap area, and
wherein operation (e) further comprises generating a list of segment variables for each tow, indicating whether it is active or inactive, and generating a list of cut variables, indicating whether a tow is cut or added at a potential tow cut location or if the status is unchanged.

US Pat. No. 10,169,491

QUERY SERVICING WITH ACCESS PATH SECURITY IN A RELATIONAL DATABASE MANAGEMENT SYSTEM

International Business Ma...

1. A method for servicing a data query with access path security in a relational database management system (RDBMS) within a computer system that comprises a processor, said method comprising:said processor configuring access path security corresponding to a user originating the data query requesting data stored in the RDBMS pursuant to a configuration query associated with the user;
after said configuring the access path security, said processor receiving the data query from the user,
wherein the RDBMS operates in a computer system, said RDBMS comprising a database, said database comprising at least one table, a table of said at least one table comprising at least one record, a record of said at least one record comprising at least one field, a field of said at least one field having a name of the field and a value stored in the field, wherein the table comprises an index field that uniquely identifies each record of the table, wherein the database searches the record faster when using the index field than when a non-index field of the table in searching for the record within the table,
wherein the data query requests a value stored in a result field by specifying the result field and a result table of said at least one table, wherein the result field is within a result record of the result table,
wherein the configuration query specifies a usable index field associated with the result table enabling the user to access the result table by use of the usable index field,
wherein the access path security is selected from a group consisting of access-by-key and access-by-scan,
wherein the access-by-key access path security mandates the user to provide a search key in the data query in searching the result table, wherein the search key comprises a name and a value, the name of the search key being identical to the usable index field specified in the configuration query associated with the user such that the access-by-key access path security enables users to search the result table only when the users specify the usable index field in the data query, and
wherein the access-by-scan access path security enables the user to scan all fields in any record of the result table pursuant to a search condition of the data query.

US Pat. No. 10,169,490

QUERY DISAMBIGUATION IN A QUESTION-ANSWERING ENVIRONMENT

International Business Ma...

1. A computer-implemented method of query disambiguation in a question-answering environment, the method comprising:identifying, using a first natural language processing technique, a first set of word clusters in a first candidate answer of a plurality of candidate answers generated in response to a first input query for a question-answering system, the first set of word clusters including a first word cluster, each of the first set of word clusters classified according to a semantic term of a first set of semantic terms and a syntactic element of a first set of syntactic elements, wherein one or more syntactic elements of the first set of syntactic elements are a first set of parts of speech and the identification of the first set of word clusters includes tagging the first set of semantic terms and the first set of syntactic elements;
identifying, using the first natural language processing technique, in the first input query, a second set of word clusters, each of the second set of word clusters classified according to a semantic term of a second set of semantic terms and a syntactic element of a second set of syntactic elements, wherein one or more syntactic elements of the second set of syntactic elements are a second set of parts of speech and the identification of the second set of word clusters includes tagging the second set of semantic terms and the second set of syntactic elements;
determining, by comparing the first and second sets of semantic terms and the first and second set of syntactic elements, respectively, that the first word cluster is classified according to a first semantic term and a first syntactic element that is not present in the second set of semantic terms and the second set of syntactic elements, respectively;
determining, using a second natural language processing technique, a set of domains from the first set of word clusters, each of the set of domains corresponding to a topic, and wherein at least one domain of the set of domains is an ontological domain;
determining a number of domains in the set of domains;
determining an amalgamated confidence value for the first candidate answer; and
wherein the determining that the first word cluster is classified according to a syntactic element not present in the second set of syntactic elements, and generating the clarification query in response to determining that the amalgamated confidence value achieves a first ambiguity criterion and the number of domains achieves a second ambiguity criterion, wherein the second ambiguity criterion is based on at least a ratio of the number of domains to the number of candidate answers in the plurality of candidate answers; and
generating, using a third natural language processing technique, a user-display clarification query using the first input query and the first word cluster; and
providing, using a display, the user input query to a user that provided the first input query.

US Pat. No. 10,169,489

QUERY DISAMBIGUATION IN A QUESTION-ANSWERING ENVIRONMENT

International Business Ma...

1. A system for query disambiguation in a question-answering environment, the system comprising:a processor; and
a computer readable storage medium having program instructions embodied therewith, the program instructions executable by the processor to cause the system to:
identify, using a first natural language processing technique, a first set of word clusters in a first candidate answer of a plurality of candidate answers generated in response to a first input query for a question-answering system, the first set of word clusters including a first word cluster, each of the first set of word clusters classified according to a semantic term of a first set of semantic terms and a syntactic element of a first set of syntactic elements, wherein one or more syntactic elements of the first set of syntactic elements are a first set of parts of speech and the identification of the first set of word clusters includes tagging the first set of semantic terms and the first set of syntactic elements;
identify, using the first natural language processing technique, in the first input query, a second set of word clusters, each of the second set of word clusters classified according to a semantic term of a second set of semantic terms and a syntactic element of a second set of syntactic elements, wherein one or more syntactic elements of the second set of syntactic elements are a second set of parts of speech and the identification of the second set of word clusters includes tagging the second set of semantic terms and the second set of syntactic elements;
determine, by comparing the first and second sets of semantic terms and the first and second set of syntactic elements, respectively, that the first word cluster is classified according to a first semantic term and a first syntactic element that is not present in the second set of semantic terms and the second set of syntactic elements, respectively;
determine, using a second natural language processing technique, a set of domains from the first set of word clusters, each of the set of domains corresponding to a topic, and wherein at least one domain of the set of domains is an ontological domain;
determine a number of domains in the set of domains;
determine an amalgamated confidence value for the first candidate answer; and
wherein the program instructions cause the system to determine that the first word cluster is classified according to a syntactic element not present in the second set of syntactic elements and generate the clarification query in response to program instructions that further cause the system to determine that the amalgamated confidence value achieves a first ambiguity criterion and the number of domains achieves a second ambiguity criterion, wherein the second ambiguity criterion is based on at least a ratio of the number of domains to the number of candidate answers in the plurality of candidate answers; and
generate, using a third natural language processing technique, a user-display clarification query using the first input query and the first word cluster.

US Pat. No. 10,169,487

GRAPH DATA REPRESENTATION AND PRE-PROCESSING FOR EFFICIENT PARALLEL SEARCH TREE TRAVERSAL

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for clique enumeration of graph data, the method comprising:receiving, using a processor system, data representing a graph comprising a plurality of nodes and a plurality of edgesI connecting at least some of the nodes;
generating, using the processor system at least one adjacency list specifying nodes that are neighbors of a node based on the received data representing the graph, wherein the at least on adjacency list is generated by:
generating for a node, a set of nodes including the node and all neighboring nodes;
generating an ordering of the set of nodes including the node and all neighboring nodes by performing a lexicographic breadth-first search on the data representing the graph by selecting neighbors of nodes that have already been selected; and
reordering nodes in the at least one adjacency list based on the generated ordering of the set of nodes; and
generating, based on the at least one adjacency list, at least one maximal clique, wherein the at least one maximal clique specifies at least one set of nodes in which every node is connected to every other node and to which no additional node can be added with every node still being connected to every other node.

US Pat. No. 10,169,486

BUILDING MANAGEMENT SYSTEM WITH TIMESERIES PROCESSING

Johnson Controls Technolo...

1. A building management system comprising:building equipment that provide raw data samples of one or more data points in the building management system, the building equipment comprising one or more physical devices that operate to monitor or control a physical building condition, the physical devices comprising at least one of a sensor, an air handling unit, a heater, a chiller, a boiler, a pump, a valve, a fan, an actuator, or a controller;
a processing system comprising one or more processors and one or more memories having instructions stored thereon that, when executed by the one or more processors, cause the processing system to operate as a data collector, a timeseries processing engine, a control application, and a timeseries storage interface;
the data collector operates to collect the raw data samples from the building equipment and generate one or more raw data timeseries comprising a plurality of the raw data samples, each of the raw data samples comprising a timestamp and a data value;
the timeseries processing engine operates to:
identify an initial timeseries processing workflow that applies to the raw data timeseries, the initial timeseries processing workflow being stored in a timeseries processing workflow database, and retrieve the initial timeseries processing workflow from the timeseries processing workflow database, the initial timeseries processing workflow comprising a predefined sequence of timeseries processing operations;
identify one or more other data timeseries required as inputs to the initial timeseries processing workflow;
generate an enriched timeseries processing workflow comprising the initial timeseries processing workflow, the raw data timeseries, and the other data timeseries; and
execute the enriched timeseries processing workflow to generate one or more derived data timeseries from the raw data timeseries and the one or more other data timeseries;
the timeseries storage interface operates to store the raw data timeseries and the derived data timeseries in a timeseries database; and
the control application operates to:
generate a control signal for the building equipment based at least in part on the derived data timeseries stored in the timeseries database; and
control the physical building condition by operating the building equipment based on the control signal.

US Pat. No. 10,169,485

DYNAMIC PARTITIONING OF GRAPH DATABASES BASED ON EDGE SAMPLING

International Business Ma...

1. A computer-implemented method comprising:identifying, by one or more processors, a graph database partitioned across multiple computers in a clustered computing environment, wherein the graph database includes, as data structures for storing data in the database, a set of graph database edges and a set of graph database vertices, and wherein each vertex of the set of graph database vertices is associated with one or more edges of the set of graph database edges;
determining, by one or more processors, an edge traversal value for one or more edges of the set of graph database edges, wherein the edge traversal value for a respective edge relates to a number of times that the respective edge is traversed in response to one or more queries of the graph database, and wherein the edge traversal value for a respective edge resets when the respective edge reaches a certain age;
calculating, by one or more processors, a first vertex score for a first vertex on a first graph partition on a first computer, based, at least in part, on the edge traversal value(s) for one or more interpartition edges associated with the first vertex and not on the edge traversal value(s) for intrapartition edges; and
responsive to determining that the first vertex score is above a predetermined threshold, migrating, by one or more processors, the first vertex to a second graph partition on a second computer.

US Pat. No. 10,169,483

VALIDATION OF SCHEMA AND SCHEMA CONFORMANCE VERIFICATION

INTERNATIONAL BUSINESS MA...

1. A method comprising:receiving a schema as an input;
for at least one element in the schema:
parsing the element from the schema;
validating the parsed element by comparing the parsed element to a node within a first schema parse tree;
generating, using a processor, a parse tree node for the parsed element, the parse tree node configured to call at least one validation rule, external to a second schema parse tree, which validates an element of a document corresponding to the parse tree node; and
adding the parse tree node to the second schema parse tree; and
outputting the second schema parse tree.

US Pat. No. 10,169,482

SPATIALLY-ORIENTED TRAVERSAL ANIMATIONS FOR NETWORK ADDRESS TRANSITIONS

International Business Ma...

1. A method comprising:receiving a destination Internet address for a destination web page into a graphical web browser that is displaying a current web page having a current Internet address on an electronic display device;
determining, via electronic analysis of the destination Internet address and the current Internet address by a computer processor, a relationship between the destination Internet address and the current Internet address within an Internet domain, wherein the determining the relationship includes determining the relationship is one of a drill-down relationship within a hierarchy of the Internet domain, a back-out relationship within the hierarchy of the Internet domain, or a same-level relationship within the hierarchy of the Internet domain;
determining, by the computer processor, a spatially-oriented traversal animation based on the relationship between the destination Internet address and the current Internet address, wherein the spatially-oriented traversal animation is from a plurality of different types of animations associated with different hierarchical relationships between Internet pages within the Internet domain, wherein the determining includes selecting a corresponding one of the plurality of different types of animations associated with the one of the drill-down relationship, the back-out relationship, or the same-level relationship;
animating bringing the destination web page onto the electronic display device using the spatially-oriented traversal animation; and
displaying the destination web page after the spatially-oriented traversal animation.

US Pat. No. 10,169,481

METHOD FOR INTELLIGENT WEB REFERENCE PRELOADING BASED ON USER BEHAVIOR PREDICTION

ADOBE SYSTEMS INCORPORATE...

1. A non-transitory computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:identifying one or more links in a document object model of a document corresponding to a current page provided via a browser;
creating an index containing the one or more links, the index including coordinates of the one or more links and predefined trigger area coordinates of an individual trigger area for each of the one or more links, wherein each trigger area is a predefined area around a corresponding link from the one or more links;
detecting a user interaction, the user interaction corresponding to movement of a cursor within a first trigger area, the first trigger area associated with a first link of the one or more links, the user interaction occurring before selection of the first link associated with the first trigger area; and
upon detecting the user interaction within the first trigger area, disabling standard click behavior for the first link.

US Pat. No. 10,169,479

INTERNET-BASED PROXY SERVICE TO LIMIT INTERNET VISITOR CONNECTION SPEED

CLOUDFLARE, INC., San Fr...

1. A method in a proxy server for limiting Internet connection speed of visitors that pose a threat, comprising:receiving, from a client device, a request to perform an action on an identified resource that is hosted at an origin server for a domain as a result of a DNS (Domain Name System) request for the domain returning an IP address of the proxy server instead of an IP address of the origin server, wherein the origin server is one of a plurality of origin servers that belong to different domains that resolve to the proxy server and are owned by different entities;
analyzing the request to determine whether a visitor belonging to the request poses a threat; and
responsive to a determination that the visitor belonging to the request poses a threat, reducing the speed at which the proxy server processes the request while keeping a connection to the client device open.

US Pat. No. 10,169,478

OPTIMIZE DATA EXCHANGE FOR MVC-BASED WEB APPLICATIONS

International Business Ma...

1. A method for reducing network traffic when updating a web page, the method comprising the steps of:receiving, by a first computer, a Hypertext Transfer Protocol (HTTP) request for an update for a webpage from a second computer;
determining, by the first computer, a portion of the webpage has changed;
determining, by the first computer, that an amount of data to be transmitted to update the portion of the webpage that has changed is smaller in size than an amount of data to be transmitted to update the entire webpage;
responsive to determining the amount of data to update the portion of the webpage that has changed is smaller than the amount of data to update the entire webpage, transmitting, by the first computer, to the second computer the amount of Hypertext Markup language (HTML) data to update the portion of the webpage that has changed wherein the portion of the webpage that has changed is identified based on a server framework mapping one or more unique runtime identifiers associated with one or more input HTML tags to an application definition identifier; and
responsive to determining the amount of data to update the entire webpage is smaller than the amount of data to update the portion of the webpage that has changed, transmitting, by the first computer, to the second computer the amount of HTML data to update the entire webpage.

US Pat. No. 10,169,477

METHOD AND SYSTEM FOR RENDERING A WEB PAGE FREE OF INAPPROPRIATE URLS

SAMSUNG ELECTRONICS CO., ...

1. A method for disabling inappropriate Universal Resource Locators (URLs) in a web page, the method comprising:loading the web page;
parsing the web page to obtain at least one URL present in the web page;
preloading the obtained URL comprises fetching at least one of metadata information and web page content corresponding to the obtained URL,
wherein the preloading the obtained URL comprises preloading each URL identified in the web page into a secondary page viewer that is running in background;
identifying whether the obtained URL comprises inappropriate content based on the at least one of the metadata information and the web page content of the obtained URL;
based on identifying that the obtained URL comprises the inappropriate content, modifying the web page by disabling the obtained URL; and
rendering the modified web page,
wherein the disabling comprises disabling the obtained URL by replacing information identifying the obtained URL with at least one from among a text, an image and a dummy URL.

US Pat. No. 10,169,476

METHOD, APPARATUS, AND COMPUTER-READABLE STORAGE MEDIUM FOR GROUPING SOCIAL NETWORK NODES

TENCENT TECHNOLOGY (SHENZ...

1. A method for recommending friends to a user of a social networking group, performed by a computing device, comprising:obtaining user identifiers of members of the social networking group;
dividing the members of the social networking group into a first set of members that have a direct relationship with the user and a second set of members that have no direct relationship with the user;
for each of the user identifiers of the social networking group:
determining a total number of members within the first set of members whose relationship with a corresponding member satisfy at least one of a set of predefined conditions including:
the corresponding member being a member of the first set of members;
the corresponding member having the direct relationship with a member of the first set of members; and
when the corresponding member has the direct relationship with a predetermined number of members of the second set of members and the predetermined number of members of the second set of members have the direct relationship with a member of the first set of members, the corresponding member having the relationship with a member of the first set of members;
dividing the total number of members within the first set of members whose relationship with the corresponding member satisfy at least one of the set of predefined conditions by a total number of members within the first set of members as a relevance degree between the corresponding member and the other members of the social networking group;
displaying the user identifiers of the members in the social networking group according to their respective calculated relevance degrees, wherein at least one member in the second set of members has a relevance degree higher than that of at least one member in the first set of members;
receiving a user selection of the user identifier of the at least one member in the second set of members; and
establishing a direct relationship between the user and the at least one member in the second set of members.

US Pat. No. 10,169,475

PATTERN FOR NAVIGATING CONTENT IN A PORTAL

International Business Ma...

3. A portal application system comprising:a processor configured to implement:
a navigation portlet provided for a portal; and
a content viewer portlet provided for the portal, wherein said navigation portlet and said content viewer portlet each comprises a model component, a view component and a controller component, and wherein the view component of the navigation portlet displays category information obtained by the model component of the navigation portlet from a content management system to form displayed category information, wherein the category information is a classification assigned to a content item that indicates a higher level grouping to which the content item belongs, and the view component of the content viewer portlet displays content information obtained by the model component of the content viewer portlet from the content management system to form displayed content information, wherein the content information is information that includes content items associated with a specific category of the category information;
wherein the controller component of the navigation portlet is operable to update the displayed category information in the navigation portlet, and is further operable to send an update message to the controller component of the content viewer portlet, in order to update the displayed content information in the content viewer portlet, in response to a user action selecting a category from displayed category information in the navigation portlet;
wherein the view component of the content viewer portlet is operable to update the displayed content information in the content viewer portlet, in response to controller component of the content viewer portlet receiving the update message from the controller component of the navigation portlet;
wherein the controller component of the content viewer portlet is operable to update the displayed content information in the content viewer portlet, and is further operable to send another update message to the controller component of the navigation portlet, in order to update the displayed category information in the navigation portlet, in response to a user action selecting content from displayed content information in the content viewer portlet;
wherein the view component of the navigation portlet is operable to update the displayed category information in the navigation portlet, in response to controller component of the navigation portlet receiving the another update message from the controller component of the content viewer portlet;
wherein operating the controller component of the navigation portlet to update the display category information in the navigation portlet comprises sending, by the controller component of the navigation portlet, a request to the model component of the navigation portlet to obtain additional category information from the content management system that is coupled to both the navigation portlet and the content viewer portlet; and
wherein operating the controller component of the content viewer portlet to update the display content information in the content viewer portlet comprises sending, by the controller component of the content viewer portlet, a request to the model component of the content viewer portlet to obtain additional content information from the content management system.

US Pat. No. 10,169,474

MOBILE APPLICATION DISCOVERY USING AN ELECTRONIC MAP

International Business Ma...

1. A method for mobile application usage detection, the method comprising:detecting, by one or more computer processors, mobile application usage data of one or more computing devices in a first geographic area during a first time period;
displaying, by the one or more computer processors, the mobile application usage data on an electronic map, wherein the electronic map depicts at least the first geographic area;
receiving, by the one or more computer processors, an additional time period, wherein the additional time period is a future time period;
retrieving, by the one or more computer processors, mobile application usage data of one or more computing devices corresponding to one or more geographic areas included in the electronic map and to a past time period associated with the one or more geographic areas;
determining, by the one or more computer processors, based, at least in part, on the retrieved mobile application usage data, historical trends of mobile application usage;
predicting, by the one or more computer processors, based, at least in part, on the historical trends, mobile application usage data for the future time period by forecasting the historical trends into the future time period;
overlaying, by the one or more computer processors, on the first geographic area depicted by the electronic map, one or more mobile application icons associated with the detected mobile application usage data in one or more locations corresponding to the detected mobile application usage data;
receiving, by the one or more computer processors, a selection of one or more overlaid mobile application icons; and
responsive to receiving the selection of one or more overlaid mobile application icons, overlaying, by the one or more computer processors, on the electronic map, a boundary line that surrounds an area in which one or more mobile applications represented by the selected one or more overlaid mobile application icons are commonly used.

US Pat. No. 10,169,473

PACKAGED SEARCHING SYSTEM AND METHOD

Hyundai Motor Company, S...

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

US Pat. No. 10,169,471

GENERATING AND EXECUTING QUERY LANGUAGE STATEMENTS FROM NATURAL LANGUAGE

International Business Ma...

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

US Pat. No. 10,169,470

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

Rovi Guides, Inc., San J...

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

US Pat. No. 10,169,468

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

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

US Pat. No. 10,169,467

QUERY FORMULATION VIA TASK CONTINUUM

Microsoft Technology Lice...

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

US Pat. No. 10,169,466

PERSONA-BASED CONVERSATION

International Business Ma...

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

US Pat. No. 10,169,465

DYNAMIC RUNTIME ENVIRONMENT CONFIGURATION FOR QUERY APPLICATIONS

International Business Ma...

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

US Pat. No. 10,169,464

SYSTEM AND METHOD FOR A BIDIRECTIONAL SEARCH ENGINE AND ITS APPLICATIONS

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

US Pat. No. 10,169,463

DATA INGEST OPTIMIZATION

International Business Ma...

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

US Pat. No. 10,169,462

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

International Business Ma...

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

US Pat. No. 10,169,461

ANALYSIS OF DATA UTILIZATION

International Business Ma...

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

US Pat. No. 10,169,460

CLIENT APPLICATION FINGERPRINTING BASED ON ANALYSIS OF CLIENT REQUESTS

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

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

US Pat. No. 10,169,459

INTELLIGENT COLLECTING AND SHARING METHOD AND MOBILE TERMINAL

HUIZHOU TCL MOBILE COMMUN...

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

US Pat. No. 10,169,457

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

MICROSOFT TECHNOLOGY LICE...

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

US Pat. No. 10,169,456

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

International Business Ma...

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

US Pat. No. 10,169,454

UNSUPERVISED ONTOLOGY-BASED GRAPH EXTRACTION FROM TEXTS

XEROX CORPORATION, Norwa...

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

US Pat. No. 10,169,453

AUTOMATIC DOCUMENT SUMMARIZATION USING SEARCH ENGINE INTELLIGENCE

Microsoft Technology Lice...

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

US Pat. No. 10,169,452

NATURAL LANGUAGE INTERPRETATION OF HIERARCHICAL DATA

International Business Ma...

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

US Pat. No. 10,169,451

RAPID CHARACTER SUBSTRING SEARCHING

International Business Ma...

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

US Pat. No. 10,169,450

ENHANCED ANSWERS IN DEEPQA SYSTEM ACCORDING TO USER PREFERENCES

International Business Ma...

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

US Pat. No. 10,169,449

METHOD, APPARATUS, AND SERVER FOR ACQUIRING RECOMMENDED TOPIC

TENCENT TECHNOLOGY (SHENZ...

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

US Pat. No. 10,169,447

SYSTEM AND METHOD OF MESSAGE THREADING FOR A MULTI-FORMAT, MULTI-PROTOCOL COMMUNICATION SYSTEM

Entefy Inc., Campbell, C...

1. A non-transitory computer readable medium comprising computer executable instructions stored thereon to cause one or more processing units to:obtain a first plurality of messages for a first user, wherein the first plurality of messages comprises:
one or more messages in each of a first plurality of formats; and
one or more messages sent or received via each of a first plurality of protocols; and
create one or more associations between one or more of the first plurality of messages, wherein creating the one or more associations comprises:
performing a predictive semantic analysis on the first plurality of messages, wherein performing the predictive semantic analysis comprises:
generating a predictive tag cloud based on at least one word in a first one of the first plurality of messages, wherein the predictive tag cloud comprises a plurality of words predicted to be related to the at least one word; and
creating one or more clusters of messages from the first plurality of messages, wherein creating the one or more clusters of messages comprises:
associating the first one of the first plurality of messages with at least a second one of the first plurality of messages based, at least in part, on the second one of the first plurality of messages containing at least one word from the generated predictive tag cloud,
wherein at least one of the one or more associations is between messages sent or received via two or more different protocols from among the first plurality of protocols, and
wherein at least one of the one or more associations is between messages in two or more different formats from among the first plurality of formats.

US Pat. No. 10,169,446

RELATIONAL MODELER AND RENDERER FOR NON-RELATIONAL DATA

Amazon Technologies, Inc....

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

US Pat. No. 10,169,445

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

The Board of Trustees of ...

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

US Pat. No. 10,169,444

AUTOMATED GENERATION OF CUSTOM DASHBOARDS FOR VIEWING APPLICATION PERFORMANCE DATA

International Business Ma...

1. A method, comprising:correlating end user response time monitoring data from an end user response time monitoring system to an infrastructure ownership database;
correlating the infrastructure ownership database to an organizational structure, using a unique identifier available in both the infrastructure ownership database and the organizational structure; and
automatically creating, on a display device, a custom dashboard for a user logging into the end user response time monitoring system based on correlations resulting from said correlating steps, wherein the custom dashboard shows application performance data for applications relevant to the user based on the hierarchical level of the user in the organizational structure.

US Pat. No. 10,169,443

AUTOMATIC LOG SENSOR TUNING

International Business Ma...

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

US Pat. No. 10,169,441

SYNCHRONOUS DATA REPLICATION IN A CONTENT MANAGEMENT SYSTEM

International Business Ma...

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

US Pat. No. 10,169,440

SYNCHRONOUS DATA REPLICATION IN A CONTENT MANAGEMENT SYSTEM

International Business Ma...

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

US Pat. No. 10,169,439

MULTI-SOURCE ASYNCHRONOUS TABLE REPLICATION

SAP SE, Walldorf (DE)

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

US Pat. No. 10,169,438

DETERMINING COMMON TABLE DEFINITIONS IN DISTRIBUTED DATABASES

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,437

TRIPLESTORE REPLICATOR

International Business Ma...

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

US Pat. No. 10,169,436

DATA STANDARDIZATION AND VALIDATION ACROSS DIFFERENT DATA SYSTEMS

International Business Ma...

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

US Pat. No. 10,169,435

CONTENT TRANSFER

SEMANTIC TECHNOLOGIES PTY...

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

US Pat. No. 10,169,434

TOKENIZED HTTP EVENT COLLECTOR

Splunk Inc., San Francis...

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

US Pat. No. 10,169,433

SYSTEMS AND METHODS FOR AN SQL-DRIVEN DISTRIBUTED OPERATING SYSTEM

Microsoft Technology Lice...

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

US Pat. No. 10,169,432

CONTEXT-BASED SEARCH AND RELEVANCY GENERATION

Microsoft Technology Lice...

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

US Pat. No. 10,169,431

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

Apple Inc., Cupertino, C...

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

US Pat. No. 10,169,429

DATA CACHING IN HYBRID DATA PROCESSING AND INTEGRATION ENVIRONMENT

International Business Ma...

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

US Pat. No. 10,169,428

MINING PROCEDURE DIALOGS FROM SOURCE CONTENT

International Business Ma...

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

US Pat. No. 10,169,427

PERSONALIZED HIGHLIGHTER FOR TEXTUAL MEDIA

International Business Ma...

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

US Pat. No. 10,169,426

FAST IDENTIFICATION OF COMPLEX STRINGS IN A DATA STREAM

TREND MICRO INCORPORATED,...

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

US Pat. No. 10,169,425

FAST IDENTIFICATION OF COMPLEX STRINGS IN A DATA STREAM

TREND MICRO INCORPORATED,...

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

US Pat. No. 10,169,424

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

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

US Pat. No. 10,169,423

RANKING ANSWERS IN GROUND TRUTH OF A QUESTION-ANSWERING SYSTEM

International Business Ma...

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

US Pat. No. 10,169,422

METHOD AND DEVICE FOR DISPLAYING PROCESS INFORMATION

TENCENT TECHNOLOGY (SHENZ...

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

US Pat. No. 10,169,420

TABLE PARTITIONING AND STORAGE IN A DATABASE

International Business Ma...

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

US Pat. No. 10,169,419

SYSTEM AND METHOD FOR GENERATING SOCIAL SUMMARIES

Microsoft Technology Lice...

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

US Pat. No. 10,169,418

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

International Business Ma...

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

US Pat. No. 10,169,417

DETECTING LOGICAL RELATIONSHIPS BASED ON STRUCTURED QUERY STATEMENTS

International Business Ma...

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

US Pat. No. 10,169,416

DETECTING LOGICAL RELATIONSHIPS BASED ON STRUCTURED QUERY STATEMENTS

International Business Ma...

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

US Pat. No. 10,169,414

CHARACTER MATCHING IN TEXT PROCESSING

International Business Ma...

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

US Pat. No. 10,169,413

SCALABLE ACCELERATION OF DATABASE QUERY OPERATIONS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,412

SELECTIVITY ESTIMATION FOR QUERY EXECUTION PLANNING IN A DATABASE

International Business Ma...

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

US Pat. No. 10,169,411

FORECASTING QUERY ACCESS PLAN OBSOLESCENCE

International Business Ma...

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

US Pat. No. 10,169,410

MERGE OF STACKED CALCULATION VIEWS WITH HIGHER LEVEL PROGRAMMING LANGUAGE LOGIC

SAP SE, Walldorf (DE)

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

US Pat. No. 10,169,409

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

International Business Ma...

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

US Pat. No. 10,169,408

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

The Travelers Indemnity C...

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

US Pat. No. 10,169,407

METHOD FOR THE EFFICIENT ANALYSIS OF PROCESS DATA

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

US Pat. No. 10,169,406

MANAGING SPARSITY IN AN MULTIDIMENSIONAL DATA STRUCTURE

International Business Ma...

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

US Pat. No. 10,169,405

DATA MODEL SELECTION AND APPLICATION BASED ON DATA SOURCES

SPLUNK INC., San Francis...

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

US Pat. No. 10,169,404

AUTOMATICALLY AGGREGATING DATA IN DATABASE TABLES

International Business Ma...

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

US Pat. No. 10,169,403

GEOGRAPHIC SPACE MANAGEMENT

International Business Ma...

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

US Pat. No. 10,169,402

GEOGRAPHIC SPACE MANAGEMENT

International Business Ma...

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

US Pat. No. 10,169,400

GEOGRAPHIC SPACE MANAGEMENT

International Business Ma...

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

US Pat. No. 10,169,399

FLEXIBLE PROFILE GROUPING DOWNLOAD

TELEFONAKTIEBOLAGET L M E...

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

US Pat. No. 10,169,398

IDENTIFYING CORRUPTED TEXT SEGMENTS

International Business Ma...

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

US Pat. No. 10,169,397

SYSTEMS AND METHODS FOR REMOTE CORRECTION OF INVALID CONTACT FILE SYNTAX

Synchronoss Technologies,...

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

US Pat. No. 10,169,395

DATABASE IDENTIFIER GENERATION IN TRANSACTION PROCESSING SYSTEMS

International Business Ma...

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

US Pat. No. 10,169,394

MANAGING DATA SETS OF A STORAGE SYSTEM

International Business Ma...

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

US Pat. No. 10,169,393

TRACKING CHANGES AMONG SIMILAR DOCUMENTS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,392

PERSISTENT DATA STRUCTURES ON A DISPERSED STORAGE NETWORK MEMORY

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,391

INDEX MANAGEMENT

International Business Ma...

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

US Pat. No. 10,169,389

METADATA DRIVEN REPORTING AND EDITING OF DATABASES

Microsoft Technology Lice...

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

US Pat. No. 10,169,387

SELF-BALANCING TREE DATA STRUCTURE COMPRESSION

EMC IP Holding Company LL...

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

US Pat. No. 10,169,386

DEVICES AND METHODS FOR PROCESSING NETWORK NODES

TENCENT TECHNOLOGY (SHENZ...

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

US Pat. No. 10,169,385

MANAGING REPLICATED DATA

International Business Ma...

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

US Pat. No. 10,169,384

AUGMENTED REALITY MODEL COMPARISON AND DEVIATION DETECTION

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,383

METHOD AND SYSTEM FOR SCRUBBING DATA WITHIN A DATA STORAGE SUBSYSTEM

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,382

KEYWORD IDENTIFICATION FOR AN ENTERPRISE RESOURCE PLANNING MANAGER

International Business Ma...

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

US Pat. No. 10,169,381

DATABASE RECOVERY BY CONTAINER

ENTIT SOFTWARE LLC, Sunn...

1. A method comprising:identifying a buddy database projection that is a copy of a recovering database projection of a database, wherein the recovering database projection is stored on a recovering node of a database system and the buddy database projection is stored on a source node of the database system, the buddy database projection and the recovering database projection each providing a first view of a first database table;
identifying, based on the identified buddy database projection, a source container on the source node of the database system, the source container containing data of the identified buddy database projection; and
in response to a determination that a range of epochs of the identified source container includes an epoch for which data is to be recovered to the recovering database projection from the buddy database projection, direct copying the identified source container on the source node to the recovering node.

US Pat. No. 10,169,380

UNIVERSAL DATABASE IMPORT PLATFORM

Sprint Communications Com...

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

US Pat. No. 10,169,379

DATABASE COMPARISON SYSTEM

International Business Ma...

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

US Pat. No. 10,169,378

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

ORACLE INTERNATIONAL CORP...

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

US Pat. No. 10,169,377

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

International Business Ma...

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

US Pat. No. 10,169,376

SYSTEM AND METHOD OF HIERARCHICAL DATA CONTAINERS

EMC Corporation, Hopkint...

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

US Pat. No. 10,169,374

IMAGE SEARCHES USING IMAGE FRAME CONTEXT

ADOBE SYSTEMS INCORPORATE...

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

US Pat. No. 10,169,373

RETROREFLECTIVE OBJECT TAGGING

SUGARCRM INC., Cupertino...

1. A method for retroreflective tagging of objects in a data processing system, the method comprising:monitoring tagging of objects in memory of the data processing system;
detecting an application of a new tag to an existing one of the objects that differs from a previously applied tag of the existing one of the objects by applying a comparator function to the new tag and one or more existing tags of the one of the objects;
prompting in a display of the data processing system for a retroreflective tagging of the existing one of the objects with the new tag in which previously applied tags to all objects for which a new tag has been applied are replaced with the new tag;
applying the new tag to the existing one of the objects and also to others of the objects tagged that have been already tagged with the previously applied tag; and,
disregarding the previously applied tag in connection with the existing one of the objects and the others of the objects.

US Pat. No. 10,169,372

CONTROL FOR RAPIDLY EXPLORING RELATIONSHIPS IN DENSELY CONNECTED NETWORKS

International Business Ma...

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

US Pat. No. 10,169,371

SYSTEM AND METHOD FOR CREATING A PREFERENCE PROFILE FROM SHARED IMAGES

International Business Ma...

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

US Pat. No. 10,169,370

NAVIGATION DATABASE CUSTOMIZATION

HERE Global B.V., Eindho...

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

US Pat. No. 10,169,369

MEETING STORAGE REQUIREMENTS WITH LIMITED STORAGE RESOURCES

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,368

INDEXING OF LINKED DATA

International Business Ma...

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

US Pat. No. 10,169,367

MANAGING OPPORTUNISTIC LOCKS IN A DISTRIBUTED FILE SYSTEM

Panzura, Inc., Campbell,...

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

US Pat. No. 10,169,366

DEDUPLICATED FILE SYSTEM

Red Hat, Inc., Raleigh, ...

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

US Pat. No. 10,169,365

MULTIPLE DEDUPLICATION DOMAINS IN NETWORK STORAGE SYSTEM

Hewlett Packard Enterpris...

1. A method comprising:identifying, by a processor, a plurality of deduplication domains for a storage system;
creating, by the processor, a fingerprint index for each deduplication domain, wherein each data block stored in the storage system is associated with one of the plurality of deduplication domains;
receiving, by the processor, a first data block at the storage system;
identifying, by the processor, a first deduplication domain from the plurality of deduplication domains corresponding to the first data block;
deduplicating, by the processor, the first data block within the first deduplication domain based on a first fingerprint index associated with the first deduplication domain;
determining, by the processor, whether a size of a global fingerprint buffer exceeds a predetermined threshold, the global fingerprint buffer including space for storing fingerprint buffers of the deduplication domains; and
based on a determination that the size of the global fingerprint buffer exceeds the predetermined threshold, selecting, by the processor, a deduplication domain of the plurality of deduplication domains and updating the fingerprint index of the selected deduplication domain with fingerprint mappings stored in the fingerprint buffer of the selected deduplication domain.

US Pat. No. 10,169,364

GAUGING ACCURACY OF SAMPLING-BASED DISTINCT ELEMENT ESTIMATION

International Business Ma...

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

US Pat. No. 10,169,363

STORING DATA IN A DISTRIBUTED FILE SYSTEM

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,361

COLUMNAR DATABASE COMPRESSION

International Business Ma...

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

US Pat. No. 10,169,360

MIXING SOFTWARE BASED COMPRESSION REQUESTS WITH HARDWARE ACCELERATED REQUESTS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,169,359

DISTRIBUTION CONTENT-AWARE COMPRESSION AND DECOMPRESSION OF DATA

EMC IP Holding Company LL...

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

US Pat. No. 10,169,358

DATA DEDUPLICATION USING A SMALL HASH TABLE

International Business Ma...

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

US Pat. No. 10,169,357

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

INTERNATIONAL BUSINESS MA...

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