US Pat. No. 10,656,983

METHODS AND APPARATUS TO GENERATE A SHADOW SETUP BASED ON A CLOUD ENVIRONMENT AND UPGRADE THE SHADOW SETUP TO IDENTIFY UPGRADE-RELATED ERRORS

NICIRA, INC., Palo Alto,...

1. An apparatus comprising at least one microprocessor, the apparatus configured to execute computer program instructions stored in a non-transitory machine readable memory, the instructions, when executed, to cause the apparatus to:scan a cloud environment based on scanning rules to generate scanned data, the cloud environment including a number of computing components;
determine sampling criteria based on data from the cloud environment, the sampling criteria identifying a number of possible configurations of the computing components, the number of possible configurations being less than the number of the computing components;
generate a configuration file based on the sampling criteria and the scanned data, the configuration file corresponding to a replica of the cloud environment in which the replica includes the number of possible configurations of the computing components, the replica being a scaled down version of the cloud environment;
deploy a shadow setup based on the configuration file;
initiate an upgrade of one or more components of the shadow setup; and
generate a report corresponding to a presence of errors associated with the upgrade.

US Pat. No. 10,656,982

APPARATUS AND METHOD FOR COMMUNICATING DATA IN A MULTI-TENANT COMPUTER SYSTEM

Sage People Limited, New...

1. A computer system, comprising:one or more processors and one or more computer-readable data storage mediums;
program instructions, stored on at least one of the one or more data storage mediums for execution by the one or more processors, to provide:
a multi-tenant cloud computing environment to support at least first and second applications executing on the one or more processors within the cloud computing environment; and
an object bus for communicating a canonical object bus object between applications supported by the cloud computing environment;
wherein the second application comprises an object subscriber which is arranged to register with the object bus, and the first application is arranged to authorise the object subscriber to receive data owned by the first application;wherein the object bus comprises:an object broker arranged to receive a request from the object subscriber associated with the second application for data from the first application, wherein the object broker is arranged to, in dependence thereon, request from an object provider associated with the first application, the requested data from the first application; and
an object mapper associated with the first application arranged to translate an object received from the object provider comprising the requested data to the canonical object bus object;
wherein the object mapper provides the canonical object bus object comprising the requested data to the object broker to communicate the canonical object bus object to the object subscriber associated with the second application.

US Pat. No. 10,656,981

ANOMALY DETECTION USING SEQUENCES OF SYSTEM CALLS

BlackBerry Limited, Wate...

1. A method of detecting a call sequence in a computing system, the computing system storing a set of call sequences, each call sequence containing a sequence of invocation identifiers that specify a valid sequence of programmatic procedures, wherein each invocation identifier corresponds to a message that invokes a corresponding programmatic procedure, the method comprising:receiving a new message from a process, the new message including at least a programmatic procedure identifier and a receiver process identifier;
determining a corresponding invocation identifier based on at least the programmatic procedure identifier and the receiver process identifier;
appending the corresponding invocation identifier to a sequence of previously-determined invocation identifiers corresponding to a sequence of previously-received messages from the process to generate a translated call sequence;
identifying the translated call sequence as an anomaly based on selecting a portion of the translated call sequence and determining that the portion of the translated call sequence does not match at least one of the call sequences in the set of call sequences; and
causing an action based on identification of the translated call sequence as an anomaly.

US Pat. No. 10,656,980

METHOD AND SYSTEM FOR PROCESSING DATA IN A SERVERLESS COMPUTING ENVIRONMENT

Wipro Limited, Bangalore...

1. A method of processing data in a serverless computing environment comprising a plurality of serverless computing platforms, the method comprising:receiving, by a serverless orchestrator, information related to each of one or more functions associated with each of the plurality of serverless computing platforms, wherein the information related to each of one or more functions comprises capability of the one or more functions to perform a set of operations when an event is triggered;
receiving, by the serverless orchestrator, data to be processed, from one or more data sources associated with the serverless orchestrator;
determining, by the serverless orchestrator, one or more processing operations to be performed on the data based on one or more characteristics of the data and a domain related to the data;
determining, by the serverless orchestrator, confidence scores corresponding to each of the one or more functions based on correlation between the one or more processing operations and the information related to each of the one or more functions;
identifying, by the serverless orchestrator, a target function from the one or more functions, which is best suited for performing the one or more processing operations, wherein identification of the target function is based on an evaluation of the confidence scores, wherein the evaluation comprises:
comparing the confidence scores with a pre-defined threshold;
identifying a set of functions from the one or more functions based on the comparison;
ranking each function from the set of functions based on the confidence scores; and
identifying the target function from the set of functions based on the ranking;
deploying, by the serverless orchestrator, the target function for performing the one or more processing operations by forwarding the data to a serverless computing platform associated with the target function; and
triggering, by the serverless orchestrator, an event for processing the forwarded data by the target function.

US Pat. No. 10,656,979

STRUCTURAL AND TEMPORAL SEMANTICS HETEROGENEOUS INFORMATION NETWORK (HIN) FOR PROCESS TRACE CLUSTERING

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of generating process trace clusters, the method executed by a computer comprising the steps of:receiving a set of process traces, wherein a process trace is an application level event log of a business process from a computer system;
receiving an identification of node types and edge types of the application event log to generate a heterogeneous information network (HIN) graph of the application event log, wherein node types of said HIN include events, traces and temporal nodes, wherein each trace is a finite sequence of event type nodes, wherein a temporal node type value is set to be a difference between a current system time and a reference timestamp, divided by a user chosen time granularity parameter,
performing dimension reduction of the HIN by reducing a number of event types of the set of input traces to generate clusters of new event types;
generating a set of meta-paths that connect nodes of a same reduced event type in the application event log;
calculating similarities between process traces using the new event type clusters;
clustering the set of process traces to generate a plurality of disjoint partitions based on the clusters of new event types, wherein each partition is a graph model of the business process in the application event log; and
performing process mining on said graph models to determine whether events in the event log were executed in a correct sequence or to identify bottlenecks in the business process.

US Pat. No. 10,656,978

RECOMMENDATION FOR AN INDIVIDUAL BASED ON A MOOD OF THE INDIVIDUAL

International Business Ma...

1. A method for generating recommendations for an individual based on a mood of the individual, the method comprising:receiving, by a computer, speech information detected by a microphone of a user computing device, text information collected by a touch input device of the user computing device, facial expression information periodically detected by a camera of the user computing device, social networking interaction information from social networking websites corresponding to one or more activities associated with an individual over a period of time, and geographical and environmental information including weather information associated with the individual, wherein the received information is captured and transmitted by a widget of the user computing device;
classifying, by the computer system, the received information according to the one or more activities associated with the individual;
detecting, by the computer system, a location of the individual, environmental and weather conditions associated with the location of the individual, a context and topic of conversation between the individual and a person, and a mood of the individual based on performing linguistic analyses on the classified speech information, performing linguistic analyses on the classified text information, performing linguistic analyses on the classified social networking interaction information, and performing analyses on the received facial expression information by comparing the received facial expression information to template images of facial expressions;
determining, by the computer system, a future event associated with the individual based on the classified information corresponding to speech, text, and social network interactions, wherein the future event comprises an unscheduled future event;
generating, by the computer system, a notification that includes a recommendation for the individual based on the detected location, environmental and weather conditions of the detected location, the detected mood of the individual, the detected context and topic of conversation, and the future event associated with the individual, wherein the recommendation comprises a time and location for meeting the person with which the individual had the conversation; and
transmitting, by the computer system over the network, the notification to the user computing device to cause the widget of the user computing device to activate and display a visual indication of the recommendation to the individual by a display of the user computing device.

US Pat. No. 10,656,977

AUTOMATIC DEPLOYMENT OF MANUFACTURING ADAPTERS

TechSolve, Inc., Cincinn...

1. A system comprising:a) a manufacturing device comprising one or more components;
b) an adapter, the adapter configured based on an adapter configuration file to generate a data translation file for the manufacturing device by performing a set of translation file creation steps comprising:
i) determining, based on the adapter configuration file, a set of data items to include in a data stream for the manufacturing device;
ii) determining a set of active components by interrogating the manufacturing device;
and
iii) for each active component from the set of active components:
A) for each of one or more data items from the set of data items to include in the data stream for the manufacturing device, adding an entry for that data item to the data translation file;
and
c) an agent, the agent configured to:
i) request the data stream for the manufacturing device from the adapter;
ii) interpret the data stream for the manufacturing device using the data translation file for the manufacturing device; and
iii) provide a standard format output encapsulating data from the data stream for the manufacturing device to one or more client applications.

US Pat. No. 10,656,976

USER DATA MANAGEMENT ACROSS MULTIPLE APPS ON A USER DEVICE

PAYPAL, INC., San Jose, ...

1. A computer device, comprising:one or more processors, one or more computer-readable memories, with program instructions stored on the one or more computer-readable memories, the one or more processors configured to execute the program instructions to cause the computer device to perform operations comprising:
in response to detecting a user action within a first application on the computer device, identifying a second application installed on the computer device, wherein the second application is different from the first application, and wherein a user of the computer device has been authenticated on the second application;
identifying, based on an analysis of an application registry corresponding to the computer device, that the user has been successfully authenticated on the second application;
obtaining, via a first application programming interface (API) of the second application, a first set of user data associated with the user, from the second application;
determining that first data of the first set of user data obtained from the second application installed on the computer device does not correspond to a second set of user data associated with the first application installed on the computer device; and
in response to determining that the first data of the first set of user data does not correspond to the second set of user data associated with the first application, causing at least a first portion of the second set of user data to be updated, wherein the updated at least the first portion of the second set of user data corresponds to the first data of the first set of user data.

US Pat. No. 10,656,975

HYBRID CLOUD WITH DYNAMIC BRIDGING BETWEEN SYSTEMS OF RECORD AND SYSTEMS OF ENGAGEMENT

INTERNATIONAL BUSINESS MA...

1. A method comprising:receiving, by a computing device, a request to provision a new workload in a distributed computing environment;
identifying, by the computing device, using a database of prior connections, a plurality of components available in a system of record (SoR) comprising a mainframe computer;
receiving, by the computing device, a selected component of at least one of the plurality of components available in the SoR;
provisioning, by the computing device, the new workload by creating a data flow using the selected component; and
adding, by the computing device, the data flow to the database of prior connections,
wherein:
the creating the data flow comprises using a system of interaction (SoI) comprising a mobile enterprise application platform to dynamically bridge between the SoR and a system of engagement (SoE) comprising a plurality of mobile devices,
the creating the data flow further comprises using an application programming interface (API) included in the SoI to connect to at least one backend system in the SoR,
Queued Direct Input Output (QDIO) for middleware residing on the mainframe computer is used to reduce a performance bottleneck from the SoR to the SoE,
the identifying the plurality of components available in the SoR comprises using a discovery process in the mainframe computer that identifies at least one middleware module on the mainframe computer and at least one backend system with which the at least one middleware module communicates,
the at least one middleware module provides transaction processing, database services, and information management services of the at least one backend system,
the creating the data flow further comprises creating a bridge that causes data to flow between a connector program module in the mainframe computer that communicates with the at least one middleware module and the mobile enterprise application platform and that causes data to flow between the mobile enterprise application platform and each of the plurality of mobile devices, and
the computing device is a cloud brokerage and the creating the bridge is performed by the cloud brokerage using a reusable application programming interface.

US Pat. No. 10,656,974

METHOD FOR COMMUNICATION IN OPERATING SYSTEM AND RELATED PRODUCTS

GUANGDONG OPPO MOBILE TEL...

1. A method for communication in an operating system, comprising:obtaining, by an application layer of a terminal device, a feature sequence via applying a hash algorithm to a character string;
transmitting, by the application layer of the terminal device, the feature sequence to a kernel of an operating system of the terminal device; and
determining, by the kernel of the operating system of the terminal device, an operation specified by the character string according to at least the feature sequence and a correspondence relationship between feature sequences and operations specified by character strings.

US Pat. No. 10,656,973

AUTOMATED API EVALUATION BASED ON API PARAMETER RESOLUTION

FUJITSU LIMITED, Kawasak...

1. A method for evaluating and selecting an application programming interface (API), the method comprising:accessing source-code in two or more computer programming languages from an API repository;
training a machine learning classifier using generalized, extracted API-calls to learn variations of API-call programming language syntaxes through usage of the API-call programming language syntaxes in the source-code;
based on the machine learning classifier, building API-call models for the two or more computer programming languages;
building a parameter relations graph based on backtracking data-flow from API-calls extracted from public, source-code project repositories based on the API-call models;
retrieving sample parameter values from the parameter relations graph; and
implementing the sample parameter values in an evaluation interface to evaluate functionality of an API in a software application.

US Pat. No. 10,656,972

MANAGING IDEMPOTENT OPERATIONS WHILE INTERACTING WITH A SYSTEM OF RECORD

International Business Ma...

1. A method comprising:managing idempotent operations on a computer, by the computer:
receiving a first request to perform an operation on a system of record from a client, wherein the first request is received via a network;
querying an idempotency resolver to determine whether a result corresponding to the operation is located in a mapping table of the idempotency resolver;
generating a generated key for a business object corresponding to the operation;
searching the mapping table for a first match to all of the generated key;
responsive to determining that the first match exists, retrieving the result from the mapping table based on finding the first match;
responsive to determining that the first match does not exist, searching the mapping table for a second match to a portion of the generated key of the business object; and
responsive to determining that the result is in the mapping table, sending the result to the client via the network; and
wherein:
the first match to the generated key is for all of the generated key of the business object;
all of the generated key includes a client identifier, a system of record identifier, a primary key value corresponding to the business object, and a hash of a current state of the business object;
responsive to determining that the first match to the generated key is in the mapping table, retrieving the result corresponding to the operation from the mapping table is based on finding the first match to all of the generated key; or
responsive to determining that the first match to the generated key does not exist in the mapping table, the portion of the generated key includes the client identifier, the system of record identifier, and the primary key value corresponding to the business object.

US Pat. No. 10,656,971

AGILE FRAMEWORK FOR VERTICAL APPLICATION DEVELOPMENT AND DELIVERY

DELL PRODUCTS L.P., Roun...

1. A software development platform comprising:a processor;
one or more user-selectable modular units containing a vertical stack of back-end business logic;
one or more user-selectable modular units containing domain model components;
one or more user-selectable modular units containing front end presentation components; and
a virtual appliance comprising application-specific logic that includes one or more of the modular units containing the vertical stack of back-end business logic, one or more of the user-selectable modular units containing the domain model components and one or more of the user-selectable modular units containing front end presentation components.

US Pat. No. 10,656,970

SCHEDULING GRAPH COMPUTING ON HETEROGENEOUS PROCESSING RESOURCES BASED ON ENERGY EFFICIENCY

Futurewei Technologies, I...

1. A scheduling engine, comprising:a non-transitory memory storage comprising instructions; and
one or more processors in communication with the non-transitory memory storage, wherein the one or more processors execute the instructions to:
receive an edge set that represents a portion of a graph comprising a plurality of vertices and a plurality of edges, the edge set including at least two of the plurality of vertices coupled by at least one of the plurality of edges, each vertex of the plurality of vertices representing a data object or a process, and each edge coupling two vertices of the plurality of vertices and representing a dependency relationship between the two vertices, wherein at least a second edge set represents a remaining portion of the graph, with the edge set and the at least second edge set being configurable for parallel execution;
obtain an operating characteristic for each processing resource of a plurality of heterogeneous processing resources, wherein the heterogeneous processing resources comprise a corresponding plurality of heterogeneous computing devices communicatively coupled with the scheduling engine, and the operating characteristic for a computing device of the plurality of heterogeneous computing devices defines a relationship between execution speed for executing the edge set by the computing device and power consumption for the computing device;
compute, based on the operating characteristics and an energy parameter, a set of processing speed values for the edge set, each speed value corresponding to a different processing resource of the plurality of heterogeneous processing resources for executing the edge set, wherein the energy parameter is a value between 0 and 1 that controls a balance between minimizing execution time for executing the edge set, when the energy parameter is 0, and minimizing energy consumption, when the energy parameter is 1 for executing the edge set; and
identify an optimal processing speed value from the set of processing speed values for executing the edge set using one of the plurality of heterogeneous computing devices, the optimal processing speed value minimizing the energy consumption or the execution time as specified by the energy parameter.

US Pat. No. 10,656,969

SYSTEM AND METHOD FOR PROVIDING SEAMLESS THIN CLIENT CONVERSION

CITRIX SYSTEMS, INC., Fo...

1. A computer processing system comprising:at least one processor configured to:
operate based on an operating system providing an operating system user interface; and
perform the following in response to a user logging into the computer processing system and before the user can interact with the operating system:
manage control of user interactions with the operating system,
intercept at least one shell component of the operating system so that the at least one shell component is not available to the user, and
redefine the operating system user interface based on the managing and intercepting so that the user is not able to access the at least one shell component in order to provide a seamless thin client conversion.

US Pat. No. 10,656,968

MANAGING A SET OF WEAR-LEVELING DATA USING A SET OF THREAD EVENTS

International Business Ma...

1. A computer-implemented method comprising:monitoring, with respect to a bus which is connected to a computer hardware component of a plurality of compute nodes, a set of bus traffic, which indicates utilization of the bus;
collecting, in response to monitoring the set of bus traffic, a set of bus traffic data, which indicates a historical utilization of the computer hardware component based on the set of bus traffic;
determining, based on the set of bus traffic data, a set of wear-leveling data for each compute node of the plurality of compute nodes, wherein each set of wear-leveling data includes a plurality of sets of component usage data respectively corresponding to individual one of different component types, wherein each set of component usage data indicates a degree of historical utilization of the respectively corresponding component type in the compute node;
ascertaining a respective set of component prioritization data for each virtual machine (VM) of a plurality of VMs, wherein each set of component prioritization data specifies one or more operational priorities respectively corresponding to ones of the different component types indicating a degree of importance of the respective component type relative to the other different component types;
determining, a placement arrangement for the VMs with respect to the plurality of compute nodes, wherein determining the placement arrangement comprises, for each VM of the plurality of VMs:
identifying, using the set of component prioritization data for the VM, a component type with a highest degree of importance for the VM;
identifying, using the sets of wear-leveling data, a compatible compute node of the plurality of compute nodes which has the lowest degree of historical utilization of the identified component type compared to the other compute nodes of the plurality of compute nodes;
identifying, using the sets of component usage data, a compatible component in the identified compatible compute node which has the lowest degree of historical utilization of the identified component type compared to other components of the identified component type; and
storing, in the placement arrangement, an indication that the VM is matched with the identified compatible compute node and the identified compatible component and
placing, based on the placement arrangement, each VM of the plurality of VMs on the compute node and the compatible component matched to the VM, wherein:
determining the set of wear-leveling data includes:
analyzing the bus traffic data with respect to usage intensity, which indicates an extent to which the computer hardware component is taxed by an access request, and
weighting wear-levels assigned to each of the compute nodes based on the usage intensity of the access request.

US Pat. No. 10,656,967

ACTOR AND THREAD MESSAGE DISPATCHING

Amazon Technologies, Inc....

1. A system comprising:one or more processors
one or more memories that store a set of instructions, which when executed by the one or more processors, causes the one or more processors to perform operations comprising:
receiving a first message associated with a first actor of a plurality of actors associated with a computing system;
determining that the first actor is not assigned to any of a plurality of processing threads within the computing system; and
selecting, based at least in part on a set of priorities associated with workloads of the plurality of processing threads, a first processing thread for processing of the first message, wherein the set of priorities comprises a first priority associated with idle processing threads, a second priority associated with non-idle processing threads that have no messages queued for processing, and a third priority associated with non-idle processing threads that have messages queued for processing, and wherein the non-idle processing threads that have messages queued for processing are prioritized based, at least in part, on message processing wait times.

US Pat. No. 10,656,966

DEEP-INSPECTION WEIGHTED ROUND ROBIN OF MULTIPLE VIRTUALIZED RESOURCES

Amazon Technologies, Inc....

4. The computer-implemented method of claim 1, wherein the first queue is assigned to a first instance that is executed by the second computing device, and wherein a third queue for the first hardware resource exists that is assigned to a second instance that is also executed by the second computing device.

US Pat. No. 10,656,964

DYNAMIC PARALLELIZATION OF A CALCULATION PROCESS

Oracle International Corp...

1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to generate a parallel calculation plan to evaluate a set of rule-based expressions, the generation comprising:splitting the set of rule-based expressions into a plurality of task units, wherein at least a portion of the task units comprise a measure from the set of rule-based expressions;
arranging the plurality of task units into a sequential set of parallelizable task groups, wherein a sequential ordering of the parallelizable task groups is determined by logical dependencies problem partitioning associated with the set of rule-based expressions, and at least two task units from the plurality of task units that comprise independent measures are arranged in a same parallelizable task group; and
generating the parallel calculation plan comprising a sequential execution ordering of the parallelizable task groups and a parallel execution ordering of the task units within each of the parallelizable task group, wherein the parallel calculation plan is scheduled for parallel execution across a cluster of computers, the parallel execution ordering includes parallel execution of the at least two task units that comprise independent measures, and at least one of the two task units aggregates data over one of the independent measures; and
causing the parallel calculation plan to be executed.

US Pat. No. 10,656,963

SYSTEM AND METHOD FOR TRANSFER OF AN APPLICATION STATE BETWEEN DEVICES

OPEN INVENTION NETWORK LL...

1. A method, comprising:determining a recipient device comprising accessing a relay server that maintains one or more registration tables of registered devices that are configured to receive an application state transfer for an application to determine an eligible recipient device that is currently executing the application; and
providing a platform independent representation of an application state of the application from a first device to the recipient device, wherein the executed application on the first device continues to execute on the recipient device based on the application state;
wherein determining the recipient device comprises:
determining one or more eligible recipients in the server based on one or more criteria; and
indicating the one or more eligible recipients from the server to the first device.

US Pat. No. 10,656,962

ACCELERATE DEEP NEURAL NETWORK IN AN FPGA

International Business Ma...

1. A computer-implemented method for accelerating a deep neural network (DNN) in a field-programmable gate array (FPGA), comprising:receiving, by a DNN conversion platform, a DNN net file of the DNN to be automatically converted into an FPGA hardware-centric Register-transfer Level (RTL) flow implementation comprising RTL code;
automatically converting, by the DNN conversion platform, the DNN net file to one or more source files by: analyzing the DNN net file to identify a plurality of neural layers, and estimating a workload of each neural layer to determine a different level of parallelism for each layer according to resources of the FPGA, the determining a level of parallelism at a neural layer comprising: determining a channel parallelization factor (CPF) corresponding to a number of channels computed simultaneously in each neural layer and a kernel parallelization factor (KPF) corresponding to a number of kernels computed simultaneously in each neural layer;
decomposing one or more neural layers of the plurality of neural layers to one or more operation blocks; and instantiating the one or more source files, based on the one or more operation blocks;
generating an executable FPGA bit file based on the one or more source files; and
downloading the executable FPGA bit file to the FPGA, wherein said DNN conversion platform is configured to:
apply an operations data model to each neural layer of the network structure based on a received multi-dimensional input data for each layer, and reshape the received multi-dimensional data input according to parallel computing requirements of a current neural layer, said operations data model receiving data of a first dimension corresponding to a KPF of a previous neural layer and reshaping the received data according to a second dimension corresponding to a CPF of the current neural layer to fit within the current neural layer.

US Pat. No. 10,656,961

METHOD AND APPARATUS FOR OPERATING A PLURALITY OF OPERATING SYSTEMS IN AN INDUSTRY INTERNET OPERATING SYSTEM

KYLAND TECHNOLOGY CO., LT...

1. A method for running a plurality of operating systems in an industry internet operating system, wherein the industry internet operating system comprises application layer devices, cloud control layer devices, and field layer devices; the cloud control layer devices comprise an industry real-time cloud operating system which includes a multi-core Central Processing Unit (CPU), the industry real-time cloud operating system is configured to acquire and analyze data between the cloud control layer and the application layer, and to transmit a control instruction to the field layer; and the method is applicable to the industry real-time cloud operating system, and comprises:running a first core of the multi-core CPU in a Virtual Machine eXtensions, VMX, mode using a preset virtualization technology, creating at least one Virtual Machine, VM, in the first core of the multi-core CPU, and running a first operating system on a VM in the first core, wherein each VM corresponds respectively to a logic partition; and
running a second operating system directly on a physical partition in a second core of the multi-core CPU;
wherein if a plurality of VMs are created in the first core of the multi-core CPU, then scheduling the plurality of VMs running the first operating system comprises:
if a first timer for controlling switch of a time window in a schedule, and a second timer for controlling switch of a primary frame period of time in the schedule are preset in the schedule, then determining whether a current instance of time lies in a non-idle time window in the schedule, wherein the primary frame period of time is a sum of lengths of respective time windows in the schedule; and
if the current instance of time lies in the non-idle time window in the schedule, then obtaining a first VM in a ready state from the non-idle time window, and running the first VM;
otherwise, obtaining a second VM in a ready state from a priority ready queue, and running the second VM.

US Pat. No. 10,656,960

FLOW MANAGEMENT AND FLOW MODELING IN NETWORK CLOUDS

1. A method, comprising:estimating, by a system comprising a processor, a flow size associated with a virtual machine based on a parameter associated with the virtual machine; and
assigning, by the system, a network address of a group of network addresses associated with a classification to the virtual machine based on the flow size, wherein the flow size has been determined to be associated with the classification of respective classifications.

US Pat. No. 10,656,959

SHUTTING DOWN OF A VIRTUAL SYSTEM

EATON INTELLIGENT POWER L...

1. A method for shutting down a virtual system comprising several virtual machines hosted by one or more physical servers and one or more virtual machine managers, each virtual machine manager controlling one or more virtual machines, and each virtual machine hosting an application, at least one of the applications depending on at least another application, at least one application comprising a power protection software that monitors and manages power devices, at least one application comprising a virtualization manager comprising a software that monitors and manages the virtual machines and the virtual machine manager, the method comprising the steps of:receiving a shutdown command for the virtual system or detecting an event that triggers a process for shutting down of the virtual system;
sending a request for data about dependencies in the virtual system;
retrieving the requested data, which comprise dependencies of the applications executed by the virtual machines, dependencies of the virtual machines, and dependencies with the virtual machine managers;
generating a sequence of shutdown actions depending on the retrieved requested data, wherein the sequence comprises a shutting down of all applications executed by the virtual machines, comprising the shutting down of applications without dependencies, checking through the virtualization manager whether all applications in the virtual system are shut down and outputting a result, checking the result for whether all applications are shut down except the power protection software and its dependencies, and repeating the previous steps until it is determined that all applications are shut down except the power protection software; the shutting down of all virtual machines; and then the shutting down of all virtual machine managers; and
executing shutdown actions in the generated sequence in order to shut down the virtual system.

US Pat. No. 10,656,958

METHOD AND APPARATUS FOR CONTROLLING VIRTUAL SWITCHING

SAMSUNG ELECTRONICS CO., ...

1. A method of controlling virtual switching in a server, the method comprising:receiving capability information indicating which of virtual switching capabilities a network interface apparatus supports, from the network interface apparatus;
determining a first command performable by the network interface apparatus and a second command not performable by the network interface apparatus based on the capability information;
receiving packet control information including at least one command to control the virtual switching from an external apparatus;
determining whether the at least one command included in the received packet control information corresponds to the first command or the second command based on identifying of which virtual switching capabilities the network interface apparatus supports using the capability information and the packet control information received;
providing first command setting information associated with the first command to the network interface apparatus to perform virtual switching based on the first command when the at least one command includes the first command;
providing second command setting information associated with the second command to at least one operating system to perform virtual switching based on the second command when the at least one command does not include the first command but includes the second command;
receiving packets to be processed by the server and controlling processing of the received packets according to the following:
in response to determining that the at least one command includes the first command, controlling the network interface apparatus to process the received packets using the first command setting information and transmitting the processed packets to the at least one operating system, and
in response to determining that the at least one command does not include the first command, recognizing the at least one command as the second command and transmitting the received packets from the server to the at least one operating system to directly process the received packets using the second command setting information,
converting the capability information to a format of a capability information matrix, and
converting the at least one command received from the external apparatus to a format of a capability vector,
wherein the determining of whether the at least one command included in the received packet control information corresponds to the first command or the second command comprises determining whether the capability vector is included in the capability information matrix.

US Pat. No. 10,656,957

INPUT METHOD EDITOR PROVIDING LANGUAGE ASSISTANCE

MICROSOFT TECHNOLOGY LICE...

1. One or more computer-readable storage storing computer executable instructions that, when executed, cause one or more processors to perform acts comprising:detecting keystrokes within an application by operation of an in-process input method editor (IME) dynamic link library (DLL);
forwarding the keystrokes detected within the application by operation of the in-process IME DLL to an out-of-process IME platform process, wherein the out-of-process IME platform process is located within a defined computer-readable memory address range separate and distinct from an address range within which the application is defined;
detecting a need for a suggestion to assist with input of a word into the application, the detecting comprising:
accessing words entered into the application and recorded; and
calculating a probability of correctness of the word input based at least in part on the recorded words;
obtaining a suggestion for replacement of the word, if indicated by the calculated probability, the obtaining comprising:
obtaining the suggestion from a cloud linguistic service (CLS);
if network capability used to communicate with the CLS is limited or non-existent, then obtaining a suggestion from a local lexicon or statistical language-model, based at least in part on the recorded words previously entered into the application; and
utilizing a confidence score for an obtained suggestion to determine whether to present the obtained suggestion;
providing the obtained suggestion for display if indicated by the confidence score, the providing comprising:
providing the obtained suggestion for display within a notification bubble; and
providing the notification bubble for display at a location based at least in part on location of an IME bar; and
moving the IME bar and/or the notification bubble in response to input signifying movement.

US Pat. No. 10,656,956

VIRTUAL DESKTOP SERVER FOR SUPPORTING HIGH-QUALITY GRAPHICS PROCESSING AND METHOD FOR PROCESSING HIGH-QUALITY GRAPHICS USING THE SAME

ELECTRONICS AND TELECOMMU...

1. A non-transitory computer readable medium having stored thereon a program that, when executed, causes a processor to perform a method of a virtual desktop server for supporting high-quality graphics processing, the method comprising:creating an instruction for accelerated graphics processing by running a high-quality graphics application;
creating screen data by executing the instruction for accelerated graphics processing and storing the created screen data in a frame buffer;
capturing the screen data stored in the frame buffer;
converting the captured screen data corresponding to a display for rendering into a data format corresponding to a display for transfer;
copying the converted screen data onto the display for transfer; and
transmitting the converted screen data to a client over a network.

US Pat. No. 10,656,955

MODIFYING READABLE AND FOCUSABLE ELEMENTS ON A PAGE DURING EXECUTION OF AUTOMATED SCRIPTS

Capital One Services, LLC...

1. A device, comprising:one or more memories; and
one or more processors, communicatively coupled to the one or more memories, configured to:
initiate an automated script to perform one or more interactions with a browser application executing on the device;
identify a first element in a page rendered by the browser application that satisfies one or more accessibility criteria,
wherein the first element includes one or more of text that is readable by a screen reader application executing on the device or an attribute that causes the first element to be navigable using a keyboard;
modify the first element to be inaccessible to the screen reader application and the keyboard,
wherein the first element is to be modified to include an attribute that causes a second element to be omitted from a sequence of elements that are navigable using the keyboard;
insert, into the page, the second element that is readable by the screen reader application based on the one or more interactions that the automated script is performing,
wherein the second element includes text to describe the one or more interactions that the automated script is performing; and
restore the page to an original state based on determining that the automated script has finished executing.

US Pat. No. 10,656,954

INFORMATION PROCESSING APPARATUS, ACTIVATION METHOD OF INFORMATION PROCESSING APPARATUS, AND STORAGE MEDIUM

Canon Kabushiki Kaisha, ...

1. An information processing apparatus comprising:a main system; and
a sub system including a processor which executes activation processing of the sub system on the basis of a boot image transmitted from the main system,
wherein the sub system is configured:
to start the activation processing of the sub system by using the boot image which has been transferred from the main system, in activation from a power-off state of the information processing apparatus;
to store, into a second area in a storage device of the sub system, an activation program and an OS for the sub system derived from the boot image and a device driver having been initialized in the activation processing that are in a first area in the storage device in the sub system before the activation processing in the activation from the power-off state of the information processing apparatus is ended;
to restore, into the first area in the storage device in the sub system, the activation program and OS for the sub system and the initialized device driver that are in the second area in the storage device in the sub system due to the storing, in transition to a power saving state of the information processing apparatus;
to continue holding the activation program, the OS and the initialized device driver that have been restored in the first area in the storage device in the sub system at least while the information processing apparatus is in the power saving state.

US Pat. No. 10,656,953

TECHNIQUES FOR PERSISTING AND MODIFYING CONFIGURATION REQUIREMENT STATE INFORMATION IN A MULTIPLE NODE SYSTEM

EMC IP Holding Company LL...

1. A method of system hardening comprising:receiving a command enabling configuration requirements in a system that includes a first processor and a second processor, wherein the first processor has a first configuration and is configured as an active processor that services received requests, and wherein the second processor has a second configuration and is configured as a passive processor that does not service received requests;
persistently storing state information regarding the configuration requirements enabled by the command;
modifying, in accordance with the state information, the second configuration of the second processor to apply and thereby harden the configuration requirements in the second configuration of the second processor;
rebooting the second processor that executes using the second configuration that has been hardened;
modifying, in accordance with the state information, the first configuration of the first processor to apply and thereby harden the configuration requirements in the first configuration of the first processor;
rebooting the first processor that executes using the first configuration that has been hardened; and
during said rebooting of the first processor, the first processor configured as the active processor becomes unavailable and triggers a switchover whereby the second processor is configured as the active processor that services received requests and the first processor is configured as the passive processor that does not service received requests, wherein the configuration requirements include a plurality of categories and the state information indicates whether any of the configuration requirements are enabled for the system, the state information indicates whether one or more selected categories of the plurality of categories of the configuration requirements are enabled for the system, the command enables the one or more selected categories of the configuration requirements, and the state information regarding the configuration requirements indicates that the one or more selected categories of the configuration requirements are enabled, and wherein the method further includes:
issuing a second command that disables the one or more selected categories of the configuration requirements; and
persistently storing an updated version of the state information regarding the configuration requirements to indicate that the one or more selected categories of the configuration requirements are disabled.

US Pat. No. 10,656,952

SYSTEM ON CHIP (SOC) AND METHOD FOR HANDLING INTERRUPTS WHILE EXECUTING MULTIPLE STORE INSTRUCTIONS

NXP B.V., San Jose, CA (...

1. A System-on-Chip (SoC), comprising:a processor unit configured to execute a multiple store instruction for storing a plurality of data words;
a data interface block, DIB, which is external to the processor unit;
a data bus that connects the processor unit to the DIB; and
a data interface that is connected to the DIB for transmitting data from the SoC and for receiving data at the SoC;
wherein the DIB is connected between the data bus and the data interface, the DIB having a first in first out (FIFO) buffer configured to store data from the processor unit to be provided to the data interface for store operations, and configured to, in response to an occurrence of an interrupt during execution of the multiple store instruction, save a state of the multiple store instruction, wherein saving the state of the multiple store instruction comprises storing a value indicating the number of data words corresponding to the multiple store instruction that have already been stored when the interrupt occurs;
wherein the DIB is further configured to, when the multiple store instruction is executed again by the processor unit after the interrupt, skip storing of a number of data words corresponding to the multiple store instruction, wherein said number of data words that are skipped equals the stored value, such that while executing the multiple store instruction again after the interrupt, data words are not pushed onto the FIFO buffer until the stored value number of data words has been provided by the processor unit to the DIB.

US Pat. No. 10,656,951

PIPELINE INCLUDING SEPARATE HARDWARE DATA PATHS FOR DIFFERENT INSTRUCTION TYPES

ADVANCED MICRO DEVICES, I...

1. An apparatus comprising:a first processing element implemented in a first stage of a pipeline and configured to execute an instruction;
a first array of multiplexers to provide information associated with the instruction to the first processing element in response to the instruction being in a first set of instructions;
a second array of multiplexers to provide information associated with the instruction to the first processing element in response to the instruction being in a second set of instructions; and
a control unit to gate at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set.

US Pat. No. 10,656,950

SPIN LOOP DELAY INSTRUCTION

INTERNATIONAL BUSINESS MA...

17. A computer-implemented method of facilitating processing within a computing environment, said computer-implemented method comprising:decoding, in a decode unit of an instruction pipeline, an instruction defined to be delayed, the instruction having a field associated therewith that indicates one or more conditions to be checked;
delaying dispatching of the instruction on a thread of the computing environment, wherein the delaying stalls dispatching of the instruction in the decode unit and stalls one or more subsequent instructions of the thread; and
dispatching the instruction based on a timeout, provided the instruction has not been previously dispatched based on meeting at least one condition of the one or more conditions to be checked.

US Pat. No. 10,656,949

INSTRUCTION-BASED NON-DETERMINISTIC FINITE STATE AUTOMATA ACCELERATOR

Fungible, Inc., Santa Cl...

1. A processing device comprising:a memory including a non-deterministic finite automata (NFA) buffer configured to store a plurality of instructions defining an ordered sequence of instructions of at least a portion of an NFA graph, the portion of the NFA graph comprising a plurality of nodes arranged along a plurality of paths; and
an NFA engine implemented in circuitry, the NFA engine comprising one or more NFA threads implemented in circuitry, each of the NFA threads comprising:
a program counter storing a value defining a next instruction of the plurality of instructions; and
a payload offset memory storing a value defining a position of a current symbol in an ordered sequence of symbols of a payload segment of payload data, the NFA engine further comprising a processing unit configured to:
determine the current symbol and one or more subsequent symbols of the payload segment that satisfy a match condition specified by a subset of instructions of the plurality of instructions for a path of the plurality of paths, the subset of instructions comprising the next instruction and one or more subsequent instructions of the plurality of instructions, wherein the subset of instructions comprises a fork instruction defining a first instruction for a first sub-path for the path and a second instruction for a second sub-path for the path and wherein, to determine the current symbol and the one or more subsequent symbols of the payload segment, the NFA engine is configured to execute the fork instruction, to cause the NFA engine to:
in response to determining that the current symbol speculatively satisfies a match condition of a first instruction for the first sub-path, update the program counter to point to an instruction of the subset of instructions corresponding to the first sub-path; and
in response to determining that the current symbol speculatively satisfies the match condition of the second instruction for the second sub-path and the current symbol does not speculatively satisfy the match condition of the first instruction for the first sub-path, update the program counter to point to an instruction of the subset of instructions corresponding to the second sub-path; and
in response to determining the current symbol and the one or more subsequent symbols of the payload segment that satisfy the match condition, output an indication that the payload data has resulted in a match.

US Pat. No. 10,656,948

PROCESSOR SYSTEM AND METHOD BASED ON INSTRUCTION READ BUFFER

SHANGHAI XINHAO MICROELEC...

1. A method for facilitating operation of a processor core, comprising:storing instructions possibly to be executed in an instruction buffer (IRB);
serving stored instructions autonomously, by the IRB, to the processor core for execution based on execution results of prior instructions;
storing a fall-through instruction and a branch target instruction of a branch instruction to the IRB prior to execution of the branch instruction;
passing a token based on the execution results of prior instructions; and serving to the processor core a plurality of instructions including the instruction corresponding to the token;
passing the token onto a token bus when a first zigzag word line on which the token is on reaches a boundary of an instruction block;
receiving the token from the token bus, by an instruction block designated by a next block address, and enabling a second zigzag word line to start at a first instruction of the instruction block; and
outputting corresponding instructions by IRB read ports controlled by the first and second zigzag word lines.

US Pat. No. 10,656,947

PROCESSOR TO PERFORM A BIT RANGE ISOLATION INSTRUCTION

Intel Corporation, Santa...

1. A processor comprising:a plurality of registers to store data, the plurality of registers including a first source register to store a source value, a second source register to store an 8-bit index value, a destination register, and a flags register to store a plurality of flag values, including a carry flag, a zero flag, a sign flag, and an overflow flag;
instruction decode circuitry to decode a bit range isolation instruction; and
execution circuitry coupled to the instruction decode circuitry, the execution circuitry to perform operations associated with the bit range isolation instruction, the operations comprising selecting a first range of bits from the source value or a system memory location starting at a first bit position identified by the 8-bit index value, writing the first range of bits to corresponding bit positions in the destination register, and writing zeroes to all bits in a second range of bits in the destination register having more significant bit positions than the first bit position;
wherein the execution circuitry is to clear the overflow flag responsive to execution of the bit range isolation instruction, and to set the carry flag if the 8-bit index value is greater than an operand size of the source value.

US Pat. No. 10,656,946

PREDICTING A TABLE OF CONTENTS POINTER VALUE RESPONSIVE TO BRANCHING TO A SUBROUTINE

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:calling a subroutine from a calling module executing on a processor;
predicting, based on calling the subroutine, a value of a pointer to a reference data structure, the predicting being performed prior to executing a sequence of one or more instructions in the subroutine to compute the value of the pointer;
determining whether a current instruction in the subroutine corresponds to the sequence of one or more instructions to compute the value of the pointer;
inserting in the code, based on determining the current instruction corresponds to the sequence of one or more instructions to compute the value, a single check instruction to check the prediction of the value, the inserting replacing the sequence of one or more instructions, wherein instructions to compute the value of the pointer are replaced by the single check instruction; and
using the value that is predicted to access the reference data structure to obtain a variable value for a variable of the subroutine.

US Pat. No. 10,656,945

NEXT INSTRUCTION ACCESS INTENT INSTRUCTION FOR INDICATING USAGE OF A STORAGE OPERAND BY ONE OR MORE INSTRUCTIONS SUBSEQUENT TO A NEXT SEQUENTIAL INSTRUCTION

INTERNATIONAL BUSINESS MA...

1. A computer system comprising:a memory; and
a processor in communication with said memory, said processor comprising an instruction fetching unit for fetching instructions from the memory and one or more execution units for executing fetched instructions;
wherein said computer system is configured to perform a method comprising:
obtaining an access intent instruction, said access intent instruction comprising an access intent operand indicating an access intent for a specified storage operand as defined in a next sequential instruction, said access intent indicating usage of said storage operand by one or more instructions subsequent to said next sequential instruction;
executing said access intent instruction, said executing of said access intent instruction comprising signaling to the processor executing said access intent instruction the access intent indicated for the specified storage operand of said next sequential instruction;
obtaining the next sequential instruction; and
executing said next sequential instruction, said executing said next sequential instruction comprising:
based on said access intent, adjusting one or more actions directed at caching for said storage operand of said next sequential instruction, wherein:
a first value of the access intent operand signals to the processor that the storage operand of said next sequential instruction may or may not be accessed as an instruction operand by said one or more instructions subsequent to said next sequential instruction;
a second value of the access intent operand signals to the processor that the storage operand of said next sequential instruction will be accessed by said one or more instructions subsequent to said next sequential instruction for operand store access and may also be accessed for operand fetch access;
a third value of the access intent operand signals to the processor that the storage operand of said next sequential instruction will be accessed by said one or more instructions subsequent to said next sequential instruction for operand fetch access; and
a fourth value of the access intent operand signals to the processor that the storage operand of said next sequential instruction will not be accessed as an instruction operand by said one or more instructions subsequent to said next sequential instruction.

US Pat. No. 10,656,944

HARDWARE APPARATUS AND METHODS TO PREFETCH A MULTIDIMENSIONAL BLOCK OF ELEMENTS FROM A MULTIDIMENSIONAL ARRAY

Intel Corporation, Santa...

1. A hardware processor comprising:a decoder to decode an instruction to prefetch a multidimensional block of elements from a multidimensional array into a cache, wherein one or more fields of the instruction are to indicate a memory address of an element of the multidimensional block of elements, a stride of the multidimensional block of elements, and boundaries of the multidimensional block of elements; and
an execution unit to execute the instruction to:
generate memory addresses of the other elements of the multidimensional block of elements, and
load the multidimensional block of elements into the cache from the memory addresses.

US Pat. No. 10,656,943

INSTRUCTION TYPES FOR PROVIDING A RESULT OF AN ARITHMETIC OPERATION ON A SELECTED VECTOR INPUT ELEMENT TO MULTIPLE ADJACENT VECTOR OUTPUT ELEMENTS

Telefonaktiebolaget LM Er...

1. A calculation circuit for a digital signal processor, the calculation circuit being configured to, responsive to the digital signal processor executing, during a first operation cycle, a first program instruction selected from a digital signal processor instruction set comprising at least a first instruction type and a second instruction type, produce a first real valued output and a second real valued output based on at least one of a first real valued input and a second real valued input, the first and second real valued inputs organized as adjacent elements of a first vector which is an input vector, the calculation circuit comprising:a selector configured to select one of the first real valued input and the second real valued input as a given real valued input, based on a selection control signal, wherein the selector is configured to select the first real valued input as the given real valued input responsive to the selection control signal indicating that the first instruction type is being executed and the selector is configured to select the second real valued input as the given real valued input responsive to the selection control signal indicating that the second instruction type is being executed;
an arithmetic calculation unit configured to perform an arithmetic operation on the selected real valued input to provide a real valued result;
an output provider adapted to provide the first real valued output and the second real valued output during the first operation cycle based on the real valued result, the first and second real valued outputs being organized as adjacent elements of a second vector which is an output vector; and
a controller configured to:
provide the selection control signal to the selector based on the first program instruction and, in response to the first program instruction being one of the first instruction type and the second instruction type, cause the output provider to provide the real valued result as the first real valued output and to duplicate the real valued result as the second real valued output, such that the second vector is a real valued vector of scaling values, for real-complex multiplication with a third vector that is a complex valued vector, using a real-real multiplication instruction.

US Pat. No. 10,656,942

FIXED POINT TO FLOATING POINT CONVERSION

Intel Corporation, Santa...

1. An apparatus comprising:memory to store an instruction;
a processor coupled to the memory, the processor to at least include:
decode circuitry to decode the instruction having fields for an opcode, a packed data source operand identifier, and a packed data destination operand identifier, and
execution circuitry to execute the decoded instruction according to the opcode to convert a data element from a packed data element position of the identified packed data source operand from a fixed-point representation to a floating point representation, store the floating point representation into a packed data element position of the identified packed data destination operand, and zero all remaining packed data elements of the identified packed data destination operand.

US Pat. No. 10,656,941

DIAGNOSING PRODUCTION APPLICATIONS

Microsoft Technology Lice...

1. A method, comprising:modifying an application that is executing on a production server by rewriting intermediate language code for the application to include one or more conditional expressions defining one or more conditions for creating one or more snapshots of the application at one or more locations of one or more possible errors;
evaluating the one or more conditional expressions in the application during execution of the application;
creating a snapshot of the application during execution of the application without stopping execution of the application and in a way that avoids downtime while maintaining state when the one or more conditional expressions is evaluated as being true, wherein the snapshot creates an entire copy of all memory pages for the application;
creating one or more additional snapshots of the application when the evaluation subsequently indicates the one or more conditional expression to be true during execution of the application; and
collecting and comparing data from the snapshot and the one or more additional snapshots using a diagnostic tool to identify one or more trends.

US Pat. No. 10,656,940

SYSTEMS, DEVICES, AND METHODS FOR SOURCE CODE GENERATION FROM BINARY FILES

Architecture Technology C...

1. A method comprising:identifying, by a hardware processor, a predetermined machine code string embedded in a binary file;
disassembling, by the hardware processor, the binary file such that an assembly language set is generated;
inputting, by the hardware processor, the assembly language set to a front end of a multistage compiler such that the front end generates an abstract syntax tree, wherein the multistage compiler includes a back end;
inputting, by the hardware processor, the abstract syntax tree into an artificial neural network such that the artificial neural network identifies a compiler optimization in the abstract syntax tree;
de-optimizing, by the hardware processor, the abstract syntax tree such that the compiler optimization is removed and a transformed abstract syntax tree is generated without the compiler optimization; and
inputting, by the hardware processor, the transformed abstract syntax tree to the back end such that the back end generates a high level source code based on the predetermined machine code string, wherein the high level source code corresponds to the binary file.

US Pat. No. 10,656,939

MODELING LIFETIME OF HYBRID SOFTWARE APPLICATION USING APPLICATION MANIFEST

Microsoft Technology Lice...

1. A system to model a lifetime of a hybrid software application that includes heterogeneous software products using an application manifest, the system comprising:memory; and
one or more processors coupled to the memory, the one or more processors configured to:
receive (a) workflows that are configured to implement the respective heterogeneous software products and (b) input-output information that specifies inputs of the heterogeneous software products and that further specifies a mapping between at least one output of at least one first heterogeneous software product and at least one input of at least one second heterogeneous software product;
determine operations that are to be performed to execute the workflows based at least in part on the inputs and the mapping; and
model the lifetime of the hybrid software application by generating an application manifest that defines the lifetime based at least in part on the operations to reduce an amount of resources that is consumed to configure the hybrid software application for execution.

US Pat. No. 10,656,938

EXTERNAL COMMENT STORAGE AND ORGANIZATION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for external storage and organization of documentation for computer-executable source code, the method comprising:receiving, from a user, an indication of a selected codebase;
determining that a code comment database does not exist for the selected codebase;
generating a new code comment database for the selected codebase;
presenting, to the user, a user interface for navigating the new code comment database;
prompting the user for code documentation; and
inserting the code documentation into the new code comment database.

US Pat. No. 10,656,937

CONTAINER BASED APPLICATION REIFICATION

RUBRIK, INC., Palo Alto,...

1. An application reification system comprising: one or more computer readable storage media;a processing system comprising a processor operatively coupled with the one or more computer readable storage media; and
program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:
preserve a version of application data at a first time, the version of application data including a copy of a state of an application at the first time, the application executing on a host system separate from the application reification system;
preserve an application configuration of the application at the first time, the application configuration including information associated with the execution of the application at the first time;
at a second time subsequent to the first time, receive, from the host system, a request to reify the application at the state corresponding to the first time in a container on the host system; and
in response to the request:
create a container template, the container template including information associated with instantiating the container executing the application at the state corresponding to the first time, the container template including the application configuration of the application at the first time and a pointer to the version of the application data stored in a secondary storage repository, and
instantiate, based on the created container template, the container executing the application at the state corresponding to the first time;
copy the instantiated container on the application reification system; and
provide the container template to the host system for reifying the application at the state corresponding to the first time in the container by using the application data stored in the second storage repository.

US Pat. No. 10,656,936

SYSTEMS AND METHODS FOR SOFTWARE INTEGRITY VALIDATION USING BLOCKCHAIN

Dell Products L.P., Roun...

1. A method, comprising:reading a last block of a blockchain associated with a code developer having a private key and public key pair associated with the blockchain;
wherein each block of the blockchain includes a signed hash comprising a hash digest and a signature of the hash digest generated using the private key;
hashing a compilation to generate a new hash digest, the compilation comprising the signed hash of the read last block, the public key and a new code digest;
signing the new hash digest with the private key to generate a new signature; and
creating an updated blockchain without the new code digest by updating the blockchain with a new block that includes the new signed hash comprising the new hash digest and the new signature.

US Pat. No. 10,656,935

MAINTAINING AND UPDATING SOFTWARE VERSIONS VIA HIERARCHY

HOME BOX OFFICE, INC., N...

1. A method comprising:maintaining, by a system comprising a processor, a hierarchy of software entities, including different sub-hierarchies corresponding to different versions of at least some of the software entities;
receiving, by the system, from a requestor a version identifier and a request for a software entity set comprising one or more software entities corresponding to that version identifier;
accessing, by the system, the hierarchy of software entities to select a version-based software entity set selected at least in part via the version identifier, wherein the accessing comprises:
obtaining, by the system, a version-based template for a software entity of the version-based software entity set corresponding to the version identifier,
obtaining, by the system, a generic version of the software entity, and
customizing, by the system, the generic version of the software entity using the version-based template to generate version-based software entity corresponding to the version identifier; and
returning, by the system, information corresponding to the selected software entity set to the requestor, the information comprising the version-based software entity corresponding to the version identifier.

US Pat. No. 10,656,934

EFFICIENT SOFTWARE TESTING

International Business Ma...

1. A computer-implemented method comprising:identifying a model having a set of model elements assigned relevance scores based on correspondence between each model element in the set of model elements and a pre-defined suspect element, the model producing an expected behavior when running a test case;
generating a reduced model on condition that the reduced model include only model elements assigned a threshold reduction score corresponding to the relevance scores;
determining that the reduced model does not reproduce the expected behavior when running the test case;
rolling back a model element into the reduced model to produce a revised model; and
responsive to the revised model not reproducing the expected behavior, performing a rollback refinement of the revised model based on a number of model elements rolled back into the reduced model.

US Pat. No. 10,656,933

ZERO DOWNTIME FOR FREQUENT SOFTWARE UPDATES

SAP SE, Walldorf (DE)

1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to:install an update engine on a server;
wherein the update engine is configured to generate a bridge schema corresponding to an original schema of a database system, the original schema including a plurality of database tables and having a connection to an application server and being used by a software application executing on the application server;
wherein the update engine is configured to generate, within the bridge schema, a plurality of bridge views corresponding to the plurality of database tables;
wherein the update engine is configured to change the connection to the bridge schema and continue executing the software application using the plurality of bridge views;
wherein the update engine is configured to generate create and delete statements for the plurality of bridge views;
wherein the update engine is configured to receive a change file defining update changes to at least one original database table of the plurality of database tables;
wherein the update engine is configured to synchronize content of the at least one original database table with a target table, the target table reflecting the update changes;
wherein the update engine is configured to change the connection back to the original schema of the database system and continue executing the software application, using the plurality of database tables and including the target table; and
wherein the bridge schema and the create and delete statements are generated prior to receipt of the change file.

US Pat. No. 10,656,932

RADIO UPDATING METHOD

United Radio, Inc., East...

1. A method for upgrading software stored on a hardware unit using an upgrade system comprising a hardware rack and a computer, the method comprising the steps of:receiving a plurality of vehicle hardware units from a hardware unit providing entity, wherein each of the plurality of vehicle hardware units is identified by the hardware unit providing entity as requiring or possibly requiring a software update, wherein each of the plurality of vehicle hardware units are received from the hardware unit providing entity after being removed from a vehicle, and further wherein the hardware unit providing entity is a vehicle dealership;
connecting each of the received plurality of vehicle hardware units to each of:
(1) the hardware rack of the upgrade system, wherein the hardware rack provides power to each of the plurality of vehicle hardware units via a first wired connection; and
(2) the computer of the upgrade system via a second, wired connection, wherein the computer comprises an upgrade algorithm, such that all of the received plurality of vehicle hardware units are concurrently receiving power from the hardware rack and are concurrently connected to the computer;
scanning, by the upgrade algorithm, for the presence of the plurality of vehicle hardware units;
querying, by the upgrade algorithm, each of the plurality of vehicle hardware units for information about the software stored on the respective hardware unit;
determining, by the upgrade algorithm, that an upgrade is available for the software stored on at least one of the plurality of vehicle hardware units, comprising comparing the information about the software stored on the respective hardware unit to a database comprising information about software and available upgrades;
installing the available upgrade on the at least one of the plurality of vehicle hardware units;
receiving, from the upgrade algorithm, an indication that the installation was successful on at least one of the plurality of vehicle hardware units; and
returning each of the plurality of vehicle hardware units to the respective hardware unit providing entity.

US Pat. No. 10,656,931

NETWORK EVENT TRIGGERED SOFTWARE UPDATES

Comcast Cable Communicati...

1. A method comprising:during a time period in which a client device is permitted to use data services via a network, receiving, by a first computing device, a request that is:
addressed to a second computing device;
for an extension of use of a network address; and
configured to cause the second computing device to cause a sending, via a third computing device, an update to software installed on the client device;
based on the request, sending, by the first computing device and to the third computing device, a message that is configured to cause sending, via the third computing device and to the client device, of the update; and
sending, by the first computing device and to the second computing device, a modified request for the extension of the use of the network address, wherein the modified request is configured, based on an indication that the first computing device sent the message to the third computing device, to prevent the second computing device from causing another sending, via the third computing device, of the update.

US Pat. No. 10,656,930

DYNAMIC DEPLOYMENT TARGET CONTROL

Microsoft Technology Lice...

1. A computing system, comprising:a processor;
deployment functionality that performs a deployment operation to deploy a computing component;
inventory detector logic that identifies inventory information corresponding to each device, of a plurality of different devices in a set of devices, the inventory information for a given device including an indication of applications installed on the given device;
a usage detector configured to:
detect usage information corresponding to each of the devices in the set of devices, the usage information for the given device being indicative of usage of the applications installed on the given device; and
generate a usage metric, for each given device, indicative of a level of usage of each of the applications installed on the given device;
a clustering mechanism that divides the plurality of different devices into clusters based on the inventory information and the usage metric corresponding to each of the plurality of different devices; and
a cluster control signal generator that generates a cluster control signal based on a user-selected cluster to control the deployment functionality to perform the deployment operation on the devices in the user-selected cluster.

US Pat. No. 10,656,929

AUTONOMOUSLY HEALING MICROSERVICE-BASED APPLICATIONS

International Business Ma...

1. A method for autonomous healing of an application comprising a plurality of microservices, comprising the steps of:detecting a performance degradation of at least a portion of the application, wherein the application is deployed in a production environment, and wherein the application deployed in the production environment comprises respective current versions of the plurality of microservices;
responsive to detecting the performance degradation in the production environment, autonomically downgrading at least one of the plurality of microservices within the application, the downgrading comprising:
deploying a prior version of the at least one of the plurality of microservices in the production environment; and
routing at least a portion of traffic to the prior version instead of a current version of the at least one of the plurality of microservices in the production environment;
determining whether the prior version remedies the performance degradation;
if the prior version does not remedy the performance degradation:
deploying a different version of the at least one of the plurality of microservices, the different version being neither the prior version nor the current version of the at least one of the plurality of microservices; and
routing at least a portion of traffic to the different version instead of the prior version of the at least one of the plurality of microservices, wherein the prior version and the different version are determined by performing a binary search within a region bounded by the current version and a global restore point.

US Pat. No. 10,656,928

EXTERNAL RECORDING MEDIUM, MOBILE TERMINAL INCLUDING THE EXTERNAL RECORDING MEDIUM, AND COMMUNICATION CONTROL METHOD

GURUNAVI, INC., Tokyo (J...

1. An external recording medium that is readable by a mobile terminal, the external recording medium storing:a program for causing the mobile terminal, in which the external recording medium is loaded, to execute:
an installation step of installing an application, and
a connection establishing step of, after completion of the installation step, establishing connection of the mobile terminal with a public line network,
wherein the external recording medium further stores:
a program for causing the mobile terminal to execute a log-in status determination step of determining whether a user of the mobile terminal has logged into the application;
a program for, only when it is determined in the log-in status determination step that the user has logged into the application, causing the mobile terminal to execute the connection establishing step;
a program for causing the mobile terminal to execute an installation status determination step of determining whether the application is installed;
a program for, when it is determined in the installation status determination step that the application is installed, causing the mobile terminal to execute the connection establishing step; and
a program for, when it is determined in the installation status determination step that the application is not installed, causing the mobile terminal to provide a notice of guidance for prompting a user of the mobile terminal to install the application.

US Pat. No. 10,656,927

METHODS, SYSTEMS, AND COMPUTER PROGRAM PRODUCTS FOR AUTOMATING RELEASES AND DEPLOYMENT OF A SOFTAWRE APPLICATION ALONG THE PIPELINE IN CONTINUOUS RELEASE AND DEPLOYMENT OF SOFTWARE APPLICATION DELIVERY MODELS

INTUIT INC., Mountain Vi...

1. A computer implemented method for automating the release and deployment of a software application delivery model for the continuous release and deployment of the software application delivery model, comprising:identifying, by a portal comprising computer-executable instructions stored at partially in memory and executed by at least one microprocessor, a release of a software application delivery model and pertinent information describing content of the release, describing activity related to the release, and/or produced during development of the release;
determining dependencies among at least some of the pertinent information, the dependencies defining how components of the release affect other processing;
generating tracking records at least by tracking the release based in part or in whole upon the dependencies;
determining, from the tracking records, that a release activity hindering advancement of the release or a portion of the release is cleared, wherein the release activity is hindering advancement due to work on code for the release being incomplete, and the release activity is cleared in response to the work on the code being completed; and
advancing the release or the portion of the release from a current stage to a next stage along a release pipeline in response to the determining that the release activity is cleared.

US Pat. No. 10,656,926

COMPACT TYPE LAYOUTS

MICROSOFT TECHNOLOGY LICE...

1. A system comprising:at least one processor of a computing device; and
a memory of the computing device;
wherein the at least one processor is configured to:
receive a contiguous data stream of pre-compiled data representing a data type and an intermediate representation of a program, the contiguous data stream including pre-compiled virtual override information and pre-compiled interface implementation information;
construct at least one virtual method table for the data type from the contiguous data stream, the virtual method table containing a pointer to each virtual method associated with the data type;
construct at least one interface implementation table for the data type from the contiguous data stream, the interface implementation table mapping a virtual method to an implementation of an interface; and
generate code to execute at runtime from the at least one virtual method table and the at least one interface implementation table.

US Pat. No. 10,656,925

MANAGING ALIASING CONSTRAINTS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of compiling a source file of a computer program using a compiler, comprising: identifying, within the source file, a restricted pointer to an original object to form an identified object, the restricted pointer having an identified scope with an entrance and one or more exits; generating, by the compiler, a unique value that identifies the identified object within bounds of the identified scope; demarcating the entrance with associated aliasing information; and demarcating the one or more exits with associated aliasing information, wherein the identified object is optimized using a property of the identified scope and the associated aliasing information.

US Pat. No. 10,656,924

SYSTEM FOR DISPLAYING INTERRELATIONSHIPS BETWEEN APPLICATION FEATURES

SPLUNK INC., San Francis...

1. A computer-implemented method, comprising:executing an environment comprising application features and a registry containing entries that indicate names and corresponding application features;
wherein each registry entry is associated with a list of registered application features, the list indicating which of the application features are registered to be notified when events associated with the registry entry are detected; and
upon receiving a command to display interrelationships between the application features, generating a map containing nodes representing the application features and lines between the nodes representing the interrelationships; and
outputting the map to a user.

US Pat. No. 10,656,923

SYSTEMS FOR DETERMINING REGULATORY COMPLIANCE OF SMART CONTRACTS

CAPITAL ONE SERVICES, LLC...

1. A system, comprising:one or more processors; and
a memory in communication with the one or more processors and storing instructions that, when executed by the one or more processors, are configured to cause the system to:
receive training data comprising one or more positive smart contracts that comply with one or more regulations, each of the one or more positive smart contracts having one or more positive sections;
convert, using one or more compilers, the one or more positive sections into a first set of intermediate representation of code;
train a first neural network (NN) to classify smart contract sections based on the first set of intermediate representation of code;
receive a first smart contract comprising one or more first sections;
convert, using the one or more compilers, the one or more first sections into a second set of intermediate representation of code;
classify, by the first NN, the second set of intermediate representation of code as a first classification corresponding to the first set of intermediate representation of code or as a second classification not corresponding to the first set of intermediate representation of code;
responsive to classifying the second set of intermediate representation of code as the first classification,
generate for display a positive indication that the one or more first sections comply with the one or more regulations; and
responsive to classifying the second set of intermediate representation of code as the second classification, generate for display a negative indication that the one or more first sections do not comply with the one or more regulations.

US Pat. No. 10,656,921

SPARSE OBJECT INSTANTIATION

International Business Ma...

1. A method, comprising:receiving, through a source code reuse user interface executed by a processor and from a code developer, an unused source code data element definition data set that includes information identifying a set of unused source code data element definition(s) that are respectively defined within a source code class definition;
verifying that the set of unused source code data element definition(s) are not used by source code already implemented in a new application; and
responsive to verification that the set of unused source code data element definition(s) are not used by the source code already implemented in the new application, externalizing, from the source code reuse user interface to a runtime environment, an instruction not to reuse or instantiate the set of unused source code data element definition(s) of the source code class definition within the new application.

US Pat. No. 10,656,920

DYNAMICALLY ADAPTABLE TOOL FOR GRAPHICAL DEVELOPMENT OF USER INTERFACES

APPLE INC., Cupertino, C...

1. A method implemented with a processor having thereon memory-stored executable instructions which, when executed by the processor, cause the processor to carry out actions of a development environment for user interface code editing, comprising:receiving code associated with a user interface (UI) element, wherein the code is included a project in an integrated development environment (IDE);
determining a set of dynamically generated editors for modifying a representation of the UI element based on the code associated with the UI element, wherein determining the set of dynamically generated editors is further based at least in part on contextual information related to the UI element, and querying for a set of actions associated with the UI element; and
displaying a tool for graphically modifying the representation of the UI element, the tool including a set of graphical elements corresponding to the determined set of dynamically generated editors, wherein the graphically modifying transforms the code associated with the representation of the UI element.

US Pat. No. 10,656,919

MATCHING PROGRAMMING VARIABLES ACROSS DIFFERENT DATA DOMAINS

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 execute instructions from the non-transitory memory to cause the system to perform operations comprising:
identifying one or more first function input parameter names in a first programming language function definition statement in a first programming language;
identifying one or more second function input parameter names in a second programming language function definition statement in a second programming language;
determining that the one or more first function input parameter names in the first programming language function definition statement correspond to the one or more second function input parameter names in the second programming language function definition statement;
responsive to the determining, generating a mapping file that identifies the one or more first function input parameter names as corresponding to the one or more second function input parameter names;
identifying a third function input parameter name associated with a third programming language function definition statement in the first programming language;
determining that the third input function parameter name corresponds to the one or more second function input parameter names in the second programming language function definition statement; and
regenerating the mapping file to identify the third input function parameter name as corresponding to the one or more second function input parameter names in response to the identifying the third function input parameter name.

US Pat. No. 10,656,918

DISCOVERY FOR PATTERN UTILIZATION FOR APPLICATION TRANSFORMATION AND MIGRATION INTO THE CLOUD PATTERN

International Business Ma...

1. A method implemented by an information handling system that includes a memory and a processor, the method comprising:receiving a set of discovery results corresponding to one or more source application services executing in one or more source environments;
mapping the set of discovery results to a target pattern based on the set of discovery results, wherein the target pattern comprises at least one declarative description describing one or more first components included in at least one of the one or more source environments;
creating, by the processor, a target application service based, at least in part, upon integrating the target pattern with source application logic included in the source application service, wherein the source application logic describes one or more second components implemented in the source application service; and
provisioning the target application service to one or more target environments.

US Pat. No. 10,656,917

GENERATION OF A DEVICE APPLICATION

Microsoft Technology Lice...

1. A method comprising:receiving, by a first hardware device having a first communication protocol that is different from a second communication protocol of a second hardware device, a device program having an automatically generated expression that is compiled with a runtime entity configured to communicate via a first device protocol and a second device protocol according to a deserialized first device protocol and a deserialized second device protocol, wherein the device program binds a transformable state of the second hardware device to a selected state of the first hardware device;
executing, by the first hardware device, the received device program, wherein the device program creates a transformation device chain from the first hardware device to the second hardware device that communicates data from the first hardware device to the second hardware device according to the transformation device chain despite the first communication protocol being different from the second communication protocol; and
in accordance with the first hardware device transitioning into the selected state, sending, by the first hardware device via the created transformation device chain, a communication to the second hardware device requesting the second hardware device perform functionality to transform into the transformable state.

US Pat. No. 10,656,916

RANDOM NUMBER GENERATOR INCLUDING ENTROPY SOURCE

Intel Corporation, Santa...

13. A computing system comprising:a printed circuit board (PCB);
a processor mounted to the PCB, the processor including a random number generator circuit that includes:
an entropy source to generate an output signal; and
a deterministic feedback circuit coupled to the entropy source in a deterministic feedback loop, wherein the deterministic feedback circuit includes:
detection logic to detect that a first bit of the output signal of the entropy source has settled;
a pre-delay feedback path to power off the entropy source responsive to the detection; and
a post-delay feedback path to power on the entropy source, after the entropy source is powered off, to generate a second bit of the output signal, wherein the post-delay feedback path includes one or more delay cells that are bypassed by the pre-delay feedback path; and
a memory device coupled to the processor.

US Pat. No. 10,656,915

EFFICIENT FPGA MULTIPLIERS

Achronix Semiconductor Co...

1. A circuit comprising:a building block comprising:
twelve block inputs; and
two six-input lookup tables (LUTs), wherein four of the block inputs are provided to each of the two six-input LUTs and four of the twelve block inputs are provided as outputs of the building block without being provided as inputs to either of the two six-input LUTs.

US Pat. No. 10,656,914

METHODS AND INSTRUCTIONS FOR A 32-BIT ARITHMETIC SUPPORT USING 16-BIT MULTIPLY AND 32-BIT ADDITION

TEXAS INSTRUMENTS INCORPO...

1. A method comprising:receiving an instruction to multiply a first N-bit operand by a second N-bit operand; and
in response to the instruction:
performing, using a N/2-bit multiplier, multiplication of most significant N/2 bits of the first N-bit operand and least significant N/2 bits of the second N-bit operand to produce a first value;
performing, using the N/2-bit multiplier, multiplication of least significant N/2 bits of the first N-bit operand and most significant N/2 bits of the second N-bit operand to produce a second value;
adding the first value to the second value to produce a third value;
performing, using the N/2-bit multiplier, multiplication of the least significant N/2 bits of the first N-bit operand and the least significant N/2 bits of the second N-bit operand to produce a fourth value;
performing a binary shift of the fourth value to produce a fifth value;
adding the fifth value to the third value to produce a sixth value;
performing, using the N/2-bit multiplier, multiplication of the most significant N/2 bits of the first N-bit operand and the most significant N/2 bits of the second N-bit operand to produce a seventh value;
performing a binary shift of the sixth value to produce an eighth value;
adding the eighth value to the seventh value to produce a ninth value; and
providing the ninth value as a result of the instruction.

US Pat. No. 10,656,913

ENHANCED LOW PRECISION BINARY FLOATING-POINT FORMATTING

INTERNATIONAL BUSINESS MA...

1. A system, comprising:a memory that stores computer-executable components; and
a processor, operatively coupled to the memory, that executes computer-executable components, the computer-executable components comprising:
a calculator component that facilitates operation on and calculation of binary floating-point numbers by the processor in accordance with a defined floating-point number format, in connection with execution of an application, wherein the defined floating-point number format utilizes six bits in an exponent field, wherein, in accordance with the defined floating-point number format, the calculator component represents at least one of:
a sign of a value of zero as a term that indicates that the sign does not matter with respect to the value of zero; or
a not-a-number value and an infinity value together as a merged symbol, wherein the calculator component represents a sign of the merged symbol as a term that indicates that the sign does not matter with respect to the merged symbol;
wherein the processor generates an arbitrary value in a sign field of the defined floating-point number format to represent the term, and wherein the generation of the arbitrary value utilizes less resources than a determination and a generation of a non-arbitrary value for the sign field.

US Pat. No. 10,656,912

PROCESSING WITH COMPACT ARITHMETIC PROCESSING ELEMENT

Singular Computing LLC, ...

1. A computing system comprising:at least one low precision high dynamic range (LPHDR) execution unit adapted to execute a first operation on a first input signal representing a first numerical value to produce a first output signal representing a second numerical value;
wherein, for at least X=10% of the possible valid inputs to the first operation, the numerical value represented by the first output signal of the LPHDR unit executing the first operation on that input differs by at least Y=0.1% from the result of an exact mathematical calculation of the first operation on the numerical values of that same input;
wherein the first input signal represents the first numerical value using a floating point representation having a binary exponent of at least 5 bits plus a sign bit; and
at least one computing device adapted to control the operation of the at least one first LPHDR execution unit.

US Pat. No. 10,656,911

POWER CONTROL FOR A DATAFLOW PROCESSOR

Wave Computing, Inc., Sa...

1. A processor-implemented method for power conservation comprising:configuring a plurality of interconnected processing elements and a plurality of instructions, wherein the plurality of instructions is contained within a plurality of circular buffers;
setting a first processing element, from the plurality of interconnected processing elements, into a sleep state by a first instruction from the plurality of instructions, wherein the sleep state of the first processing element includes a low power state; and
waking the first processing element from the sleep state as a result of valid data being presented to the first processing element, wherein the valid data is provided by a second processing element from the plurality of interconnected processing elements.

US Pat. No. 10,656,910

LEARNING INTENDED USER ACTIONS

INTERNATIONAL BUSINESS MA...

1. A method, comprising:receiving, by a microphone and camera, user utterances indicative of user commands and associated user gestures for the user utterances;
parsing sample utterances and the user utterances into verb parts and noun parts, and recognizing the user utterances and associated user gestures by sequentially comparing each of the verb parts and each of the noun parts from the user utterances both individually and as pairs to the verb parts and the noun parts of the sample utterances; and
selectively performing a given one of the user commands responsive to a recognition result.

US Pat. No. 10,656,909

LEARNING INTENDED USER ACTIONS

INTERNATIONAL BUSINESS MA...

1. A system, comprisinga microphone and camera for receiving user utterances indicative of user commands and associated user gestures for the user utterances;
a hardware-based recognizer for parsing sample utterances and the user utterances into verb parts and noun parts, and recognizing the user utterances and the associated user gestures by sequentially comparing each of the verb parts and each of the noun parts from the user utterances both individually and as pairs to the verb parts and the noun parts of the sample utterances; and
a user command selective execution device for selectively performing a given one of the user commands responsive to a recognition result.

US Pat. No. 10,656,908

METHOD AND APPARATUS FOR FACILITATING VOICE USER INTERFACE DESIGN

1. A computer-implemented method, comprising:identifying, by a processor, a plurality of user intentions representing contextual reasons for seeking customer support from user interaction data;
associating, by the processor, each user intention from among the plurality of user intentions with at least one feature from among a plurality of features, the plurality of features representing words used when interacting with customer support;
computing, by the processor, a measure of similarity between user intentions in a corresponding pair of user intentions;generating, by the processor, a plurality of clusters based on the measure of similarity between user intentions, wherein each cluster from among the plurality of clusters comprises a set of user intentions from among the plurality of user intentions;wherein a value of the measure of similarity corresponding to each pair of user intentions in the set of user intentions is less than a first pre-defined threshold value;
identifying, by the processor, at least one user intention in the set of user intentions with associated values of measure of similarity between the at least one user intention and remaining user intentions in the set of user intentions to be less than a second pre-defined threshold value, the second pre-defined threshold value being less than the first pre-defined threshold value;
splitting the at least one user intention, by the apparatus, to generate two or more new user intentions; and
provisioning, by the processor, a voice user interface (VUI) design recommendation based on the plurality of clusters.

US Pat. No. 10,656,907

TRANSLATION OF NATURAL LANGUAGE INTO USER INTERFACE ACTIONS

OBSERVEPOINT INC., Provo...

1. A computerized method, performed at a computer system comprising at least one processor, for deriving automation instructions for a user interface (UI) element whose function is not yet mapped, the method comprising:rendering a user interface (UI) based on information from an information source comprising one or more UI elements, at least one UI element being associated with a function that is considered to be undetermined as a result of not yet being mapped;
receiving one or more natural language inputs from a user, wherein the natural language inputs specify a particular element description and a particular action type for one or more UI elements rendered in the UI;
identifying one or more UI elements in the UI that match the particular element description in the natural language input and whose actions are performable according to the particular action type, wherein identifying the one or more UI elements comprises:
executing a natural-language-input simulation on the information source, wherein executing the natural-language-input simulation comprises:
receiving one or more simulated natural language inputs,
applying the one or more simulated natural language inputs to the at least one UI element in order to determine and map the function of the at least one UI element,
monitoring different UI views generated in response to the applied one or more simulated natural language inputs, and
repeating the natural-language-input simulation multiple times to map out the functionality of multiple UI elements within the information source;
generating a mapping of relationships between one or more UI views, selected from the different UI views, based upon responses of the one or more UI views to the navigation inputs;
constructing the element tree with the one or more UI elements based on the mapping of relationships between the one or more UI views; and
mapping the particular element description and the particular element action type received in the natural language inputs into executable code using information that corresponds to the one or more UI elements.

US Pat. No. 10,656,906

MULTI-FREQUENCY SENSING METHOD AND APPARATUS USING MOBILE-BASED CLUSTERS

1. A system comprising:an audio control source;
at least one cluster of at least one computing device,
the at least one computing device including:
a sound sensing mechanism, configured to sense a noise; and
a wireless transceiver, configured to wirelessly transmit and receive data from the audio control source;
at least one output device, including:
a power source for operating the output device;
a speaker for outputting sound; and
a communication mechanism, for receiving electronic information from the audio control source; and
the audio control source, in electronic communication the at least one cluster and the at least one output device, the audio control source including:
a memory, containing computer-executable instructions for connecting to the at least one cluster, and varying an output of the at least one output device, providing an interface; and
a processor, for executing the computer-executable instructions,
wherein the computer-executable instructions include:
identifying one or more sounds within the noise;
isolating the one or more sounds;
determining if one or more of the one or more sounds includes a frequency outside of a predetermined threshold;
if one or more of the one or more sounds includes the frequency outside of the predetermined threshold, altering the one or more of the one or more sounds so that the frequency does not fall outside of the predetermined threshold; and
outputting the one or more sounds on the at least one output device.

US Pat. No. 10,656,905

AUTOMATIC AND SELECTIVE CONTEXT-BASED GATING OF A SPEECH-OUTPUT FUNCTION OF AN ELECTRONIC DIGITAL ASSISTANT

MOTOROLA SOLUTIONS, INC.,...

1. A method at an electronic computing device for automatic and selective context-based gating of an electronic digital assistant speech-output function to reduce a cognitive load on a user, the method comprising:detecting, by an electronic computing device associated with a user and via sensor content information from one or more sensors communicatively coupled to the electronic computing device or via notification dispatch content information in a dispatch notification received at the electronic computing device from another computing device or via a body worn camera activation notification received at the electronic computing device from the body worn camera, that the user is or is likely currently experiencing an event associated with a need to reduce a cognitive load on the user;
responsive to detecting the event, temporarily gating, by the electronic computing device, a portion of an electronic digital assistant speech-output function to prevent reproduction to the user of one or more non-incident-related speech-output events generated during a first period of time associated with the event while allowing reproduction to the user of one or more incident-related speech-output events generated during the first period of time associated with the event; and
subsequently, and after detecting, by the electronic computing device associated with the user that the event has ended, ending, by the electronic computing device, the temporary gating of the portion of the electronic digital assistant speech-output function to allow reproduction of one or more non-incident-related speech-output events generated during a second period of time after the event has ended;
wherein the incident-related speech-output events include one or more selected from an e-mail reception speech-output event for a received e-mail from a source associated with the event, a text message reception speech-output event for a received text message from a source associated with the event, a phone call reception speech-output event for a received phone call from a source associated with the event, a detected shots fired speech-output event, a detected available related task speech-output event for a detected task related to the event, a detected officer down speech-output event, a detected person approaching the user from one or more visual blind spots associated with the user speech-output event, a detected evacuate structure speech-output event, a detected holster pull-sensor speech-output event, a detected geofence crossing speech-output event associated with a detection of the user crossing into a crime-related geofenced area or a biological hazard geofenced area or a radiological area geofenced area or a restricted entry geofenced area, and a detected backup arrived on scene speech-output event; and
wherein the non-incident-related speech-output events include one or more selected from a calendar notification speech-output event, a patrol route or jurisdictional boundary speech-output event, a detected available unrelated task speech-output event for a task unrelated to the event, an e-mail reception speech-output event for a received e-mail from an unknown source or source not associated with the event, a text message reception speech-output event for a received text message from an unknown source or source not associated with the event, and a phone call reception speech-output event for a received phone call from an unknown source or source not associated with the event.

US Pat. No. 10,656,904

METHOD FOR ADJUSTING SOUND VOLUME OF TERMINAL, TERMINAL, AND NON-TRANSITORY TANGIBLE COMPUTER-READABLE STORAGE MEDIUM

JRD COMMUNICATION (SHENZH...

1. A method for adjusting a sound volume of a terminal, comprising:detecting a sliding action generated by triggering a touch screen of the terminal in real time whet the terminal is in a calling state, and determining whether the sliding action is valid;
when the sliding action is determined to be valid, acquiring a first projection of a sliding track of the sliding action in a horizontal direction and a second projection of the sliding track of the sliding action in a vertical direction; and
acquiring a sound volume adjustment mode corresponding to the first and second projections based on a preset correspondence between the first and second projections and the sound volume, and adjusting the sound volume based on the sound volume adjustment mode;
wherein the acquiring the sound volume adjustment mode corresponding to the first and second projections based on the preset correspondence between the first and second projections and the sound volume and adjusting the sound volume based on the sound volume adjustment mode further comprises:
subtracting the length of the second projection in the vertical direction from the length of the first projection in the horizontal direction, and determining a valid projection of the sliding track based on a determination whether the subtraction result is positive or negative; wherein the valid projection is the first projection in the horizontal direction or the second projection in the vertical direction; and
determining the sound volume adjustment mode corresponding to the direction of the valid projection based on the correspondence between the first and second projections and the sound volume adjustment, and adjusting the sound volume based on the sound volume adjustment mode.

US Pat. No. 10,656,903

DIRECTIONAL AUDIO FOR VIRTUAL ENVIRONMENTS

Amazon Technologies, Inc....

1. A computer implemented method, comprising:providing digital content to a set of devices represented as environment objects in the digital content;
receiving audio from the set of devices which are receiving digital content transmitted to the devices;
identifying a group of devices, among the set of devices, that share an affiliation;
identifying a location represented in the digital content that includes environment objects representing the group of devices; and
transmitting the audio to the group of devices for directional audio playback that simulates the environment objects as a source of the audio at the location in the digital content.

US Pat. No. 10,656,902

MUSIC DISCOVERY DIAL

Sonos, Inc., Santa Barba...

1. A command device comprising:a network interface;
one or more processors;
a touch-sensitive circular graphical display; and
a housing carrying the network interface, the one or more processors, the touch-sensitive circular graphical display, and data storage storing pre-cached audio content snippets and instructions executable by the one or more processors to cause the command device to perform operations comprising:
displaying, on the touch-sensitive circular graphical display, a circular graphical user interface comprising multiple wedge-shaped selectable regions arranged around the circumference of the circular graphical user interface, each wedge-shaped selectable region corresponding to a respective streaming audio channel;
detecting a touch input in a circular motion to the touch-sensitive circular graphical display;
when the touch input enters a first wedge-shaped selectable region, causing, via the network interface, one or more playback devices that are paired with the command device to play back a first pre-cached audio content snippet corresponding to the first wedge-shaped selectable region, wherein the first pre-cached audio content snippet consists of a portion of a first audio track that is representative of a first streaming audio channel corresponding to the first wedge-shaped selectable region;
when the touch input enters a second wedge-shaped selectable region, causing, via the network interface, the one or more playback devices that are paired with the command device to play back a second pre-cached audio content snippet corresponding to the second wedge-shaped selectable region, wherein the second pre-cached audio content snippet consists of a portion of a second audio track that is representative of a second streaming audio channel corresponding to the second wedge-shaped selectable region; and
as the second pre-cached audio content snippet plays back on the one or more playback devices, switching the one or more playback devices from playing back the second pre-cached audio content snippet to playing back the second audio track from one or more servers of a streaming audio service, wherein switching the one or more playback devices from playing back the second pre-cached audio content snippet to playing back the second audio track comprises causing, via the network interface, the one or more playback devices to (i) stream the second audio track from the one or more servers and (ii) begin playback at a particular offset in the second audio track such that playback transitions seamlessly from the second pre-cached audio content snippet to the second audio track.

US Pat. No. 10,656,901

AUTOMATIC AUDIO LEVEL ADJUSTMENT DURING MEDIA ITEM PRESENTATION

GOOGLE LLC, Mountain Vie...

1. A method comprising:identifying a media item that was presented in a plurality of first media players of first computing devices at a first audio level value, each of the plurality of first media players having a respective first user of a set of first users;
determining, for each of the plurality of first media players, a second audio level value corresponding to an amplitude setting selected by the respective first user of the set of first users during playback of the media item on a respective first computing device;
determining, by a processor, an audio level difference (ALD) value for each of the plurality of first media players of a respective first computing device based on a determined second audio level value corresponding to the amplitude setting selected by the respective first user during playback of the media item on the respective first computing device; and
determining, based on ALD values determined for respective first media players of respective first computing devices, a third audio level value for an amplitude setting to be provided for the media item to be played on a second media player of a second computing device for a second user, in response to a request of the second user to play the media item on the second media player of the second computing device, the second user not being part of the set of first users.

US Pat. No. 10,656,900

INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM

SONY CORPORATION, Tokyo ...

1. An information processing device, comprising:a display unit configured to selectively output a display image from among a plurality of images in a plurality of different directions; and
a data processing unit configured to
acquire audio control information related to output audio data, and
control audio to be output to the display unit together with the display image in accordance with the acquired audio control information,
wherein the data processing unit executes, for one or more individual controllable audio elements related to the display image, at least one of
image following type audio control of moving an audio source direction in accordance with movement of the display image of the display unit between the plurality of images in the plurality of different directions, or
image non-following type audio control of fixing the audio source direction regardless of the movement of the display image of the display unit,
wherein the data processing unit determines whether to execute the image following type audio control or the image non-following type audio control in accordance with the acquired audio control information,
wherein the audio control information includes all-audio correspondence control information which is control information indicating an audio control form corresponding to the one or more individual controllable audio elements serving as an output target,
wherein the audio control form determines whether to execute the image following type audio control or the image non-following type audio control for each individual controllable audio element or to execute the image following type audio control or the image non-following type audio control collectively for all of the one or more individual controllable audio elements, and
wherein the display unit and the data processing unit are each implemented via at least one processor.

US Pat. No. 10,656,899

INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM

SONY CORPORATION, Tokyo ...

1. An information processing apparatus comprising:an acoustic control unit configured to control an output of an output sound from a reflective speaker on the basis of a reflection position of the output sound, wherein the reflective speaker outputs the output sound of an ultrasonic wave, and an outputting direction of the output sound in the reflective speaker is variable;
a map generation unit configured to scan the output sound in a space where the reflective speaker reflects the output sound, and generate:
a first space map including the reflection characteristic in the space on the basis of a detection result of a reflected sound, and depth information indicating the distance of each position in a display space from a drive-type projector;
a second space map including depth information indicating a distance of each position in the display space from the reflective speaker, and reflection characteristic information indicating reflection characteristics of each position; and
an integrated map from the first and second space maps, and
wherein the acoustic control unit and the map generation unit are each implemented via at least one processor.

US Pat. No. 10,656,898

APPLICATION REPLICATION PLATFORM

Capital One Services, LLC...

1. A method, comprising:receiving, by a first device, a request to establish a replication session between a second device and a third device,
wherein the replication session is associated with replicating user interactions with a user interface of an application across a first instance and a second instance of the application;
receiving, by the first device and after receiving the request, information that identifies a set of interactions by a user of the second device with a first user interface provided for display by the first instance;
preprocessing, by the first device, historical data for generating a machine learning model;
processing, by the first device, the information using the machine learning model;
determining, by the first device and based on processing the information, that a subset of the information contains sensitive information;
causing, by the first device, the sensitive information to be masked into a set of masked characters;
determining, by the first device and from the information, a set of instructions related to causing an indication for the set of interactions to be provided for display on a second user interface provided for display for the second instance based on the information being received from the second device,
wherein the set of masked characters to be provided for display on the second user interface; and
providing, by the first device and after determining the set of instructions, the set of instructions to the third device.

US Pat. No. 10,656,897

COMMUNICATION APPARATUS, CONTROL METHOD THEREFOR, AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM

Canon Kabushiki Kaisha, ...

1. A communication apparatus comprising:a first transmission unit configured to transmit a display image displayed on a display unit associated with the communication apparatus to another communication apparatus;
a second transmission unit configured to, in a case where transmission of the display image by the first transmission unit is instructed, transmit data for causing the other communication apparatus to display a first confirmation image including identification information of the communication apparatus to the other communication apparatus so that the identification information of the communication apparatus is displayed on the other communication apparatus;
a selection unit configured to select whether to transmit the display image to the other communication apparatus based on a user operation after transmitting data for causing the other communication apparatus to display the first confirmation image and before transmitting the display image; and
a control unit configured to, in a case where the selection unit selects to transmit the display image, control the first transmission unit to transmit the display image.

US Pat. No. 10,656,896

DISPLAY MAPPING

Hewlett-Packard Developme...

1. A system, comprising:a display mapping module to map a set of display components connected to the system to a set of virtual channels to which the system is subscribed;
a communication module to transmit a content instruction to subscribers of the virtual channels, where the content instruction is defined by a sender to include an identifier of a first content element, an identifier of a first virtual channel of the set of virtual channels on which the first content element is to be shown, an identifier of a second content element and an identifier of a second virtual channel of the set of virtual channels on which the second content element is to be shown to control the display components of the subscribers of the virtual channels to display the first content element and the second content element on respective display components of the set of display components in accordance with the content instruction; and
a display module to cause the display components mapped to the virtual channels to display the first content element and the second content element associated with the content instruction.

US Pat. No. 10,656,895

SYSTEM FOR LINKING AND CONTROLLING TERMINALS AND USER TERMINAL USED IN THE SAME

1. A method for sharing an image of a mobile terminal, the method comprising:displaying a first image on the mobile terminal;
sensing a touch means when the touch means touches or is near a touch panel of the mobile terminal;
displaying a second image representing the touch means on the mobile terminal;
searching for a receiving terminal near the mobile terminal according to a link request from the mobile terminal and connecting the mobile terminal with the receiving terminal;
transmitting the first and second images to the receiving terminal linked with the mobile terminal; and
controlling the mobile terminal by using the receiving terminal,
wherein, when the receiving terminal receives the first image from the mobile terminal, the receiving terminal stops a broadcast program running in a current channel and displays the first image,
wherein the first and second images are transmitted through a data channel between the mobile terminal and the receiving terminal, and a control signal for requesting or accepting linkage is exchanged through a control channel between the mobile terminal and the receiving terminal,
wherein the mobile terminal modifies a region corresponding to a position of the touch means in the first image, creates a new image to indicate a position information of the touch means, and transmit the created image to the receiving terminal,
wherein the position information of the touch means is coordinate information with respect to resolution and screen size of a display unit of the mobile terminal,
wherein the receiving terminal having a display unit compares its resolution and screen size with the resolution and screen size of the mobile terminal and shows the image indicating the position of the touch means at coordinates corresponding to the position information of the touch means.

US Pat. No. 10,656,894

SYNCHRONIZED DISPLAY OF SCREEN CONTENT ON NETWORKED DEVICES

ICU MEDICAL, INC., San C...

1. An apparatus configured to provide synchronized screen content of at least one medical device, the apparatus comprising:a display;
an internal clock;
a processor in communication with the display and the internal clock;
a memory storing instructions that, when executed by the processor, configure the processor to:
calculate a first screen content index based on (i) a first time based on the internal clock, (ii) a content display period length indicative of a duration for which a medical device screen content is to be displayed on the display, and (iii) a screen content count indicative of a count of a plurality of medical device screen contents to be displayed on the display; and
cause a first medical device screen content of the plurality of medical device screen contents that corresponds to the calculated first screen content index to be displayed on the display for a duration that is equal to the content display period length.

US Pat. No. 10,656,893

DISPLAY DEVICE FOR CONTROLLING SWITCHING BETWEEN PROJECTION ON FIRST AND SECOND SURFACES

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

1. A display device comprising:a screen having first and second surfaces;
a first projector configured to project a first image on the first surface;
a second projector configured to project a second image on the second surface;
a detector; and
a controller configured to control switching between the first and second projectors in response to the detector detecting a person on a side of the first surface or on a side of the second surface without using any preregistered information about a face of the person,
wherein the detector is configured to detect a person in an area within a certain threshold distance from at least one of the first and second surfaces, and
wherein the detector comprises:
a first detector configured to detect a person in a first area within a first threshold distance from the first surface; and
a second detector configured to detect a person in a second area within a second threshold distance from the second surface;
wherein the first detector is configured to change the first threshold distance if the second detector detects a person, and
wherein the second detector is configured to change the second threshold distance if the first detector detects a person.

US Pat. No. 10,656,892

PRINTER REGISTRATION APPARATUS, DISPLAY APPARATUS, AND METHOD FOR PRINTER REGISTRATION

CANON KABUSHIKI KAISHA, ...

1. A printer registration apparatus comprising:a memory that stores a computer program; and
a processor that executes the computer program to perform:
acquiring, from each of a plurality of remote print service providers, a printer ID of each virtual printer that is registered in the print service provider;
acquiring, from each of the plurality of print service providers, print service information describing print services that are provided by the print service provider;
searching a local network for a local printer connected to the local network and obtaining a printer ID of the searched-for local printer;
determining, for each of the plurality of print service providers, whether the searched-for local printer has already been registered as a virtual printer in the print service provider by comparing the printer ID of the searched-for local printer with each printer ID acquired from the print service provider;
automatically displaying on a display, when it is determined that the searched-for local printer has not already been registered as a virtual printer in at least one of the plurality of print service providers, the acquired print service information corresponding to each print service provider in which the searched-for local printer is determined to have not already been registered, and not automatically displaying on the display, the acquired print service information corresponding to any of the print service providers in which the searched-for local printer is determined to have already been registered; and
registering, when a user selects one of the print service providers corresponding to the displayed print service information, the searched-for local printer as a virtual printer in the selected print service provider.

US Pat. No. 10,656,891

DETERMINING WHICH COMMUNICATION STANDARD TO BE USED IN A DIRECT WIRELESS COMMUNICATION SYSTEM

Canon Kabushiki Kaisha, ...

1. An information processing device comprising:a wireless network interface;
a first setting unit configured to set whether direct wireless communication using the wireless network interface is to be a first mode for performing direct wireless communication based on Wi-Fi Direct® or a second mode for operating the information processing device as an access point not based on Wi-Fi Direct® and performing direct wireless communication via the access point; and
a providing unit configured to provide, in a method different from the wireless communication using the wireless network interface, an external device with connection information for establishing network communication between the external device and the information processing device,
wherein the providing unit controls to provide connection information about the access point by the different method in a case where a direct wireless communication function is started in the second mode, and to provide connection information not including information for establishing the direct wireless communication based on Wi-Fi Direct® but including an IP address allocated to the information processing device in a case where the direct wireless communication function is started in the first mode.

US Pat. No. 10,656,890

IMAGE FORMING APPARATUS, STORAGE MEDIUM, AND CONTROL METHOD

SHARP KABUSHIKI KAISHA, ...

1. An image forming apparatus comprising:a job execution circuitry capable of executing a plurality of types of jobs; and
a history information generator that, in a case where a plurality of jobs is simultaneously executed in the job execution circuitry, generates history information that corresponds to each of the plurality of jobs and includes a log image and log information corresponding to the log image,
wherein at least a part of the log information is embedded in the log image.

US Pat. No. 10,656,889

IMAGE PROCESSING APPARATUS, CONTROL METHOD, AND STORAGE MEDIUM FOR MANAGING TRANSMISSION JOB HISTORY INFORMATION

CANON KABUSHIKI KAISHA, ...

1. A control method for a data processing apparatus which is capable of executing a transmission job for transmitting data, the method comprising:receiving, from a user, a setting as to deleting data of which transmission according to a transmission job has failed;
storing, in a storage, history information of the executed transmission job;
storing information, which indicates whether history information has been outputted, in association with each history information;
generating, in a case where the number of cases of non-outputted history information has reached a predetermined number of cases, report data including the non-outputted history information;
executing transmission process based on a transmission job; and
controlling, in a case where the setting has been received and the data of which transmission according to the transmission job has failed is the generated report data, not to delete the report data.

US Pat. No. 10,656,888

RASTER IMAGE PROCESSOR ALLOCATION SCHEME

Ricoh Company, Ltd., Tok...

1. An apparatus, comprising:a plurality of Raster Image Processors (RIPs) collectively comprising a total number of RIPs that are configured to process logical pages; and
a scheduler configured to receive a print job, to determine that a number of available RIPs of the plurality of RIPs to process logical pages in the print job is less than the total number of RIPs, and to iteratively increase a number of the logical pages in the print job that are assigned to each of the available RIPs as the number of available RIPs increases over time.

US Pat. No. 10,656,887

IMAGE PROCESSING APPARATUS AND METHOD FOR CONTROLLING IMAGE PROCESSING APPARATUS

Canon Kabushiki Kaisha, ...

12. One or more non-transitory storage media storing instructions that, when executed by one or more image processing apparatuses, cause the one or more image processing apparatuses to perform operations comprising:storing, in at least one non-transitory memory, one or more jobs and respective identification information of users who input the one or more jobs in association with each other;
and
in response to a suspension operation by a user who is logged in to the one or more image processing apparatuses,
suspending a plurality of jobs including a job that was input by a user who is not logged in to the one or more image processing apparatuses, and
displaying a job list screen that includes a job that was input by the user who is logged in to the one or more image processing apparatuses and that does not include the job that was input by the user who is not logged in to the one or more image processing apparatuses.

US Pat. No. 10,656,886

SERVER, IMAGE FORMING SYSTEM AND ERROR NOTIFICATION METHOD FOR PERFOMING AUTHENTICATION PERMISSION OF USERS USING IMAGE FORMING APPARATUSES

KYOCERA Document Solution...

1. A server for performing authentication permission of a user that uses an image forming apparatus connected to the server via network, comprisinga storage unit on which a control program, a database, event setting information, and transmission setting information are stored; and
a control unit that executes the control program, wherein
the database comprises account settings of registered users permitted to authenticate to the image forming apparatus;
the event setting information includes a setting for defining an event to be recognized by the control unit, wherein the event is a server error;
the transmission setting information includes a destination other than one of said registered users; and
the control unit is configured for
creating the setting in the event setting information;
referencing the event setting information to determine whether the server error has actually occurred;
creating a notification about the event when the server error actually occurs; and
transmitting the notification to the destination via a network.

US Pat. No. 10,656,885

USING OBJECT FLOW INTEGRITY TO IMPROVE SOFTWARE SECURITY

Board of Regents, The Uni...

1. A method for improving software security for an object-like software application, comprising:redirecting a programmatic call between untrusted and trusted software modules, wherein said programmatic call is from a calling module and is redirected to an object flow integrity (OFI) library module;
substituting, from said programmatic call, a proxy object for a passed object, wherein said proxy object utilizes OFI methods from said OFI library module;
utilizing said proxy object in said programmatic call; and
dereferencing said proxy object on said programmatic call return path to said calling module.

US Pat. No. 10,656,884

SYSTEM AND METHOD FOR AUTOMATICALLY LOCKING IN RESPONSE TO A PRINT FAULT A PRINT JOB AND NOTIFICATION THEREOF

Xerox Corporation, Norwa...

1. A method for preventing a printed sensitive or secured print job being left unsecured after a print recovery process, comprising:(a) determining if a printer has encountered an interruption in a printing of a print job;
(b) determining, when it is determined that a printer has encountered an interruption in a printing of a print job, an identification of a user associated with the interrupted print job;
(c) obtaining an authentication code and sending, via an email, the obtained authentication code to the user identified as being associated with the interrupted print job, the authentication code being embedded in hyperlinked voting buttons in the email sent to the user associated with the interrupted print job;
(d) recovering from the interruption in the printing of the print job;
(e) placing, after recovery, the interrupted print job on hold;
(f) determining if a proper authentication code has been received from the user identified as being associated with the interrupted print job;
(g) releasing the held print job when it is determined that a proper authentication code has been received from the user identified as being associated with the interrupted print job;
(h) determining if the proper authentication code has not been received from the user identified as being associated with the interrupted print job within a predetermined amount of time; and
(i) deleting the held print job if it is determined that the proper authentication code has not been received from the user identified as being associated with the interrupted print job within the predetermined amount of time.

US Pat. No. 10,656,883

OPERATION SWITCH DEVICE, IMAGE FORMING APPARATUS

KYOCERA Document Solution...

1. An operation switch device comprising:an exterior member in which an opening is formed;
a button member including a push button portion and an inner portion, the push button portion being partially inserted in the opening of the exterior member, the push button portion including an operation surface that is exposed to outside through the opening of the exterior member, the inner portion being formed inside the exterior member integrally with the push button portion; and
an electronic board on which an electronic component and a push-in type switch are implemented, the electronic component facing a rear surface of the push button portion, the rear surface being on an opposite side to the operation surface, the push-in type switch being aligned with the electronic component, wherein
the exterior member includes:
a plurality of guide projection portions that project from an inner surface of the exterior member in a depth direction perpendicular to the electronic board,
the inner portion includes:
a first supported portion supported by a push-in portion of the push-in type switch;
one or more second supported portions supported in a second area by the electronic board, the second area being adjacent to one side of the electronic component when viewed in the depth direction, the push-in type switch being present in a first area which is adjacent to another side of the electronic component that is opposite to the one side when viewed in the depth direction;
one or more elastic portions that connect a portion including the second supported portions to a portion including the push button portion and the first supported portion, and are elastically deformed when the push button portion is displaced in a direction of approaching the electronic board by an external force acting on the operation surface; and
a plurality of guided portions in which the plurality of guide projection portions are inserted such that the plurality of guide projection portions restrict the plurality of guided portions from being displaced in a direction intersecting the depth direction,
the plurality of guide projection portions include:
one or more first guide projection portions that are provided in the first area when viewed in the depth direction; and
one or more second guide projection portions that are provided in the second area when viewed in the depth direction, and
the plurality of guided portions include:
one or more first guided portions that correspond to the one or more first guide projection portions; and
one or more second guided portions that correspond to the one or more second guide projection portions.

US Pat. No. 10,656,882

IMAGE FORMING DEVICE TO DETERMINE WARM-UP TIME

HEWLETT-PACKARD DEVELOPME...

1. An image forming device comprising:a communication unit to transmit data to and receive data from an external device;
an image forming job unit to perform printing; and
a controller to control warming up of the image forming job unit to perform the printing, such that the image forming job unit performs the printing after the warming up is completed,
wherein the controller is to
receive a print execution request to perform the printing and a predicted value of a print preparation time for the image forming device to create output image data, to perform the printing, from the external device via the communication unit,
determine a warm-up start time of when to start the warming up of the image forming job unit, by using the received predicted value of the print preparation time, and
control the image forming job unit to start the warming up at the determined warm-up start time.

US Pat. No. 10,656,881

SYSTEM FOR PRINTING A DOCUMENT USING A PDF CONVERTER BASED ON PAGE SIZE VALUE

Kyocera Document Solution...

1. A method for printing a document at a printing device, the method comprising:receiving a document at a portable document format (PDF) converter;
processing a first page of the document;
generating a first PDF file for the first page;
processing a first group of pages of the document including a second page of the document to a final page of the first group, wherein the final page corresponds to a page size value to cause separation of the first group;
generating a second PDF file for the first group of pages;
processing a second group of pages of the document including a page after the final page of the first group of pages to a final page from the second group, wherein the final page of the second group corresponds to the page size value to cause separation of the second group; and
generating a third PDF file for the second group of pages.

US Pat. No. 10,656,880

USER INTERFACE FOR A CUSTOMIZED PERSONALIZATION DOCUMENT PRINTER OF AN INSTANT ISSUANCE SYSTEM

Entrust Datacard Corporat...

1. A system for issuing a customized personalization document for a document holder while the document holder is present, the system comprising:a server computer that receives a request to issue the customized personalization document for the document holder, wherein the request includes at least one of the document holder's personalization information and background information indicating a background to be placed onto the personalization document, generates personalized account data and rendering instruction data based on information provided in the request, and transmits the personalized account data and the rendering instruction data;
a customized personalization document printer connected to the server computer via a network, the printer receives the personalized account data and the rendering instruction data, retrieves actual rendering data based on the rendering instruction data, and merges the actual rendering data and the personalized account data into printing data, the printer including a personalization component that performs a printing function on the customized personalization document; and
a processor that runs a remote user interface (RUI) stored on a memory component, the processor being separate from and external to the server computer, wherein the RUI, via a display and an input device, allows a user to interact with and control printer functionality of the printer and allows a user to interact with and control server functionality of the server computer.

US Pat. No. 10,656,879

PRINTING APPARATUS AND PRINTING METHOD

Seiko Epson Corporation, ...

1. A printing apparatus comprising:a first acquisition section that acquires first printing data;
a first storage controller that causes the first printing data acquired by the first acquisition section to be stored into a first storage section;
a first conversion section that retrieves, from the first storage section, the first printing data stored into the first storage section on a first-in first-out basis, and converts, for each set of n lines among lines included in a text document represented by the first printing data, n being a predetermined number larger than or equal to 1, the retrieved first printing data into first image data in accordance with a printing setting in order in which the first printing data is retrieved;
a first deletion controller that, at timing when printing of the first image data is started, deletes, from the first storage section, converted first printing data corresponding to the first image data; and
a first printing setting controller that, when the printing setting is changed during the printing of the first image data, causes the first conversion section to convert converted first printing data stored in the first storage section, in accordance with the changed printing setting,
wherein, the first acquisition section, the first storage controller, and the first conversion section operate without pause during the first deletion controller and the first printing setting controller operating.

US Pat. No. 10,656,878

APPARATUSES AND METHODS FOR CONFIGURING I/OS OF MEMORY FOR HYBRID MEMORY MODULES

Micron Technology, Inc., ...

1. A method, comprising:receiving, at a memory module, a command initiated by a host device to operate the memory module in a mode that is based at least in part on a power failure event, wherein the mode of operation comprises communicating data from a synchronous dynamic random-access memory (SDRAM) of the memory module to a non-volatile memory (NVM) of the memory module for the power failure event;
transferring the data from the SDRAM to the NVM via a control circuit of the memory module in response to the command; and
programming, by the memory module, a mode register of the SDRAM with information that configures the SDRAM to operate according to the mode of operation, wherein the programming is based at least in part on transferring the data from the SDRAM to the NVM;
avoiding command signaling from the host while in the mode of operation; and
transferring the data from the NVM back to the SDRAM via the control circuit based at least in part on a reapplication of power to the memory module.

US Pat. No. 10,656,877

VIRTUAL STORAGE CONTROLLER

NUTANIX, INC., San Jose,...

1. A method comprising:by a virtual storage controller running on a host machine,
receiving an input/output (I/O) command using a native drive communications protocol from a software application on a user virtual machine running on the host machine;
determining whether a local service virtual machine on a same node as the virtual storage controller is unresponsive to the virtual storage controller by:
pinging the local service virtual machine; and
detecting whether the local service virtual machine fails to respond to the virtual storage controller within a pre-determined amount of time after pinging by the virtual storage controller;
embedding an Internet Protocol (IP)-based storage communications protocol in the I/O command to create an embedded I/O command, in response to the local service virtual machine being unresponsive to the virtual storage controller;
sending the embedded I/O command to a remote service virtual machine, wherein the remote service virtual machine is configured to send the embedded I/O command to a local storage and receive a response from the local storage; and
receiving the response from the remote service virtual machine.

US Pat. No. 10,656,876

CLOUD EDITION AND RETRIEVE

Cohesity, Inc., San Jose...

1. A method, comprising:generating a cloud instantiation of a secondary storage system;
receiving an indication to virtually rebuild one or more secondary storage clusters based on a snapshot archive stored in cloud storage, wherein the snapshot archive is comprised of serialized data, wherein the serialized data is comprised of a flat set of data blocks, wherein each data block included in the flat set of data blocks corresponds to one of a plurality of nodes of a tree data structure, wherein the tree data structure is comprised of a root node, one or more intermediate nodes, and one or more leaf nodes;
virtually rebuilding the one or more secondary storage clusters including by reconstituting the tree data structure in the cloud instantiation of the secondary storage system based on the serialized data included in the snapshot archive, wherein the reconstituted tree data structure is comprised of at least the root node, one of the one or more intermediate nodes, and one of the one or more leaf nodes; and
providing a copy of at least a portion of data of the one or more rebuilt storage clusters in the cloud instantiation to restore at least the portion of data to a user destination system.

US Pat. No. 10,656,875

METHOD FOR RE-READING PAGE DATA

Silicon Motion, Inc., Jh...

1. A method for re-reading page data executed in a data storage device, the data storage device comprising a non-volatile memory and a controller, the non-volatile memory comprising a plurality of blocks and each of the blocks comprising a plurality of pages, the method for re-reading page data comprising steps of:reading the data stored on a target page of a target block by the controller, wherein the target block is one of the blocks, and the target page is correspondingly one of the pages of the target block;
determining by the controller whether the data stored on the target page can be obtained;
if the data stored on the target page cannot be obtained, selecting one of a plurality of retry types by the controller according to at least one environmental parameter, and selecting a retry table from a plurality of retry tables of the selected retry type, wherein each of the retry tables further comprises an index value and records at least one read parameter; and
re-reading the data stored on the target page by the controller using the read parameter of the selected retry table, and returning to the step of determining by the controller whether the data stored on the target page can be obtained.

US Pat. No. 10,656,874

STORAGE DEVICE OPERATION CONTROL METHOD, AND STORAGE DEVICE

Huawei Technologies Co., ...

1. A method for storage device operation control, the method comprising:receiving, by a storage device, a plurality of requests from a plurality of management nodes, wherein each request in the plurality of requests is an operation request;
determining, by the storage device based on a preset arbitration method, that at least one management node of the plurality of management nodes has operation permission, wherein only one management node has operation permission with respect to the storage device in a given time period, wherein the preset arbitration method comprises a permission status group and a request execution status group, wherein the permission status group identifies operation permission of each management node, and the request execution status group is used to record whether the storage device is performing a requested operation;
selecting, by the storage device, a first management node in the at least one management node, wherein a first request of the plurality of requests is received by the storage device from the first management node; and
performing, by the storage device, an operation associated with the first request.

US Pat. No. 10,656,873

TECHNOLOGIES FOR PRIORITIZING EXECUTION OF STORAGE COMMANDS

Intel Corporation, Santa...

1. A data storage device for prioritized execution of storage commands, the data storage device comprising:a memory to store a storage sub-command queue; and
a host storage command fetcher to retrieve a storage command from a storage command queue of a host;
a storage command priority analyzer to determine a non-sequential priority of the retrieved storage command, wherein to determine the priority of the retrieved storage command comprises to determine a priority of the retrieved storage command based on at least one of: (i) metadata associated with the retrieved storage command, or (ii) a processor core of the host that issued the storage command;
a storage command manager to generate, based on the retrieved storage command, one or more storage sub-commands that subdivide the retrieved storage command into a plurality of storage sub-commands to execute the retrieved storage command and add the sub-commands to the storage sub-command queue based on the determined priority of the retrieved storage command.

US Pat. No. 10,656,872

STORAGE DEVICE WITH MULTI-DIE MANAGEMENT

Western Digital Technolog...

1. A system comprising:a plurality of non-volatile memory dies;
a memory bus coupled to the plurality of non-volatile memory dies; and
one or more control circuits coupled to the plurality of non-volatile memory dies through the memory bus, the one or more control circuits including a plurality of first die-specific request queues configured in a one-to-one correspondence with the plurality of non-volatile memory dies and a plurality of second die-specific request queues configured in a one-to-one correspondence with the plurality of non-volatile memory dies, the one or more control circuits configured to add one or more die-specific atomic requests to individual second die-specific request queues of the plurality of second die-specific request queues in response to die-specific triggering events, the one or more die-specific atomic requests generated from an access request in a corresponding first die-specific request queue.

US Pat. No. 10,656,871

EXPANDING SLICE COUNT IN RESPONSE TO LOW-LEVEL FAILURES

PURE STORAGE, INC., Moun...

1. A method for execution by a computing device of a storage network, the method comprises:determining a memory device of the storage network has an issue, wherein a data segment of a data object is dispersed storage error encoded to produce a set of encoded data slices that is stored in a set of storage units of the storage network, wherein a storage unit of the set of storage units includes a plurality of memory devices, wherein the plurality of memory devices includes the memory device, and wherein the memory device stores an encoded data slice of the set of encoded data slices;
identifying sets of encoded data slices, wherein a first encoded data slice of each of the sets of encoded data slices is stored in the memory device;
generating at least one additional encoded data slice for each of the sets of encoded data slices to produce at least one group of encoded data slices; and
storing the at least one group of encoded data slices in at least one other memory device of the storage network.

US Pat. No. 10,656,870

INFORMATION PROCESSING APPARATUS THAT CONTROLS ACCESS TO NON-VOLATILE STORAGE MEDIUM, METHOD OF CONTROLLING THE SAME, AND STORAGE MEDIUM

CANON KABUSHIKI KAISHA, ...

1. An information processing apparatus including a non-volatile storage medium and a volatile storage medium, the information processing apparatus comprising:a memory storing instructions; and
a processor that implements the instructions to execute a plurality of tasks, including:
a hooking task that provides hooking for a system call that uses a file descriptor;
a detection task that detects an access frequency to a file stored in the non-volatile storage medium, using the hooking task; and
a data access control task that controls storing of a file whose detected access frequency has exceeded a predetermined value, from the non-volatile storage medium to the volatile storage medium, using the hooking task, while controlling storing of a link of the file to the non-volatile storage medium.

US Pat. No. 10,656,869

PERFORMANCE-BASED VOLUME REPLICA MIGRATION

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:determining a first operational state of a data storage volume corresponding to a first set of replicas implemented on a set of servers;
generating first information corresponding to the first operational state and second information corresponding to operational impact to the data storage volume based on a set of possible operational states;
generating a movement strategy for the data storage volume based at least in part on the first information and the second information, the movement strategy associated with a second operational state associated with a second set of replicas, and specifying an operation performable by the set of servers to update the first set of replicas;
executing the movement strategy by causing the set of servers to perform the operation, thereby generating a second set of replicas;
monitoring performance of the operation to determine that the second set of replicas is successfully generated; and
as a result of the second set of replicas being successfully generated, providing access to the data storage volume.

US Pat. No. 10,656,868

OPTIMAL STORAGE AND WORKLOAD PLACEMENT, AND HIGH RESILIENCY, IN GEO-DISTRIBUTED CLUSTER SYSTEMS

Microsoft Technology Lice...

1. A system comprising:a memory storing processor-executable process steps:
a processor to execute the processor-executable process steps to cause the system to:
determine, based on directory metadata indicating relationships between two or more cluster nodes and domain controllers, a first subset of two or more cluster nodes connected to a first domain controller;
determine two or more subsets of the first subset, where each of the two or more subsets is associated with a different network subnet and comprises cluster nodes of the first subset which belong to its associated network subnet;
for each of the two or more subsets, determine storage resources based on latencies between each cluster node of a subset and the storage resources, where the latencies between each cluster node and each storage resource of a subset are of similar magnitude; and
storing metadata indicating the cluster nodes and storage resources of each of the two or more subsets.

US Pat. No. 10,656,867

COMPUTER SYSTEM, DATA MANAGEMENT METHOD, AND DATA MANAGEMENT PROGRAM

HITACHI, LTD., Tokyo (JP...

1. A computer system, comprising:a plurality of nodes capable of storing data, and a management computer that manages the nodes,
wherein a first volume of a first node and a second volume of a second node constitute an HA (High Availability) pair for managing identical data in a duplicated manner,
wherein the first node becomes offline in a state that can be changed to be online,
wherein a processor unit of the second node is configured to, when the first node becomes offline, write write data that is to be written into the second volume of the second node after the first node becomes offline into the second volume and into a third volume of a third node that is different from the first node and the second node,
wherein upon a failure occurring in the second node, the first node becomes online, and
wherein same data as the data written into the second node is recovered in the first node by using data that was previously written into the first node before the first node was offline and data that was written into the third node after the first node becomes offline.

US Pat. No. 10,656,866

UNIDIRECTIONAL VAULT SYNCHRONIZATION TO SUPPORT TIERING

PURE STORAGE, INC., Moun...

1. A computing device comprising:an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);
memory that stores operational instructions; and
processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:
select storage parameters for a multi-vault synchronization process from a first storage vault to a second storage vault, wherein the first storage vault includes a first plurality of storage units (SUs) within the DSN, wherein the second storage vault that includes a second plurality of SUs, wherein the first plurality of SUs distributedly stores one or more sets of ingestion encoded data slices (EDSs) that are generated, by a client module based on dispersed error encoding of at least a portion of an ingestion data stream in accordance with first dispersed error encoding parameters, wherein a data object of the at least a portion of an ingestion data stream is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce a set of ingestion EDSs of the one or more sets of ingestion EDSs, wherein the second storage vault is not used for ingestion of encoded data slices generated by the client module;
select second dispersed error encoding parameters;
synchronize storage of the one or more sets of ingestion EDSs from the first storage vault to the second storage vault based on the second dispersed error encoding parameters;
in accordance with synchronization of the storage of the one or more sets of ingestion EDSs, maintain storage of the at least a portion of an ingestion data stream within the second storage vault and also within the first storage vault;
facilitate deletion of the one or more sets of ingestion EDSs corresponding to the at least a portion of an ingestion data stream from the first storage vault;
based on deletion of the one or more sets of ingestion EDSs corresponding to the at least a portion of an ingestion data stream from the first storage vault, provide an indication to not maintain further synchronization of the at least a portion of an ingestion data stream;
return the at least a portion of an ingestion data stream from the second storage vault to the first storage vault, wherein the first storage vault facilitates faster retrieval therefrom than the second storage vault; and
based on the ingestion data stream including at least one other portion, perform another multi-vault synchronization process from the first storage vault to the second storage vault for the at least one other portion of the ingestion data stream.

US Pat. No. 10,656,865

VIRTUALIZED BLOCK DEVICE BACKING FOR VIRTUALIZATION CONTAINERS

Amazon Technologies, Inc....

1. A method, comprising:instantiating a virtualization container from a virtualization container image on top of an operating system kernel of a host, wherein the virtualization container image comprises a plurality of read-only image layers;
receiving a command to create a storage volume for the virtualization container based on an image manifest comprising a list of the plurality of read-only image layers of the virtualization container image;
identifying a read-only image layer of the plurality of read-only image layers of the virtualization container image;
searching a remote storage device for a snapshot associated with the read-only image layer of the plurality of read-only image layers of the virtualization container image; and
if a snapshot associated with the read-only image layer of the plurality of read-only image layers of the virtualization container image is found, creating a remote storage volume in the remote storage device based on the snapshot and connecting the virtualization container to the remote storage volume;
otherwise, creating a new snapshot in the remote storage device using data for the read-only image layer of the plurality of read-only image layers of the virtualization container image and connecting the virtualization container to a remote storage volume in the remote storage device that is based on the new snapshot.

US Pat. No. 10,656,864

DATA REPLICATION WITHIN A FLASH STORAGE ARRAY

Pure Storage, Inc., Moun...

1. A system comprising:a first storage array configured to:
responsive to a request to replicate a snapshot of a volume from a first storage array to a second storage array, identify a group of data corresponding to the snapshot;
during replication of the group of data from the first storage array to the second storage array, determine that a non-replicated region of the group is a duplicate of a replicated region of the group; and
in response to the first storage array determining that the non-replicated region is a duplicate of the replicated region stored on the second storage array, send, from the first storage array to the second storage array, a reference to the non-replicated region instead of sending data for the non-replicated region, the reference including an address where the non-replicated region is stored on the first storage array;
maintain a second list of regions which are already stored on the second storage array and which map to a region of the group of data; and
a second storage array configured to, responsive to detecting the request to replicate the snapshot of the volume from the first storage array to the second storage array:
identify a plurality of regions stored on the second storage array which correspond to groups of data that originated on the first storage array; and
send a first list of the plurality of regions to the first storage array;
wherein the first storage array is remote from the second storage array.

US Pat. No. 10,656,863

LIFECYCLE MANAGEMENT OF STORAGE CLUSTERS

Amazon Technologies, Inc....

1. A system, comprising:one or more computing devices configured to implement a cluster lifecycle management system, wherein the cluster lifecycle management system is configured to:
launch a first storage cluster based at least in part on a schedule, the first storage cluster comprising two or more storage instances to store data from a data source and process queries directed to the data;
load a first set of data from the data source into the first storage cluster, wherein the first set of data and the first storage cluster are associated with a first period of time, and wherein the first storage cluster is selected for loading the first set of data based at least in part on the first set of data and the first storage cluster being associated with the first period of time;
launch a second storage cluster based at least in part on the schedule, the second storage cluster comprising two or more storage instances to store data from the data source and process queries directed to the data;
place the first storage cluster into a read-only state after the first set of data is loaded into the first storage cluster; and
load a second set of data from the data source into the second storage cluster, wherein the second set of data and the second storage cluster are associated with a second period of time, and wherein the second storage cluster is selected for loading the second set of data based at least in part on the second set of data and the second storage cluster being associated with the second period of time.

US Pat. No. 10,656,862

SYSTEMS AND METHODS FOR IMPLEMENTING SPACE CONSOLIDATION AND SPACE EXPANSION IN A HORIZONTALLY FEDERATED CLUSTER

Amzetta Technologies, LLC...

1. A computer-implemented method for consolidating space in a storage cluster, comprising:striping a volume across a plurality of storage nodes, wherein a plurality of logical blocks of the volume are distributed to the storage nodes;
maintaining a cluster volume table (CVT) storing information regarding distribution of the logical blocks across the storage nodes, wherein the CVT comprises a plurality of entries, and wherein each of the entries in the CVT comprises information identifying a respective owner storage node of a respective logical block;
adding a new storage node to the storage cluster, wherein a portion of the new storage node's storage capacity is reserved for space consolidation;
transferring data for one or more logical blocks from each of the storage nodes to the new storage node based on respective usage ratios of the storage nodes;
updating the CVT to identify the new storage node as owner storage node of the one or more logical blocks transferred to the new storage node;
receiving a list of logical blocks eligible for transfer from the storage nodes to the new storage node, wherein a logical block eligible for transfer is not associated with a plurality of snapshot versions; and
populating a transfer array comprising the list of logical blocks eligible for transfer.

US Pat. No. 10,656,861

SCALABLE DISTRIBUTED IN-MEMORY COMPUTATION

EMC IP Holding Company LL...

1. A method comprising:distributing in-memory computations across at least first and second nodes of respective distinct data processing clusters of a plurality of data processing clusters over at least one network; and
aggregating results of the distributed in-memory computations for delivery to a requesting client device, wherein the results of the distributed in-memory computations are generated in respective ones of the at least first and second nodes in a decentralized and privacy-preserving manner;
wherein the data processing clusters are associated with respective distinct data zones, the first and second nodes of the respective distinct data processing clusters being configured to perform corresponding portions of the distributed in-memory computations utilizing respective ones of first and second in-memory datasets locally accessible within their respective data zones;
wherein the aggregating comprises processing local results received from respective ones of the at least first and second nodes of the data processing clusters to generate a global result as a function of the local results; and
wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

US Pat. No. 10,656,860

TAPE DRIVE LIBRARY INTEGRATED MEMORY DEDUPLICATION

International Business Ma...

1. A tape drive memory storage improvement method comprising:receiving, by a processor of a storage tape drive hardware device of a storage tape drive hardware library system comprising a plurality of storage tape drive hardware devices, a data stream for storage, wherein said storage tape drive hardware device internally comprises a deduplication software engine, a non-volatile memory device (NVS1), a non-volatile memory device (NVS2), and a first data storage tape cartridge;
identifying, by said processor within said NVS2, duplicate data chunks of a plurality of adjacent variable length data chunks of said data stream, wherein said duplicate data chunks comprise duplicated data with respect to a first group of data chunks of said plurality of adjacent variable length data chunks;
deleting, by said processor from said NVS2, said duplicate data chunks such that said first group of data chunks remain within said NVS2;
writing, by said processor to a first data storage tape cartridge of said storage tape drive hardware device, said first group of data chunks;
generating, by said processor for storage with said first data storage tape cartridge, pointers associated with a location within said NVS1 storing de-duplication hashes identifying each data chunk of said first group of data chunks stored within said first data storage tape cartridge;
writing, by said processor from said NVS1 to a manager non-volatile memory device (MNVS) of said storage tape drive hardware library system, said de-duplication hashes; and
updating, by said processor, said MNVS by combining said de-duplication hashes with a plurality of additional de-duplication hashes identifying a plurality of commonly used de-duplicated data chunks stored within said plurality of storage tape drive hardware devices.

US Pat. No. 10,656,859

EFFICIENT DEDUPLICATION FOR STORAGE SYSTEMS

Tintri by DDN, Inc., San...

1. A system, comprising:a memory configured to store a first current data structure and a second current data structure; and
a processor coupled to the memory, the processor is configured to:
use the first current data structure to track a first set of deduplication data entries associated with a first collection group, wherein respective fingerprints of the first set of deduplication data entries associated with the first collection group are associated with a first common attribute, wherein respective fingerprints of a second set of deduplication data entries associated with a second collection group are associated with a second common attribute, wherein the first common attribute is different from the second common attribute;
determine a flush criterion associated with the first current data structure has been met; and
in response to the determination that the flush criterion associated with the first current data structure has been met, store the first set of deduplication data entries of the first current data structure as one or more persistent objects associated with the first collection group in a persistent storage, wherein the one or more persistent objects are usable to update a set of persistently stored metadata associated with the first collection group that tracks deduplication data entries associated with the first collection group generated before a previous merge operation associated with the first collection group.

US Pat. No. 10,656,858

DEDUPLICATION FEATURING VARIABLE-SIZE DUPLICATE DATA DETECTION AND FIXED-SIZE DATA SEGMENT SHARING

Veritas Technologies LLC,...

1. A method comprising:receiving a data stream;
dividing the data stream into a plurality of variable-sized sections;
calculating a fingerprint for a first variable-sized section of the plurality of variable-sized sections, wherein
the fingerprint is calculated as a function of all data within the first variable-sized section;
determining whether the fingerprint matches a stored fingerprint;
in response to determining that the fingerprint matches the stored fingerprint, identifying a fixed-length data segment in storage that contains a copy of data in the first variable-sized section, wherein
the fixed-length data segment comprises
the copy, and
additional data that is not found in the first variable-sized section;
replacing the first variable-sized section with a plurality of references including a reference to the fixed-length data segment; and
updating a reference file to identify
the fixed-length data segment,
a first portion of data in the fixed-length data segment that corresponds to the copy, and
a second portion of data in the fixed-length data segment that corresponds to the additional data.

US Pat. No. 10,656,857

STORAGE SYSTEM INDEXED USING PERSISTENT METADATA STRUCTURES

Vast Data Ltd., Tel Aviv...

1. A storage system, comprising:a data store including a plurality of data blocks; and
an element store, the element store including a plurality of element trees, wherein each element tree includes a plurality of metadata blocks containing pointers, wherein each pointer points to one of the plurality of metadata blocks or to one of the data blocks, wherein data of the plurality of data blocks is read by navigating at least one of the plurality of element trees, wherein the element store has a bottom level including a plurality of content blocks, wherein each content block is one of the metadata blocks including a pointer to one of the data blocks.

US Pat. No. 10,656,856

DATA ACCESS APPARATUS USING MEMORY DEVICE WHEREIN 24-BIT DATA IS DIVIDED INTO THREE SEGMENTS THAT HAS PREDETERMINED ADDRESSES MAPPED TO ADDRESSES OF SINGLE 8-BIT DEVICE

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

1. A data access apparatus using a memory device configured to map addresses, wherein the data access apparatus includes a processor and comprises:a single 8-bit memory device including a plurality of addresses configured to access data;
an address mapping unit, executing on the processor, configured to divide the single 8-bit memory device into three parts by dividing the plurality of addresses of the single 8-bit memory device into a first region, a second region, and a third region having consecutive addresses respectively, and to map the plurality of addresses of the single 8-bit memory device to respective predetermined addresses in the first to third regions such that they one-to-one correspond to each other;
a data division unit, executing on the processor, configured to divide 24-bit data into the first to third segments of data, wherein the first segment is defined as high-order 8-bit data, the second segment is defined as middle-order 8-bit data, and the third segment is defined as low-order 8-bit data;
a data mapping unit, executing on the processor, configured to map the high-order 8-bit data with the predetermined addresses in the first region, the middle-order 8-bit data with the predetermined addresses in the second region, and the low-order 8-bit data with the predetermined addresses in the third region;
a control unit, executing on the processor, configured to control the first to third segments of data such that each of the first to third segments of data are stored in the plurality of addresses of the single 8-bit memory device mapped to each of the predetermined addresses located respectively in the first to third regions,
wherein each of the predetermined addresses in which the first to third segments of data are stored are located in same order in each of the first to third regions respectively such that intervals of each of the predetermined addresses located respectively in the first to third regions are the same.

US Pat. No. 10,656,855

MEMORY MANAGEMENT IN A PROGRAMMABLE DEVICE

International Business Ma...

1. An apparatus comprising:at least one processor;
a programmable device coupled to the at least one processor, the programmable device comprising:
an internal memory; and
a memory manager that manages the internal memory, the memory manager allocating a first memory partition in the internal memory to a first accelerator when the first accelerator is deployed to the programmable device and allocating a memory subpartition of the first memory partition to each process that accesses the first accelerator, wherein the memory manager controls access to the internal memory by a plurality of processes by allocating a different key to each of the plurality of processes, and by requiring each of the plurality of processes to send the corresponding key to the memory manager when attempting to access the internal memory.

US Pat. No. 10,656,854

METHOD AND PORTABLE STORAGE DEVICE WITH INTERNAL CONTROLLER THAT CAN SELF-VERIFY THE DEVICE AND SELF-CONVERT THE DEVICE FROM CURRENT MODE TO RENEWED MODE WITHOUT COMMUNICATING WITH HOST

APRICORN, Poway, CA (US)...

1. A portable secure storage device that is self-convertible from a current mode to a renewed mode, comprising:a casing;
a memory disposed within the casing and configured to store encrypted information;
an input device disposed at the casing, configured to receive a privileged security access code, and configured to receive a restricted security access code;
an output device disposed at the casing and configured to provide an output;
a controller disposed within the casing and coupled to the input device, wherein the controller is configured to cause:
unlocking the portable secure storage device based on the privileged security access code or the restricted security access code; and
locking the portable secure storage device based on a request, a status, an occurrence of a first event, or an omission of a second event;
wherein the controller is configured to cause:
storing a privileged access code in the controller;
storing a restricted access code in the controller;
receiving a first input via the input device;
in response to the first input, self-determining, without communicating with a host, whether a request is made to self-convert the portable secure storage device from the current mode to the renewed mode, wherein the host is separate and distinct from the portable secure storage device;
self-determining, without communicating with the host, whether the portable secure storage device is in an exclusive mode or a nonexclusive mode;
when the request is made, when the portable secure storage device is in the exclusive mode, and when the privileged security access code received at the input device is verified against the stored privileged access code:
self-converting, without communicating with the host, the portable secure storage device from the current mode to the renewed mode; and
when the request is made and when the portable secure storage device is in the nonexclusive mode:
without communicating with the host, without requiring a determination of whether the privileged security access code is verified, and without requiring a determination of whether the restricted security access code is verified, self-converting the portable secure storage device from the current mode to the renewed mode, and
wherein:
when the portable secure storage device is in the renewed mode, the stored privileged access code is a nullified privileged access code, wherein the nullified privileged access code is unusable to verify any security access code, which is received at the input device while the portable secure storage device contains the nullified privileged access code,
when data is encrypted using an encryption key and stored prior to the portable secure storage device being in the renewed mode, and when the portable secure storage device is in the renewed mode, the portable secure storage device contains a new encryption key that is unusable for decrypting the data encrypted using the encryption key,
the restricted security access code is different from the privileged security access code,
the restricted security access code is usable to change a less number of configuration profiles of the portable secure storage device than the privileged security access code,
the restricted security access code is unusable to convert the portable secure storage device from the exclusive mode to the nonexclusive mode and from the nonexclusive mode to the exclusive mode, and
when the portable secure storage device is in the exclusive mode, and when the privileged security access code is not verified, the controller is prevented from converting the portable secure storage device from the current mode to the renewed mode even if the restricted security access code is verified.

US Pat. No. 10,656,853

TAPE HAVING MULTIPLE DATA AREAS

International Business Ma...

1. A product, comprising:a tape having data stored on the tape as a single file that includes a first data area and a second data area in at least a portion of the first data area,
the tape having data stored in a third data area separate from the first data area, the third data area being a previously-changed portion of the data in the first data area that corresponds to the second data area,
wherein the third data area is appended to the first data area.

US Pat. No. 10,656,852

PERFORMING PREPROCESSING OPERATIONS IN ANTICIPATION OF LOG FILE WRITES

INTERNATIONAL BUSINESS MA...

6. A system, comprising:a memory; and
a processor coupled to the memory, wherein the processor performs operations, the operations comprising:
in response to performing preprocessing operations corresponding to a range of blocks in which data corresponding to a next write is anticipated to be written, and in response to receiving the next write, writing the data corresponding to the next write in at least one or more blocks of the range of blocks; and
in response to writing the data, freeing one or more resources blocked by the preprocessing operations and allowing one or more operations blocked by the preprocessing operations to be executed.

US Pat. No. 10,656,851

MAINTENANCE OPERATIONS IN A DRAM

RAMBUS INC., Sunnyvale, ...

1. A memory controller that controls the operation of a memory device, the memory device including a command interface, an on-die termination circuit having a termination resistance, an output driver to transmit data, the output driver having an output drive strength, and a plurality of memory banks, each bank including a plurality of rows of memory cells, the memory controller comprising:a circuit to issue a refresh command to the memory device, wherein the refresh command specifies a refresh operation of the plurality of memory banks, the refresh operation to occur during a time interval; and
the circuit to issue an operation code to the memory device, the operation code specifying a calibration operation, during the time interval, of the termination resistance of the on-die termination circuit and the output drive strength.

US Pat. No. 10,656,850

EFFICIENT VOLUME REPLICATION IN A STORAGE SYSTEM

Pure Storage, Inc., Moun...

1. A method comprising:receiving a request to replicate a volume at a source solid-state storage array to a target solid-state storage array, the volume corresponding to a plurality of snapshots associated with data blocks that are stored at the source solid-state storage array;
identifying a most recent snapshot of the plurality of snapshots corresponding to the volume at the source solid-state storage array that is present at the target solid-state storage array;
identifying metadata organized into a plurality of logical groups, each of the logical groups corresponding to a sequence number range and including a portion of the metadata that is associated with a portion of the data blocks of the volume, wherein each sequence number range comprises a plurality of sequence numbers that are assigned to each operation associated with the source solid-state storage array;
determining a last sequence number associated with the most recent snapshot of the plurality of snapshots that is present at the target solid-state storage array;
identifying, by a processing device, a logical group of the plurality of logical groups with a corresponding sequence number range that includes the last sequence number associated with the most recent snapshot; and
reading the metadata to identify a portion of the data blocks to transmit to the target solid-state storage array to replicate the volume based on a next logical group of the plurality of logical groups with a corresponding sequence number range with higher sequence numbers than the identified logical group.

US Pat. No. 10,656,849

STORAGE SYSTEM AND CONTROL METHOD THEREOF

Hitachi, Ltd., Tokyo (JP...

1. A storage system comprising:a first storage control unit,
a second storage control unit; and
a storage drive connected to at least the first storage control unit and having a nonvolatile storage medium,
wherein the first storage control unit includes a first cache area in which data is stored and a first buffer area in which the data is stored, the second storage control unit includes a second cache area in which the data is stored and a second buffer area in which the data is stored, and wherein the data stored in the first cache area is stored in the second cache area for duplication,
wherein upon receiving a data write command from a host computer, the first storage control unit stores data to be subjected to the write command in the first cache area of the first storage control unit, and stores the data in the second cache area of the second storage control unit to perform duplication, and upon completion of the duplication, the first storage control unit transmits a response indicating an end of write of the data to the host computer,
regarding the data to be stored in the storage drive among the duplicated data which is target data of the write command, the first storage control unit executes a predetermined process on the data to be subjected to the write command, and stores the data in the first buffer area,
the first storage control unit creates a parity based on the data stored in the first buffer area and stores the parity in the first buffer area,
the first storage control unit reads the data stored in the first buffer area and transmits the read data to the storage drive, and
regarding the data not to be stored in the storage drive among the duplicated data, the first storage control unit does not execute the predetermined process, does not store the data in the first buffer area, and does not create the parity.

US Pat. No. 10,656,848

DATA LOSS AVOIDANCE IN MULTI-SERVER STORAGE SYSTEMS

International Business Ma...

1. A method for avoiding data loss in a storage system, the method comprising:monitoring a degradation level associated with a battery, the battery providing backup power to a storage system in the event of a primary power outage, the storage system comprising a first server and a second server, the first server comprising a volatile storage media storing modified data to destage to persistent storage media;
in the event the degradation level crosses a designated threshold, performing the following:
destaging the modified data from the volatile storage media to the persistent storage media;
passing, from the first server to the second server, ownership of logical subsystems normally serviced by the first server;
modifying a size of the volatile storage media and restarting the first server; and
retaking, by the first server, ownership of the logical subsystems.

US Pat. No. 10,656,847

MITIGATING ASYMMETRIC TRANSIENT ERRORS IN NON-VOLATILE MEMORY BY PROACTIVE DATA RELOCATION

International Business Ma...

1. A method of mitigating asymmetric errors in a non-volatile memory having an associated controller, the method comprising:performing, by the controller, background reads of multiple physical pages of a selected physical block of the non-volatile memory;
detecting, by the controller, asymmetric transient errors in an affected physical page among the multiple physical pages based on an elevated bit error rate (BER) observed in the background read of the affected physical page that is in excess of a selected BER; and
in response to detecting the asymmetric transient errors in the affected physical page, mitigating, by the controller, the detected asymmetric transient errors by relocating first valid logical pages of data from the affected physical page to another physical block of the non-volatile memory different than the selected physical block and by retaining second valid logical pages of data programmed into physical pages of the selected physical block different than the affected physical page.

US Pat. No. 10,656,846

OPERATING METHOD OF MEMORY SYSTEM

SK hynix Inc., Gyeonggi-...

1. A method for operating a memory system including a storage medium and a controller, the storage medium including a map data region, a log region, and a plurality of memory regions, the controller including a working memory, the method comprising:each time data is stored in a first memory region among one or more first memory regions included in a first list, storing, by the controller, mapping information between a logical address of the data and the first memory region, in the working memory as new map data of the first memory region;
updating, by the controller, after accessing all of the first memory regions for a purpose of data storage, map data for the first memory regions, by invalidating old map data stored in the map data region and storing in the map data region new map data of the first memory regions stored in the working memory;
determining, by the controller, a list size based on a workload of the memory system, and generating a second list including one or more second memory regions depending on the list size; and
accessing, by the controller, after the updating of the map data, the second memory regions for a purpose of data storage.

US Pat. No. 10,656,845

SYSTEM AND METHOD FOR MANAGING CONTAINER IMAGE

SAMSUNG SDS CO., LTD., S...

1. A container image managing system, the system comprising:a remote storage configured to store and manage a container image;
a container engine configured to mount a storage area of the container image stored in the remote storage and read the container image from the mounted storage area to generate a container;
a local storage configured to store a read-write layer of the generated container;
an image manager configured to perform at least one among generating, correcting, and deleting the container image stored in the remote storage; and
an orchestrator configured to provide the container engine with access information of the image manager,
wherein when the container engine generates a plurality of containers using the container image, one or more layers commonly used by each of the plurality of the containers are bind-mounted, and
wherein the container engine further configured to access the image manager based on the access information of the image manager and obtain, from the image manager, access information of the remote storage and mount point information for the storage area.

US Pat. No. 10,656,844

NON-VOLATILE MEMORY WITH REGIONAL AND INTER-REGION WEAR LEVELING

Western Digital Technolog...

1. A non-volatile storage apparatus, comprising:a set of non-volatile memory cells; and
one or more control circuits in communication with the set of non-volatile memory cells, the one or more control circuits are configured to map the set of non-volatile memory cells into a plurality of regions, group logical address ranges used by a host into a plurality of groups according to expected access frequency information, assign the plurality of groups to the plurality of regions according to the expected access frequency information, apply a first wear leveling scheme in each of the plurality of regions, remapping according to the first wear leveling scheme triggered by a first number of writes in a first region, the first number selected according to expected endurance characteristics of the first region and remapping according to the first wear leveling scheme triggered by a second number of writes in a second region, the second number selected according to expected endurance characteristics of the second region and apply a second wear leveling scheme between the plurality of regions, the second wear leveling scheme is based on the expected access frequency information, the expected access frequency information is obtained through indicators of expected access frequency sent by the host.

US Pat. No. 10,656,843

SYSTEMS AND METHODS FOR WEAR LEVELLING IN A STORAGE ARRAY

Dell Products L.P., Roun...

1. A system comprising:at least one processor; and
a storage interface configured to:
sequentially select member storage resources of a virtual storage resource as a source storage resource for redirection of write input/output (I/O);
for each member storage resource, when selected as the source storage resource, change a configuration of the virtual storage resource from an original configuration to a redirect configuration by, in response to write I/O, redirecting the write I/O from a first address of the source storage resource to a second address of a spare storage resource available to the virtual storage resource, wherein the spare storage resource is a hot spare storage resource of the virtual storage resource;
maintain a redirect mapping table of respective first addresses and corresponding second addresses;
in response to a detection that a copy back condition has occurred, initiate a copy back operation configured to return the virtual storage resource to the original configuration, wherein the copy back condition comprises a wear level of the spare storage resource and/or an I/O level of the spare storage resource; and
maintain a copy back mapping table indicative of data of the source storage resource which is not to be overwritten during the copy back operation.

US Pat. No. 10,656,842

USING HISTORY OF I/O SIZES AND I/O SEQUENCES TO TRIGGER COALESCED WRITES IN A NON-VOLATILE STORAGE DEVICE

SANDISK TECHNOLOGIES LLC,...

1. A method, comprising:receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host; and
performing one or more operations for each region of the plurality of regions in the logical address space of the host, including:
determining whether the region has a history of I/O requests to access data, in the region in the logical address space of the host, of size less than a predefined small-size threshold during a predetermined time period;
determining whether the region has a history of sequential write requests to the region in the logical address space of the host during the predetermined time period; and
in accordance with a determination that the region has a history of I/O requests to access data of size less than a predefined small-size threshold during the predetermined time period and that the region has a history of sequential write requests during the predetermined time period, coalescing subsequent write requests to the region.

US Pat. No. 10,656,841

REDUCING PER-I/O CPU OVERHEAD BY QUEUEING AND BATCHING READ REQUESTS AND READ COMPLETION NOTIFICATIONS

Microsoft Technology Lice...

1. A computer-implemented method, comprising:storing batches of requests to read a file received from an application in a first queue, the requests comprising file offsets for the file;
translating the batches of requests comprising the file offsets for the file to batches of requests comprising disk offsets, wherein the translating is performed responsive to at least one of:
satisfaction of a first condition specified by the application, the first condition comprising expiration of a timer;
satisfaction of a second condition specified by the application, the second condition comprising the first queue containing a pre-defined number of the requests; or
satisfaction of a third condition specified by the application, the third condition comprising the first queue containing requests for a pre-defined amount of data;
and
storing the batches of requests comprising the disk offsets in a second queue, wherein the second queue is accessible to a storage subsystem configured to retrieve the the batches of requests comprising the disk offsets from the second queue and perform read operations on the file using the disk offsets.

US Pat. No. 10,656,840

REAL-TIME I/O PATTERN RECOGNITION TO ENHANCE PERFORMANCE AND ENDURANCE OF A STORAGE DEVICE

SanDisk Technologies LLC,...

1. A data processing method, comprising:at a storage device:
receiving from a host a plurality of input/output (I/O) requests, the I/O requests specifying operations to be performed in a plurality of regions in a logical address space of the host; and
performing one or more operations for each region of the plurality of regions in the logical address space of the host, including:
maintaining, and storing in a region data structure in the storage device, a history of I/O request patterns in the region in the logical address space of the host for a predetermined time period, the maintained history of I/O request patterns in the region including a plurality of count values for the region, each count value corresponding to a different I/O request pattern, wherein the plurality of count values are determined by tracking at least two of the following types of I/O requests in the region: sequential write requests, unaligned write requests, write requests to write data of a size less than a predefined small-size threshold, and write requests to write data of a size greater than a predefined large-size threshold; and
using the history of I/O request patterns in the region in the logical address space of the host to adjust subsequent I/O processing in the region.

US Pat. No. 10,656,839

APPARATUS AND METHOD FOR CACHE PROVISIONING, CONFIGURATION FOR OPTIMAL APPLICATION PERFORMANCE

PrimaryIO, Inc., San Car...

1. A method, comprising:monitoring an input/output (IO) stream between an application and at least one storage device with an IO monitor;
recording application-level heuristics that include information pertaining to a plurality of characteristics associated with the application;
recording IO-level heuristics in IO requests including information pertaining to a plurality of characteristics associated with the IO stream between the application and the at least one storage device;
correlating the recorded IO-level heuristics with the recorded application-level heuristics to determine at least one optimizable cache parameter for a performance increase corresponding to the IO stream;
generating a caching policy based on the at least one optimizable cache parameter;
selecting cache settings based on the caching policy; and
configuring a cache unit based on the selected cache settings.

US Pat. No. 10,656,838

AUTOMATIC STREAM DETECTION AND ASSIGNMENT ALGORITHM

SAMSUNG ELECTRONICS CO., ...

1. A Solid State Drive (SSD), comprising:flash memory to store data;
support for a plurality of device streams in the SSD;
a SSD controller to manage writing data to the flash memory responsive to a plurality of write commands, the SSD controller including storage for a submission queue and a chunk-to-stream mapper; and
a flash translation layer, including:
a receiver to receive a write command including a logical block address (LBA);
an LBA mapper to map the LBA to a chunk identifier (ID);
stream selection logic to select a stream ID based on the chunk ID using the chunk-to-stream mapper;
a stream ID adder to add the stream ID to the write command;
a queuer to place the chunk ID in the submission queue; and
background logic to remove the chunk ID from the submission queue and update the chunk-to-stream mapper.

US Pat. No. 10,656,837

INDEX MANAGEMENT IN A FLASH MEMORY

Proton World Internationa...

1. A method, comprising:controlling, using flash memory control circuitry, write operations of blocks of data to data frames of a non-volatile flash memory, the non-volatile flash memory being organized into pages with the pages being divided into frames, wherein data frames are written sequentially into a page; and
controlling, using the flash memory control circuitry, read operations of blocks of data from data frames of the non-volatile flash memory, wherein each data frame is configured to store:
at least one data block; and
at least one first metadata word including one or more index values associated with the at least one data block in an index tree having a plurality of levels, an index value corresponding to an address of a data frame in the non-volatile flash memory, wherein
for each index level of the index tree, only values originating from a previous index level are stored in the at least one first metadata word; and
each page comprises at least one page metadata word which contains, when a page is written into, a value of a counter of a number of written pages, the page to be written into being selected as a page having a page metadata word containing a highest value of the counter of written pages from among all pages in the non-volatile flash memory.

US Pat. No. 10,656,836

STORAGE SYSTEM

Hitachi, Ltd., Tokyo (JP...

1. A storage system comprising:a storage unit including at least one of a memory unit to be one or more memories and a PDEV (non-volatile physical storage device) unit to be one or more PDEVs; and
a processor unit to be one or more processors connected to the storage unit,
wherein, in write processing of a data set group to be written to be one or more data sets to be written, the processor unit
performs encoding processing including processing for generating a data model showing regularity of the data set group to be written and having one or more input values as an input and the data set group as an output (W1), and
writes the data model generated in the encoding processing and associated with a key of the data set group to be written to the storage unit (W2).

US Pat. No. 10,656,835

DATA COMPRESSION DETERMINATION FOR STORAGE AREA NETWORKS

International Business Ma...

1. A method for determining whether data compression should be performed at a storage virtualization layer or a backend layer, within a storage area network, the method comprising:assessing, by a processor of a computing system, a volume of data to decide whether the volume of data should be compressed or is already compressed;
in response to deciding that the volume of data should be compressed:
checking, by the processor, whether a restriction exists on the volume of data;
transforming, by the processor, the volume of data by compressing the volume at the storage virtualization layer of the storage area network when the restriction exists; and
migrating, by the processor, the volume of data to a natively compressed pool for data compression at the backend layer of the storage area network when the restriction does not exist; and
in response to deciding that the volume of data is already compressed:
determining, by the processor, that the volume of data already compressed should be uncompressed based on at least one metric;
uncompressing, by the processor, the volume of data already compressed at the storage virtualization layer when the volume of data already compressed was compressed at the storage virtualization layer of the storage area network; and
migrating, by the processor, the volume of data already compressed to a natively uncompressed pool for uncompressing the volume of data already compressed at the backend layer of the storage area network when the volume of data already compressed was compressed at the backend layer.

US Pat. No. 10,656,834

TRANSPARENT CAPI EXPLOITATION FOR LEGACY APPLICATION

International Business Ma...

1. A computer-implemented method for implementing an interface superpipe in a filesystem comprising:receiving, by a filesystem in a kernel, a first command to open a file, the first command to open a file issued in the execution of a process in an application;
determining that the file is on an interface disk;
determining that a context does not exist for the process and in response:
allocating an adapter queue for the process in a kernel memory; and
mapping the adapter queue into a process address space associated with the process;
saving the context information of the process in the kernel memory;
receiving a second command to open the file according to the process;
determining that the file is on the interface disk;
determining that the context does exist in the kernel for the process; and
retrieving the context for the process.

US Pat. No. 10,656,833

HYBRID MEMORY DRIVES, COMPUTER SYSTEM, AND RELATED METHOD FOR OPERATING A MULTI-MODE HYBRID DRIVE

Micron Technology, Inc., ...

1. A memory drive, comprising:a bulk memory device including:
bulk storage media; and
a controller operably coupled with the bulk storage media, wherein the controller is configured to:
operate the bulk memory device in a stand-alone mode responsive to determining a first condition of the memory drive; and
operate the bulk memory device in a hybrid mode responsive to determining a second condition of the memory drive, the determining the second condition comprising determining the bulk memory device includes a removable cache memory device having at least one of an endurance and a speed above a threshold.

US Pat. No. 10,656,832

MEMORY SYSTEM AND OPERATION METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory system comprising:a memory device including a plurality of memory blocks;
a write operation check circuit configured to count numbers of write operations performed on the plurality of memory blocks, respectively;
a write count distribution management hardware module configured to manage a distribution of the plurality of memory blocks based on the counted number of the write operations; and
a wear leveling hardware module configured to detect a hot memory block and a cold memory block from the plurality of memory blocks based on the counted numbers of the write operations and the distribution, wherein the hot memory block is included in a first upper range of the distribution,
wherein the wear leveling hardware module manages a history of the hot memory block to indicate whether a cold data of the cold memory block is moved to the hot memory block and swaps the hot memory block with the cold memory block when the history of the hot memory block indicates that the hot memory block is unswapped,
wherein the wear leveling module checks whether the hot memory block is included in a second upper range higher than the first upper range of the distribution when the history of the hot memory block indicates that the hot memory block is swapped and swaps the checked hot memory block with the cold memory block when the checked hot memory block is included in the second upper range of the distribution.

US Pat. No. 10,656,831

DISPLAY INPUT DEVICE AND METHOD FOR CONTROLLING DISPLAY INPUT DEVICE

KYOCERA Document Solution...

1. A display input device, comprising:a display panel which performs display;
a touch panel which senses touch operation on the display panel; and
a controller which
makes the display panel display a software keyboard screen including a plurality of software keys,
recognizes an operated software key based on an output of the touch panel,
displays an input result display field which displays a character input through operation of the software keys on the software keyboard screen,
displays a cursor which indicates an input position in the input result display field,
when a specific key, which is a prescribed software key, is touched first, and while a touch is kept, a touched position moves to a character key which is the software key for inputting a character, and then the touch ceases, makes the cursor move to a position of, out of characters in the input result display field, a character corresponding to a touch-end key, which is the character key on which the touch ceases,
displays a delete key as the specific key on the software keyboard screen,
when the delete key is touched, and while the touch is kept, the touched position moves to the character key, and then the touch ceases, makes the cursor move to the position of, out of the characters in the input result display field, the character which is in a direction toward a beginning of character strings with respect to the cursor before the move and which corresponds to the touch-end key and is closest to the cursor before the move, automatically deletes, out of the characters in the input result display field, the character which corresponds to the touch-end key and which is next to the cursor after the move,
when the delete key is touched, and while the touch is kept, the touched position moves to the character key, and then the touch on the same character key is kept for a prescribed long-press time, makes the cursor move to the position of the character corresponding to a long-press key, which is the character key on which the touch has lasted for the long-press time,
when the input result display field includes a plurality of characters corresponding to the long-press key, after the touch on the long-press key for the long-press time, every time a time for which the long-press key is kept touched passes a prescribed switching period, makes the cursor move, from one place to a next, to positions of the character corresponding to the long-press key, and
automatically deletes the character which is next to the cursor when the touch ceases and corresponds to the long-press key.

US Pat. No. 10,656,830

METHOD, SYSTEM AND KEYBOARD FOR INPUT OF CHARACTERS

1. A method of inputting characters, comprising:selecting a graph from a set of graphs that is a part of a character to be inputted;
including the selected graph into a list of graphs and displaying the list of graphs in a graphs area;
forming a list of characters containing the selected graph by selecting the list of characters from a characters description table based on the list of graphs; and
based on a preset character selection mode:
if there is only one character in the list of characters, automatically transferring the one character from the list of characters to an input focus of a program waiting for input, clearing the list of graphs and the list of characters, and selecting a graph to input a next character; and
if there is more than one character in the list of characters, displaying the list of characters on a screen, wherein:
if a character to be inputted is in a first position of the list of characters, transferring the character from the list of characters to the input focus of the program waiting for input, clearing the list of graphs and the list of characters, and selecting a graph to input a next character; and
if the character to be inputted is not in the first position of the list of characters, selecting a next graph, which is a part of the character to be inputted, or selecting the character to be inputted in the displayed list of characters and transferring the character from the list of characters to the input focus of the program waiting for input, clearing the list of graphs and the list of characters, and selecting a graph to input a next character.

US Pat. No. 10,656,829

PROGRESS DISPLAY OF HANDWRITING INPUT

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:receiving, at a user device, user input corresponding to initial handwritten text to be recognized using a recognition engine;
receiving, at the user device, a representation of the initial handwritten text, the representation of the initial handwritten text including the initial handwritten text parsed into individual handwritten characters;
displaying, in a first portion of a display of the user device, the handwritten characters;
receiving, at the user device, a second user input corresponding to additional handwritten text to be recognized using the recognition engine;
receiving, at the user device, a representation of the additional handwritten text, the representation of the additional handwritten text including the additional handwritten text parsed into individual handwritten characters;
determining that an identification of one or more handwritten characters of the initial handwritten text has not been received; and
changing a size of the handwritten characters displayed in the first portion of the display of the user device in response to receiving the second user input and determining that the identification of one or more handwritten characters of the initial handwritten text has not been received.

US Pat. No. 10,656,828

MULTI-USER MULTI-TOUCH PROJECTED CAPACITANCE TOUCH SENSOR WITH EVENT INITIATION BASED ON COMMON TOUCH ENTITY DETECTION

ELO TOUCH SOLUTIONS, INC....

1. A method, comprising:receiving a first sense signal from a first sensing array, the first sensing array configured to provide the first sense signal indicating a first touch on a first touch surface of a first touch substrate;
receiving a second sense signal from a second sensing array, the second sensing array configured to provide the second sense signal indicating a second touch on a second touch surface of a second touch substrate occurring concurrently to the first touch;
based on the first sense signal and second sense signal, determining whether the first touch and the second touch share at least one anti-ghost; and
in response to determining that the first touch and the second touch share the at least one anti-ghost, associating the first touch and the second touch with a common touch entity.

US Pat. No. 10,656,827

SENSOR DEVICE SCANNING TECHNIQUES TO DETERMINE FAST AND/OR SLOW MOTIONS

Synaptics Incorporated, ...

1. A method for performing navigation (NAV) operations using a fingerprint sensor device, the method comprising:receiving, at an input sensing region of the fingerprint sensor device, a finger;
scanning, by the fingerprint sensor device, the fingerprint, wherein the scanning comprises driving a first subset of transmitter electrodes of the fingerprint sensor device to determine finger coverage via one or more low-resolution scans; and
detecting, by the fingerprint sensor device, based on the scanning, a finger motion corresponding to a NAV operation;
wherein the scanning further comprises performing an abbreviated hybrid scan of the input object, wherein the abbreviated hybrid scan includes driving both the first subset of transmitter electrodes for low-resolution scanning and a second subset of transmitter electrodes for high-resolution scanning.

US Pat. No. 10,656,826

OUTPUT CONTROL APPARATUS FOR CONTROLLING OUTPUT OF CONTENTS, OUTPUT CONTROL METHOD, AND STORAGE MEDIUM

CASIO COMPUTER CO., LTD.,...

1. An output control apparatus comprising:a display unit;
a touch input unit on which a user performs a touch operation; and
a processor that is configured to:
detect the number of positions on which one or more first operations are simultaneously performed and the trajectory of the one or more first operations, the first operation being a touch operation which is performed while contact with the touch input unit is kept,
specify a touch operation area corresponding to the detected number of positions on which the first operation is performed and the detected trajectory of the first touch operation, on the touch input unit,
perform control for translucently displaying a controller image on a position overlapping the touch operation area on the display unit such that the controller image becomes identifiable,
detect a second touch operation which is a touch operation performed on the touch operation area on the controller image displayed on the display unit, and
control content output on the basis of the detected second touch operation.

US Pat. No. 10,656,825

DISPLAY DEVICE

WUHAN CHINA STAR OPTOELEC...

1. A display device, comprising:an OLED display layer; and
a touch layer and a pressure sensing layer disposed on the OLED display layer laminatedly,
wherein the pressure sensing layer comprises a plurality of first electrodes, the OLED display layer comprises a cathode, and the plurality of first electrodes are opposite to the cathode, and
wherein areas of the plurality of first electrodes are reduced gradually in a direction from an edge to a center of the pressure sensing layer.

US Pat. No. 10,656,824

INFORMATION PROCESSING APPARATUS HAVING A CONTACT DETECTION UNIT CAPABLE OF DETECTING A PLURALITY OF CONTACT POINTS, STORAGE MEDIUM HAVING PROGRAM RECORDED THEREON, AND OBJECT MOVEMENT METHOD

NEC CORPORATION, Tokyo (...

1. An information processing apparatus, comprising:a display configured to display a part of first display information and second display information, the first display information including a plurality of indicators arranged in rows, wherein the second display information is displayed at a position related to a first one of indicators among the plurality of indicators;
a detector configured to detect a first contact position and a second contact position of first and second contacts, respectively; and
a controller configured to detect changes of the first and the second contact positions and contact start timings of the first and the second contacts, wherein,
when the detector concurrently detects the first and the second contacts, the controller performs scroll processing in a range of the first display information in response to the change of the first and the second contact positions, and
when the detector detects the first and the second contacts with a time interval left therebetween, the controller performs moving indication processing in which a display position of the second display information is changed from the first one of the indicators of the first display information to a second one of the indicators of the first display information, in response to a position change such that a position related to the first indicator is changed to a position related to the second indicator,
wherein the first display information is a schedule chart and each indication is a separation frame for separating a time zone, and the second display information is object information related to a schedule, and
wherein the object information is movable across the separation frame when the detector concurrently detects the first and the second contacts.

US Pat. No. 10,656,823

METHOD AND ELECTRONIC DEVICE FOR MANAGING OPERATION OF APPLICATIONS

SAMSUNG ELECTRONICS CO., ...

1. A method for managing operations of applications in an electronic device, the method comprising:executing a first application;
identifying a second application based on a context of the first application;
displaying one or more action elements related to the identified second application on a screen of the first application;
pinning, on the screen of the first application which is being executed, an action element selected according to a user input, among the one or more action elements; and
providing a content obtained from the first application, which is being executed, to the second application, in correspondence with the pinned action element,
wherein the providing the content comprises at least one of sharing the content of the first application with the pinned action element of the second application or moving the content of the first application to the pinned action element of the second application.

US Pat. No. 10,656,822

SYSTEMS, DEVICES, AND METHODS FOR INTERACTING WITH CONTENT DISPLAYED ON HEAD-MOUNTED DISPLAYS

North Inc., Kitchener, O...

1. A method of operating a system, wherein the system comprises a head-mounted display, an eye-tracker carried by the head-mounted display, and an electronic ring with a form factor to be worn on a finger of a user, the electronic ring physically separate from the head-mounted display and the electronic ring including an actuator positioned and oriented to be activatable by a thumb of the user when the electronic ring is worn on the finger of the user, the method comprising:displaying multiple objects within a field of view of at least one eye of the user by at least one display of the head-mounted display;
receiving a selection operation from the user by the system, wherein receiving a selection operation from the user by the system includes:
receiving, by the electronic ring, an activation from the user of the actuator of the electronic ring;
in response to receiving, by the electronic ring, the activation from the user of the actuator of the electronic ring, wirelessly transmitting a signal by the electronic ring;
wirelessly receiving the signal by a wireless receiver of the head-mounted display;
in response to wirelessly receiving the signal by a wireless receiver of the head-mounted display, requesting, by a processor, current gaze-direction data from the eye-tracker carried by the head mounted display; and
identifying, by the processor, a particular object at which the user is gazing among the multiple objects displayed by at least one display of the head-mounted display based on the current gaze-direction data from the eye-tracker; and
in response to receiving the selection operation from the user by the system:
displaying a visual effect by the at least one display of the head-mounted display based on the particular object,
wherein:
the electronic ring is batteryless and includes a mechanical resonator physically coupled to the actuator,
receiving, by the electronic ring, an activation from the user of the actuator of the electronic ring includes receiving, by the electronic ring, a mechanical actuation of the mechanical resonator from the user,
in response to the mechanical actuation, the mechanical resonator generates a sonic signal,
wirelessly transmitting a signal by the electronic ring includes wirelessly transmitting the sonic signal by mechanical resonator of the electronic ring, and
wirelessly receiving the signal by a wireless receiver of the head-mounted display includes wirelessly receiving the sonic signal by the wireless receiver of the head-mounted display, and wherein the wireless receiver of the head-mounted display includes at least one of: a microphone and/or a piezoelectric element tuned to be responsive to the sonic signal.

US Pat. No. 10,656,821

MOVING AN OBJECT BY DRAG OPERATION ON A TOUCH PANEL

International Business Ma...

1. A method for moving an object displayed with a feeling of depth on a three-dimensional (3-D) display by an information processing apparatus connected to a 3-D touch panel capable of data communication therewith, comprising:detecting a contact state of a finger with respect to a first displayed object;
in response to detecting a double-click operation on the first displayed object at a first position in a depthwise direction, moving the first displayed object onto a surface of a display screen of the 3-D display;
in response to detecting that the finger has moved from the contact state to a proximity state with respect to the first displayed object, changing a display position of the first displayed object from the surface of the display screen to a depth position at which a second object is displayed at a nearest side in the depthwise direction among displayed objects and where the second object remains displayed at the depth position beside the first displayed object;
detecting that the finger has moved from the proximity state to the contact state with respect to the first displayed object; and
in response to detecting that the finger in the contact state has moved on the surface of the display screen, moving the first displayed object on the surface of the display screen, and moving the second displayed object on the surface of the display screen by a same amount of movement as the movement of the first displayed object.

US Pat. No. 10,656,820

SNAP POINTS INCLUDING RANGES

HOME BOX OFFICE, INC., N...

1. A method, comprising:detecting a scrolling interaction with respect to a rendered representation of a container of elements, wherein the container of elements comprises at least one snap element that snaps to snap points and at least one smooth element that does not snap to snap points;
in response to the detecting the scrolling interaction, changing a scroll position offset value of the container of elements;
determining whether the scroll position offset value is within a snap point range associated with the container of elements, and
if the scroll position offset value is not within the snap point range, rendering a representation of at least one element of the container based on the scroll position offset value; and
if the scroll position offset value is within the snap point range, and:
if a snap element of the at least one snap element is viewable in the container, changing the scroll position offset value to a snapped scroll position offset value based on the snap point range, and rendering the representation of the at least one element of the container based on the snapped scroll position offset value, and
if the at least one snap element is not viewable in the container, rendering the representation of the at least one element of the container based on the scroll position offset value.

US Pat. No. 10,656,819

ANCHORING VIEWPORT

Apple Inc., Cupertino, C...

1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a display, cause the device to:display, on the display, a subset of graphical representations of data objects in a collection, wherein the graphical representations are arranged in an order;
while displaying the subset of graphical representations, detecting a change in the collection of data objects;
in response to detecting the change in the collection of data objects:
in accordance with a determination that the detected change is associated with a location above the subset of graphical representations, wherein the location above the subset of graphical representations is a location in the collection that is not currently displayed:
configure a layout of graphical representations in a portion of the layout of the graphical representations that does not include the subset of graphical representations in accordance with the detected change in the collection, so that one or more graphical representations above the subset are arranged in a first direction starting from an anchor in the subset; and
maintain the display of the subset of graphical representations on the display in the same arrangement as before the detected change; and
in accordance with a determination that the detected change is associated with a location after the anchor and in the subset of graphical representations:
configure a layout of graphical representations in accordance with the detected change, so that one or more graphical representations after the anchor in the subset are arranged in a second direction starting from the anchor in the subset, wherein the second direction is different from the first direction.

US Pat. No. 10,656,818

ANIMATION TO INDICATE SCROLLABLE CONTENT

DOMO, INC., American For...

1. A computer-implemented method for managing content display by a computing device, the method comprising:displaying content using a computing device, wherein displaying the content comprises:
determining that the content to be displayed within a display area of a display device of the computing device is scrollable in response to determining that a size of the content exceeds a size of the display area, the content having a scroll order comprising an initial scroll position; and
before any user-initiated scrolling of the content within the display area is performed, causing a transitory animation to be displayed within the display area, the transitory animation comprising:
automatically displaying a first view of the content in the display area in response to opening the content, the first view corresponding to a selected scroll position, the selected scroll position excluding a subset of the content visible in the initial scroll position of the scroll order, and
immediately transitioning to displaying a second view of the content in the display area in response to displaying the first view of the content in the display area, comprising transitioning from the selected scroll position to the initial scroll position in a reverse scroll order,
wherein the transitory animation is configured to start and to end independently of user input to the computing device.

US Pat. No. 10,656,817

DISPLAY CONTROL DEVICE, DISPLAY CONTROL METHOD, AND PROGRAM

Saturn Licensing LLC, Ne...

1. An apparatus comprising:a display control unit, including a processor, configured to control a display to display an image on a screen and to scroll the image toward a target position, the display control unit configured to scroll the image with a scroll speed equal to a proportionality constant ? times a difference between a current position and the target position,
wherein the proportionality constant ? varies based on the difference between the current position and the target position.

US Pat. No. 10,656,816

SYSTEM AND METHOD FOR PRESENTING INFORMATION IN AN INDUSTRIAL MONITORING SYSTEM

General Electric Company,...

1. A system, comprising:a sensing device; and
an industrial monitor comprising a display, a memory, and a processor communicatively coupled to the sensing device, wherein the processor is configured to receive, from the sensing device, a measurement of a mechanical system during operation and configured to determine a plurality of parameters of the mechanical system based, at least in part, on the received measurement,
wherein the industrial monitor is configured to individually present a series of screens via the display in response to user input, wherein each of the plurality of parameters is respectively associated with a particular screen of the series of screens, wherein each particular screen of the series of screens is configured to selectively present a navigational indicator when a parameter that is associated with a different screen of the series of screens has an irregular status, and wherein the navigational indicator has an appearance that indicates the user input that will cause the different screen to be presented via the display.

US Pat. No. 10,656,815

PARAMETER CONTROL DEVICE, NON-TRANSITORY STORAGE MEDIUM STORING A PARAMETER CONTROL PROGRAM, AND PARAMETER CONTROL METHOD, THAT UPDATE A PARAMETER OF A CONTROLLED DEVICE ACCORDING TO A PARAMETER ADJUSTED BY BOTH A COOPERATIVE OPERATED PORTION AND A SPECIF

YAMAHA CORPORATION, Hama...

1. A parameter control device comprising:a memory storing instructions; and
a processor configured to implement the instructions and execute a plurality of tasks, including:
a displaying task that controls a display device to display a plurality of individually operated portions that are respectively associated with a plurality of controlled devices, including a master device, and a cooperative operated portion further associated with the master device, separate from a master individually operated portion, among the plurality of individually operated portions, associated with the master device;
an updating task that updates parameters of the plurality of controlled devices according to operations of the plurality of individually operated portions and the cooperative operated portion; and
a changing task that changes:
the parameter of the controlled device, which is associated with one of the plurality of individually operated portions, by following an operation amount thereof in a case where the one individually operated portions is operated; and
the respective parameters of the plurality of controlled devices, including the master device, by following an operation amount of the cooperative operated portion in a case where the cooperative operated portion is operated,
wherein the displaying task displays, on the display device:
the respective parameters of the plurality of controlled devices;
the plurality of individually operated portions in positions corresponding to displays of the parameters of the respectively associated controlled devices, including the master device; and
the cooperative operated portion in a position corresponding to:
a display of a parameter of the master device; and
a position corresponding to a displayed position of the master individually operated portion, including updating of a current display position of the cooperative operated portion according to an operation amount of the master individually operated portion.

US Pat. No. 10,656,814

MANAGING ELECTRONIC DOCUMENTS

Microsoft Technology Lice...

18. A system that edits a first electronic document by reusing content components from at least a second electronic document, the first and second electronic documents containing a set of content components, the system comprising: at least one computer storage: andat least one processor coupled to the at least one computer storage, the at least one processor operable to:
control a user interface to display the first electronic document comprising a plurality of display elements in a first view,
process the set of content components of the second electronic document so as to identify one or more groups of content components, by identifying the content components in each group as having related content,
control the user interface to display the second electronic document comprising a plurality of display elements in the first view, wherein at least one of the display elements of the second electronic document represents a group of content components, and wherein at least one of the display elements of the second electronic document represents an individual content component,
select the at least one of the display elements of the second electronic document representing the group of content components,
incorporate the at least one of the display elements of the second electronic document representing the group of content components into the first electronic document, and
control the user interface to display the first electronic document, incorporating the at least one of the display elements of the second electronic document representing the group of content components, and the second electronic document comprising the plurality of display elements in the first view;
wherein the first view is a filmstrip view, and wherein the at least one of the display element is a film segment of a filmstrip.

US Pat. No. 10,656,813

LIGHT CONTROL FOR AN IMAGE PLATFORM

Eaton Intelligent Power L...

1. An image platform interface for controlling a plurality of light fixtures, wherein the image platform interface comprises:a display configured to show a first image that represents a platform toward which the plurality of light fixtures emit light; and
a platform lighting control application communicably coupled to the display, wherein the platform lighting control application:
receives a shape of a plurality of shapes from a user;
detects a first single user selection on the display, wherein the first single user selection on the display corresponds to a first single location on the first image and initiates the shape with respect to the first image; and
generates in real time, and without any further user selection beyond the first single user selection, at least one application-generated selection on the display based on the first single user selection and the shape, wherein the at least one application-generated selection completes the shape, wherein the at least one application-generated selection corresponds to at least one additional location on the first image, wherein each of the at least one application-generated selection is independent of at least one object in the first image,
wherein the platform lighting control application is configured to control, based on the at least one application-generated selection and in real time, a position of each light fixture of the plurality of light fixtures so that the light emitted by the plurality of light fixtures corresponds to an outline of the shape, wherein the light emitted by the plurality of light fixtures is directed to at least one platform location on the platform, wherein the at least one platform location corresponds to the at least one additional location.

US Pat. No. 10,656,812

CONTROLLING AN APPLICATION INSTANCE USING A GRAPHICAL USER INTERFACE

International Business Ma...

1. A method of controlling an application instance using a graphical user interface, the method comprising:generating a user input control for display in a thumbnail representation of the application instance in response to the application instance providing a modal dialog box for accepting a command from a user, wherein the generated user input control comprises a button corresponding to each button of the model dialog box;
displaying the thumbnail representation of the application instance via the graphical user interface in response to the user interacting with a taskbar icon corresponding to the application instance;
displaying the generated user input control within the thumbnail representation of the application instance in response to displaying the thumbnail representation of the application instance; and
giving a corresponding command to the application instance in response to the user giving the command using the generated user input control.

US Pat. No. 10,656,811

ANIMATION OF USER INTERFACE ELEMENTS

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:receiving user input indicative of manipulation of at least one particular user interface element with respect to a grid including a plurality of user interface elements arranged in a display area;
identifying, based on the user input, at least a first row and a second row of the grid to be updated;
generating an animation to update the grid, wherein the animation comprises:
one or more transitions comprising at least one of:
transition of a first user interface element from the first row to outside the display area along a first direction; or
transition of a second user interface element into the first row from outside the display area along a second direction, the second direction different from the first direction; and
update of the second row of the grid,
wherein generating the animation comprises adjusting a particular dimension of all user interface elements in the first row based on a corresponding dimension of at least one of: the first user interface element or the second user interface element of the one or more transitions; and
causing the animation to be displayed.

US Pat. No. 10,656,810

IMAGE BACKGROUND REMOVAL USING MULTI-TOUCH SURFACE INPUT

Hewlett-Packard Developme...

1. A method comprising:displaying, by a computing system, an image on a display while also projecting, by a projector, a working version of the image onto a multi-touch surface to receive a touch input;
projecting, by the projector, an image editor interface onto the multi-touch surface, the image editor interface comprising first and second user-selectable control items;
receiving, by the computing system, a foreground input on the multi-touch surface indicative of a foreground region within the image and a background input on the multi-touch surface indicative of a background region within the image, wherein the foreground input comprises a user selection of the first user-selectable control item of the image editor interface projected onto the multi-touch surface, and wherein the background input comprises a user selection of the second user-selectable control item of the image editor interface projected onto the multi-touch surface;
removing, by the computing system, the background region from the image based on the foreground input and the background input;
displaying, by the computing system, a revised image based on removing the background region from the image on the display, wherein displaying the image and displaying the revised image occur on the display simultaneously and are in addition to a display of the working version of the image projected onto the multi-touch surface; and
rotating, responsive to a rotation user input on the image editor interface projected by the projector, the working version of the image while the revised image on the display remains in an original orientation.

US Pat. No. 10,656,809

USER TERMINAL DEVICE AND DISPLAYING METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. A displaying method of a user terminal device, the displaying method comprising:displaying at least a first screen in a first area of at least two areas of a single display of the user terminal device and a second screen in a second area of the at least two areas of the single display of the user terminal device, wherein the first screen and the second screen have a positional layout in the single display in which the first screen and the second screen are contiguous to each other;
detecting a first user interaction by the user terminal device;
based on the first user interaction, changing a first display orientation of the first screen and a second display orientation of the second screen by rotating the first screen and the second screen while maintaining the positional layout in which the first screen and the second screen are contiguous to each other;
after the first screen and the second screen have been rotated, detecting a second user interaction in the first area;
changing the first display orientation of the first screen based on the second user interaction while maintaining the second display orientation of the second screen and maintaining the positional layout in which the first screen and the second screen are contiguous to each other;
detecting a third user interaction and a fourth user interaction that are performed at overlapping times, wherein the third user interaction comprises first dragging interactions on a back side of the user terminal device and on a display area at a front side of the user terminal device, and the fourth user interaction comprises second dragging interactions on the back side of the user terminal device and on the display area at the front side of the user terminal device;
determining a first direction of the third user interaction and a second direction of the fourth user interaction that are performed at the overlapping times;
dividing the display area into a third area and a fourth area based on the first direction of the third user interaction and the second direction of the fourth user interaction;
determining the first display orientation of the first screen based on the first direction of the third user interaction;
displaying the first screen having the first display orientation on the third area;
determining the second display orientation of the second screen based on the second direction of the fourth user interaction; and
displaying the second screen having the second display orientation on the fourth area.

US Pat. No. 10,656,808

NATURAL LANGUAGE AND USER INTERFACE CONTROLS

Adobe Inc., San Jose, CA...

1. A method comprising:displaying, by a display device, in a user interface, an image;
capturing, by an audio capture device of a computing device, audio speech data describing a natural language input;
converting, by a speech-to-text engine, the audio speech data into text;
identifying, by a natural language processing module implemented by a processing system and computer-readable storage medium of the computing device, in the converted text of the audio speech data describing the natural language input:
an object included in the image;
an operation to be performed on the object in the image by one or more modules of the computing device; and
a degree to which the operation is to be performed on the object in the image;
recognizing, by an object identification module implemented by the processing system and computer-readable storage medium of the computing device implementing an object recognition algorithm, the object in the image indicated in the natural language input, wherein the object recognized by the computing device is a person, and the object recognition algorithm includes a facial recognition algorithm;
drawing, by the object identification module implemented by the processing system and computer-readable storage medium of the computing device, a user manipulable boundary in the user interface around the recognized object;
performing the identified operation to the identified degree on the recognized object, the operation being associated with a plurality of degrees;
displaying a user interface control in the user interface including an indication of the identified degree to which the operation is performed, the user interface control manipulable by a user via the user interface to further adjust the degree to which the operation is performed, the displaying the user interface control occurring simultaneously with performing the identified operation to the identified degree on the recognized object;
receiving, via the displayed user interface control, user input to adjust the identified degree to an adjusted degree;
adjusting the identified degree to the adjusted degree; and
adjusting the indication of the user interface control to indicate the adjusted degree.

US Pat. No. 10,656,807

SYSTEMS AND METHODS FOR COLLABORATIVE SYNCHRONOUS IMAGE SELECTION

Unanimous A. I., Inc., S...

1. A collaborative targeting system for enabling a plurality of users to jointly select a coordinate location within a graphical image during a real-time session, the system comprising:a collaboration server configured to run a collaboration server application and to exchange real-time data with each of a plurality of networked computing devices, each of the computing devices configured to:
display a graphical image;
display a collaboratively controlled graphical pointer upon the graphical image;
receive, repeatedly in real-time, from the collaboration server, a pointer location;
update, repeatedly in real-time, the displayed location of the collaboratively controlled graphical pointer upon the graphical image in response to the received pointer location, the displayed location being substantially synchronized among the plurality of computing devices;
receive, repeatedly in real-time, user input through a user interface, the user input indicating at least in part, a desired direction of motion of the collaboratively controlled graphical pointer; and
send, repeatedly in real-time, a representation of the desired direction of motion to the central collaboration server;
wherein the collaboration server application is configured to:
receive, repeatedly in real-time, the representation of the user input from more than one of the plurality of computing devices;
determine, repeatedly in real-time, a group intent vector from the user input received from the more than one of the plurality of computing devices, the group intent vector indicating a collaboratively desired speed and direction of the collaboratively controlled graphical pointer;
determine, repeatedly in real-time, the updated pointer location for the collaboratively controlled graphical pointer based at least in part upon the group intent vector;
send, repeatedly in real-time, the pointer location to the plurality of computing devices;
determine, repeatedly, whether a speed of the collaboratively controlled graphical pointer has fallen below a threshold value;
identify a target location upon the graphical image based at least in part upon the determination that the speed of the collaboratively controlled graphical pointer has fallen below the threshold value; and
send an indication of the target location to at least one of the computing devices.