US Pat. No. 10,114,977

SECURE ACCESS TO INDIVIDUAL INFORMATION

VYRTY Corporation, Issaq...

1. A method in an access device for accessing information associated with an individual and contained by a portable storage device that is in physical proximity to the access device, the method comprising:(a) using a key stored in the access device to decrypt an encrypted private key associated with the individual and contained by the portable storage device;
(b) using the decrypted private key associated with the individual to decrypt information associated with the individual and contained by the portable storage device;
(c) outputting at least a portion of the decrypted information associated with the individual;
(d) receiving from an access device management server a sequence of access device keys, each access device key of the sequence being received in a different communication;
(e) storing all of the received access device keys in the access device; and
(f) attempting to decrypt the encrypted private key associated with the individual and contained by the portable storage device using each of the stored received access device keys until the private key associated with the individual is successfully decrypted.

US Pat. No. 10,114,976

SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR INTERFACING MULTIPLE SERVICE PROVIDER TRUSTED SERVICE MANAGERS AND SECURE ELEMENTS

GOOGLE LLC, Mountain Vie...

1. A system for interfacing between service providers and secure memories, comprising:a mobile computing device, the mobile computing device comprising at least one secure storage;
a service provider computing device; and
one or more computing devices interfacing between the mobile computing device and the service provider computing device, the one or more computing device comprising at least one memory, and a processor communicatively coupled to the at least one memory, wherein the processor executed application code instructions that are stored in the at least one memory to cause the one or more computing device to:
receive, from a service provider computing device, a first request comprising a computing device identifier that corresponds to the mobile computing device;
query the at least one memory for a secure storage identifier that corresponds to the computing device identifier;
transmit the secure storage identifier to the service provider computing device;
receive, from the service provider computing device, a second request based at least in part on the secure storage identifier; and
transmit a third request to a secure storage of the mobile computing device that corresponds to the secure storage identifier, the third request based on the second request received from the service provider computing device.

US Pat. No. 10,114,975

APPARATUS AND METHOD FOR DATA REDACTION IN A SEMI-STRUCTURED DOCUMENT DATABASE

MarkLogic Corporation, S...

1. An apparatus, comprising:a processor; and
a memory connected to the processor, the memory storing instructions executed by the processor to:
store a semi-structured document database including a collection of documents having semi-structured data formats,
define data redaction rules, wherein each data redaction rule includes a redaction type and a path expression to a redaction location within a semi-structured data format of a document within the collection of documents,
apply the data redaction rules to form redacted documents, and
supply the redacted documents.

US Pat. No. 10,114,974

CONTROLLING MEDIA CONSUMPTION PRIVACY SETTINGS

Zhigu Holdings Limited, ...

1. A media server computer system for controlling access to media consumption data, the media server system comprising:an electronic logic subsystem comprising a processor configured to execute instructions; and
an electronic data-holding subsystem comprising memory holding the instructions, the instructions executable by the logic subsystem to
receive, from a client device associated with a user, media consumption data having, for each of a plurality of media content items consumed on the client device, a media content item identifier that identifies the item consumed and an item-specific recommendations status, the item-specific recommendations status comprising a first item-specific recommendations status indicating to provide access to the item to a media content recommendations program and a second item-specific recommendations status indicating not to provide access to the item to the media content recommendations program,
receive, from the media content recommendations program, a request for access to the media consumption data,
for each media content item having the first item-specific recommendations status, provide the media content recommendations program access to the media consumption data for that item, and
for each media content item having the second item-specific recommendations status, not provide the media content recommendations program access to the media consumption data for that item.

US Pat. No. 10,114,973

PROTECTING USER PRIVACY FROM INTRUSIVE MOBILE APPLICATIONS

Google LLC, Mountain Vie...

1. A computer-implemented method performed by a data processing apparatus, the method comprising:receiving a capability request from an application, wherein the capability request is a request for access to data associated with a capability, wherein the data associated with the capability comprises data associated with a computing device or data associated with a user account logged-in to the computing device;
receiving a selection to provide the application with stub data upon receiving a request from the application to access the data associated with the capability, wherein receiving the request for the data associated with the capability comprises intercepting the request for the data associated with the capability intended for an Application Programming Interface associated with the capability or receiving the request for the data associated with the capability at an Application Programming Interface associated with the capability, wherein the stub data comprises data that is responsive to the request for the data associated with the capability and is not actual user data, wherein the actual user data comprises data that is accurately responsive to the request for the data associated with the capability;
generating the stub data to be provided to the application instead of the actual user data when the application requests the data associated with the capability, wherein the provision of the stub data prevents the application from accessing the actual user data when the application requests access to the data associated with the capability;
storing the stub data;
generating random stub data after a specified interval of time; and
automatically changing the stub data to the random stub data after the specified interval of time.

US Pat. No. 10,114,972

INTELLIGENT DATABASE WITH SECURE TABLES

International Business Ma...

1. A method, comprising:determining that a received query comprising a plurality of selection predicates requests values of sensitive data stored in a secure database table of a database;
determining that a first selection predicate of the plurality of selection predicates does not specify at least one of a plurality of specific values stored in the secured database table;
evaluating a plurality of possible values for each selection predicate of the plurality of selection predicates other than the first selection predicate;
determining that each of the plurality of possible values for each selection predicate is evaluated as a true value;
computing a security score for the received query based on the first selection predicate of the received query not specifying the at least one of the plurality of specific values stored in the secured database table and that each of the plurality of possible values for each selection predicate other than the first selection predicate is evaluated as a true value;
determining that the security score exceeds a security threshold value; and upon determining that the security score exceeds the security threshold value, performing, by a database management system (DBMS) executing on a computer processor, a predefined operation to restrict access to the requested values of the sensitive data.

US Pat. No. 10,114,971

INTERLINKING ROUTINES WITH DIFFERING PROTECTIONS USING STACK INDICATORS

INTERNATIONAL BUSINESS MA...

1. A computer program product for facilitating execution of routines of a computing environment, said computer program product comprising:a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for performing a method comprising:
determining by a called routine executing on a processor of the computing environment whether a caller routine supports guard word protection, the called routine being called by the caller routine and supporting guard word protection, the guard word protection protecting against malicious code injection or execution attack;
based on determining that the caller routine supports guard word protection, verifying by the called routine a guard word stored in a stack frame of the caller routine; and
based on determining that the caller routine lacks support for guard word protection, suppressing the verifying by the called routine.

US Pat. No. 10,114,970

IMMUTABLE LOGGING OF ACCESS REQUESTS TO DISTRIBUTED FILE SYSTEMS

ALTR Solutions, Inc., Sa...

1. A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising:receiving, with one or more processors, a request to access a distributed data store, wherein:
the request is a request to read from or write to a unit of content pertaining to a workload application;
the distributed data store stores a plurality of units of content that are each distributed among multiple computing entities hosting different subsets of data of the distributed data store;
each computing entity among the multiple computing entities corresponds to a different host at a different user-space instance of one or more different computing devices; and
each unit of content requires information from a plurality of computing entities to read the respective unit of content;
when writing each unit of content, different portions of information required to access the respective unit of content are written to different ones of the multiple computing entities such that no single one of the multiple computing entities stores all of the information required to access the respective unit of content;
causing, with one or more processors of a computing device configured to participate in combining the information from the plurality of computing entities to access units of content, logging of the request in an entry in a tamper-evident log, wherein the tamper-evident log defines one or more sequences of cryptographic hash values based on earlier logged entries;
storing, with one or more processors, the tamper-evident log in memory;
determining, with one or more processors, whether the tamper-evident log evinces tampering of log entries based on consistency of at least one of the sequences of cryptographic hash values with at least some entries in the tamper-evident log;
determining, with one or more processors, a risk metric based on other access requests documented in the tamper-evident log and the request;
storing, with one or more processors, the risk metric in memory;
determining, with one or more processors, that the risk metric satisfies a threshold; and
in response to the determination, disabling, with one or more processors, a user account associated with the request, wherein disabling a user account associated with the request comprises disabling the user account during an active session in which the user account is authenticated in real time with the determination, wherein:
the tamper-evident log comprises a blockchain having cryptographic hash pointers between sequential blocks of the blockchain and Merkle trees within blocks of the blockchain, the cryptographic hash pointers being based on a cryptographic hash function that implements a Merkle-Damgård hash function;
determining an authoritative entry among a distributed set of instances of the blockchain does not require a proof-of-work from computing devices implementing each of the set of instances;
a given entry in the tamper-evident log comprises:
an identifier of a user account having credentials by which authorization to perform a corresponding database access operation is requested; and
a timestamp of the corresponding database access operation; and
the given entry further specifies a database application program interface command by which the corresponding access operation is expressed.

US Pat. No. 10,114,969

ULTRA-SECURE BLOCKCHAIN-BASED ELECTRONIC INFORMATION TRANSFER SYSTEM

1. A system for secure data file encryption, comprising:a first processor receiving one or more data files from sources exterior to the processor;
a data slicing module slicing the received data files into smaller data segments;
a hashing algorithm hashing the data segments to create a unique blockchain capable identifier for each segment;
an encryption module encrypting each data segment individually;
an upload module uploading each individually encrypted data segment into a blockchain structure, each blockchain maintaining a grid table of the position of data segments of the data files as a whole;
a distribution module transmitting the blockchain structure to a plurality of second processors, each second processor of which is physically separate from said first processor;
a reconstitution module identifying and locating the blockchain structure and reassembling the blockchain structure within said first processor;
a decryption module decrypting the blockchain structure and reconstructing the one or more data files for delivery to a user.

US Pat. No. 10,114,967

CONVERGED MECHANISM FOR PROTECTING DATA

Rubrik, Inc., Palo Alto,...

1. A method of protecting data depending upon importance, the method comprising:identifying a level of importance for each data item of a plurality of data items of a database stored in a primary data storage repository;
tracking changes to the plurality of data items to identify changed data items of the plurality of data items;
aggregating the changed data items using respective ones of a plurality of data protection methods corresponding to the level of importance for each changed data item of the changed data items; and
logging each of the aggregated changed data items to one of a first log in the primary data storage repository or a second log in a secondary storage repository in accordance with the data protection method used for each of the aggregated changed data items,
wherein aggregating the changed data items comprises:
aggregating first data items of the changed data items using a first data protection method of the plurality of data protection methods that aggregates changes more often than a third and fourth method of the plurality of data protection methods aggregate third and fourth data items of the changed data items, respectively, the first data items having a higher level of importance than the third and fourth data items,
aggregating second data items of the changed data items using a second data protection method that aggregates changes more often than the third and fourth methods aggregate changes to the third and fourth data items, respectively, the second data items having a higher level of importance than the third and fourth data items, and
aggregating the third data items using the third method that aggregates changes more often than the fourth method aggregates changes to the fourth data items, the third data items having a higher level of importance than the fourth data items,
wherein the first method comprises performing synchronous replication on the first data items, and
wherein the second method comprises performing Continuous Data Protection (CDP) on the second data items.

US Pat. No. 10,114,965

TECHNIQUES AND SYSTEM TO MONITOR AND LOG ACCESS OF INFORMATION BASED ON SYSTEM AND USER CONTEXT USING POLICIES

NextLabs, Inc., San Mate...

1. A method of managing information comprising:providing an organization having an information management system comprising one or more rules and policy abstractions to manage information of the organization, wherein a rule comprises an expression having a policy abstraction;
within the organization, providing a user at a client and a confidential document managed by the information management system, wherein the client comprises an interceptor code component and a policy engine code component executing on the client, the interceptor code component resides within an operating system layer of the client and is designed to intercept file system library requests received by an operating system installed on the client, and the policy engine code component installed outside of the operating system layer receives information on the intercepted file system library requests; and
when the user at the client attempts to perform an operation on the confidential document, detecting the operation by the interceptor code component by intercepting one or more file system library requests received by the operating system corresponding to the operation, wherein the interceptor code component transfers handling of the document access operation to the policy engine code component, and the policy engine code component evaluates, based on received information associated with the intercepted one or more file system library requests at the operating system by the engine code component installed outside of the operating system layer and the one or more rules, to determine whether to store information regarding the attempted operation in a storage location.

US Pat. No. 10,114,964

ROLE-BASED CONTENT RENDERING

TATA CONSULTANCY SERVICES...

1. A computer implemented method comprising:authenticating a user to access content associated with a metadata driven framework and the metadata driven framework is employed for defining a plurality of content objects for at least one application, the content comprising data and content objects related to one or more applications stored in one or more application data repositories, wherein the authentication is based on login credentials of the user, and wherein:
the content objects include a plurality of user interfaces (UIs) and UI elements to render role-based content of the one or more applications from the one or more application data repositories;
each of the plurality of UIs is associated with an application from the one or more applications and defines a workspace for the user; and
the UI elements include reports, graphs, and charts;
determining, by a processor, an application role associated with the user, wherein the application role defines an access permission for the user to selectively access content of the one or more applications in from the one or more application data repositories, wherein a query is automatically generated, upon authentication of the user, for rendering the content to the user;
identifying, by the processor, one or more of the content objects associated with the determined application role of the user, wherein the identification is based on a mapping of application roles with the content objects and a plurality of rules associated with each of the application roles, the plurality of roles defining access to the content objects for the associated application roles, and wherein the identifying of the one or more of the content objects comprises identifying a plurality of parameters associated with the identified content objects, the plurality of parameters referring to a criteria based on which the content objects are rendered to the user, wherein the plurality of UI elements associated with the user are defined based on access permissible to the user;
providing, by the processor, a plurality of pre-defined tag libraries to the user for defining a custom logic, wherein a tag library is indicative of a set of custom tags that invoke custom actions in a file stored in the one or more application data repositories, said application data repositories configured to receive at least one query from a user device and identify the location in the application data repository which the user device is seeking, wherein the custom logic defines a layout for customizing the identified content objects and the custom logic is written using a plurality of tag libraries pre-defined in the one or more application data repositories;
receiving, by the processor, the custom logic for rendering the identified content objects, based on the at least one application role, wherein the custom logic is defined by using the plurality of pre-defined tag libraries;
rendering, by the processor, the identified content objects accessible to the user based on the defined custom logic and modifying the identified content objects based on users privileges, wherein the custom tag libraries provided by the metadata driven framework enables the user to render data from a plurality of resources by configuring the custom logic to provide a plurality of user inputs on a screen;
associating, by the processor, at least one user defined filter on the rendered content, wherein the user defined filter creates a subset of the rendered content, and configuring a plurality of rules to define and control data access based on at least pre-defined application role wherein the configured plurality of rules secure the identified content objects from unauthorized access;
defining, by the processor a model of the metadata driven framework, wherein at least one of User Interface (UI) and User Interface (UI) elements create a dependency relationship, wherein each UI is mapped with one or more UI elements, and wherein the metadata driven framework is configured to support rendering of data in a plurality of formats, by providing a one-line status within the UI to access further information; and
reading, by the processor, a plurality of user inputs and resizing the one or more UI elements by reading a gesture of an input device, wherein the input device is at least one of a stylus, a hand gesture, or a touch screen.

US Pat. No. 10,114,963

DATA ELEMENT TOKENIZATION MANAGEMENT

WELLS FARGO BANK, N.A., ...

1. A method comprising:receiving, by a tokenization service provider computing system, a file and a redaction service call, the redaction service call comprising selected file content and access information, wherein the selected file content is contained within a coordinate system being X-axis and Y-axis coordinates that define a boundary of an area of the file to be tokenized;generating, by the computing system, a tokenization manifest, the tokenization manifest comprising the selected file content, and a tokenization schema; andtokenizing, by the computing system, the selected file content using the tokenization schema, the tokenization schema replacing the unrestricted file content into a corresponding restricted token, wherein the restricted token comprises embedded information associated with detokenizing the restricted token,
wherein the tokenization schema is a random tokenization schema, wherein the random tokenization schema includes a random determination of the selected file content and an output for the selected file content.

US Pat. No. 10,114,962

GENERATING A STUB FILE CORRESPONDING TO A CLASSIFIED DATA FILE

Alibaba Group Holding Lim...

1. A method, comprising:in response to an indication that a data file has been generated by a first client device, determining a security classification associated with the data file;
determining that the security classification associated with the data file comprises a classified file;
storing, using one or more processors, the data file in a designated virtual storage area;
generating a first stub file at an original storage location of the data file, wherein the first stub file includes a viewing permission associated with the data file and a storage location of the data file in the designated virtual storage area;
receiving a first instruction from a first user to share the data file with a second user;
determining user information associated with the second user;
determining that the second user has permission to access the data file based at least in part on the user information associated with the second user; and
sending a second instruction to a second client device associated with the second user, wherein the second instruction is configured to generate a second stub file corresponding to the data file at the second client device associated with the second user, wherein the second stub file is configured to be usable to obtain the data file in the designated virtual storage area.

US Pat. No. 10,114,961

OPERATOR SYSTEM FOR A PROCESS CONTROL SYSTEM

Siemens Aktiengesellschaf...

1. An operator system for a process control system, comprising:an operator server; and
at least one operator client connected to the operator server;
wherein operators authenticate with respective login data via the at least one operator client or a plurality of operator clients of the operator system on an authentication server which generates for each authenticated operator one operator-specific data record, in which an access right to at least one operator server application is stored;
wherein an access control of the operator server is configured to compare a respective operator-specific data record with respective access authority data records stored on the operator server and configured to, as a function of a respective comparison result, one of (i) permit the respective operator to access the at least one operator server application and (ii) prevent access of the respective operator to the at least one operator server application;
wherein the access control is further configured to transfer the access right from one operator to another operator temporarily, if the one operator and the other operator are authenticated;
wherein the access authority data record stored on the operator server for the one operator comprises an indication which notifies the access control that the access right of the one operator can be transferred temporarily; and
wherein the access authority data record stored on the operator server for the other operator comprises an indication which notifies the access control that the other operator is permitted to accept the temporary access right.

US Pat. No. 10,114,960

IDENTIFYING SENSITIVE DATA WRITES TO DATA STORES

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:receiving, over a network and from a data access detection plugin running on a device with an application, a data access event notification corresponding to access by the application to a set of sensitive data;
creating a data event object, the data event object including at least one or more metadata items associated with the data access event notification;
writing, based at least in part on a determination by a policy service, a data log entry, the data log entry based at least in part on at least a subset of the data event object;
determining, based at least in part on a similar characteristic between the data log entry and one or more other entries in a computer system log, that the data log entry is correlated with the one or more other entries;
determining, based at least in part on the data log entry being correlated with the one or more other entries, a confidence value for a data access rule violation having occurred with the set of sensitive data;
determining a data store location based at least in part on a metadata item included in the data event object;
searching, in the data store location, for a set of data corresponding at least in part to a subset of the set of sensitive data; and
as a result of locating the set of data corresponding at least in part to the subset of the set of sensitive data, performing, based at least in part on the confidence value and a sensitivity of the set of sensitive data, one or more operations to mitigate further access to the set of sensitive data.

US Pat. No. 10,114,959

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

RICOH COMPANY, LTD., Tok...

1. An information processing apparatus, comprising:a first memory to store, for each registered user amongst one or more registered users, a registered identification name of the registered user who is eligible to use the information processing apparatus and first publishable information indicating whether or not the registered identification name of the registered user is publishable;
circuitry to
determine whether the first publishable information of a specified user indicates that the registered identification name of the specified user is publishable,
generate a random number code in a case of a determination that the registered identification name of the specified user is not publishable, and generate an anonymized identification name constituted by a predetermined string concatenated to the random number code, and
generate usage history information of the specified user using the registered identification name of the specified user in a case of a determination that the registered identification name of the specified user is publishable or using the anonymized identification name constituted by the predetermined string concatenated to the random number code in the case of the determination that the registered identification name of the specified user is not publishable; and
a second memory to store the generated usage history information.

US Pat. No. 10,114,958

PROTECTED REGIONS

MICROSOFT TECHNOLOGY LICE...

1. A machine-implemented method for securing a data processing system, the method comprising:storing in one or more memory zones that are not intelligibly accessible to user software, to operating system software or to supplemental processors, metadata identifying one or more first other parts of a system memory of the data processing system where the identified one or more first other parts are thereby mapped as being protected regions and where the stored metadata defines at least one of access constraints for those identified one or more first other parts, corresponding operational constraints and/or operational requirements that respectively constrain the operations performed by or on the data of the identified first other parts; and
during execution of at least one of user software and operating system software in the data processing system, enforcing the operational constraints and/or operational requirements as mapped by the metadata to their corresponding first other parts of the system memory.

US Pat. No. 10,114,957

COLLECTION FOLDER FOR COLLECTING FILE SUBMISSIONS AND USING FACIAL RECOGNITION

DROPBOX, INC., San Franc...

1. A computer implemented method comprising:receiving from a collector, by a content management system, a request to generate a link for use in collecting one or more files from one or more submitters;
in response to receiving the request, providing, by the content management system, one or more prompts requesting information from the collector;
receiving, by the content management system, information responding to the prompts including one or more submitters;
generating, by the content management system, a link to a designated collection folder using at least some of the received information;
distributing, by the content management system, the generated link to the one or more submitters based on at least some of the received information,
receiving, by the content management system from the one or more submitters who accessed the distributed link, one or more files for storage in the designated collection folder;
storing, by the content management system, the one or more received files in the designated collection folder in an account associated with the collector;
running, by the content management system, facial recognition software or object recognition software against one or more of the stored files to identify at least one individual shown in at least one image of the one or more stored files;
in response to identifying the at least one individual shown in the at least one image, sending a notification to the identified at least one individual, the notification comprising information associated with the at least one image; and
wherein each of the one or more submitters has limited rights to the designated collection folder the limited rights permitting a first submitter to upload a first file to the collection folder, prohibiting a second submitter from viewing the first file that is stored in the designated collection folder, and permitting the identified at least one individual to view the at least one image.

US Pat. No. 10,114,956

SECURE PUBLIC KEY ACCELERATION

Apple Inc., Cupertino, C...

1. A system comprising:a secure element configured to store user information specific to a user and device data specific to a device; and
a device enclosed in a separate housing from the secure element and coupled to the secure element via a network to communicate with the secure element, wherein:
the device comprises a security circuit;
the security circuit includes a first private key of one or more cryptographic public key/private key pairs;
the first private key is inaccessible to instructions executed in the device;
the security circuit is configured to authenticate the device with the secure element using the first private key, wherein the secure element is configured to permit the device to access the device data responsive to authenticating the device;
the security circuit is configured to authenticate the user using the first private key; and
the device is configured to confirm an identity of the user to the secure element responsive to authenticating the user.

US Pat. No. 10,114,955

INCREASING SEARCH ABILITY OF PRIVATE, ENCRYPTED DATA

Visa International Servic...

1. A method for searching a database to obtain data, comprising:receiving, by a computer database system, a request for data comprising a search string;
determining a search column of a first table indicated in relation to the search string, the first table storing plaintext data of a particular type of personally identifiable information (PII) within the search column;
searching the search column of the first table of the computer database system using the search string to identify a matching string, wherein the first table includes an encrypted foreign key for each field, and the matching string is identified from the plaintext data;
obtaining at least one encrypted foreign key corresponding to the matching string identified using the search string;
sending the at least one encrypted foreign key to a decryption engine executing on one or more processors of the computer database system;
receiving from the decryption engine, at least one decrypted foreign key corresponding to the at least one encrypted foreign key, wherein the decrypted foreign key is generated by the decryption engine using a decryption key unique to the first table;
searching a second table of the computer database system using the at least one decrypted foreign key to obtain encrypted data, wherein the encrypted data comprises a different second type of PII;
sending the encrypted data to the decryption engine to decrypt the encrypted data; and
receiving, from the decryption engine, decrypted data resulting from decryption of the encrypted data, wherein the decrypted data comprises the requested data.

US Pat. No. 10,114,954

EXPLOIT PREDICTION BASED ON MACHINE LEARNING

Kenna Security, Inc., Ch...

1. A system comprising:storage media;
one or more processors;
and one or more programs stored in the storage media and configured for execution by the one or more processors, the one or more programs comprising instructions for:
causing generation of a first prediction model based on selecting first training data comprising a prevalence feature for each software vulnerability of a first plurality of software vulnerabilities, wherein the first prediction model enables determining whether an exploit is likely to be developed for a particular software vulnerability;
causing application of the first prediction model to first input data comprising the prevalence feature for each software vulnerability of a second plurality of software vulnerabilities, wherein each software vulnerability of the second plurality of software vulnerabilities has yet to have an exploit developed for said each software vulnerability;
receiving, based on the application of the first prediction model to the first input data, first output data that indicates, for each software vulnerability of the second plurality of software vulnerabilities, a prediction of whether an exploit will be developed for said each software vulnerability;
causing generation of a second prediction model based on selecting second training data corresponding to a subset of the first plurality of software vulnerabilities, wherein each software vulnerability in the subset of the first plurality of software vulnerabilities already has an exploit developed for said each software vulnerability, wherein the second prediction model enables determining whether an exploit that has yet to be developed is likely to be used in an attack;
causing application of the second prediction model to second input data corresponding to a subset of the second plurality of software vulnerabilities, wherein each software vulnerability in the subset of the second plurality of software vulnerabilities is predicted to have an exploit developed for said each software vulnerability;
receiving, based on the application of the second prediction model to the second input data, second output data that indicates, for each software vulnerability in the subset of the second plurality of software vulnerabilities, a prediction of whether an exploit that is predicted to be likely to be developed for said each software vulnerability is also predicted to be likely to be used in an attack.

US Pat. No. 10,114,953

METHOD AND SYSTEM FOR UPGRADING FIRMWARE OF A CARD READER

FEITIAN TECHNOLOGIES CO. ...

1. A method of upgrading firmware of a card reader, comprising steps of:establishing a contact connection between the card reader and Integrated Circuit (IC) card;
determining, by a processor in the card reader, whether the IC card is one IC card for upgrading in which encrypted files for upgrading are stored on the IC card, by determining whether specific information on the IC card obtained through the contact connection to the IC card by the card reader matches information preconfigured in the card reader;
if the IC card is one IC card for upgrading, making, by the processor in the card reader and a processor in the IC card, mutual authentication between the card reader and the IC card;
acquiring, by the card reader, the encrypted files for upgrading and decrypting the encrypted files for upgrading after a successful mutual authentication between the card reader and the IC card, and
upgrading firmware of the card reader by using the decrypted files for upgrading; and wherein
the IC card is one contacting IC card and the card reader is a contacting card reader, and the step of determining by the processor in the card reader whether the IC card is the one IC card for upgrading comprises:
reading, by the card reader, feature information which is the specific information of the IC card sent by the IC card, and determining whether the feature information matches preset feature information which is the information preconfigured in the card reader, determining that the IC card is the one IC card for upgrading if the feature information matches the preset feature information, and determining that the IC card is not the one IC card for upgrading if the feature information does not match the preset feature information;
wherein the step of making by the processor in the card reader and the processor in the IC card mutual authentication with the IC card comprises steps of:
authenticating the IC card by the card reader;
authenticating the card reader by the IC card;
the step of acquiring by the card reader the encrypted files for upgrading from the IC card after a successful authentication between the card reader and the IC card comprises: acquiring, by the card reader, the encrypted files for upgrading from the IC card after the authenticating the IC card by the card reader succeeds and the authenticating the card reader by the IC card succeeds:
and the step of authenticating the IC card by the card reader comprises:
generating, by the card reader, a first valid code and sending the first validation code to the IC card;
generating, by the card reader, a first verification code according to the first validation code by using, by the card reader, the first validation code as the first verification code directly; or converting, by the card reader, the first validation code into the first verification code; or encrypting, by the card reader, the first validation code with a preset symmetrical key to obtain the first verification code: or encrypting, by the card reader, the first validation code with a preset asymmetrical key to obtain the first verification code;
reading, by the card reader, a first authorization code generated according to the first validation code by the IC card; and
determining, by the card reader, whether the first authorization code matches the first verification code, and determining that the card reader succeeds in authenticating the IC card if the first authorization code matches the first verification code, determining that the authenticating the IC card by the card reader fails if the first authorization code does not match the first verification code
reading, by the card reader, a second validation code generated by the IC card, and generating a second authorization code according to the second validation code and sending the second authorization code to the IC card; and
reading, by the card reader, status information returned by the IC card after receiving the second authorization code, and determining whether the status information is the same as preset information which is the information preconfigured in the card reader, determining, by the card reader, that the IC card succeeds in authenticating the card reader if the status information is the same as the preset information, deyermining that the authenticating the card reader by the IC card fails if the status information is not the same as the preset information.

US Pat. No. 10,114,952

SYSTEM, APPARATUS AND METHOD FOR PERFORMING SECURE MEMORY TRAINING AND MANAGEMENT IN A TRUSTED ENVIRONMENT

MCAFEE, LLC, Santa Clara...

1. A system comprising:at least one hardware processor core to execute instructions; and
a microcontroller in circuit with the at least one hardware processor core, the microcontroller to execute a security engine in a trusted execution environment to, in response to a hot plug insert of a first memory, train the first memory transparently to an operating system (OS), the security engine including a memory reference code (MRC), the MRC stored in an internal memory, the security engine to:
in response to the hot plug insert of the first memory, execute the MRC to perform, transparently to the OS, the training of the first memory while the at least one hardware processor core performs a workload orthogonal to the training;
securely communicate a memory error to a remote entity via an out-of-band channel; and
dynamically update the MRC stored in the internal memory based on an MRC update obtained from the remote entity via the out-of-band channel; and
a platform driver to receive a communication from a basic input/output system (BIOS) indicating the detection of the hot plug insert, the platform driver to issue a request to the security engine to perform the training of the memory.

US Pat. No. 10,114,951

VIRUS SIGNATURE MATCHING METHOD AND APPARATUS

TENCENT TECHNOLOGY (SHENZ...

1. A virus signature matching method, comprising:establishing a virus signature database, comprising:
obtaining signature function identifiers, and obtaining virus signature type identifiers corresponding to the signature function identifiers, wherein
each of the signature function identifiers is an identification information of a signature function used to check whether an inputted target file matches a given virus signature in the virus signature database, and includes information of a signature function name, a parameter name or a parameter value, and
each of the virus signature type identifiers corresponds to a type of computer virus, and one identifier number is set to one corresponding virus;
generating a mapping information between the signature function identifiers and the virus signature type identifiers; and
generating the virus signature database according to the mapping information;
obtaining the inputted target file;
loading the virus signature database, and successively extracting the signature function identifiers from the virus signature database;
obtaining signature functions corresponding to the signature function identifiers, and checking the inputted target file by invoking the signature functions, to obtain corresponding check results of the inputted target file; and
after obtaining the signature functions, obtaining a virus signature type identifier corresponding to the inputted target file according to the check results.

US Pat. No. 10,114,950

MOBILE APPLICATION MANAGEMENT

McAfee, LLC., Santa Clar...

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

US Pat. No. 10,114,949

TECHNIQUES FOR MONITORING INTEGRITY OF OS SECURITY ROUTINE

McAfee, LLC, Santa Clara...

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

US Pat. No. 10,114,948

HYPERVISOR-BASED BUFFER OVERFLOW DETECTION AND PREVENTION

McAfee, LLC, Santa Clara...

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

US Pat. No. 10,114,947

SYSTEMS AND METHODS FOR LOGGING PROCESSES WITHIN CONTAINERS

Symantec Corporation, Mo...

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

US Pat. No. 10,114,945

CLOCK ROLLBACK SECURITY

Citrix Systems, Inc., Fo...

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

US Pat. No. 10,114,944

SYSTEMS AND METHODS FOR CLASSIFYING PERMISSIONS ON MOBILE DEVICES

Symantec Corporation, Mo...

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

US Pat. No. 10,114,943

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

CyberArk Software Ltd., ...

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

US Pat. No. 10,114,942

INTERACTIVE CAPTCHA

PAYPAL, INC., San Jose, ...

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

US Pat. No. 10,114,941

SYSTEMS AND METHODS FOR AUTHENTICATING FIRMWARE STORED ON AN INTEGRATED CIRCUIT

Altera Corporation, San ...

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

US Pat. No. 10,114,940

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

Ricoh Company, Ltd., Tok...

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

US Pat. No. 10,114,939

SYSTEMS AND METHODS FOR SECURE COMMUNICATIONS BETWEEN DEVICES

Symantec Corporation, Mo...

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

US Pat. No. 10,114,938

SECURE ELECTRONIC LOCK

UTC FIRE AND SECURITY AME...

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

US Pat. No. 10,114,937

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

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

US Pat. No. 10,114,936

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

NEC CORPORATION, Tokyo (...

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

US Pat. No. 10,114,935

TECHNOLOGIES FOR LOGIN PATTERN BASED MULTI-FACTOR AUTHENTICATION

Intel Corporation, Santa...

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

US Pat. No. 10,114,934

CALCULATING CONSECUTIVE MATCHES USING PARALLEL COMPUTING

Fortinet, Inc., Sunnyval...

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

US Pat. No. 10,114,933

TECHNIQUE FOR ENABLING NOMINAL FLOW OF AN EXECUTABLE FILE

Denuvo GmbH, Salzburg (A...

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

US Pat. No. 10,114,932

ADAPTING A MOBILE APPLICATION TO A PARTITIONED ENVIRONMENT

MOBILE IRON, INC., Mount...

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

US Pat. No. 10,114,931

PHARMACEUTICAL PLATFORM TECHNOLOGY FOR THE DEVELOPMENT OF NATURAL PRODUCTS

SINOVEDA CANADA INC., (C...

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

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

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

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

US Pat. No. 10,114,930

SYSTEMS AND METHODS FOR CREATING HAIR TRANSPLANTATION PROCEDURE SITES

RESTORATION ROBOTICS, INC...

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

US Pat. No. 10,114,929

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

RUTGERS, THE STATE UNIVER...

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

US Pat. No. 10,114,928

METHOD AND DEVICE FOR DOCUMENTING MEDICAL DATA

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

US Pat. No. 10,114,927

APPARATUS AND METHOD FOR ACOUSTIC ALARM DETECTION AND VALIDATION

Koninklijke Philips N.V.,...

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

US Pat. No. 10,114,926

WORKFLOW TEMPLATE MANAGEMENT FOR MEDICAL IMAGE DATA PROCESSING

TERARECON, INC., San Mat...

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

US Pat. No. 10,114,925

DISCOVERY ROUTING SYSTEMS AND ENGINES

Nant Holdings IP, LLC, C...

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

US Pat. No. 10,114,923

METAGENOMICS-BASED BIOLOGICAL SURVEILLANCE SYSTEM USING BIG DATA PROFILES

EMC IP Holding Company LL...

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

US Pat. No. 10,114,922

IDENTIFYING ANCESTRAL RELATIONSHIPS USING A CONTINUOUS STREAM OF INPUT

Ancestry.com DNA, LLC, L...

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

US Pat. No. 10,114,921

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

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,920

METHOD AND APPARATUS FOR PERFORMING SIGN-OFF TIMING ANALYSIS OF CIRCUIT DESIGNS USING INTER-POWER DOMAIN LOGIC

Cadence Design Systems, I...

1. A method for multi-domain timing analysis of a circuit design for an electronic circuit, the circuit design having a plurality of interconnected cells and a plurality of power domains therefor, the power domains establishing respective non-ground voltages provided by different power supplies, the method comprising:establishing a netlist defining the cells of the circuit design, a plurality of timing paths each being defined to traverse at least one of the cells of the circuit design;
executing a processor to selectively determine at least one of the timing paths to be an inter-power domain (IPD) timing path according to predetermined IPD criteria, the IPD criteria including traversal by a timing path through at least one multi-supply element, each multi-supply element including one or more cells energized by multiple power domains; and,
executing a processor to selectively actuate at least one multi-domain timing analysis based on an IPD netlist collectively designating each said IPD timing path,
wherein the circuit design is altered to correct at least one timing violation detected by the multi-domain timing analysis, and
wherein the electronic circuit is manufactured based on the altered circuit design.

US Pat. No. 10,114,919

PLACING AND ROUTING METHOD FOR IMPLEMENTING BACK BIAS IN FDSOI

GLOBALFOUNDRIES Inc., Gr...

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

US Pat. No. 10,114,918

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

ARM Limited, Cambridge (...

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

US Pat. No. 10,114,917

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

The MathWorks, Inc., Nat...

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

US Pat. No. 10,114,916

METHOD AND SYSTEM TO ACCELERATE VISUALIZATION OF WAVEFORM DATA

Cadence Design Systems, I...

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

US Pat. No. 10,114,915

CONSUMER PERFORMANCE INDEX SCORING FOR WEBSITES AND WEB-BASED APPLICATIONS

Akamai Technologies, Inc....

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

US Pat. No. 10,114,914

LAYOUT EFFECT CHARACTERIZATION FOR INTEGRATED CIRCUITS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,913

METHOD AND SYSTEM FOR DETERMINING WELDING SEQUENCES

Caterpillar Inc., Deerfi...

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

US Pat. No. 10,114,912

SYSTEM AND METHOD FOR MONITORING ADDRESS TRAFFIC IN AN ELECTRONIC DESIGN

Cadence Design Systems, I...

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

US Pat. No. 10,114,911

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

FUJITSU LIMITED, Kawasak...

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

US Pat. No. 10,114,910

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

HITACHI, LTD., Tokyo (JP...

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

US Pat. No. 10,114,909

SYSTEMS AND METHODS STORING A COLLECTION OF ITEM DATA

AMAZON TECHNLOGIES, INC.,...

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

US Pat. No. 10,114,908

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

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,907

QUERY PROCESSING FOR XML DATA USING BIG DATA TECHNOLOGY

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,906

MODELING AND EXTRACTING ELEMENTS IN SEMI-STRUCTURED DOCUMENTS

INTUIT INC., Mountain Vi...

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

US Pat. No. 10,114,905

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

EASYWEB INNOVATIONS, INC....

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

US Pat. No. 10,114,904

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

Wistron Corporation, New...

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

US Pat. No. 10,114,903

METHOD AND APPARATUS FOR CONTENT SYNCHRONIZATION

Parallel Networks, LLC, ...

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

US Pat. No. 10,114,902

METHOD FOR DETECTING AND ANALYZING SITE QUALITY

eBay Inc., San Jose, CA ...

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

US Pat. No. 10,114,901

SYSTEMS AND METHODS FOR REAL-TIME LOCATION-AWARE RECOMMENDATIONS

eBay Inc., San Jose, CA ...

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

US Pat. No. 10,114,900

METHODS AND SYSTEMS FOR GENERATING PROBABILISTICALLY SEARCHABLE MESSAGES

Virtru Corporation, Wash...

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

US Pat. No. 10,114,899

REAL-TIME AND ADAPTIVE DATA MINING

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

US Pat. No. 10,114,898

PROVIDING ADDITIONAL FUNCTIONALITY WITH SEARCH RESULTS

Samsung Electronics Co., ...

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

US Pat. No. 10,114,897

SEARCH AND NOTIFICATION PROCEDURES BASED ON USER HISTORY INFORMATION

Open Invention Network LL...

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

US Pat. No. 10,114,896

FACETED SEARCHING OF RESOURCES VIA A WEB APPLICATION

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,895

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

GOOGLE LLC, Mountain Vie...

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

US Pat. No. 10,114,894

ENHANCING A SEARCH WITH ACTIVITY-RELEVANT INFORMATION

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,893

METHOD AND SYSTEM FOR INFORMATION QUERYING

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

US Pat. No. 10,114,892

CREATING A SINGLE PLAYLIST WITH MULTIPLE AUTHORS

GOOGLE LLC, Mountain Vie...

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

US Pat. No. 10,114,891

METHOD AND SYSTEM OF AUDIO RETRIEVAL AND SOURCE SEPARATION

Thomson Licensing, (FR)

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

US Pat. No. 10,114,890

GOAL BASED CONVERSATIONAL SERENDIPITY INCLUSION

International Business Ma...

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

US Pat. No. 10,114,889

SYSTEM AND METHOD FOR FILTERING KEYWORDS

Beijing Qihoo Technology ...

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

US Pat. No. 10,114,888

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

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

US Pat. No. 10,114,887

GENERATING A SET OF REPRESENTATIVE ITEMS USING A DYNAMIC SELECTION STRATEGY

Amazon Technologies, Inc....

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

US Pat. No. 10,114,886

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

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

US Pat. No. 10,114,885

GENERATING A SET OF REPRESENTATIVE ITEMS USING A CLUSTERING-SELECTION STRATEGY

Amazon Technologies, Inc....

1. A computing system comprising:a memory configured to store processor-executable instructions; and
a processor in communication with the memory and configured to execute the processor-executable instructions to perform operations comprising:
receiving, from another computing device, a value indicative of the number of reviews of an item desired for presentation on the other computing device;
for each review of the item in a set of reviews of the item:
determining a first set of characteristics of the review, and
generating a multi-dimensional data structure representative of the review based at least in part on the first set of characteristics of the review;
identifying, within the set of reviews, a set of clusters, wherein each cluster of the plurality of clusters identifies at least two reviews of the item based at least in part on the multi-dimensional data structure for each review in the set of reviews and based at least in part on the value indicative of the number of reviews desired for presentation on the other computing device;
for each cluster in the set of clusters:
determining, for each review of the cluster, a second set of characteristics of the review that is distinct from the first set of characteristics,
determining, for each review of the cluster, a utility value of the review based at least in part on the second set of characteristics, wherein the utility value indicates a usefulness of the review to an entity assessing the item subject of the review,
selecting, from the cluster, one review having a highest utility value, and
including the one review in a set of selected reviews; and
providing the set of selected reviews to the other computing device for presentation via a user interface,
wherein the set of selected reviews comprises one or more reviews representative of the set of reviews.

US Pat. No. 10,114,884

SYSTEMS AND METHODS FOR ATTRIBUTE ANALYSIS OF ONE OR MORE DATABASES

PALANTIR TECHNOLOGIES INC...

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

US Pat. No. 10,114,883

GENERATING PREFERRED METADATA FOR CONTENT ITEMS

Apple Inc., Cupertino, C...

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

US Pat. No. 10,114,882

CONTENT DELIVERY NETWORK ANALYTICS MANAGEMENT VIA EDGE STAGE COLLECTORS

Level 3 Communications, L...

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

US Pat. No. 10,114,881

FAST SERIALIZATION FOR DATA TRANSFER

SAP SE, Walldorf (DE)

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

US Pat. No. 10,114,879

SYSTEMS AND METHODS FOR GENERATING PLUGGABLE DOMAIN-SPECIFIC DATA TYPES

Comprehend Systems, Inc.,...

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

US Pat. No. 10,114,877

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

Open Invention Network LL...

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

US Pat. No. 10,114,876

DATA AUGMENTATION BETWEEN DEVICES USING VISUAL CODE

SAP SE, Walldorf (DE)

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

US Pat. No. 10,114,875

DASHBOARD CONTROLS TO MANIPULATE VISUAL DATA

MICROSOFT TECHNOLOGY LICE...

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

US Pat. No. 10,114,874

SOURCE QUERY CACHING AS FAULT PREVENTION FOR FEDERATED QUERIES

Red Hat, Inc., Raleigh, ...

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

US Pat. No. 10,114,873

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

salesforce.com, inc., Sa...

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

US Pat. No. 10,114,872

REAL-TIME AND ADAPTIVE DATA MINING

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

US Pat. No. 10,114,871

REAL-TIME AND ADAPTIVE DATA MINING

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

US Pat. No. 10,114,870

REAL-TIME AND ADAPTIVE DATA MINING

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

US Pat. No. 10,114,869

SYSTEMS AND METHODS FOR CUSTOMIZED ELECTRONIC COMMUNICATIONS

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

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

US Pat. No. 10,114,868

ELECTRONIC DATA GENERATION METHODS

ROY MORGAN RESEARCH PTY. ...

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

US Pat. No. 10,114,867

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

LOOKER DATA SCIENCES, INC...

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

US Pat. No. 10,114,866

MEMORY-CONSTRAINED AGGREGATION USING INTRA-OPERATOR PIPELINING

SAP SE, Walldorf (DE)

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

US Pat. No. 10,114,865

TILE CACHE

Microsoft Technology Lice...

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

US Pat. No. 10,114,864

LIST ELEMENT QUERY SUPPORT AND PROCESSING

Amazon Technologies, Inc....

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

US Pat. No. 10,114,863

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

International Business Ma...

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

US Pat. No. 10,114,862

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

International Business Ma...

8. A computer program product, comprising:a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code configured to perform an operation for suggesting a search query based on terms, the operation comprising:
receiving, via a processor, a search query having at least a first term;
identifying a plurality of related terms having a relationship to the first term, based on prior search queries;
determining to ignore a first related term of the plurality of related terms, based on the first related term having not been observed with the first term over a specified time interval; and
generating a plurality of predictive suggestions for completing the search query, wherein none of the plurality of predictive suggestions includes the ignored first related term, wherein a first of the plurality of predictive suggestions includes at least the first term, and wherein a second of the plurality of predictive suggestions includes an identified semantic equivalent of the first term and a second related term of the plurality of related terms, wherein the identified semantic equivalent is synonymous with the first term.

US Pat. No. 10,114,861

EXPANDABLE AD HOC DOMAIN SPECIFIC QUERY FOR SYSTEM MANAGEMENT

DELL PRODUCTS L.P., Roun...

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

US Pat. No. 10,114,860

COMPUTERIZED CASE MANAGEMENT SYSTEM WITH AUTO-GENERATED MEMORABLE CASE IDENTIFIERS

EMC IP Holding Company LL...

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

US Pat. No. 10,114,859

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

SAP SE, Walldorf (DE)

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

US Pat. No. 10,114,858

MACHINE-ASSISTED OBJECT MATCHING

Maana, Inc., Palo Alto, ...

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

US Pat. No. 10,114,857

TECHNIQUES FOR PERFORMING MULTI-SYSTEM COMPUTER OPERATIONS

LendingClub Corporation, ...

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

US Pat. No. 10,114,856

METHOD FOR BACKFILLING GRAPH STRUCTURE AND ARTICLES COMPRISING THE SAME

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,855

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

CODE SYSTEMS CORPORATION,...

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

US Pat. No. 10,114,854

VALIDATION RULE MANAGEMENT ACROSS ENTITIES

International Business Ma...

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

US Pat. No. 10,114,853

OPTIMIZING THE INITIALIZATION OF A QUEUE VIA A BATCH OPERATION

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,852

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

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

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

US Pat. No. 10,114,851

SYSTEMS AND METHODS FOR VERIFIABLE, PRIVATE, AND SECURE OMIC ANALYSIS

1. An omic compatibility matching system implemented on a host computing device communicating with a first user computing device storing a first set of omic data associated with a first user, and with a second user computing device storing a second set of omic data associated with a second user, the computing devices communicating via a digital communications network to execute an omic matching transaction with authenticated data provenance, the computing devices each having one or more processors and memory storing instructions which, when executed by the processors, cause the computing devices to perform a method comprising:generating, by the host computing device, a calculation descriptor for testing the compatibility of the first set of omic data and the second set of omic data;
generating, by the host computing device, verification data for the first set of omic data;
generating a verification calculation descriptor for the first set of omic data, for verifying through a secure computation that the inputs provided to the calculation descriptor are the same as the inputs previously presented to the host device and associated with the first user;
transmitting the verification calculation descriptor to the first user computing device;
transmitting the calculation descriptor to the second user computing device;
calculating, by the host computing device and the first user computing device, a verification output using the verification calculation descriptor and the first set of omic data, the verification output indicating whether the first set of omic data is the same as omic data previously presented to the host device by the first user;
transmitting, by the first user computing device to the host computing device and the second user computing device, an input to the calculation descriptor;
reporting to the host computing device, by the second user computing device, the input to the calculation descriptor received from the first user computing device; and
determining, by the host computing device, that the input to the calculation descriptor provided to the host computing device by the first user computing device is the same as the input reported by the second user computing device and that the verification calculation descriptor has verified that the inputs provided to the calculation descriptor are the same as the inputs previously presented to the host device and associated with the first user, and only then, substantially simultaneously directing, by the host computing device, the calculation of a compatibility score by the first user computing device and the second user computing device using a secure function evaluation based on the calculation descriptor, the first set of omic data, and the second set of omic data.

US Pat. No. 10,114,850

DATA STREAM GENERATION USING PRIME NUMBERS

EMC IP Holding Company LL...

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

US Pat. No. 10,114,849

MANAGING CHANGES TO INFORMATION

Quick Eye Technologies In...

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

US Pat. No. 10,114,848

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

SYBASE, INC., Dublin, CA...

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

US Pat. No. 10,114,847

CHANGE CAPTURE PRIOR TO SHUTDOWN FOR LATER BACKUP

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

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

US Pat. No. 10,114,846

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

Amazon Technologies, Inc....

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

US Pat. No. 10,114,845

EFFICIENTLY ESTIMATING COMPRESSION RATIO IN A DEDUPLICATING FILE SYSTEM

EMC IP Holding Company LL...

1. A deduplicating storage system, comprising:a processor configured to:
for each of k times: associate a bin of an ordered set of bins with each received identifier, wherein each bin in the ordered set of bins has a bin number and each received identifier comprises a fingerprint of a segment of a set of segments stored on a file system of the deduplicating storage system;
determine a minimum bin number associated with each received identifier, the minimum bin number being the bin number that is minimum among the bins associated with the each received identifier;
repeat the k times of associating a bin with a received identifier for n trials, where n is greater than two;
determine an estimate of a quantity of unique identifiers based at least in part on an average of the minimum associated bin number;
determine a data compression ratio of the segments stored in the file system of the deduplicating storage system based on the estimated quantity of the unique identifiers without having to record a list of the unique identifiers and check the list of the unique identifiers for the each received identifier;
determine a capacity of the deduplicating storage system; and
back up data to the system of the deduplicating storage system based on the determined capacity of the deduplicating storage system and the determined data compression ratio of the segments stored therein; and
a memory coupled to the processor and configured to provide the processor with instructions.

US Pat. No. 10,114,844

READINESS CHECKER FOR CONTENT OBJECT MOVEMENT

International Business Ma...

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

US Pat. No. 10,114,843

CONTENT MIGRATION FRAMEWORK

SAP SE, Walldorf (DE)

1. A computer-implemented method for supporting migration of unstructured data stored in enterprise content management systems, comprising:generating a search for the unstructured data matching at least one content search rule, the unstructured data comprising information that does not have a predefined data model, the at least one content search rule comprising an enterprise identifier and a document identifier and the at least one content search rule being retrieved from a migration engine server configured to provide support for migration of the unstructured data and structured data stored in an enterprise resource planning system;
receiving a list of matched documents, wherein each document in the list of matched documents comprises at least a portion of the unstructured data and is associated with at least a source repository identifier and a unique document identifier;
calculating a target repository identifier and at least one metadata change instruction for each unique document identifier using at least one migration rule defining how the unstructured data is to be migrated to maintain an integrity of the unstructured data, the at least one migration rule being compliant with international regulations; and
modifying metadata for the document associated with the document identifier using the calculated at least one metadata change instruction to generate a modified copy of the document, the at least one metadata change instruction specifying that any matched content with a particular source repository identifier is to be modified to reflect a particular target repository identifier, the particular target repository identifier comprising at least one of a prefix and a suffix different from the particular source repository identifier and the at least one metadata change instruction specifying deletion of the metadata matching the particular source repository identifier from a source repository associated with the particular source repository identifier upon migration to a target repository associated with the particular target repository identifier.

US Pat. No. 10,114,842

MEDIA COMPRESSION IN A DIGITAL DEVICE

Red Hat, Inc., Raleigh, ...

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

US Pat. No. 10,114,841

SYSTEM FOR GENERATING A TABLE

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

US Pat. No. 10,114,840

CUSTOMER DATA SEPARATION IN A SERVICE PROVIDER SCENARIO

SAP SE, Walldorf (DE)

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

US Pat. No. 10,114,839

FORMAT IDENTIFICATION FOR FRAGMENTED IMAGE DATA

EMC IP Holding Company LL...

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

US Pat. No. 10,114,838

REFERENCE CARD FOR SCENE REFERRED METADATA CAPTURE

Dolby Laboratories Licens...

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

US Pat. No. 10,114,837

DISTRIBUTED TRANSACTION MANAGEMENT

Microsoft Technology Lice...

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

US Pat. No. 10,114,836

SYSTEMS AND METHODS FOR PRIORITIZING FILE DOWNLOADS

Google LLC, Mountain Vie...

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

US Pat. No. 10,114,835

VIRTUAL FILE SYSTEM FOR CLOUD-BASED SHARED CONTENT

Box, Inc., Redwood City,...

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

US Pat. No. 10,114,834

EXOGENOUS VIRTUAL MACHINE SYNCHRONIZATION AND REPLICATION

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

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

US Pat. No. 10,114,833

DISTRIBUTED CODE REPOSITORY WITH LIMITED SYNCHRONIZATION LOCKING

GitHub, Inc., San Franci...

1. A system, comprising:a hardware processor configured to:
receive a request to change an existing portion of code;
determine whether the request to change the existing portion of code is valid;
in response to determining that the request to change the existing portion of code is valid, distribute the request to a plurality of repositories, wherein the request comprises a new portion of the code;
request the plurality of repositories to approve the request to change the existing portion of code to the new portion;
receive a corresponding vote to approve swapping references from each repository of the plurality of repositories; determine whether swapping references is approved by a majority of the plurality of repositories based on the corresponding votes; and
in response to determining that swapping references is approved by the majority of the plurality of repositories, modify the code by swapping an existing reference associated with the code that points to the existing portion with a change reference associated with the code that points to the new portion and unlock the plurality of repositories; and
a memory coupled to the hardware processor and configured to provide the hardware processor with instructions.

US Pat. No. 10,114,832

GENERATING A DATA STREAM WITH A PREDICTABLE CHANGE RATE

EMC IP Holding Company LL...

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

US Pat. No. 10,114,831

DELTA VERSION CLUSTERING AND RE-ANCHORING

Exagrid Systems, Inc., W...

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

US Pat. No. 10,114,829

MANAGING DATA CACHE FOR FILE SYSTEM REALIZED WITHIN A FILE

EMC IP Holding Company LL...

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

US Pat. No. 10,114,828

LOCAL CONTENT SHARING THROUGH EDGE CACHING AND TIME-SHIFTED UPLOADS

International Business Ma...

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

US Pat. No. 10,114,827

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

DELL PRODUCTS, LP, Round...

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

US Pat. No. 10,114,826

AUTONOMIC REGULATION OF A VOLATILE DATABASE TABLE ATTRIBUTE

International Business Ma...

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

US Pat. No. 10,114,825

DYNAMIC RESOURCE-BASED PARALLELIZATION IN DISTRIBUTED QUERY EXECUTION FRAMEWORKS

SAP SE, Walldorf (DE)

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

US Pat. No. 10,114,824

TECHNIQUES FOR PROVIDING A USER WITH CONTENT RECOMMENDATIONS

Verizon Patent and Licens...

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

US Pat. No. 10,114,823

SYSTEMS AND METHODS FOR METRIC DATA SMOOTHING

Ayasdi, Inc., Menlo Park...

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

US Pat. No. 10,114,822

ENHANCED REPORTING SYSTEM

SAP SE, Walldorf (DE)

1. A system comprising:a computer processor;
a first database system coupled to the computer processor, the first database system comprising a plurality of tables; and
a second database system coupled to the computer processor, the second database system comprising a subset of the tables in the first database system;
wherein the computer processor is operable to identify a plurality of reports that are currently generated using the second database system;
wherein the computer processor is operable to automatically identify without user input a plurality of reports that are not currently generated using the second database system but that are capable of being generated using the second database system;
wherein the computer processor is operable to display on a computer display device a list of the plurality of reports that are not currently generated using the second database system but that are capable of being generated using the second database system;
wherein the computer processor is operable to receive input from a user selecting one or more of the plurality of reports, generate the selected reports, and display the generated reports on a computer display device;
wherein the computer processor is operable to receive input identifying an additional report to be generated, the additional report to be generated requiring one or more tables that are not on the second database system;
wherein the computer processor is operable to identify the one or more tables that are not on the second database system and that are needed to generate the additional report;
wherein the computer processor is operable to determine the size of each of the one or more tables that are not on the second database system and that are needed to generate the additional report;
wherein the computer processor is operable to display on the computer display device a list of the one or more tables and the size of the one or more tables that are not on the second database system and that are needed to generate the additional report; and
wherein the computer processor is operable to display a list of a plurality of additional reports that are currently not generated using the second database system sorted by number of additional tables that are required to generate the additional report and size of additional tables needed to generate the additional report.

US Pat. No. 10,114,821

METHOD AND SYSTEM TO ACCESS TO ELECTRONIC BUSINESS DOCUMENTS

TractManager, Inc., Chat...

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

US Pat. No. 10,114,820

DISPLAYING ORIGINAL TEXT IN A USER INTERFACE WITH TRANSLATED TEXT

Google LLC, Mountain Vie...

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

US Pat. No. 10,114,819

OPTIMIZING MACHINE TRANSLATIONS FOR USER ENGAGEMENT

FACEBOOK, INC., Menlo Pa...

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

US Pat. No. 10,114,818

SYSTEM AND METHOD FOR LOCATING BILINGUAL WEB SITES

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

US Pat. No. 10,114,817

DATA MINING MULTILINGUAL AND CONTEXTUAL COGNATES FROM USER PROFILES

Microsoft Technology Lice...

1. A method comprising:storing a plurality of multi-language profiles of a plurality of users;
identifying one or more multilingual cognates in each profile of the plurality of multi-language profiles;
based on the one or more multilingual cognates identified in each profile of the plurality of multi-language profiles, generating one or more translation models;
receiving input that indicates a selection, by a second user, of data that is associated with a first user that is different than the second user, wherein the plurality of users includes users other than the second user and the first user;
determining a first language that is associated with the first user;
determining a second language that is different than the first language and that is associated with the second user;
wherein a plurality of data items in a profile of the first user are in the first language;
translating the plurality of data items into the second language using the one or more translation models;
in response to receiving the input, causing a translated version of the plurality of data items to be displayed to the second user, wherein the translated version is in the second language;
wherein the method is performed by one or more computing devices.

US Pat. No. 10,114,816

ASSESSING COMPLEXITY OF DIALOGS TO STREAMLINE HANDLING OF SERVICE REQUESTS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,815

CORE POINTS ASSOCIATIONS SENTIMENT ANALYSIS IN LARGE DOCUMENTS

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,814

SYSTEM AND METHOD FOR ACTIONIZING PATIENT COMMENTS

NARRATIVEDX, INC., Austi...

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

US Pat. No. 10,114,813

MOBILE TERMINAL AND CONTROL METHOD THEREOF

LG ELECTRONICS INC., Seo...

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

US Pat. No. 10,114,812

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

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

US Pat. No. 10,114,811

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

Citrix Systems, Inc., Fo...

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

US Pat. No. 10,114,810

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

Workiva Inc., Ames, IA (...

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

US Pat. No. 10,114,809

METHOD AND APPARATUS FOR PHONETICALLY ANNOTATING TEXT

TENCENT TECHNOLOGY (SHENZ...

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

US Pat. No. 10,114,808

CONFLICT RESOLUTION OF ORIGINALLY PAPER BASED DATA ENTRY

International Business Ma...

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

US Pat. No. 10,114,807

AUTOMATICALLY EVALUATING LIKELY ACCURACY OF EVENT ANNOTATIONS IN FIELD DATA

PHYSIO-CONTROL, INC., Re...

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

US Pat. No. 10,114,806

MANAGEMENT OF BUILDING PLAN DOCUMENTS UTILIZING COMMENTS AND A CORRECTION LIST

E-PLAN, INC., Irvine, CA...

1. A system for managing building plan documents, comprising:one or more computing devices;
non-transitory computer readable memory storing program code that when executed by the one or more computing devices is configured to cause the system to perform operations comprising:
receiving an electronic building plan document including a plurality of plan sheets;
providing a first of the plurality of plan sheets for display, the first plan sheet comprising a first plurality of layers including at least a document layer and a comments layer;
providing a layer selection user interface via which a user can select which of the first plurality of layers are to be displayed;
receiving, via the layer selection user interface, user layer selections;
inhibiting the display of unselected layers and enabling the display of selected layers;
providing a user interface via which a user can select, via a predefined standard comments library, a first comment, the first comment comprising text, and associate a document to the first comment;
storing a first plurality of comments;
providing for display a comments list in association with the first plan sheet, the comments list including a second plurality of comments;
at least partly in response to the user selecting a second comment with a specified plan sheet coordinate in the comments lists, providing the second comment in a comment layer for display over the first plan sheet at the plan sheet coordinate in a sheet review display pane;
enabling the user to search for comments by specifying one or more search terms;
generating and providing comments search results in response to a search query received via the search user interface;
providing a user interface via which the user can select one or more comments to be included in a plan correction list;
generating a correction list of items that need to be corrected in order for at least one approval document to be issued, the correction list including a plurality of comments specified by a plurality of users wherein the correction list includes:
associated comments, and
respective sheet identifiers for comments included in the correction list;
transmitting the correction list to at least one user;
tracking approval status of one or more building-related approval documents and providing the approval status to one or more users.

US Pat. No. 10,114,805

INLINE ADDRESS COMMANDS FOR CONTENT CUSTOMIZATION

Amazon Technologies, Inc....

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

US Pat. No. 10,114,804

REPRESENTATION OF AN ELEMENT IN A PAGE VIA AN IDENTIFIER

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,114,803

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

GROUPON, INC., Chicago, ...

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

US Pat. No. 10,114,802

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

TENCENT TECHNOLOGY (SHENZ...

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

US Pat. No. 10,114,801

TREEMAP OPTIMIZATION

ENTIT SOFTWARE LLC, Sunn...

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

US Pat. No. 10,114,800

LAYOUT RECONSTRUCTION USING SPATIAL AND GRAMMATICAL CONSTRAINTS

INTUIT INC., Mountain Vi...

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

US Pat. No. 10,114,799

METHOD FOR ARRANGING IMAGES IN ELECTRONIC DOCUMENTS ON SMALL DEVICES

Canon Kabushiki Kaisha, ...

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

US Pat. No. 10,114,798

AUTOMATED CONTEXT-BASED UNIQUE LETTER GENERATION

Progrexion IP, Inc., Nor...

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

US Pat. No. 10,114,797

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

Cavium, LLC, Santa Clara...

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

US Pat. No. 10,114,796

EFFICIENT IMPLEMENTATION OF CASCADED BIQUADS

TEXAS INSTRUMENTS INCORPO...

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