US Pat. No. 10,558,799

DETECTING IRREGULARITIES ON A DEVICE

Elasticsearch B.V., Moun...

1. A system for detection of irregularities of a device, the system comprising:the device; a hardware processor; and a memory communicatively coupled with the hardware processor, the memory storing instructions which when executed by the hardware processor performs a method, the method comprising:
creating, by a monitoring program, a device baseline profile comprising data items relating to a typical operation of the device, the data items comprising:
(i) incoming ports associated with processes,
(ii) outgoing ports associated with the processes, and
(iii) Internet Protocol (IP) addresses associated with the processes;
storing, in a user profile database, the device baseline profile;
receiving, by the monitoring program, new ones of data items indicative of a current operation of the device;
determining, by the monitoring program, whether the new ones of data items deviate from the typical operation of the device by comparing the new ones of data items to the stored device baseline profile that comprises: (i) the incoming ports associated with the processes, (ii) the outgoing ports associated with the processes, and (iii) the IP addresses associated with the processes, the deviating from the typical operation of the device including continually accessing a new website;
based on the determining, updating, by the monitoring program, the stored device baseline profile to create an updated device baseline profile with the new ones of data items if the new ones of data items do not deviate from the typical operation of the device; and
based on the determining, generating, by an alert module, an alert if the new ones of data items do deviate from the typical operation of the device.

US Pat. No. 10,558,798

SANDBOX BASED INTERNET ISOLATION IN A TRUSTED NETWORK

L3Harris Technologies, In...

1. A networked computer system comprising:a trusted local area network (LAN), and
at least one host computer system configured to connect to the trusted local area network (LAN), wherein the host computer system comprises a processor and a memory configured to implement at least:
a trusted operating system that comprises a set of resources configured to enable operation of a workspace and a sandboxed computing environment;
a first memory space that is configured to enable storage and operation of the workspace configured to execute a first set of one or more applications and processes;
a second memory space that is configured to enable storage and operation of a second set of one or more applications and processes associated with the sandboxed computing environment, and wherein the second set of one or more applications and processes comprises a browser process configured to operate within the sandboxed computing environment;
a sandbox container process, as a part of the trusted operating system, that enforces the sandboxed computing environment, wherein the sandbox container process segregates the workspace associated with the first memory space from the sandboxed computing environment associated with the second memory space, wherein the sandbox container process is configured to prevent data from being communicated between the sandboxed computing environment and the workspace without an explicit user input; and
a first firewall configured to operate between the workspace of the first memory space and the trusted LAN, wherein the first firewall is configured to prevent unauthorized communication between the first set of one or more applications and processes executing within the workspace and one or more other devices on the trusted LAN.

US Pat. No. 10,558,797

METHODS FOR IDENTIFYING COMPROMISED CREDENTIALS AND CONTROLLING ACCOUNT ACCESS

1. A computer-implemented method for securing an online account from a potential cyber-attack, the computer-implemented method comprising:at a remote authentication service:
maintaining a plurality of online accounts, wherein each online account of the plurality of online accounts is associated with a corresponding set of credentials and a corresponding service provider of a plurality of remote service providers associated with the remote authentication service, and wherein each corresponding service provider contains a corresponding online account access policy defining one or more mitigation actions to be implemented by the remote authentication service and including online access requirements that govern access to the each corresponding service provider:
collecting, via one or more networks, a set of compromised credentials of a first online account, from the plurality of online accounts, that is associated with a first service provider, wherein the set of compromised credentials is collected from one or more repositories known to include compromised credentials;
identifying a first credential component of the set of compromised credentials, the first credential component comprising a username of the compromised credentials;
identifying a second credential component of the set of compromised credentials, the second credential component comprising a passcode of the compromised credentials;
identifying a second plurality of online accounts including the plurality of online accounts and not including online accounts corresponding to the first service provider;
testing the first credential component and the second credential component against each corresponding set of credentials for each of the second plurality of online accounts;
detecting, by the remote authentication service, a match between (i) one or more of the first credential component and the second credential component of the set of compromised credentials and (ii) one or more of a first credential component and a second credential component of a vulnerable one of the each corresponding set of credentials for each of the second plurality of online accounts;
in response to the detecting the match, automatically tagging one of the plurality of online accounts corresponding to the detected vulnerable credentials and a corresponding second service provider of the plurality of remote service providers as an at-risk online account, wherein the at-risk online account relates to an online account having credentials vulnerable to being compromised in a potential cyber-attack;
implementing a mitigation process for the at-risk online account, comprising:
authenticating the remote authentication service with a computing device of the second service provider to access and modify the included online access requirements of the at-risk online account;
in response to being authenticated by the computing device, reading, by the remote authentication service, the corresponding online account access policy and the corresponding one or more mitigation actions from the computing device;
determining that the remote authentication service is capable of modifying the included online access requirements of the at-risk online account according to the read policy and the corresponding one or more mitigation actions; and
in response to the determination, modifying the included online access requirements of the second service provider by implementing the read one or more mitigation actions to protect the second service provider from the potential cyber-attack.

US Pat. No. 10,558,796

ENFORCING TRUSTED APPLICATION SETTINGS FOR SHARED CODE LIBRARIES

Protegrity Corporation, ...

1. A method of restricting access to a shared library within a computer security system, the method comprising:storing, by a security database for each of a plurality of trusted applications, a trusted application profile identifying a set of application constraints each associated with an application property that must be satisfied before an application can access a shared library;
detecting, by an administrative server, an attempt from a customer application to access the shared library, the customer application associated with a customer application profile including a set of application properties;
accessing, by the administrative server from the security database, a profile for each trusted application of a set of trusted applications;
comparing the customer application profile to each accessed trusted application profile by comparing each application property included in the customer application profile to a corresponding application constraint identified by the accessed trusted application profile; and
responsive to a successful comparison between the customer application profile and at least one trusted application profile, verifying, by the administrative server, that the customer application can access the shared library and allowing the attempt from the customer application to access the shared library.

US Pat. No. 10,558,795

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

RICOH COMPANY, LTD., Tok...

21. An information processing apparatus comprising:a memory to store drawing data including stroke information and to store audio data collected by a terminal apparatus in association with user identification information identifying a user of the terminal apparatus; and
circuitry to
transmit the audio data, and a request for converting the audio data, to a language processing apparatus, for conversion of the audio data into first text data,
acquire the first text data from the language processing apparatus,
acquire information of coordinates of a profile drawn by the one handwriting operation as the stroke information, upon ceasing to receive the signal of the one handwriting operation on the input device at another time point and upon no signal being received for a threshold time length counted from the another time point,
compare the information acquired and the first text data acquired, to determine whether the information acquired matches the first text data acquired, and
convert information of coordinates of a profile drawn by the one handwriting operation to second text data, upon the information being determined to match the first text data.

US Pat. No. 10,558,794

INDEXABLE AUTHENTICATION SYSTEM AND METHOD

1. An authentication system comprising: an authentication server operated on a computerized device comprising a processor and a storage medium storing instructions operable, when executed by the computerized device, to cause on or more computers to authenticate and determine a scope of permissions relating to an access request for services; a credential database communicably connected to the authentication server having a record relating to a user, the record comprising permissions; an authentication credential associated with the user and linking at least part of the record for the user with a provider; a credential index medium to facilitate access to the authentication credential via a credential address index, wherein the credential address index is associable with multiple credential index media substantially simultaneously; wherein the authentication server validates the access request by performing the steps comprising: (a) receiving the access request comprising the credential address index, (b) accessing the record associated with the authentication credential of the user identified by the credential address index in the credential database, (c) comparing the access request with the scope of permissions in the record to determine compliance with a request condition, the access request in compliance with the request condition being directed to the provider to determine whether the request will be granted, and (d) returning the authentication credential permitting the access request that is compliant with the request condition and cranted by the provider; wherein the authentication credential is identified from the credential index medium by performing the steps comprising: (e) accessing the credential address index from the credential index medium at an origin terminal remote to the authentication server, (f) requesting the authentication server to access the authentication credential indicated by the credential address index, (g) validating the access request with the authentication server, and (h) returning the authentication credential indicated by the access request if validated; wherein the scope of permissions in the record is customizable; and wherein the services granted access are at least partially filterable to comply with the scope of permissions; wherein the record excludes password information; wherein the credential address index identifies and is distinguishable from the authentication credential.

US Pat. No. 10,558,793

AUTHENTICATION BASED ON OBJECT RECOGNITION

PAYPAL, INC., San Jose, ...

1. A system comprising:one or more computer-readable memories storing program instructions; and
one or more processors configured to execute the program instructions to cause the system to perform operations comprising:
in response to detecting a reception of an authentication credential from a user device, determining a travel path corresponding to a user of the user device;
determining one or more images corresponding to the determined travel path;
transmitting a plurality of images to the user device, wherein the plurality of images includes the determined one or more images;
receiving, from the user device, information indicating a selection of the one or more images from the plurality of images; and
in response to receiving the information indicating the selection of the one or more images, authenticating the user.

US Pat. No. 10,558,792

TOUCH-SCREEN USER KEY-PRESS BEHAVIOR PATTERN CONSTRUCTION AND ANALYSIS SYSTEM AND IDENTITY RECOGNITION METHOD THEREOF

1. An identity recognition method based on construction and analysis of touch screen user keypress behavior pattern, characterized in that data analysis is performed by using historical keypress information of inputting passwords by using soft keyboards on mobile phone touch screens according to account login of users within a period of time, corresponding neural network models are established and model calculation is performed to new to-be-detected data to recognize user identities; and the method comprises following steps:step 1: user data acquisition
acquiring corresponding behavior characteristic information according to a keypress behavior process that mobile terminal users input passwords through soft keyboards of mobile phones, wherein the behavior characteristic information comprises time sequence information, pressure information and contact area information that the users click the soft keyboards and input the passwords;
step 2: data preprocessing
responsible for processing time data, substracting a down-press timestamp from an upspring timestamp in each input sequence obtain keypress duration th; substracting upspring time in a previous input sequence from down-press time in each input sequence to obtain keypress interval ti; and denoting pressure data as p and contact area data as a;
processing or removing data which are called and acquired by a system and do not comply with rules; and
performing normalization processing to data since the acquired data are different in dimension;
step 3: user behavior training
performing classification to users by using RBF (Radial Basis Function) neural networks as models, time information and pressure information of user input behaviors are respectively establishing modeled since sensitivity of mobile phone sensors of users is different, so as to reduce errors caused by difference of mobile devices; denoting T (th1, th2, . . . , thn, ti1, ti2, . . . tin-1) of one user input as a time characteristic vector, and denoting P (p1, p2, . . . , pn, a1, a2, . . . , an) as a pressure characteristic vector, wherein n is user password length; and respectively performing training to T and P by using two independent RBF neural networks, denoted as NT and NP,
wherein an input of the NT is T and a target output is a unique recognition vector which is allocated to each user in advance; m users which participate in identity judgment are supposed to be u1, u2, . . . , um, an expected output vector corresponding to each user in a process of training the RBF neural network is Oui=(X1, X2, . . . , Xm), which indicates an output of the neural network under an ideal situation, where

 and
an input of the NP is P and a target output is the same as NT; the neural network is trained by adopting a self-organized basis function center selection method; after the two neural networks are trained by adopting the method, an average error of each neural network is calculated and the average errors of the two neural networks are respectively denoted as ET and EP; and an output weight is set for each neural network and the output weights are respectively denoted as WT and WP, wherein

 and
step 4: user identity authentication
for an new input sequence to which identity authentication of a certain user needs to be performed, firstly performing preprocessing and normalization to the new input sequence according to step 2, decomposing the data into the time characteristic vector T and the pressure characteristic vector P according to the methods in step 3, respectively inputting the vectors into the neural networks NT and NP, and respectively denoting output vectors of NT and NP as OT and OP; defining a final output vector O as:
O=WT·OT+WP·OP
comparing an Euclidean distance between O and a recognition vector of the user with a preset threshold, if the distance is smaller than a preset threshold, the user is a legal user, accepting a login request, adding the sequence into a model database and updating the model database; and otherwise, the user is an illegal user, refusing the login request at a current time and giving a warning.

US Pat. No. 10,558,791

SETTING UP A SYSTEM WITH A MOBILE DEVICE

Vivint, Inc., Provo, UT ...

1. A method for remote device installation using security and/or automation systems, comprising:receiving, from a mobile device, a request associated with an installation task of a peripheral device;
requesting, from the mobile device, one or more indicators associated with an operator of the mobile device for an authentication procedure of the mobile device based at least in part on receiving the request;
receiving the one or more indicators based at least in part on requesting the one or more indicators;
updating a set of permissions associated with the authentication procedure based at least in part receiving the one or more indicators;
preempting initiating the authentication procedure of the mobile device based at least in part on receiving the request associated with the installation task, wherein the authentication procedure is based at least in part on updating the set of permissions; and
bypassing the authentication procedure based at least in part on receiving the request associated with the installation task.

US Pat. No. 10,558,790

MULTI-LEVEL MATRIX PASSWORDS

INTERNATIONAL BUSINESS MA...

1. A computer usable program product comprising one or more computer-readable storage media, and program instructions stored on at least one of the one or more storage media, the stored program instructions comprising:program instructions to traverse, during a password entry, a matrix to select a position, wherein the matrix comprises a plurality of levels, each level in the plurality of levels comprising at least one position where data can be entered, wherein a second level in the matrix forms a sub-level of a first level, and wherein the second level is reachable only from a particular position in the first level;
program instructions to change, responsive to an input, a mode of the selected position such that the position becomes unchangeable and unselectable during a remainder of the password entry;
program instructions to encode the selected position in an auth-step; and
program instructions to transmit, responsive to an indication of an end of the password entry, an auth-code, the auth-code comprising a set of auth-steps, the set of auth-steps including the auth-step.

US Pat. No. 10,558,789

CREATING AND IMPLEMENTING SCALABLE AND EFFECTIVE MULTIMEDIA OBJECTS WITH HUMAN INTERACTION PROOF (HIP) CAPABILITIES, WITH CHALLENGES COMPRISING DIFFERENT LEVELS OF DIFFICULTY BASED ON THE DEGREE ON SUSPICIOUSNESS

1. An apparatus for generating and serving a multimedia object with human interaction proof capabilities on a webpage, comprising:a multimedia object server having at least a processor and at least a memory, said multimedia object server configured to:
receive a request for the multimedia object, wherein the request includes parameters, said parameters comprise:
device data, wherein the device data includes data about a device that is sending the request;
temporal information of the request;
spatial information of the request;
Internet Protocol (IP) address associated with the request and the device sending the request;
software information of the software that is sending the request; and
webpage related information comprising any of information context, language of the webpage, industry category of the webpage, global positioning system location (GPS) for GPS enabled devices, and a theme of the multimedia object;
determine a level of suspicion using the parameters of the request including the IP address, spatial information, temporal information, the software information, and the webpage related information, and wherein the determination of the level of suspicion includes analyzing historical data to interpret the IP address;
classify the request into suspicion buckets based on the level of suspicion, wherein each distinct suspicion bucket is a buffer associated with a degree of suspiciousness and a level of difficulty of a challenge associated with the multimedia object, and wherein the suspicion buckets include a very suspicious suspicion bucket, low suspicious suspicion bucket, and a fatal suspicion bucket;
determine a device capability of the device associated with the request, wherein the device capability includes an interaction type of click, draw or type;
determine a matched multimedia object and associated challenge using the level of difficulty of one of the suspicion buckets associated with the request and the interaction type associated the device, wherein the matched multimedia object is a video comprising any of a bundled advertisement, personal images, corporate internal branding images/texts, house advertisement, and promotion information, and wherein the associated challenge involves any part of said matched multimedia object;
send the matched multimedia object and the associated challenge to the webpage;
receive a response to the challenge associated with the matched multimedia object including the video, and response-related informational data, said response-related informational data comprising any of what was clicked on, how long the multimedia object was on active screen, how many times an interaction was performed, how the multimedia object was interacted with, question of the challenge, current time, the IP address from where the response and informational data arrived, the device and software from where the response and informational data arrived, and duration of any interaction;
when human interactive proof is enabled in the response, compare the received response against validated responses and send a success notification or a failure notification to said webpage based on the comparison;
when human interactive proof is not enabled, validation is performed but validation notification is not sent;
store the response related information data and the validation response as historical data; and
generate analytics about the matched multimedia object, the associated challenge, and the webpage using said response-related informational data, wherein the analytics include the updated level of difficulty associated with the matched multimedia object and the associated challenge.

US Pat. No. 10,558,788

DEBUGGABLE OBFUSCATED SCRIPT

International Business Ma...

1. A data processing system configured for generating debuggable obfuscated script, the system comprising:a host computing system comprising at least one computer with memory and at least one processor;
a Web server adapted to serve a Web page to a requesting client; and,
a code obfuscation module embedded in the Web page, the module comprising programmatic code comprising a query to a data store of the requesting client for a key disposed within fixed storage of the client, both an encrypted network reference to an unobfuscated, clear form of a script, the encrypted network reference being decryptable with the key, and also an un-encrypted reference to an obfuscated form of the script and a selection directive configured to select and decrypt the encrypted network reference so as to retrieve the un-obfuscated, clear form of the script upon loading the Web page in the client on the condition that the key can be found in the fixed storage in response to the query, but otherwise selecting the un-encrypted reference so as to retrieve the obfuscated form of the script upon loading the Web page in the client.

US Pat. No. 10,558,787

THREAT-MONITORING SYSTEMS AND RELATED METHODS

VSK Electronics NV, Hare...

1. A method implemented on a computing device to manage software in threat-monitoring systems, the method comprising:receiving at the computing device licence identifiers identifying respective licences that are assigned to a threat monitoring system managed by the computing device, the threat monitoring system being remote from the computing device;
receiving at the computing device a selection of at least one of the licence identifiers;
determining, by the computing device, whether the selected at least one of the licence identifiers relates to approved software necessary for correct operation of a controller that receives and processes data pertaining to a condition being monitored by the threat monitoring system, the controller being included with the threat monitoring system that is remote from the computing device;
transmitting, from the computing device, a request to the threat-monitoring system to un-install non-approved software that is currently installed at the threat monitoring system, the non-approved software corresponding to the selected at least one of the licence identifiers;
receiving, from the threat monitoring system, uninstall-data for verifying that the non-approved software has been un-installed, wherein the uninstall-data includes a value generated by a hashing algorithm utilized by the threat monitoring system, the uninstall-data is encrypted using a public key shared by the threat monitoring system and the computing device; andverifying, by the computing device, that the uninstallation has been performed based at least in part on a decryption of the uninstall data, wherein verifying, by the computing device, that the uninstallation has been performed further includes decrypting the uninstall-data using a private key associated with the computing device and determining that the decrypted uninstall-data matches a particular value expected to be generated by the hashing algorithm.

US Pat. No. 10,558,786

MEDIA CONTENT ENCRYPTION AND DISTRIBUTION SYSTEM AND METHOD BASED ON UNIQUE IDENTIFICATION OF USER

1. A method of digital media content distribution comprising the steps of:a. storing of digital media content in remote server or computer media;
b. generating Unique Identification Code (UIC) for person requesting access to digital media content;
c. encrypting media content to be distributed by incorporating the UIC using an encryption engine;
d. associating access to the digital media content with the user using the UIC
e. converting the UIC to time or spatial domain vector;
f. adding the converted UIC to the decrypted digital media content;
g. examining the encoded media content to identify the user who purchased or downloaded the content; and
h. granting access to digital media content for the user uniquely identified using a decryption engine which corresponds to the UIC used to encrypt the data.

US Pat. No. 10,558,785

VARIABLE LIST BASED CACHING OF PATIENT INFORMATION FOR EVALUATION OF PATIENT RULES

International Business Ma...

1. A method, in a data processing system comprising a processor and a memory, wherein the memory comprises instructions which are executed by the processor to specifically configure the processor to implement a patient care plan creation and management (PCPCM) system, for correlating patient data across multiple patient data sources, comprising:generating, by the PCPCM system of the data processing system, a patient registry, in a patient registry database, comprising a plurality of patient registry records, each patient registry record being a data structure stored in the patient registry database in association with a corresponding patient and comprising personal and medical information about the corresponding patient, wherein the personal and medical information about the corresponding patient is obtained electronically from a plurality of sources, wherein the plurality of sources are computing systems providing patient data including the personal and medical information about the corresponding patient;
compiling, by at least one of a demographic and medical data analysis engine, or a lifestyle data analysis engine, of the PCPCM system, for a patient in the patient registry, a variable list associated with an input variable of a clinical rule, in a clinical rules database, and storing the variable list in a variable list cache memory, wherein the variable list comprises a plurality of instances of different personal information and different medical information from the plurality of sources, where each instance of personal information and medical information provides evidence of a different characteristic of the corresponding patient which, when analyzed in combination with other instances in the variable list, are indicative of a value to be assigned to the input variable;
processing, by the PCPCM system of the data processing system, the clinical rule; in the clinical rules database, that references the variable, at least by evaluating a criteria for setting the value of the variable based on results of processing of the variable list associated with the variable to determine if the criteria is satisfied by the plurality of instances in the variable list; and
generating, by the PCPCM system of the data processing system, results of the processing of the clinical rule, wherein processing the clinical rule comprises:
determining, for each variable in the clinical rule, whether a variable list is stored in the variable list cache memory for the variable, and
in response to a variable list being stored in the variable list cache memory for the variable, processing a combination of entries in the variable list cache memory corresponding to the instances of personal information and medical information in the stored variable list for that variable, to determine a corresponding value for that variable which is thereafter used to process the clinical rule.

US Pat. No. 10,558,784

TIME AND MOTION DATA FUSION FOR DETERMINING AND REMEDYING ISSUES BASED ON PHYSICAL PRESENCE

Cisco Technology, Inc., ...

5. An apparatus comprising:a network interface; and
a processor, wherein the processor if configured to:
receive a plurality of time and motion data sets tracking a participant in an online collaborative session, wherein a first of the time and motion data sets comprises energy consumption data and/or wireless local area network location data and a second of the time and motion data sets comprises an Area of Expected Presence of the participant in the online collaborative session, and wherein the dime and motion data sets are received at the processor via a network connected to the network interface;
determine an Area of Probable Presence of the participant based upon the first of the time and motion data sets;
determine that an overlap between the Area of Expected Presence and the Area of Probable Presence deviates from a threshold value;
determine, from the deviation from the threshold value, that security of the online collaborative session may be breached by the participant; execute, in response to determining that the security of the online collaborative session may be breached by the participant, an analysis to determine an Area of Actual Presence of the participant; determine that the Area of Expected Presence and the Area of Actual Presence do not overlap; and
apply access policies to the online collaborative session, in response to determining that the Area of Expected Presence and the Area of Actual Presence do not overlap, by requiring the participant to provide enhanced authentication to the online collaborative session.

US Pat. No. 10,558,783

IMAGE DATA INGESTION APPLICATION OF A MEDICAL IMAGING DATA PROCESSING AND RETRIEVAL SYSTEM

MEDSTREAMING, INC., Redm...

1. A system comprising:one or more processors;
memory coupled to the one or more processors, the memory including one or more modules that are executable by the one or more processors to:
receive, from at least one medical device, medical imaging data associated with a patient medical examination;
analyze the medical imaging data to extract one or more medical characteristics, the one or more medical characteristics including at least a patient identifier and medical result data;
generate interpretation data associated with the patient medical examination, based at least in part on analysis of the medical imaging data;
receive, from a client device, a search request for the medical imaging data;
generate a graphical representation of the medical imaging data, based at least in part on the interpretation data;
overlay the graphical representation onto a template schematic representation of an organ system associated with the medical imaging data; and
transmit, to the client device, an instance of the graphical representation overlaid onto the template schematic representation of the organ system.

US Pat. No. 10,558,782

PHASE ALGEBRA FOR VIRTUAL CLOCK AND MODE EXTRACTION IN HIERARCHICAL DESIGNS

International Business Ma...

1. A method for evaluating a circuit design using an evaluation tool, the method comprising:determining that a first sequence of signal transition representations of a first signal of a first module is a null sequence, wherein
the first module of a register level circuit design comprises a second module, wherein the first module and the second module are arranged in a hierarchical order;
determining a second sequence of signal transition representations of a second signal of the second module, wherein
signal transition representations of the first signal are to be propagated from the first module to the second module using the second signal; and
extracting a non-null sequence for the first sequence based on the second sequence,
wherein the extracting generates an extracted first sequence.

US Pat. No. 10,558,781

SUPPORT APPARATUS, DESIGN SUPPORT METHOD, AND DESIGN SUPPORT PROGRAM

FUJITSU LIMITED, Kawasak...

6. A design support method comprising:performing, by a computer coupled to a memory which stores first layout data and pattern data, the first layout data indicating a circuit pattern of a design target circuit in a given arrangement area, the circuit pattern including circuit patterns of component circuits included in the design target circuit, first dummy patterns of the component circuits, and a wiring pattern to couple between the component circuits, the pattern data indicating, for each of the component circuits, a second dummy pattern of the respective component circuits having a shape different from a shape of the first dummy pattern of the respective component circuits, on each of the component circuits, a density difference error check of whether the density ratio in the area is higher than a density ratio of one area of two adjacent areas to the area by a specific density difference more and whether the density ratio in the area is lower than a density ratio of the other area of the two adjacent areas by the specific density difference more;
generating an error list including information in which a type of error check of the density difference error check and a result of the density difference error check are associated with each other;
specifying, from among the component circuits, a first component circuit which is included in the two adjacent areas which do not satisfy a constraint of the density difference error check based on the error list;
extracting, from the memory, first pattern data indicating a first dummy pattern for the first specified component circuit;
extracting, from the memory, second pattern data indicating a second dummy pattern for the first component circuit based on the error list;
generating second layout data indicating a circuit pattern by replacing the first pattern data with the second pattern data in the first layout data; and
outputting the second layout data.

US Pat. No. 10,558,780

METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCT FOR IMPLEMENTING SCHEMATIC DRIVEN EXTRACTED VIEWS FOR AN ELECTRONIC DESIGN

Cadence Design Systems, I...

1. A computer implemented method for implementing schematic driven extracted views for an electronic design, comprising:identifying a schematic circuit component design represented by a schematic symbol from a schematic design of an electronic design;
identifying layout device information from a layout of the electronic design;
generating or updating, at an extracted view module stored at least partially in memory of and functioning in tandem with at least one microprocessor of a computing system, an extracted view at least by:
determining a model for the schematic circuit component design, the model comprising geometric information for the schematic circuit component design from the layout device information; and
placing and interconnecting a model and a symbol representing the model in the schematic design based in part or in whole upon the layout device information; and
updating the electronic design based in part or in whole upon results of performing one or more analyses on the extracted view.

US Pat. No. 10,558,779

METHOD OF REDISTRIBUTION LAYER ROUTING FOR 2.5-DIMENSIONAL INTEGRATED CIRCUIT PACKAGES

AnaGlobe Technology, Inc....

1. A non-transitory computer-readable medium containing instructions, which when read and executed by a computer, cause the computer to execute a method of redistribution layer routing for 2.5-dimensional integrated circuits package having a first layer with multiple chips, a second layer with an interposer and a third layer with a substrate, wherein said first layer is configured on said second layer and said second layer is configured on said third layer, wherein the method comprises steps of:performing a MMSIM (modulus-based matrix splitting iteration method) based routing to assign pre-assignment nets on said first layer to tracks on said second layer and said third layer such that total vertical distance from each bump pair of said pre-assignment nets to said assigned track is minimized; and
performing a MWMCBM (minimum weighted maximum cardinality bipartite matching) based routing for bumps such that said bumps are connected to said assigned tracks and said pre-assignment nets are routed on redistribution layers (RDLs) according to matching result of said MWMCBM to complete redistribution layer routing for said 2.5-dimensional integrated circuits package.

US Pat. No. 10,558,778

DOCUMENT IMPLEMENTATION TOOL FOR PCB REFINEMENT

International Business Ma...

1. A system comprising:at least one processor;
a current data object with at least a current printed circuit board (PCB) design;
a PCB data store comprising a plurality of data objects, wherein the plurality of data objects comprises at least one of one or more previous queries, PCB data, one or more PCB rules, one or more previous PCB designs, and dispositions,
wherein the plurality of data objects has known features;
a feature identifier configured to identify one or more features in at least the current PCB design;
a comparison engine, configured to compare features in the current PCB design and known features in the PCB data store;
a classification engine configured to classify one or more discrepancies between the current PCB design and a guideline for the PCB design from the PCB data store based on a size of each of the one or more discrepancies;
a determination engine configured to determine changes needed to resolve the one or more discrepancies; and
a reporting engine configured to report the one or more discrepancies to a user.

US Pat. No. 10,558,777

METHOD OF ENABLING A PARTIAL RECONFIGURATION IN AN INTEGRATED CIRCUIT DEVICE

Xilinx, Inc., San Jose, ...

1. A method of implementing a partial reconfiguration in an integrated circuit device, the method comprising:reading a netlist for a design of a circuit comprising a reconfigurable module;
defining a first region of the integrated circuit device having the reconfigurable module;
defining a second region that encompasses the first region;
placing the reconfigurable module of the design in the first region, wherein the reconfigurable module comprises a partition pin of a plurality of available partition pins associated with an initial placement;
selectively removing the partition pin associated with the initial placement;
replacing the reconfigurable module;
routing drivers and loads that are in the second region after removing the partition pin associated with the initial placement; and
generating a partial bitstream for the reconfigurable module, wherein the partial bitstream for the reconfigurable module comprises a new partition pin for the first region.

US Pat. No. 10,558,776

TRIGGER-ACTION-CIRCUITS: LEVERAGING GENERATIVE DESIGN TO ENABLE NOVICES TO DESIGN AND BUILD CIRCUITRY

AUTODESK, INC., San Rafa...

1. A computer-implemented method for designing a circuit, comprising:(a) authoring a behavior of the circuit by dragging two or more nodes from one or more side panels into an authoring canvas, and connecting the two or more nodes in the authoring canvas, wherein the connected two or more nodes represent the behavior of the circuit;
(b) generating two or more circuit designs, wherein each of the two or more circuit designs provides a solution that satisfies the behavior;
(c) generating and displaying a data grid table, for the two or more circuit designs, wherein:
(1) each row of the data grid table represents one of the two or more circuit designs;
(2) the data grid table is sortable based on one or more columns of the data grid table;
(3) each column of the data grid table represents a computed metric for the two or more circuit designs;
(d) upon selecting one of the two or more circuit designs in the data grid table, rendering a computer generated circuit diagram of the selected circuit design in an interactive circuit diagram area; and
(e) generating and displaying interactive assembly instructions for the circuit, wherein:
(1) the interactive assembly instructions provide a step-by-step guide to wire the circuit;
(2) the interactive assembly instructions are text-based; and
(3) upon selecting one of the interactive assembly instructions, a corresponding element in the computer generated circuit diagram is highlighted.

US Pat. No. 10,558,775

MEMORY ELEMENT GRAPH-BASED PLACEMENT IN INTEGRATED CIRCUIT DESIGN

INTERNATIONAL BUSINESS MA...

1. A method of performing physical synthesis to transition a logic design to a physical layout of an integrated circuit, the method comprising:obtaining, using a processor, an initial netlist that indicates all components of the integrated circuit including memory elements and edges that interconnect the components;
generating a graph, using the processor, with at least one of the memory elements and the edges carrying one or more signals to the at least one of the memory elements or from the at least one of the memory elements, wherein components other than memory elements are eliminated from the graph or are combined for inclusion on the graph;
performing wire-length modelling to determine routes of the edges in the graph; and
updating the netlist, using the processor, based on the graph, wherein the generating the graph includes representing only one memory element and the edges associated with the only one memory element, at least one of the edges associated with the only one memory element having a slack value below a threshold value, the slack value indicating a result of subtracting a time delay for the at least one of the edges from a required time delay for the at least one of the edges.

US Pat. No. 10,558,774

ELECTRONIC LIBRARY AND DESIGN GENERATION USING IMAGE AND TEXT PROCESSING

CADENCE DESIGN SYSTEMS, I...

1. A method of configuring a tool for implementing a design of an electronic circuit including an electronic design element, the method comprising:obtaining an image of the electronic design element;
generating a representation of the electronic design element from extracted features in the image based on a model;
producing a target output based on the representation, the target output being usable by the tool for implementing the design of the electronic circuit including the electronic design element; and
processing updates to the representation of the electronic design element to further refine the model, wherein the model is changed from a first state before the updates are processed to a second different state after the updates are processed.

US Pat. No. 10,558,773

TRANSIENT CACHING FOR MIXED-SIGNAL ELECTRONICS SIMULATION

AUTODESK, INC., San Rafa...

1. A computer-implemented method for simulating an electronic circuit, comprising:(a) creating an analog model that represents an analog circuit;
(b) wrapping the analog model to serve as a first module in an event based simulator, wherein:
(1) the first module has a first start state and an input;
(2) the event based simulator controls the input;
(3) upon a change in a value of the input, the analog model shows a transient behavior, wherein the transient behavior comprises a way the electronic circuit responds to energies stored in storage elements of the electronic circuit over time, and wherein the transient behavior comprises a waveform from a simulation that achieves a steady state;
(c) changing, via the event based simulator, the value of the input to begin simulating the electronic circuit;
(d) in response to the changing of the value:
(1) if not already cached:
caching the transient behavior in a cache, wherein a key for the cache comprises a combination of the first start state and the value of the input; and
simulating the waveform for the first start state until the steady state is reached, wherein the transient behavior comprises the waveform; and
stitching the waveform to other waveforms to build a piecewise waveform that represents signal values for a complete simulation run, wherein the stitching comprises:
making the waveform absolute by adding a start time of the waveform; and
adding the waveform to an event queue of the other waveforms;
(2) if already cached, retrieving the transient behavior from the cache; and
(e) outputting a simulation of the circuit based on the cached transient behavior.

US Pat. No. 10,558,772

PARTITIONING A SYSTEM GRAPH FOR CIRCUIT SIMULATION TO OBTAIN AN EXACT SOLUTION

Worldwide Pro Ltd., Hong...

1. A system comprising:a computer configured to perform a verification comprising
identifying each branch of a system graph of an electronic circuit as at least one of a tree branch or a link, wherein the tree branches form a tree of the system graph;
partitioning the tree into at least a first subtree and a second subtree;
forming the first subtree by repeatedly adding branches of the tree to the first subtree when a number of branches in the first subtree is less than a count value;
forming the second subtree by adding branches of the tree to the second subtree, wherein the branches added to the second subtree are not in the first subtree, and a number of branches in the second subtree is less than or equal to the count value;
after the first subtree and second subtree are formed, identifying a first link of the system graph as a first global link when the first link forms a path from a branch of the first subtree to a branch of the second subtree;
calculating a first solution to the first subtree independently of the second subtree, while ignoring the first global link;
calculating a second solution to the second subtree independently of the first subtree, while ignoring the first global link; and
using at least one processor, with the first solution to the first subtree, the second solution to the second subtree, and the first global link, calculating a third solution for a tree branch comprising the first and second subtrees, wherein the third solution comprises an exact solution; and
at least one mask of an integrated circuit fabrication process, wherein the mask comprises at least one feature of the electronic circuit upon which verification was performed.

US Pat. No. 10,558,771

SYSTEMS AND METHODS FOR SECURITY AND SAFETY FAULT ANALYSIS USING INFORMATION FLOW

Tortuga Logic Inc., San ...

1. A method performed by data processing apparatus, the method comprising:receiving a hardware design specifying an implementation for information flow in a hardware configuration, wherein the hardware design comprises at least two variables relating to the information flow;
receiving one or more labels annotating the hardware design, wherein each of the one or more labels corresponds to a respective variable of the at least two variables;
receiving one or more fault properties specifying at least a fault type relating to the one or more labels for implementing an information flow model indicating a fault path in the hardware configuration;
determining, for each of the one or more fault properties, a label value by translating the fault property into the information flow model; and
automatically assigning a respective label value to each of the one or more labels in the hardware design.

US Pat. No. 10,558,770

FINITE ELEMENT BASED DIRECT MODELING

MSC.SOFTWARE CORPORATION,...

1. A method for extending direct modeling to a Finite Element Analysis (FEA)-based computer simulation platform, comprising:obtaining a mesh model of a physical object, the mesh model comprising a plurality of finite elements, wherein the mesh model is an orphan mesh model without any geometry attached therewith and without a non-uniform rational basis spline (NURBS);
determining, based on at least some of the plurality of finite elements, at least one feature associated with the at least some of the plurality of finite elements of the mesh model based on angles between surfaces of the plurality of finite elements;
receiving, via an input device of the FEA-based computer simulation platform, user input corresponding to virtually pushing or pulling the at least one feature to cause geometric manipulations to the at least one feature, wherein the at least one feature comprises the at least some of the plurality of finite elements; and
geometrically manipulating the at least some of the plurality of finite elements of the mesh model as a whole according to the geometric manipulations to the at least one feature caused by the user input, wherein the mesh model remains the orphan mesh model without the geometry attached therewith and without the NURBS as it is being geometrically manipulated, and geometrically manipulating the at least some of the plurality of finite elements comprises generating a modified boundary for the at least some of the plurality of finite elements of the mesh model based on the user input.

US Pat. No. 10,558,769

SYSTEMS AND METHODS FOR SCENARIO SIMULATION

1. A method for dynamically generating data structures representing scenarios for an event linked to a plurality of macro factors and a plurality of outcomes, the method comprising:receiving responses to a set of poll questions, each poll question linked to a macro factor of the plurality of macro factors;
generating a graph data storage structure representing scenarios for the plurality of macro factors and the plurality of outcomes, each node in the graph data storage structure including a descriptor and a data value, the graph data storage structure including a root node, outcome nodes connected to the root node, and macro factor nodes connected to the outcome nodes, the root node corresponding to the event, each outcome node corresponding to one of the plurality of outcomes, and each macro factor node corresponding to one of the macro factors and including a data value;
filtering the responses for bias based on sentiment factors;
applying a set of rules to the filtered responses to generate values for the macro factors;
populating the macro factor nodes in the graph data storage structure with the data values for the corresponding macro factors to generate scenarios for the outcome nodes; and
providing for display a user interface including visual elements indicating the scenarios and a distribution of responses, wherein each scenario is a path from the root node to a leaf node of the generated graph data storage structure.

US Pat. No. 10,558,768

COMPUTER AND DATA CENTER LOAD DETERMINATION

Google LLC, Mountain Vie...

1. A method of modeling to simulate potential for power and energy savings in a data center, comprising:selecting a threshold CPU utilization rate;
collecting, in data collection intervals of a specified time duration, CPU utilization rate data from a group of computing machines;
determining that a collective CPU utilization rate of the group of computing machines falls below the threshold CPU utilization rate;
for each computing machine having a CPU component in the group of computing machines that falls below the threshold CPU utilization rate, reducing the CPU component of total power by using a CPU voltage and frequency scaling (DVS) simulation; and
maintaining a power consumption of one or more components of the computing machine other than the CPU component unchanged.

US Pat. No. 10,558,767

ANALYTICAL DERIVATIVE-BASED ARMA MODEL ESTIMATION

Amazon Technologies, Inc....

1. A system comprising:a computer-readable memory storing executable instructions; and
one or more processors programmed by the executable instructions to at least:
obtain time series data representing values observed for an event over a first period of time;
initialize first model parameters of an autoregressive moving average (ARMA) model, the first model parameters comprising an autoregressive parameter vector, a moving average parameter vector, and a noise parameter;
generate an innovation variance matrix of a state space representation of the ARMA model using the noise parameter;
generate a state transition matrix of the state space representation using the autoregressive parameter vector, wherein values of a top row of the state transition matrix are set equal to values in corresponding positions of the autoregressive parameter vector;
generate an observation matrix of the state space representation using the moving average parameter vector;
generate a column vector of the state space representation using the autoregressive parameter vector, wherein the column vector comprises a same number of elements as the autoregressive parameter vector;
evaluate a likelihood function using the time series data and the first model parameters;
evaluate an analytical derivative of the likelihood function using the state space representation, wherein the analytical derivative is a composite comprising a derivative of the innovation variance matrix, a derivative of the state transition matrix, a derivative of the observation matrix, a derivative of the column vector, and a derivative of individual model parameters of the first model parameters;
determine second model parameters of the ARMA model using numerical optimization based at least partly on the first model parameters and the analytical derivative of the likelihood function; and
select the ARMA model, with the second model parameters, from a plurality of ARMA models, wherein the ARMA model is selected based at least partly on an accuracy criterion.

US Pat. No. 10,558,766

METHOD FOR MODELICA-BASED SYSTEM FAULT ANALYSIS AT THE DESIGN STAGE

Palo Alto Research Center...

1. A method to predict failure of a system, the method comprising:analyzing the system to identify fault susceptible components of the system;
augmenting component models of the of the fault susceptible components with fault modes;
using the augmented component models to simulate faults and to determine a system-level severity;
applying parameterized physics-of-failure models corresponding to a root cause of the simulated faults to predict a fault likelihood;
combining the system-level severity with the predicted fault likelihood to predict component degradations over time;
aggregating the predicted component degradations to predict when the system will fail to meet performance requirements; and
deriving a fault tree by simulating fault modes with a varying fault amount.

US Pat. No. 10,558,765

LUMPED DATA MODELING OF TOOL JOINT EFFECTS IN UNDERBALANCED DRILLING

Landmark Graphics Corpora...

1. A computer-implemented method for determining underbalanced drilling conditions, comprising:a) determining a number of upset tool joints in a segment of drill string, each upset tool joint having a length and an inner diameter and an outer diameter, and wherein the outer diameter of each upset tool joint is larger in diameter than the outer diameter of the drill string adjacent to the tool joint, wherein the segment of drill string has a predetermined fixed length;
b) determining a total length of all upset tool joints in the segment of drill string;
c) determining a total length of the segment of drill string excluding the total length of all upset tool joints in the segment of drill string, wherein the drill string has an inner diameter and an outer diameter;
d) determining an inner diameter of a segment of wellbore encompassing the segment of drill string, wherein the segment of wellbore has a predetermined fixed length;
e) determining a pressure drop in the segment of the wellbore based on the on the total length of all upset tool tools joints in the segment of drill string, the total length of the segment of drill string excluding the total length of all upset tool joints in the segment of drill string, the outer diameter of the upset tool joints, the outer diameter of the drill string, and the inner diameters of the upset tool joints, the drill string, and the segment of the wellbore;
f) repeating steps a) through e) until the segment of wellbore comprises a transition region that has both cased and uncased sections of wellbore;
g) dividing the predetermined fixed length of the segments of the drill string and the wellbore into lengths reflecting the length of the cased and uncased sections;
h) repeating steps a) through e) using the divided lengths of the segments of the drill string and the wellbore rather than the predetermined fixed lengths;
i) repeating steps a) through e) using the predetermined fixed lengths of the segment of the drill string and the segment of the wellbore until the wellbore encompasses a bottom hole assembly; and
k) allowing a drilling engineer to select a drilling string, based upon the pressure drop in the segments of the wellbore which have a predetermined fixed length and the segments of the wellbore which have a divided length, that is adapted to maintain the wellbore in an underbalanced condition during drilling.

US Pat. No. 10,558,764

SYSTEM AND METHOD FOR CONTROLLING MANUFACTURING OF AN ITEM

LEO LANE LTD., Tel Aviv ...

1. A method of controlling manufacturing of an item, the method comprising:providing a digital three-dimensional (3D) design representation, the digital 3D design representation usable by a manufacturing device for manufacturing the item using materials, the digital 3D design representation being a digital file correlating to the item;
encrypting the digital 3D design representation to produce an encrypted 3D design representation;
associating a set of tokens with the encrypted 3D design representation and providing the encrypted 3D design representation and at least one token from the set of tokens;
including, by the manufacturing device, a token in a request to manufacture the item and sending by the manufacturing device the request to manufacture the item to a server;
determining whether or not to enable manufacturing of the item using, by the server, the token, and one or more of: parameters related to the manufacturing device, and a set of requested modifications to the digital 3D design representation;
indicating to the user one or more of: which of the set of requested modifications to the digital 3D design representation are permitted and which manufacturing device parameter modifications are permitted;
if determining to enable manufacturing of the item, providing a decryption key; and
using the decryption key to produce the digital 3D design representation usable by the manufacturing device for manufacturing the item using materials.

US Pat. No. 10,558,763

AUTOMATIC TRANSLATION SYSTEM, DEVICE, AND METHOD

ELECTRONICS AND TELECOMMU...

1. An automatic translation device comprising:a communications module transmitting and receiving data to and from an ear-set device including a speaker, a first microphone, and a second microphone;
a memory storing a program generating a result of translation using a dual-channel audio signal; and
a processor executing the program stored in the memory,
wherein, when the program is executed, the processor compares a first audio signal comprising a voice signal of a user, received using the first microphone, with a second audio signal comprising a noise signal and the voice signal of the user, received using the second microphone, and entirely or selectively extracting the voice signal of the user from the first and second audio signals, based on a result of the comparison, to perform automatic translation,
wherein the first microphone is located inside of an earbud of the ear-set device, and
the second microphone is located outside of the earbud of the ear-set device, within a predetermined distance from the mouth of the user.

US Pat. No. 10,558,762

SYSTEM AND METHOD FOR ADAPTIVE QUALITY ESTIMATION FOR MACHINE TRANSLATION POST-EDITING

INTERNATIONAL BUSINESS MA...

1. A method comprising:receiving a translation text output, the translation text output corresponding to a machine translation from a document comprising source text of a first language to a target text of a second language, the translation text output including at least one sentence, the at least one sentence including at least one translation chunk, wherein the machine translation employs an adaptive quality estimation model, and wherein a document-specific machine translation system is built for each document;
receiving a first translation quality confidence estimate for the at least one sentence of text;
receiving a second translation quality confidence estimate for the at least one translation chunk;
displaying a first translation confidence indicator for the at least one sentence, the first translation confidence indicator determined from among a plurality of different first translation confidence indicators based upon the first translation quality confidence estimate;
displaying a second translation confidence indicator for the at least one translation chunk, the second translation confidence indicator determined from among a plurality of different second translation confidence indicators based upon the second translation quality confidence estimate; and
training the adaptive quality estimation model using at least the source text, the target text, and the first translation quality confidence estimate.

US Pat. No. 10,558,761

ALIGNMENT OF VIDEO AND TEXTUAL SEQUENCES FOR METADATA ANALYSIS

Disney Enterprises, Inc.,...

1. A method of aligning heterogeneous sequential data, comprising:receiving a first sequential data stream comprising a first plurality of segments and a second sequential data stream comprising a second plurality of segments;
determining a first alignment action related to aligning the first plurality of segments in the first sequential data stream with the second plurality of segments in the second sequential data stream using an alignment neural network, the alignment neural network comprising:
a fully connected layer that receives as input:
data from the first sequential data stream,
data from the second sequential data stream, and
data, retrieved from storage, relating to a plurality of previously determined alignment actions by the alignment neural network related to aligning the first sequential data stream and the second sequential data stream, wherein the alignment neural network is configured to determine the first alignment action based, at least in part, on the data related to the plurality of previously determined alignment actions; and
aligning a first segment in the first plurality of segments with a second segment in the second plurality of segments by performing the determined first alignment action.

US Pat. No. 10,558,760

UNSUPERVISED TEMPLATE EXTRACTION

International Business Ma...

1. A method implemented by an information handling system that includes a memory and a processor, that improves a question answering (QA) computer system by automatically generating relationship templates, the method comprising:extracting a plurality of event patterns corresponding to a plurality of events from data in a corpus utilized by the QA computer system;
analyzing the extracted event patterns resulting in a plurality of clusters of related event patterns;
creating one or more relationship templates from the plurality of clusters of related event patterns, wherein a first one of the or more relationship templates comprises a first set of the plurality of events included in a first one of the plurality of clusters;
displaying the first relationship template as a first graphical representation on a display, wherein the first graphical representation displays the first set of events; and
in response to receiving an input selection that selects the first graphical representation, displaying a set of second graphical representations on the display that represent a set of roles within the first relationship template.

US Pat. No. 10,558,759

CONSUMER INSIGHTS ANALYSIS USING WORD EMBEDDINGS

Facebook, Inc., Menlo Pa...

1. A method comprising:by a first computing device in an online social network, receiving, from a second computing device, a request to generate k words that each approximates a representation of a relationship between two concepts, wherein the request comprises two input n-grams that each represents one of the two concepts, and wherein the request comprises one or more conditions characterizing an audience;
by the first computing device, identifying users of the online social network who satisfy the one or more conditions;
by the first computing device, constructing a corpus of text by collecting text content from content objects created by the identified users;
by the first computing device, constructing a table of word vector relationships by training a word embedding mode using the constructed corpus of text as training data, wherein the table of word vector relationships comprises a plurality of unique n-grams and their corresponding word vectors, wherein each of the word vectors represents a semantic context of a corresponding n-gram as a point in a d-dimensional embedding space;
by the first computing device, looking up, using the table, word vectors corresponding to each of the two input n-grams;
by the first computing device, calculating an average vector by taking a weighted average of the word vectors corresponding to the two input n-grams;
by the first computing device, selecting, using the table and based on a similarity metric, k word vectors closest to the average vector in the embedding space;
by the first computing device, identifying, for each of the selected word vectors, a corresponding n-gram by looking up the selected word vector in the table; and
by the first computing device, sending, to the second computing device, a response message, the response message comprising the identified n-grams.

US Pat. No. 10,558,758

ENHANCING A COMPUTER TO MATCH EMOTION AND TONE IN TEXT WITH THE EMOTION AND TONE DEPICTED BY THE COLOR IN THE THEME OF THE PAGE OR ITS BACKGROUND

International Business Ma...

1. A computer-implemented method of automatically measuring an emotion or a tone in received electronic text to determine if a color scheme is in sync with the emotion or the tone of the received electronic text, the computer-implemented method comprising:receiving, at a processor, a selected color scheme chosen for the electronic text, the color scheme selected to indicate an intended emotion or an intended tone intended for future electronic text that is to be received;
receiving, at the processor, actual electronic text;
measuring, by the processor, an estimated emotion or an estimated tone for the actual electronic text;
comparing, using the processor, the estimated emotion or the estimated tone to the intended emotion or the intended tone; and
responsive to a mismatch between the estimated emotion or the estimated tone and the intended emotion or the intended tone, transmitting, by the processor, an alert to a display device that indicates the mismatch, wherein receiving the selected color scheme, receiving the actual electronic text, measuring, comparing, and transmitting are performed by a remote server providing a service to a client computer from which the actual electronic text and the selected color scheme are received.

US Pat. No. 10,558,757

SYMBOL MANAGEMENT

International Business Ma...

16. A computer-implemented method for depictogram management, the method comprising:mining, with respect to a set of depictograms, a set of depictogram usage information from user generated content;
determining, programmatically, based on the set of depictogram usage information, a set of language attributes for the set of depictograms;
compiling, programmatically, using the set of language attributes for the set of depictograms, a depictogram reference object that maintains language attributes for one or more of languages, cultures, locales, and user groups;
analyzing, programmatically, a set of input data which includes a subset of the set of depictograms;
evaluating, programmatically, using a processor that accesses computer memory containing the depictogram reference object, the subset of the set of depictograms to determine a subset of the set of language attributes for the subset of the set of depictograms; and
providing, programmatically, a set of output data which indicates the subset of the set of language attributes for the subset of the set of depictograms,
wherein the set of depictograms includes a set of emoji characters which has a subset of the set of emoji characters, and further comprising:
receiving the set of input data;
filtering the set of input data to have:
a first portion of the set of input data which has a set of natural language elements, and
a second portion of the set of input data which has the subset of the set of emoji characters;
evaluating, using a natural language processing technique, the first portion of the set of input data; and
providing the set of output data which indicates the subset of the set of language attributes for the subset of the set of emoji characters in a context of the set of input data.

US Pat. No. 10,558,756

UNSUPERVISED INFORMATION EXTRACTION DICTIONARY CREATION

International Business Ma...

1. A method of performing an unsupervised learning of text within an information corpus to generate a vector representation of every word or phrase of the text of the information corpus, the method comprising:prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, parsing, with the host device, an information corpus that is stored within a data source local to the host system to determine each word in the information corpus and to determine whether each word in the information corpus is part of a phrase of two or more words or is a distinct word not part of a phrase;
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, determining, with the host device, a part of speech and syntax of each distinct word and syntax of each phrase;
prior to the host device receiving the expansion query from the client device and determining a corresponding expansion query vector, assigning, with the host device, a corpus vector to each distinct word and to each phrase, wherein each corpus vector is either a geometric machine readable representation of the assigned distinct word and comprises geometric word vector components associated with the determined part of speech and determined syntax of the assigned distinct word or is a geometric machine readable representation of the assigned phrase and comprises a geometric phrase vector component associated with the determined syntax of the assigned phrase, respectively;
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, forming, with the host device, a plurality of clusters, each cluster comprising a plurality of similar corpus vectors, by iteratively conducting a geometric pairwise comparison between a corpus vector and each other corpus vector and grouping pairwise compared corpus vectors together if the pairwise compared corpus vectors are similar, wherein each cluster comprises a same number of corpus vectors; and
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, indicating, with the host device, a preexisting corpus vector within each cluster as being a representative corpus vector of the cluster in which the preexisting corpus vector resides.

US Pat. No. 10,558,755

AUTOMATED DOCUMENT ANALYSIS COMPRISING COMPANY NAME RECOGNITION

FREEDOM SOLUTIONS GROUP, ...

9. A system comprisingat least one processing device; and
memory operatively connected to the at least one processing device, the memory comprising executable instructions that when executed by the at least one processing device cause the at least one processing device to:
identify at least one company name occurrence in a body of text based on matching portions of the body of text with company names in a company identifier list;
update the company identifier list, wherein updating the company identifier list comprises adding the at least one company name occurrence to the company identifier list;
subsequent to updating the company identifier list, identify at least one additional company name occurrence in the body of text;
compare the at least one additional company name occurrence against an excluded company name list; and
subsequent to the comparison, omit the at least one additional company name occurrence from the company identifier list.

US Pat. No. 10,558,754

METHOD AND SYSTEM FOR AUTOMATING TRAINING OF NAMED ENTITY RECOGNITION IN NATURAL LANGUAGE PROCESSING

Infosys Limited, Bangalo...

1. A method to automate training named entity recognition in natural language processing to build configurable entity definitions, the method comprising:receiving at least one input document or one or more entities through an administration module;
defining a domain for each of the received entities or the at least one input document through the administration module;
determining one or more entities corresponding to a domain specific entity in the at least one input document;
generating a training file;
via the training file, picking a right parser;
via the training file, extracting content from the input document;
via the training file, labeling entity ambiguity, whereby a single training file is used to pick the right parser, extract content from the input document, and label entity ambiguity;
collecting and maintaining, through a knowledge engine, at least one user action in a knowledge repository, wherein the collecting comprises resolution of the entity ambiguity and comprises:
displaying a plurality of confirmation blocks containing excerpts appearing in the input document, wherein the excerpts contain an unclassified, ambiguous named entity associated with the entity ambiguity and surrounding text as the surrounding text appears in the input document, wherein the unclassified, ambiguous named entity is ambiguous because its domain overlaps with more than one domain,
displaying a proposed specific domain for the excerpts, wherein a single proposed specific domain is displayed for more than one of the excerpts,
within the confirmation blocks, displaying user interface elements for confirmation or rejection of a given excerpt out of the excerpts as belonging to the single proposed specific domain,
receiving activation of one user interface element of the user interface elements, thereby resolving the entity ambiguity by indicating that text in the given excerpt out of the excerpts does or does not belong to the single proposed specific domain, and
updating the knowledge engine with the resolved entity ambiguity;
predicting, through the knowledge engine, one or more labelled ambiguous entities;
fetching, through a training pipeline execution engine, data stored on a document store; and
associating, through the training pipeline execution engine, each entity with one or more documents based on the fetched data from the document store to build configurable entity definitions;
wherein the act of generating the training file comprises:
extracting text from the input document;
determining a definition of the extracted text to be ambiguous or unambiguous; and
based on whether the definition of the extracted text is determined to be ambiguous or unambiguous, switching between (a) and (b):
(a) adding the extracted text to the training file when the definition is determined to be unambiguous, and
(b) prompting a user to resolve ambiguity, and adding the resolution of the ambiguity to the training file when the definition is determined to be ambiguous.

US Pat. No. 10,558,753

SOFTWARE PROVISIONING USING AN INTERACTIVE CHAT-BASED USER INTERFACE

SAP SE, Walldorf (DE)

1. A method of performing software provisioning using an interactive chat-based user interface, the method comprising:receiving a chat input from a user, at a server having a processor, memory, and a network interface, the user input being received via the network interface by a chat controller running on the processor of the server;
interpreting the user input using natural language processing to determine a requested feature to be provisioned to a customer account of the user, wherein the requested feature is a capability of a software application;
determining, by accessing a provisioning database, an identifier of the requested feature and identifiers of dependent features which are to be provisioned with the requested feature, wherein the dependent features are pre-requisite features enabled before the requested feature can be used, and wherein the provisioning database includes provisioning switch indicators, each of the provisioning switch indicators relating to the corresponding customer account and a requested corresponding feature, each of the switch indicators having a first setting indicating that the requested corresponding feature is enabled for the corresponding customer account and a second setting indicating that the requested corresponding feature is not enabled for the corresponding customer account;
determining the provisioning switch indicator related to the requested corresponding feature is in the second setting;
performing, by the chat controller, the provisioning of the requested feature and the determined dependent features for the requested feature based on the received chat input at the network interface and determination of the provisioning switch indicator being in the second setting;
and
enabling the requested feature and the determined dependent features for the requested feature and the determined dependent features having the provisioning switch indicator in the second setting, wherein the requested feature and the determined dependent features for the requested feature are not already enabled, by accessing the provisioning database based on at least one parameter, the at least one parameter comprising an identifier of the requested feature and the identifiers of the determined dependent features obtained in the determining step.

US Pat. No. 10,558,752

SUMMARIZING AND VISUALIZING INFORMATION RELATING TO A TOPIC OF DISCUSSION IN A GROUP INSTANT MESSAGING SESSION

International Business Ma...

1. A method comprising:receiving, by one or more computer processors of a first client device of a plurality of client devices, a message from a second client device of the plurality of client devices;
analyzing, by the one or more computer processors, the message utilizing a template that identifies a plurality of keyword types;
extracting, by the one or more computer processors, one or more keywords from the message based, at least in part, on at least one of (i) one or more natural-language processing algorithms and (ii) one or more text mining algorithms;
associating, by the one or more computer processors, each of the one or more keywords with a respective keyword type from among the plurality of keyword types;
incorporating, by the one or more computer processors, the one or more keywords into a model that includes a plurality of keywords and describes, at least in part, a topic of a group instant messaging session among the plurality of client devices, wherein the topic of the group instant messaging session is represented, at least in part, by a visual combination of keywords and keyword types such that the visual combination includes a top-ranked keyword of each keyword type that is identified by the template; and
displaying, by the one or more processors, the plurality of keywords of the model on a graphical user interface of the first client device, the graphical user interface dividing a message window into a topic summary pane and a message dialogue pane, wherein:
messages exchanged among the plurality of client devices and representing, at least in part, the group instant messaging session are displayed within the message dialogue pane of the message window;
each keyword in the plurality of keywords is displayed on a respective icon among a plurality of icons within the topic summary pane of the message window;
the plurality of icons representing the plurality of keywords are visually grouped and categorized into a plurality of icon categories based, at least in part, on keyword types, each icon category corresponding to a respective keyword type;
within each icon category, the graphical user interface visually distinguishes an icon associated with a top-ranked keyword from any other icon within the respective icon category;
within each icon category, the icon associated with the top-ranked keyword includes a label identifying the respective keyword type; and
a plurality of icons associated with top-ranked keywords are visually displayed within the topic summary pane to represent the visual combination of keywords and keyword types that represents the topic of the group instant messaging session.

US Pat. No. 10,558,751

SUMMARIZING AND VISUALIZING INFORMATION RELATING TO A TOPIC OF DISCUSSION IN A GROUP INSTANT MESSAGING SESSION

International Business Ma...

1. A computer program product comprising:a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising:
program instructions to receive, on a first client device of a plurality of client devices, a message from a second client device of the plurality of client devices;
program instructions to analyze the message utilizing a template that identifies a plurality of keyword types;
program instructions to extract one or more keywords from the message based, at least in part, on at least one of (i) one or more natural-language processing algorithms and (ii) one or more text mining algorithms;
program instructions to associate each of the one or more keywords with a respective keyword type from among the plurality of keyword types;
program instructions to incorporate the one or more keywords into a model that includes a plurality of keywords and describes, at least in part, a topic of a group instant messaging session among the plurality of client devices, wherein the topic of the group instant messaging session is represented, at least in part, by a visual combination of keywords and keyword types such that the visual combination includes a top-ranked keyword of each keyword type that is identified by the template; and
program instructions to display the plurality of keywords of the model on a graphical user interface of the first client device, the graphical user interface dividing a message window into a topic summary pane and a message dialogue pane, wherein:
messages exchanged among the plurality of client devices and representing, at least in part, the group instant messaging session are displayed within the message dialogue pane of the message window;
each keyword in the plurality of keywords is displayed on a respective icon among a plurality of icons within the topic summary pane of the message window;
the plurality of icons representing the plurality of keywords are visually grouped and categorized into a plurality of icon categories based, at least in part, on keyword types, each icon category corresponding to a respective keyword type;
within each icon category, the graphical user interface visually distinguishes an icon associated with a top-ranked keyword from any other icon within the respective icon category;
within each icon category, the icon associated with the top-ranked keyword includes a label identifying the respective keyword type; and
a plurality of icons associated with top-ranked keywords are visually displayed within the topic summary pane to represent the visual combination of keywords and keyword types that represents the topic of the group instant messaging session.

US Pat. No. 10,558,750

SPATIAL ATTENTION MODEL FOR IMAGE CAPTIONING

salesforce.com, inc., Sa...

1. A method of machine generation of a natural language caption for an image, the method including:processing an image through an encoder to produce image feature vectors for regions of the image and determining a global image feature vector from the image feature vectors;
processing words through a decoder by:
beginning at an initial timestep with a start-of-caption token and the global image feature vector, and
continuing in successive timesteps using a most recently emitted caption word and the global image feature vector as input to the decoder;
at each timestep:
using at least a current hidden state of the decoder and a sentinel state of the decoder to determine unnormalized attention values for the image feature vectors and an unnormalized gate value;
exponentially normalizing the attention values and the gate value to produce attention probability masses and a sentinel gate mass;
applying the attention probability masses to the image feature vectors to accumulate in an image context vector a weighted sum of the image feature vectors;
determining an adaptive context vector as a mix of the image context vector and a visual sentinel vector according to the sentinel gate mass; and
submitting the adaptive context vector and the current hidden state of the decoder to a feed-forward neural network and causing the feed-forward neural network to emit a next caption word; and
repeating the processing of words through the decoder, the using, the applying, and the submitting until the caption word emitted is an end-of-caption token.

US Pat. No. 10,558,749

TEXT PREDICTION USING CAPTURED IMAGE FROM AN IMAGE CAPTURE DEVICE

International Business Ma...

1. A computer implemented method for predicting characters that will be entered in a text entry device based on an image captured with a separate image capture device, comprising:capturing the image with the image capture device;
identifying at least one object in the captured image;
obtaining a set of words associated with the at least one object identified in the captured image;
providing the set of words to a text entry device associated with the image capture device; and
displaying the set of words on the text entry device on a display associated with the text entry device, but not associated with the image capture device.

US Pat. No. 10,558,748

RECOGNIZING TRANSLITERATED WORDS USING SUFFIX AND/OR PREFIX OUTPUTS

INTERNATIONAL BUSINESS MA...

21. A computer-implemented method comprising:receiving, by a computing device, an input file of one or more correctly spelled transliterated words;
generating, by the computing device, a dictionary that maps suffix outputs or prefix outputs, respectively, to a suffix output file or a prefix output file of suffix outputs or prefix outputs present in the one or more correctly spelled transliterated words;
recognizing, by the computing device, an alternatively spelled transliterated word included in a document as one of the one or more correctly spelled transliterated words using the dictionary; and
outputting, by the computing device, information corresponding to the recognized transliterated word.

US Pat. No. 10,558,747

UNSUPERVISED INFORMATION EXTRACTION DICTIONARY CREATION

International Business Ma...

1. A method of forming a list of expanded words or phrases generated by an unsupervised learning of text within an information corpus, the method comprising:prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, parsing, with the host device, an information corpus that is stored within a data source local to the host system to determine each word in the information corpus and to determine whether each word in the information corpus is part of a phrase of two or more words or is a distinct word not part of a phrase;
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, determining, with the host device, a part of speech and syntax of each distinct word and syntax of each phrase;
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, assigning, with the host device, a corpus vector to each distinct word and to each phrase, wherein each corpus vector is either a geometric machine readable representation of the assigned distinct word and comprises geometric word vector components associated with the determined part of speech and determined syntax of the assigned distinct word or is a geometric machine readable representation of the assigned phrase and comprises a geometric phrase vector component associated with the determined syntax of the assigned phrase, respectively;
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, forming, with the host device, a plurality of clusters, each cluster comprising a plurality of similar corpus vectors, by iteratively conducting a geometric pairwise comparison between a corpus vector and each other corpus vector and grouping pairwise compared corpus vectors together if the pairwise compared corpus vectors are similar, wherein each cluster comprises a same number of corpus vectors; and
prior to the host device receiving an expansion query from a client device and determining a corresponding expansion query vector, indicating, with the host device, a preexisting corpus vector within each cluster as being a representative corpus vector of the cluster in which the particular corpus vector resides;
subsequent to the host device receiving the expansion query from the client device, determining, with the host device, the expansion query vector that corresponds to the expansion query;
subsequent to the host device receiving the expansion query from the client device, determining, with the host device, a most similar cluster to the expansion query vector;
subsequent to the host device receiving the expansion query from the client device, ranking, with the host device, the corpus vectors within the most similar cluster based upon the similarity to the expansion query vector; and
subsequent to the host device receiving the expansion query from the client device, forming, with the host device, a ranked list of words or phrases corresponding to each of the ranked corpus vectors of the most similar cluster.

US Pat. No. 10,558,746

AUTOMATED COGNITIVE PROCESSING OF SOURCE AGNOSTIC DATA

Tata Consultancy Services...

1. A processor implemented method comprising:extracting metadata associated with one or more source documents, wherein the one or more source documents are identified as having a structured form, a semi-structured form, an unstructured form, an image form or a combination thereof, based on the extracted metadata;
processing the one or more source documents to extract data comprising entities and attributes thereof;
extracting data from the one or more source documents in either native language or English language based on cognitive processing of the one or more source documents to obtain an Enterprise-to Business (E2B) Extensible Markup Language (XML) form having a pre-defined set of templates (206);
evaluating the Enterprise-to Business (E2B) XML form for accuracy and completion of the step of extracting data, wherein the evaluating comprises:
correlating the set of templates obtained from the Enterprise-to Business (E2B) XML form to check similarity across the one or more source documents,
computing a confidence score of extraction of entities and attributes in each of the Enterprise-to Business (E2B) XML form, and
computing an overall confidence score for each of the Enterprise-to Business (E2B) XML form based on the confidence score of each of the extraction of entities and attributes and pre-defined weightages thereof;
deciding validity of the one or more source documents based on existence of content in the pre-defined set of templates; and
classifying the validated one or more source documents based on analyses of the content in the pre-defined set of templates using neural networks.

US Pat. No. 10,558,745

INFORMATION PROCESSING APPARATUS AND NON-TRANSITORY COMPUTER READABLE MEDIUM

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

1. A design creating apparatus comprising:a memory that stores a plurality of templates which define different designs from each other with respect to a target object, each of the templates including a plurality of objects; and
a processor programmed to execute a process stored in the memory, the process comprising:
acquiring, for an individual user, edit information indicating a history of editing for respective objects for each of the templates;
counting the number of times that editing with same contents is performed, for the individual user and an individual object, based on the edit information, with respect to the plurality of templates;
processing the plurality of templates by performing editing on the individual object, for which the counted number of times is greatest, as an indication of an editing tendency, with the plurality of templates as a target;
receiving a selection of a template from a plurality of templates by the individual user;
editing the template selected by the individual user so that the respective objects of the template satisfy the editing tendency which is a most performed editing to the objects, in the history of editing by the individual user, based on the edit information, the most performed editing being editing for which the counted number of times that editing with the same contents is performed is the greatest; and
outputting the edited template for the individual user.

US Pat. No. 10,558,744

BIDIRECTIONAL NETWORKED REAL-TIME DATA EXCHANGE USING A SPREADSHEET APPLICATION

Real Innovations Internat...

1. A method for real-time interaction with a spreadsheet application (SSAPP), the method comprising:obtaining data propagated from a data source;
creating a persistent connection with a SSAPP;
subscribing the SSAPP to subscribed data, wherein the subscribed data includes at least some of the data obtained from the data source;
propagating the subscribed data to the SSAPP through the persistent connection as the subscribed data is obtained;
obtaining a change request from the SSAPP through the persistent connection;
transmitting the change request to the data source;
obtaining updated data propagated from the data source based on the change request;
propagating the updated data to the SSAPP through the persistent connection as the updated data is obtained;
operating in a non-authoritative configuration, wherein operating in the non-authoritative configuration further includes:
storing a data set;
receiving a connection from an authoritative client device;
responsive to receiving the connection, obtaining an authoritative data set from the authoritative client device over the connection; and
storing the authoritative data set,
wherein storing the authoritative data set includes at least one of: (i) overwriting a portion of the stored data set that conflicts with the authoritative data set and (ii) ignoring a portion of the stored data set that conflicts with the authoritative data set, and
wherein operating in the non-authoritative configuration further includes:
determining whether the authoritative client device has disconnected; and
responsive to the authoritative client device disconnecting, notifying one or more other connected client devices that the authoritative client device is no longer providing data.

US Pat. No. 10,558,743

THREE-DIMENSIONAL MULTI-VECTOR TABLES

International Business Ma...

1. A method for optimizing a display of tabular data from a two-dimensional (2-D) table as a folding three-dimensional (3-D) table having a plurality of vectors in a graphic user interface (GUI), the method comprising:calculating a scaling ratio based on a cumulative width of the plurality of vectors and a width of a display area in the GUI;
determining a maximum angle of rotation for at least one vector of the plurality of vectors based on legibility of a type of content contained in the at least one vector;
applying the scaling ratio to a width of the at least one vector of the plurality of vectors to yield a modified width of the at least one vector;
calculating an angle of rotation for the at least one vector of the plurality of vectors in the case that the at least one vector is depicted as a modified vector angled between a horizontal and a vertical axis with respect to the 2-D table, the modified vector having an actual width equal to the modified width and a diagonal length equal to the width of the at least one vector;
adjusting a rotation of at least one other vector of the plurality of vectors in the case that the angle of rotation for the at least one vector exceeds the maximum angle of rotation for the at least one vector; and
depicting the at least one vector with an angle of rotation that does not exceed the maximum angle of rotation such that content of the at least one vector is legible.

US Pat. No. 10,558,742

RESPONSIVE USER INTERFACE SYSTEM

Vinyl Development LLC, M...

1. A computer-implemented method, the method comprising:receiving a page for a user device, the page including panels;
receiving layout data for the page, the layout data defining:
a location of each of the panels in a plurality of slides, the location specifying a constraint for positioning each of the panels in the plurality of slides with respect to one another; and
a priority for displaying each of the panels, the priority specifying an order in which each of the panels is allocated to a given slide of the plurality of slides for displaying the page, the priority being based on the constraint for positioning each of the panels;
receiving user device data specifying display characteristics of the user device, the display characteristics comprising a display resolution;
generating, by a computer system, a slide by allocating at least one panel of the panels to the generated slide, the at least one panel of the generated slide being allocated based on the display resolution of the user device data, the priority in the layout data associated with the at least one panel, and the location defined by the layout data associated with the at least one panel; and
sending, to the user device, a set of slides including the generated slide, each slide including at least one panel, to cause operations comprising:
displaying a first slide of the slides on the user device, the first slide including the generated slide; and
displaying a second slide of the slides on the user device in response to receiving a navigation action, the second slide including at least one other panel of the panels, the at least one other panel being allocated to the second slide based on an orientation of the user device, the priority in the layout data associated with the at least one other panel, and the location defined by the layout data associated with the at least one other panel.

US Pat. No. 10,558,741

CONCURRENT PREPARATION OF MULTIPLE VERSIONS OF A WEBSITE

ADOBE INC., San Jose, CA...

1. A computer-implemented method comprising:generating a first working copy of a production web page source document;
applying a first edit to the production web page source document subsequent to generating the first working copy of the production web page source document;
in response to applying the first edit to the production web page source document, automatically applying the same first edit to the first working copy as that applied to the production web page source document;
applying a second edit to the first working copy independently of the production web page source document; and
replacing the production web page source document with the first working copy including the first and second edits subsequent to automatically applying the first edit to the first working copy.

US Pat. No. 10,558,740

SERVING DIFFERENT VERSIONS OF A USER INTERFACE IN RESPONSE TO USER EMOTIONAL STATE

INTUIT INC., Mountain Vi...

1. A method, comprising:executing a triggering event in a software application, the triggering event comprising generation of a result for a step in a workflow;
in response to execution of the triggering event, transmitting a command to a client device to obtain an image of a facial expression of a user of the software application;
receiving the image of the facial expression of the user of the software application from the client device;
determining an emotional response score for the user of the software application based on the image of the facial expression of the user of the software application;
identifying a version of a user experience from a set of versions of the user experience comprising at least a first plurality of user experiences corresponding to different ranges of negative emotional response scores and a second plurality of user experiences corresponding to different ranges of positive emotional response scores to present on the client device based on the determined emotional response score for the user of the software application, wherein:
each version of the set of versions is associated with a range of emotional response scores and is configured to present information related to the generated result,
versions associated with ranges of negative emotional response scores in the set of versions include information explaining how the result of the step in the workflow was calculated,
versions associated with ranges of positive emotional response scores in the set of versions include messages corresponding to a positive emotional response to the result of the step in the workflow, and
the identified version of the user experience has a range of emotional response scores containing the determined emotional response score;
generating code for rendering a user interface associated with the identified version of the user experience; and
transmitting the generated code to the client device for rendering and presentation on the client device.

US Pat. No. 10,558,739

PREFIX TABLE GENERATION FOR PREFIX BURROWS-WHEELER TRANSFORMATION WITH FAST OPERATIONS ON COMPRESSED DATA

SPIRAL GENETICS, INC., S...

1. A method to generate a prefix table for a prefix burrows-wheeler transform (PBWT), comprising:receiving a plurality of lexemes comprised of characters with a lexicographical order;
placing the plurality of lexemes into a data set;
computing suffixes for each lexeme in the data set adding the computed suffixes as lexemes to the data set;
removing each lexeme from the data set that is a prefix of another lexeme resulting in a set of non-rotated lexemes;
duplicating each non-rotated lexeme from the data set to make a corresponding duplicate lexeme;
adding to an end of each non-rotated lexeme a delimiter, wherein the delimiter has a lexicographical value higher than any of characters in the plurality of lexemes;
adding to an end of each rotated lexeme a separator and rotating a prefix comprising a first character in each rotated lexeme to the end of each rotated lexeme after the separator, wherein the separator has a lexicographical value lower than any of the characters in the plurality of lexemes;
lexicographically ordering combined non-rotated and rotated lexemes in the data set;
scanning the combined non-rotated and rotated lexemes in lexicographical order, and if a lexeme is a non-rotated lexeme, associating all rotated prefixes in the rotated lexemes;
associating each lexeme in the data set with the characters that are prefixes in the rotated lexemes between a non-rotated lexeme and an immediate preceding non-rotated lexeme;
associating each lexeme in the data set with a value indicating a number of characters in the lexeme; and
generating the prefix table by deleting the rotated lexemes and the delimiters.

US Pat. No. 10,558,738

COMPRESSION OF MACHINE LEARNED MODELS

AMAZON TECHNOLOGIES, INC....

1. A method of generating a compressed natural language model, the method comprising:determining a plurality of quantized weight values from weights of a natural language model, wherein the plurality of quantized weight values includes a first quantized weight value representing an average value of a first set of the weights;
storing the plurality of quantized weight values in a quantized weight table, wherein the first quantized weight value is stored at a first address in the quantized weight table and a second quantized weight value of the plurality of quantized weight values is stored at a second address in the quantized weight table;
generating, using a minimal perfect hash function, a perfect hash table comprising:
a first portion of memory associated with a first feature of the natural language model, the first portion of memory storing a first index value associated with the quantized weight table, the first index value identifying the first address storing the first quantized weight value, the first quantized weight value having a first magnitude; and
a second portion of memory associated with a second feature of the natural language model, the second portion of memory storing a second index value associated with the quantized weight table, the second index value identifying the second address storing the second quantized weight value, the second quantized weight value having a second magnitude that is less than the first magnitude;
generating first code data using first feature string data of the first feature, wherein the first code data identifies the first feature from among other features and comprises a first number of bits;
storing, in association with the first portion of memory, the first code data;
generating a second code data using second feature string data of the second feature, wherein the second code data identifies the second feature from among other features and comprises a second number of bits, the second number of bits being less than the first number of bits; and
storing, in association with the second portion of memory, the second code data.

US Pat. No. 10,558,737

GENERATING A SEMANTIC DIFF

GITHUB, INC., San Franci...

1. A method comprising:accessing, by one or more processors, a first text document and a second text document both written in a coding language that is common to both;
determining the coding language is one of a plurality of programming languages, wherein each of the plurality of programming languages uniquely corresponds to at least one of a language specific specification or a language specific or grammar stored in a storage device that is accessible by the one or more processors;
accessing the at least one of the specification or the grammar corresponding to the determined coding language, by the one or more processors;
based on the accessed at least one of the specification or the grammar:
generating, by the one or more processors, a first parse tree and a second parse tree by parsing the accessed first text document and the second text document, respectively, based on a grammar of the coding language common to the first text document and the second text document, the first parse tree including a first plurality of subtrees, the second parse tree including a second plurality of subtrees; and
determining, by the one or more processors, that a first subtree in the first plurality of subtrees shares a classification with a second subtree in the second plurality of subtrees by classifying the first subtree and the second subtree based on a set of classifications that includes the shared classification;
selecting, by the one or more processors, the first subtree and the second subtree for comparison to each other based on the determining that the first subtree shares the classification with the second subtree;
mapping each one of the set of classifications to one of a plurality of available comparison procedures that is applicable to the corresponding classification;
selecting, by the one or more processors, a comparison procedure from the plurality of available comparison procedures applicable to the first subtree and the second subtree based on the classification shared by the first subtree and the second subtree; and
generating, by the one or more processors, a differential subtree by performing the selected comparison procedure on the first subtree and the second subtree, the generated differential subtree indicating a textual difference between the first subtree and the second subtree.

US Pat. No. 10,558,736

METADATA DRIVEN USER INTERFACE LAYOUT CONTROL FOR WEB APPLICATIONS

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:rendering a user interface for display by a computing device, the rendering comprising traversing a metadata tree comprising a first node, a second node, and a third node, each of the first node, the second node, and the third node comprising metadata defining a functionality of the user interface; and
in response to an update to a layout of the user interface:
modifying the first node based at least on the first node being affected by the update to the user interface;
calculating a minimum sub metadata tree by at least traversing the metadata tree to identify the first node and the second node but not the third node for inclusion in the minimum sub metadata tree, the first node being identified for inclusion in the minimum sub metadata tree based at least on the first node being affected by the update to the user interface, the second node being identified for inclusion in the minimum sub metadata tree based at least on the second node also being affected by the update to the user interface by being a child node of the first node, and the third node being excluded from the minimum sub metadata tree based at least on the third node not being affected by the update to the user interface by not being a child node of the first node; and
re-rendering the user interface for display by the computing device, the re-rendering of the user interface comprising traversing the minimum sub metadata tree instead of the metadata tree, the minimum sub metadata tree being traversed to re-render the first node and the second node, and the re-rendering of the user interface excludes a re-rendering of the third node absent from the minimum sub metadata tree.

US Pat. No. 10,558,735

SYSTEM AND METHOD FOR USING AN APPLICATION ON A MOBILE DEVICE TO TRANSFER INTERNET MEDIA CONTENT

Seagate Technology LLC, ...

1. A method for transferring internet video content using an application on a mobile device to transfer the internet video content, the method comprising the steps of:receiving web content for a web page on the mobile device, wherein the web content has an internet video object representing the internet video content and an original media control for initiating playback of the internet video content on the mobile device;
identifying the original media control in the web content, wherein the application on the mobile device processes the web content to identify the original media control;
modifying the web content to form modified web content having an additional media control for performing a media action involving the internet video content, wherein the application on the mobile device modifies the web content;
causing to display the modified web content as a rendered web page using a Hypertext Markup Language (HTML) rendering engine;
receiving a user interaction signal which indicates user interaction with the rendered web page;
processing the user interaction signal, wherein the application on the mobile device processes the user interaction signal to identify whether the user interaction signal invoked the additional media control; and
initiating the media action in response to identifying that the user interaction signal invoked the additional media control, wherein the media action involves the application on the mobile device instructing a rendering device external to the mobile device to playback the internet video content.

US Pat. No. 10,558,734

COLLABORATIVE WORKFLOW THROUGH MESSAGING CONVERSATIONS

Google LLC, Mountain Vie...

1. A method comprising:storing, by a server computing system, a network document;
responsive to receiving a request to share the network document with a group of users, creating, by the server computing system, a link that references the network document;
assigning, by the server computing system and to each user of the group of users, at least one privilege associated with the network document, wherein the at least one privilege includes one or more of an editing privilege or a view-only privilege associated with the network document;
outputting, by the server computing system and to a group of client computing devices associated with the group of users, a first message, wherein the first message includes the link referencing the network document, and wherein the network document is accessible via the link according to the respective at least one privilege assigned to each user of the group of users;
receiving, by the server computing system and from a client computing device of the group of client computing devices, an indication of a selection of the link referencing the network document, wherein the client computing device is associated with a user of the group of users;
transmitting, by the server computing system and to the client computing device, at least a portion of a network application, wherein the respective at least one privilege assigned to the user associated with the client computing device includes the editing privilege for the network document, and wherein the client computing device is configured to execute the network application to create one or more modifications to the network document;
after receiving the indication of the selection of the link, receiving, by the server computing system and from the client computing device, the one or more modifications to the network document;
updating, by the server computing system and based on the one or more modifications, the network document; and
outputting, by the server computing system and to the group of client computing devices, a second message, wherein the second message includes an indication of the one or more modifications.

US Pat. No. 10,558,733

METHOD OF MANAGING ELEMENTS IN AN INFORMATION ELEMENT ARRAY COLLATING UNIT

9224-5489 QUEBEC INC.

1. A computer-implemented method of displaying a plurality of elements in a collation unit on a display, the method comprising:assigning a collation function to an axis of elements where each of the elements have time property;
separating the axis of elements in collation units, wherein collation units are measures of time assigned by the collation function to the axes of elements, each of the collation units including a respective axial length for displaying a respective maximum number of elements therein along the axis of elements and displaying a general layout that include a rectilinear arrangement of the elements along the axes of elements;
collating the plurality of elements to assign the plurality of elements to the axes of elements by matching their time property to one of the collation unit measurement of time;
determining if the respective maximum number of elements displayable within the respective collation unit axial length with the general layout is exceeded;
when there is a determination that the respective maximum number of elements displayable within the respective axial length of a collation unit is exceeded, allocating, within the rectilinear arrangement, an interactive receiving space that will maintain, at most, the respective maximum number of elements within the respective collation unit by allocating the exceeding element to the interactive receiving space;
displaying the elements in their respective collation unit with the general layout when the number of elements to be displayed is not exceeding the respective maximum number of elements to be displayed; and
displaying the elements in their respective collation units with the interactive receiving space when the number of elements to be displayed is exceeding the maximum number of elements displayable in the collation units within the constant axial length provided by the general layout, the interactive receiving space allowing the respective collation unit to display a number of elements exceeding the maximum number of elements displayable within the respective axial length of the collation unit.

US Pat. No. 10,558,732

INFORMATION PROCESSING APPARATUS, NON-TRANSITORY COMPUTER READABLE MEDIUM, AND INFORMATION PROCESSING METHOD FOR EXECUTING A FUNCTION COMMON TO TWO ARCHIVE FILES

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

1. An information processing apparatus comprising:a processor programmed to:
receive a first archive file that includes first document data, and information regarding one or more first processing functions associated with the first document data, the first document data including respective pages, which include multiple pieces of data in a plurality of different data formats collated into the first archive file,
wherein the information regarding the one or more first processing functions includes information regarding an order in which the first processing functions are to be executed;
receive a second archive file that includes second document data, and information regarding one or more second processing functions associated with the second document data, the second document data including respective pages, which include multiple pieces of data in a plurality of different data formats collated into the second archive file,
wherein the information regarding the one or more second processing functions includes information regarding an order in which the one or more second processing functions are to be executed;
derive, from the information regarding the one or more first processing functions associated with the first document data, and the information regarding the one or more second processing functions associated with the second document data, one or more common processing functions that are included in each of the one or more first processing functions and the one or more second processing functions;
when the first archive file and the second archive file are selected and expanded by a user, cause a display to display one or more respective pages of the first document data and the second document data that are common to each of the archive files, and information regarding the one or more common processing functions that are common to each of the archive files;
execute the one or more common processing functions on the first document data and the second document data associated with the one or more common processing functions; and
update a piece of first document data and a piece of second document data based on a result of the execution of the one or more common processing functions.

US Pat. No. 10,558,731

FLAME INSTABILITY MONITORING WITH DRAFT PRESSURE AND PROCESS VARIABLE

ROSEMOUNT INC., Chanhass...

1. A method of monitoring a burner comprising:monitoring a statistical variable calculated from a furnace draft pressure measurement measured within a furnace of the burner;
monitoring at least one process variable, other than the furnace draft pressure measurement, related to the operation of the burner;
applying the statistical variable, the process variable, and a curve parameter of a curve fit equation describing a relationship between the statistical variable and the process variable to a stability calculator to generate a stability value, where under the relationship either the statistical variable is a function of the process variable and the curve parameter or the process variable is a function of the statistical variable and the curve parameter; and
displaying a real-time graph of the statistical variable and a real-time graph of the stability value to visually display when a change in the statistical variable is associated with a change in the stability value.

US Pat. No. 10,558,730

COMPUTING METHOD, INFORMATION PROCESSING APPARATUS, COMPUTING PROGRAM, AND INFORMATION PROCESSING SYSTEM

FUJITSU LIMITED, Kawasak...

1. A computing method of calculating a product of a first matrix and a second matrix in an information processing apparatus including M×N computing elements configured such that M computing elements arranged in a row direction and N computing elements arranged in a column direction are connected to each other in a torus-like manner, where the M is an integer of 1 or more and the N is an integer of 1 or more, and the M is not equal to the N, the computing method comprising:first generating, by a processor, one or more first partitioned matrices by partitioning the first matrix by a least common multiple of the M and the N in the row direction and by the N in the column direction;
second generating, by a processor, one or more second partitioned matrices by partitioning the second matrix by the M in the row direction and by the least common multiple in the column direction;
first storing, by a processor, the one or more generated first partitioned matrices in storage units of the computing elements so that the one or more first partitioned matrices located in the same column in the first matrix are stored in the computing elements arranged in different columns in the information processing apparatus;
second storing, by a processor, the one or more generated second partitioned matrices in the storage units so that the one or more second partitioned matrices located in the same row in the second matrix are stored in the computing elements arranged in different rows in the information processing apparatus;
first adding, by a processor, a first product of a matrix including the one or more first partitioned matrices and a matrix including the one or more second partitioned matrices stored in the storage unit of each of the computing elements, to a first result matrix stored in the storage unit of each of the computing elements, for each of the computing elements;
first transmitting, by a processor, for each of the computing elements, the one or more first partitioned matrices corresponding to the first product out of the one or more first partitioned matrices stored in the storage unit of each of the computing elements, to computing elements directly connected to that computing element out of other computing elements connected to each other in a torus-like manner in the row direction;
second transmitting, by a processor, for each of the computing elements, the one or more second partitioned matrices corresponding to the second product out of the one or more second partitioned matrices stored in the storage unit of each of the computing elements, to computing elements directly connected to that computing element out of other computing elements connected to each other in a torus-like manner in the column direction;
second adding, by a processor, after the reception of the one or more first partitioned matrices and the one or more second partitioned matrices from other computing elements, a second product of a matrix including the one or more received first partitioned matrices and a matrix including the one or more received one or more second partitioned matrices, to the first result matrix stored in the storage unit of each of the computing elements, for each of the computing elements; and
first repeating, by a processor, the first transmitting, the second transmitting and the second adding, until multiple the products calculated from the one or more first partitioned matrices stored in the storage unit of each of the computing elements are added to the first result matrix in each of the computing elements connected to each other in a torus-like manner, and a plurality of product calculated from the one or more second partitioned matrices stored in the storage unit of each of the computing elements is added to the first result matrix in each of the computing elements connected to each other in a torus-like manner.

US Pat. No. 10,558,729

ENHANCED COLLECTION ENVIRONMENTS

Microsoft Technology Lice...

1. One or more computer readable storage media having stored thereon program instructions for facilitating control of collection environments that, when executed by a computing system, direct the computing system to at least:present a collection environment comprising a presentation recording having a plurality of presentation sections and a written paragraph having a plurality of written sections;
identify which written section of the plurality of written sections corresponds to a user input directed to the written paragraph and which presentation section of the plurality of presentation sections corresponds to the written section;
display a function menu including a plurality of media functions in response to another user input directed to the written section;
receive a selection of a media function from the plurality of media functions; and
apply the selected media function to the written section and the corresponding presentation section in the presentation recording such that the applied media function manipulates both the written section and the corresponding presentation section in a similar manner.

US Pat. No. 10,558,728

SHARED CONTENT DELIVERY STREAMS IN DATA NETWORKS

TEALIUM INC., San Deigo,...

1. A system for sharing user data associated with a content object, the system comprising:a memory device configured to store first user data that is generated by a user system and associated with a first content object of a plurality of content objects; and
one or more processors in communication with the memory device, the one or more processors being configured to:
determine an identifier from the first user data, the identifier corresponding to the user system or a user of the user system;
access, from a plurality of filters, a first filter and a second filter that correspond to the first content object,
filter the first user data with the first filter to generate a first data stream and a second data stream different from the first data stream, the first data stream comprising the identifier,
filter the first data stream with the second filter to generate a first sub-data stream and a second sub-data stream different from the first sub-data stream, the first sub-data stream comprising the identifier,
output the second data stream, the first sub-data stream, and the second sub-data stream to application program interfaces of analysis systems,
prevent, according to an access policy, at least some of the analysis systems from accessing the second data stream, the first sub-data stream, and the second sub-data stream,
change the second filter responsive to a first user input and subsequently filter the first data stream with the second filter to adjust generation of the first sub-data stream and the second sub-data stream, and
change the first filter and the second filter responsive to a second user input and subsequently filter the first user data with the first filter and the first data stream with the second filter to adjust generation of the first data stream, the second data stream, the first sub-data stream, and the second sub-data stream.

US Pat. No. 10,558,727

SYSTEM AND METHOD FOR OPERATING A BROWSING APPLICATION

YANDEX EUROPE AG, Lucern...

1. A method of generating additional information to be provided in a browser application of a client device, the method executable at a server, the method comprising:receiving, from the client device, a request for displaying a first resource in the browser application of the client device, the request including an indication of the first resource, the indication including at least a Uniform Resource Locator (URL) of the first resource and a title of the first resource, the request having been destined to a first resource server hosting the first resource, the request causing the client device to receive the first resource from the first resource server and to display the first resource in a displayable area of the browsing application of the client device;
receiving, from the client device, an indication of a user interaction with a command interface of the browsing application, the user interaction being indicative of a user's intention to navigate away from the first resource;
responsive to the indication of the user interaction with the command interface and prior to the user inputting a command into the command interface to navigate away from the first resource:
parsing, by the server, at least the URL and the title of the first resource to obtain at least one keyword related to the first resource;
searching, by the server, based on the at least one keyword, an index of structured information, the structured information having been previously indexed from at least one data source, wherein:
the index of structured information includes at least one entry of structured information having been determined to be relevant to a content of the first resource based on the at least one keyword;
retrieving, from the index of structured information, at least one entry of structured information based on the at least one keyword, the at least one entry of structured information being associated with a suggested link to the at least one web resource;
generating, by the server, at least one snippet of information based on the at least one retrieved entry of structured information, the at least one snippet of information including the suggested link to the at least one web resource;
the at least one snippet including additional information relevant to the first resource that the user has indicated the intention to navigate away from; and
transmitting to the client device the at least one snippet of information for causing the client device to display, in the displayable area of the browsing application of the client device, a start page instead of the first resource, the start page including the at least one snippet of information.

US Pat. No. 10,558,726

METHOD AND APPARATUS FOR EXECUTING APPLICATION

FUJITSU LIMITED, Kawasak...

1. An information processing apparatus, comprising:a memory; and
a processor coupled to the memory and configured to:
instruct a browser engine to load an application based on a virtual URL corresponding to a path of a storage location of the application, the application being stored in a storage unit and to be executed by the browser engine, the virtual URL including an origin, and the origin including a port number; and
provide, as a proxy, the browser engine with the application identified by the path corresponding to the virtual URL, when receiving, from the browser engine through a certain socket, a request to obtain data using the virtual URL,
wherein the proxy generates no socket corresponding to the port number included in the origin in the virtual URL, and a local storage to be used by the application is allocated for each origin included in the virtual URL for the application.

US Pat. No. 10,558,725

SYSTEMS AND METHODS FOR PROVIDING FRACTAL MAP FOR WEB DISCOVERY AND NAVIGATION

KLOOP INC., San Francisc...

1. A method for managing web navigation, comprising:generating a plurality of fractal maps in response to user navigation inputs, each fractal map comprising a plurality of grid defined regions each comprising a context pane and a navigation pane, and wherein each context pane is associated with a hierarchal level and each navigation pane is associated with a history level that is recursively dependent on the hierarchal level;
displaying a first fractal map in response to a first user navigation input, wherein for a first grid defined region of the plurality of grid defined regions, the hierarchal level is a first hierarchal level and the history level is a null history level;
receiving user selection of the navigation pane of the first grid defined region in the first fractal map;
displaying a second fractal map based on user selection of the navigation pane of the first grid defined region, wherein for each the plurality of grid defined regions in the second fractal map, the hierarchal level is a second hierarchal level;
receiving user input to navigate back to the first fractal map; and
displaying an updated version of the first fractal map in response to the received user input to navigate back to the first fractal map, wherein for the first grid defined region, the history level is changed to a first history level that displays a background color of the context panes of each of the plurality of grid defined regions of the second fractal map in the navigation pane of the first grid defined region of the first fractal map.

US Pat. No. 10,558,724

LOCATION GRAPH BASED DERIVATION OF ATTRIBUTES

NINTHDECIMAL, INC., San ...

1. A method, comprising:storing, in a computing apparatus, first location data identifying:
a predetermined first location, and
a set of demographic attributes of past users who have visited the predetermined first location and thus associated with the predetermined first location in the computing apparatus;
receiving, in the computing apparatus, a second location of a mobile device of a user;
mapping, by the computing apparatus, the second location of the mobile device to the predetermined first location;
identifying, by the computing apparatus based on the mapping and the first location data stored in the computing apparatus, the set of demographic attributes of users who have visited the predetermined first location; and
updating, by the computing apparatus, a profile of the user by adjusting the profile of the user, using a weighted algorithm, based on the set of demographic attributes that are identified, via the mapping, from the first location data, wherein in response to further locations of the mobile device being mapped into further predetermined locations that have respective sets of attributes of users who have visited the further predetermined locations respectively, the updating the profile is repeated according to the further predetermined locations, based on the weighted algorithm and the respective sets of attributes, to incrementally improve accuracy of the profile, including confidence levels of attributes in the user profile.

US Pat. No. 10,558,723

DYNAMIC MATERIALIZATION OF FEEDS FOR ENABLING ACCESS OF THE FEED IN AN ONLINE SOCIAL NETWORK

salesforce.com, inc., Sa...

1. A computer implemented method of dynamic materialization of a feed for enabling access of the feed in an online social network, the method comprising:receiving a request for a feed, wherein the feed is defined based on two or more parameters;
determining a state of the feed, wherein the state of the feed can be at least any one of an active state, an inactive state, an activating state, an inactivating state, and a disabled state;
responsive to determining that the state of the feed is the inactive state, performing the following:
causing the request for the feed to be processed at a first relational database system,
causing materialization of the feed by populating a materialized feeds table in a second non-relational database system with feed items of the feed from the first relational database system, and
setting the state of the feed to the activating state;
responsive to determining that the state of the feed is the active state, causing the request for the feed to be processed from the materialized feeds table in the second non-relational database system;
responsive to determining that the state of the feed is the inactivating state, causing the request for the feed to be processed from the first relational database system; and
responsive to determining that the state of the feed is the disabled state, performing the following:
causing the request for the feed to be processed from the first relational database system, and
causing an update of the materialized feeds table in the second non-relational database system to be postponed for a predetermined amount of time.

US Pat. No. 10,558,722

PROVISION OF ON PREMISE AMBIENT SERVICE METHOD AND APPARATUS

Intel Corporation, Santa...

1. An apparatus to be employed as an ambient services gateway disposed at a premises, the apparatus comprising:a profile engine arranged to interact with a cloud ambient service provider, the profile engine is to receive at least one social profile, the at least one social profile being a profile of a user of the premises, wherein the at least one social profile is associated with provision of ambient service to the user, wherein the user of the premises is an owner of the premises or a visitor to the premises;
a management module coupled to the profile engine, the management module is arranged to control transmission of control signaling to one or more peripheral devices at the premises to instruct the one or more peripheral devices to provide an ambient service to the user based at least in part on ambient service instructions; and
an inference engine, coupled to the profile engine and the management module, the inference engine is arranged to generate the ambient service instructions for providing the ambient service to the user based at least in part on the at least one social profile and data pertaining to interactions between the management module or the user and one or more other persons at the premises wherein the one or more other persons are owners of the premises or visitors to the premises.

US Pat. No. 10,558,721

SEARCH TOOL ENHANCEMENT USING DYNAMIC TAGGING

International Business Ma...

1. A computer-implemented method comprising:in response to receiving an indication that content fulfills a first request for information, associating the first request for information with the content that fulfills the first request, adding to a database the respectively associated first request for information, and the content;
in response to receiving a second request for information that is related to the first request, identifying, from the database, the added content and additional content that fulfills the second request;
compiling a list of the added content and the additional content;
manipulating the order of the compiled list based on a ranking of the added content containing the indication and the additional content specified as fulfilling the first request that includes portions of text, audio, and video of one or more resources containing multiple portions of text, audio, and video, wherein
the ranking based on (1) demographic information of a user that indicated that the added content fulfills the first request and (2) a relationship between the user that indicated that the added content fulfills the first request for information, a user that generated the second request for information, and (3) a perceived credibility of the user that indicated that the added content fulfills the first request for information; and
organizing and displaying the added content, the additional content, and metadata associated with the indication that the content of the manipulated list fulfills the second request for information in a single downloadable content that contains only portions of text of text, audio, and video indicated as fulfilling the first request.

US Pat. No. 10,558,720

METHOD AND SYSTEM FOR SELECTING SUPPLEMENTAL CONTENT USING VISUAL APPEARANCE

OATH INC., New York, NY ...

1. A method comprising:receiving, by a server computing device from a client computing device, a request for a set of primary content items;
selecting, by the server computing device, a number of primary content items using selection criteria associated with the request;
obtaining, by the server computing device and for each primary content item of the number, a feature vector representing a visual appearance of the primary content item;
obtaining, by the server computing device and for each supplemental content item of a number of supplemental content items, the feature vector representing the visual appearance of the supplemental content item;
selecting, by the server computing device and using a number of the obtained feature vectors, a supplemental content item from the number of supplemental content items based on its visual appearance relative to at least one primary content item of the number of primary content items, the selecting comprising using a distance measure determined using the feature vector of the selected supplemental content item and the feature vector of each primary content item of the at least one primary content item, the distance measure indicating a degree of similarity of the selected supplemental content item's visual appearance to that of the at least one primary content item;
positioning, by the server computing device, the selected supplemental content item among the number of primary content items in a presentation response, the selected supplemental content item being positioned adjacent to the at least one primary content item in the presentation response in accordance with the degree of similarity of the selected supplemental content item's visual appearance to that of the at least one primary content item; and
transmitting, by the server computing device, the presentation response in response to the primary content item request.

US Pat. No. 10,558,719

APPARATUSES, METHODS AND SYSTEMS FOR INSIGHT DISCOVERY AND PRESENTATION FROM STRUCTURED AND UNSTRUCTURED DATA

Quantifind, Inc., Menlo ...

1. A processor-implemented method, comprising: identifying primal data variables, including at least topic, demographic and brand; determining primal data variable trends over time;generating a plurality of insight records based on a relationship within a corpus of documents between the primal data variable trends for at least two primal data variables; filtering the insight records according to pre-filtering criteria; sorting the insight records according to ranking criteria;
identifying at least one insight natural language presentation template associated in memory with at least one of the plurality of insight records, the at least one insight natural language presentation template configured to generate a natural language report comprising the relationship between the primal data variable trends for the at least two primal data variables;
populating the at least one natural language presentation template with the at least two primal data variables and the primal data variable trends to yield the natural language report; and
providing the natural language report for display.

US Pat. No. 10,558,718

SYSTEMS AND METHODS FOR WEBSITE IMPROVEMENT

Dell Products, LP, Round...

1. A method for using evaluation of intent to improve an online support website, comprising:storing in computer memory page text and input text from web pages viewed by a user; using a processor to generate a word set from the page text and input text;
generating a total number of occurrences of a particular word in the page text and input text by subtracting negative scored words for the particular word from other occurrences of the particular word within the page text and input text; storing the total number of occurrences of the particular word in the word set;
transforming the word set to removing stop words and to perform word transformations;
normalizing nouns to one form and verbs to a single tense, person, and voice; performing latent dirichlet allocation modeling on the word set to evaluate user intent, wherein the evaluation of user intent includes determining one or more user intents based on the latent dirichlet allocation modeling;
redetermining intent after additional page visits and refining the recommendations based on the redetermined intent, wherein the redetermined intent includes identifying topics associated with the additional page visits and the refined recommendations are based on the topics;
ranking the one or more user intents according to a probability of the one or more user intents;
selecting one of the user intents based on the ranking of the one or more user intents; and
providing support pages likely to help with a problem the user is experiencing to the user based on the user intent.

US Pat. No. 10,558,717

DATA DISTRIBUTION PLATFORM

Telefonaktiebolaget LM Er...

1. A processing entity comprising a processing unit and a memory coupled to the processing unit and comprising non-transitory program code, wherein the processing unit is configured by the program code to:receive one or more streams of data points from at least one external data generating device that is remote from the processing entity, wherein the data points in the one or more streams of data points represent a measured physical quantity;
receive, from a client device, a stream request indicating at least one of the data streams and including information indicating a stream modification;
translate the information indicating a stream modification to selection criteria relative to the data points of the at least one data stream;
receive the at least one data stream from the external data generating device;
modify the at least one data stream by filtering the data stream based on the translated selection criteria, wherein filtering the data stream comprises selecting a subset of data points of the stream to provide a filtered data stream that comprises a subset of data points that represent the measured physical quantity,
wherein the selection criteria comprises any one of:
a maximum number of times per hour a client device is provided with data points, a maximum number of client devices accessing the data points, a maximum sampling frequency of the data points, a timestamp associated with the data points, quality of service parameters associated with the data points, and access rights associated with client devices;
provide the modified data stream to the client device; and
issue a command to network equipment, based on the received stream request, for specifying a predetermined target quality of service for the network equipment providing the modified data stream to the client device.

US Pat. No. 10,558,716

ADAPTIVE CONTENT-BASED PUBLISH/SUBSCRIBE MESSAGING

International Business Ma...

1. A method for efficiently utilizing a subscription queue, the method comprising:receiving, by a publication engine, a set of filter expressions and utilizations of said subscription queue at which to apply each filter expression, wherein said subscription queue stores messages matching a subscription, wherein said publication engine is an intermediary between publishers and subscribers;
receiving a published message relating to said subscription;
checking, by said publication engine, said subscription queue designated in said subscription for its utilization in response to receiving said published message;
determining, by said publication engine, an appropriate filter expression from said set of filter expressions to be utilized based on said utilization of said subscription queue; and
applying, by said publication engine, said appropriate filter expression from said set of filter expressions.

US Pat. No. 10,558,715

AUTOMATIC CRAWLING OF APPLICATIONS

GOOGLE LLC, Mountain Vie...

13. A system comprising:at least one processor;
memory storing instructions that, when executed by the at least one processor, cause the system to perform operations including:
generate criteria for a plurality of web applications in an online application store;
translate the criteria into at least one rule, the at least one rule based on predefined categories defined by the online application store;
obtain, by a computing device, metadata associated with a plurality of websites;
determine, using the metadata and the at least one rule, whether any of the websites in the plurality of websites, includes code that executes a feature associated with the at least one rule;
in response to determining at least one website in the plurality of websites includes code that executes the feature associated with the at least one rule, obtain content associated with the at least one website and compare the content to a predefined permission sequence associated with one or more of the plurality of web applications; and
in response to matching the predefined permission sequence to at least a portion of the content, generate an icon for the content associated with the at least one website, configure the icon and content as a web application for placement in the online application store, and trigger display of the icon as a selectable application listing in the online application store.

US Pat. No. 10,558,714

TOPIC RANKING OF CONTENT ITEMS FOR TOPIC-BASED CONTENT FEEDS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method comprising:receiving, at an online system, a plurality of topic groups, each topic group corresponding to one or more topics, each topic group including content items that are tagged to that topic group;
retrieving, by the online system, user data of a user relating to one or more of the topic groups;
for each topic group, determining a probability of the user interacting with content items tagged to the topic group by applying one or more trained classifiers to the user data of the user, wherein the one or more trained classifiers comprise a binary classifier configured to receive the user data and to output an output classification, the output classification being either positive or negative in terms of whether the user is predicted to have an interest in the topic group;
ranking the plurality of topic groups for the user according to the determined probability for the plurality of topic groups;
generating a user interface including a feed of content items selected for the user for provision to a user device of the user, the user interface including one or more user interface elements corresponding to at least one of the plurality of topic groups that were ranked higher than other topic groups for the user;
selecting a set of content items for the user that are tagged to the topic group of each of the one or more user interface elements;
providing for display, by the online system to the user device of the user, the generated user interface with the feed of content items; and
in response to receiving a selection by the user of one of the user interface elements, providing for display to the user a different feed that comprises the selected set of content items tagged to the topic group for the selected user interface element.

US Pat. No. 10,558,713

METHOD OF TUNING A COMPUTER SYSTEM

ResponsiML Ltd, London (...

1. A method comprising:obtaining a target of accuracy of a computer system configured to classify documents or to locate texts satisfying a criterion in documents;
determining classification of a set of documents or location of the texts satisfying the criterion in the set of documents thereby labeling the set of documents, using the computer system, wherein the set of documents are previously unlabeled;
performing validation of the classification or the location of the texts, in which the classification or the location is either upheld or overturned; and
tuning the accuracy of the computer system by adjusting an amount of the validation based on the target;
wherein adjusting the amount of the validation comprises:
for each of the set of documents and each of a plurality of hypotheses on a largest value and a smallest value of scores for the set of documents, the scores respectively representing probabilities of the classification or location of the texts of the set of documents, generating a hypothesized score as a function of the largest value and the smallest value;
initializing credibilities respectively for the hypotheses as an equal value, the credibilities respectively representing probabilities of the hypotheses correctly estimating their respective largest value and smallest value; and
adjusting the credibilities using Bayesian inference, based on the hypothesized scores for the set of documents and the hypotheses and results of the validation.

US Pat. No. 10,558,712

ENHANCED ONLINE USER-INTERACTION TRACKING AND DOCUMENT RENDITION

ResearchGate GmbH, Berli...

1. A method comprising:for a document comprising a plurality of individual document elements, storing database entries for the individual document elements in one or more computer-readable media, each database entry comprising a unique document-element identifier;
during display of the document on a client device, tracking user interactions with the individual document elements;
storing in the one or more computer-readable media, for each of the tracked interactions, one or more interaction parameters comprising at least the document-element identifier of the interacted-with document element;
using one or more hardware processors, computing interaction metrics for document portions each consisting of one or more of the document elements, each interaction metric comprising an interaction count for the respective document portion; and
updating a web page rendering the document to include heat-map data reflecting the computed interaction metrics.

US Pat. No. 10,558,711

DEFINING DYNAMIC TOPIC STRUCTURES FOR TOPIC ORIENTED QUESTION ANSWER SYSTEMS

International Business Ma...

1. A method for dynamically defining a plurality of topics from at least one content object used to answer a question in a question answering system, the method comprising:receiving the at least one content object;
receiving, from a user, ground truth data comprising a plurality of question-answer pairs, wherein the user identifies a plurality of answer topics associated with the plurality of question-answer pairs;
identifying the plurality of topics within the received at least one content object;
generating a graph based on the identified plurality of topics, wherein the generated graph includes a plurality of nodes connected by a plurality of edges, and wherein the plurality of nodes map to the identified plurality of topics;
calculating edge weights associated with each edge within the plurality of edges based on the received ground truth data;
determining if the calculated edge weight associated with an edge within the plurality of edges exceeds a threshold value, wherein the threshold value dynamically increases based on a number of nodes between a first node and an analyzed node in the generated graph, and wherein the edge is connected to the analyzed node; and
generating a combination topic based on determining that the edge weight associated with the edge within the plurality of edges exceeds the threshold value by including a first topic mapped to the first node and a second topic mapped to the analyzed node within the generated combination topic.

US Pat. No. 10,558,710

SHARING SERVER CONVERSATIONAL CONTEXT BETWEEN MULTIPLE COGNITIVE ENGINES

International Business Ma...

1. A processor-implemented method for determining a server conversational state in an interactive dialog between a server and an administrator, the method comprising:receiving, by a processor, a natural language query statement from a user through a chat interface launched by a management interface;
updating a context map to reflect a context of the received natural language query statement, wherein the context is selected from a group consisting of a cognitive engine within the one or more co-located cognitive engines to route a question, aggregating a plurality of knowledge from a cognitive engine response, rerouting the cognitive engine response, and assigning a cognitive engine within the one or more co-located cognitive engines to appropriately respond to a question, and wherein the context is selected from a group consisting of an infrastructure context, one or more use case categories, an entity context, an operation context, and a success/error context, and wherein the context is maintained in memory in a JavaScript Object Notation format shared across each co-located cognitive engine;
transmitting a request to one or more co-located cognitive engines capable of resolving the received natural language query statement, wherein the request is transmitted through an application programming interface as an extensible markup language file;
processing the transmitted request in each of the one or more co-located cognitive engines, wherein processing the transmitted request cognitively resolves the context;
updating the context map with a resolution operation performed by the one or more co-located cognitive engines, wherein updating the context map comprises reconstructing the context from the context map; and
displaying a response to the user.

US Pat. No. 10,558,709

TECHNIQUES FOR GENERATING INVESTIGATORY-EVENT MAPPINGS USING GRAPH-STRUCTURE TRAJECTORIES

1. A system comprising:one or more data processors; and
a non-transitory computer readable storage medium containing instructions which when executed on the one or more data processors, cause the one or more data processors to perform actions including:
accessing electronic entity data that identifies a set of attributes corresponding to an entity, a particular attribute of the set of attributes representing a condition of the entity;
accessing a graph model, wherein the graph model includes a graph structure that connects a set of nodes and a set of edges, each edge of the set of edges connecting two nodes of the set of nodes, the set of nodes including a plurality of end nodes, each end node of the plurality of end nodes identifying a clinical investigatory event;
identifying a starting node from amongst the set of nodes based on the particular attribute;
generating a set of graph-structure trajectories based on the set of attributes, each graph-structure trajectory of the set of graph-structure trajectories extending from the starting node through one or more edges and to connect to one or more other nodes, wherein an extension of any trajectory through a traversed edge and to connect an edge-contacted node depends on a processing of a criteria group of the edge-contacted node using at least part of the set of attributes;
identifying, for the starting node, a subset of the set of graph-structure trajectories, wherein each trajectory in the subset extends from the starting node through one or more intermediate nodes thereby indicating that a criteria group of each of the one or more intermediate nodes is satisfied with respect to at least one attribute of the set of attributes, wherein each of the subset of the set of graph-structure trajectories terminates at an end node of the plurality of end nodes;
generating event data that identifies, for each trajectory in the second subset, a clinical investigatory event identified by the end node to which the trajectory extends; and
outputting the event data.

US Pat. No. 10,558,708

COGNITIVE MEDIA CONTENT

Cognitive Scale, Inc., A...

15. A hybrid cloud infrastructure comprising:a first cognitive inference and learning system, the first cognitive inference and learning system executing on a first hardware processor of a first information processing system, the first cognitive inference and learning system and the information processing system providing a first cognitive computing function, the first cognitive inference and learning system comprising a plurality of public data sources and a repository of cognitive media content, the first cognitive inference and learning system comprising a hosted cognitive platform, the hosted cognitive platform comprising a hosted cognitive engine, the hosted cognitive engine comprising a hosted insight engine, the hosted cognitive platform being configured for:
receiving streams of data from the plurality of public data sources, the public data sources comprising respective public data repositories;
processing the streams of data from the plurality of public data sources, the processing the streams of data from the plurality of data sources performing data enriching and generating a sub-graph for incorporation into a cognitive graph;
processing the cognitive graph via the hosted insight engine, the processing the cognitive graph providing a plurality of individual hosted cognitive insights for a user, the hosted insight engine using the cognitive graph as a data source to provide the plurality of individual hosted cognitive insights; and,
a second cognitive inference and learning system, the second cognitive inference and learning system executing on a second hardware processor of a second information processing system, the second cognitive inference and learning system and the second information processing system providing a second cognitive computing function, the second cognitive inference and learning system comprising a private, company managed data source and a repository of private cognitive media content, the second cognitive inference and learning system comprising a private cognitive platform, the private cognitive platform comprising a private cognitive engine, the private cognitive engine comprising a private insight engine, the private cognitive platform being configured for:
receiving streams of data from the private, company managed data source, the private, company managed data source comprising a private data repository;
processing the streams of data from the private, company managed data source, the processing the streams of data from the private, company managed data source performing data enriching and generating a sub-graph for incorporation into a private cognitive graph;
processing the private cognitive graph via the private insight engine, the processing the cognitive graph providing a plurality of individual private cognitive insights for a user, the private insight engine using the cognitive graph as a data source to provide the plurality of individual private insights;
generating a composite cognitive insight, the composite cognitive insight being composed of the plurality of individual hosted cognitive insights and the plurality of individual private cognitive insights, the generating orchestrating the private insight engine to generate the composite cognitive insight from the plurality of hosted cognitive insights and the plurality of individual private cognitive insights; and,
providing the composite cognitive insight to the user via a private cognitive application, the private cognitive application presenting the user with the composite cognitive insight as cognitive media content, the cognitive media content being selected from the repository of private cognitive media content by the private cognitive platform.

US Pat. No. 10,558,707

METHOD FOR DISCOVERING RELEVANT CONCEPTS IN A SEMANTIC GRAPH OF CONCEPTS

HYPIOS CROWDINNOVATION, ...

1. A method for identifying in a semantic graph of linked concepts a set of concepts matching a content of a text, the semantic graph of linked concepts being stored in at least one equipment connected to a network, the method comprisinginputting a sample text in natural language at a workstation connected to the network;
performing a semantic analysis of the sample text to extract a set of several initial concepts belonging to the semantic graph;
accessing the equipment to identify a list of candidate concepts in the semantic graph, the candidate concepts being concepts among the linked concepts of the semantic graph that are within a predetermined maximum distance away from an extracted initial concept, said predetermined maximum distance being calculated according to a distance function;
calculating for each candidate concept a proximity score representative of distances between each said candidate concept and each of the several initial concepts extracted from said set, wherein the shorter the distance between each said candidate concept and each of the several extracted initial concepts, the higher its proximity score;
identifying as matching concepts the candidate concepts having the proximity score that is highest among the proximity scores calculated for each candidate concept, wherein the step of identifying a list of candidate concepts in the semantic graph comprises an iterative generation of maxLevel successive concept suburbs, where maxLevel is a value of the predetermined maximum distance, each concept suburb being a subgraph of the semantic graph, a first concept suburb only comprising the linked concepts of the semantic graph that are linked to an initial concept with a first distance calculated according to the distance function, and a kth concept suburb comprising only the linked concepts of the semantic graph that are linked to a concept of a (k?1)th concept suburb, which do not belong to previous concept suburbs with the first distance calculated according to the distance function, the candidate concepts being the linked concepts of the semantic graph that belong to a concept suburb.

US Pat. No. 10,558,706

METHOD AND SYSTEM FOR DETERMINING USER INTERESTS BASED ON A CORRESPONDENCE GRAPH

Oath Inc., New York, NY ...

1. A method, implemented on a computing device having at least one processor, storage, and a communication platform capable of connecting to a network for determining user interest, comprising:obtaining correspondences among a plurality of users;
identifying connections between at least some of the plurality of users based on the correspondences;
constructing a graph based on the identified connections, wherein each of the identified connections has a strength determined based on one or more topics determined from content included within one or more of the correspondences associated with that identified connection, wherein the identified connections do not include connections associated with only unidirectional correspondences;
selecting one or more seed users from the plurality of users based on at least one implied interest derived from the content included within at least some of the one or more of the correspondences associated with the one or more seed users, wherein the at least one implied interest comprises at least one of the one or more topics, wherein the at least one implied interest is classified as a known interest in response to a determination that a confidence level of the at least one implied interest exceeds a confidence threshold, and wherein each of the one or more seed users has at least one known interest; and
determining an interest to be propagated to each of the at least some of the plurality of users based on the graph and the at least one known interest of the one or more seed users.

US Pat. No. 10,558,705

LOW RAM SPACE, HIGH-THROUGHPUT PERSISTENT KEY-VALUE STORE USING SECONDARY MEMORY

Microsoft Technology Lice...

1. A computing device, comprising:at least one memory, and at least one processor, wherein the at least one memory and the at least one processor are respectively configured to store and execute instructions for causing the computing device to perform operations, the operations comprising:
maintaining an index in a primary storage, that correlates data in persistent memory within a secondary storage wherein the primary storage uses one byte per record in the persistent memory independent of a record size; and
mapping a record's key to a slot of the index based on that key, in which there are more possible keys than slots, the slot in the index configured to maintain a pointer to a last written record in a corresponding bucket of one or more records arranged non-contiguously in the secondary storage, in which each record in that slot's corresponding bucket corresponds to a pointer to a previous record in the secondary storage, if the previous record exists, and a key that maps to that slot.

US Pat. No. 10,558,704

SMART ROLLOVER

SAP SE, Walldorf (DE)

6. A system comprising:a memory storing processor-executable instructions; and
a processor to execute the processor-executable instructions to cause the system to:
determine a data type for each column of a database table;
determine, based on the determined data type for each column of the database table, an indication of a size of the database table;
calculate, based on the determined indication of the size of the database table, a start nbit size for a nbit compression process to be used on the database table;
specify, the calculated start nbit size for the nbit compression process; and
compress the database table by executing the nbit data compression process using the specified start nbit size.

US Pat. No. 10,558,703

SIGNAL-TO-NOISE RATIO IMAGE VALIDATION

NCR Corporation, Atlanta...

1. A method, comprising:capturing an image;
cropping the image by removing an entire machine readable code from the image to obtain a cropped image, wherein the cropped image includes a first area surrounding the machine readable code;
comparing, by a processor circuit, the first area of the cropped image to a second area of a validation image to obtain a signal-to-noise ratio of the first area to the second area, wherein the second area of the validation image surrounds a validation machine readable code of the validation image;
obtaining a predetermined threshold value, wherein the threshold value is determined from at least one signal-to-noise ratio for a valid image compared to the validation image and at least one signal-to-noise ratio for an invalid image compared to the validation image; and
determining validity of the image by comparing the signal-to-noise ratio to the threshold value.

US Pat. No. 10,558,701

METHOD AND SYSTEM TO RECOMMEND IMAGES IN A SOCIAL APPLICATION

International Business Ma...

1. A computer-implemented method for recommending images for inclusion in an electronic message, comprising:receiving an uttered phrase from a user, and a face image of the user while the user is speaking the uttered phase, from a client device via a computer network at an analysis server comprising a processor and a memory that stores instructions for the processor, wherein the processor:
performs a speech-to-text process on the uttered phrase;
performs an emotion analysis on the face image;
performs an entity detection process to generate a scenario summary;
performs a query of an image database using the scenario summary and a result of the emotion analysis as inputs to the query;
obtains one or more images based on the query and the result; and
presents the one or more images to a user as available for inclusion in the electronic message.

US Pat. No. 10,558,700

DISPLAY SYSTEM, DISPLAY METHOD IN THE SYSTEM AND DISPLAY PROGRAM FOR USING SOCIAL GRAPH INFORMATION OF USERS OF MULTIPLE APPLICATIONS

GREE, INC., Tokyo (JP)

1. A system comprising:a storage device storing relational information for each of a plurality of application programs on an application program basis, the plurality of application programs including a first application program and a second application program that is different from the first application program, the relational information managing a plurality of user identifiers (IDs) of a plurality of users, first information related to use of an application program of the plurality of application programs, and second information indicating a relationship between a user identified by a user ID and at least one other user of the plurality of users; and
circuitry configured to
establish a first friend relationship between a first user and a second user among the plurality of users in the second application program, based on the relational information corresponding to the second application program; and
in response to a request by the first user from the first application program of the plurality of application programs,
extract at least one user ID of at least one user from the plurality of users, in which the at least one user has established the first friend relationship with the first user in the second application program,
output the extracted at least one user ID to the first application program, and
display, on a client terminal of the first user, information corresponding to at least one of the extracted at least one user ID together with at least one of the first information and the second information for the at least one of the extracted at least one user ID, wherein
a friend relationship is established between two users among the plurality of users for each application program of the plurality of application programs, separately.

US Pat. No. 10,558,699

CLOUD MIGRATION OF FILE SYSTEM DATA HIERARCHIES

Oracle International Corp...

1. A method comprising:receiving, by one or more virtual devices, a first set of data objects stored in a first data object store, the first set of data objects corresponding to a first plurality of logical blocks, the first plurality of logical blocks corresponding to a first instance of a tree hierarchy of an object-based file system, the first data object store configured to process a first set of attributes of at least one data object of the first set of data objects, wherein the first instance of the tree hierarchy comprises:
(a) a first set of logical data blocks corresponding to file data of one or more files represented by the object-based file system, the first set of logical data blocks including a first logical data block storing data contents of a first file of the object-based file system; and
(b) a first set of logical metadata blocks storing metadata attributes of the one or more files represented by the object-based file system, the first set of logical metadata blocks including a first logical metadata block storing one or more metadata attributes of the first file of the object-based file system, wherein the first set of logical data blocks and the first set of logical metadata blocks are stored in separate data objects within the first set of data objects;
determining, by the one or more virtual devices, that a second data object store does not include one or more data objects corresponding to the first instance of the tree hierarchy, wherein the second data object store is configured to process a second set of attributes for at least one of the one or more data objects; and
in response to determining that the second data object store does not include the one or more data objects:
generating, by the one or more virtual devices, a second set of data objects corresponding to a second plurality of logical blocks, the second plurality of logical blocks corresponding to a second instance of the tree hierarchy, wherein the second instance of the tree hierarchy comprises:
(a) a second set of logical data blocks corresponding to the file data of the one or more files represented by the object-based file system, the second set of logical data blocks including a second logical data block storing data contents of the first file of the object-based file system; and
(b) a second set of logical metadata blocks storing metadata attributes of the one or more files represented by the object-based file system, the second set of logical metadata blocks including a second logical metadata block storing the metadata attributes of the first file of the object-based file system, wherein the second set of logical data blocks and the second set of logical metadata blocks are stored in separate data objects within the second set of data objects; and
storing, by the one or more virtual devices, the second set of data objects corresponding to the second instance of the tree hierarchy, within the second data object store.

US Pat. No. 10,558,698

LYRIC PAGE GENERATION METHOD AND LYRIC PAGE GENERATION APPARATUS

TENCENT TECHNOLOGY (SHENZ...

1. A method for generating an interactive lyrics page, the method comprising:at a device having one or more processors and memory:
receiving a lyrics page generation instruction, the lyrics page generation instruction being used for generating a lyrics page of a selected multimedia file list;
obtaining a first lyrics file of a first multimedia file in the multimedia file list and a second lyrics file of a second multimedia file in the multimedia file list;
generating a first interactive lyrics page according to the first lyrics file and the second lyrics file, including overlaying lyrics text from the first lyrics file and lyrics text from the second lyrics file on a single background page;
displaying the first interactive lyrics page;
detecting a first user input directed to the lyrics text from the first lyrics file displayed on the first interactive lyrics page; and
in response to detecting the first user input directed to the lyrics text from the first lyrics file displayed on the first interactive lyrics page:
in accordance with a determination that the first user input is directed to a first sub-portion of the lyrics text from the first lyrics file displayed on the first interactive lyrics page, starting playback of the first multimedia file from a first location corresponding to the first sub-portion of the lyrics text from the first lyrics file; and
in accordance with a determination that the first user input is directed to a second sub-portion of the lyrics text, distinct from the first sub-portion of the lyrics text, from the first lyrics file displayed on the first interactive lyrics page, starting playback of the first multimedia file from a second location, distinct from the first location, corresponding to the second sub-portion of the lyrics text from the first lyrics file; and
detecting a second user input directed to a third sub-portion of the lyrics text from the first lyrics file displayed on the first interactive lyrics page;
in response to detecting the second user input:
starting playback of a karaoke music of the first multimedia file from a third location corresponding to the third sub-portion of the lyrics text from the first lyrics file;
detecting and recoding a voice input of the user together with music accompaniment from the karaoke music of the first multimedia file; and
sharing the first interactive lyrics page to a target platform in response to detecting a sharing operation on the first interactive lyrics page, wherein the first interactive lyrics page for sharing includes an option to playback the recorded voice input of the user together with the music accompaniment from the karaoke music of the first multimedia file.

US Pat. No. 10,558,697

SEGMENTING A SET OF MEDIA DATA USING A SET OF SOCIAL NETWORKING DATA

International Business Ma...

1. A method, in a data processing system, for automated management of a set of media data using a set of social networking data, the method comprising:analyzing the set of media data associated with a media event to determine a meaning of the set of media data;
identifying one or more important points within the media event based on an inflection identified from audio associated with the media event;
collecting the set of social networking data related to the media event;
correlating the set of social networking data related to the media event with the set of media data of the media event;
determining an inflection point within the media event based on a change in the set of social networking data and an important point from the one or more important points within the media event; and
establishing, with respect to the set of media data of the media event, an inflection marker for the inflection point of the media event.

US Pat. No. 10,558,696

SEMANTIC CATEGORY CLASSIFICATION

EBAY INC., San Jose, CA ...

1. A method performed via hardware processing circuitry, comprising:accessing, with one or more processors, a request from a user device to add a publication to a publication corpus and to identify a relevant set of categories of the publication;
generating a publication semantic vector in a semantic vector space based on sequence sematic embedding of at least a portion of the publication, and further based on a first machine learned model;
comparing (i) the publication semantic vector, and (ii) a plurality of category vectors corresponding to respective categories from a plurality of categories, the plurality of category vectors based on a second machine-learned model that projects the plurality of categories into the semantic vector space, to identify one or more closest matches, the plurality of categories being a taxonomy of the publications in the publication corpus;
determining a subset of the plurality of the respective categories being the closest matches with the publication semantic vector;
ranking the subset based on an expected perplexity of each of the categories in the subset and a perplexity of the at least part of the publication, the expected perplexity of each of the categories based on separate perplexities of each sentence of publications included in the respective category; and
causing display, on the user device, of a highest ranked portion of categories in the subset as the relevant set of categories of the publication corpus.

US Pat. No. 10,558,695

WEATHER-BASED NATURAL LANGUAGE TEXT PROCESSING

International Business Ma...

1. A method for performing electronic natural language processing on unstructured data, comprising:extracting relationships between descriptors stored in one or more lists of weather condition descriptors and adverse event descriptors;
generating a data object according to a data model, based on the extracted relationships between the descriptors,
wherein generating the data object according to the data model further comprises generating the data object comprising at least three descriptors, including a weather condition descriptor, an adverse event descriptor, and a medical condition descriptor, wherein the at least three descriptors have a corresponding extracted relationship, and wherein the medical condition descriptor comprises a span of electronic text characters associated with an illness or abnormality;
retrieving a set of candidate unstructured documents comprising instances of the adverse event descriptor and a related weather condition descriptor;
filtering the retrieved set of candidate unstructured documents by selecting candidate unstructured documents that comprise a precautionary measure descriptor; and
displaying the filtered set of candidate unstructured documents on a display device.

US Pat. No. 10,558,694

SEARCH METHOD AND APPARATUS

Baidu Online Network Tech...

1. A search method, comprising:finding a set of first time-effective search queries from a search log, wherein the search log is used to record search queries used by a user during a search, and a time-effective search query is a search query that when used for search, a difference between a publication time of a returned search result and the present time is less than a preset time difference threshold;
selecting, based on the set of first time-effective search queries, search queries meeting one of the following selection requirements as candidate time-effective search queries: included in the search log and semantically associated with the first time-effective search queries in the set of first time-effective search queries; included in the search log and containing a combination of preset keywords, wherein the preset keywords are words with occurrences in the set of first time-effective search queries greater than a preset threshold, and the combination of preset keywords is generated by combining the preset keywords;
processing the candidate time-effective search queries to obtain second time-effective search queries, the processing including one of the following: removing, from the candidate time-effective search queries, candidate time-effective search queries having semantic similarities with respect to the first time-effective search queries less than a preset threshold; removing, from a candidate time-effective search query, words with semantic relevance less than a preset correlation threshold with respect to the candidate time-effective search query; and
performing search with a second time-effective search query, when a search query entered by the user matches the second time-effective search query;
wherein the selecting, based on the set of first time-effective search queries, search queries included in the search log and semantically associated with the first time-effective search queries in the set of first time-effective search queries as a candidate time-effective search queries, comprises:
extracting a first semantic keyword in the first time-effective search queries, and extracting a second semantic keyword of a search query in the search log, the first semantic keyword being a word with a semantic relevance to the first time-effective search queries greater than a first preset semantic relevance threshold, and the second semantic keyword being a word with a semantic relevance to the search queries in the search log greater than a second preset semantic relevance threshold;
determining whether the first semantic keyword matches the second semantic keyword; and
in response to determining that the first semantic keyword matches the second semantic keyword, selecting the search query in the search log as the candidate time-effective search query; and
wherein the combination of preset keywords is generated by the following steps:
finding an event keyword from the set of first time-effective search queries, wherein the event keyword is a word with occurrences in the set of first time-effective search queries greater than a preset threshold, and the numbers of the first time-effective search queries to which the word belongs and the search queries in the search log are both greater than a preset quantity threshold;
finding a keyword for combination in the first time-effective search queries containing the event keyword, wherein the keyword for combination is a word with occurrences in the first time-effective search queries containing the event keyword more than a preset threshold; and
combining the event keyword with the keyword for combination to generate the combination of preset keywords.

US Pat. No. 10,558,693

CONVERSATIONAL BOT TO NAVIGATE UPWARDS IN THE FUNNEL

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:detecting, via a user interface, an interaction between a user and an item;
identifying an attribute associated with the item;
determining a value of the attribute associated with the item;
receiving, from the user, user input comprising unstructured data;
identifying, utilizing a language processing technique, that the unstructured data indicates a sentiment corresponding to the attribute of the item;
identifying a range of values for a search parameter based at least in part on the value of the attribute associated with the item and the sentiment identified from the unstructured data;
generating a set of search parameters to include the range of values of the search parameter;
executing a search using the set of search parameters to identify a set of search results; and
providing the set of search results to the user.

US Pat. No. 10,558,692

MINIMUM COORDINATION PASSAGE SCORING

International Business Ma...

7. A computer-implemented method comprising:obtaining a set of candidate passages in a document collection, each of which candidate passages are potential matches for a query, wherein each candidate passage is characterized by having a lower overlapping terms occurrence than an overlapping terms occurrence in the query;
for each candidate passage in the set, assigning a score by performing the steps of:
determining a set of overlapping terms between the candidate passage and the query;
calculating, for each overlapping term in the set, a first measure of a weight of the term in the query, a second measure of a weight of the term in the candidate passage, and a third measure of a specificity of the term in the document collection;
evaluating a function of the first and second measure to obtain a value reflecting a condition on the relation therebetween; and
determining, based on the value and the first, second and third measures obtained for each of the overlapping terms, a minimum coordination score representing a relative similarity between the candidate passage and the query, wherein said determining the minimum coordination score comprises computing the minimum coordination score of the candidate passage irrespective of other candidate passages, wherein the minimum coordination score is a loose minimum coordination score obtained by a relaxation operation, wherein each of the at least one relaxation parameter is learned individually for each term of the document collection, wherein the score is assigned in accordance with the formula:

wherein p is the candidate passage, wherein q is the query, wherein ?t is a relaxation parameter for a term t, wherein idf is an inverse document frequency of a term in a document collection.

US Pat. No. 10,558,691

SENTIMENT NORMALIZATION BASED ON CURRENT AUTHORS PERSONALITY INSIGHT DATA POINTS

International Business Ma...

1. A method implemented by an information handling system that includes a processor and a memory accessible by the processor, the method comprising:ingesting a plurality of electronic documents into a corpus utilized by a question answering (QA) system, each of the plurality of electronic documents written by one of a plurality of authors;
generating one or more personality profiles corresponding to one or more of the plurality of authors, wherein the generation of each of the personality profiles comprises:
capturing a set of passages written by each of the authors;
performing an author modeling analysis of the set of passages, wherein the author modeling analysis identifies one or more personality traits of each of the authors based on sentiment-based words found in the set of passages; and
classifying each of the authors' personality profiles into one or more personality clusters, wherein each of the personality clusters is associated with one or more sentiment-based words;
analyzing the plurality of electronic documents, wherein the analysis includes performing a normalized sentiment analysis of the plurality of electronic documents resulting in normalized sentiment scores pertaining to each of the plurality of electronic documents, and wherein performing the normalized sentiment analysis comprises performing the following for each of the plurality of electronic documents:
generating a sentiment score pertaining to a textual passage included in the electronic document;
retrieving a personality profile corresponding to the document's author, wherein the retrieved personality profile includes a personality insight pertaining to the document's author; and
adjusting the generated sentiment score based on the personality insight, wherein the adjusting results in a normalized sentiment score associated with the corresponding electronic document that is stored in a data store accessible to the QA system;
receiving, at the question answering system, a sentiment-based question; and
generating, by the QA system, a qualitative set of one or more candidate answers from the plurality of ingested electronic documents, wherein the candidate answers are responsive to the sentiment-based question, and wherein the candidate answers are based in part on the normalized sentiment scores retrieved from the data store.

US Pat. No. 10,558,690

MULTIPLE SUB-STRING SEARCHING

International Business Ma...

1. A computer program product comprising:a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising:
program instructions to receive a search query of an original text, wherein:
the search query comprises a plurality of sub-strings including a first sub-string of a first length and a second sub-string of a second length; and
the first length is different than the second length;
program instructions to determine a number of different sub-string lengths present within the plurality of sub-strings;
program instructions to allocate a hash array having a number of entries, wherein the number of entries is based on (i) the determined number of different sub-string lengths and (ii) a character length of the original text;
program instructions to populate the hash array with a plurality of hash values, wherein:
the plurality of hash values are generated using: (i) a first rolling hash function equal to the first length, and a second rolling hash function equal to the second length; and
each of the plurality of hash values corresponds to a portion of the original text;
program instructions to compute a plurality of sub-string values based, at least in part, on the plurality of sub-strings; and
program instructions to determine whether each of the plurality of sub-strings occurs in the original text based on searching the hash array for the plurality of sub-string values.

US Pat. No. 10,558,689

LEVERAGING CONTEXTUAL INFORMATION IN TOPIC COHERENT QUESTION SEQUENCES

International Business Ma...

1. A computer-implemented method for leveraging coherent question sequences, the method comprising:receiving an initiating question;
receiving a subsequent question;
determining that the received subsequent question is not a rephrasing of the received initiating question;
determining that the received subsequent question is not beginning a new question topic based on determining that the received subsequent question is not a rephrasing of the received initiating question, by analyzing words in both the received subsequent question and the received initiating question using a hidden variable technique;
propagating a conversational context based on determining that that received subsequent question is not beginning a new question topic;
generating and scoring an answer based on the propagated conversational context; and
outputting the answer.

US Pat. No. 10,558,688

NATURAL LANGUAGE INTERFACE FOR DATA ANALYSIS

ARIMO, LLC, Mountain Vie...

1. A method for processing of natural language queries, the method comprising:storing, by a data analysis system, a plurality of natural language query templates created by users of a domain, each natural language query template comprising components including one or more attributes of a dataset, natural language keywords, and information describing order of the components, the stored plurality of natural language query templates specific to the domain;
storing, for each natural language query template of at least some of the stored natural language query templates, one or more query intents associated with the natural query template, each of the query intents describing an operation to convert data using instructions corresponding to one of a plurality of user defined metrics that are specific to the domain, each of the plurality of user defined metrics compatible with a set of attributes of data, wherein at least two or more different natural language phrases are commonly associated with one of the query intents;
configuring for presentation, a user interface for receiving a natural language query;
receiving, via the user interface, an input query string;
initializing a current query string to be the input query string;
incrementally building a target natural language query based on the current query string by:
matching the current query string against the plurality of stored natural language query templates,
identifying the attributes of data specified by the current query string,
determining that the attributes of data specified by the current query string are compatible to a particular user defined metrics that is specific to the domain,
determining alternative suggestions for each matching query template, each alternative suggestion for a natural language query based on the matching query template, at least one of the alternative suggestion comprising a particular query intent that represents the operation to convert data using the instructions corresponding to the particular user defined metric,
sending one or more alternative suggestions for presentation to the user, and
receiving a selection of the at least one of the alternative suggestions that includes the particular query intent to modify the current query string;
and
generating a database query correspond to the target natural language query;
retrieving data stored in a database in accordance with the database query;
performing the operation associated with the particular query intent included in the selected alternative suggestion to convert the retrieved data based on the instructions corresponding to the particular user defined metric; and
presenting converted data in a format that is different from the data stored in the database.

US Pat. No. 10,558,687

RETURNING SEARCH RESULTS UTILIZING TOPICAL USER CLICK DATA WHEN SEARCH QUERIES ARE DISSIMILAR

International Business Ma...

1. A method of re-ranking search results by utilizing topical click data in an environment where search result queries are ostensibly dissimilar, the method comprising:determining, with a first host device, a preliminary result [R] comprising a plurality of preliminary results of a search query [Q];
determining, with the first host device, a plurality of topics [T1, Tn] that are representative of the search query [Q], wherein the plurality of topics [T1, Tn] are each single word topics, wherein the single word topic [T1] is weighted as being more representative of the search query [Q] relative to the single word topic [Tn];
retrieving, with the first host device, topical click data of a single word topic that is most representative of the search query [Q], wherein retrieving topical click data of the single word topic that is most representative of the search query [Q] comprises:
attempting to retrieve, with the host device processor, topical click data [C1] of the single word topic [T1] that is weighted as more representative of the search query [Q];
determining, with the host device processor, that no topical click data [C1] of the single word topic [T1] exists; and
subsequent to determining that no topical click data [C1] of the single word topic [T1], retrieving, with the host device processor, topical click data [Cn] of the single word topic [Tn], wherein retrieving topical click data [Cn] of the single word topic [Tn] comprises: reading a topical data structure from a storage device of the first host device, wherein the topical data structure consists of the topical click data [Cn], the topic [Tn], the preliminary result [R], and the search query [Q]; and
sending the topical data structure to a second host device connected to the first host device by a network;
determining, with the second host device, a relevance value [V] of each of the plurality of preliminary results of the preliminary result [R] utilizing the topical click data [Cn];
sending, with a second host device, the relevance value [V] of each of the plurality of preliminary search results of the preliminary result [R] to the first host device via the network; and
re-ranking, with the first host device, the order of the plurality of preliminary search results of the preliminary result [R] based upon the relevance value [V] of each of the plurality of preliminary search results.

US Pat. No. 10,558,686

BUSINESS INTELLIGENCE SYSTEM DATASET NAVIGATION BASED ON USER INTERESTS CLUSTERING

SAP SE, Walldorf (DE)

1. A method for implementation by one or more data processors forming part of at least one computing device, the method comprising:receiving, in a graphical user interface forming part of an end-user layer of a business intelligence system, first user-generated input by a user comprising a partial query, the first user-generated input comprising at least one initial token;
determining, by a data warehouse layer of the business intelligence system, at least one additional token to recommend for the query;
displaying, in the graphical user interface, the determined at least one additional token;
receiving, in the graphical user interface, second user-generated input by the user selecting one or more of the at least one additional token;
generating, by the data warehouse layer, a final query based on the received second user-generated input; and
initiating, by the data warehouse layer, retrieval of data implicated by the final query;
wherein:
features are extracted from each of a plurality of observations associated with historical queries, the observations each comprising: (i) a corresponding keyword query, (ii) suggestions provided in connection with such query, and (iii) a corresponding chosen query;
similarity measures are defined, using at least one machine learning model using supervised classification, for the extracted features that assign a weight to each of the extracted features;
the similarity measures are used with a clustering algorithm to group the observations into clusters;
the determining is based on clusters.

US Pat. No. 10,558,685

SHARING INFORMATION IN A MULTI-TENANT DATABASE SYSTEM

salesforce.com, inc., Sa...

1. A method, comprising:maintaining, by a multi-tenant database system, first data in a first section of the multi-tenant database system reserved for a first tenant comprising at least a group of users and second data in a second section of the multi-tenant database system reserved for a second tenant comprising at least a different group of users, wherein the first data includes a first object, wherein the second tenant does not have access to the first object via the multi-tenant database system, and wherein the multi-tenant database system is remotely located from the groups of users associated with the first and second tenants;
in response to receiving, from the first tenant, a request to send a connection request to establish a connection with the second tenant, the multi-tenant database system sending the connection request to the second tenant, wherein the connection request specifies one or more data fields of the first object to be shared;
in response to receiving an acceptance of the connection request from the second tenant, establishing the connection between the first tenant and the second tenant;
creating, by the multi-tenant database system, a second object in the second section of the multi-tenant database system; and
responsive to a change made to the specified one or more data fields of the first object in the first section, updating, by the multi-tenant database system, one or more data fields of the second object stored in the second section.

US Pat. No. 10,558,684

AUDITING DATABASE ACCESS IN A DISTRIBUTED MEDICAL COMPUTING ENVIRONMENT

International Business Ma...

1. A method of auditing database access in a distributed medical computing environment, the method comprising:receiving, by an audit manager responsive to a user query of one or more databases within the distributed medical computing environment, results of the query;
determining by the audit manager, in dependence upon audit policies for the medical computing environment, whether any portion of the results of the query smaller than the entire results of the query require auditing access before presenting to the user, any portions of the results of the query to the user, the audit policies specifying one of several actions to take in response to one or more conditions, the one or more conditions including presence of one or more specific fields and absence of one or more specific fields in the results of the query; and
in response to a determination that any portion of the results of the query require auditing access:
storing an audit record in an audit database, wherein the audit record comprises data identifying the query, the user from which the query is received, and the portions of the query results that caused the results to require auditing access, wherein the audit database only includes audit records,
transmitting the audit record to a predetermined auditing facility to be stored, and
withholding, from the user, the portions of the results of the query requiring auditing access by redacting the portions of the results of the query requiring auditing access and presenting certain portions of the results of the query anonymously to the user; and
providing a notification of the query if any portion of the results of the query require auditing access, wherein the notification is a message sent to a predetermined location designated for auditing database queries.

US Pat. No. 10,558,683

SELECTION OF A START TIME FOR A PERIODIC OPERATION

Oracle International Corp...

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:identifying a particular period of time during which a first operation is to be executed;
identifying a plurality of candidate start times within the particular time period for executing the first operation;
computing a first time difference between (a) a scheduled start time of a second operation and (b) a first candidate start time of the plurality of candidate start times;
computing, based at least on the first time difference, a first cost for scheduling the first operation at the first candidate start time;
computing a second time difference between (a) the scheduled start time of the second operation and (b) a second candidate start time of the plurality of candidate start times;
computing, based at least on the second time difference, a second cost for scheduling the first operation at the second candidate start time;
responsive at least to determining that the first cost is lower than the second cost, selecting the first candidate start time for scheduling the first operation.

US Pat. No. 10,558,682

CROSS MEDIA RECOMMENDATION

SPOTIFY AB, Stockholm (S...

1. A system for cross-media recommendation, comprising:a first database operable to store a plurality of taste profiles corresponding to a first domain;
a second database operable to store a plurality of media item vectors corresponding to a second domain; and
at least one processor configured to:
generate a training set based on the plurality of taste profiles and the plurality of media item vectors, wherein at least a portion of the training set includes ground truths across different domains;
apply an evaluation taste profile in the first domain to a plurality of models generated based on a relationship among the plurality of taste profiles and the plurality of media item vectors, wherein the plurality of models are trained based on the training set; and
obtain a plurality of resulting codes corresponding to at least one of the plurality of media item vectors in the second domain, wherein a plurality of weighted term vectors are generated by multiplying, for each term in a taste profile of the plurality of taste profiles, an affinity by a probability that the term is associated with a media item.

US Pat. No. 10,558,681

AUTOMATED COMPUTER VISUALIZATION AND INTERACTION WITH BIG DATA

Socrata, Inc., Seattle, ...

1. A computer implemented method in a computing system for automatically presenting a large data set for visualization and/or searching, the data set comprising a plurality of data records related to a designated topic, each data record representable as a row of data and having an associated plurality of attributes, each associated attribute, when present in a data record, representable as an attribute value in a column of data and having a data type, the method comprising:determining which attributes of the data set are to be presented for visualization based upon the designated topic;
for each determined attribute to be presented,
under control of the computing system, automatically determining, without further user input, based upon the data type of the determined attribute, a particular user interface presentation to display on a display device associated with the computing system,
wherein the user interface presentation is one of a user interface card showing a histogram or distribution chart, a user interface card showing a search input control, a user interface card showing a map, a user interface card showing a bar, column, or pie chart, or a user interface card showing a timeline, and
wherein, when the attribute value is text, a further determination of cardinality of a value for an attribute is made, and when the cardinality is below a threshold value, a respective user interface card presenting a bar chart or column chart is presented and when the cardinality is above a threshold value, a respective user interface card presenting a search input control is presented, wherein the search input control is configured to receive a keyed entry from a user, and wherein the keyed entry is a text string; and
under control of the computing system, automatically generating a visualization of the determined attribute according to the automatically determined user interface card, the visualization including data from each of the plurality of data records that contains an associated attribute value for the determined attribute; and
under control of the computing system, automatically resizing the generated visualizations and presenting the resized visualizations on the display device to show all determined user interface cards on the display at once.

US Pat. No. 10,558,680

EFFICIENT DATA RETRIEVAL IN BIG-DATA PROCESSING SYSTEMS

International Business Ma...

1. A method, in a data processing system comprising at least one processor and at least one memory, the at least one memory comprising instructions executed by the at least one processor to cause the at least one processor to implement operation optimization in the data processing system, the method comprising:responsive to a request from an application to load data from a storage system via a input/output (I/O) load operation, prior to loading the data from the storage system, searching, by the processor, transformed data in a local memory to identify data that matches the requested data;
responsive to identifying transformed data in the local memory that matches the requested data, using, by the processor, the transformed data in the local memory to fulfill the request;
responsive to failing to identify transformed data in the local memory that matches the requested data, searching, by the processor, untransformed data in the local memory to identify data that matches the requested data;
responsive to identifying untransformed data in the local memory that matches the requested data, using, by the processor, the untransformed data in the local memory to fulfill the request; and
responsive to failing to identify untransformed data in the local memory that matches the requested data, loading, by the processor, the requested data from the storage system via the I/O load operation.

US Pat. No. 10,558,679

SYSTEMS AND METHODS FOR PRESENTING A TOPIC-CENTRIC VISUALIZATION OF COLLABORATION DATA

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

1. A method of presenting a topic-centric visualization of collaboration data that is associated with a plurality of persons, comprising:at a computing device with a display, one or more input devices, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:
obtaining a set of topics based on an analysis of the collaboration data, wherein the collaboration data indicates co-authorship in a collection of documents;
displaying, on the display, an interactive visualization that includes first user interface elements that correspond to each topic in the set of topics, wherein the first user interface elements are positioned on the display such that first user interface elements corresponding to similar topics are close together;
receiving, via the one or more input devices, a user selection of a specified time period for the interactive visualization;
in response to receiving the user selection of the specified time period, identifying a subset of the plurality of persons that are associated with the specified time period;
obtaining (a) a first set of connections between the set of topics and the subset of the plurality of persons, wherein each connection in the first set of connections is associated with a person-topic similarity score that indicates similarity of a respective person of the subset of the plurality of persons to a respective topic in the set of topics during the specified time period and (b) a second set of connections between related persons in the subset of the plurality of persons, wherein each connection in the second set of connections is associated with a person-person similarity score that indicates similarity, based on co-authorship in the collection of documents for the specified time period, of a respective related person of the related persons to a different respective related person of the related persons during the specified time period;
displaying second user interface elements, including a respective second user interface element, that correspond to each person in the subset of the plurality of persons;
for each connection in the first set of connections and the second set of connections, updating the interactive visualization to include a visual representation of the connection;
receiving a new user selection, via the one or more input devices, to display an interactive visualization for a new time period, distinct from the specified time period;
in response to receiving the new user selection, determining that a respective connection in the first set of connections is associated with an updated person-topic similarity score that is specific to the new time period, wherein the updated person-topic similarity score is distinct from a respective person-topic similarity score that is associated with the respective connection during the specified time period; and
replacing the interactive visualization for the specified time period with the interactive visualization for the new time period, including:
moving the respective second user interface element of the displayed second user interface elements to a new position on the display in accordance with the updated person-topic similarity score so as to position the respective second user interface element nearer to similar topics and similar persons based on co-authorship in the collection of documents for the new time period; and
updating a respective visual representation of the respective connection based on the new position.

US Pat. No. 10,558,678

MULTI-REPRESENTATION STORAGE OF TIME SERIES DATA

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:an engine receiving time series data;
the engine referencing a first input to create from the time series data, a first representation comprising a first covered time period and a first error bound;
the engine storing the first representation within a first storage medium;
the engine referencing a second input to create from the time series data, a second representation differing from the first representation in a second covered time period and in a second error bound; and
the engine storing the second representation.

US Pat. No. 10,558,677

VIEWING AND EDITING CONTENT ITEMS IN SHARED FOLDER BACKED INTEGRATED WORKSPACES

Dropbox, Inc., San Franc...

1. A method comprising:generating, by a content management system, a shared-folder backed workspace graphical user interface that provides an integrated environment for manipulating content items in a shared folder of the content management system and communicating with authorized users of the shared folder, wherein each authorized user device includes a local folder stored thereon, the local folder synchronized with the shared folder, the workspace graphical user interface including representations of the content items stored in the shared folder and a chat message stream that includes chat messages generated by the authorized users of the shared folder;
receiving, by the content management system, a first message indicating a selection of one of the representations of the content items stored in the shared folder;
in response to receiving the first message, generating a prompt to select one of a plurality of options for viewing a selected content item, where the plurality of options includes viewing a preview image of the selected content item and viewing the selected content item in a native application installed on a client device;
receiving, by the content management system, a second message indicating a selected option for viewing the selected content item;
in response to determining that the second message comprises the option to view the preview image of the selected content item, generating an editable preview of the selected content item within the chat message stream of the workspace graphical user interface;
identifying, by the content management system, one or more edits performed on the selected content item via the editable preview window;
synchronizing, by the content management system, the one or more edits performed on the selected content item with a local copy of the selected content item stored in the local folder of each authorized user device; and
updating, by the content management system, the editable preview of the selected content item to include the one or more edits.

US Pat. No. 10,558,676

SEARCH ACROSS MULTIPLE USER INTERFACES

Oath Inc., New York, NY ...

1. A method, comprising:receiving a search query from a user of a computing environment hosting a browser comprising a plurality of browser tab user interfaces populated with content;
identifying the plurality of browser tab user interfaces as being currently populated with the content;
executing a query confined to the content populated within the plurality of browser tab user interfaces using the search query to identify search results for the search query from content within the plurality of browser tab user interfaces that correspond to the search query; and
providing the search results, identifying matching content populated within the plurality of browser tab user interfaces, to the user, wherein the search results comprise a first search result indicative of first matching content from a first browser tab user interface of the plurality of browser tab user interfaces of the browser and a second search result indicative of second matching content from a second browser tab user interface of the plurality of browser tab user interfaces of the browser.

US Pat. No. 10,558,675

SYSTEMS AND METHODS FOR CAPTURING IMAGES WITH AUGMENTED-REALITY EFFECTS

Facebook, Inc., Menlo Pa...

1. A method, by a computing device, comprising:capturing, using a camera of the computing device, a plurality of frames of a live scene;
generating a plurality of preview frames for an augmented scene by applying one or more augmented reality effects to the plurality of frames of the live scene, wherein each preview frame is based on a low-resolution image of the live scene, and wherein the low-resolution image has a lower resolution than a maximum resolution of the camera of the computing device;
storing at least one preview frame of the plurality of preview frames with the one or more augmented reality effects into a storage of the computing device;
displaying a live preview of the augmented scene using the plurality of preview frames;
receiving a request from a user of the computing device to capture an image of the augmented scene while the live preview is being displayed;
retrieving, in response to the request, the at least one preview frame stored in the storage of the computing device; and
outputting the retrieved at least one preview frame.

US Pat. No. 10,558,674

METHODS AND APPARATUS FOR DETERMINING A MOOD PROFILE ASSOCIATED WITH MEDIA DATA

Gracenote, Inc., Emeryvi...

1. A method comprising:accessing, from a database, a first mood vector that describes first media data and specifies a first mood-value pair, the first mood-value pair assigning a first value to a first mood;
accessing, from the database, a second mood vector that describes a second media data and specifies a second mood-value pair, the second mood-value pair assigning a second value to a second mood;
retrieving a first score that quantifies congruency between the first and second moods, the first score being retrieved from a data structure that correlates the first and second moods;
using a processor, generating a second score that quantifies congruency between the first and second mood vectors, the generating the second score being based on the accessed first and second values and the retrieved first score; and
based on at least the generated second score, providing an indicator to an application.

US Pat. No. 10,558,673

TECHNIQUES FOR PROSPECTIVE CONTACT RANKING OF ADDRESS BOOK ENTRIES

FACEBOOK, INC., Menlo Pa...

1. A computer-implemented method, comprising:receiving a prospective contact display prompt from a client application on a client device associated with a user, the client application associated with a user account;
receiving an address book from the client device, the address book external to the client application, the address book comprising a plurality of address book entries;
determining a prospective contact list based on the address book, the prospective contact list comprising a plurality of prospective contacts;
determining a proxy messaging affinity between the user and each of the plurality of prospective contacts;
determining a ranking weight for each of the plurality of prospective contacts based at least in part on the determined proxy messaging affinity;
generating an ordered prospective contact list by ordering the prospective contact list based on the ranking weight for each of the plurality of prospective contacts; and
sending the ordered prospective contact list to the client application on the client device, and
wherein the determining of the proxy messaging affinity between the user and each of the plurality of prospective contacts comprises determining one or more existing contacts with the client application for the user account and determining a messaging affinity between the user and each of one or more linking contacts of the one or more existing contacts, and
wherein the messaging affinity between the user and each of the one or more linking contacts is used as the proxy messaging affinity between the user and each of the plurality of prospective contacts.

US Pat. No. 10,558,672

SYSTEM AND METHOD FOR EXECUTING QUERIES ON MULTI-GRAPHICS PROCESSING UNIT SYSTEMS

OmniSci, Inc., San Franc...

1. A method of performing a database query on a computer system comprising a plurality of graphics processing units, the method comprising:identifying a topology of the computer system, regarding a number of the graphics processing units in the plurality;
receiving a request comprising the database query and an express or implied specification of a data source;
parsing the request to identify at least one component of the database query;
computing an allocation of a plurality of portions of the data source across each of the plurality of graphics processing units;
at each of the plurality of graphics processing units, applying each of the at least one component of the database query parsed to the portion of the data source allocated to the respective graphics processing unit to produce at least one set of results at each of the plurality of graphics processing units;
consolidating at least one of the at least one set of results of each of the plurality of graphics processing units by at least one central processing unit or graphics processing unit of the computer system comprising the plurality of graphics processing units to produce a consolidated set of results; and
outputting the consolidated set of results.

US Pat. No. 10,558,671

MODIFIED REPRESENTATIONAL STATE TRANSFER (REST) APPLICATION PROGRAMMING INTERFACE (API) INCLUDING A CUSTOMIZED GRAPHQL FRAMEWORK

ServiceNow, Inc., Santa ...

1. A system, comprising:a data center hosting a representational state transfer (REST) server in communication with a client network, wherein the REST server includes a GraphQL schema describing tables and fields of a communicatively coupled database, and wherein the REST server is configured to:
receive a REST request from a client device disposed on the client network, wherein the REST request includes a GraphQL query;
open a streaming connection to the client device on the client network;output a beginning of a REST response to the client device via the streaming connection;process the GraphQL query based on the GraphQL schema to generate a GraphQL result and output the GraphQL result in a body of the REST response via the streaming connection; and
output an end of the response via the streaming connection, wherein the REST response is in JavaScript Object Notation (JSON).

US Pat. No. 10,558,670

SMART TUPLE CONDITION-BASED OPERATION PERFORMANCE

International Business Ma...

1. A method for processing a stream of tuples, the stream of tuples located in a stream-based computing environment designed to process big-data continuously and in real-time, the method comprising:receiving, by a stream application, a stream of tuples to be processed by a plurality of processing elements operating on one or more hardware compute nodes of the stream application, the tuples of the big-data set being processed before being recorded into a final destination, wherein at least one tuple of the stream of tuples contains one or more embedded segments of software code, wherein the stream application utilizes programmatic conventions to provide context to big-data using a structured language, wherein the programmatic conventions select a subset of information regarding millions of records as those records are generated, and wherein the stream application triggers actions every few milliseconds based on traditional program statements applied every hundred microseconds;
assigning, one or more processing cycles to the one or more segments of software code embedded in the at least one tuple of the stream of tuples;
determining, by the one or more processing cycles, a condition is met; and
performing, based on the determined condition and by the one or more processing cycles, an operation on the stream application.

US Pat. No. 10,558,669

RECORD MATCHING SYSTEM

National Student Clearing...

1. A system for improved efficiency of batch processing of incoming data records, the system comprising:at least one server; and
a database of records;
wherein the at least one server is configured to:
receive incoming data records;
store the incoming data records in a request table;
cleanse the incoming data records;
generate a plurality of match codes for each of the incoming data records;
compare the match codes of the incoming data records to predetermined match codes of the records in the database by utilizing a series of sequential matching strategies, wherein the series of sequential matching strategies reduces a computational load of the at least one server by comparing one match code at a time to match codes of the records in the database to identify a subset of potential matches,
weigh the records in the subset of potential matches; and
identify from the subset of potential matches any record that meets a threshold value,
wherein the series of sequential matching strategies further comprises:
comparing a first match code to the database of records to identify a subset of potential matches;
proceeding to a subsequent search strategy when comparing a first match code returns no potential matches; and
comparing a second match code to the database of records to identify a subset of potential matches.

US Pat. No. 10,558,668

RESULT SET OUTPUT CRITERIA

International Business Ma...

1. A method comprising:modifying a structured query language (SQL) query to include an offset criteria comprising a first set of text;
executing the modified SQL query such that a result set comprising a first number of instances is retrieved from a database; and
outputting a portion of the result set to a user interface based on the offset criteria and in response to executing the modified SQL query;
wherein the portion of the result set comprises an initial instance and a terminal instance and each respective instance of the result set located between the initial instance and the terminal instance;
wherein the portion of the result set comprises a second number of instances being less than the first number of instances; and
wherein the initial instance of the portion of the result set contains a set of text matching the first set of text of the offset criteria.

US Pat. No. 10,558,667

SYSTEM AND METHOD OF HEALTHCARE DATA MANAGEMENT

NaviNet, Inc., Boston, M...

1. A method of managing healthcare data, comprising:collecting healthcare data of at least one patient in a first healthcare database operated by a computer, the computer being controlled by a server;
storing the collected healthcare data in a second healthcare database operated by the server;
detecting changes in the healthcare data of the at least one patient stored in the first healthcare database in real time;
in response to one or more of the detected changes, creating a delta file corresponding to the at least one patient, the delta file including only the one or more detected changes in the healthcare data of the at least one patient and associated minimum information necessary to synchronize the healthcare data between the computer and the server;
in response to each delta file being created, synchronizing the healthcare data between the computer and the server according to the at least one patient, wherein synchronizing healthcare data comprises:
transmitting the delta file to the server; and
updating the healthcare data of the at least one patient stored in the second healthcare database based on the delta file; and
preventing the computer from accessing the collected healthcare data stored in the second healthcare database.

US Pat. No. 10,558,666

SYSTEMS AND METHODS FOR THE CREATION, UPDATE AND USE OF MODELS IN FINDING AND ANALYZING CONTENT

Trendkite, Inc., Austin,...

1. A non-transitory computer readable medium to store instructions that, when executed by a processor, cause the processor to:access a data store, the data store storing content comprising a set of articles, an index to the set of articles, and an ontology including entities and relationships between the entities;
determine a first entity and a second entity based on an article in the set of articles;
determine proximity data for the first entity and the second entity in the article,
determine an entity score for the first entity;
save the entity score in the data store, wherein the entity score is associated with the article and with the first entity;
determine a relationship between the first entity and the second entity based on the article;
determine a strength value for the relationship, the strength value based on the proximity data, frequency data, and time data;
update the ontology with the strength value for the relationship;
receive a search entity through a search interface, the search entity corresponding to the first entity;
determine an initial set of articles based on the index, the search entity, and the ontology, the initial set of articles including a first search article and a second search article, wherein the first search article and the second search article reference the first entity;
determine a first score for the first search article based on a frequency of appearance of the first entity in the first search article and a frequency of appearance of the second entity in the first search article multiplied by the strength value for the relationship between the first entity and the second entity;
determine a second score for the second search article based on a frequency of appearance of the first entity in the second search article and a frequency of appearance of the second entity in the first search article multiplied by the strength value for the relationship between the first entity and the second entity;
rank the initial set of articles based on the first score and the second score; and
return the ranked initial set of articles through the search interface.

US Pat. No. 10,558,665

NETWORK COMMON DATA FORM DATA MANAGEMENT

International Business Ma...

1. A computer-implemented method of Network Common Data Form (NetCDF) data management using a shared pool of configurable computing resources, the method comprising:building, to access a set of NetCDF data, a processing engine by:
compiling a data frame software framework, wherein a set of implementation code to access the set of NetCDF data are introduced to a data frame reader module and a data frame writer module,
compiling a Java library software framework from a Unidata tool, and
compiling, to form the processing engine as a set of computing objects, an Apache Spark framework;
receiving, by the processing engine, the set of NetCDF data;
establishing, using the processing engine, a set of established data derived from the set of NetCDF data by:
storing metadata that indicates a dimension quantity of NetCDF data, a unique dimension set quantity of NetCDF data, and a variable quantity of NetCDF data,
arranging a group of dimensions in a row-major format to have a group of in-sequence individual dimension sets,
creating an index for a specific dimension set of the group of in-sequence individual dimension sets, and
organizing a group of variables in a column-major format to have a group of in-sequence variable values which correspond to the group of in-sequence individual dimension sets, wherein a set of variable-length offsets are traversed using a hybrid columnar technique for locating a variable of the group of variables related to a particular dimension of the group of dimensions;
processing, in a distributed fashion using the shared pool of configurable computing resources and the processing engine, a set of operations on the set of established data, wherein the set of operations include a Select operation, an Aggregate operation, a mapping operation, and a join operation;
transforming, using the processing engine, the set of NetCDF data to the set of established data, wherein the set of established data has a tuple-table format; and
enabling, using a custom adapter, a set of Structured Query Language (SQL) operations on the set of established data.

US Pat. No. 10,558,664

STRUCTURED CLUSTER EXECUTION FOR DATA STREAMS

Databricks Inc., San Fra...

1. A system for executing a streaming query, comprising:an interface configured to:
receive a logical query plan; and
a processor configured to:
determine a physical query plan based at least in part on the logical query plan, wherein the physical query plan comprises an ordered set of operators, wherein each operator of the ordered set of operators comprises an operator input mode and an operator output mode, wherein the operator input mode or the operator output mode comprise one of: a complete mode, an append mode, a delta mode, or an update mode, wherein the complete mode processes all of the input data and outputs the entire result of the physical query plan, wherein the delta mode incrementally outputs results at user specified intervals comprising instructions to only add a row to an output table or delete a row from the output table, wherein the append mode incrementally outputs results at user specified intervals comprising instructions to only output a new row to the output table and does not output instructions to delete a row from the output table, and wherein the update mode incrementally outputs results at user specified intervals comprising instructions to output a new row to the output table and is able to output modifications to only a set of rows of the output table; and
execute the physical query plan using the operator input mode and the operator output mode for each operator of the query.

US Pat. No. 10,558,663

AUTOMATED APPLICATION OF QUERY HINTS

SAP SE, Walldorf (DE)

1. A non-transitory machine-readable medium storing a program executable by at least one processor of a computing device, the program comprising sets of instructions for:in response to receiving a first query for a set of data from a first application, generating a first query execution plan based on the first query;
executing the first query execution plan in order to generate a first result set comprising the set of data;
sending the first result set to the first application;
storing the first query execution plan in a cache;
accessing a storage storing a first mapping between a query hash value and a first query hint and a second mapping between a query statement pattern and a second query hint;
upon determining that the hash value of the first query matches the query hash value of the first mapping, replacing the first query execution plan in the cache with a second query execution plan, wherein the second query execution plan comprises the first query hint applied to the first query execution plan;
upon determining that the first query includes a string that matches the query statement pattern of the second mapping, replacing the first query execution plan in the cache with a third query execution plan, wherein the third query execution plan comprises the second query hint applied to the first query execution plan;
in response to receiving a second query for the set of data from a second application, retrieving one of the second and third query execution plans that replaced the first query execution plan from the cache;
executing the one of the second and third query execution plans in order to generate a second result set comprising the set of data; and
sending the second result set to the second application.

US Pat. No. 10,558,662

TRANSFORMING A USER-DEFINED TABLE FUNCTION TO A DERIVED TABLE IN A DATABASE MANAGEMENT SYSTEM

International Business Ma...

1. A computer-implemented method for transforming a user-defined table function (UDTF) to a derived table in a database management system (DBMS), the method comprising:detecting, by the DBMS, that a query indicates the UDTF;
constructing, from the UDTF, a derived table which is derived from a set of statements of the UDTF;
introducing, to the query, the derived table to fulfill the UDTF; and
generating, by the DBMS in response to introducing the derived table in the query, a query plan for the query.

US Pat. No. 10,558,661

QUERY PLAN GENERATION BASED ON TABLE ADAPTER

SAP SE, Walldorf (DE)

1. A system comprising:at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:
receiving, at a database execution engine, a query from an application, the database execution engine interfacing the application and further interfacing a plurality of database management systems, the database execution engine including a query optimizer configured to generate a query plan, a query execution engine configured to execute at least a portion of the query plan, and an interface to a plurality of table adapters;
generating, by the database execution engine, the query plan for execution of the query, the query requiring at least one table at one or more of the plurality of database management systems, the at least one table corresponding to a table adapter of the plurality of table adapters;
calling, by the database execution engine, the table adapter of the plurality of table adapters, the table adapter including metadata and a method to prepare at least one table object for the at least one table;
receiving, by the database execution engine, the at least one table object prepared by the table adapter;
while awaiting execution of the query plan, storing, in cache, the at least one table object and code associated with the query plan; and
executing, by the database execution engine, the cached code and the cached at least one table object, the executing of the cached at least one table object including opening the at least one table at one or more of the plurality of database management systems and returning to the database execution engine data associated with at least one table.

US Pat. No. 10,558,660

REDUNDANT GROUP BY AND DISTINCT REMOVAL

Oracle International Corp...

14. A method of removing a DISTINCT keyword from a query block of a query, comprising:generating a first set of one or more first tables that have a non-null unique column that appears on a SELECT clause that contains the DISTINCT keyword;
generating a second set of one or more second tables in the query block that are not included in the first set;
for each second table in the second set:
determining that the query block includes a filtering join with a first table in the first set and said each second table;
in response to determining that the query block includes a filtering join with a first table in the first set and said each second table, moving said each second table from the second set to the first set;
determining whether the second set is empty;
in response to determining that the second set is empty, removing the DISTINCT keyword and all aggregate functions from the query block;
wherein the method is performed by one or more computing devices.

US Pat. No. 10,558,659

TECHNIQUES FOR DICTIONARY BASED JOIN AND AGGREGATION

ORACLE INTERNATIONAL CORP...

1. A method comprising:receiving a query that aggregates a measure column of a fact table based on an aggregate function and joins the fact table with a dimension table on a join key column, wherein data of the fact table is stored in one or more storage data units:
each storage data unit storing a respective data portion of the fact table,
the respective data portion comprising one or more column vectors corresponding to one or more columns of the fact table,
each cell element of the one or more column vectors of said respective data portion corresponding to a corresponding row and a corresponding column, of the one or more columns, of the fact table, said each cell element, of the one or more column vectors, comprising a respective dictionary encoded value of a corresponding value at the corresponding column and at the corresponding row, wherein the respective dictionary encoded value is mapped to the corresponding value of said each element by a respective dictionary data structure of the corresponding column;
in response to receiving the query, for a particular data storage unit of the one or more data storage units:
based on the query, identifying a fact join key vector of the one or more column vectors of the particular data storage unit and a fact join key dictionary data structure corresponding to the fact join key vector;
generating a dictionary-grouping key mapping based on the fact join key dictionary data structure and a dense grouping key data structure, the dense grouping key data structure representing a mapping of a plurality of unique dimension join key values of the join key column of the dimension table to grouping key values of a grouping key of the dimension table;
for each measure cell element in a measure column vector that corresponds to said measure column:
selecting a dense grouping key value corresponding to a respective cell element of the fact join key vector,
selecting a respective measure value for said each measure cell element, and
associating the respective measure value with said dense grouping key value;
aggregating the measure column vector in said particular data storage unit by aggregating the respective measure value with other measure values that are associated with the same said dense grouping key value; and
wherein the method is performed by one or more computing devices.

US Pat. No. 10,558,658

PROPAGATION OF STRUCTURED QUERY LANGUAGE ASSOCIATIONS

SAP SE, Walldorf (DE)

1. A computer implemented method, comprising:determining, based at least on a syntax of a structure query language (SQL) create view statement, that a SQL association requires propagation to a SQL view associated with the SQL create view statement, the SQL association combining data from at least a first data model and a second data model at a database, and the SQL view comprising at least a portion of the combined data;
generating an association information data structure storing information corresponding to a definition of the SQL association;
in response to determining that the SQL association requires propagation, generating an association propagation data structure storing an association propagation information, the generating of the association information data structure comprises populating the association propagation data structure with the information corresponding to the definition of the SQL association, and the information corresponding to the definition of the SQL association including a name of the association, a schema of the first data model, a name of the first data model, a schema of the second data model, a name of the second data model, a join condition, and a type of join; and
executing, based on the association information data structure, the SQL create view statement.

US Pat. No. 10,558,657

DOCUMENT CONTENT ANALYSIS BASED ON TOPIC MODELING

Amazon Technologies, Inc....

1. A computer-implemented method for facilitating document search based on topic modeling, the method comprising:causing a display device to present a search section in a user interface, the search section configured to receive a search query and initiate a search on a collection of documents based on the search query;
causing the display device to present the topic modeling section adjacent to the search section in the user interface, the topic modeling section configured to present one or more topics comprising one or more of a plurality of topic words extracted through topic modeling from one or more documents in search results generated based on the search query wherein presenting the one or more of a plurality of topic words comprises:
determining dimensions of a topic modeling section in the user interface;
determining a maximum number of topic words that can be presented in the topic modeling section based on the dimensions of the topic modeling section;
selecting the one or more topic words from the plurality of topic words such that a number of the selected topic words does not exceed the maximum number of topic words; and
causing the display device to present the selected topic words in the topic modeling section in the user interface;
causing the display device to present a search result section adjacent to the topic modeling section in the user interface, the search result section configured to present the search results that comprise the one or more documents that satisfy the search query;
receiving, from a user input device, user input indicating a user selection from the one or more topics presented in the topic modeling section of at least one of the topics and addition of the at least one of the topics to the search query in the search section to thereby form an updated search query; and
in response to receiving the updated search query,
initiating another search in the collection of documents based on the updated search query,
receiving updated search results,
updating the one or more topics based on the updated search results,
causing the display device to present the updated search results in the search result section, and
causing the display device to present the updated topics in the topic modeling section.

US Pat. No. 10,558,656

OPTIMIZING WRITE OPERATIONS IN OBJECT SCHEMA-BASED APPLICATION PROGRAMMING INTERFACES (APIS)

INTUIT INC., Mountain Vi...

1. A method for processing write requests across a plurality of data repositories, the method comprising:receiving a write request from a client device identifying a plurality of nodes in a graph projection of an object schema-based application programming interface (API);
traversing the graph projection of the object schema-based API to identify a navigable path through the graph projection of the object schema-based API based on an order in which the plurality of nodes are identified in the write request;
verifying that the write request comprises a valid request by determining that the navigable path through the graph projection of the object schema-based API comprises a continuous path through the graph projection of the object schema-based API and that the write request includes parameters specified in a schema defining each node in the navigable path through the graph projection of the object schema-based API;
generating a plurality of subqueries to satisfy the write request, wherein each subquery is generated based on an object schema definition associated with a node in the navigable path through the graph projection of the object schema-based API; and
while traversing the navigable path through the graph projection of the object schema based API to execute the write request, for a current node of the navigable path through the graph projection of the object schema-based API:
identifying one or more nodes of the plurality of nodes in the navigable path through the graph projection of the object schema-based API sharing an association with a data repository associated with the current node and upon which execution of a write operation associated with the current node depends;
coalescing a set of subqueries associated with the current node and the identified one or more nodes into a single subquery directed to the data repository associated with the current node; and
executing the single subquery to perform write operations for the current node and the identified one or more nodes at the data repository associated with the current node.

US Pat. No. 10,558,655

DATA QUERY METHOD SUPPORTING NATURAL LANGUAGE, OPEN PLATFORM, AND USER TERMINAL

HUAWEI TECHNOLOGIES CO., ...

1. A data query method supporting a natural language, the method comprising:receiving, by an open platform, a natural language query statement sent by a user terminal, and transforming the natural language query statement into a query statement that is recognizable by a third-party content provider, wherein the natural language query statement is generated after the user terminal receives a query request described by a user in the natural language;
sending, by the open platform, the query statement that is recognizable to one or more third-party content providers;
receiving, by the open platform, one or more query response messages returned by the one or more third-party content providers according to the query statement that is recognizable; and
sending, by the open platform, the one or more query response messages to the user terminal, wherein when the open platform receives multiple query response messages returned by multiple third-party content providers, sending, by the open platform, the multiple query response messages to the user terminal comprises:
sending, by the open platform, the multiple query response messages to the user terminal according to bidding ranks of the multiple third-party content providers; or
determining, by the open platform, a matching degree between a query response message returned by each of the third-party content providers and the natural language query statement; and sending, by the open platform, the multiple query response messages to the user terminal in descending order of the matching degree between the multiple query response messages and the natural language query statement, wherein the matching degree comprises at least one of the following: a distance matching degree, a price matching degree, or a product matching degree.

US Pat. No. 10,558,654

DELTAITERATORS IN DATABASE SYSTEMS

SAP SE, Walldorf (DE)

1. A computer-implemented method comprising:for each of a plurality of delta parts of a database that store values of an attribute of a database table, coordinating simultaneous traversal through an identified set of values within each delta part of the plurality of delta parts, wherein the traversal of each value of the set of values within each delta part is performed once using a delta iterator assigned to, and configured to only interact with, a particular delta part, wherein subclasses of a delta iterator data object class implementing the delta iterator are configured to be aware of non-empty delta parts of the plurality of delta parts to avoid repeated checks of each delta part for existence or emptiness, and wherein the simultaneous traversal further comprises:
identifying a current value in the identified set of values corresponding to each delta part;
identifying, a critical value among the identified current values, wherein the critical value is identified based on results of a value comparison performed between each two of the identified current values and determination results of a determination of whether each of the identified current values is the smallest value among the identified current values, and wherein at least one critical value is deduced based on the results and the determination results to minimize the use of computation resources to perform unnecessary value comparisons;
setting the critical value as a value of a coordinating delta iterator; and
identifying a next value in one or more of the identified set of values corresponding to each delta part, wherein the delta iterator assigned to a particular delta part is iterated to point to the next value of the identified set of values corresponding to each delta part based on a variable value based on the results of the value comparisons performed when identifying the critical value.

US Pat. No. 10,558,653

DYNAMIC, VARIABLE-DATA ATTRIBUTE DATA SERVICE

SAP SE, Walldorf (DE)

1. A computer system comprising:memory;
one or more hardware processors coupled to the memory; and
one or more computer-readable media storing computer-executable instructions that, when executed by the computer system, cause the computer system to perform operations comprising:
receiving a request from a client application to access data stored in a database system, the database system being located remotely to a computing device on which the client application is executing;
from a stored plurality of data model templates, determining a data model template associated with the request, the data model template having a configuration value and specifying at least one object comprising one or more properties, at least one property of the one or more properties having at least a first attribute, the configuration value specifying a default data type for the at least a first attribute;
based at least in part on information included in the request, determining a first data type in which the at least one property should be instantiated to execute the request;
instantiating the at least one object as a first instantiated object with the at least one property instantiated with the determined first data type;
sending the request to the database system for execution;
receiving execution results for the request from the database system, the execution results comprising a value having a second data type;
determining that the second data type is not compatible with the first data type;
instantiating, based at least in part on the determining, the at least one object as second instantiated object with the at least one property instantiated with the second data type;
assigning the value to the at least one property of the second instantiated object; and
sending the execution results to the client application in a third data type, wherein the third data type can be the same as the first data type or the second data type.

US Pat. No. 10,558,652

MERGING MULTIPROVIDERS IN A DATABASE CALCULATION SCENARIO

SAP SE, Walldorf (DE)

1. A system, comprising:at least one data processor; and
at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:
executing, at a database, a calculation scenario, the calculation scenario including a parent multiprovider that aggregates data from a child multiprovider, and the execution of the calculation scenario includes determining a total quantity of data records aggregated by the parent multiprovider by at least
determining whether the child multiprovider aggregates data from a part provider and/or another multiprovider,
mapping a first count keyfigure of the child multiprovider to a first sum keyfigure of the parent multiprovider in response to the child multiprovider aggregating data from the part provider but not from the other multiprovider, the first count keyfigure corresponding to a first quantity of data records the child multiprovider aggregates from the part provider but not from the other multiprovider, and the first sum keyfigure corresponding to a second quantity of data records the parent multiprovider aggregates from the child multiprovider but not from one or more part providers,
mapping a second sum keyfigure of the child multiprovider to the first sum keyfigure of the parent multiprovider in response to the child multiprovider aggregating data from the other multiprovider but not from the part provider, the second sum keyfigure corresponding to a third quantity of data records the child multiprovider aggregates from the other multiprovider but not from the part provider, and
mapping the first count keyfigure of the child multiprovider to a second count keyfigure of the parent multiprovider and the second sum keyfigure of the child multiprovider to the first sum keyfigure of the parent multiprovider in response to the child multiprovider aggregating data from the part provider and the other multiprovider, the second count keyfigure corresponding to a fourth quantity of data records the parent multiprovider aggregates from the part provider but not from one or more other multiproviders.

US Pat. No. 10,558,651

SEARCH POINT MANAGEMENT

Splunk Inc., San Francis...

1. A computer-implemented method for executing search queries, the method comprising:causing, by at least one processor, display to a user interface of at least one event of a first result set from a first pipelined search on events at an event source, each event comprising a time stamp and a portion of machine data, the first pipelined search using a data processing pipeline defined by a query;
receiving, by the at least one processor and from the user interface, a selection of a command to use to extend the first pipelined search in a second pipelined search corresponding to the data processing pipeline with an extended portion that comprises the selected command;
in response to the selection of the command, analyzing, by the at least one processor, the selected command and at least one command of the first pipelined search to select between executing the second pipelined search on the event source or the first result set;
based at least in part on the analyzing, selecting, by the at least one processor, the first result set; and
based on the selecting being of the first result set, causing, by the at least one processor, display to the user interface of at least one event of a second result set from the execution of the second pipelined search on the first result set.

US Pat. No. 10,558,650

ENHANCED BATCH UPDATES ON RECORDS AND RELATED RECORDS SYSTEM AND METHOD

International Business Ma...

1. A computer-implemented method comprising:receiving, by a computing device, a selection of a set of records to edit in a multi-record update operation, wherein receiving the selection of the set of records to edit in the multi-record update operation includes at least one of creating a query that selects one or more desired records from the selection of the set of records, and selecting a subset of the selection of the set of records from an existing query and creating the query from the selection of the set of records, wherein creating the query from the selection of the set of records includes obtaining a new result set with the received selection of the set of records;
receiving a selection of at least one record of the set of records on which to capture one or more changes, wherein the at least one record includes a field having a link that references the set of records as being related, wherein the at least one record of the set of records is linked to at least one new related record, wherein, upon using a create activity user interface button to create the at least one new related record, a new form is rendered and displayed on the user interface via a pop-up window, wherein one or more changes to a field of the new form relative to the new related record are captured inside a single operation block;
capturing at least one aspect of the at least one record of the set of records, wherein capturing the at least one aspect of the at least one record of the set of records includes capturing at least one aspect of at least one related record that is related to the at least one record of the set of records; and
playing back the at least one aspect on the remaining records of the set of records based upon, at least in part, the field having the link that references the set of records as being related, wherein playing back the at least one aspect on one or more remaining records of the set of records includes enabling a user to adjust the play back of the at least one aspect on the remaining records of the set of records, and wherein playing back the at least one aspect on one or more remaining records of the set of records includes playing back the at least one aspect of the at least one related record, wherein the at least one aspect played back on the one or more remaining records of the set of records is played back in a same order in which each aspect is captured.

US Pat. No. 10,558,649

DATABASE SERVER SYSTEM MONITORING

International Business Ma...

1. A method for monitoring a database server system, the method comprising:transmitting a compressed monitoring description via a database request over a computer network to the database server system to store the monitoring description into a database, wherein the monitoring description comprises executable code for performing a monitoring operation and metadata related to the executable code, and wherein a monitoring task has restricted access privileges within the database server system and uses the metadata to choose a procedure for executing the code, and wherein storing the monitoring description includes receiving the monitoring description and writing it to a file on a storage arrangement, the file being external to the database;
determining whether the monitoring description has been stored into the database, wherein the database is a relational database and comprises a first table for storing the monitoring description and a second table for storing at least one result value;
in response to determining that the monitoring description has been stored into the database, performing the monitoring operation specified in the monitoring description; wherein the monitoring operation includes determining a set of characteristics of the database server system, the set of characteristics including the amount of free system memory available, the processor load of one or more processors, temperature, and the amount of free storage space available on the storage arrangement; and wherein the monitoring operation yields the one or more result values; and wherein the monitoring operation is performed by the monitoring task located in a first virtual memory address space, wherein the first virtual memory address space is separate from a second virtual address space within which database operations are performed on the database server system; wherein the database operations include deleting the one or more result values from fields within the database according to a predetermined amount of time after the one or more result values have been inserted into the database; and wherein the monitoring task checks whether the file has been updated to obtain the monitoring description by submitting a monitoring description request to obtain the monitoring description stored in the database; and wherein the monitoring task further comprises executing the executable code of the monitoring description;
submitting a monitoring result request to insert the one or more result values into the database; and
transmitting the one or more result values over the computer network, wherein software is provided as a service in a cloud environment to establish database connections between the database server system and one or more clients.

US Pat. No. 10,558,648

SERVICE OUTAGE TIME REDUCTION FOR A PLANNED EVENT IN A SYSTEM

International Business Ma...

1. A method comprising:storing, by an on-line system, information related to changed data in response to an existing transaction with a first database of the on-line system being conducted during a planned period, and data in the first database being changed by the transaction, wherein information related to the changed data comprises an identification code of the transaction with the first database, wherein the planned period is a time period before a planned event, wherein the time period comprises an average time for data synchronization between the first database and a second database of a back-up system plus an additional length of time;
in response to the planned event occurring in which the back-up system with the second database is switched on to set up a new connection and a new transaction with the second database is conducted, wherein the second database is a backup of the first database,
preventing, by the on-line system, a new connection to the on-line system and cancelling an existing transaction with the first database during the planned period, and
sending, by the on-line system, the information related to the changed data to the back-up system;
committing, by the back-up system, the new transaction with the second database in the back-up system, in response to the new transaction being not related to addresses of the changed data according to the information related to the changed data;
routing to the back-up system a new connection and a new transaction with the second database; and
synchronizing, by the on-line system, data between the first database and the second database.

US Pat. No. 10,558,647

HIGH PERFORMANCE DATA AGGREGATIONS

Amazon Technologies, Inc....

1. A method, comprising:obtaining, via at least one computing device, a transaction corresponding to a partition in a data store, wherein the partition represents data associated with a particular user account, and the partition comprises a plurality of time series data aggregations, wherein each of the time series data aggregations identifies a time period and a start time, wherein the transaction further corresponds to at least one of a plurality of transactions processed by at least one of a payment system, an e-commerce platform, or a virtual currency platform;
identifying, via the at least one computing device, a set of the time series data aggregations within the partition having a smallest time period;
identifying, via the at least one computing device, one of the set of the time series data aggregations to assign the transaction based upon a timestamp of the transaction and a respective time period and a respective start time of the one of the data aggregations by determining whether the timestamp falls within the respective time period from the respective start time;
storing, via the at least one computing device, the transaction in the one of the set of data aggregations in response to determining that the transaction has not already been stored in the partition;
calculating, via the at least one computing device, a respective value for the one of the set of data aggregations;
identifying, via the at least one computing device, respective parent aggregations of the one of the set of data aggregations, wherein the respective parent aggregations references at least one respective child aggregation; and
calculating, for each of the respective parent aggregations, a respective value based upon the respective value of the at least one respective child aggregation.

US Pat. No. 10,558,646

COGNITIVE DEDUPLICATION-AWARE DATA PLACEMENT IN LARGE SCALE STORAGE SYSTEMS

International Business Ma...

1. A method for deduplication of data stored in a computer system, the method implemented in the computer system comprising a processor, memory accessible by the processor, computer program instructions stored in the memory and executable by the processor, and data stored in the memory and accessible by the processor, the method comprising:receiving, at the computer system, a volume comprising at least one volume attribute;
generating, at the computer system, a feature vector associated with the volume based on the at least one volume attribute, wherein the feature vector is generated by adding a feature to the feature vector for each of a plurality of deduplication domains, representing a lexical similarity between a name of the volume and volume names in each of the plurality of deduplication domains, determining capacity savings for removing the volume from each of the plurality of deduplication domains, and estimating a deduplication domain having a greatest capacity savings from among the plurality of deduplication domains; and
generating, at the computer system, a recommended placement for the volume into existing deduplication domains using a trained model receiving the feature vector;
wherein the trained model is trained, at the computer system, using a supervised learning algorithm that uses a set of input feature vectors and target variables, wherein the set of input feature vectors are generated, at the computer system, based on a set of existing volume attributes for existing volumes stored in the existing deduplication domains, and wherein the target variables are generated, at the computer system, based on capacity statistics comprise an estimate of physical size in each of the deduplication domains.

US Pat. No. 10,558,645

SYSTEMS AND METHODS FOR AN ENTERPRISE DATA INTEGRATION AND TROUBLESHOOTING TOOL

Level 3 Communications, L...

1. A method of retrieving and presenting integrated data from systems in a network, comprising:receiving, at an enterprise service bus (ESB), a data request for integrated data pertaining to a plurality of applications executed by a plurality of computing systems communicatively coupled to the ESB, wherein the data request includes at least one predefined global data field, wherein the at least one predefined global data field is specific to a computing system of the plurality of computing systems, and wherein the data request is initiated by the computing system;
retrieving a data set including a data value corresponding to the predefined global data field from a first application of the plurality of applications and from a second application of the plurality of applications, at least one of the first or second applications using a different data field from that of the predefined global data field to maintain the data value corresponding to the predefined global data field; and
transmitting the data value corresponding to the predefined global data field for each of the first and second applications to a user interface for display in a comparative format.

US Pat. No. 10,558,644

SOURCE INDEPENDENT QUERY LANGUAGE

Vinyl Development LLC, M...

1. A computer-implemented method, the method comprising:obtaining data from a user interface, the data including a first set of fields and corresponding values;
executing a first executable statement against the data obtained from the user interface, including:
receiving the first executable statement, the first executable statement referencing a second set of fields in a dataset, the first executable statement having instructions to cause a query processor to perform operations on data in the dataset;
generating a second executable statement based on the first set of fields and the first executable statement, comprising:
determining a mapping between the first set of fields and the second set of fields,
specifying a derived dataset using the corresponding values and the mapping; transforming at least some of the corresponding values from the user interface to one or more other values based on the mapping; and
generating instructions comprising at least one proprietary function corresponding to at least one of the operations of the first executable statement, the generated instructions configured to cause the query processor to perform the operations on the derived dataset including the at least one operation; and
sending the second executable statement to the query processor.

US Pat. No. 10,558,643

NOTIFICATIONS SYSTEM FOR CONTENT COLLABORATIONS

Dropbox, Inc., San Franc...

1. A computer-implemented method comprising:identifying, from a plurality of content items associated with a first user account registered at a content management system, selected content items having a follow setting enabled at the first user account, the follow setting comprising a preference to track respective changes to the selected content items, wherein the first user account is associated with a client device;
in response to the follow setting, monitoring, for each of the selected content items, content modification events from one or more second user accounts at the content management system and read-unread status events from the first user account received from the client device;
identifying, for the selected content items, each content modification event that is controlled by a user-defined read-unread status preference and is triggering a different read-unread status than a corresponding current read-unread status set on the first user account;
identifying, for the selected content items, each content modification event that is not controlled by a user-defined read-unread status preference and is triggering a different read-unread status than a corresponding current read-unread status set on the first user account;
modifying the corresponding current read-unread status set on the first user account for the selected content items to the different read-unread status, wherein user-defined read-unread status preferences are given priority over content modification events;
updating the one or more of the selected content items for the first user account to include a visual indication of the different read-unread status;
updating the one or more of the selected content items for the first user account to include a content modification from the one or more second user accounts;
sending, to the client device, synchronization data associated with the content modification from the one or more second user accounts; and
updating, at the client device, the visual indication of the different read-unread status.

US Pat. No. 10,558,642

MECHANISM FOR DEPRECATING OBJECT ORIENTED DATA

BMC Software, Inc., Hous...

1. A computer system comprising:at least one processor; and
a memory storing a data model of a database, the data model including at least a first class and a second class, the memory also storing instructions that, when executed by the at least one processor, cause the system to perform operations comprising:
selecting the second class of the data model as a replacement for the first class,
moving data associated with the first class from data structures associated with the first class in the database to data structures associated with the second class in the database, and
marking the first class as deprecated,
wherein the moving enables operations that access the data structures associated with the second class to access the data associated with the first class.

US Pat. No. 10,558,641

TRIGGER SYSTEM FOR DATABASES USING PROXY

Microsoft Technology Lice...

1. A computer system comprising:at least one processor; and
at least one computer-readable medium having stored thereon machine readable instructions that are executable by the at least one processor to implement a proxy that is positioned between one or more clients and a database, implementing the proxy including at least:
monitoring traffic to and from the database, including monitoring one or more queries to the database from the one or more clients, and monitoring one or more corresponding responses from the database to the one or more clients;
based on monitoring the traffic to and from the database, identifying at least one of:
a query from a client of the one or more clients to the database corresponding to a request to modify the database; or
a response from the database to the client that indicates that the database performed a modification of the database associated with the request;
based on the request being a request to modify the database, or based on the response indicating that the database performed the modification, determining that the request requires a triggering event;
generating the trigger event based on the request, the trigger event indicating the modification of the database associated with the request; and
causing the trigger event to be communicated to at least one client of the one or more clients.

US Pat. No. 10,558,640

DYNAMICALLY ADDING CUSTOM DATA DEFINITION LANGUAGE SYNTAX TO A DATABASE MANAGEMENT SYSTEM

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:receiving, via original Data Definition Language (DDL) syntax of a Database Management System (DBMS), a definition of custom DDL syntax, wherein the custom DDL syntax comprises a custom DDL statement and wherein the custom DDL statement conflicts with an original DDL statement of the DBMS;
receiving a reference to a programming module implementing a custom behavior applicable to the custom DDL statement;
storing in a global catalog of the DBMS metadata describing the custom DDL syntax;
receiving a first DDL statement that utilizes the custom DDL syntax, wherein the first DDL statement is an instance of the custom DDL statement;
reading from the global catalog the metadata describing the custom DDL syntax;
processing, using a computer processor, both original DDL syntax and the custom DDL syntax, wherein processing the custom DDL syntax includes processing the first DDL statement according to the metadata and wherein the processing the first DDL statement according to the metadata comprises executing the programming module, responsive to receiving the first DDL statement being an instance of the custom DDL statement; and
prioritizing the custom DDL statement over the original DDL statement, wherein the custom DDL statement supplants the original DDL statement.

US Pat. No. 10,558,639

OBJECTS COMPARISON MANAGER

SAP SE, Walldorf (DE)

1. A method, comprising:receiving, by a processor, a request to compare two versions of an object, including a saved version of the object on a disk and a modified version of the object in a memory;
determining a user-defined schema comprising an object-oriented class definition corresponding to the object, the user-defined schema comprising instructions associated with performing a comparison of the two versions of the object;
comparing data between the two versions of the object based on the user-defined schema, wherein data of the modified version of the object varies from data of the saved version of the object;
determining, as a result of the comparison, a data variation between the data of the modified version and the data of the saved version of the object; and
saving, to the disk, the data variation between the two versions of the object such that saved version corresponds to the modified version.

US Pat. No. 10,558,638

PERSISTENT DATA STRUCTURES ON A DISPERSED STORAGE NETWORK MEMORY

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,558,637

MODULARIZED DATA DISTRIBUTION PLAN GENERATION

SAP SE, Walldorf (DE)

1. A system comprising:a memory storing processor-executable process steps; and
a processor to execute the processor-executable process steps to cause the system to:
receive, via a user interface, user input specifying a profile of a plan generation environment, wherein the plan generation environment is associated with its own one or more module interfaces that are to be used and defining parameters of each of the one or more module interfaces, each of the one or more module interfaces associated with a respective one of a plurality of software steps to be performed for generating a database table partition redistribution plan that defines database table partitions and locations of the database table partitions on multiple database hosts, wherein the plurality of software steps comprises:
determining a plurality of database table partitions;
for each of a first subset of the plurality of database table partitions, determining a first plurality of associated database tables;
determining a number of partitions for each of the first plurality of associated database tables;
determining a location on one of a plurality of database hosts for each of the number of partitions of each of the first plurality of associated database tables; and
determining to stop generation of the database table partition redistribution plan via a stoppage step, wherein the system executes the plan generation environment and one or more plan generation step modules associated with the stoppage step to determine to stop generation of the database table partition redistribution plan; and
determine the one or more plan generation step modules for each plan generation step based on the plan generation environment;
instantiate a plan generation environment based on the user input received, exposing the one or more module interfaces;
identify, for the one or more module interfaces, an associated one or more plan generation step modules for performing the software step associated with the at least one module interface; and
execute the plan generation environment and the identified one or more plan generation step modules to generate the database table partition redistribution plan, wherein a first one of the plan generation step modules determines partition metadata from a data source and a second one of the plan generation step modules reads a batch of partition information from the data source and groups the batch of partition information into groups of tables that exhibit a relation with one another and determines an order in which the groups of tables will be processed;
wherein the two or more plan generation step modules are identified for performing the step of determining the plurality of database table partitions, and wherein execution of the step of determining the plurality of database table partitions comprises pipelining the two or more plan generation step modules.

US Pat. No. 10,558,636

INDEX PAGE WITH LATCH-FREE ACCESS

SAP SE, Walldorf (DE)

1. A computer-implemented method, comprising:receiving a request from a read query to access one or more records of a database table implementing an index on one or more columns of the table, wherein the index comprises an index page that includes a slot array and a header comprising an update pointer;
locating one or more updates prepended to the index page by locating a most recently prepended update indicated by the update pointer;
generating a local offset table with entries updates in the slot array and the located one or more updates;
determining an isolation level that indicates whether the read query is precluded from accessing new prepended updates received after the read query; and
providing latch-free access to the one or more records to the read query from the local offset table based on the isolation level, wherein an update query has concurrent access to the one or more records;
while performing the accessing, concurrently applying an update from an update query by prepending the update to the located one or more updates;
determining to regenerate the local offset table for the read query based on the isolation level and information of each prepended update; and
maintaining the generated local offset table when the isolation level precludes reading the prepended update or records requested by the read access are absent from the information,
wherein at least one of the receiving, locating, generating, and accessing are performed by one or more computers.

US Pat. No. 10,558,635

TRAFFIC DATA STREAM AGGREGATE QUERY METHOD AND SYSTEM

Hohai University, Nanjin...

1. A traffic data stream aggregate query computer-implemented method, comprising the following steps of:collecting mobile object information, and converting the mobile object information into a computer-processible data form to process a data stream when a system timestamp is determined;
generating and updating an index file when the system timestamp is determined;
performing a traffic data stream electronic query on a spatial region r according to a query request SUM(r,ts,te) while generating and updating the index file, extracting a system timestamp of a query time interval [ts,te], and performing spatial aggregate query on each timestamp, wherein performing the spatial aggregate query on each timestamp includes: traversing an index file of the current timestamp, and retrieving aggregate query values of the spatial region in each bucket under the current timestamp using a following expression:

SUM being an aggregate query value of the spatial region r at a (bi)th bucket, Sintr that includes an area of an interacted region of the spatial region r and the (bi)th bucket, fbi that includes an average frequency of the (bi)th bucket at the current timestamp, fbi ?that includes an average frequency of (bi)th bucket at a previous timestamp t?, and vbi that includes a variance of the (bi)th bucket;
processing a summation of the query values of each timestamp to form a final aggregate query value;
determining that the variance of the (bi)th bucket is below a preset threshold; and
performing optimal estimation processing using a Kalman filtering principle to suppress a maximum relative error of anomaly points to improve an availability of the final aggregate query value.

US Pat. No. 10,558,634

MULTI-USER PROBABALISTIC ARRAY

salesforce.com, inc., Sa...

1. A system for a multi-user probabilistic array, the system comprising:one or more processors; and
a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:
generate a first hash value by applying a first hash function, that is received from and uniquely associated with a first system user, to an identifier of a first item, the first item being associated with the first system user;
set a bit corresponding to the first hash value in an array;
generate a second hash value by applying a second hash function, that is received from and uniquely associated with a second system user, to an identifier of a second item, the second item being associated with the second system user;
set a bit corresponding to the second hash value in the array;
generate a third hash value by applying the first hash function to an identifier of a third item, the third hash value being generated in response to receiving a request to determine whether the third item is associated with the first system user;
determine whether a bit corresponding to the third hash value is set in the array; and
cause a message to be outputted, in response to a determination that the bit corresponding to the third hash value is not set in the array, the message specifying that the third item is not associated with the first user.

US Pat. No. 10,558,633

HASH-VALUE-BASED SINGLE-PASS DATA STORE STATISTICS COLLECTION

Teradata US, Inc., San D...

1. A data store system comprising:an array of persistent storage devices configured to store a plurality of data stare tables;
a processor in communication with the array of persistent storage devices, the processor configured to:
select a column of a data store table for statistics collection;
for each column value in the selected column, generate a hash value based on a hash function;
select a first domain of hash values and a second domain of hash values, wherein the second domain is a subset of the first domain;
determine a frequency value for each generated hash value within the first domain;
generate a unique identifier for each hash value that is within the second domain;
determine at least one statistic on the selected column based on the frequency values and the unique identifiers; and
store the at least one statistic for use in a query plan.

US Pat. No. 10,558,632

DATA PROCESSING SYSTEM

SK hynix Inc., Gyeonggi-...

1. A data processing system comprising:a host suitable for managing a plurality of index data, each including a tree structure, wherein respective index data comprises tree level information; and
a memory system comprising a memory and a processor configured for:
receiving the plurality of index data;
classifying the plurality of index data into a plurality of groups, each indicative of a different level of access, through a first sorting operation based on the tree level information and a second sorting operation based on a number of accesses to the respective index data,
wherein the first sorting operation comprises:
checking the tree level information contained in the respective index data, and
sorting the plurality of index data into a leaf group comprising index data having the deepest tree level, a parent group comprising index data connected to the index data included in the leaf group through a parent-child relationship, and a rest group comprising all remaining index data other than the index data included in the leaf and the parent groups;
wherein after the first sorting operation sorts the plurality of index data, the second sorting operation sorts the plurality of index data by comparing the number of accesses for each index data of the plurality of index data to a preset number;
saving the groups into different storage regions having different operating speeds corresponding to the different levels of access respectively; and
accessing each of the groups according to the corresponding access level and operating speed of the corresponding storage region.

US Pat. No. 10,558,631

ENHANCING TEXTUAL SEARCHES WITH EXECUTABLES

International Business Ma...

1. A method comprising:parsing, by a computer, one or more terms from a search query;
searching, by the computer, for a document based on the one or more parsed terms;
identifying and extracting, by the computer, a portion of the document that contains an executable, wherein the executable is an equation;
displaying, by the computer, the portion of the document that can form the basis for an executable code and an answer to the search query, wherein the answer to the search query is based on the executed portion of code and displayed alongside results of the search query, thereby improving efficiency and search speed;
associating, by the computer, the one or more parsed terms with corresponding variable names in the identified portion of the document that contains the executable;
generating, by the computer, the executable code, wherein the executable code is based on the one or more parsed terms and the portion of the document that contains the executable;
embedding the executable code in the portion of the document that contains the executable; and
executing, by the computer, the generated executable code using the associated one or more parsed terms, thereby answering the search query.

US Pat. No. 10,558,630

ENHANCING TEXTUAL SEARCHES WITH EXECUTABLES

International Business Ma...

1. A computer program comprising:one or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media, the program instructions comprising:
program instructions to parse one or more terms from a search query;
program instructions to search for a document based on the one or more parsed terms;
program instructions to identify and extract a portion of the document that contains an executable, wherein the executable is an equation;
program instructions to display the portion of the document that can form the basis for an executable code and an answer to the search query, wherein the answer to the search query is based on the executed portion of code and displayed alongside results of the search query, thereby improving efficiency and search speed;
program instructions to associate the one or more parsed terms with corresponding variable names in the identified portion of the document that contains the executable;
program instructions to generate the executable code, wherein the executable code is based on the one or more parsed terms and the portion of the document that contains the executable;
program instruction to embed the executable code in the portion of the document that contains the executable; and
program instructions to execute the generated executable code using the associated one or more parsed terms, thereby answering the search query.

US Pat. No. 10,558,629

INTELLIGENT DATA QUALITY

ACCENTURE GLOBAL SERVICES...

1. A system comprising:a processor;
a data profiler coupled to the processor, the data profiler to:
receive a query from a user, the query to indicate a data quality requirement relevant for data management operations;
obtain target data from a plurality of data sources associated with the data quality requirement; and
implement an artificial intelligence component to:
sort the target data into a data cascade, the data cascade to include a plurality of attributes identified by the artificial intelligence component for the target data, each of the attributes from the plurality of attributes being associated with the data quality requirement, wherein the data cascade includes information about an attribute from the plurality of attributes that is linked to another attribute from the plurality of attributes in a sequential manner; and
identify a combination of attributes from the plurality of attributes for generating a data pattern model, the combination including at least one attribute usable for generating the data pattern model;
a data mapper coupled to the processor, the data mapper to:
implement a first cognitive learning operation to:
determine at least one mapping context associated with the data quality requirement from the data cascade and the data pattern model, the mapping context to include a pattern value from the data pattern model and at least one attribute from the data cascade; and
determine a conversion rule from the data pattern model for each of the mapping context associated with the data quality requirement; and
a data cleanser coupled to the processor, the data cleanser to:
obtain the data pattern model for each attribute associated with the data quality requirement;
obtain the conversion rule determined for each of the mapping context associated with the data quality requirement;
establish a data harmonization model corresponding to the data quality requirement by performing a second cognitive learning operation on the obtained data pattern model domain and the obtained conversion rule;
determine a data harmonization index indicative of a level of harmonization achieved in the target data, wherein the data harmonization index provides a quantitative measure of the quality of target data achieved through the selection of the data pattern model, the conversion rule, and the data harmonization model;
modify at least one of the data pattern model, the conversion rule, and the data harmonization model based on the data harmonization index; and
generate a data cleansing result corresponding to the data quality requirement, the data cleansing result comprising the data harmonization model relevant for resolution to the query.

US Pat. No. 10,558,628

REMOVAL OF GARBAGE DATA FROM A DATABASE

International Business Ma...

1. A method comprising:storing, in a database, a database object in a form of a database table as a plurality of different object portions, wherein each object portion includes plural copies of data tuples of the database table and each copy of a data tuple of the database table includes a corresponding change to data of that data tuple of the database table, and wherein each copy of a data tuple of the database table is associated with a transaction identifier of a database transaction generating the corresponding change to data for that data tuple of the database table;
determining, via a hardware processor, a transaction identifier for an oldest database transaction for which a corresponding copy of the data tuple of the database table remains visible;
determining, via a hardware processor, a threshold amount of data to remove for each object portion stored in the database;
identifying, via a hardware processor, a threshold transaction identifier for database transactions for each object portion such that a set of copies of the data tuples in that object portion have associated transaction identifiers older than the threshold transaction identifier, and wherein an amount of copies of the data tuples in the set corresponds to the threshold amount of data to remove;
examining, via a hardware processor, each object portion and determining object portions with the threshold amount of data to remove by comparing the threshold transaction identifiers for database transactions of those object portions to the determined transaction identifier of the oldest database transaction; and
removing, via a hardware processor, data from the database object in response to a sufficient quantity of the determined object portions containing the threshold amount of data to be removed based on the threshold transaction identifiers being at least as old as the determined transaction identifier of the oldest database transaction.

US Pat. No. 10,558,627

METHOD AND SYSTEM FOR CLEANSING AND DE-DUPLICATING DATA

LeanTaas, Inc., Santa Cl...

1. A computer-implemented method for cleansing and de-duplicating data in a database, the computer-implemented method comprising:identifying garbage records from a plurality of records in the database based on distinct data entries of data fields from each of the plurality of records;
applying cleansing rules to create a cleansed database by removing the garbage records and standardizing the distinct data entries;
for each pair of records in the cleansed database:
generating a similarity vector using one or more string matching algorithms, wherein the similarity vector corresponds to a pairwise comparison of the pair of records and each dimension of the similarity vector represents a similarity score between distinct data entries of one data field of the distinct records; and
labeling the similarity vector as a matched vector, an unmatched vector, or an unclassified vector by applying matching rules to the distinct data entries of the pair of records;
training a machine learning model to identify matched records in the cleansed database by analyzing the labelled similarity vectors labeled as matched vector and unmatched vectors;
applying the machine learning model to the unclassified vectors to label each of the unclassified vectors in the cleansed database as matched vector or unmatched vector;
processing all of the matched vectors in the cleansed database to create clusters of matched records; and
merging the matched records in each cluster to obtain a de-duplicated cleansed database using one or more predefined consolidated rules.

US Pat. No. 10,558,626

MERGING AND UNMERGING OBJECTS USING GRAPHICAL REPRESENTATION

salesforce.com, inc., Sa...

1. A method comprising:generating, by a database system, a graph database corresponding to an object database that includes a plurality of objects, each object having a relationship with one or more other objects in the database, the objects in the object database being represented as nodes of graphs in the graph database, the relationships among the objects in the object database being represented as edges of the graphs in the graph database;
receiving, by the database system, information about a first object and information about a first dimension based on a first relationship associated with the first object; and
performing, by the database system, a merge operation using the information about the first object and the information about the first dimension only on the graph database, the object database remaining unaffected by the merge operation.

US Pat. No. 10,558,625

SYSTEMS AND METHODS FOR INCREASING DATABASE ACCESS CONCURRENCY

Google LLC, Mountain Vie...

1. A method of reading and writing data from a database table, comprising:initiating a write transaction to write data to a first non-key column of a row of the database table, the database table having a plurality of rows, each row comprising a primary key and a plurality of non-key columns;
locking the first non-key column of the row;
determining that a second non-key column of the row is not locked; and
in accordance with the determination that the second non-key column of the row is not locked, initiating a read transaction to read data from the second non-key column, wherein initiation of the read transaction occurs prior to completion of the write transaction;
wherein each non-key column of the plurality of non-key columns includes a last-write timestamp that indicates when the last write occurred for the non-key column.

US Pat. No. 10,558,624

SYSTEM AND METHOD FOR DATASTORE MANAGEMENT FRAMEWORK

SAP SE, Walldorf (DE)

1. A system comprising:at least one processor; and
a non-transitory computer-readable medium storing executable instructions that, when executed, cause the at least one processor to perform operations comprising:
storing a plurality of datastore configuration files, each one of the plurality of datastore configuration files being stored in association with a corresponding one of a plurality of datastore types, and each one of the plurality of datastore configuration files including parameters to be used in rendering a corresponding user interface to be used in creating a datastore of the corresponding one of the plurality of datastore types;
receiving, from a computing device, a first request to create a first datastore, the first request indicating a first datastore type of the plurality of datastore types for the first datastore;
selecting, from the plurality of datastore configuration files, a first datastore configuration file associated with the first datastore type;
parsing the selected first datastore configuration file;
rendering a first user interface for display on the computing device based on the parsing of the selected first datastore configuration file, the rendered first user interface being configured to receive user input from the computing device;
receiving, from the computing device, a first user input via the rendered first user interface;
creating the first datastore based on the received first user input, the first datastore being of the first datastore type indicated by the first request;
receiving a request to add a new datastore type to the plurality of datastore types;
receiving a new datastore configuration file for the new datastore type;
storing the new datastore configuration file for the new datastore type, the new datastore configuration file being added to the plurality of datastore configuration files, and the new datastore type being added to the plurality of datastore types;
receiving metadata for the new datastore type;
storing the metadata in association with the new datastore type; and
displaying, on the computing device, a selectable option to add the metadata to a new datastore based on the new datastore being of the new datastore type.