US Pat. No. 10,114,950

MOBILE APPLICATION MANAGEMENT

McAfee, LLC., Santa Clar...

1. At least one non-transitory machine readable storage medium having instructions stored thereon, the instructions when executed on at least one processor, cause the at least one processor to:analyze code of a particular application against a machine-readable semantic model of a software development kit of a particular platform based on a request to download the particular application, wherein the machine-readable semantic model associates a plurality of application behaviors with respective application programming interface (API) calls of the particular platform and analysis of the code of the particular application comprises:
parsing the code to identify a subset of the API calls capable of being made by the particular application; and
identifying, from the machine-readable semantic model, a set of application behaviors of the particular application corresponding to the subset of the API calls, wherein the set of application behaviors describes functionality of the particular application;
identify data describing a prior user selection of a subset of the plurality of application behaviors, wherein the prior user selection defines a set of undesired behaviors to be associated with a particular user profile;
determine that a particular one of the set of application behaviors is an undesired behavior based on the prior user selection, wherein the particular one of the set of application behaviors corresponds to a particular one of the subset of the API calls;
autonomously modify, by the at least one processor, code of the particular application based on the machine-readable semantic model to remediate the undesired behavior and generate a custom version of the particular application, wherein modifying the code comprises replacing code of the particular API with code of another API; and
provide the custom version of the particular application for download by a device associated with the particular user profile in lieu of an unmodified version of the particular application.

US Pat. No. 10,114,949

TECHNIQUES FOR MONITORING INTEGRITY OF OS SECURITY ROUTINE

McAfee, LLC, Santa Clara...

1. An apparatus to support secure processing comprising:a storage;
a hardware processor coupled to the storage and configured to:
execute an operating system (OS) in a first operating environment;
execute an OS security routine to recurringly verify an integrity of the OS;
execute a challenge routine in a second operating environment that is isolated from the first operating environment to recurringly challenge the OS security routine to provide a measure of the OS security routine; and
execute a response routine in the second operating environment to analyze each measure provided by the OS security routine and an elapsed time to receive each measure from the OS security routine to verify an integrity of the OS security routine;
a network interface coupled to the hardware processor; and
a security server,
wherein the response routine causes the hardware processor to receive a first measure from the OS security routine, to receive a first expected measure from the security server via the network interface, and to compare the first measure to the first expected measure to verify the integrity of the OS security routine, and
wherein the security server is configured to maintain a copy of the OS security routine and to measure the copy of the OS security routine to derive the first expected measure.

US Pat. No. 10,114,948

HYPERVISOR-BASED BUFFER OVERFLOW DETECTION AND PREVENTION

McAfee, LLC, Santa Clara...

1. A method for securing an electronic device, comprising:determining a memory page to be monitored;
determining portions of the memory page allocated for content for applications;
marking all remaining portions of the memory page as unallocated for content for applications and unwriteable other than by authorized functions of an operating system;
determining, at a level below the operating system, an attempt from the level of the operating system, the attempt to access unallocated portions of the memory page marked as unwriteable other than by authorized functions of the operating system;
determining whether the attempt originated from an authorized function of the operating system; and
in response to a determination that the attempt did not originate from an authorized function of the operating system, blocking the attempt,
wherein the remaining portions of the memory page include a size indicator of an allocation, the size indicator having been written to an unallocated portion of the memory page by an authorized function of the operating system,
wherein determining whether the attempt originated from an authorized function of the operating system includes determining whether the attempt originated from a deallocation function of the operating system,
wherein the portions of the memory page marked as unallocated for content for applications and unwriteable other than by authorized functions of the operating system include one or more portions of the memory between memory allocations.

US Pat. No. 10,114,947

SYSTEMS AND METHODS FOR LOGGING PROCESSES WITHIN CONTAINERS

Symantec Corporation, Mo...

1. A computer-implemented method for logging processes within containers, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:detecting creation of a new container that comprises a lightweight platform-independent filesystem capable of executing at least one process that is isolated from a host computing device that hosts the container;
launching, within the new container, a monitoring process that maintains a log of events associated with a process that will be executing within the new container;
recording to the log, by the monitoring process, data about at least one event associated with the process executing within the new container, wherein the at least one event is associated with evidence of potentially malicious activity that would otherwise be lost when the new container shuts down; and
exporting, by the monitoring process, the log to the host computing device that hosts the new container.

US Pat. No. 10,114,945

CLOCK ROLLBACK SECURITY

Citrix Systems, Inc., Fo...

1. A method comprising:recording, by a computing device, a first system time when an application becomes inactive;
recording, by the computing device, a second system time when the application subsequently becomes active;
determining whether the second system time is not more recent than the first system time; and
initiating a remedial action to restrict access to the application on the computing device when the second system time is not more recent than the first system time, and the first system time and the second system time differ by more than a predefined amount of time,
wherein the method will perform the recording steps, the determining step, and the initiating step for a first application on the computing device based on one or more rules defined in one or more policy files stored on the computing device while permitting a second application to execute at least without performing the initiating step even when the second system time is not more recent than the first system time, when the first system time and the second system time differ by more than the predefined amount of time, and when there is a temporal restriction on the second application that would otherwise restrict execution of the second application.

US Pat. No. 10,114,944

SYSTEMS AND METHODS FOR CLASSIFYING PERMISSIONS ON MOBILE DEVICES

Symantec Corporation, Mo...

1. A computer-implemented method for classifying permissions on mobile devices, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:detecting, by the at least one processor, that an application installed and executing on a mobile device is issuing a request, through an operating system of the mobile device, for one or more requested permissions to access one or more components of the mobile device that would otherwise be blocked by the operating system of the mobile device;
determining, by the at least one processor, an intended use of the application;
in response to detecting that the application is issuing the request, performing, by the at least one processor and through a security system distinct from the application and the operating system, an analysis of the request being issued by the application at least in part by determining whether the intended use of the application corresponds to an expected use of the one or more requested permissions; and
providing, by the at least one processor via a graphical user interface and prior to an end user of the mobile device granting the one or more requested permissions to the application, a result of the analysis to the end user of the mobile device that indicates a security implication that would be caused by the end user granting the one or more requested permissions to the application.

US Pat. No. 10,114,943

AUTOMATED PROCESS OF MANAGING AND CONTROLLING ACCOUNTS ON A REMOTE COMPUTER MACHINE

CyberArk Software Ltd., ...

11. A non-transitory computer readable medium including a set of instructions executable by a processor to perform operations for determining a credential management protocol for an account of a machine of a computer system via a remote network connection with the machine, the operations comprising:establishing a remote network connection with the machine;
running, via the remote network connection, a plurality of credential management process commands on the machine;
determining, for one or more of the plurality of credential management process commands, that a received response from the machine is consistent with an expected response based on the respective credential management process command;
for the received response from the machine that is determined to be consistent with an expected response, generating, according to the received response and the respective credential management process command, a credential management protocol state machine indicative of a process for managing a credential associated with the account of the machine, wherein the generating of the credential management protocol state machine is through an interactive process until enforcement of a password change for the account; and
automatically generating a second set of instructions based on the credential management protocol state machine to effect a credential management process for the account.

US Pat. No. 10,114,942

INTERACTIVE CAPTCHA

PAYPAL, INC., San Jose, ...

1. A system, comprising:a non-transitory memory; and
one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising:
receiving a request from a user device;
generating obfuscated instructions to be presented on the user device;
constructing a media object that contains a plurality of media components that interact with each other and create a solvable puzzle, wherein the solvable puzzle is culturally relevant to a determined country associated with the user device;
transmitting the media object and the obfuscated instructions to the user device for display;
transmitting media instructions on how to solve the solvable puzzle and a prompt to solve the solvable puzzle to the user device for display;
receiving a description of an action performed by a user on the user device in response to the prompt;
determining, based on the description of the action performed by the user, that the user is human; and
granting the request in response to determining that the user is human.

US Pat. No. 10,114,941

SYSTEMS AND METHODS FOR AUTHENTICATING FIRMWARE STORED ON AN INTEGRATED CIRCUIT

Altera Corporation, San ...

1. A method of authenticating stored data that is stored on an integrated circuit, the method comprising:sending, using computing equipment that is separate from the integrated circuit, a first copy of randomized data to a memory circuit on the integrated circuit, wherein the first copy of the randomized data occupies each address of the memory circuit that is unoccupied by the stored data;
generating, using a cryptographic circuit on the integrated circuit, a first digital signature by performing a cryptographic operation on a concatenation of the stored data and the first copy of the randomized data;
generating, using the computing equipment, a second digital signature by performing the cryptographic operation on a concatenation of a secure copy of the stored data and a second copy of the randomized data; and
determining, using the computing equipment, whether the first digital signature matches the second digital signature.

US Pat. No. 10,114,940

INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING APPARATUS, AND INFORMATION PROCESSING METHOD

Ricoh Company, Ltd., Tok...

1. An information processing system including at least one information processing apparatus, the information processing system comprising:a processor; and
a memory that stores program instructions that cause the processor to:
store, in a storage device, with respect to each application, application identification information identifying the application for executing a series of processes using electronic data in cooperation with an external service and information relating to the series of processes in association with each other,
receive from a connected device that is connected to the information processing system, a request including first authentication information acquired by the connected device from an authentication infrastructure, the application identification information, and information relating to designated electronic data that has been designated by a user at the connected device,
generate a first component based on the first authentication information, the application identification information, and the information relating to designated electronic data,
acquire second authentication information for using the external service via the generated first component, and
execute a process based on the information relating to the series of processes that is stored in the storage device in association with the application identification information included in the received request, the process being executed with respect to the designated electronic data that is identified based on the information relating to the designated electronic data included in the request, and using the acquired second authentication information to execute the process, wherein
upon receiving the second authentication information, the processor stores the acquired second authentication information as part of metadata associated with the designated electronic data.

US Pat. No. 10,114,939

SYSTEMS AND METHODS FOR SECURE COMMUNICATIONS BETWEEN DEVICES

Symantec Corporation, Mo...

1. A computer-implemented method for secure communications between devices, the steps of the method being performed by an intermediary computing device, comprising at least one processor, that provides authentication and privilege evaluation services to constrained devices, the method comprising:receiving, from a control device that is capable of transmitting control directives to a constrained smart device, a first X.509 certificate that binds an identity with a public encryption key and identifies the control device;
retrieving, from the first X.509 certificate:
authentication information comprising the public encryption key;
a permission setting indicating that the control device is only permitted to submit a device configuration command to configure the constrained smart device specified by the first X.509 certificate, wherein other types of commands are not permitted; and
an extension, within the first X.509 certificate, comprising a request from the control device to interact with the constrained smart device that lacks resources to perform authentication and privilege evaluation, wherein the requested interaction comprises a request to submit a command to the constrained smart device;
determining, based on the request included in the extension, that the control device is requesting to submit a command to the constrained smart device;
additionally receiving, from the constrained smart device, a second X.509 certificate;
retrieving, from the second X.509 certificate, authentication information that identifies the constrained smart device;
analyzing the authentication information in the first X.509 certificate in an attempt to use the authentication information to authenticate the control device;
analyzing the authentication information in the second X.509 certificate in an attempt to use the authentication information to authenticate the constrained smart device;
authenticating the control device based on the analyzed authentication information in the first X.509 certificate;
authenticating the constrained smart device based on the analyzed authentication information in the second X.509 certificate; and
upon successful authentication of the control device and the constrained smart device and in response to the determination that the requested interaction comprises a request to submit a command to the constrained smart device, restricting the requested interaction based on the permission setting in the first X.509 certificate, wherein restricting the requested interaction comprises:
allowing the requested interaction in response to a determination that the requested interaction comprises a request to configure the constrained smart device; or
rejecting the requested interaction in response to a determination that the requested interaction comprises a request to perform a type of command that is not a request to configure the constrained smart device.

US Pat. No. 10,114,938

SECURE ELECTRONIC LOCK

UTC FIRE AND SECURITY AME...

1. A method for simulating an operation of a mechanical lock in an electronic context, comprising:applying a contactless wireless credential to a lock;
authenticating the credential;
unlocking the lock to provide access to a resource protected by the lock based on having authenticated the credential;
determining a security level associated with the lock; and
conditionally capturing the credential based on the security level, wherein conditionally capturing the credential comprises revoking the credential until a re-lock status of the lock is indicated;
wherein conditionally capturing the credential comprises when a low security level is associated with the lock, the credential is not captured;
wherein conditionally capturing the credential comprises when a security level greater than the low security level is associated with the lock, the credential is captured to restrict access to a second resource during a time when the credential is captured;
determining that the lock is relocked subsequent to unlocking the lock;
based on determining that the lock is relocked, releasing the credential when the credential was captured.

US Pat. No. 10,114,937

CONTINUOUS BIOMETRIC AUTHENTICATION SYSTEM AND METHOD FOR MAN-MACHINE USER INTERFACES

1. A system for providing continuous identity verification for access to a human operated machine comprising:one or more external hardware biometric scanners configured to provide biometric data readings of a number of physiological and behavioral characteristics from a user continuously and simultaneously acquired in real-time, one or more scan controllers reading sample of the data provided by the one or more external scanners, wherein the one or more scanner controllers are grouped in a bank, one or more scan bank managers controlling the one or more scan controllers to generate a separate digital biometric profile from each biometric data sample reading from a respective external biometric scanner;
one or more input/output ports modules configured to enable an external device to interface with the system to submit data or to accept output from the system;
a scan bank manager configured to execute time-synchronizing operations and output of the one or more scan controllers and execute scanner control commands;
a biometric database configured to store user reference digital biometric profiles for the number of respective user physiological and behavioral characteristic obtained during a registration process;
one or more probabilistic authentication processors each configured to execute user authentication based on a numerical calculation of the probability that a digital biometric profile generated from the biometric data reading of the number of physiological and behavioral characteristic of the user is equivalent to a user reference digital biometric profile retrieved from the biometric database;
an authenticator bank controller configured to execute time-synchronizing operations and output of the one or more probabilistic authentication processors;
a memory store;
one or more joint probability calculators each configured to accept one or more time synchronized statistically independent probability scores, computing a joint probability score and writing it into the memory store;
one or more statistical smoothing calculators each configured to read the one or more probability scores from the memory store, accept an operational parameter and carry out a computation and output of a moving statistic, such as moving mean or moving median or exponential smoothing value of the probability scores based on the provided operational parameter;
wherein the memory store has a specified capacity configured to store the one or more probability scores written by the one or more joint probability calculators such that if the specified capacity is reached, a new entry replaces an earliest previous entry written to the memory store;
an administrator function configured to configure the system;
a central control processor configured to supervise and manage the usage and operations of all system resources; and
a clock which enables the central processing unit to time-synchronize all system operations.

US Pat. No. 10,114,936

INFORMATION PROCESSING DEVICE, AUTHENTICATION SYSTEM, AUTHENTICATION METHOD, AND PROGRAM

NEC CORPORATION, Tokyo (...

1. An information processing device including:a non-transitory computer-readable data storage medium storing code; and
a processor executing the code to
acquire first biological data which is biological feature data of an object,
acquire first attribute information indicating an attribute of the first biological data,
collate the first biological data with a plurality of second biological data which is identified biological feature data stored in a storage, the storage storing second biological data,
compare the first attribute information with second attribute information stored in the storage in association with the second biological data, the second attribute information indicating an attribute of the second biological data,
specify at least one of the plurality of second biological data corresponding to the first biological data on the basis of both similarity of biological data and similarity of attributes, the similarity of attributes resulting from comparing the first attribute with the attributes of the second biological data, the similarity of biological data resulting from collating the first biological data and the second biological data, and
biometrically authenticate a user from the second biological data and the first biological data,
wherein each of the first and second attribute information includes at least one of position information and time information,
wherein the processor executes the code to further accumulate the first attribute information as new second attribute information to be associated with the second biological data in the storage,
wherein execution of the code improves efficiency in biometric authentication in a client-server context, in that the first biological data is transmitted from a client, and the second biological data is selected by a server and transmitted back to the client to perform the biometric authentication.

US Pat. No. 10,114,935

TECHNOLOGIES FOR LOGIN PATTERN BASED MULTI-FACTOR AUTHENTICATION

Intel Corporation, Santa...

1. A computing device for a multi-factor authentication of a user, the computing device comprising:a plurality of sensors to collect sensor data related to the user and an environment of the computing device;
a reliability score determination module to determine a reliability score for each of a plurality of biometric authentication factors submitted by the user based on the sensor data, the reliability score indicative of a weight applied to a biometric authentication factor that corresponds to the reliability score;
a feature vector generator module to generate a feature vector that includes the reliability score and a confidence score for each biometric authentication factor, the confidence score indicative of a likelihood of authentication of the biometric authentication factor;
a classification determination module to determine a historical login pattern associated with the user, wherein the historical login pattern is representative of historical login attempts by the user in different environments, compare a present time when the biometric authentication factors were submitted by the user to the historical login pattern to determine a present environment of the user at the present time, match the present environment with one or more login attempts in the historical login pattern, determine an authentication result for each of the one or more matched login attempts in the historical login pattern associated with the present environment, selectively increase or decrease, in response to a determination that the present environment matches an environment of a login attempt in the historical login pattern, a weight associated with one or more of the confidence scores in the feature vector as a function of the determination of the authentication results of the one or more matched login attempts associated with the present environment, and determine an authentication classification as a function of the feature vector including marking the feature vector with an indication of correctness of the authentication classification;
a classifier module to produce, as a function of the indication of correctness, a classification rule that defines an amount by which one or more of the weights is to be adjusted in a subsequent login attempt; and
an authorization control module to perform an authorization action based on the authentication classification.

US Pat. No. 10,114,934

CALCULATING CONSECUTIVE MATCHES USING PARALLEL COMPUTING

Fortinet, Inc., Sunnyval...

1. A system comprising:a non-transitory storage device having embodied therein one or more routines; and
one or more processors coupled to the non-transitory storage device and configured to execute the one or more routines, wherein the one or more routines include:
a data stream and class definition receive module, which when executed by the one or more processors receives a class definition and a data stream;
a data stream partition module, which when executed by the one or more processors partitions said received data stream into a set of data blocks, wherein each data block of the set of data blocks comprises N data segments;
a data block processing module, which when executed by the one or more processors analyzes the set of data blocks in parallel and for each data block of the set of data blocks computes the following:
a first integer value indicative of whether each data segment value of the data block forms part of the class definition;
a second integer value indicative of a number of consecutive data segment values that form part of the class definition starting from a left-hand side of the data block;
a third integer value indicative of a maximum number of consecutive data segment values in the data block that form part of the class definition; and
a fourth integer value indicative of a number of consecutive data segment values that form part of the class definition starting from a right-hand side of the data block;
a data block integration module, which when executed by the one or more processors determines a maximum number of consecutive data segment values in the received data stream that form part of the class definition by aggregating the first integer value, the second integer value, the third integer value and the fourth integer value for each data block of the set of data blocks in a sequential and associative manner;
wherein the maximum number of consecutive data segment values is used in connection with performing string comparison or signature matching; and
wherein the data stream represents network traffic received by a network security device and wherein the string comparison or the signature matching facilitate identification of potential malicious content within the network traffic or intrusion detection processing relating to the network traffic.

US Pat. No. 10,114,933

TECHNIQUE FOR ENABLING NOMINAL FLOW OF AN EXECUTABLE FILE

Denuvo GmbH, Salzburg (A...

1. A method for enabling nominal flow of an executable file on a client comprising:reading at least a portion of the executable file on the client, wherein the executable file comprises an obfuscated executable code portion lacking at least one nominal constant, wherein the nominal constant is a numerical value for enabling the nominal flow of the executable file;
retrieving substantially unique hardware information of the client;
transmitting one of the hardware information and information derived therefrom to a server;
receiving at least one transformed constant that has been transformed based on one of the hardware information and the information derived therefrom;
performing, using one of the hardware information and the information derived therefrom, an inverse transformation on the at least one transformed constant to recover the nominal constant; and
executing the executable file in accordance with the nominal constant.

US Pat. No. 10,114,932

ADAPTING A MOBILE APPLICATION TO A PARTITIONED ENVIRONMENT

MOBILE IRON, INC., Mount...

1. A method of providing a secure partition, comprising:receiving an indication that a first app is to be available to be used in a secure zone of a mobile device, wherein the indication comprises an attempt to install the first app to the secure zone, wherein the secure zone includes versions of one or more applications that exhibit a behavior associated with the secure zone;
determining that the first app is an unknown application and is not authorized to be installed in the secure zone; and
in response to the determination, modifying the first app to be an app that will not launch within the secure zone, wherein modifying the first app to be the app that will not launch within the secure zone includes changing a launcher component of the first app to be a launcher component that will not allow the app to launch; and
installing the modified first app, wherein the modified first app is a secure zone version of the first app.

US Pat. No. 10,114,931

PHARMACEUTICAL PLATFORM TECHNOLOGY FOR THE DEVELOPMENT OF NATURAL PRODUCTS

SINOVEDA CANADA INC., (C...

1. A method of preparing a herbal composition comprising multiple components for drug formulations, the method comprises the steps of:a) preparing multiple samples having different random concentrations of a herbal mixture that comprises multiple components, each of said sample comprises the same multiple components, said samples further comprise multiple doses of the mixture, wherein the identities of or interactions among the components are not known a priori;
b) obtaining a dataset comprising pharmacodynamic parameters describing the dose-response of said samples of mixture;
c) performing linear modeling on said dataset to identify the components having strong correlation with the response as potential active components; said modeling system comprises

wherein r is linearized response, r is average linearized response; wi is weight of the ith component, wi? is weight of the non-linear self-interaction behavior of the ith component, di is the dose of the ith component, di and dj are average doses of the ith and jth component, and wi,j is the weight of the interacting pair,
is a minimization procedure to minimize the difference between r and said first modeling system by varying wi, wi?, wi,j,wherein said first modeling system generates outputs comprising (i) optimal weights ?i and ?i,j, which are optimal values of wi and wi? and wi,j obtained from said minimization procedure, and (ii) total dose of the components D, which is defined as

d) Using Bootstrapping approach to repeat steps b)-c) to refine the optimal weights ?i and ?i,j and potential active components;
e) using in vitro assays or in silico methods to obtain parameters describing the rate of elimination of said potential active components from (d) and their active metabolites in a plurality of mammalian tissue systems;
f) using in vitro assays or in silico methods to obtain parameters describing distribution of said potential active components from (d) and their active metabolites in a plurality of mammalian tissue systems;
g) estimating the effect-time relationship of the potential active components by incorporating said parameters of (e) and (f);
h) performing Subset-selection principal component analysis to infer the final set of active components based on parameters from d), e), f) and g);
i) inputting the optimal weights, ?i and ?i,j, from (d) of final set of active components from h) into a second modeling system that comprises

wherein, A is estimated response generated by said active components per total dose, ?0 is an average linearized response per total dose, xi and xj are defined as d?i/D and d?j/D respectively, which are fractions of said total dose D contributed by the ith and jth component respectively, and wherein
is a maximization procedure achieved by varying xi, ?i is for all i values,wherein said second modeling system generates outputs comprising dosages of active components that generate maximal response; and
j) using dosages of active components that generate the maximal response from (i) to prepare a herbal composition comprising multiple components, wherein the dosages for said multiple components are obtained from said dosages of active components that generate the maximal response.

US Pat. No. 10,114,930

SYSTEMS AND METHODS FOR CREATING HAIR TRANSPLANTATION PROCEDURE SITES

RESTORATION ROBOTICS, INC...

1. A system for selecting a location of a procedure site, the system comprising:a user interface including a user input device;
at least one non-transitory storage medium storing instructions, and
one or more modules for executing operations on image data, the one or more modules comprising instructions for:
identifying or allowing a user to identify one or more procedure site locations within a defined area;
determining a value associated with each of the one or more procedure site locations, each value is determined by how many features are located within a predetermined distance from the respective procedure site location;
assigning or allowing the user to assign a representation to one or more of the determined values;
populating the defined area with one or more representations of the determined values; and
allowing the user to use the one or more populated representations to confirm or modify the identified one or more procedure site locations, or to select a new procedure site location.

US Pat. No. 10,114,929

MATHEMATICAL MUSICAL ORCHESTRAL METHOD FOR PREDICTING CLASSES OF PATIENTS FOR MEDICAL TREATMENT

RUTGERS, THE STATE UNIVER...

1. A method of classifying a patient suffering from a disease as a responder or a non-responder to a selected treatment for the disease, said method comprisinganalyzing a sample from the patient for signal intensities of RNA, DNA or protein in the sample using an RNA, DNA or protein microarray;
filtering a data set of the signal intensities generated from the microarray and converting the signal intensities to musical notes, sound frequencies, class specific tunes and/or sound frequency patterns;
assigning an audio tune and/or sound frequency pattern capturing the filtered data to the patient by listening and/or observing the class specific tunes and/or sound frequency patterns; and
classifying the patient as a responder or a non-responder by comparing their audio tune and/or sound frequency pattern to an audio tune and/or sound frequency pattern previously identified for known responders or known non-responders.

US Pat. No. 10,114,928

METHOD AND DEVICE FOR DOCUMENTING MEDICAL DATA

1. A method for documentation of medical data with a documentation system comprising:receiving with the documentation system data from an operating room, the data captured by at least one data entry device and including video data from a video camera;
automatically activating with the documentation system a storage medium, the activating only in response to sensing with a sensor entry of a patient to be operated upon into said operating room, the sensing including sensing with the sensor an identifier associated with the patient;
storing with the documentation system said data in said storage medium only after said storage medium is activated.

US Pat. No. 10,114,927

APPARATUS AND METHOD FOR ACOUSTIC ALARM DETECTION AND VALIDATION

Koninklijke Philips N.V.,...

3. An alarm detection and validation device comprising:a memory; and
a processing unit configured to:
receive a first signal corresponding to audio detected by a microphone;
receive a second signal from a medical device indicating that the medical device has generated an acoustic alarm;
analyze the first signal to determine whether the detected audio includes the acoustic alarm generated by the medical device by applying a sound classifier to the detected audio so as to identify known alarm sounds included in the detected audio;
determine a current sound pressure level;
use the determined sound pressure level to compare the volume of an acoustic alarm identified in the detected audio with the volume of other sounds included in the detected audio; and
output a third signal to the medical device based on the result of the analysis of the first signal, if the result of the analysis of the first signal is that the detected audio includes the acoustic alarm generated by the medical device.

US Pat. No. 10,114,926

WORKFLOW TEMPLATE MANAGEMENT FOR MEDICAL IMAGE DATA PROCESSING

TERARECON, INC., San Mat...

1. A computer-implemented method for processing medical images, the method comprising:storing a plurality of workflow templates, each including a predefined sequence of workflow stages associated with a particular type of medical diagnosis or process, wherein each workflow stage defines one or more image processing operations to be performed including one or more inputs required and one or more outputs to be produced, and wherein at least one workflow stage generates metadata specifying one or more image processing parameters to be used as an input by another workflow stage for processing a corresponding medical image;
in response to a request from a user to process a medical image data, automatically determining a user identifier (ID) that identifies the user based on the request;
identifying, based on the user ID, at least one of the workflow templates that is specifically configured to process the medical image data associated with the user;
pre-processing the medical image data including performing on the received medical image data one or more image processing operations automatically based on a plurality of workflow stages of the identified workflow template that is independent of a specific imaging device that generated the medical image data to generate at least a scene automatically corresponding to a workflow stage of the plurality of workflow stages, and wherein the at least one scene shows an image view representing the medical image data; and
storing the at least one scene corresponding to a workflow stage in a persistent storage by storing only metadata associated with the at least one automatically generated scene without storing the associated image views, wherein the at least one scene includes metadata used to recreate a corresponding medical image view subsequently, wherein the metadata includes one or more image processing parameters corresponding to one or more image processing operations performed on the received medical image data to automatically generate the at least one scene, wherein the automatically generated at least one scene provides a history of operations performed in the workflow stage while workflow stages without any associated scenes show all the remaining operations yet to be performed.

US Pat. No. 10,114,925

DISCOVERY ROUTING SYSTEMS AND ENGINES

Nant Holdings IP, LLC, C...

1. A discovery routing system comprising:a knowledge database programmed to store a plurality of datasets, each dataset comprising at least one descriptor-value pair having a descriptor and an associated value;
an analytical engine coupled with the knowledge database, and programmed to identify at least one anomaly in a dataset of the plurality of datasets, wherein the at least one anomaly is associated with a condition and characterizes a descriptor-value pair having a value that deviates from a qualifier associated with the descriptor beyond a predetermined threshold value for the descriptor;
a cross-validation engine comprising an association application and a relationship application, coupled with the analytical engine and programmed to designate the at least one anomaly as a significant anomaly by (i) in the association application, cross-referencing the at least one anomaly with one or more other descriptor-value pairs of attributes that are associated with the condition and known to have a value that deviates from the qualifier, wherein the cross-referencing includes traversing the dataset of the plurality of datasets to identify at least one of the one or more other descriptor-value pairs of attributes, (ii) identifying further attributes of the at least one anomaly by performing a comparison of at least one attribute with the at least one value of the descriptor-value pair of the at least one anomaly using at least one parameter different from a parameter of the qualifier, and (iii) in the relationship application, omitting the descriptor-value pair of the anomaly from a significant anomaly dataset based on the cross-referencing with the one or more other descriptor-value pairs of the further attributes when there is a priori knowledge showing a causal relationship or correlation between the further attributes, the at least one anomaly and the condition, and including the descriptor-value pair of the at least one anomaly in the significant anomaly dataset if at least one other descriptor-value pair is identified as related to the condition; and
a subscription engine comprising a subscriber database, coupled with the cross-validation engine and programmed to (i) subscribe a plurality of expert subscribers, wherein each expert subscriber is associated with an identifier in the subscriber database, and (ii) associate the descriptor-value pair in the significant anomaly dataset with an expert subscriber based on the identifier.

US Pat. No. 10,114,923

METAGENOMICS-BASED BIOLOGICAL SURVEILLANCE SYSTEM USING BIG DATA PROFILES

EMC IP Holding Company LL...

1. A method comprising:obtaining results of metagenomics sequencing performed on biological camples from respective sample sources;
generating a genomic comparison component comprising hit abundance score vectors for respective ones of the samples based at least in part on the metagenomics sequencing results;
obtaining epidemiological data relating to at least one of a disease, infection or contamination characterized by one or more of the hit abundance score vectors;
generating patient comparative indexes based at least in part on the epidemiological data;
obtaining one or more Big Data profiles relating to one or more of the hit abundance score vectors and one or more of the comparative indexes; and
providing surveillance functionality in a decentralized and privacy-preserving manner utilizing a combination of the hit abundance score vectors and the patient comparative indexes based at least in part on information derived from the one or more Big Data profiles,
wherein providing surveillance functionality further comprises:
performing a preprocessing operation to reduce a biclustering sample space of the genomic comparison component;
wherein the method is implemented by at lease one processing device comprising a processor coupled to a memory.

US Pat. No. 10,114,922

IDENTIFYING ANCESTRAL RELATIONSHIPS USING A CONTINUOUS STREAM OF INPUT

Ancestry.com DNA, LLC, L...

1. A computer-implemented method comprising:receiving a first set of genetic data, the first set including a plurality of genetic data samples from a first plurality of human individuals, the first set of genetic data including a set of haplotypes for each of the first plurality of human individuals;
for each sample in the first set:
for each of the haplotypes in the sample, storing an identifier of the sample in an entry of a first table having rows indexed by haplotype, the entry located in a row indexed by the haplotype in the sample;
storing in a second table a plurality of haplotypes included in the sample, the second table having rows indexed by segments of each individual;
identifying a set of ranges of haplotype matches between the sample and each other sample based on the haplotypes;
storing in a third table the ranges of haplotype matches between the sample and each other sample, the third table indexed by segments of each individual;
receiving a second set of genetic data, the second set including a plurality of genetic data samples from a second plurality of human individuals, the second set of genetic data including a set of haplotypes for each of the second plurality of human individuals;
for each sample in the second set:
for each of the haplotypes in the sample, updating the first table by including an identifier of the sample in the second set in a row of the first table indexed by the haplotype contained by the sample;
updating the second table by including one or more additional rows each identifying a segment of the sample, wherein each additional row includes a plurality of haplotypes included in the segment;
for each segment of the sample:
identifying ranges of haplotype matches between the segment and each other sample from the first received set and the second received set by:
accessing a subset of haplotypes included in the additional row from the updated second table, and
for each haplotype in the subset of accessed haplotypes:
 identifying an initial haplotype match by accessing an identifier of the other sample stored in a common row of the updated first table, the common row indexed by the haplotype in the subset;
 accessing a row of the updated second table indexed by the segment of the other sample that is identified by the accessed identifier, the accessed row comprising the haplotype and an adjacent haplotype next to the haplotype; and
 extending the initial haplotype match along nucleotide bases of the adjacent haplotype in the accessed row of the updated second table; and
generating a range of haplotype matches between the segment of the sample and the other sample, the range of haplotype matches comprising extended initial haplotype matches across the haplotypes in the subset;
updating the third table by including an additional row indexed by the segment of the sample to include the ranges of haplotype matches between the segment of the sample and each other sample; and
providing to at least two of the first or second plurality of human individuals an indication that a number of haplotype matches between them exceeds a threshold number of matches.

US Pat. No. 10,114,921

METHOD AND RECORDING MEDIUM OF REDUCING CHEMOEPITAXY DIRECTED SELF-ASSEMBLED DEFECTS

INTERNATIONAL BUSINESS MA...

20. A computer system for reducing chemo-epitaxy directed-self assembly (DSA) detects of a layout of a guiding pattern, said computer system comprising:a processor; and
a memory, the memory storing instructions to cause the processor to perform:
inserting a first external dummy along an external edge of the guiding pattern in a vertical direction; and
inserting an anti-taper structure on the first external dummy if a second distance from the external edge of the guiding pattern to an edge of the first external dummy adjacent to the external edge is greater than a first distance which is determined from the external edge of the guiding pattern to the edge of the first external dummy.

US Pat. No. 10,114,919

PLACING AND ROUTING METHOD FOR IMPLEMENTING BACK BIAS IN FDSOI

GLOBALFOUNDRIES Inc., Gr...

1. A method for forming a fully-depleted silicon-on-insulator (FDSOI) device, comprising:generating a layout for the FDSOI device by:
placing a first plurality of a standard tap well cells for implementing back bias along a first direction, each of said standard tap well cells being formed by:
routing a p-BIAS wire (VPW) and an n-BIAS wire (VNW) in a first metallization layer, and
routing a power (VDD) rail and a ground (VSS) rail, said VPW and said VNW extending across each of said VDD rail and said VSS rail in a second metallization layer,
wherein said VPWs of said first plurality of standard tap well cells are continuously connected, said VNWs of said first plurality of standard tap well cells are continuously connected, and said VPWs are separated from said VNWs by a predetermined distance with no intervening conductive wires routed between said VPWs and said VNWs along said predetermined distance; and
fabricating the FDSOI device according to the layout.

US Pat. No. 10,114,918

PHYSICAL PLACEMENT CONTROL FOR AN INTEGRATED CIRCUIT BASED ON STATE BOUNDS FILE

ARM Limited, Cambridge (...

1. A method, comprising:extracting state groups of a circuit design by deriving state groups from each logical hierarchy of the circuit design, wherein at each level, available state points are grouped by similarity and stored in a state groups collection alongside grouping terms;
generating a state bounds file that bounds locations of the state points in the circuit design, wherein the state bounds file is based on the extracted state groups and the grouping terms stored in the state groups collection; and
generating an integrated circuit layout by controlling physical placement of the circuit design using the state bounds file.

US Pat. No. 10,114,917

SYSTEMS AND METHODS FOR MAPPING EXECUTABLE MODELS TO PROGRAMMABLE LOGIC DEVICE RESOURCES

The MathWorks, Inc., Nat...

1. A method comprising:for an executable, behavioral model including model elements, two or more of the model elements configured to exchange signals, data, control, events, or messages, and the executable, behavioral model, when executed, simulating a system,
identifying one or more of the model elements for mapping to one or more DSP slices of a programmable logic device, the one or more DSP slices including a plurality of hardware elements arranged in a structure;
retrieving, from one or more databases, information for mapping the one or more of the model elements to the structure of the one or more DSP slices of the programmable logic device;
automatically modifying, by a processor, an in-memory representation of the executable, behavioral model to map to the structure of the one or more DSP slices of the programmable logic device; and
generating code for the modified in-memory representation of the executable, behavioral model, where the generated code maps, during hardware synthesis, to the one or more DSP slices of the programmable logic device.

US Pat. No. 10,114,916

METHOD AND SYSTEM TO ACCELERATE VISUALIZATION OF WAVEFORM DATA

Cadence Design Systems, I...

1. A method implemented with a processor, comprising:identifying an electrical circuit design to undergo simulation;
generating simulation results for the electrical circuit design that correspond to a data set;
performing data reduction by filtering the data set to generate a reduced data set, wherein the reduced data set comprises fewer datapoints than the data set;
generating a user interface to display waveform data on a display device corresponding to the simulation results;
providing an option within the user interface to an electronic design automation tool to generate a visual display of the reduced data set in place of the data set; and
displaying an interactive plot of the reduced data set in the user interface of the display device if the option is selected to display the reduced data set, the interactive plot of the reduced data set being rendered for display with decreasing display latency in place of the data set to reduce a volume of data processing by a graphics processing unit.

US Pat. No. 10,114,915

CONSUMER PERFORMANCE INDEX SCORING FOR WEBSITES AND WEB-BASED APPLICATIONS

Akamai Technologies, Inc....

1. A non-transitory computer-readable storage medium encoded with a computer program, when executed the computer program being operable to:aggregate, for each of a plurality of tenants of a data analysis system, real user measurement (RUM) data captured from devices of users during sessions on a website or web application, the RUM data including a landing page load time of each user and whether a bounce occurred;
model for each tenant a probability, y (x), that a user of the website or web application will bounce, given the landing page load time x, where y (x) has a range from 0 to 1;
calculate, for each tenant, an ordered discrete set of lethal dose (LD) values using a lethal dose function LD(p), which is an estimated average landing page load time given a bounce rate of p, a median Lethal Dose function being defined as LD50=LD(0.5);
determine tenant erroneousness by applying one or more different filters to each tenant, resulting in a set of non-erroneous tenants;
calculate a mean of each LD value in the ordered discrete set of LD values across all of the non-erroneous tenants, resulting in an ordered set of mean LD values;
reduce the set of ordered set of mean LD values to exactly 10m ordered mean LD values, where m is an integer; and
map the 10m ordered mean LD values to a corresponding number of ordered CPI scores ranging from 0 to 100, wherein the mapping results in the benchmark.

US Pat. No. 10,114,914

LAYOUT EFFECT CHARACTERIZATION FOR INTEGRATED CIRCUITS

INTERNATIONAL BUSINESS MA...

1. A system for layout effect characterization of an integrated circuit, the system comprising:a memory having computer readable instructions; and
a processor for executing the computer readable instructions, the computer readable instructions including:
selecting an adjustable clock setting of an input clock for a layout effect characterization circuit of the integrated circuit;
enabling a predetermined duty cycle of the input clock to pass through a plurality of inverting device chains including a reference chain and one or more chains having a different inverting device arrangement and a same number of inverting devices per chain;
measuring a captured output of the one or more chains having the different inverting device arrangement and a captured output of the reference chain, wherein the captured output is captured in at least one register responsive to sampling a low pass filtered output of the inverting device chains by at least one analog-to-digital converter; and
adjusting a clock pulse shape of the adjustable clock based on a detected difference between the captured output of the one or more chains having the different inverting device arrangement and the captured output of the reference chain.

US Pat. No. 10,114,913

METHOD AND SYSTEM FOR DETERMINING WELDING SEQUENCES

Caterpillar Inc., Deerfi...

1. A system for determining a welding sequence including a plurality of welding operations, the system comprising:a welding sequence generator configured to create an initial population of welding sequences based on at least one user-generated constraint; and
a welding simulator configured to simulate welding for each one of the welding sequences in the initial population to model distortion for the welding sequence, wherein
the welding sequence generator is further configured to:
receive the distortion for each one of the welding sequences in the initial population from the welding simulator;
determine whether a merit value derived from at least the distortion for at least one welding sequence satisfies one or more predetermined criteria;
in response to a determination that there is no merit value that satisfies the one or more predetermined criteria, repeat the following steps until a merit value satisfies the one or more predetermined criteria:
choose a subset of candidate welding sequences from a previous population of welding sequences based on the merit values of the welding sequences;
create a subsequent population of welding sequences by performing mutation and crossover operations on the candidate welding sequences while imposing the user-generated constraint;
simulate welding for each one of the welding sequences in the subsequent population of welding sequences to model distortion for the welding sequence; and
determine whether a merit value derived from at least the distortion for at least one welding sequence in the subsequent population of welding sequences satisfies the one or more predetermined criteria; and
output the at least one welding sequence corresponding to the merit value that satisfies the one or more predetermined criteria as a potential welding sequence.

US Pat. No. 10,114,912

SYSTEM AND METHOD FOR MONITORING ADDRESS TRAFFIC IN AN ELECTRONIC DESIGN

Cadence Design Systems, I...

1. A computer-implemented method for measuring address noise in an electronic design simulation comprising:providing, using one or more processors, a first electronic design configured to generate one or more address sequences;
defining a plurality of address noise monitors, wherein each of the address noise monitors is defined relative to a particular System-on-a-chip architecture associated with the first electronic design;
identifying the first address noise monitor from the plurality of address noise monitors;
applying the first address noise monitor to the first electronic design, wherein the first address noise monitor is configured to determine address noise data, wherein the address noise data includes a measure of one or more discontinuities in the one or more address sequences;
simulating the electronic design to generate one or more performance results, the one or more performance results including address noise data;
generating an address noise profile, based upon, at least in part, the one or more performance results including address noise data;
refining a number of address bins associated with an address bus of the first electronic design to align with the particular System-on-a-chip architecture;
determining a gap between the one or more discontinuities;
determining a variance associated with each of the address bins; and
applying the address noise profile to a second electronic design that includes, at least in part, the particular System-on-a-chip architecture associated with the first electronic design.

US Pat. No. 10,114,911

FLUID STRUCTURE INTERACTION SIMULATION METHOD AND APPARATUS, AND COMPUTER-READABLE STORAGE MEDIUM

FUJITSU LIMITED, Kawasak...

1. A fluid structure interaction simulation method to perform a process for simulating mechanical interaction between a fluid and a structure in a biomechanical system, executed by a processor included in a fluid structure interaction simulation apparatus, the process comprising:a graph information forming process, executed by the processor, to form graph information of nodes obtained by discretising a computing region for each of a fluid and a structure in the biomechanical system that are represented by meshes; and
a main time development loop process, executed by the processor, to simulate the mechanical interaction between the fluid and the structure,
wherein the main time development loop process includes:
arranging interaction mediating elements that move with a displacement of the structure, on a boundary of the structure and the fluid;
defining, within the interaction mediating element, a correcting function of a pressure and a correcting function of a velocity of the fluid that interact with the pressure and the velocity of the fluid and the displacement of the structure, to mediate interaction of the displacement of the structure and the pressure and the velocity of the fluid;
executing a simulation based on the correcting functions, in a state in which the meshes of the fluid are mismatched to the meshes of the structure,
wherein the correcting functions are Lagrangian multipliers having, as a constraint condition, a relation satisfied by an incompressibility condition of the fluid and a relation satisfied by a viscous operator of a Newtonian fluid, at a boundary part between the fluid and the structure, based on Green's theorem, thereby compensating for the mismatched meshes of the fluid and the structure,
wherein the main time development loop process includes:
a first process to create both of a matrix and an equivalent nodal force of each element of the structure by using a time discretization technique and to create both of a matrix and an equivalent nodal force of each element of the fluid by using the time discretization technique;
a second process to create a matrix representing interaction of the velocity, the pressure, and the correcting functions for each interaction mediating element;
a third process to create a matrix equation with respect to all degrees of freedom by restructuring a contribution from the matrix of each element, based on the matrix of each element and the matrix representing the interaction;
a fourth process to solve and evaluate a variation of dependent variables, including the pressure, the velocity, and the displacement, of the fluid and the structure every time a Newton-Raphson loop is executed in the main time development loop process; and
a fifth process to display the variation of the dependent variables and the evaluation thereof.

US Pat. No. 10,114,910

THREE-DIMENSIONAL MODEL GENERATING DEVICE, METHOD OF DETERMINING STRUCTURAL MEMBER, AND PROGRAM

HITACHI, LTD., Tokyo (JP...

7. A method of determining a structural member, the method comprising:inputting, by an arithmetic device, three-dimensional point group data of a structure;
extracting, by the arithmetic device, flat surfaces of the structure based on the three-dimensional point group data;
grouping, by the arithmetic device, the flat surfaces into flat surface groups based on an angle of each of the flat surfaces with respect to a reference direction and a distance between the flat surfaces;
extracting, by the arithmetic device, a connection relationship between the grouped flat surface groups;
associating and storing, by the arithmetic device, the connection relationship and a type of a structural member;
determining, by the arithmetic device, the structural member that the structure is constructed from based on the extracted connection relationship by referring to the connection relationship and the type of the structural member, and determining the structural member based on the extracted connection relationship and determining the type of structural member;
acquiring, by the arithmetic device, standard values of the determined type of the structural member;
generating, by the arithmetic device, three-dimensional CAD data of the structural member based on the acquired standard values
comparing, by the arithmetic device, the three-dimensional CAD data generated and designing three-dimensional CAD data from a design stage; and
calculating, by the arithmetic device, based on a comparison result, a divergence between the three-dimensional CAD data and the design three-dimensional CAD data from the design stage.

US Pat. No. 10,114,909

SYSTEMS AND METHODS STORING A COLLECTION OF ITEM DATA

AMAZON TECHNLOGIES, INC.,...

4. A method comprising:accessing a distributed hash table (DHT) system storing N items;
receiving first object data describing information associated with an object comprising a subset of the N items including at least:
a first item which includes a first item identification (ID) and a first attribute; and
a second item which includes a second item ID and a second attribute;
causing the DHT system to store the first item at a first memory location as read-only data and the second item at a second memory location as read-only data, wherein the first item and the second item are stored as read-only information;
generating first manifest data which includes:
the first item ID and a first page ID associated with the first item ID, wherein the first page ID identifies the first memory location used to locate the first attribute; and
the second item ID and a second page ID associated with the second item ID, wherein the second page ID identifies the second memory location used to locate the second attribute;
receiving second object data describing information associated with the object, the second object data including a modified item comprising the second item ID and a modified attribute representative of a modified second attribute associated with the second item ID;
causing the DHT system to store the modified item including the second item ID and the modified attribute as read-only data at a third memory location without performing a look up of the second item including the second item ID and the second attribute at the second memory location and without performing an update at the second memory location to change the second attribute associated with the second item ID to the modified attribute associated with the second item ID;
generating second manifest data representative of:
the first item ID and the first page ID associated with the first item ID; and
the second item ID and a third page ID associated with the second item ID, wherein the third page ID identifies the third memory location used to locate the modified attribute;
generating head record data used to identify the second manifest data as being current manifest data, wherein the head record data, the second manifest data, the first item stored at the first memory location, and the modified item stored at the third memory location are structured as a persistent tree data structure;
receiving, over a network, a request from a client device for the first item and the modified item, using the head record data to identify the second manifest data as being current, and as a result of identifying the second manifest data as being current, using the second manifest data to locate the first attribute associated with the first item ID at the first memory location by using the first page ID associated with the first item ID and to locate the modified attribute associated with the second item ID at the third memory location by using the third page ID associated with the second item ID; and
providing, over the network to the client device, the first attribute associated with the first item ID and the modified attribute associated with the second item ID.

US Pat. No. 10,114,908

HYBRID TABLE IMPLEMENTATION BY USING BUFFER POOL AS PERMANENT IN-MEMORY STORAGE FOR MEMORY-RESIDENT DATA

INTERNATIONAL BUSINESS MA...

1. A data management method, comprising:generating, by a processor of a computing system, a database comprising a database table that is stored in both a first memory comprising an in-memory storage and a second memory comprising a disk memory storage, wherein the database table comprises a plurality of rows, wherein a first portion of the rows is stored in the in-memory storage and a second portion of the rows is stored in the disk memory storage, wherein the subset of the rows of the database table stored in the disk memory device is not stored in the in-memory storage, wherein the database table is indexed by a search index having a plurality of search index reference values each of a first type or second type, the first type being a page pointer to the in-memory storage in a buffer pool, the second type being a page disk address of a page in the disk memory storage that is to be proceed by said buffer pool, and wherein the search index has densely indexed rows that correspond to the subset of the rows of the database stored in the in-memory storage and sparsely indexed rows that correspond to the subset of the rows of the database stored in the disk memory storage;
responsive to a data retrieval request, accessing, by the processor, data from said first or said second memory using a reference value of the plurality of search index reference values, wherein said reference value is of said second type, wherein accessing said data includes determining, by the processor, whether said data is accessible from said buffer pool and then using said reference value of said second type to access said data from said buffer pool if it is determined that said data is accessible from said buffer pool; and
altering said plurality of search index reference values from page pointers to the in-memory storage to page disk addresses in the disk memory in response to data being migrated from the in-memory storage to the disk memory storage based on a least recently used queue of the in-memory storage.

US Pat. No. 10,114,907

QUERY PROCESSING FOR XML DATA USING BIG DATA TECHNOLOGY

INTERNATIONAL BUSINESS MA...

1. A system for offloading extensible markup language (XML) data to a distributed file system, comprising:a memory having computer readable instructions; and
one or more processors for executing the computer readable instructions, the computer readable instructions comprising:
receiving a command to populate a distributed file system with an XML table of a database;
querying the XML table in response to the command;
offloading source data in the XML table to the distributed file system in response to the querying;
receiving an XML path language (XPath) query against the XML table in the database;
processing the X query based on the source data in the distributed file system to generate a result data; and
storing the result data on the distributed file system in response to the XPath query.

US Pat. No. 10,114,906

MODELING AND EXTRACTING ELEMENTS IN SEMI-STRUCTURED DOCUMENTS

INTUIT INC., Mountain Vi...

1. A computer-implemented method for extracting a set of data elements from a representation of a semi-structured document based on a physics model describing the semi-structured document, the method comprising:obtaining, by a computer system, a physics model of the semi-structured document, wherein the physics model comprises a set of relationships represented by physical objects connecting different data elements in the semi-structured document that describe relative positions of each data element in the set of data elements in the semi-structured document, wherein the physical objects describe a relationship between a first data element and a second data element in the semi-structured document as a function of a distance range between the first and second data elements and at least one of:
an orientation relationship of the first and second data elements, or
an angular displacement range between the first and second data elements, and
wherein obtaining the physics model of the semi-structured document comprises:
requesting, from a user via a graphical user interface (GUI) having one or more area selection tools for selecting data elements in the semi-structured document and one or more connector tools for defining relationships between data elements in the semi-structured document, information identifying a relationship between the first and second data elements in the semi-structured document; and
obtaining, through the GUI, the set of relationships among the relative positions of the set of data elements in the semi-structured document from the user by receiving information defining the first and second data elements and information identifying a physical construct representing a relationship between the first and second data elements, wherein the physical construct comprises one or more of:
a flexible component defining the distance range between the first and second elements as a function of a weight describing an amount of compression or stretching between the first and second elements, or
a rigid component defining the distance range between the first and second elements as a substantially fixed distance between the first and second elements;
extracting, by the computer systems, a set of data from the representation of the semi-structured document based on the physical model, wherein the representation of the semi-structured document comprises an electronic file, and wherein extracting the set of data comprises:
identifying a probable range of positions in the representation of the semi-structured document at which the second data element is located, relative to a position of the first data element in the representation of the semi-structured document, based on the physical object connecting the first and second data elements in the physics model;
identifying, within the probable range of positions, a position of the second data element in the representation of the semi-structured document;
extracting data associated with the second data element from information located at the identified position in the representation of the semi-structured document;
identifying, based on the identified position of the second data element and physical objects in the model describing relationships between the second data element and a plurality of other data elements, position information associated with the plurality of other data elements in the representation of the semi-structured document; and
extracting data associated with each of the plurality of other data elements from information located, in the representation of the semi-structured document, at the position information associated with each of the plurality of other data elements; and
upon extracting the set of data from the representation, inputting, by the computer systems, the extracted set of data to one or more applications without requiring manual input of the data into the one or more applications.

US Pat. No. 10,114,905

INDIVIDUAL USER SELECTABLE MULTI-LEVEL AUTHORIZATION METHOD FOR ACCESSING A COMPUTER SYSTEM

EASYWEB INNOVATIONS, INC....

9. A method for (1) providing a plurality of security schemes, each particular security scheme requiring provision of a number of identification information in order to authorize access to a computer system for a particular user from among a plurality of users, and (2) allowing each particular user to select a security scheme to be associated with that particular user, and which selection is independent of the security scheme selected by a remainder of the plurality of users of the computer system, thereby providing each particular user the ability to select their own security scheme to be used to authorize their respective access to the computer system, the method comprising:providing the computer system, the computer system having a plurality of user accounts each with a respective user storage area;
for a first user:
prompting the first user of the computer system for a selection of a first security scheme from among the plurality of security schemes;
storing the selection by the first user as a preference in the first user's storage area;
for a second user:
prompting the second user of the computer system for a selection of a second security scheme from among the plurality of security schemes;
storing the selection by the second user as a preference in the second user's storage area;
wherein the first security scheme requires a specific number of identification information in order to be satisfied and the second security scheme requires a different number of identification information than that of the first security scheme in order to be satisfied,
thereafter authorizing the first or second user to access the computer system when the selected security scheme of the respective user is satisfied.

US Pat. No. 10,114,904

METHOD, SYSTEM, ELECTRONIC DEVICE AND SERVER FOR SYNCHRONOUS DISPLAY OF OPERATING INFORMATION

Wistron Corporation, New...

1. A method for synchronous display of operating information, the method to be implemented by a server communicatively coupled to a first electronic device and to at least one second electronic device, the method comprising:(A) receiving, by the server, a request from the first electronic device for access to a file stored in the server;
(B) transmitting, by the server, the file which is requested by the first electronic device to each of the first electronic device and said at least one second electronic device, wherein contents of the file are displayed on each of the first and second electronic devices in a form of a single web page using a respective web browser launched by each of the first and second electronic devices;
(C0) obtaining, by the first electronic device, operating information comprising a coordinate information, a gesture information and a file name of the file requested by the first electronic device, wherein the coordinate information and the gesture information are associated with an input operation performed upon the single web page of the contents of the file displayed by the web browser of the first electronic device;
(C01) adding, by the first electronic device, the operating information to a queue which is associated with operating information to be transmitted, and determining, by the first electronic device, whether the queue contains previously-added operating information, wherein the queue is stored in the first electronic device;
(C011) in response to the queue containing the previously-added operating information, replacing, by the first electronic device, the previously-added operation information with latest operating information, and transmitting, by the first electronic device, the latest operating information in the queue to the server, wherein the latest operating information is last operating information added to the queue;
(C012) in response to the queue containing no previously-added operating information, transmitting, by the first electronic device, the operating information in the queue to the server;
(C) receiving, by the server, from the first electronic device, the operating information in the queue; and
(D) relaying, by the server, the operating information received from the first electronic device to said at least one second electronic device, the operating information configuring the second electronic device to display an indicator associated with the operating information on the single web page of the contents of the file displayed by the web browser of the second electronic device.

US Pat. No. 10,114,903

METHOD AND APPARATUS FOR CONTENT SYNCHRONIZATION

Parallel Networks, LLC, ...

1. A method for processing data comprising:storing a data item at a cache server, the data item accessible from a uniform resource locator, the data item having an expiration for storage at the cache server, the data item being accessed by a data request from a remote computer specifying the uniform resource locator, the data item stored at the cache server being based on underlying content maintained at a data source associated with an origin server;
receiving an expiration command at the cache server to expire the data item before the expiration, the expiration command including at least a portion of the uniform resource locator; and
expiring the data item at the cache server according to the expiration command.

US Pat. No. 10,114,902

METHOD FOR DETECTING AND ANALYZING SITE QUALITY

eBay Inc., San Jose, CA ...

1. A computer-implemented method, comprising:scanning listings of an online publication, wherein the listings comprise at least one listing including a link that uses a universal resource locator;
using at least one processor of a machine; determining a separate quality level for each listing among the listings based on an analysis of the listings that includes determining whether a title of a listing of an item corresponds to a name of the item, determining whether a description of the item in the listing matches the name of the item and the title of the listing, and analyzing the listing for a defective link, wherein the title of the listing of the item, the name of the item, and the description of the item are different elements of the listing;
collecting defective conditions data of the listings based on the analyzing the listing for the defective link, the determining of whether the title of the listing of the item corresponds to the name of the item and whether the description of the item in the listing matches the name of the item and the title of the listing;
reporting at least some of the defective conditions data of the listings;
automatically correcting at least a first portion of the listings, wherein at least one listing of the first portion includes a particular defective link and the automatically correcting comprises repairing the particular defective link;
enabling an operator of the online publication to correct at least a second portion of listings; and
automatically identifying a third portion of the listings based on third portion being defective but uncorrected for at least a predetermined amount of time and automatically deleting the third portion of the listings after expiration of the predetermined amount of time.

US Pat. No. 10,114,901

SYSTEMS AND METHODS FOR REAL-TIME LOCATION-AWARE RECOMMENDATIONS

eBay Inc., San Jose, CA ...

1. A method for generating location-aware recommendations, the method comprising:receiving a search request that includes location data that identifies a current location of a user device;
accessing user profile data for the user, the user profile data including a user interaction history of the user, the user interaction history comprising at least an explicit user input and an implicit user input, the explicit user input including at least a request to promote a place from among a first plurality of places, and the implicit user input including at least an indication that the user visited a web-site associated with the place from among the first plurality of places;
extracting a first set of features from the first plurality of places, the first set of features including attributes of the first plurality of places;
assigning a feature value to each feature among the first set of features, the feature value being based on the implicit user input and the explicit user input of the user, the assigning the feature value to each feature among the first set of features includes applying a first weighting factor to the explicit user input regarding the one or more of the first plurality of places, and a second weighting factor to the implicit input regarding the one or more of the first plurality of places;
generating a feature matrix of the user based on the feature value of each feature among the first set of features;
identifying a second plurality of places within a radius of the current location, the second plurality of places having a second set of features;
generating a place graph of the user, the generating the place graph including projecting the feature matrix of the user onto the second set of features of the second plurality of places;
identifying a place recommendation from among the second plurality of places based on the place graph that includes the feature value from the feature matrix; and
communicating the place recommendation to the user.

US Pat. No. 10,114,900

METHODS AND SYSTEMS FOR GENERATING PROBABILISTICALLY SEARCHABLE MESSAGES

Virtru Corporation, Wash...

1. A computer-implemented method for generating probabilistically searchable messages, the method comprising:obtaining, by a computing device, a textual message generated by an application executing on the computing device;
extracting, by the computing device, from the textual message, a plurality of words;
cryptographically hashing, by the computing device, each word of the plurality of words;
mapping, by the computing device, each cryptographically hashed word to a plurality of tokens;
generating, by the computing device, a set of tokens associated with the textual message, the set of tokens including each plurality of tokens associated with each cryptographically hashed word; and
storing, by the computing device, a filtered set of tokens associated with the textual message in metadata associated with the textual message.

US Pat. No. 10,114,899

REAL-TIME AND ADAPTIVE DATA MINING

1. A method of analyzing data, comprising:generating, by an entity, a query based at least in part on a topic of interest;
executing the query on a plurality of data sources, at least one of the plurality of data sources comprising customer information or financial information;
selecting, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
monitoring, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
extracting data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
determining an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
determining a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
dynamically adjusting the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
analyzing, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
establishing a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided data to the data source, based on the analysis of the extracted data;
transmitting, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
receiving, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

US Pat. No. 10,114,898

PROVIDING ADDITIONAL FUNCTIONALITY WITH SEARCH RESULTS

Samsung Electronics Co., ...

1. A method comprising:receiving, at a computing device including one or more processing units, a search query from a remote device;
identifying, by the computing device, a primary set of application state records using the search query;
selecting, by the computing device, a first application state record from the primary set of application state records;
identifying, by the computing device, an entity name and action associated with the first application state record;
identifying, by the computing device, a second application state record associated with the same entity name as the first application state record and a different action than the first application state record;
generating, by the computing device, a combined result based on the first application state record and the second application state record;
generating, by the computing device, search results based on the primary set of application state records, wherein the search results include the combined result in addition to a plurality of search results based on the primary set of application state records; and
transmitting, by the computing device, the search results to the remote device,
wherein the identifying of the second application state record comprises identifying a secondary set of application state records and selecting the second application state record from the secondary set of application state records.

US Pat. No. 10,114,897

SEARCH AND NOTIFICATION PROCEDURES BASED ON USER HISTORY INFORMATION

Open Invention Network LL...

1. A method comprising:identifying a most recent interest from user device submitted data;
searching a database for instances of the most recent interest;
creating a new category based on the most recent interest;
storing the new category in a memory;
combining the new category with weighted query search terms and submitting a combined query, separate weights assigned to query search terms according to validity of information found in each of local and remote memories, information found in local memories contributing to higher weights than information found in remote memories in response to private browsing not enabled on the user device, information found in remote memories contributing to higher weights than information found in local memories in response to private browsing being enabled on the user device;
receiving combined query results; and
creating a modified user interface based on the results of the combined query.

US Pat. No. 10,114,896

FACETED SEARCHING OF RESOURCES VIA A WEB APPLICATION

INTERNATIONAL BUSINESS MA...

1. A computer implemented method for searching resources via a web portal in a user interface framework, the method comprising:initiating a first search request via a search engine interface;
defining a plurality of resource types and at least one user interface control class of a plurality of user interface control classes for each resource type of the plurality of resource types;
associating each of the plurality of resource types to a resource to generate the associated resource types;
receiving a search result and the associated resource types in response to the first search request;
mapping the associated resource types to the at least one user interface control class of the plurality of user interface control classes resulting in at least one selected class group,
wherein the at least one selected class group comprises one or more interactive elements of the web portal to receive command;
dynamically mapping the at least one selected class group to a corresponding instance of user interface controls to provide a one-to-one relationship between the at least one selected class group and the corresponding instance of user interface controls;
defining default input values for each instance of the plurality of user interface control classes based on a corresponding resource type, wherein the defining of the default input values is dynamically adaptable in accordance with a content of the search result that reflect changes and one or more user interface slider controls;
rendering the search result and the corresponding instance into a faceted user interface;
receiving an input via the corresponding instance rendered into the faceted user interface;
filtering the search result based on the input to generate a filtered search result; and
rendering the filtered search result into the faceted search interface.

US Pat. No. 10,114,895

SYSTEM AND METHOD FOR ENHANCING USER SEARCH RESULTS BY DETERMINING A STREAMING MEDIA PROGRAM CURRENTLY BEING DISPLAYED IN PROXIMITY TO AN ELECTRONIC DEVICE

GOOGLE LLC, Mountain Vie...

1. A method for enhancing search queries related to streaming multimedia, the method comprising:at a server with one or more processors and memory storing programs configured for execution by the one or more processors:
receiving a search query from a first user device entered by a user during a time window;
accessing a repository of streaming multimedia related information to determine one or more streaming multimedia programs available to the first user device for watching during the time window;
identifying a first set of categories associated with the received search query;
for each streaming multimedia program of the one or more streaming multimedia programs, identifying a respective second set of categories associated with the respective streaming multimedia program;
determining that a first streaming multimedia program of the one or more streaming multimedia programs is being displayed on a second user device in proximity to the first user device by comparing the first set of categories to each second set of categories;
determining one or more additional search terms that are relevant to the determined first streaming multimedia program and the received search query;
modifying the received search query by adding the one or more additional search terms to the received search query;
identifying search results corresponding to the modified search query; and
causing the first user device to display the search results.

US Pat. No. 10,114,894

ENHANCING A SEARCH WITH ACTIVITY-RELEVANT INFORMATION

INTERNATIONAL BUSINESS MA...

1. A method for online searching, the method comprising:monitoring for user activity occurring at an application other than a search application, wherein the monitoring occurs because of a permission to monitor by the user, the permission being configured by the user in a user profile associated with the user, wherein the search application is used for online searching;
detecting, responsive to the monitoring, the user activity at the application;
collecting data of the user activity from the application responsive to the detecting;
analyzing, using a processor and a memory, the data of the user activity, the user activity occurring at the application;
identifying, responsive to the analyzing, a topic of interest of the user;
detecting a search term input at the search application;
identifying a subject of the search term;
modifying the search term using a modifier, wherein the modifier is a term related to the topic of interest, and wherein the online searching occurs responsive to the modified search term;
further modifying the search term to use a mandatory term, wherein the mandatory term must appear in a preview of each result in a result set, the result set being responsive to the online searching using the modified search term, wherein the mandatory term is selected by the user from a list of mandatory terms;
receiving a result set responsive to the online searching using the modified search term;
determining whether a preview of a result in the result set includes a portion corresponding to one of (i) the topic of interest, (ii) the modifier, and (iii) a term stored in a modifier repository in association with the modifier;
highlighting the portion; and
highlighting in each result in the result set, the mandatory term, wherein the mandatory term is highlighted differently than the portion.

US Pat. No. 10,114,893

METHOD AND SYSTEM FOR INFORMATION QUERYING

1. A method, comprising:receiving, by a processing system comprising a processor, a query command during a media presentation, wherein the media presentation includes media images and an audio portion;
determining a first text portion associated with the media images based on an analysis of the audio portion of the media presentation temporally associated with a receipt of the query command;
providing a presentation image of the first text portion to be included in the media presentation;
accessing, by the processing system, a media image of the media images associated with the media presentation in accordance with the receiving of the query command;
accessing, by the processing system, a prior image of the media images of the media presentation responsive to the accessing the media image;
receiving, by the processing system, a selection of a portion of the first text portion as a second text portion;
performing, by the processing system, facial recognition on the prior image to receive facial recognition data;
querying, by the processing system, an information source with the second text portion and the facial recognition data, the information source being capable of using the facial recognition data to provide a first result related to the selection of the second text portion;
providing, by the processing system, the first result to be included in the media presentation;
receiving, by the processing system, a selection of a third text from text included in the first result;
querying, by the processing system, the information source based on the selection of the third text to provide a second result; and
providing, by the processing system, the second result to be included in the media presentation.

US Pat. No. 10,114,892

CREATING A SINGLE PLAYLIST WITH MULTIPLE AUTHORS

GOOGLE LLC, Mountain Vie...

20. A method comprising:receiving, via a graphical user interface (GUI) of a mobile device, information identifying a playlist, the information comprising a uniform resource locator (URL) of a playlist maintained as metadata of the playlist, the URL to access the playlist on a content sharing platform;
facilitating, via the GUI, input from a first user, the input specifying one or more other users to be invited as another author of the playlist; and
for each of the specified one or more other users, receiving, via the GUI, corresponding permission levels for the other users with respect to the playlist, wherein identifiers (IDs) of the first user and the other users and the respective permission levels specified for the one or more other users are stored as the metadata of the playlist responsive to the respective one or more other users providing an indication of acceptance of a request to be an author of the playlist, wherein the permission levels comprise content type permissions pertaining to the other users, the content type permissions to restrict a type of content item of the content sharing platform that the other users can add to the playlist, wherein the type of content item is in accordance with a content rating of the content item.

US Pat. No. 10,114,891

METHOD AND SYSTEM OF AUDIO RETRIEVAL AND SOURCE SEPARATION

Thomson Licensing, (FR)

1. A method comprising:receiving a textual query;
retrieving a preliminary audio sample from an auxiliary audio database by matching the textual query with semantic information associated to the auxiliary audio database;
performing one of
retrieving a target audio sample from a target audio database by matching the preliminary audio sample with the target audio database; and performing an audio-source separation technique on the retrieved target audio sample for separating the retrieved target audio sample into a plurality of audio source signals, wherein retrieving the target audio sample from the target audio database and performing the audio-source separation technique on the retrieved target audio sample are performed jointly, retrieving the target audio sample from the target audio database including comparing the target audio sample with a negative data set; and
separating a target source signal of an audio mixture, said target source signal being described by said textual query, by matching the preliminary audio sample with the audio mixture.

US Pat. No. 10,114,890

GOAL BASED CONVERSATIONAL SERENDIPITY INCLUSION

International Business Ma...

1. A method of operating an electronic meeting assistant injecting information into a deliberation over time comprising:extracting, by an input module of the electronic meeting assistant system, at least one concept from a plurality of statements asserted by at least one participant of a group;
correlating, by a correlation module of the electronic meeting assistant system, the at least one concept to a goal of the deliberation, wherein the goal is consensus of the group;
tagging, by a tagging module of the electronic meeting assistant, at least one of the plurality of statements with an identifier of a participant who asserted the statement;
clustering, by a clustering module of the electronic meeting assistant, a plurality of participants of the group according to a slant on each of the at least one concept;
searching, by a retrieval system of the electronic meeting assistant, using the at least one concept, the statements tagged by the tagging module and a set of the participants clustered according to a certain slant that is not in agreement with the goal, for new information or concepts that negate the certain slant; and
injecting, by an injector module of the electronic meeting assistant, the new information into the deliberation at a rate determined by a degree of negation of the new information or concepts towards the goal, wherein the degree of negation is updated after each injection of the new information and wherein the rate of injection is selected to maintain a rate of convergence to the goal.

US Pat. No. 10,114,889

SYSTEM AND METHOD FOR FILTERING KEYWORDS

Beijing Qihoo Technology ...

1. An improved information filtering system for filtering out sensitive information from content, which comprises:a processor; and
a memory communicatively coupled to the processor and storing instructions that upon execution by the processor cause the system to:
acquire text content;
scan the text content through a preset keyword dictionary;
in response to a determination that the text content contains a plurality of keywords stored in the preset keyword dictionary, determine a position of each of the plurality of keywords in the text content;
determine at least one character pitch between any two of the plurality of keywords in the text content based on the position of each keyword among the plurality of keywords, wherein the at least one character pitch is a difference between positions of any two of the plurality of keywords in the text content;
determine whether the at least one character pitch does not exceed a preset character pitch;
in response to a determination that the at least one character pitch does not exceed the preset character pitch, filter out the plurality of keywords from the text content;
wherein the preset keyword dictionary further stores a preset order of at least two keywords among all of the keywords that need to be filtered out; and
wherein the memory further stores instructions that upon execution by the processor cause the system to:
determine the order of the plurality of keywords according to the position of each keyword among the plurality of keywords in the text content,
compare the order of the plurality of keywords in the text content with the preset order of corresponding keywords stored in the keyword dictionary, and
when the order of the plurality of keywords in the text content matches the preset order of the corresponding keywords stored in the keyword dictionary, determine that the plurality of keywords satisfy the preset order.

US Pat. No. 10,114,888

TERMINAL, SYSTEM, METHOD, AND PROGRAM FOR PRESENTING SENTENCE CANDIDATE

1. A terminal for presenting a sentence candidate, comprising:a report data base that stores a plurality of reports, each including a plurality of sentences;
a sentence selection unit that receives a selection of a sentence from a user;
a report group generation unit that searches the report data base by the selected sentence and generates a report group including a plurality of searched reports as a search result, each of the searched reports including the selected sentence;
a sentence group generation unit that extracts a sentence right after the selected sentence from each searched report included in the report group and generates a sentence group from a plurality of sentences which are extracted from the plurality of searched reports, respectively; and
a sentence output unit that preferentially outputs a predetermined sentence from the sentence group based on a frequency of using the sentence right after the selected sentence,
wherein the sentence output unit outputs not only the predetermined sentence but also a sentence right before and after the predetermined sentence in a report from which the predetermined sentence is extracted, in response to a user's operation.

US Pat. No. 10,114,887

GENERATING A SET OF REPRESENTATIVE ITEMS USING A DYNAMIC SELECTION STRATEGY

Amazon Technologies, Inc....

1. A computing system comprising:a memory configured to store processor-executable instructions; and
a processor in communication with the memory and configured to execute the processor-executable instructions to perform operations comprising:
determining an initial number of reviews of an item included in a set of reviews of the item, wherein the initial number is indicative of the number of reviews initially included in the set of reviews;
selecting, based at least in part on the initial number of reviews, one of a clustering-selection strategy or a maximum-set-coverage selection strategy as a first review selection strategy;
selecting a first subset of the set of reviews using the first review selection strategy;
providing the first subset of reviews to another computing device for presentation via a user interface;
determining that a change in the initial number of reviews has occurred;
determining an updated number of reviews included in the set of reviews based at least in part on determining that a change in the initial number of reviews has occurred;
identifying, based at least in part on the updated number of items, one of the clustering-selection strategy or the maximum-set-coverage selection strategy as a second review selection strategy; and
selecting a second subset of the set of reviews using the second review selection strategy.

US Pat. No. 10,114,886

METHOD FOR INTERACTING WITH A GROUP OF INDIVIDUALS AS A SINGLE CONTACT

1. A method for establishing a group as a single contact for a contact center, the method comprising:identifying, by a processor, an ad associated with a keyword;
outputting, by the processor, the ad in response to receiving the keyword from one or more user devices;
monitoring, by the processor, responses by the one or more user devices to the output ad;
identifying, by the processor, a threshold number of the responses by the one or more user devices;
establishing, by the processor, a group based on identifying the threshold number of the responses, the group including as a group member, each user associated with a responding one or more user devices;
aggregating, by the processor, contact information of each user associated with the responding one or more user devices;
storing, by the processor, the aggregated contact information in association with the group, the group being further associated with the single contact for communicating with the group;
initiating, by the processor, communication with the group; and
in response to the initiating of the communication with the group, establishing, by the processor, a communication channel to the group based on the single contact, wherein communication with the group is via the established communication channel.

US Pat. No. 10,114,884

SYSTEMS AND METHODS FOR ATTRIBUTE ANALYSIS OF ONE OR MORE DATABASES

PALANTIR TECHNOLOGIES INC...

1. A computer-implemented method for identifying trends of one or more items from an item database, the computer-implemented method comprising:accessing item data from a first data source;
accessing item metadata from a second data source, the item metadata comprising a mapping of item identifiers to respective categories, and one or more metadata values for each item of the item metadata;
analyzing the item data by at least:
determining cleansed item data;
determining a set of attributes from the cleansed item data; and
determining a category for each respective item using the mapping of item identifiers to respective categories;
receiving input comprising data indicative of a first attribute from the set of attributes and a first category;
determining a set of items where each item of the set of items are associated with the first category;
determining combinations of pairs of attributes from each item of the set of items;
determining, from the combinations of pairs of attributes, filtered combinations of pairs of attributes that include the first attribute and at least one other attribute, the at least one other attribute different from the first attribute;
determining, from the set of items, a plurality of collections of items, wherein each collection of items from the plurality of collections of items comprises one or more items associated with at least a pair of attributes from the filtered combinations of pairs of attributes;
determining, from the item metadata, a set of metadata values associated with one or more items from the plurality of collections of items;
aggregating the set of metadata values to determine a plurality of summary indicators, wherein each summary indicator is representative of each collection of items from the plurality of collections of items;
generating a ranking from the plurality of summary indicators;
selecting, from the plurality of collections of items, a subset of the plurality of collections of items according to the ranking;
generating, from the plurality of summary indicators, a plurality of graphs for the subset of the plurality of collections of items;
presenting, in a user interface, the plurality of graphs associated with a respective indicator for a particular pair of attributes from the filtered combinations of pairs of attributes;
receiving second user input via the user interface, the second user input comprising data indicative of the first attribute, the first category, and a second exclusion attribute from the set of attributes;
determining a second set of items associated with the first category;
determining a first subset of items from the second set of items, wherein each item of the first subset of items is further associated with the first attribute, and wherein the first subset of items comprises a first item and a second item, the first item associated with the first attribute and the second exclusion attribute;
determining a second subset of items by removing the first item from the first subset of items;
determining, from the item metadata, a second set of metadata values associated with the second subset of items; and
presenting a visualization, in the user interface, associated with the second set of metadata values.

US Pat. No. 10,114,883

GENERATING PREFERRED METADATA FOR CONTENT ITEMS

Apple Inc., Cupertino, C...

1. A method for displaying information about a content item comprising:at an electronic device in communication with a display device and one or more input devices:
receiving first metadata associated with the content item from a first source and second metadata associated with the content item from a second source, wherein both the first and second metadata are associated with a first attribute of the content item, the first source is not a provider of the content item and the second source is a provider of the content item;
receiving, via the one or more input devices, a request to display a user interface associated with the content item; and
in response to receiving the request to display the user interface associated with the content item:
displaying, on the display device, the user interface including information associated with a second attribute of the content item, different than the first attribute of the content item, and information associated with the first attribute of the content item, wherein the information associated with the first attribute of the content item includes:
in accordance with a determination that the second attribute of the content item is a first respective attribute, the first metadata associated with the first attribute of the content item and not the second metadata associated with the first attribute of the content item; and
in accordance with a determination that the second attribute of the content item is a second respective attribute, the second metadata associated with the first attribute of the content item and not the first metadata associated with the first attribute of the content item;
wherein the user interface includes information associated with a third attribute of the content item, and the information associated with the third attribute of the content item includes portions of third metadata associated with the third attribute of the content item and portions of fourth metadata associated with the third attribute of the content item.

US Pat. No. 10,114,882

CONTENT DELIVERY NETWORK ANALYTICS MANAGEMENT VIA EDGE STAGE COLLECTORS

Level 3 Communications, L...

1. An analytics system comprising:at least one edge server disposed in an edge site of a content delivery network (CDN);
at least one collector module stored in memory and executable by a processor to collect analytics associated with requests for content in the CDN, the at least one collector module disposed in the edge site including the at least one edge server,
wherein the at least one edge server extracts data from the requests for content in the CDN to determine Autonomous System Numbers (ASNs) associated with one or more networks from which the requests originate;
wherein the at least one collector module is executable by the processor to:
apply a collection policy to the requests for content in the CDN;
provide metrics for monitoring and alerting the analytics system; and
provide scalability for adding and subtracting collector modules in response to fluctuations in the amount of collected analytics;
a first portal that enables management of reports associated with the collected analytics; and
a second portal that enables management of reporting configurations as implemented by the at least one collector module, wherein the first portal is configured to receive and reply to queries from the second portal.

US Pat. No. 10,114,881

FAST SERIALIZATION FOR DATA TRANSFER

SAP SE, Walldorf (DE)

1. A computer-implemented method for improving data transferring efficiency from a first database to a second database, comprising:analyzing a column of data stored in the first database to determine at least one serialization parameter, the at least one serialization parameter comprises a repetition counter or a replication counter;
determining a data serialization scheme associated with the data based on the at least one serialization parameter, wherein the data serialization scheme comprises at least a repetition scheme or a replication scheme, wherein the repetition scheme comprises:
writing the repetition counter to a transfer medium;
serializing at least one value in a value set to the transfer medium;
determining an index that corresponds to a data value; and
writing the index to the transfer medium;
determining a variable serialization scheme associated with the data based on a variable type of the data;
repeating the analyzing, the determining of the data serialization scheme, and the determining of the variable serialization scheme for each column of the data stored in the first database;
serializing the data stored in the first database using the data serialization scheme and the variable serialization scheme; and
transferring the serialized data to the second database.

US Pat. No. 10,114,879

SYSTEMS AND METHODS FOR GENERATING PLUGGABLE DOMAIN-SPECIFIC DATA TYPES

Comprehend Systems, Inc.,...

1. A method for generating a pluggable domain-specific data type, the method comprising:determining a schema for the domain-specific data type, the schema including a data protocol that defines how data units are to be encoded into a domain-specific data unit, the domain-specific data unit including two or more data units received from one or more data sources, each data unit having a unit of measure;
assigning a third unit of measure to the domain-specific data type, the third unit of measure based upon at least two of the two or more data units;
converting a first domain-specific data unit into a second domain-specific data unit utilizing the units of measure for both the first and second domain-specific data units;
generating the domain-specific data type utilizing the determined schema, the domain-specific data type having a pluggable format such that the domain-specific data type may be utilized by a third-party application; and
storing the domain-specific data type in a domain-specific data type library.

US Pat. No. 10,114,877

METHOD AND APPARATUS FOR ACCESSING A DATA SOURCE FROM A CLIENT USING A DRIVER

Open Invention Network LL...

1. A method, comprising:providing, at a client side, a data source name (DSN) to connect to a data source using a database driver, the DSN comprising at least one of a Component Object Model based library or a Component Object Model based application of the data source that implements a driver interface to access the data source;
providing a connection string including a driver name for the database driver and an identifier for the implementation of the driver interface; and
using the database driver, at the client side, to interface between the client and an implementation, at the data source side, of a driver interface to access the data source based on the DSN, using the database driver comprising:
establishing a connection between the client and the implementation via the database driver using the DSN, wherein the implementation includes an identifier that identifies class, and identifies applications or libraries that implement the driver interface; and
establishing a second connection between a driver manager that manages at the client side and the implementation via the database driver using the DSN.

US Pat. No. 10,114,876

DATA AUGMENTATION BETWEEN DEVICES USING VISUAL CODE

SAP SE, Walldorf (DE)

1. A method comprising:determining, by a computing device, a data set stored in one or more database tables in a database system;
receiving, by the computing device, a visualization that was created using data from the data set that is stored in the one or more database tables;
storing, by the computing device, the visualization in the one or more database tables;
generating, by the computing device, a visual code for the visualization, the visual code including a link to the stored visualization;
after creating the visualization, outputting, by the computing device, the visual code with at least a portion of the data from the data set, wherein the data from the at least the portion of the data set that is output is output in a grid format that is different from the stored visualization;
receiving, by the computing device, a request via the link from a mobile device, the request generated in response to the mobile device capturing the visual code;
using, by the computing device, the link to retrieve the visualization from the one or more database tables, wherein the visualization is stored with a key in the database table with the data set, the key allowing the visualization to be retrieved; and
outputting, by the computing device, the stored visualization to the mobile device in response to receiving the request, the stored visualization summarizing the at least the portion of the data set that is output in the grid format.

US Pat. No. 10,114,875

DASHBOARD CONTROLS TO MANIPULATE VISUAL DATA

MICROSOFT TECHNOLOGY LICE...

1. A method comprising:under control of one or more processors configured with executable instructions:
presenting a dashboard display including multiple objects on a display of a computing device;
modeling data stored in a database or a spreadsheet by the multiple objects using one or more graphical controls in the dashboard, the modeling comprising dynamically adjusting the data stored in the database or the spreadsheet responsive to graphical manipulation of the multiple objects using the one or more graphical controls, the graphical manipulation comprising receiving a selection of an object of the multiple objects without typing of data for the object; and
in response to receiving the selection of the object, providing visual indications of which one or more other objects of the multiple objects would be affected in response to a change in the selected object, wherein the visual indications include a change in size and a change in color of the one or more other objects of the multiple objects that would be affected in response to the change in the selected object.

US Pat. No. 10,114,874

SOURCE QUERY CACHING AS FAULT PREVENTION FOR FEDERATED QUERIES

Red Hat, Inc., Raleigh, ...

1. A method of processing a federated query, comprising:receiving an indication that a first set of source queries embedded in a first federated query failed to execute successfully, each source query specifying a set of source tables stored in a target autonomous data source of a plurality of target autonomous data sources belonging to a federation, at least two source queries of the first set of source queries being specific to different data sources, and the first federated query being sent from a client;
storing the first set of source queries and metadata associated with the first set of source queries into a data structure, the first set of source queries including a first source query;
for each source query of the first set of source queries that is determined to be stored in the data structure, updating metadata of each entry corresponding to the respective source query stored in the data structure, the metadata including a number of times the respective source query has failed and further including a timestamp of the respective failure;
selecting a second set of source queries from the data structure, the second set of source queries including the first source query and having a higher probability of failure than a third set of source queries stored in the data structure;
submitting the second set of source queries to one or more target data sources;
for each result of a source query of the second set of source queries, storing the result in a cache external to the federation;
receiving an indication that the first source query embedded in a second federated query failed to execute successfully, the second federated query including a second source query, and the first source query specifying a first set of source tables stored in a first target autonomous data source;
generating a third source query by replacing a first set of source table names included in the first source query with a second set of source table names that identifies a second set of source tables, the second set of source tables being stored in the cache and storing data cached from the first set of source tables, and the first set of source table names being different from the second set of source table names;
generating a third federated query including the second and third source queries;
submitting each source query embedded in the third federated query to one or more data sources, the third source query specifying the second set of source tables and being submitted to the cache; and
sending a combined result set responsive to the third federated query to the client, the combined result set including a first result set responsive to the second source query and further including a cached result set responsive to the third source query, and the cached result set being stored in the cache.

US Pat. No. 10,114,873

COMPUTER IMPLEMENTED METHODS AND APPARATUS FOR RETRIEVING CONTENT RELATED TO A FEED ITEM OF AN ONLINE SOCIAL NETWORK

salesforce.com, inc., Sa...

1. A system comprising:a database system implemented using a server system comprising one or more processors, the database system configurable to cause:
processing a post shared by a user of an online social network in a feed of the online social network, the post comprising textual content and being identifiable through one or more objects stored in a database, the feed being displayable in a user interface on a display device, the processing of the post comprising:
identifying a first keyword of the textual content of the post as being preceded by a first tag to define a first tagged keyword,
identifying a first data source specified by the first tag, the first data source being external to the database system,
identifying a second keyword of the textual content of the post as being preceded by the first tag or a second tag to define a second tagged keyword, and
identifying a second data source specified by the first tag or the second tag, the second data source being different from the first data source and being external to the database system;
requesting a first search of the first data source using the first keyword;
requesting a second search of the second data source using the second keyword; and
processing a plurality of content records identified by the searches, the processing of the content records comprising:
selecting one or more of the content records as satisfying criteria specifying one or more of: a visibility of a content record, a relevance of a content record, a designated data source for a content record, a type of a content record, an action to perform in association with a content record, or a time range for an action to be performed in association with a content record, and
responsive to selecting the one or more content records as satisfying the criteria, automatically generating and sharing in the feed a comment on the post, the comment comprising at least a portion of record content of the selected one or more content records;
selecting a further content record in accordance with further criteria, the further criteria being configurable using a settings interface;
automatically generating and sharing in the feed one or more further comments on the post, the one or more further comments comprising at least a portion of record content of the selected further content record; and
automatically generating, using one or more heuristics, a feed tracked update associated with the selected further content record.

US Pat. No. 10,114,872

REAL-TIME AND ADAPTIVE DATA MINING

1. A method of analyzing data, comprising:generating, by an entity, a query based at least in part on a topic of interest;
executing the query on a plurality of data sources, at least one of the plurality of data sources comprising at least one of knowledge center information, frequently asked questions (FAQs), user comments, customer service data, or a combination thereof;
selecting, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
monitoring, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
extracting data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
determining an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
determining a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
dynamically adjusting the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
analyzing, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
establishing a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided data to the data source, based on the analysis of the extracted data;
transmitting, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
receiving, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

US Pat. No. 10,114,871

REAL-TIME AND ADAPTIVE DATA MINING

1. A method of analyzing data, comprising:generating, by an entity, a query based at least in part on a topic of interest;
executing the query on a plurality of data sources, at least one of the plurality of data sources comprising legal data for summarization;
selecting, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
monitoring, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
extracting data from the data source when at least the update to the stored data matches the query, the newly added data matches the query, or the combination thereof;
determining an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
determining a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
dynamically adjusting the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
analyzing, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
establishing a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided the data to the data source, based on the analysis of the extracted data;
transmitting, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
receiving, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

US Pat. No. 10,114,870

REAL-TIME AND ADAPTIVE DATA MINING

1. A method of analyzing data, comprising:generating, by an entity, a query based at least in part on a topic of interest;
executing the query on a plurality of data sources, at least one of the plurality of data sources comprising at least one of bullying information, harassment information, or a combination thereof;
selecting, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
monitoring, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
extracting data from the data source when at least the update to the stored data matches the query, the newly added data matches the query, or the combination thereof;
determining an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
determining a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
dynamically adjusting the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
analyzing, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
establishing a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided the data to the data source, based on the analysis of the extracted data;
transmitting, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
receiving, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

US Pat. No. 10,114,869

SYSTEMS AND METHODS FOR CUSTOMIZED ELECTRONIC COMMUNICATIONS

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

1. A system for displaying electronic content to a recipient based on recorded web-based activity data, comprising:at least one storage medium comprising electronic content associated with a plurality of general topics of interest and specific topics of interest; and
at least one processor in communication with the storage medium and configured to execute a plurality of operations, the operations comprising:
receiving, over a network, an electronic communication addressed to the recipient;
identifying a general topic of interest based on the content of the electronic communication;
identifying at least one specific topic of interest based on the content of the electronic communication;
accessing stored web-based activity data associated with the recipient, the stored web-based activity data including at least one of email activity, search engine query history, and browsing activity;
accessing a plurality of electronic content stored in the at least one storage medium;
determining, based on the identified general and specific topics of interest and the stored web-based activity, at least one content selection rule, wherein the at least one content selection rule identifies an advertisement or message based on at least one of the identified general and specific topics of interest;
applying the at least one content selection rule to determine a score for each of the plurality of accessed electronic content;
selecting, based on the determined scores at least one of the plurality of accessed electronic content; and
determining, based on the stored web-based activity, a displaying mechanism to display the selected electronic content on a device of the recipient, the displaying mechanism comprising at least one of a banner, a pop-up, a text-link, and a video.

US Pat. No. 10,114,868

ELECTRONIC DATA GENERATION METHODS

ROY MORGAN RESEARCH PTY. ...

1. An electronic method of controlling response data communicated to a data processing system from a respondent device, the method comprising:receiving, via an input device of the respondent device displaying a slider bar on a scale, input from a respondent for controlling movement of the slider bar on the scale, wherein the position or positions of the slider bar on the scale over time is indicative of the respondent's response or responses to a time-varying stimulus over time;
monitoring, by the respondent device, the input device to determine whether or not a portion or portions of the input meet an attention criterion by:
a) recording a first time stamp when the slider bar was last controlled by the respondent to move the scale,
b) recording a second time stamp after the first time stamp,
c) comparing the first time stamp to the second time stamp to determine a time period from the first time stamp to the second time stamp,
d) determining that the input meets the attention criterion when it is determined that respondent has continuously maintained contact with the input device over the time period from the first time stamp to the second time stamp, and
e) determining that the input does not meet the attention criterion when it is determined that respondent has not continuously maintained contact with the input device over the time period from the first time stamp to the second time stamp; and
communicating, by the respondent device, response data to the data processing system based on the portion or portions of the input only when the respondent device determines that the portion or portions of the input meet the attention criterion.

US Pat. No. 10,114,867

METHODS AND SYSTEMS FOR SELECTIVELY RETRIEVING DATA TO PROVIDE A LIMITED DATASET FOR INCORPORATION INTO A PIVOT TABLE

LOOKER DATA SCIENCES, INC...

1. A computer-implemented method for selectively retrieving data from an initial dataset in a relational database to provide a limited dataset for incorporation into a pivot table, the method comprising the following steps performed by one or more computer processors of a computer:a. receiving in a user interface to a database application program executing in the computer, a designation of a grouping column in the initial dataset, wherein the grouping column comprises one or more groups of grouping values;
b. receiving in the user interface a designation of a partition column in the initial dataset, wherein the partition column comprises one or more partition values;
c. receiving in the user interface a designation of an ordering column in the initial dataset, wherein the ordering column comprises one or more ordering values, and wherein the initial dataset comprises one or more rows, wherein each row comprises a corresponding grouping value, a corresponding partition value, and a corresponding ordering value;
d. receiving in the user interface a designation of a specific partition value;
e. identifying rows in the initial dataset which comprise the specific partition value;
f. selecting the rows that include the specific partition value, and limiting the selected rows based on a ranking of the corresponding ordering value of each selected row to provide a limited set of rows;
g. expanding the limited set of rows to include all rows that share grouping values in common with the grouping values of the limited set of rows to provide the limited dataset;
h. retrieving from memory, a designated row limit, and on condition that a number of rows in the expanded ones of the limited ones of the selected rows exceed the row limit, reducing a number of rows in the expanded ones of the limited ones of the selected rows to cause the number of rows to meet the designated row limit, but on condition that the number of rows in expanded ones of the limited ones of the selected rows falls short of the row limit, inserting additional rows of a different partition value into the expanded ones of the limited ones of the selected rows until the number of rows is equivalent to the designated row limit;
i. inserting the expanded ones of the limited ones of the selected rows into a pivot table comprising a row for each distinct grouping value and a column for each distinct partition value in the limited data set, wherein each distinct grouping value and each distinct partition value forms a distinct grouping value-partition value pair that defines a unique cell in the pivot table and corresponds to a distinct row of the limited dataset, by populating each cell defined by each distinct grouping value-partition value pair with the corresponding ordering value from each distinct row in the limited dataset, and,
j. displaying the pivot table in the user interface to the database application program.

US Pat. No. 10,114,866

MEMORY-CONSTRAINED AGGREGATION USING INTRA-OPERATOR PIPELINING

SAP SE, Walldorf (DE)

1. A computer implemented method for aggregating tuples, comprising:separating, by at least one processor, the tuples into a plurality of partitions using a hash function;
first processing, by the at least one processor, a portion of the tuples associated with a partition in the plurality of partitions based on the separating;
reserving, by the at least one processor, a first block for the partition from a free list based on a minimum number of blocks in the free list to perform a second processing and a third inserting;
first inserting, by the at least one processor, the processed portion of the tuples into the first block;
second inserting, by the at least one processor the first block into a buffer associated with the partition;
performing the second processing, by the at least one processor, the first block in the buffer; and
performing the third inserting, by the at least one processor, the processed first block into the free list,
wherein at least one of the separating, first processing, first inserting, second inserting, second processing, and third inserting is performed by one or more computers.

US Pat. No. 10,114,865

TILE CACHE

Microsoft Technology Lice...

1. A system comprising:one or more processors; and
one or more computer-readable storage media storing instructions that are executable by the one or more processors to perform operations including:
storing tile content for a tile in a first tile slot in a cache, the tile being selectable in a user interface to invoke an associated functionality;
receiving new tile content for the tile;
detecting that the new tile content exceeds available storage in the first tile slot;
creating, based on the detecting, a second tile slot in the cache and at a different location in the cache than the first tile slot;
storing the new tile content in the second tile slot;
mapping the tile to the second tile slot; and
reordering the cache to incorporate the second tile slot such that a tile slot order in the cache matches a visual order of a group of tiles that includes the tile.

US Pat. No. 10,114,864

LIST ELEMENT QUERY SUPPORT AND PROCESSING

Amazon Technologies, Inc....

1. A system comprising:one or more hardware computing devices comprising one or more hardware processors and memory;
a database storing one or more tables, wherein at least one of the tables includes a plurality of records that include respective lists of elements; and
an update module implemented by the one or more hardware computing devices, wherein the update module is configured to:
receive an update command that specifies an element and a record of the plurality of records;
update, according to the update command, a list of elements for the specified record of the plurality of records;
determine an operand set that includes one or more unique operands respectively mapped to one or more elements of the updated list of elements for the specified record of the plurality of records;
apply a function to the one or more unique operands of the operand set to determine a function value such that a complementary function applied to the function value and a given operand indicates whether the given operand is included in the operand set; and
update the specified record of the plurality of records to include the determined function value; and
a query module implemented by the one or more hardware computing devices, wherein the query module is configured to:
receive a query for which of the records of the plurality of records include a list of elements that includes an element specified in the query;
determine a unique operand mapped to the element specified in the query;
for the plurality of records in the table:
apply the complementary function to the unique operand and to function values of the plurality of records in the table to determine which of the records in the table include a respective function value generated using the unique operand; and
determine, based at least on which records in the table include function values generated using the unique operand, which of the plurality of records include a respective list of elements that includes the element specified in the query; and
respond to the query with an indication of which of the plurality of records include a respective list of elements that includes the element specified in the query.

US Pat. No. 10,114,863

SUGGESTION OF A BROAD-SPECTRUM LIST OF GROUPED NATURAL LANGUAGE SEARCH QUERY TERMS

International Business Ma...

1. A method for suggesting a search query based on terms, the method comprising:receiving, via a processor, a search query having at least a first term;
identifying a plurality of related terms having a relationship to the first term, based on prior search queries;
determining to ignore a first related term of the plurality of related terms, based on the first related term having not been observed with the first term over a specified time interval; and
generating a plurality of predictive suggestions for completing the search query, wherein none of the plurality of predictive suggestions includes the ignored first related term, wherein a first of the plurality of predictive suggestions includes at least the first term, and wherein a second of the plurality of predictive suggestions includes an identified semantic equivalent of the first term and a second related term of the plurality of related terms, wherein the identified semantic equivalent is synonymous with the first term.

US Pat. No. 10,114,861

EXPANDABLE AD HOC DOMAIN SPECIFIC QUERY FOR SYSTEM MANAGEMENT

DELL PRODUCTS L.P., Roun...

1. A system for performing an ad hoc query comprising:a query service operating on a processor and configured to receive an ad hoc query in a domain-specific language;
a query parsing service operating on the processor and configured to receive a validate request and a parse request from the query service and to return a query object to the query service; and
a queryable interface operating on the processor and configured to receive the query object and to transmit the query object to one or more framework services for execution, wherein the ad hoc query contains one or more new key words and the query parsing service and the queryable interface are configured to add the one or more new key words if they are located in an associated model in the framework services.

US Pat. No. 10,114,860

COMPUTERIZED CASE MANAGEMENT SYSTEM WITH AUTO-GENERATED MEMORABLE CASE IDENTIFIERS

EMC IP Holding Company LL...

1. A method of operating a case management system having a case database storing case records in association with respective internal case identifiers, comprising:automatically generating memorable case identifiers and providing them to users of the case management system for use in identifying respective case records, the memorable case identifiers being generated by encoding the internal case identifiers along with respective user identifiers as respective sequences of words of a natural language of the users according to an encoding function, the sequences of words forming the memorable case identifiers; and
retrieving case records from the case database and providing the case records to the users based on memorable case identifiers received from the users, the case records being retrieved by decoding received memorable case identifiers into respective internal case identifiers and accessing the case database using the respective internal case identifiers from the decoding; and
receiving and using feedback information to modify future operation based on past operation, the feedback information including memorability information indicating a level of memorability of memorable case identifiers that have been automatically generated, the memorability information used to alter the encoding operation to prefer words having characteristics correlated with higher memorability as identified by the memorability information.

US Pat. No. 10,114,859

EXTENSIONS OF STRUCTURED QUERY LANGUAGE FOR DATABASE-NATIVE SUPPORT OF GRAPH DATA

SAP SE, Walldorf (DE)

1. A computer program product comprising a non-transient machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:receiving an input, the input being in a native language configured to manipulate data in a database;
generating, based at least on the input, a graph workspace object in a database layer comprising the database, the graph workspace object providing a database view of a graph by at least referencing a vertex table and an edge table identified by the input, the vertex table and/or the edge table comprising one or more tables in a physical table pool of the database, the vertex table including a vertex key column defining a plurality of vertices comprising the graph, the edge table including an edge key column, a source column, and a target column defining one or more edges comprising the graph, the one or more edges corresponding to relationships between the plurality of vertices;
and
generating, based at least on the graph workspace object, a graph workspace in a higher level programming layer of the database, the graph workspace providing a database view of the graph.

US Pat. No. 10,114,858

MACHINE-ASSISTED OBJECT MATCHING

Maana, Inc., Palo Alto, ...

1. A method for managing data using one or more processors, included in one or more network computers, wherein the one or more processors execute instructions to perform actions, comprising:employing a source data server to provide a principal data set of principal objects and another data set of other data objects;
instantiating a first engine to perform actions including:
associating one or more principal objects with one or more other objects that are selected as potential matches to the one or more of the principal objects; and
identifying each match and non-match of the one or more of the selected other objects with their associated principal object; and
instantiating a second engine to train and employ a ranker to identify a matched other object that is top-ranked in similarity by its association with the one or more principal objects;
instantiating a third engine to selectively filter the other objects to rank each matched other object higher than other objects associated with a same principal object; and
employing geolocation information from a Global Positioning System (GPS) device at a client computer to determine one or more features that are included in a display of the ranked other objects to a user to improve the user's understanding, wherein the features include one or more of time zones, languages, currencies, or calendar formatting that is displayed to the user of the client computer when the client computer is located at a particular geo-location.

US Pat. No. 10,114,857

TECHNIQUES FOR PERFORMING MULTI-SYSTEM COMPUTER OPERATIONS

LendingClub Corporation, ...

1. A method for determining whether a multi-system operation that involves a first service and a second service completed successfully, the method comprising:within a first database system used by the first service, using a first transaction to perform both (a) first changes required by the multi-system operation, and (b) second changes to record metadata about the multi-system operation, wherein the metadata that is recorded about the multi-system operation includes a correlation identifier assigned to the multi-system operation;
when the first transaction commits, storing in a commit log of the first database system a first set of commit records;
wherein all records in the first set of commit records are assigned a first transaction identifier that corresponds to the first transaction;
wherein the first set of commit records includes:
a first subset of commit records that reflect the first changes but do not indicate the correlation identifier; and
a second subset of commit records that reflect the second changes and do indicate the correlation identifier;
based on the second subset of commit records having the same transaction identifier as the first subset of commit records, determining that the first subset of commit records are associated with the correlation identifier and were performed as part of the multi-system operation represented by that correlation identifier;
within a second database system used by the second service, using a second transaction, that is different than the first transaction and performed asynchronously relative to the first transaction, to perform both (a) third changes required by the multi-system operation, and (b) fourth changes to record metadata about the multi-system operation, wherein the metadata that is recorded about the multi-system operation includes the correlation identifier assigned to the multi-system operation;
when the second transaction commits, storing in a commit log of the second database system a second set of commit records;
wherein all records in the second set of commit records are assigned a second transaction identifier that corresponds to the second transaction;
wherein the second transaction identifier is different than the first transaction identifier;
wherein the second set of commit records includes:
a third subset of commit records that reflect the third changes but do not indicate the correlation identifier; and
a fourth subset of commit records that reflect the fourth changes and do indicate the correlation identifier;
based on the fourth subset of commit records having the same transaction identifier as the third subset of commit records, determining that the third subset of commit records are associated with the correlation identifier and were therefore performed as part of the multi-system operation represented by that correlation identifier;
based on the correlation identifier, determining that the first set of commit records and the second set of commit records are related to the multi-system operation; and
based on the first set of commit records and the second set of commit records, determining whether the multi-system operation completed successfully.

US Pat. No. 10,114,856

METHOD FOR BACKFILLING GRAPH STRUCTURE AND ARTICLES COMPRISING THE SAME

INTERNATIONAL BUSINESS MA...

1. A system for updating a graph-based data structure comprising a plurality of nodes and one or more edges connecting the plurality of nodes, the system comprising:at least one memory storing computer-executable instructions; and
at least one processor operatively coupled to the at least one memory, wherein the at least one processor is configured to access the at least one memory and execute the computer-executable instructions to:
receive queries submitted by a plurality of users, wherein the queries are formulated based at least in part on at least one of a pivot operation or a filtering operation performed by the one or more users;
determine a pattern of access of the graph-based data structure associated with one or more users based at least in part on the queries submitted by the one or more users;
generate an updated graph-based structure by modifying one or more attributes of the graph-based data structure based at least in part on the pattern of access;
present, via a user interface, a first query to the plurality of users;
receive a plurality of responses to the first query from the plurality of users;
identify one or more neighboring nodes of a particular node in the updated graph-based data structure, wherein the one or more neighboring nodes satisfy the first query;
present, via the user interface, an indication of the one or more neighboring nodes to at least one user of the plurality of users;
determine that each of the plurality of responses comprises a selected option;
determine that a number of the plurality of responses is greater than or equal to a threshold value;
generate a second query based at least in part on the first query; and
present the second query to the at least one user of the plurality of users.

US Pat. No. 10,114,855

METHOD AND SYSTEM FOR BUILDING AND DISTRIBUTING APPLICATION PROFILES VIA THE INTERNET

CODE SYSTEMS CORPORATION,...

1. A computer-implemented method performed by a server computing device coupled to a network connected to a plurality of client computing devices, the method comprising:receiving an application file and an instruction from a first client computing device of the plurality of client computing devices over the network, the instruction instructing the server computing device to instruct a directing process executing on each one of the plurality of client computing devices that downloads the application file from the server computing device to record at least one transcript profiling usage of the application file;
receiving a request from the directing process executing on a second client computing device of the plurality of client computing devices to download the application file to the second client computing device over the network, the directing process executing on the second client computing device being a particular directing process, the particular directing process being configured to profile usage of the application file when the application file is executed on the second client computing device and to upload one or more transcripts to the server computing device, the one or more transcripts having been created by the particular directing process when the particular directing process profiled usage of the application file on the second client computing device, each of the one or more transcripts storing at least one order in which portions of the application file were accessed when the application file was executed on the second client computing device;
in response to the request, downloading the application file to the second client computing device over the network and instructing the particular directing process to profile usage of the application file on the second client computing device;
receiving one or more transcripts uploaded to the server computing device by the particular directing process executing on the second client computing device over the network; and
sending a model build request to a model build computing device, in response to the model build request, the model build computing device:
(a) creating a streaming model based on the at least one order stored in each of the one or more transcripts;
(b) storing the streaming model in a data structure; and
(c) dividing the application file into a plurality of files each smaller than the application file based on the streaming model stored in the data structure, the plurality of files comprising one or more initial execution files to be downloaded first and one or more other files to be downloaded after the one or more initial execution files have been downloaded.

US Pat. No. 10,114,854

VALIDATION RULE MANAGEMENT ACROSS ENTITIES

International Business Ma...

1. A method of automatically managing a validation rule across a shared replicated database, the method comprising:utilizing at least one processor to execute computer code that performs the steps of:
receiving, at a ledger of at a database comprising a shared financial ledger, a first transaction associated with a user, wherein the database comprises a plurality of ledgers, each ledger being associated with a node of a network comprising a plurality of nodes and wherein each of the plurality of nodes is associated with a different entity;
the database being shared and replicated among the plurality of nodes;
receiving, at substantially the same time as the first transaction and at the ledger, a validation rule for preventing a financial attack and associated with the first transaction, wherein the validation rule comprises at least one condition associated with the user with respect to the first transaction and wherein the validation rule is generated by the entity associated with the ledger; and
automatically replicating, response to receipt of the first transaction and the validation rule at the ledger, the validation rule throughout the plurality of ledgers.

US Pat. No. 10,114,853

OPTIMIZING THE INITIALIZATION OF A QUEUE VIA A BATCH OPERATION

INTERNATIONAL BUSINESS MA...

1. A method for performing a patch processing, comprising:initializing, by a processor coupled to a memory, a set of elements corresponding to a first set of resources to produce an initialized group,
wherein the initializing of the set of elements is performed without a system lock on at least the first set of resources;
setting an indicator signifying that the set of elements are not available prior to the system lock on at least the first set of resources while the set of elements is being initialized,
wherein the indicator is checked by a second processor attempting to access the set of elements to verify whether the set of elements are available for use;
chaining, by the processor, the initialized group to previously initialized elements to produce an element batch when the previously initialized elements are available,
wherein the chaining of the initialized group is performed without the system lock on at least the first set of resources, and
wherein the previously initialized elements correspond to a second set of resources;
obtaining, by the processor, a system lock on at least the first and second sets of resources in accordance with the element batch after the initialized group is chained to the previously initialized elements;
executing, by the processor, a service routine to move the element batch to a queue, wherein the service routine increases an efficiency of the batch processing by referencing only first and last elements of the element batch and not middle elements of the element batch; and
updating counts representing a number of elements on the queue to correspond to the service routine; and
releasing the system lock on at least the first and second sets of resources once the service routine is complete and resetting the indicator to signal that the set of elements is fully initialized once all elements in the element batch have been processed,
wherein each element of the set of elements is an address pointing to a corresponding resource of the first set of resources,
wherein all elements on the queue are chained via a forward and backward pointer.

US Pat. No. 10,114,852

METHODS AND APPARATUS FOR CONTROLLED REMOVAL OF CONTENT FROM A DISTRIBUTED NETWORK

SLING MEDIA L.L.C., Fost...

1. A method for managing content by one of a plurality of communication nodes in a distributed network, the method comprising:receiving content and metadata associated with the content at a plurality of communication nodes during a first time period, each of the plurality of communication nodes being a unique server configured to distribute content to end users, the metadata specifying at least one content decay parameter for the content on the distributed network, the at least one content decay parameter defining a probability of existence for the content on the distributed network at one of the plurality of communication nodes at each predetermined time based upon a mean lifetime for the content on the distributed network;
storing the content and the metadata on at least two different communication nodes of the plurality of communication nodes;
processing the content decay parameter at each of the respective communication nodes which stored the content during one of the predetermined times corresponding to a second time period, different than the first time period, to determine whether to delete the content from the respective communication node; and
responsive to determining that the content is to be deleted, deleting the content during the second time period at the respective communication node,
wherein the probability of existence for the content on the distributed network of the content decay parameter comprises an equation specifying a half-life cycle of the content on the distributed network, the equation specifying a half-life cycle of the content determining a percentage of the plurality of communication nodes which are to store the content during the first time period, a minimum percentage of the plurality of nodes to store the content at a future time period and a rate of decay, wherein the rate of decay is based upon the mean lifetime for the content on the distributed network and a difference between the first time period, the second time period and a time offset defined for growth of the content on the distributed network, and
the half-life of the content is defined as P(t)=A+K*exp?(?(t?Tseed?Toffset)/Tm), wherein t is a current time, Tseed is a time that the respective content is launched onto the distributed network, Toffset is a time offset defined for growth of the respective content on the distributed network, Tm is a mean lifetime for the respective content on the distributed network, A is a minimum percentage of the plurality of communication nodes to store the respective content at a future time period, and K is the percentage of the plurality of communication nodes which are to store the content during the first time period.

US Pat. No. 10,114,850

DATA STREAM GENERATION USING PRIME NUMBERS

EMC IP Holding Company LL...

1. A system, comprising:a processor configured to:
receive an initialization parameter, wherein the initialization parameter is a value selected from a constrained address space, wherein the constrained address space limits the value of numbers in a sequence;
generate a data stream using the initialization parameter, wherein to generate the data stream, the processor is further configured to merge a first sequence and a second sequence, wherein to merge the first sequence and the second sequence into the data stream includes to alternate between a number of the first sequence and a number of the second sequence, wherein the first sequence is generated using a first prime number and the initialization parameter and the second sequence is generated using a second prime number and the initialization parameter, wherein a first number of a sequence is based on the initialization parameter and a subsequent number of the sequence is based on a previous number of the sequence and a corresponding sequence prime number;
send the data stream to be stored at a storage device;
receive restored data associated with the data stream from the storage device;
determine the first prime number and the second prime number based on the restored data at least in part by:
a first determination of a first offset between odd ordinal numbers of the data stream and a second offset between even ordinal numbers of the data stream;
a second determination of whether the first offset is equal to the first prime number and the second offset is equal to the second prime number; and
in response to determining the first offset is equal to the first prime number and the second offset is equal to the second prime number, verify the data stream without a copy of the data stream and without the initialization parameter, the prime number and the second prime number; and
a memory coupled to the processor and configured to store the initialization parameter.

US Pat. No. 10,114,849

MANAGING CHANGES TO INFORMATION

Quick Eye Technologies In...

1. A method of managing changes to information at a client device, comprising:storing information as a plurality of states, wherein the plurality of states is arranged as vertices of a directed graph, wherein at least one of the plurality of states is designated as a user or a resource, wherein an edge of the directed graph represents a user-resource relationship between states connected by the edge;
maintaining a temporal history and a validity interval for each of the plurality of states, wherein one or more user-resource relationships of each state remain constant over the corresponding validity interval;
receiving a request to change the information;
identifying a set of states of the plurality of states affected by the request; and
selectively changing, responsive to the request, at least one of the user-resource relationships and the temporal history associated with each of the set of states based on the request,
wherein the selectively changing is subject to a constraint that a validity interval of a first state designated as a user does not exceed a validity interval of a second state designated as a resource of the first state.

US Pat. No. 10,114,848

ENSURING THE SAME COMPLETION STATUS FOR TRANSACTIONS AFTER RECOVERY IN A SYNCHRONOUS REPLICATION ENVIRONMENT

SYBASE, INC., Dublin, CA...

1. A computerized method for replicating databases, the method comprising:detecting that a relational database management system (RDMS) is in service;
determining using one or more processors of a replication database system, a last committed transaction for a first data store and a last committed transaction for a second data store;
determining, using one or more processors of the replication database system, that a transaction log on the RDMS includes a first transaction that had not yet been replicated at the first data store prior to the RDMS being in service and a second transaction from the second data store is unconfirmed at the RDMS; and
based on determining that the transaction log includes the first transaction and that the second transaction is unconfirmed, resynchronizing the transaction log of the RDMS with the first data store and the second data store.

US Pat. No. 10,114,847

CHANGE CAPTURE PRIOR TO SHUTDOWN FOR LATER BACKUP

CA, Inc., New York, NY (...

1. A computer implemented method comprising:monitoring, using an application, blocks of data on a storage device that are changing as a computer operates;
creating a plurality of incremental backups, wherein each incremental backup includes only blocks of data of the monitored blocks of data that have changed since a previous incremental backup;
merging, using the application, two oldest incremental backups of the plurality of incremental backups in response to a number of incremental backups exceeding a specified number;
detecting that the computer is being shut down;
in response to detecting that the computer is being shut down, saving a copy of a shutdown incremental backup to the storage device before the computer is shut down, wherein the shutdown incremental backup includes blocks of data of the monitored blocks of data that have changed since the most recent incremental backup of the plurality of incremental backups; and
upon startup of the computer, transmitting, using the application, the blocks of data included in the shutdown incremental backup to a backup storage device.

US Pat. No. 10,114,846

BALANCED DISTRIBUTION OF SORT ORDER VALUES FOR A MULTI-COLUMN SORT ORDER OF A RELATIONAL DATABASE

Amazon Technologies, Inc....

1. A system, comprising:one or more storage nodes, respectively comprising at least one processor and a memory, that implement a data store;
the data store, configured to:
identify a plurality of columns in a database table for a multi-column sort order of the database table;
evaluate data values in the plurality of columns to determine buckets for respective depth-balanced histograms for individual ones of the columns, wherein the buckets of the respective histograms represent ranges of the data values in the columns, wherein the buckets are assigned respective bucket values;
identify those buckets representing ranges of the data values in the respective histograms for the columns that include the data values of the plurality of columns in the entries;
generate multi-column sort order values for the entries of the database table according to interleaved bits of the assigned bucket values for each of the identified buckets for the entries; and
store the entries of the database table according to a sorted order of the multi-column sort order values for the entries.

US Pat. No. 10,114,844

READINESS CHECKER FOR CONTENT OBJECT MOVEMENT

International Business Ma...

1. A method, comprising:determining, outside a movement time window, whether each content object in a set of content objects is ready for movement by checking whether each content object is on hold, wherein any content object that is on hold is not to be any of migrated, deleted, and archived;
for each content object in the set of content objects that is not on hold, setting, outside the movement time window, an associated indicator to indicate that the content object is ready for movement;
for each content object in the set of content objects that is on hold, resetting, outside the movement time window, the associated indicator to indicate that the content object is not ready for movement; and
moving, within the movement time window, each content object in the set of content objects that has the associated indicator set to indicate that the content object is ready for movement, wherein the movement time window is set to a period of time that allows completing movement of each content object in the set of content objects that has the associated indicator set.

US Pat. No. 10,114,842

MEDIA COMPRESSION IN A DIGITAL DEVICE

Red Hat, Inc., Raleigh, ...

1. A method, comprising:monitoring available data storage space in a digital device;
in response to the available data storage space falling below a threshold, generating, by a processing device of the digital device, a user interface to prompt a user of the digital device to allow compression of content stored on the digital device;
receiving, by the processing device via the user interface, an indication from the user to allow the compression of the content; and
in response to receipt of the indication from the user:
determining one or more types of the content that are indicated as allowed for compression; and
performing, by the processing device, the compression on the determined one or more types of the content.

US Pat. No. 10,114,841

SYSTEM FOR GENERATING A TABLE

1. A system for generating a table, comprising:a computer, wherein the computer includes:
a table generator for generating a table which contains:
at least a column or line depicting a plurality of first categories and at least a column or line depicting first values associated with said plurality of first categories;
a sparkline generator for generating a sparkline, wherein each one of the depicted plurality of first categories is provided with a sparkline within a confine of the table and each respective first category, the sparkline showing a number of second categories into which the respective first category is sub-divided and the relation of values associated with said second categories, the second categories being positioned within the table and directly adjacent to the respective first category, and the sparkline provides information related to data of the second categories;
a category selector for selecting one of said first categories by a user; and
an adder for enlarging the table upon selection of a category by said category selector, said adder being adapted to enlarge the table by adding a new column or line which comprises second categories into which said selected first category is subdivided and second values associated with said second categories,
wherein the computer is configured to allow display in the new column or line only the second categories associated with the selected first category, to update the column or line depicting first values with the second values associated with the second categories, disallow display in the new column or line of any second categories associated with non-selected first categories, and continue to display the column or line depicting first values associated with the non-selected first categories,
wherein the first category is subdivided into different types of second categories and wherein the adder is adapted to automatically choose the type of second categories based upon a criterion,
wherein said criterion is the spread of values associated with the second categories, and
wherein the adder is adapted to add types of categories in an order so that categories having a higher spread of values are chosen prior to those categories having a lower spread of values.

US Pat. No. 10,114,840

CUSTOMER DATA SEPARATION IN A SERVICE PROVIDER SCENARIO

SAP SE, Walldorf (DE)

1. A computer-implemented method for controlling customer access to documents, the method comprising:storing, by a computing system, a group of documents for a plurality of customers, wherein:
(i) each of the documents in the group is either a parent document or a node document,
(ii) the documents in the group include multiple parent documents and multiple node documents,
(iii) each of the node documents is directly linked to one or more of the parent documents or are indirectly linked to one or more of the parent documents through other of the node documents, and
(iv) the plurality of customers are associated with a plurality of customer records such that each of the customers is associated with a customer record from the plurality of customer records;
authorizing, by the computing system, each customer in the plurality of customers to access only a respective subset of the documents from the group of documents by assigning each document in the group of documents to a respective customer record from the plurality of customer records, wherein:
(i) the assigning of each document to the respective customer record involves including, for each of the parent documents, a reference to a customer attribute that identifies the respective customer record, the customer attribute being included in a plurality of customer attributes, and
(ii) only the parent documents in the group of documents are assigned to the customer records such that the node documents do not include references to customer attributes;
receiving, by the computing system, a request to access documents for a particular customer, and in response:
(i) authorizing the particular customer to access each parent document that includes a particular customer attribute that identifies the respective customer record associated with the particular customer, wherein the computing system authorizes the access to the parent document by referencing the particular customer attribute;
(ii) authorizing the particular customer to access each node document that is linked to each of the parent objects that include the customer attribute, wherein the computing system authorizes the access to the node document by referencing the parent document that include the particular customer attribute without first accessing the node document; and
managing, by the computing system, the group of documents for the plurality of customer records, wherein the group of documents and the plurality of customer attributes are stored in a database.

US Pat. No. 10,114,839

FORMAT IDENTIFICATION FOR FRAGMENTED IMAGE DATA

EMC IP Holding Company LL...

1. A system for storing information, comprising:an interface that receives an input stream of information, wherein the input stream of information comprises a plurality of fragments;
a data model generator that is configured to determine fragment boundaries of the plurality of fragments and to determine a data format for each of the plurality of fragments based on continuity properties;
wherein the data model generator operates to
divide the input stream of information into a plurality of windows, wherein each window has a fixed size and includes a same number of bytes, and wherein each of the plurality of fragments contains no more than a single window;
for each of the plurality of windows:
determine whether the window has a known or unknown format based on a value of a scoring function, wherein a high value of the scoring function indicates the window has a known format whereas a low value of the scoring function indicates the window has an unknown format;
compare portions of the window having an unknown format with neighboring windows to determine fragment boundaries;
calculate statistics of bits in the window based on formats of the neighboring windows; and
identify a breakpoint based on the statistics of bits in the window;
a data compressor that compresses the plurality of fragments into a compressed stream using a compression technique selected based on the data format for each of the fragments; and
a memory that stores the compressed stream.

US Pat. No. 10,114,838

REFERENCE CARD FOR SCENE REFERRED METADATA CAPTURE

Dolby Laboratories Licens...

1. A method comprising:receiving one or more reference source images and one or more corresponding non-reference source images, the one or more reference source images comprising image data for one or more reference cards comprising a plurality of reference gray levels and primary colors used to digitally encode the reference source images;
generating one or more output images for the one or more corresponding non-reference source images;
deriving, based on the image data for the primary colors and gray levels of the one or more reference cards, scene-referred metadata comprising a set of reference values and a corresponding set of coded values, the corresponding set of coded values comprising coded values in the one or more output images;
generating a constructive set of scene-referred metadata by interpolating data from one of two or more existing reference source images and two or more existing scene-referred metadata; and
outputting the one or more output images with the scene-referred metadata as a part of image metadata for the one or more output images.

US Pat. No. 10,114,837

DISTRIBUTED TRANSACTION MANAGEMENT

Microsoft Technology Lice...

1. A system that processes a transaction on behalf of a node set, the system comprising:a processing unit; and
a memory storing instructions that, when executed by the processing unit, cause the distributed system to:
initiate a transaction involving data locally stored by a plurality of nodes of the node set,
send a transaction request to respective participating nodes of the node set to participate in the transaction,
receive, from the respective participating nodes, a commit time vote for the transaction according to a local clock maintained by the participating node,
based on the commit time votes of the respective participating nodes, determine a commit time for the transaction having a maximum count of votes among the plurality of participating nodes, and
initiate commit processing of the transaction by sending a commit request to the participating nodes of the node set, wherein the commit request includes the commit time for the transaction, wherein the notification enables the respective participating nodes that did not vote for the commit time selected for the transaction to advance the local clock to synchronize with the participating nodes that voted for the commit time.

US Pat. No. 10,114,836

SYSTEMS AND METHODS FOR PRIORITIZING FILE DOWNLOADS

Google LLC, Mountain Vie...

1. A method comprising:evaluating a first respective score for each file in a plurality of first files by applying a first ranking scheme to first metadata associated with the first files to generate a first ranking of the first files, wherein the first ranking scheme is based on weights of at least two features of the first metadata;
initiating a first download process for at least some files in the first files from a cloud system to a client system based on the first ranking of the first files;
refining, by at least one processor, the first ranking scheme based on training data to generate a second ranking scheme, wherein the training data comprises one or more changes to the first files, wherein the changes comprise at least an addition, a replacement, a deletion, a modification, or an access of at least one first file in the first files, wherein refining the first ranking scheme comprises generating a predicted access frequency of the first file and comparing the predicted access frequency to an actual access frequency of the first file, and wherein the second ranking scheme is generated in response to a result of the comparison exceeding a threshold;
evaluating a second respective score for each file in a plurality of second files by applying the second ranking scheme to second metadata associated with the second files to generate a second ranking of the second files; and
initiating a second download process for each file in the second files from the cloud system to the client system based on the second ranking of the second files.

US Pat. No. 10,114,835

VIRTUAL FILE SYSTEM FOR CLOUD-BASED SHARED CONTENT

Box, Inc., Redwood City,...

1. A method for accessing a file system in a cloud-based storage platform that stores shared content accessible over a network by two or more user devices, the method comprising:implementing a file system interface between the cloud-based storage platform and a virtual file system, in which the file system interface directs file system calls from an application running on one of the user devices to the virtual file system;
processing at least some of the file system calls received at the file system interface through a first operation pipeline comprising a local data manager that issues one or more of the file system calls to a file system executor that performs local processing to produce a series of file events;
receiving a file event from the first pipeline and initiating processing of the file event through a second pipeline comprising at least a first operation to access local metadata corresponding to the series of file events and a second operation to access a local cache to identify a portion of a file within the virtual file system; and
providing at least an identification of contents of the local cache to a remote storage application programming interface to initiate a change in the file system of the cloud-based storage platform, wherein the change to the file system of the cloud-based storage platform corresponds to the file event that was processed by accessing to the local metadata.

US Pat. No. 10,114,834

EXOGENOUS VIRTUAL MACHINE SYNCHRONIZATION AND REPLICATION

CA, Inc., New York, NY (...

1. A system to provide a virtualized replication and availability environment, the system comprising:a production server having hardware and configured to host at least a first part of a virtualization architecture, wherein:
the virtualization architecture comprises a parent partition that contains a virtualization stack having access to the hardware associated with the production server and one or more child partitions configured to execute one or more virtual machines, and
the one or more virtual machines include respective operating systems having respective file systems with virtual machine files accessed by respective applications configured to be executed in the respective operating systems;
a replica server having hardware and configured to host at least a second part of the virtualization architecture; and
a replication and availability engine installed in the production server, and external to the one or more virtual machines, wherein the replication and availability engine is configured to:
initially synchronize and then continuously or periodically replicate, while the one or more virtual machines execute on the production server, the virtual machine files associated with the one or more virtual machines executed in the one or more child partitions of the production server to the replica server by forming or updating replicated instances of the virtual machine files in association with data defining one or more replica virtual machines of the replica server, the one or more replica virtual machines having instances of the respective applications and being configured to execute a workload of the production server in place of the production server, wherein the replication and availability engine is configured to perform replication while the one or more replica virtual machines are not executing, wherein:
the second part of the virtualization architecture is configured to cause end users or workloads to be automatically redirected from the one or more virtual machines executed in the one or more child partitions on the production server to one or more on-demand virtual machines that are associated with corresponding replicated instances of virtual machine files and that are started in the one or more child partitions on the replica server, and
the second part of the virtualization architecture further includes a hypervisor configured to isolate the parent partition on the replica server from the one or more child partitions on the replica server.

US Pat. No. 10,114,832

GENERATING A DATA STREAM WITH A PREDICTABLE CHANGE RATE

EMC IP Holding Company LL...

1. A system, comprising:a processor configured to:
store an unmodified non-deduplicatable data stream, wherein the non-deduplicatable data stream comprises a non-compressible data stream and wherein the processor is further configured to generate the non-compressible data stream at least in part by:
receive an initialization parameter;
determine a first constrained prime number, wherein the first constrained prime number comprises a plurality of component values, wherein each of the plurality of component values comprises a prime number wherein each of the plurality of component values is different;
generate a first non-compressible sequence based at least in part on the initialization parameter and the first constrained prime number;
obtain a second non-compressible sequence, wherein the second non-compressible sequence is associated with the initialization parameter and a second constrained prime number; and
generate the non-compressible data stream including by merging the first non-compressible sequence and the second non-compressible sequence;
receive a change rate parameter, wherein the change rate parameter indicates an amount by which the unmodified non-deduplicatable data stream is to be modified; and
generate a modified data stream that differs from the unmodified non-deduplicatable data stream by the amount indicated by the change rate parameter wherein to generate the modified data stream, the processor is further configured to modify at least a portion of a plurality of data blocks associated with the non-deduplicatable data stream to obtain a corresponding portion of the modified data stream, wherein a data block of the plurality of data blocks is associated with a block size that is based on a segmenting attribute associated with a storage destination;
identify a set of new data blocks, wherein the set of new data blocks are identified based on comparing the unmodified non-deduplicatable data stream with the modified data stream;
determine a percentage of the modified data stream to store;
determine a deduplication result based on comparing the determined percentage to the change rate parameter; and
in response to determining that the determined percentage does not match the change rate parameter, reconfigure a deduplication technique; and
a memory coupled to the processor and configured to store the change rate parameter.

US Pat. No. 10,114,831

DELTA VERSION CLUSTERING AND RE-ANCHORING

Exagrid Systems, Inc., W...

1. A computer-implemented method comprising:generating a first anchor in a plurality of anchors having a plurality of delta-compressed versions of data dependent on the first anchor, wherein the first anchor being at least one of the following: a version of data and a delta-compressed version of the data,
wherein the plurality of delta-compressed versions includes delta-compressed versions that do not linearly depend on one another, each delta-compressed version in at least a portion of the delta-compressed versions in the plurality of delta-compressed versions is computed against the first anchor, the first anchor and the plurality of delta-compressed versions form a cluster;
generating a decompressed second anchor in the plurality of anchors, wherein the decompressed second anchor includes at least another version of the data; and
replacing the first anchor with the generated decompressed second anchor,
wherein the replacing includes
decompressing the first anchor to generate a decompressed first anchor;
determining a difference between the decompressed first anchor and the generated decompressed second anchor;
generating a first reverse delta-compressed version representative of the determined difference between the decompressed first anchor and the generated decompressed second anchor, wherein the first reverse delta-compressed version is dependent on the generated decompressed second anchor, wherein each delta-compressed version in the at least a portion of the delta-compressed versions being previously dependent on the first anchor is computed to be dependent on the first reversed delta-compressed version;
re-computing, using the determined difference between the decompressed first anchor and the generated decompressed second anchor, at least one delta-compressed version in the plurality of delta-compressed versions to be dependent on the generated decompressed second anchor, wherein the re-computed at least one delta-compressed version is delta-compressed against the generated decompressed second anchor; and
compressing the generated decompressed second anchor, wherein the compressed second anchor replaces the first anchor as an anchor of the cluster;
wherein at least one of the generating the first anchor, the generating the decompressed second anchor, and the replacing is performed on at least one processor.

US Pat. No. 10,114,829

MANAGING DATA CACHE FOR FILE SYSTEM REALIZED WITHIN A FILE

EMC IP Holding Company LL...

1. A method for storing data in a data storage system, the method comprising:receiving, from a requestor, a request specifying a set of data to be written to a logical address in a first file system, the first file system realized as a file within a second file system;
creating a first log entry for the set of data in a first data log, the first data log (i) logging data to be written to the first file system, (ii) having a head and a tail, and (iii) arranged as a circular buffer;
creating a second log entry for the set of data in a second data log, the second data log logging data to be written to the second file system, the first log entry providing a reference to the second log entry;
storing the set of data in a cache page; and
acknowledging the requestor that the request has been completed.

US Pat. No. 10,114,828

LOCAL CONTENT SHARING THROUGH EDGE CACHING AND TIME-SHIFTED UPLOADS

International Business Ma...

1. A method for time-shifted uploading of a data file through a backhaul network to a backend provider, the method comprising:intercepting an upload request to the backend provider, wherein the intercepted upload request is associated with the data file from an originating user located at a network edge within a local network, and wherein the backhaul network connects the local network to the backend provider;
caching the data file associated with the upload request in the local network upstream of the backhaul network, wherein caching the data file associated with the upload request comprises storing a cached copy of the data file on a storage device located at the network edge of the local network;
uploading a placeholder file to the backend provider based on the intercepted upload request;
receiving a file identifier (ID) from the backend provider based on the uploaded placeholder file;
mapping the received file ID to the cached data file;
intercepting a request to access the data file at the backend provider by a requesting user located within the local network;
sending the requesting user the cached data file within the local network based on the mapping and the intercepted access request; and
uploading a copy of the data file to the backend provider through the backhaul network based on a backhaul utilization policy, wherein the backhaul utilization policy instructs the uploading to occur based on customer experience management rules, wherein uploading the copy of the data file to the backend provider comprises uploading a low quality version of the data file and then iteratively uploading a plurality of data overlays derived from a full quality version of the data file to increase a data quality of the copy stored at the backend service provider with each successive data overlay until the data quality of the copy stored at the backend service provider matches the full quality version of the data file, and wherein a data overlay is combined with the copy of the data file to generate a progressively higher quality data file stored at the backend service provider.

US Pat. No. 10,114,827

SYSTEM AND METHOD FOR AN INTELLIGENT E-MAIL AND CONTENT RESPOSITORY

DELL PRODUCTS, LP, Round...

1. An information handling system, comprising:a storage device; and
a repository that:
receives a first file;
modifies the first file to include first metadata that indicates that the first file is a first entry of a first thread;
stores the modified first file including the first metadata to the storage device;
receives a second file, wherein the second file is different from the first file;
determines that the second file includes the first metadata; and
modifies the second file to include second metadata that indicates that the second file is a second entry of the first thread and that the first file is a parent entry to the second file in response to determining that the second file includes the first metadata;
stores the modified second file including the first metadata and the second metadata to the storage device.

US Pat. No. 10,114,826

AUTONOMIC REGULATION OF A VOLATILE DATABASE TABLE ATTRIBUTE

International Business Ma...

1. A computer program product, comprising a plurality of computer-executable instructions recorded in a non-transitory computer-readable media, wherein said instructions, when executed by at least one computer system, cause the computer system to perform:monitoring at least one parameter of a database table of said computerized database over at least one time interval and saving monitored parameter data with respect to said database table;
determining a database table volatility state of said database table using the saved monitored parameter data, said database table volatility state being a property of said database table that is a function of changes to data recorded in said database table with respect to time, said database table volatility state being independent of any queries against data in said database table; and
responsive to determining a database table volatility state of said database table using the saved monitored parameter data, generating and saving at least one database table volatility attribute expressing the database table volatility state of said database table, said at least one volatility attribute being used by a process executing on the at least one computer system to manage access to data in said database table, wherein said at least one volatility attribute is used to manage access to data in said database table by at least one of: (a) using said at least one volatility attribute to determine an optimum query execution strategy for a query against data in said database table, (b) using said at least one volatility attribute to determine whether to re-optimize a previously saved query execution strategy for a query against data in said database table, (c) using said at least one volatility attribute to determine whether to collect statistical data regarding said database table, and (d) using said at least one volatility attribute to manage storage and/or retrieval of data in said at least one database table.

US Pat. No. 10,114,825

DYNAMIC RESOURCE-BASED PARALLELIZATION IN DISTRIBUTED QUERY EXECUTION FRAMEWORKS

SAP SE, Walldorf (DE)

1. A method comprising:receiving, at runtime, by a database server from a remote application server, a query associated with a calculation scenario defining a data flow model, the data flow model comprising a plurality of calculation nodes defining a plurality operations to be executed at runtime by a calculation engine on the database server, the plurality of calculation nodes comprising a dynamic split operator, the dynamic split operator identifying at least one operation of the plurality of operations as available for parallelizing, the dynamic split operator further comprising a criterion to be evaluated to determine, based at least on an input of the at least one operation, a quantity of partitions for splitting the input, the at least one operation being performed on each partition of the input in parallel, the criterion being evaluated during an execution of an execution plan associated with the plurality of operation instead of during a generation of the execution plan, and the criterion quantifying an amount of available database resources necessary to allow parallelization of the at least one operation without negatively affecting other processes running on the database server;
instantiating, by the database server, a runtime model of the calculation scenario based on the plurality of calculation nodes;
generating, at runtime from the runtime model of the calculation scenario, the execution plan specifying how the plurality of operations are to be executed against a database managed by the database server, the runtime model comprising the dynamic split operator;
executing, by the database server, the execution plan, the execution of the execution plan comprising:
evaluating the criterion to at least determine, during the execution of the execution plan, the quantity of partitions for splitting the input, the criterion being evaluated based at least on the input to the at least operation; and
splitting, during the execution of the execution plan, the input into a first partition and a second partition, the splitting being based at least on the quantity of partitions, the first partition and the second partition being operated upon by two or more parallel processor threads comprising the at least one operation; and
providing, by the database server to the application server, the data set.

US Pat. No. 10,114,824

TECHNIQUES FOR PROVIDING A USER WITH CONTENT RECOMMENDATIONS

Verizon Patent and Licens...

1. A method performed by a server device, the method comprising:determining, by the server device, recommendations for media content for a user based on user profile information and a viewing history of media content of the user, the recommendations being further based on features associated with each item of the media content,
wherein each feature is associated with a category and, on a per-user basis:
a weight for the category,
a raw score for the feature, and
a weighted score that is based on the weight for the category and the score for the feature,
wherein the determining of the recommendations for the media content includes using a multi-tiered utility matrix for determining the recommendations for the media content;
communicating, by the server device and to a user device associated with the user,
the recommendations for the media content, and
one or more reasons for which the server device determined the recommendations, wherein the one or more reasons indicate a set of features, of the recommended media content, that were used in the determination of the recommendations,
wherein communicating the recommendations and the one or more reasons allows the user device to present at least one of the recommendations and at least one of the features, of the set of features that were used in the determination of the recommendations;
receiving, by the server device, feedback, from the user device, regarding:
the recommendations for the media content, and
the at least one feature, of the set of features used by the server device to determine the recommendations;
modifying, by the server device, the weighted score for the at least one feature, the modifying including at least one of:
modifying the weight for the category associated with the at least one feature, or
modifying the raw score for the at least one feature;
determining, by the server device, recommendations for different media content for the user based on:
the feedback regarding the recommendations for the media content, and
the modified weighted score, as determined based on the feedback regarding the at least one feature, of the set of features that were used by the server device to determine the recommendations,
wherein the determining of the recommendations for the different media content includes:
updating the multi-tiered utility matrix based on the feedback regarding the recommendations for the media content and the modified weighted score, as determined based on the feedback regarding the at least one feature, of the set of features, that were used to determine the recommendations, and
determining the recommendations for the different media content further based on the updated multi-tiered utility matrix; and
communicating, by the server device and to the user device, the recommendations for the different media content.

US Pat. No. 10,114,823

SYSTEMS AND METHODS FOR METRIC DATA SMOOTHING

Ayasdi, Inc., Menlo Park...

1. A computer implemented method comprising:a processing device storing executable instructions for receiving a matrix for a set of documents, each row of the matrix corresponding to each document of the set of documents and each column of the matrix corresponding to a text segment that is in at least one document of the set of documents, each cell of the matrix including a frequency value indicating a number of instances of a corresponding text segment in a corresponding document;
receiving an indication of a relationship between two text segments, each of the two text segments associated with a first column and a second column, respectively, of the matrix;
adjusting, for each document, a frequency value of the second column based on a frequency value of the first column;
projecting each frequency value of the matrix into a reference space to generate a set of projection values in the reference space;
identifying a plurality of subsets of the reference space, at least some of the plurality of subsets including at least some of the projection values of the set of projection values in the reference space;
clustering, for each subset of the plurality of subsets, at least some documents of the set of documents that correspond to a subset of the set of projection values to generate clusters of one or more documents; and
generating a graph of nodes, each of the nodes identifying one or more of the documents corresponding to each cluster.

US Pat. No. 10,114,821

METHOD AND SYSTEM TO ACCESS TO ELECTRONIC BUSINESS DOCUMENTS

TractManager, Inc., Chat...

1. A method in a computing system for controlling access to document records and document summary pages associated with digital versions of paper contracts associated with a corporate entity, the method comprising:maintaining, by a computing system, an organization-specific database having corporate entities and authorized users;
receiving, by the computing system, scanned images of paper contracts;
processing, by the computing system, each scanned image of a paper contract to generate a searchable text file corresponding to text contained in the scanned image;
using the organization-specific database, generating, by the computing system, a graphical interface allowing for the selection of a corporate entity and an authorized user from a plurality of presented corporate entities and authorized users;
receiving, by the computing system, an indication of at least one corporate entity and at least one authorized user associated with each paper contract;
generating, by the computing system, a document record for each paper contract, the document record associating the scanned image of a paper contract with the searchable text file associated with the scanned image of the paper contract, the indication of the at least one corporate entity and at least one authorized user associated with the paper contract;
generating, by the computing system, a document summary page for each paper contract having fields populated with summarized terms of the paper contract;
setting, by the computing system, an access level associated with each paper contract; and
limiting, by the computing system, the access of the at least one authorized user to information associated with a document record and to a document summary page based on the access level of the corresponding paper contract.

US Pat. No. 10,114,820

DISPLAYING ORIGINAL TEXT IN A USER INTERFACE WITH TRANSLATED TEXT

Google LLC, Mountain Vie...

1. A method comprising:receiving, using one or more processors, a user request to translate a source document from a first language text to a second language text;
obtaining, using the one or more processors, a translated document containing a translation of the source document into the second language text;
formatting, using the one or more processors, the translated document based on the second language;
presenting, using the one or more processors, the translated document, wherein the formatting is used to present the translated document; and
presenting, using the one or more processors, the first language text that corresponds to a portion of the translated document in a graphical element overlaying the translated document in response to a user input pointing to the portion of the translated document.

US Pat. No. 10,114,819

OPTIMIZING MACHINE TRANSLATIONS FOR USER ENGAGEMENT

FACEBOOK, INC., Menlo Pa...

1. A method comprising:(a) generating a first candidate translation and a second candidate translation using a machine translation system, the first candidate translation being a different translation than the second candidate translation;
(b) causing the first candidate translation to be provided to a first group of users;
(c) causing the second candidate translation to be provided to a second group of users different from the first group;
(d) receiving one or more indications of engagement with the first candidate translation and the second candidate translation, wherein engagement with the first translation and engagement with the second translation are measure based on at least one of: a number of times that the respective translations are liked on a social network, a number of times that the respective translations are shared on the social network, a number of comments written with respect to the respective translations, or a number of times that a link associated with the respective translation is followed;
(e) determining, based on the one or more indications of engagement, that the first candidate translation was favored over the second candidate translation, the determining comprising computing a first engagement score for the first candidate translation based on the one or more indications of engagement, computing a second engagement score for the second candidate translation based on the one or more indications of engagement, and comparing the first engagement score to the second engagement score; and
(f) modifying the machine translation system in favor of the first candidate translation.

US Pat. No. 10,114,818

SYSTEM AND METHOD FOR LOCATING BILINGUAL WEB SITES

1. A method comprising:performing a generic web crawl to identify a first webpage in a first language having a link thereon which points to a second webpage in a second language, wherein the first webpage and the second webpage comprise a bilingual website;
based on an analysis of parameters on the first webpage comprising at least two of: the link pointing to the second webpage, a title, a link neighborhood, a link context and data indicating a separate version of the first webpage, classifying the first webpage as a root page and as an entry point for the bilingual website via the link to the second webpage;
performing a bidirectional web crawl between the first webpage and the second webpage to identify the first webpage and the second webpage as the bilingual website, the bidirectional web crawl utilizing classifications of links to avoid links having a low respective relevance;
extracting information pairs from the first webpage and the second webpage for use in a language translation model, the information pairs comprising at least one of a word pair, a paragraph pair and a sentence pair; and
updating a statistical model with domain representative data using the information pairs.

US Pat. No. 10,114,816

ASSESSING COMPLEXITY OF DIALOGS TO STREAMLINE HANDLING OF SERVICE REQUESTS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented dialogue complexity assessment method, the method comprising:calculating a complexity utilizing domain-dependent terms and domain-independent terms of a dialogue in stages by:
computing a complexity of the dialogue at an utterance level;
computing a complexity of the dialogue at a turn level; and
computing a complexity of the dialogue based on the complexity of the constituent turns and utterances,
wherein the complexity calculation distinguishes between any of a domain-dependent term, a common language term, and a stop word in the dialogue.

US Pat. No. 10,114,815

CORE POINTS ASSOCIATIONS SENTIMENT ANALYSIS IN LARGE DOCUMENTS

INTERNATIONAL BUSINESS MA...

1. A method comprising:aggregating, from a set of points extracted from a large document, a set of core points, a point and a core point each being a topic covered in the document;
constructing, for the core point in the set of core points, a network of associations, wherein an association in the network comprises an entity that has a relationship with the core point by virtue of having contributed data in the document that relates to the core point;
computing, from the contributed data a sentiment value of the contributed data, the sentiment value being indicative of a sentiment of the entity towards the core point;
analyzing a data stream from a data source other than the document to isolate a portion of data stream that relates to the core point;
identifying a second entity in the portion of the data stream, wherein the second entity contributes the portion of the data stream that relates to the core point;
computing, from the portion of the data stream that relates to the core point, a second sentiment value of the second entity towards the core point;
determining that the second entity does not exist in the network of associations;
adding, responsive to determining that the second entity does not exist in the network of associations, the second entity and the second sentiment value to the network of associations;
computing from a set of sentiment values corresponding to the associations in the network of associations, an overall sentiment value for the core point; and
reporting overall sentiment values for each core point in the document.

US Pat. No. 10,114,814

SYSTEM AND METHOD FOR ACTIONIZING PATIENT COMMENTS

NARRATIVEDX, INC., Austi...

1. A system for processing and actionizing patient experience data, the system comprising:a server comprising a natural language processing (NLP) engine; and
a relational database;
wherein a plurality of communications is received at the server, each of the plurality of communications comprises comment data collected from publicly available data of an Internet web site or from one or more surveys, wherein the comment data comprises structured or unstructured patient experience data;
wherein the comment data from each of the plurality of communications is transformed to structured patient experience data and stored at the relational database in a response table that includes one or more records, wherein each record corresponds to the comment data from a communication, and wherein each record comprises the corresponding comment data and a timestamp;
wherein the comment data from each of the plurality of communications is parsed for individual phrases to generate a plurality of phrases;
wherein one or more phrases are selected from the plurality of phrases based on a predetermined parameter;
wherein the NLP engine is to predict one or more annotations for the one or more phrases based upon a score, wherein to predict the one or more annotations for the one or more phrases based upon the score comprises to (i) predict one or more annotations for the one or more phrases based upon a machine learning score, wherein the one or more annotations comprise a sentiment, a theme, or any named entity of the one or more phrases, (ii) determine whether the machine learning score is less than a predetermined threshold score, and (iii) predict the one or more annotations for the one or more phrases based upon a reference score in response to a determination that the machine learning score is less than the predetermined threshold score;
wherein the one or more annotations are stored at the relational database in an annotation table that includes one or more records in response to prediction of the one or more annotations, wherein each record corresponds to an annotation, and wherein each record includes the sentiment, the named entity, a primary tag indicative of a subject matter, or a secondary tag indicative of the theme; and
wherein the server is to generate a dashboard web page for a user that includes the one or more annotations in response to prediction of the one or more annotations.

US Pat. No. 10,114,813

MOBILE TERMINAL AND CONTROL METHOD THEREOF

LG ELECTRONICS INC., Seo...

1. A display device, comprising:a display;
a sound sensor;
a network interface for communicating with a voice recognition server;
a database; and
a controller configured to:
display, on the display, a content including text,
extract the text from in the displayed content,
store the extracted text and a weight of the extracted text in the database for a predetermined time period,
update the database by increasing the weight to the stored text when a user's voice corresponding to the stored text is received within the predetermined time period through the sound sensor,
update the database by decreasing the weight to the stored text when the user's voice corresponding to the stored text is not received within the predetermined time period through the sound sensor,
calculate a first matching score representing a degree of matching between the user's voice and the stored text and a second matching score between the user's voice and text stored in the voice recognition server,
select the text corresponding to a higher score among the first matching score reflecting the weight and the second matching score, and
display, on the display, the selected text,
wherein the controller is configured to communicate with a search server via the network interface, and transmit text selected from among at least one displayed text to the search server and to receive a search result corresponding to the transmitted text from the search server and to display the received search result.

US Pat. No. 10,114,812

METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR SOLVING AN EQUATION SYSTEM USING PURE SPREADSHEET FUNCTIONS

1. A method for computing a value of a root formula expression stored in a spreadsheet software application, the method comprising:A) displaying and operating one or more tabular datasheets by executing the spreadsheet software application on a computer device, each tabular datasheet having a plurality of cells each being designated with a column identifier and a row identifier, the cells being configured to receive values or formula expressions input, evaluate formula expressions, and display output; and
B) providing a programming interface to the spreadsheet software application, the programming interface being configured to:
B1) receive the identifiers for at least one of the cells and retrieve a value or a formula expression from the one of the cells;
B2) receive at least an evaluable formula expression, and evaluate its equivalent value, wherein the evaluable formula expression represents an independent textual expression that is evaluated to an equivalent numerical value by said programming interface; and
C) providing a graph constructor algorithm for representing the root formula and its interdependence on an additional nested formulas and the variables on a tree-structured graph of relational nodes, the graph constructor algorithm comprising:
C1) receiving the identifiers for the root formula's cell and the variables' cells and communicating with said programming interface to retrieve the root formula expression;
C2) identifying and retrieving the expressions for the additional nested formulas expressions on which the root formula depends by traversing the dependency of any retrieved expression on additional formulas;
C3) constructing a tree-structured graph of relational nodes for representing the interdependence of the root formula expression on the additional nested formulas expressions and the variables;
C4) transforming the tree-structured graph into an evaluation graph of relational nodes containing an equivalent sequence of formula expressions; and
D) providing a graph evaluator algorithm for evaluating said evaluation graph, the graph evaluator algorithm comprising:
D1) receiving said evaluation graph and a supply of values for the variables;
D2) traversing the relational nodes of said evaluation graph in an order of their interdependence and transforming the formula expression in each relational node into an evaluable formula expression by replacing the variables in said formula expression in the relational node by the supplied values of the variables, and any reference to a traversed child relational node;
D3) obtaining a value of the relational node by evaluating the value of the evaluable formula expression in the relational node via said programming interface;
D4) aggregating the obtained values of the relational nodes in an order of their interdependence to obtain the value of the root formula expression; and
E) providing a computer software application communicable with the spreadsheet software application via said programming interface, the computer software application being configured to execute said graph constructor algorithm followed by said graph evaluator algorithm obtaining the value of the root formula expression in accordance with the supplied values of the one or more variables for the root formula, the root formula depending on the variables explicitly or implicitly through interdependence on the additional nested formulas, not storing or modifying any stored values in the spreadsheet application.

US Pat. No. 10,114,811

METHODS AND SYSTEMS FOR VALIDATING MULTIPLE METHODS OF INPUT USING A UNIFIED RULE SET

Citrix Systems, Inc., Fo...

1. A server for validating input using a unified rule set, the server comprising:one or more processors configured to execute one or more modules of an application programming interface (API); and
a memory storing the one or more modules of the API, the API comprising a definition of a unified rule set of input validation rules that are executable by different components of a system:
wherein the unified rule set comprises two or more sets of input validation rules in which set membership is based in part on where an input validation rule is to be executed, the unified rule set comprising:
a first set of input validation rules including rules that are to be executed by the API, and
a second set of input validation rules including rules that are to be executed by a first component downward from the API, wherein the downward component is on a device separate from the server;
wherein input is received from the downward component, wherein the input has been validated using the second set of validation rules; and
whether the input is valid is determined using the first set of validation rules.

US Pat. No. 10,114,810

METHODS AND A COMPUTING DEVICE FOR MAINTAINING COMMENTS AND GRAPHICAL ANNOTATIONS FOR A DOCUMENT

Workiva Inc., Ames, IA (...

1. A method for processing comments and graphical annotations on a document, the method comprising:a first computing device transmitting instructions for rendering a document to a second computing device via a computer network;
in response to the instructions, the second computing device
rendering the document on a display device as view-only;
defining a transparent drawing canvas over the rendered document
the second computing device receiving a user input indicating: a coordinate on the rendered document, a graphical annotation, and text for the graphical annotation;
the second computing device drawing the graphical annotation and placing the text on the drawing canvas anchored at the coordinate;
the second computing device mapping the coordinate to a portion of the document underneath the drawing canvas to which the text and the graphical annotation are to be anchored;
the second computing device transmitting, to the first computing device, an identifier of the portion of the document, a request for the graphical annotation to be anchored to the portion of the document, and a request for the text to be associated with the graphical annotation;
the first computing device using the identifier to determine a database entity containing the portion of the document
the first computing device storing the graphical annotation in a database in a graphical annotation entity of the database;
the first computing device creating, within the database, an association between the entity containing the portion of the document and the graphical annotation entity;
the first computing device storing the text in the database in a comment entity; and
the first computing device creating an association between the graphical annotation entity and the comment entity within the database.

US Pat. No. 10,114,809

METHOD AND APPARATUS FOR PHONETICALLY ANNOTATING TEXT

TENCENT TECHNOLOGY (SHENZ...

1. A method, comprising:at a computing device having one or more processors and memory:
receiving a text input from a user, including receiving copied or scanned text for which context-appropriate phonetic annotation is to be performed at the computing device;
identifying a first polyphonic word segment and a first monophonic word segment in the text input, the first polyphonic word segment having at least a first pronunciation and a second pronunciation that is distinct from the first pronunciation, and the first monophonic word segment having a single pronunciation;
determining at least a first probability corresponding to the first pronunciation being a correct pronunciation for the first polyphonic word segment and a second probability corresponding to the second pronunciation being the correct pronunciation for the first polyphonic word segment, wherein the first probability is greater than the second probability;
determining a predetermined threshold difference based on: (1) a comparison of the first probability and the second probability with a preset threshold probability value, respectively, and (2) a magnitude of a difference between the first probability and the second probability;
comparing the difference between the first probability and the second probability with the predetermined threshold difference; and
selecting the first pronunciation as a current pronunciation for the first polyphonic word segment in accordance with a determination that the difference between the first probability and the second probability exceeds the predetermined threshold difference; and
in a text presentation user interface, displaying the input text concurrently with context-appropriate pronunciation annotations to facilitate a user's reading the input text aloud, including:
phonetically annotating the first monophonic word segment in the displayed input text with the single pronunciation of the first monophonic word segment;
phonetically annotating the first polyphonic word segment in the displayed input text with the first pronunciation of the first polyphonic word segment; and
forgoing phonetically annotating the first polyphonic word segment in the displayed input text with the second pronunciation of the first polyphonic word segment.

US Pat. No. 10,114,808

CONFLICT RESOLUTION OF ORIGINALLY PAPER BASED DATA ENTRY

International Business Ma...

1. A method for updating automated annotations for a paper based document, the method comprising:identifying, by an automated system utilizing optical character recognition, ambiguous content within a paper-based medical record, wherein the ambiguous content includes one or more terms that each correspond to a same acronym, wherein the automated system is located on one or more client devices and on a server that is communicatively coupled to the one or more client devices over a communications network;
highlighting, by the automated system, the ambiguous content, wherein the highlighted ambiguous content within the paper-based document comprises information corresponding to automated entity extraction;
including, by the automated system, an area of text that links to a choice box within a margin of the paper-based document;
transmitting, by the automated system and to the SME, an electronically transmitted image of the paper-based document;
receiving, by the automated system, an edited image of the paper-based document that includes:
at least one edited annotation made by the SME that clarifies the ambiguous content, wherein the edited at least one annotation comprises a manual edit using a pen on the paper-based document including the plurality of highlighted ambiguous content, wherein the manual edit using the pen comprises at least one of an approval of an annotation, a disapproval of an annotation, a clarification of an annotation, and an addition of an annotation, wherein the disapproval of the annotation comprises placing an “X” through the annotation, and wherein the approval of the annotation comprises placing a “check mark” through the annotation, and wherein the clarification of the annotation comprises placing a “check mark” in an appropriate check box, wherein the addition of the annotation comprises circling or underlining a non-annotated area of the paper-based document; and
an approval, by the SME filing in the choice box, of the at least one edited annotation;
extracting the at least one edited annotation from the received image of the paper-based document, wherein only the at least one edited annotation is identified while the remainder of the paper-based document is subtracted;
in response to determining the extracted at least one edited annotation is approved by the SME, adding the extracted at least one edited annotation of the paper-based document to a data retention system, wherein the data retention system is a structured data system located on the server and includes a plurality of electronic medical records (EMR), wherein the plurality of electronic medical records are an electronic representation of the medical record;
retrieving the approved added extracted at least one edited annotation to identify and update the plurality of EMR within the data retention system that include the highlighted ambiguous content by replacing the highlighted ambiguous content with the approved at least one edited annotation;
updating previously stored ambiguous content that was highlighted within the data retention system with the approved at least one edited annotation, and wherein updating the previously stored highlighted ambiguous content within the data retention system includes updating the previously stored highlighted ambiguous content within the one or more client devices; and
rescanning the paper-based document back into the automated system;
removing original text from the rescanned paper-based document; and
utilizing acronym token boundaries to identify any acronym tokens within the paper-based that are needed to be updated for future use in previously saved EMRs.

US Pat. No. 10,114,807

AUTOMATICALLY EVALUATING LIKELY ACCURACY OF EVENT ANNOTATIONS IN FIELD DATA

PHYSIO-CONTROL, INC., Re...

1. A device comprising:a processor; and
a non-transitory storage medium communicatively coupled to the processor, the storage medium configured to store one or more programs which, when executed by the processor, cause the device to:
receive field data, derived from a Cardio Pulmonary Resuscitation (CPR) session, including events of at least two different types occurring to a patient over time, the event types including at least one of chest compressions and ventilations within the CPR session;
receive annotations that have been previously generated from field data, the annotations identifying at least some of the events;
calculate at least one of a relative timing of at least two events of the field data based on the annotations identifying the at least two events;
obtain at least one accuracy criterion, the accuracy criterion indicating an expected event sequence and the relative timing of the at least two events;
compute at least one accuracy score for the annotations based on the accuracy criterion;
assign, out of a plurality of possible grades, at least one grade based on the accuracy score, the assigned grade indicating an accuracy with which the annotations identify the events identified by the annotations, and
output a user signal that includes the at least one grade for the annotations.

US Pat. No. 10,114,805

INLINE ADDRESS COMMANDS FOR CONTENT CUSTOMIZATION

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:presenting, by a computing system, a network document associated with a uniform resource locator, the network document having a predetermined structure and being presented in a browser;
upon detecting a change in the uniform resource locator, and upon determining that the change in the uniform resource locator does not impact a domain name in the uniform resource locator associated with the network document, processing the change as a request from a user, the request comprising:
a first selector which indicates a first portion of the network document, the first portion comprising less than the entire network document;
a first action indicator which indicates a first change to be made to the first portion of the network document indicated by the first selector such that portions of the network document other than the indicated first portion remain unaffected by the first change, the first action indicator comprising a first method to be performed with respect to the indicated first portion that causes the first portion to be resized from its position in the predetermined structure;
a second selector which indicates a second portion of the network document that is distinct from the first portion of the network document, the second portion comprising less than the entire network document; and
a second action indicator which indicates a second change to be made to the second portion of the network document indicated by the second selector such that portions of the network document other than the indicated second portion remain unaffected by the second change, the second action indicator comprising a second method to be performed with respect to the indicated second portion that causes the second portion to be resized from its position in the predetermined structure;
asynchronously updating, by the computing system, the first portion of the network document such that the first portion is updated based on the first method, based at least in part on information contained within the request, with portions of the network document other than the indicated first portion of the network document remaining unchanged by the first change;
asynchronously updating, by the computing system, the second portion of the network document such that the second portion is updated based on the second method, based at least in part on the second selector and the second action contained within the request, with portions of the network document other than the indicated second portion of the network document remaining unchanged by the second change; andcausing the network document with the updated first portion and the updated second portion to be presented in the browser.

US Pat. No. 10,114,804

REPRESENTATION OF AN ELEMENT IN A PAGE VIA AN IDENTIFIER

INTERNATIONAL BUSINESS MA...

1. A computer program product comprising:a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code readable by a processor to cause the processor to perform:
encountering a first element in a web page for a first time;
computing a first identifier for the first element using an algorithm responsive to the encountering of the first element,
wherein the first identifier represents a subtree;
causing the first identifier to be stored in a storage device using a hash representation of the first identifier to minimize a density of the storage device that is used when a history is unavailable for the first element in the storage device,
wherein the first identifier is available without re-computing the first identifier when the first identifier exists as the hash representation in the history, and
wherein a re-computing of the first identifier for the first element using the algorithm responsive to the encountering of the first element is performed and the re-computed first identified is stored as the hash representation in the history for future reference when the first identifier does not exists as the hash representation in the history;
subsequently encountering the first element two or more times in a different location of the web page and in a second web page;
representing the first element two or more times time of the subsequent encounters by retrieving the first identifier from the storage device,
wherein the algorithm computes the first identifier in a bottom-up fashion starting with leaf nodes and continuing to a root node, in a deterministic way to yield the first identifier when computing the first identifier, and
wherein the algorithm computes the first identifier in screening operation that comprises a first stripping out of the first element when it is deemed unimportant, a grouping of similar leaf nodes under the root node, a second stripping out of the first element when the first element is repeated two or more times within the similar leaf nodes under the root node, and repeating the grouping and the second stripping until there are no more duplicates to group; and
recursively computing respective unique identifiers for each of one or more subsequent elements derived from the first element,
wherein each of the one or more subsequent elements derived are from the first identifier and represented in the subtree by the respective unique identifiers,
wherein the recursive computing includes:
encountering a second element in a web page for a second time,
wherein the second element is derived from the first identifier;
computing a second identifier for the second element using the algorithm,
wherein second identifier is based on having encountered the second element, is different than the first identifier, and is stored within the subtree represented by the first identifier;
causing the second identifier to be stored in the storage device using a hash representation of the second identifier to minimize the density of the storage device that is used;
subsequently encountering the second element two or more times in a second different location of the web page and in the second web page; and
representing the second element by the second identifier at the time of the subsequent encounters by retrieving the second identifier from the storage device.

US Pat. No. 10,114,803

SYSTEM AND METHOD FOR PROVIDING CONTENT TO USERS BASED ON INTERACTIONS BY SIMILAR OTHER USERS

GROUPON, INC., Chicago, ...

1. An apparatus comprising at least one processor and at least one memory coupled to the processor, the at least one memory storing computer program code that is configured to, when executed by the at least one processor, cause the apparatus to:generate a user identifier associated with a user;
provide, via a network, the user identifier to a first client device;
receive, via the network, a user data set and the user identifier from the first client device;
receive, via the network, a notification of a web page being loaded by a browser or application associated with the user, wherein receiving the notification of the web page being loaded by the browser or application associated with the user comprises receiving an indication that the user has changed focus to or away from the browser or the application;
receive, via the network, a uniform resource locator (URL) associated with the notification and a search terms set associated with the URL;
retrieve a web page associated with the URL, wherein the web page is configured for display to the first client device in a first format;
analyze the web page to identify an instance in the web page of a search term from within the search terms set; and
cause the instance of the search term in the web page to be configured as a link to an additional information set associated with the search term, wherein the additional information set is selected based at least in part on the user data set, and wherein causing the instance of the search term in the web page to be configured as the link to the additional information set associated with the search term comprises causing the first client device to display the instance of the search term in a second format different from the first format.

US Pat. No. 10,114,802

METHOD, DEVICE, AND SYSTEM FOR ACCESSING THIRD PARTY PLATFORMS VIA A MESSAGING APPLICATION

TENCENT TECHNOLOGY (SHENZ...

1. A method for providing a first client with access to information of a second client managed by an instant messaging server system, wherein the first client and the second client each have respective user accounts of the instant messaging server system, wherein the user account of the first client is a personal account that is a first type of user account of the instant messaging server system through which the first client exchanges instant messages with other user accounts of the instant messaging server system, and the user account of the second client is a Public Number that is a second type of user account of the instant messaging server system distinct from the first type of user account, through which the second client posts one or more documents to be broadcast to other user accounts of the instant messaging server system, the method comprising: the instant messaging server systemreceiving an information access request from the first client to subscribe to the Public Number of the second client by requesting information of the Public Number of the second client, wherein the information access request is generated by scanning a 2D barcode using a first user interface of an instant messaging application associated with the instant messaging server system, wherein the first user interface is displayed on a display of a client terminal through which the first client has logged into its user account at the instant messaging system, and the 2D barcode includes information identifying the Public Number of the second client;
in response to receiving the information access request generated by scanning the 2D barcode:
connecting the user account of the first client to the Public Number of the second client such that the user account of the first client is a follower of the Public Number;
generating an icon linked to the requested information of the Public Number of the second client; and
forwarding the icon to the first client, wherein the icon comprises the information identifying the Public Number of the second client, and wherein the icon is one of a plurality of icons to be arranged within a second user interface of the instant messaging application, displayed on the display of the client terminal in response to receiving the icon, each of the plurality of icons corresponding to a distinct Public Number to which the user account of the first client is subscribed, each Public Number being associated with a distinct client of the instant messaging server system;
receiving an information download request from the first client, wherein the information download request is generated by a user selection of the icon;
in response to the information download request:
generating one or more information snippets, each information snippet including a link to a respective document posted by the second client to the Public Number; and
returning the one or more information snippets to the client terminal, wherein the one or more information snippets correspond to the one or more documents posted by the second client and are to be arranged within a third user interface of the instant messaging application displayed on the display of the client terminal in replacement of the second user interface;
receiving, from the first client, a content viewing request for a respective information snippet displayed on the display of the client terminal, wherein the content viewing request is generated by a user selection of the respective information snippet within the third user interface; and
in response to the content viewing request, returning, to the client terminal, a respective document posted by the second client and corresponding to the respective information snippet, wherein the respective document is to be arranged within a fourth user interface of the instant messaging application displayed on the display of the client terminal in replacement of the third user interface.

US Pat. No. 10,114,801

TREEMAP OPTIMIZATION

ENTIT SOFTWARE LLC, Sunn...

1. A method executed by a system comprising a processor, comprising:accessing a plurality of data files in storage;
assigning a size value to each of the plurality of data files, wherein each size value is determined based on a size of a corresponding data file of the plurality of data files;
in ascending order of size value of the size values assigned to the plurality of data files, iteratively merging each of data files of a first subset of the plurality of data files into a merge file until a threshold is reached, the plurality of data files comprising a second subset of data files in addition to the first subset of data files;
displaying the second subset of data files as a plurality of boxes on a treemap on a display screen, wherein the size of each box of the plurality of boxes correlates to the size value of a corresponding data file of the second subset of data files, and displaying the merge file as a merge box on the treemap on the display screen; and
in response to user selection of the merge box in the treemap, presenting information of each individual data file of the first subset of data files merged into the merge file, the presented information enabling user access to the first subset of data files.

US Pat. No. 10,114,800

LAYOUT RECONSTRUCTION USING SPATIAL AND GRAMMATICAL CONSTRAINTS

INTUIT INC., Mountain Vi...

1. A computer-implemented method for determining a layout of information in a document, the method comprising:receiving an image of the document;
receiving an identifier of a user;
prior to performing an image analysis on the image, selecting an initial layout of the document based on the identifier;
performing the image analysis on the image to calculate features, wherein the features include binary robust invariant scalable keypoints or fast retina keypoints;
determining a layout of the document based on the calculated features, as well as spatial constraints and grammatical constraints associated with the initial layout, wherein the layout specifies locations of content in the document;
sending information specifying the determined layout to the user;
requesting feedback regarding the determined layout;
receiving the requested feedback, wherein the feedback confirms that the determined layout matches the document;
populating fields in a form with the content, wherein the form matches the determined layout such that the content appears in the specified locations in the form; and
sending the form for presentation on a display in the determined layout to the user.

US Pat. No. 10,114,799

METHOD FOR ARRANGING IMAGES IN ELECTRONIC DOCUMENTS ON SMALL DEVICES

Canon Kabushiki Kaisha, ...

1. A method of displaying digital images using an image display device, the method comprising the steps of:displaying a plurality of digital images on the display device;
dragging, across an electronic document on the display device, a digital image from the plurality of displayed digital images in response to a user's designation;
making the plurality of displayed digital images partly transparent except for the dragged digital image while the digital image is dragged;
changing a display position of the dragged digital image according to a user operation; and
changing opacity properties of each of the plurality of displayed digital images other than the dragged digital image so that an opacity property of each of the plurality of displayed digital images other than the dragged digital image is restored to an opacity property possessed before the dragging commenced, the changing being performed once the dragging of the digital image across the electronic document is completed.

US Pat. No. 10,114,798

AUTOMATED CONTEXT-BASED UNIQUE LETTER GENERATION

Progrexion IP, Inc., Nor...

1. A computer-implemented method that causes a computing system to generate a letter, the computing system comprising one or more processors and a memory storing the following: (a) a first plurality of text strings, each suitable for use in at least a first portion of a salutation in the letter, (b) a second plurality of text strings, each suitable for use in at least a first portion of a request for action in the letter, and (c) a third plurality of text strings, each suitable for use in at least a first portion of a signature block in the letter, the computing system also storing computer-executable instructions that are executed by the one or more processors of the computing system for causing the computing system to perform the method, the method comprising:generating a first random number;
selecting, based on the first random number, one text string from the first plurality of text strings;
generating a second random number;
selecting, based on the second random number, one text string from the second plurality of text strings;
generating a third random number;
selecting, based on the third random number, one text string from the third plurality of text strings;
obtaining a first set of rules that defines a mandatory ordering for each portion and each sub-portion of the following letter portions: (a) the salutation of the letter, (b) the request for action in the letter, and (c) the signature block of the letter, the first set of rules governing a recursive construction of the letter such that construction of subsequent portions of the letter are at least partially determined by one or more earlier portions of the letter; and
generating the letter using at least the one text string selected from the first plurality of text strings, the one text string selected from the second plurality of text strings, and the one text string selected from the third plurality of text strings, wherein generating the letter is performed by evaluating the first set of rules against each of the following: (a) the one text string selected from the first plurality of text strings, (b) the one text string selected from the second plurality of text strings, and (c) the one text string selected from the third plurality of text strings, whereby the letter is recursively constructed by evaluating the first set of rules against various different selected portions of text strings.

US Pat. No. 10,114,797

METHODS AND APPARATUS FOR PROVIDING A PROGRAMMABLE MIXED-RADIX DFT/IDFT PROCESSOR USING VECTOR ENGINES

Cavium, LLC, Santa Clara...

1. An apparatus, comprising:a memory bank;
a vector data path pipeline coupled to the memory bank, wherein the vector data path pipeline includes a vector scaling unit that receives vector data from the memory bank and outputs scaled vector data; and
a configurable mixed radix engine coupled to the vector data path pipeline, wherein the configurable mixed radix engine is configurable to perform a radix computation selected from a plurality of radix computations, and wherein the configurable mixed radix engine performs the selected radix computation on data received from the memory through the pipeline to generate a radix result.

US Pat. No. 10,114,796

EFFICIENT IMPLEMENTATION OF CASCADED BIQUADS

TEXAS INSTRUMENTS INCORPO...

1. A infinite impulse response (IIR) filter comprising:an input terminal to receive an input signal;
an output terminal to output an output signal;
a first multiplier circuit to multiply the input signal by the sum of a first filter coefficient and a second filter coefficient to produce a first signal, the first multiplier circuit having an input to receive the input signal and an output to output the first signal;
a second multiplier circuit to multiply the input signal by the sum of a third filter coefficient and a fourth filter coefficient to produce a second signal, the second multiplier circuit having an input to receive the input signal and an output to output the second signal;
a third multiplier circuit to multiply a feedback signal by the first filter coefficient to produce a third signal, the third multiplier circuit having an input to receive the feedback signal and an output to output the third signal;
a fourth multiplier circuit to multiply the feedback signal by the third filter coefficient to produce a fourth signal, the fourth multiplier circuit having an input to receive the feedback signal and an output to output the fourth signal;
a first summing circuit to sum the second and fourth signals to produce a fifth signal, the first summing circuit having first and second inputs to receive the second and fourth signals, respectively, and an output to output the fifth signal;
a first delay circuit to receive the fifth signal and apply a first delay thereto to produce a sixth signal, the first delay circuit having an input to receive the fifth signal and an output to output the sixth signal;
a second summing circuit to sum the first, third, and sixth signals to produce a seventh signal, the second summing circuit having first, second, and third inputs to receive the first, third, and sixth signals, respectively, and an output to output the seventh signal;
a second delay circuit to receive the seventh signal and apply a second delay thereto to produce an eighth signal, the second delay circuit having an input to receive the seventh signal and an output to output the eighth signal; and
a third summing circuit to sum the input signal and the eighth signal to produce the output signal;
wherein the eighth signal is the feedback signal.

US Pat. No. 10,114,795

PROCESSOR IN NON-VOLATILE STORAGE MEMORY

WESTERN DIGITAL TECHNOLOG...

1. A computing system comprising a device, the device comprising:a non-volatile memory divided into a plurality of selectable locations, each bit in the non-volatile memory configured to have corresponding data independently programmed and erased, wherein the selectable locations are grouped into a plurality of data lines;
one or more processing units coupled to the non-volatile memory, each of the processing units associated with a data line of the plurality of data lines, the one or more processing units comprising one or more reconfigurable processing units, the one or more processing units configured to:
manipulate, based on one or more instruction sets, data in an associated data line of the plurality of data lines to generate results that are stored in selectable locations of the associated data line reserved to store results of the manipulation;
determine which of the instruction sets are most frequently used by the one or more processing units to manipulate data; and
reconfigure the one or more reconfigurable processing units to manipulate data using the determined most frequently used instruction sets.

US Pat. No. 10,114,794

PROGRAMMABLE LOAD REPLAY PRECLUDING MECHANISM

VIA ALLIANCE SEMICONDUCTO...

1. An apparatus for reducing replays in an out-of-order processor, the apparatus comprising:a first reservation station, coupled to a hold bus, configured to dispatch a first load micro instruction, and configured to detect and indicate on the hold bus if said first load micro instruction is one of a plurality of specified load instructions directed to one of a plurality of non-core resources which are shared by a plurality of cores of the out-of-order processor;
replay reducer circuitry configured to evaluate an unmodified opcode portion of a load micro instruction that implicates a non-core resource, in order to detect said specified load micro instruction directed to non-core resources;
a second reservation station, coupled to said hold bus, configured to dispatch one or more younger micro instructions therein that depend on said first load micro instruction for execution after a first number of clock cycles following dispatch of said first load micro instruction, and if it is indicated, in response to the detection by the replay reducer circuit, on said hold bus that said first load micro instruction is said one of said plurality of specified load instructions, said second reservation station is configured to stall dispatch of said one or more younger micro instructions until said first load micro instruction has retrieved an operand;
load execution logic, coupled to said first reservation station, configured to receive and execute said first load micro instruction, wherein, if said first load micro instruction is not said specified load micro instruction, said load execution logic indicates on a miss bus if said first load micro instruction fails to successfully execute in said first number of clock cycles, thus initiating a replay of said one or more younger micro instructions, and wherein, if said first load micro instruction is said specified load micro instruction, said load execution logic does not indicate that said first load micro instruction fails to successfully execute if more than said first number of clock cycles are required to successfully execute, thus precluding a replay of said one or more younger micro instructions; and
said plurality of non-core resources which are located outside of said plurality of cores, comprising:
a fuse array, configured to store said plurality of specified load instructions corresponding to the out-of-order processor, wherein the out-of-order processor, upon initialization, accesses said fuse array to determine said plurality of specified load instructions.

US Pat. No. 10,114,792

LOW LATENCY REMOTE DIRECT MEMORY ACCESS FOR MICROSERVERS

CISCO TECHNOLOGY, INC, S...

1. A method, comprising:generating queue pairs (QPs) in a memory of an input/output (I/O) adapter of a microserver chassis having a plurality of compute nodes executing thereon, the QPs being associated with a remote direct memory access (RDMA) connection, based on an RDMA protocol, between a first compute node and a second compute node in the microserver chassis;
setting a flag in the QPs to indicate that the RDMA connection is local to the micro server chassis;
performing, in response to the flag, a loopback of RDMA packets within the I/O adapter from one memory region in the I/O adapter associated with the first compute node of the RDMA connection to another memory region in the I/O adapter associated with the second compute node of the RDMA connection, without sending the RDMA packets external to micro server chassis;
wherein an egress direct memory access (DMA) engine performs a lookup of the memory region in the I/O adapter associated with the first compute node of the RDMA connection according to a first microcode routine associated with an I/O operation as loaded by the second compute node and retrieves data according to the I/O operation; and
wherein an ingress DMA engine writes the data in the RDMA packets into the another memory region in the I/O adapter associated with the second compute node of the RDMA connection according to a second microcode routine loaded by an ingress packet classifier.

US Pat. No. 10,114,791

ELECTRONIC APPARATUS, CALCULATION PROCESSING METHOD, AND RECORDING MEDIUM STORING CALCULATION PROCESSING PROGRAM

CASIO COMPUTER CO., LTD.,...

1. An electronic apparatus comprising:a display;
a memory; and
a processor,
wherein the processor is configured to:
accept inputs of a plurality of equations including numerical data in response to user operations;
display, on the display, numerical data of a grand total of calculation results of the plurality of equations;
store, in the memory, the calculation results corresponding to the plurality of equations;
search at least one of the calculation results in response to at least one user operation, without searching contents of the plurality of equations;
display, on the display, the searched at least one of the calculation results;
compare whether a value of newly input numerical data for recalculation is equal to a value of corresponding input numerical data of the searched at least one of the calculation results; and
substitute, in the searched at least one of the calculation results, the newly input numerical data for the corresponding input numerical data without inputting any numerical value key again for substitution of the newly input numerical data in response to the comparison determining that the value of the newly input numerical data is not equal to the value of the corresponding input numerical data, and
wherein the substitution is performed by operating at least one key other than a numerical value key.

US Pat. No. 10,114,790

PORT MIRRORING FOR PERIPHERAL COMPONENT INTERCONNECT EXPRESS DEVICES

Microsemi Solutions (U.S....

1. An apparatus for port mirroring comprising:a plurality of peripheral component interconnect express (PCIe) interfaces, each PCIe interface comprising, in a physical (PHY) layer instance of the PCIe interface,
at least one output transmission port connected to a central processing unit (CPU) when the PHY layer instance is active for transmitting data to the CPU and connectable to an analyzer when the PHY layer instance is inactive for analyzing data at the at least one output transmission port,
at least one receiving input port connected to the CPU for receiving data from the CPU,
at least one port-mirror-in (PM_IN) port, and
at least one port-mirror-out (PM_OUT) port;
wherein the at least one PM_OUT port of each PHY layer instance is coupled to the at least one PM_IN port of a next PHY layer instance such that the PHY layer instances of the plurality of PCIe interfaces are connected in a ring bus architecture such that data from one or more ports of either the at least one output transmission port or the at least one receiving input port of an active PHY layer instance of an active one of the plurality of PCIe interfaces is transmitted, via the at least one PM_OUT port of the active PHY layer instance, to the at least one PM_IN port of an inactive PHY layer instance of an inactive one of the plurality of the PCIe interfaces and transmitted to the analyzer by the output transmission ports of an inactive PHY layer instance connected to the analyzer to mirror the one or more ports of the active PHY layer instance.

US Pat. No. 10,114,789

SYSTEM ON CHIP FOR PACKETIZING MULTIPLE BYTES AND DATA PROCESSING SYSTEM INCLUDING THE SAME

Samsung Electronics Co., ...

1. A system on chip comprising a display serial interface (DSI) which comprises a PHY protocol interface (PPI) used for communication between a DSI host controller and a D-PHY, wherein the DSI host controller comprises:a register configured to store first indicator data indicating a PPI packetizing method; and
a lane distributor configured to: (1) determine a size of a symbol to be transmitted to the PPI and an order of first processing units to be included in the symbol based on the first indicator data and (2) packetize the symbol comprising the first processing units according to the order that has been determined,
wherein the lane distributor receives a data packet comprising second processing units and generates the symbol comprising the first processing units by distributing a part of the second processing units using a PPI processing unit J, a number M of lanes connected to the D-PHY, a transmission order N of the symbol, and a number L given to a lane through which the symbol is transmitted among the lanes connected to the D-PHY which are comprised in the first indicator data.

US Pat. No. 10,114,788

ADJUSTING AN OPTIMIZATION PARAMETER TO CUSTOMIZE A SIGNAL EYE FOR A TARGET CHIP ON A SHARED BUS

International Business Ma...

1. A system, comprising:a shared bus;
a plurality of chips coupled to respective locations along the shared bus;
a driver coupled to a first end of the shared bus;
a dynamic termination resistor coupled to a second end of the shared bus; and
configuration logic configured to:
evaluate received data to identify at least one target chip of the plurality of chips, wherein the target chip is an intended recipient of the received data,
adjust a resistance value of the termination resistor based upon a location of the target chip on the shared bus before the driver transmits the received data on the shared bus; and
a communication link coupled to the configuration logic and the termination resistor, wherein the communication link is separate and disconnected from the shared bus, and wherein the configuration logic is configured to transmit control signals on the communication link to change the resistance value of the termination resistor.

US Pat. No. 10,114,787

DEVICE IDENTIFICATION GENERATION IN ELECTRONIC DEVICES TO ALLOW EXTERNAL CONTROL OF DEVICE IDENTIFICATION FOR BUS COMMUNICATIONS IDENTIFICATION, AND RELATED SYSTEMS AND METHODS

QUALCOMM Incorporated, S...

1. A bus communications system for allowing a slave device coupled to a communications bus to reprogram its device identification, comprising:the communications bus comprised of a data line and a clock line;
a master device comprised of a master data port and a master clock port, the master device coupled to the communications bus by the master data port coupled to the data line and the master clock port coupled to the clock line;
the slave device comprising:
a device identification port coupled to the communications bus, the device identification port comprising one of a data pin and a clock pin, the data pin coupled to the data line of the communications bus, and the clock pin coupled to the clock line of the communications bus; and
a device identification generation circuit coupled to the device identification port, the device identification generation circuit configured to:
detect an electrical characteristic of a communications bus signal received from the communications bus on the device identification port through the one of the data pin and the clock pin;
generate a device identification based on the detected electrical characteristic selected from a plurality of device identifications provided in the slave device; and
store the generated device identification in a device identification memory;
an alternative current (AC) couple coupled to the device identification port;
an external resistor coupled to the device identification port;
a switch configured to switchably couple the external resistor to the device identification port; and
a switch control line configured to control an opening or closing of the switch,
wherein the master device is configured to generate a control signal on the switch control line to cause the switch to open or close to control coupling of the external resistor to the device identification port.

US Pat. No. 10,114,786

BACK CHANNEL SUPPORT FOR SYSTEMS WITH SPLIT LANE SWAP

CISCO TECHNOLOGY, INC., ...

1. A method comprising:configuring a back channel layer to form a back channel path to carry a first message to a first transmitter from a first receiver, wherein the first transmitter is in a first serializer/deserializer (SERDES) slice of a plurality of SERDES slices, and the first SERDES slice is assigned a lane ID;
receiving, at the first receiver, a second message, wherein the first receiver is in a second SERDES slice of a plurality of SERDES slices, and the back channel layer inserts a recipient ID in the second message to produce the first message; and
determining, with an interface layer, whether the recipient ID in the first message matches the lane ID, wherein the interface layer interfaces to the first SERDES slice.

US Pat. No. 10,114,785

STORAGE DEVICE AND SERVER DEVICE

Toshiba Memory Corporatio...

1. A storage device comprising:a memory configured to store data;
a control circuit configured to control writing of data to the memory and reading of data from the memory;
an interface circuit that includes a first terminal, a second terminal, and a third terminal, and configured to be connected to a first device or a second device,
the first terminal having a first status when the storage device and the first device are connected, and a second status when the storage device and the second device are connected,
the second terminal having a third status where a first power of first voltage is supplied from the first device to the storage device when the first terminal is in the first status, and a fourth status where a control signal is input from the second device to the storage device when the first terminal is in the second status,
the third terminal being a terminal through which a second power of second voltage is supplied to the storage device; and
a switch control circuit configured to control switching a connection status and a disconnection status based on statuses of the first terminal and the second terminal, the connection status representing that the third terminal and the control circuit are electrically connected, the disconnection status representing that the third terminal and the control circuit are electrically disconnected.

US Pat. No. 10,114,784

STATISTICAL POWER HANDLING IN A SCALABLE STORAGE SYSTEM

Liqid Inc., Broomfield, ...

1. A data storage assembly, comprising:a plurality of storage drives each comprising a drive Peripheral Component Interconnect Express (PCIe) interface and solid state storage media, with each of the plurality of storage drives configured to store and retrieve data responsive to storage operations received over the associated drive PCIe interface;
a PCIe switch circuit coupled to the drive PCIe interfaces of the plurality of storage drives and configured to receive the storage operations issued by one or more host systems over a shared PCIe interface and transfer the storage operations for delivery to the plurality of storage drives over selected ones of the drive PCIe interfaces;
a control processor configured to monitor activity levels of the drive PCIe interfaces of the plurality of storage drives;
the control processor configured to alter properties of the drive PCIe interfaces for one or more of the plurality of storage drives based at least on the activity levels of the one or more of the plurality of storage drives, wherein the properties of the drive PCIe interfaces comprise one or more of a quantity of active PCIe lanes and a PCIe throughput; and
the control processor configured to instruct power control circuitry to provide power to the one or more of the plurality of storage drives based at least on activity levels of the drive PCIe interfaces of the one or more of the plurality of storage drives being above a threshold activity level, and instruct the power control circuitry to remove the power from the one or more of the plurality of storage drives based at least on the activity levels indicating the one or more of the plurality of storage drives are dormant.

US Pat. No. 10,114,783

CONFIGURABLE INPUT/OUTPUT UNIT

CAE Inc., St-Laurent, QC...

1. A configurable input/output unit comprising:a plurality of configurable inputs and outputs comprising:
several outputs capable of sending a broadcast message to a configuration device and several inputs capable of receiving a broadcast response message from the configuration device;
a predefined output for sending the broadcast message to the configuration device; and
a predefined input for receiving the broadcast response message from the configuration device,
wherein the broadcast message comprises a configuration request and the broadcast response message comprises configuration data for configuring the plurality of configurable inputs and outputs;
wherein the broadcast message allows a determination by the configuration device that the configuration device is an intended recipient of the configuration request; and
wherein the configuration request comprises an identifier, the identifier comprising an identification of the predefined input of the configurable input/output unit for allowing transmission of the broadcast response message by the configuration device to the predefined input of the configurable input/output unit.

US Pat. No. 10,114,782

USB TYPE C DUAL-ROLE-PORT UNATTACHED DUTY CYCLE RANDOMIZATION

NXP B.V., Eindhoven (NL)...

1. A universal serial bus (USB) circuit, comprising:a USB interface configured to transmit and receive power and data;
a random number generator circuit configured to generate a random number; and
a controller configured to receive the random number and to select a dual role port (DRP) duty cycle and to select a DRP duration based upon the random number, wherein the DRP duty cycle and DRP duration are used when connecting the USB interface of a first USB type-C DRP device to a USB interface of a second USB type-C DRP device.

US Pat. No. 10,114,780

INFORMATION PROCESSING APPARATUS THAT PERMITS USE OF A USB DEVICE BY AN APPLICATION BEING DISPLAYED, METHOD OF CONTROLLING THE SAME AND NON-TRANSITORY COMPUTER READABLE MEDIUM

Canon Kabushiki Kaisha, ...

1. An information processing apparatus in which a plurality of applications operate, the apparatus comprising:an identification unit configured to identify, from among the plurality of applications, an application that is being displayed in a display unit; and
a control unit configured to perform control so that while one application among the plurality of applications is occupying a USB device USB-connected to the information processing apparatus, another application cannot use the USB device;
wherein the control unit performs control so as to forcibly close usage of the USB device by an application for which usage of the USB device is permitted, and permit usage of the USB device by the application identified as being displayed in the display unit.

US Pat. No. 10,114,779

ISOLATING A REDIRECTED USB DEVICE TO A SET OF APPLICATIONS

Dell Products L.P., Roun...

1. A method, implemented by a virtual bus driver, for isolating a redirected USB device to a set of applications, the method comprising:receiving, at a virtual bus driver executing on a server with which a client terminal has established a remote session, a first USB request block (URB) that is associated with a first IO request packet (IRP) and directed to a USB device that is redirected from the client terminal to the server;
evaluating the first IRP to determine an application that originated the first IRP;
determining whether the application that originated the first IRP is allowed to access the redirected USB device;
upon determining that the application that originated the first IRP is not allowed to access the redirected USB device, preventing the first URB and the associated first IRP from being routed over the remote session to the redirected USB device;
receiving, at the virtual bus driver, a second URB that is associated with a second IRP and directed to the redirected USB device;
evaluating the second IRP to determine an application that originated the second IRP;
determining whether the application that originated the second IRP is allowed to access the redirected USB device; and
upon determining that the application that originated the second IRP is allowed to access the redirected USB device, allowing the second URB and the associated second IRP to be routed over the remote session to the redirected USB device.

US Pat. No. 10,114,778

MULTI-PROTOCOL IO INFRASTRUCTURE FOR A FLEXIBLE STORAGE PLATFORM

Samsung Electronics Co., ...

1. A storage system, comprising:a storage motherboard, comprising:
a first plurality of storage interface connectors;
a cable connector; and
a storage adapter circuit having a host side interface connected to the cable connector and a first plurality of storage side interfaces, each connected to a respective storage interface connector of the storage interface connectors, the storage adapter circuit comprising:
a first protocol translator, configured to translate communications from a host interface protocol to a first storage interface protocol;
a second protocol translator, configured to translate communications from a host interface protocol to a second storage interface protocol;
a first consolidation device configured to connect the first protocol translator to a plurality of storage devices configured to use the first storage interface protocol;
a second consolidation device configured to connect the second protocol translator to a plurality of storage devices configured to use the second storage interface protocol; and
a storage adapter circuit controller configured to:
detect a protocol of a mass storage device connected to a connector of the first plurality of storage interface connectors,
connect the first protocol translator to the host side interface, and connect the first consolidation device between the first protocol translator and the first plurality of storage side interfaces, when the detected protocol is the first protocol, and
connect the second protocol translator to the host side interface, and connect the second consolidation device between the second protocol translator and the first plurality of storage side interfaces, when the detected protocol is the second protocol.

US Pat. No. 10,114,777

I/O SYNCHRONIZATION FOR HIGH INTEGRITY MULTICORE PROCESSING

Rockwell Collins, Inc., ...

1. A system for input/output (I/O) synchronization in a high-integrity multicore processing environment (MCPE), comprising:at least one logical processing unit (LPU) comprising a plurality of homogeneous processing cores, each homogeneous processing core associated with at least one of a guest operating system (GOS) and a user application configured to execute on the homogeneous processing core, each GOS configured to concurrently:
forward at least one input dataset to the at least one user application;
receive at least one output dataset from the at least one user application; and
load the received output dataset into an output I/O synchronization (IOS) channel;
at least one I/O synchronization engine (IOSE) connected to the at least one LPU and comprising the at least one output IOS channel and at least one input IOS channel, the IOSE configured to:
execute at least one verification of the at least one loaded output dataset;
return at least one successful verification by selecting a final output dataset from the at least one loaded output dataset;
route the final output dataset to at least one of an external processing core and a network connected to the MCPE;
receive the at least one input dataset from the at least one of the external processing core and the network;
generate at least one synchronous input by atomically replicating the at least one input dataset into the at least one input IOS channel;
and
concurrently transfer the at least one synchronous input to the at least one GOS via the at least one input IOS channel;
and
at least one hypervisor coupled to the at least one LPU and configured to synchronize the receipt of the at least one output dataset by the at least one GOS.

US Pat. No. 10,114,776

SYSTEM ARBITER WITH PROGRAMMABLE PRIORITY LEVELS

MICROCHIP TECHNOLOGY INCO...

1. An embedded controller comprising:a system bus;
a central processing unit (“CPU”) communicatively coupled to the system bus, the central processing unit comprising a CPU priority register, and the central processing unit operable to access the system according to a plurality of operating modes;
a plurality of arbiter clients communicatively coupled to the system bus, each of the plurality of arbiter clients comprising a programmable priority register; and
a programmable system arbiter for granting access to the system bus among the plurality of arbiter clients and the central processing unit, the programmable system arbiter communicatively coupled to the plurality of arbiter clients and the system bus and the central processing unit, wherein:
the programmable system arbiter comprises one or more interrupt priority registers, each of the one or more interrupt priority registers associated with an interrupt type; and
the programmable system arbiter is operable to arbitrate access to the system bus among the plurality of arbiter clients and the CPU based at least on an analysis of a programmed priority order, the programmed priority order comprising a priority order for each of the plurality of arbiter clients, each of the plurality of operating modes, and each of the one or more interrupt types.

US Pat. No. 10,114,775

STACKED SEMICONDUCTOR DEVICE ASSEMBLY IN COMPUTER SYSTEM

RAMBUS INC., Sunnyvale, ...

1. A stacked semiconductor device assembly, comprising:first and second integrated circuit (IC) devices,
wherein the first IC device includes:
a first master interface;
a first channel master circuit coupled to the first master interface and configured to receive read/write data using the first master interface;
a first slave interface;
a first channel slave circuit coupled to the first slave interface and configured to receive read/write data using the first slave interface;
a first memory core coupled to the first channel slave circuit via a first core interface; and
a first modal pad;
wherein the second IC device includes:
a second master interface;
a second channel master circuit coupled to the second master interface and configured to receive read/write data using the second master interface;
a second slave interface;
a second channel slave circuit coupled to the second slave interface and configured to receive read/write data using the second slave interface;
a second memory core coupled to the second channel slave circuit via a second core interface; and
a second modal pad; and
wherein the first and second IC devices are configured such that in response to at least a modal selection signal received at one of the modal pads of the first and second IC devices, one of the first and second IC devices is configured to receive read/write data using its respective channel master circuit, and the other of the first and second IC devices is configured to receive read/write data using its respective channel slave circuit.

US Pat. No. 10,114,773

TECHNIQUES FOR HANDLING INTERRUPTS IN A PROCESSING UNIT USING VIRTUAL PROCESSOR THREAD GROUPS AND SOFTWARE STACK LEVELS

International Business Ma...

1. A method of handling interrupts in a data processing system, the method comprising:receiving, at an interrupt presentation controller (IPC), an event notification message (ENM), wherein the ENM specifies a level, an event target number, and a number of bits to ignore;
determining, by the IPC, a group of virtual processor threads that may be potentially interrupted based on the event target number, the number of bits to ignore, and a process identifier (ID) when the level specified in the ENM corresponds to a user level, wherein the event target number identifies a specific virtual processor thread and the number of bits to ignore identifies the number of lower-order bits to ignore with respect to the specific virtual processor thread when determining the group of virtual processor threads that may be potentially interrupted; and
selecting a single virtual processor thread from the group of virtual processor threads to service the interrupt.

US Pat. No. 10,114,772

ADDRESS LAYOUT OVER PHYSICAL MEMORY

International Business Ma...

1. A method for translating, within a main memory of a computer system, a physical address of a memory line to a storage location of the memory line, the main memory including a plurality of memory devices, each memory device of the plurality memory devices having a respective memory capacity, each of the respective memory capacities including at least one contiguous memory portion of a uniform size, the memory line being stored in one of the at least one contiguous memory portions, the method comprising:calculating, with a first index calculation unit, for the physical address, a first row index that identifies, within a first data table structure having a set of consecutive rows, wherein each row of the set of consecutive rows is configured to uniquely identify one of the at least one contiguous memory portions, a row of the first data table structure that identifies a memory portion, of the at least one contiguous memory portions, that includes the storage location of the memory line.

US Pat. No. 10,114,771

INTERCONNECTION OF PERIPHERAL DEVICES ON DIFFERENT ELECTRONIC DEVICES

Open Invention Network LL...

1. A method, comprising:creating a generic virtual device object via a processor of an electronic device, the generic virtual device object representing an image of a peripheral device attached to the electronic device and comprising properties of the peripheral device;
installing the generic virtual device object on a remote electronic device using existent setup information of the electronic device;
receiving data at the electronic device from a remote peripheral device attached to the remote electronic device;
generating a setup file via the electronic device responsive to determining a device class of the remote peripheral device attached to the remote electronic device is a same one as a device class of the peripheral device attached to the electronic device;
installing a remote virtual device object at the remote peripheral device via the setup file; and
emulating the remote peripheral device from the electronic device via an emulation driver loaded by the remote virtual device object;
wherein the remote virtual device object is created for the emulation driver.

US Pat. No. 10,114,770

HOMOGENOUS DEVICE ACCESS METHOD WHICH REMOVES PHYSICAL DEVICE DRIVERS IN A COMPUTER OPERATING SYSTEM

Universiti Teknologi Mala...

1. A uniform and homogenous access method of devices, comprising:providing a first device that comprises an operating system (OS) kernel and a logical device driver,
providing a second device that comprises a physical device driver and physical device driver codes that can be executed by the physical device driver, wherein the second device is an input/output (I/O) device,
receiving, by a control port of the second device, a configuration control sent by the first device, and
receiving, by a data port of the second device, a synchronous burst transfer of data sent by the first device, wherein a local addressing scheme, and bytecodes over the control port and the data port are within a homogenous system,
thereby enabling the first device to access and control the second device, wherein device-specific codes of the second device are not stored in the first device.

US Pat. No. 10,114,769

SYNCHRONIZATION OF COMPUTER PERIPHERAL EFFECTS

Logitech Europe S.A., La...

1. A system for synchronizing decorative lighting effects among multiple devices, comprising:a first device;
a first device data memory mounted in the first device and containing decorative lighting effect data usable to generate at least a first decorative lighting effect;
a first device program memory mounted in the first device and containing a program usable to generate the first decorative lighting effect using the decorative lighting effect data;
a first decorative lighting effect system in the first device programmed to provide the first decorative lighting effect on at least one of a key, button or housing over a period of time and to provide a series of first timing reports on the current timing of the first decorative lighting effect, wherein the at least one decorative lighting effect is cyclically repeated;
a transceiver coupled to the first device and configured to receive the first timing reports from the first effect system and transmit the reports wirelessly;
the first effect system being programmed to receive a first synchronization signal and to modify the timing of the first decorative lighting effect in accordance with the first synchronization signal;
non-transitory computer readable code for execution on a host, having instructions to
process a signal indicating the synchronized start of the first decorative lighting effect and a second decorative lighting effect;
initiate a host timer corresponding to the synchronized start of the first and second decorative effects;
receive the first report and a second report and compare them to the host timer;
determine if the timing of the first decorative lighting effect has varied from the host timer by more than a predetermined amount;
send the first synchronization signal to the first device if the first effect has varied from the host timer by more than the predetermined amount;
determine if the timing of a second decorative lighting effect has varied from the host timer by more than a predetermined amount; and
send the second synchronization signal to a second device if the second decorative lighting effect has varied from the host timer by more than the predetermined amount.

US Pat. No. 10,114,768

ENHANCE MEMORY ACCESS PERMISSION BASED ON PER-PAGE CURRENT PRIVILEGE LEVEL

Intel Corporation, Santa...

1. A processing system comprising:a processing core; and
a memory management unit, communicatively coupled to the processing core, comprising:
a storage device to store a page table entry (PTE) comprising:
a mapping from a virtual memory page referenced by an application running on the processing core to an identifier of a memory frame of a memory,
a first plurality of access permission flags associated with accessing the memory frame under a first privilege mode, and
a second plurality of access permission flags associated with accessing the memory under a second privilege mode,
wherein the memory management unit is to allow:
accessing the memory frame under the first privilege mode based on the first plurality of access permission flags when a privilege configuration flag is set to enabled;
accessing the memory frame under the second privilege mode based on the second plurality of access permission flags when the privilege configuration flag is enabled; and
accessing the memory frame under the first privilege mode or the second privilege mode based on commonly shared access permission flags from the first plurality of access permission flags and the second plurality of access permission flags when the privilege configuration flag is disabled.

US Pat. No. 10,114,767

VIRTUALIZING PHYSICAL MEMORY IN A VIRTUAL MACHINE SYSTEM USING A HIERARCHY OF EXTENDED PAGE TABLES TO TRANSLATE GUEST-PHYSICAL ADDRESSES TO HOST-PHYSICAL ADDRESSES

Intel Corporation, Santa...

1. A processor, comprising:memory management hardware to translate a guest-virtual address, the memory management hardware including:
extended page table (EPT) access logic to access an EPT hierarchy while guest software operates on the processor, the EPT hierarchy including
a first table input, the first table input coupled downstream from a first node, the first node to receive a first segment of a guest-physical address;
a first table output, the first table output to provide a base host-physical address for a second table;
a second table input, the second table input coupled downstream from a second node, the second node to receive a second segment of the guest-physical address, the second segment contiguous with and of lower order than the first segment;
a second table output, the second table output to provide a base host-physical address for a third table;
a third table input, the third table input coupled downstream from a third node, the third node to receive a third segment of the guest-physical address, the third segment contiguous with and of lower order than the second segment;
a third table output, the third table output to provide a base host-physical address for a physical page;
a fourth node to present an input for the physical page, the fourth node to present the input for the physical page coupled downstream from a fifth node, the fifth node to receive a fourth segment of the guest-physical address, the fourth segment contiguous with and of lower order than the third segment; and
a register to store a base host-physical address of a highest-level table of the EPT hierarchy;
wherein the EPT hierarchy is to translate each of a plurality of guest-physical addresses to one of a plurality of host-physical addresses, each of the plurality of guest-physical addresses to be formed by the memory management hardware based on one of a plurality of portions of the guest-virtual address, wherein for each translation the processor is to validate access permission according to controls in EPT tables, and wherein the register is to be loaded from a field in a virtual machine control structure in connection with a virtual machine entry.

US Pat. No. 10,114,766

MULTI-LEVEL INDEPENDENT SECURITY ARCHITECTURE

Secturion Systems, Inc., ...

1. A system, comprising:a plurality of data input ports, each port corresponding to one of a plurality of different levels of security classification;
a plurality of computing devices coupled to receive incoming data from the plurality of input ports, wherein the incoming data includes a first data packet having a first classification level, the first data packet comprises a tag that identifies one of the levels of security classification, and wherein each computing device is configured to perform, by at least one processor, security processing for at least one of the different levels of security classification;
wherein a first computing device of the plurality of computing devices is further configured to:
encrypt, using a first set of keys, the first data packet for sending to a data storage;
read the first data packet from the data storage;
after reading the first data packet from the data storage, detect that the first data packet is stored at the first classification level;
generate, based on detecting that the first data packet is stored at the first classification level, a key address to select a second set of keys; and
decrypt the first data packet using the second set of keys;
a multiplexer configured to route, based on the tag, the first data packet from one of the data input ports to the first computing device; and
a key manager configured to select the first set of keys from a plurality of key sets stored in at least one memory, each of the key sets corresponding to one of the different levels of security classification.

US Pat. No. 10,114,765

AUTOMATIC RECOVERY OF APPLICATION CACHE WARMTH

Microsoft Technology Lice...

1. A computer system, comprising:one or more processors; and
one or more hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to perform at least the following:
during operation of an application in a first state,
identify one or more cache portions in an application cache associated with the application;
capture a cache portion identifier associated with each of the one or more cache portions, each cache portion identifier comprising less than entirety of the associated cache portion; and
store the one or more cache portions in a first data store that is external to the application cache and each captured cache portion identifier in a second data store that is separate from the first external store;
after storing the one or more cache portions in the first data store, detect a first change in state of the application to a second state;
after detecting the change in state of the application to the second state, detect a second change in state of the application back to the first state; and
based at least on detecting the second change in state of the application back to the first state,
retrieve the one or more cache portions from the first data store using one or more of the captured cache portion identifiers stored in the second data store; and
store each retrieved one or more cache portions in the application cache, such that the application cache is warmed for the first state.

US Pat. No. 10,114,764

MULTI-LEVEL PAGING AND ADDRESS TRANSLATION IN A NETWORK ENVIRONMENT

CISCO TECHNOLOGY, INC, S...

1. A method executed at a network element having a processor comprising:receiving a request from a device for space in a physical memory of the network element;
determining if any allocated remap windows in a remap address space can be reused to satisfy the request;
allocating a remap window in the remap address space to the device if none of the allocated remap windows satisfy the request; and
returning a remapped address of a physical offset in an allocated remap window if one of the allocated remap windows satisfies the request.

US Pat. No. 10,114,763

FORK-SAFE MEMORY ALLOCATION FROM MEMORY-MAPPED FILES WITH ANONYMOUS MEMORY BEHAVIOR

KOVE IP, LLC, Chicago, I...

1. A system comprising:a memory comprising a mapping of a first portion of a memory-mapped file to a virtual address for a first process, wherein the memory-mapped file comprises virtual memory backed by a file; and
a processor configured to:
map a second portion of the memory-mapped file to the virtual address for a second process in response to a forking of the second process from the first process, wherein the first and second portions of the memory-mapped file are backed by the file; and
write data from the first and second portions of the memory-mapped file to corresponding first and second portions of the file that backs the memory-mapped file.

US Pat. No. 10,114,762

METHOD AND APPARATUS FOR QUERYING PHYSICAL MEMORY ADDRESS

Huawei Technologies Co., ...

1. A method for querying a physical address to access a memory, the method comprising:deleting data stored in a prefetch buffer;
storing, after deleting the data, page table entries of a second thread into the prefetch buffer when determining that a memory addressing operation will be switched from a first thread to the second thread within a future set time, wherein the page table entries of the second thread were previously stored in a standby buffer corresponding to only the second thread, and wherein the standby buffer stores page table entries of the second thread that are not queried within a set time in a translation lookaside buffer (TLB);
receiving a memory addressing request message corresponding to the second thread, wherein the memory addressing request message comprises a virtual address; and
querying, in parallel, page table entries stored in the TLB and the page table entries stored in the prefetch buffer for the virtual address.

US Pat. No. 10,114,760

METHOD AND SYSTEM FOR IMPLEMENTING MULTI-STAGE TRANSLATION OF VIRTUAL ADDRESSES

NVIDIA CORPORATION, Sant...

1. A method comprising:receiving, at a first memory management unit, a memory request including a virtual address in a first address space;
translating the virtual address to generate a second virtual address in a second address space using a first page table including entries configured for a first page size, wherein the first page table entries include a first attribute that is consistent for pages of the first page size including a first physical page in a memory; and
transmitting a modified memory request including the second virtual address to a second memory management unit,
wherein the second memory management unit is configured to translate the second virtual address to generate a physical address in a third address space using a second page table including entries configured for a second page size that is different compared with the first page size, wherein the second page table entries include a second attribute that is consistent for pages of the second page size and varies for pages of the first page size including the first physical page,
wherein the physical address is associated with a location in the first physical page, and
wherein the first memory management unit and the second memory management unit are implemented in hardware.

US Pat. No. 10,114,759

TRAPLESS SHADOW PAGE TABLES

VMWARE, INC., Palo Alto,...

1. A method for implementing trapless shadow page tables, the method comprising:intercepting, by a shadow page tables (SPT) accelerator device of a host system, a memory write operation originating from a virtual machine (VM) and directed to a guest OS page table of the VM, the guest OS page table being stored in a device memory of the SPT accelerator device, the device memory being physically separate from a system memory of the host system;
extracting, by the SPT accelerator device, a guest virtual address (GVA)-to-guest physical address (GPA) mapping in the memory write instruction;
translating, by the SPT accelerator device, the GVA-to-GPA mapping into a GVA-to-host physical address (HPA) mapping; and
writing, by the SPT accelerator device, the GVA-to-HPA mapping to a shadow page table of the host system.

US Pat. No. 10,114,758

TECHNIQUES FOR SUPPORTING FOR DEMAND PAGING

NVIDIA CORPORATION, Sant...

1. A computer-implemented method for supporting demand paging, the method comprising:receiving one or more requests for a copy engine within a processing subsystem to perform one or more operations, wherein the one or more requests comprise one or more virtual memory addresses that correspond to the one or more operations;
prior to transmitting any request included in the one or more requests to the copy engine, ensuring that the processing subsystem includes a memory mapping for each of the one or more virtual memory addresses; and
transmitting the one or more requests to the copy engine for processing.

US Pat. No. 10,114,757

NONREPEATING IDENTIFIERS IN AN ADDRESS SPACE OF A NON-VOLATILE SOLID-STATE STORAGE

Pure Storage, Inc., Moun...

1. A method, executed by a processor, of applying an address space in a storage device, comprising:assigning a non-overlapping range of a second address space to each of a plurality of non-volatile solid-state storages of the storage device greater than a maximum number of addresses in the second address space expected to be applied during a lifespan of the non-volatile solid-state storage;
translating a first address of a portion of user data in a first address space to the second address space, wherein a range of addresses in the first address space and a range of addresses in the second address space are assigned to each storage node associated with the non-volatile solid-state storage;
allocating a range of addresses of the second address space in the non-volatile solid-state storage without synchronization with other non-volatile solid-state storages in a storage cluster that includes the non-volatile solid-state storage; and
storing the portion of the user data in the non-volatile solid-state storage, with the portion of the user data associated with both the first address and the second address.