US Pat. No. 10,169,049

APPLICATION SYSTEM INDEPENDENT DYNAMIC PROCESS ORIENTED HELP

Software AG, Darmstadt (...

1. A method for generating help from an application system for a process, the method comprising:receiving, by a processor, a help request to trigger help for a process in response to a user selection of help, wherein an identification of an application system for which help is requested and an identifier of a task for which help is requested are passed as a parameter in the help request that triggers help, wherein the application system for which help is requested is modeled in a repository, wherein a plurality of different application systems are modeled in the repository and the different application systems share a part of connection-relations in the repository, the repository provides an application programming interface (API) that navigates and accesses (i) objects in the repository and (ii) process model definitions in the repository, wherein the process for which help is requested is derived from a process model definition stored in the repository, the repository is accessed through an application programming interface (API), the repository stores, for each application system, the process model definition used to implement the each application system, each process model definition includes relations that define navigation between objects that provide functions in the application system;
determining, by the processor, in response to the help request, which configuration of a plurality of configurations stored in a dynamic process help generator (DPHG) storage to use to provide help, based on the identification of the application system which is passed as the parameter in the help request that triggers help;
obtaining, by the processor, from the determined configuration in the DPHG storage, information indicating (i) the relations of the repository, said relations consisting essentially of relations from which the application system was implemented, and (ii) process models and objects in the repository for said relations;
requesting, by the processor, from the repository through the API of the repository, (i) the process models and the objects consisting of those from which the application system was implemented based on the information obtained from the determined configuration, and (ii) information that indicates how to identify a task which is a current task currently being executed in the application system and how to navigate from the current task to process models consisting essentially of those used by the current task in the application system, wherein the application system was implemented from the relations; and causing the processor to perform navigation through the repository from which the plurality of application systems are modeled, wherein the navigation is limited to (a) the relations and (b) the process models and (c) the objects, which are both specific to the application system which was actually implemented and used by the current task; and
providing, by the processor, as a response to the help request, the relations, and the process models and the objects consisting essentially of the relations, the process models, and the objects, from which the application system was implemented and over which the processor navigated as triggered by the help request, which are received by the processor in response to the help request for the application system,
wherein the limited navigation starts at a typed-object which is the task for which help is requested, and steps iteratively through the repository via the connection-relations using as input a typed-object which results from a previous step to get a next typed-object in the repository, and results of each of the steps of the limited navigation of the repository are collected and provided as the response to the help request for the process.

US Pat. No. 10,169,048

PREPARING COMPUTER NODES TO BOOT IN A MULTIDIMENSIONAL TORUS FABRIC NETWORK

International Business Ma...

1. A method for preparing a plurality of computer nodes to boot in a multidimensional fabric network, comprising:retrieving, by a fabric processor (FP) of a computer node within the multidimensional fabric network, a MAC address from a baseboard management controller (BMC) of the computer node and configuring a DHCP discovery packet using the BMC MAC address and sending that packet into the multi-host switch, wherein the BMC is directly connected to the FP by a management port, and wherein the BMC, the multi-host switch, and the FP are located inside the computer node;
establishing an exit node from the multidimensional fabric network to a service provisioning node (SPN) outside the multidimensional fabric network, wherein the SPN is not part of the multidimensional fabric network;
forwarding, by the exit node to the SPN, DHCP requests for IP addresses from the multi-host switch of the computer node within the multidimensional fabric network, wherein the computer node is identified by the BMC MAC address found in the DHCP discovery packet coming from that node's multi-host switch;
receiving, from the SPN by the exit node, a location-based IP address, and forwarding the received location-based IP address to the computer node, wherein the location-based IP address is a computed IP address that uniquely identifies the physical location of the computer node within the multidimensional fabric network;
calculating, by the FP, a host MAC address, wherein the host MAC address is the FP received location-based IP address plus a value of one, combined with a fixed, three byte value for a high twenty-four bits of a forty-eight bit MAC address, the fixed three byte value being known by all nodes and by the SPN; and
programming, by the FP, the calculated host MAC address onto the multi-host switch, wherein the calculated host MAC address replaces the factory default MAC address in NVRAM.

US Pat. No. 10,169,047

COMPUTING DEVICES, METHODS, AND STORAGE MEDIA FOR A SENSOR LAYER AND SENSOR USAGES IN AN OPERATING SYSTEM-ABSENT ENVIRONMENT

Intel Corporation, Santa...

1. A computing device for computing, comprising:a processor; and
firmware to be operated by the processor while the computing device is operating without an operating system (OS) that includes one or more modules, including an environmental factor boot module, and a sensor layer,
wherein the sensor layer is to:
receive sensor data produced by a plurality of sensors, wherein the plurality of sensors is of the computing device or operatively coupled with the computing device;
aggregate the sensor data from the plurality of sensors; and
selectively provide the sensor data or the aggregated sensor data to the one or more modules via an interface of the sensor layer that abstracts the plurality of sensors; and
wherein the environmental factor boot module is to selectively instantiate one or more drivers for one or more corresponding sensors of the plurality of sensors, based at least in part on a portion of sensor data or aggregated sensor data associated with one or more environmental factors.

US Pat. No. 10,169,046

OUT-OF-ORDER PROCESSOR THAT AVOIDS DEADLOCK IN PROCESSING QUEUES BY DESIGNATING A MOST FAVORED INSTRUCTION

International Business Ma...

1. A processor for executing software instructions, the processor comprising:a plurality of processing queues that process the software instructions and provide out-of-order processing of the software instructions when specified conditions are satisfied;
an instruction sequencing unit circuit that determines a sequence of the software instructions executed by the processor, wherein the instruction sequencing unit circuit comprises a most favored instruction circuit that selects an instruction as the most favored instruction (MFI) and communicates the MFI to the plurality of processing queues; and
wherein at least one of the plurality of processing queues comprises a plurality of slots that receive any instruction that is not the most favored instruction when written to one of the plurality of slots, and a dedicated slot for processing the MFI, wherein the dedicated slot cannot process any instruction that is not the MFI.

US Pat. No. 10,169,045

METHOD FOR DEPENDENCY BROADCASTING THROUGH A SOURCE ORGANIZED SOURCE VIEW DATA STRUCTURE

Intel Corporation, Santa...

1. A method for dependency broadcasting through a source organized source view data structure, the method comprising:receiving an incoming instruction sequence using a global front end;
grouping the instructions to form instruction blocks;
populating the register template with block numbers corresponding to the instruction blocks, wherein the block numbers corresponding to the instruction blocks indicate interdependencies among the instruction blocks wherein an incoming instruction block writes its respective block number into fields of the register template corresponding to destination registers referred to by the incoming instruction block;
populating a source organized source view data structure, wherein the source view data structure stores the instruction sources corresponding to the instruction blocks as read from the register template by incoming instruction blocks;
upon dispatch of one block of the instruction blocks, broadcasting a number belonging to the one block to a row of the source view data structure that relates to the one block and marking sources of the row accordingly; and
updating dependency information of remaining instruction blocks in accordance with the broadcast.

US Pat. No. 10,169,044

PROCESSING AN ENCODING FORMAT FIELD TO INTERPRET HEADER INFORMATION REGARDING A GROUP OF INSTRUCTIONS

Microsoft Technology Lice...

1. A method comprising:fetching a group of instructions, configured to execute atomically by a processor, and a group header for the group of instructions, wherein the group header comprises a plurality of fields including an encoding format field, wherein the encoding format field is configured to provide to the processor information concerning how to interpret a format of at least one of a remaining of the plurality of fields of the group header for the group of instructions, and wherein the plurality of fields of the group header comprises: a first field comprising first information regarding exit types for use by a branch predictor in making branch predictions for the group of instructions and a second field comprising second information about whether during execution of the group of instructions each of the group of instructions requires independent vector lanes, a third field comprising third information about whether during the execution of the group of instructions branch prediction is inhibited, and a fourth field comprising fourth information about whether during the execution of the group of instructions predicting memory dependencies between memory operations is inhibited; and
processing the encoding format field to: (1) interpret the first information in the first field to generate a first signal for a branch predictor associated with the processor, (2) interpret the second information in the second field to generate a second signal for an instruction decoder or an instruction scheduler associated with the processor, (3) interpret the third information in the third field to generate a third signal for the branch predictor associated with the processor, and (4) interpret the fourth information in the fourth field to generate a fourth signal to inhibit dependencies between memory operations, including load/store operations.

US Pat. No. 10,169,043

EFFICIENT EMULATION OF GUEST ARCHITECTURE INSTRUCTIONS

Microsoft Technology Lice...

1. In a computing environment a method of converting data for 80 bit registers of a guest architecture to data for 64-bit registers on a host system, the method comprising:determining that an operation should be performed to restore a first set of 80 bits stored in memory for a first 80 bit register of a guest architecture on a host having 64-bit registers;
storing a first set of 64 bits from the first set of 80 bits stored in memory, wherein the first set of 64 bits could be used for 64-bit SIMD operations in the guest architecture, in a first host register;
storing a first set of remaining 16 bits from the first set of 80 bits stored in memory in a supplemental memory storage;
documenting that the remaining 16 bits stored in the supplemental memory are padding bits;
identifying a SIMD operation that should be performed to operate on the first 80-bit register for the guest architecture; and
as a result of identifying a SIMD operation that should be performed to operate on the first 80-bit register for the guest architecture, determining to not convert the first set of 64 bits in the first host register to a floating point number.

US Pat. No. 10,169,042

MEMORY DEVICE THAT PERFORMS INTERNAL COPY OPERATION

Samsung Electronics Co., ...

1. A memory device comprising:a memory cell array including at least one bank that includes at least one block, each of the at least one block having a plurality of memory cell rows having memory cells therein; and
processing circuitry configured to,
receive, from an external source, an internal copy command along with a source address and a destination address associated therewith, the source address indicating a source bank of the at least one bank and a source block of the at least one block within the source bank, and the destination address indicating a destination bank of the at least one bank and a destination block of the at least one block within the destination bank,
compare one or more of (i) the source bank and the destination bank and (ii) the source block and the destination block,
generate one or more of a bank comparison signal and a block comparison signal based on a result of comparing the one or more of (i) the source bank with the destination bank and (ii) the source block with the destination block, the bank comparison signal indicating whether the source bank and the destination bank are a same bank or different banks, and the block comparison signal indicating whether the source block and the destination block are a same block or different blocks,
select a selected internal copy operation from among an internal block copy operation, an inter-bank copy operation or an internal bank copy operation based on the one or more of the bank comparison signal and the block comparison signal,
perform the selected internal copy operation on the memory cell array from the memory cells associated with the source address to the memory cells associated with the destination address, and
output a copy-done signal indicating that the selected internal copy operation is complete, if the selected internal copy operation is complete.

US Pat. No. 10,169,041

EFFICIENT POINTER LOAD AND FORMAT

International Business Ma...

1. A method comprising:receiving a microprocessor instruction for processing by a microprocessor;
maintaining, by the microprocessor, the microprocessor instruction as a single instruction in an instruction queue until the microprocessor instruction is removed from the instruction queue for processing by the microprocessor;
processing the microprocessor instruction in a multi-cycle operation, wherein processing the microprocessor instruction comprises:
retrieving, by a load-store unit of the microprocessor and from cache memory of the microprocessor, a unit of data having a plurality of ordered bits during a first clock cycle;
zeroing, after the retrieving and during the first clock cycle, any of the bits that are not required for use with a predefined addressing mode;
shifting, by the load store unit, the unit of data by a number of bits during a second clock cycle immediately following the first clock cycle;
placing, after the shifting and during the second clock cycle, the unit of data into a register of the microprocessor; and
providing, after the shifting and during the second clock cycle, the unit of data to comparison logic of the microprocessor, wherein the microprocessor instruction is maintained as a single instruction in a completion table during the processing of the microprocessor instruction.

US Pat. No. 10,169,040

SYSTEM AND METHOD FOR SAMPLE RATE CONVERSION

Ceva D.S.P. Ltd., Herzli...

1. A method for performing sample rate conversion by an execution unit, the method comprising:receiving an instruction, wherein the instruction comprises an irregular shifting pattern of data elements stored in a vector register; and
shifting the data elements in the vector register according to the irregular shifting pattern,
wherein the sample rate conversion comprises downsampling, and wherein the irregular shifting pattern is provided by an indication stating whether a memory element in the input vector register loads a data element from an immediate next memory element, or whether the memory element loads a data element previously stored in a shadow vector register and the data element stored in the immediate next memory element is loaded into the shadow vector register.

US Pat. No. 10,169,039

COMPUTER PROCESSOR THAT IMPLEMENTS PRE-TRANSLATION OF VIRTUAL ADDRESSES

OPTIMUM SEMICONDUCTOR TEC...

1. A processor, comprising:a register file comprising one or more registers; and
processing logic circuit, communicatively coupled to the register file, to:
identify a value stored in a first register of the register file as a virtual address, the virtual address comprising a corresponding virtual base page number;
translate the virtual base page number to a corresponding real base page number and zero or more real page numbers, wherein zero or more real page numbers correspond to zero or more virtual page numbers associated with the virtual base page number;
store, in the one or more registers, the real base page number and the zero or more real page numbers;
responsive to identifying at least one input value stored in at least one register of the register file specified by an instruction, combine the at least input value to produce a result value;
compute, based on real translation information stored in the one or more registers, a real translation to a real address of the result value; and
access, based on the computed real translation, a memory.

US Pat. No. 10,169,037

IDENTIFYING EQUIVALENT JAVASCRIPT EVENTS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented process for identifying equivalent JavaScript events, comprising:receiving source code containing two JavaScript events;
extracting, to form extracted HTML elements, an HTML element containing an event from each of the two JavaScript events; and
identifying that the two JavaScript events are equivalent based upon:
a determination that the extracted HTML elements are of a same type according to equivalency criteria B,
a determination that the extracted HTML elements have a same number of attributes according to equivalency criteria C,
a determination that JavaScript function calls of each of the two JavaScript events are similar according to equivalency criteria A, and
a determination that other attributes of the extracted HTML elements satisfy equivalency criteria D.

US Pat. No. 10,169,036

SYNCHRONIZING COMMENTS IN SOURCE CODE WITH TEXT DOCUMENTS

International Business Ma...

1. A method, with a processor of an information processing system, for synchronizing comments in a source code file with text of a source code document, the method comprising:analyzing a source code file;
identifying, based on the analyzing, a set of source code comment text within the source code file;
extracting, based on the identifying, a set of text from the set of source code comment text that has been identified;
generating, based on the identifying, a set of metadata for at least the set of text, the set of metadata comprises at least a unique representation of the set of text, and wherein the set of metadata at least identifies one or more line numbers in the source code file associated with the set of text;
applying a plurality of markup tags to the set of text, the plurality of markup tags at least one of formatting and stylizing the set of text when presented to the user; and
generating a source code document comprising one or more of the set of text, the set of metadata, and the plurality of markup tags.

US Pat. No. 10,169,035

CUSTOMIZED STATIC SOURCE CODE ANALYSIS

INTERNATIONAL BUSINESS MA...

1. A system comprising:a memory; and
a processor coupled with the memory, the processor configured to perform a customized static source code analysis of a source code, the customized static source code analysis comprising:
parsing a source code, the parsing comprising identifying a first application programming interface (API) call, and a second API call;
identifying a first analysis configuration file corresponding to the first API call, and a second analysis configuration file corresponding to the second API call;
determining, based on the first analysis configuration file, a description of the first API call and an identification of a first target resource invoked by the first API call;
determining, based on the second analysis configuration file, a second description of the second API call and an identification of a second target resource invoked by the second API call; and
generating a static source code analysis report that includes the description of the first API call and the identification of the first target resource corresponding to the first API call, and the description of the second API call and the identification of the second target resource corresponding to the second API call.

US Pat. No. 10,169,034

VERIFICATION OF BACKWARD COMPATIBILITY OF SOFTWARE COMPONENTS

International Business Ma...

1. A method of determining backward compatibility of a software component, the method comprising:generating, by a processor, respective tree structures for both a first version of the software component and a second version of the software component, wherein the respective tree structures include a name for each respective attribute, a type for each respective attribute, a name for each respective operation, and a type for each respective operation included in the respective tree structure;
identifying, by the processor, one or more programming interfaces that are exposed by the first version of the software component by: converting attributes of exposed programming interfaces into corresponding operations of a first tree structure that includes a name and a type for each parameter, return, and fault associated with each respective operation; and
determining, by the processor, a backward compatibility of the first version of the software component by comparing the operations of the first version of the software component to one or more operations of the second version of the software component based on the respective tree structures.

US Pat. No. 10,169,033

ASSIGNING A COMPUTER TO A GROUP OF COMPUTERS IN A GROUP INFRASTRUCTURE

International Business Ma...

1. A computer-implemented method for assigning a given computer to a computer group of a set of computer groups, the method comprising:scanning, by a computer, software components installed on the given computer, resulting in a list of discovered software components of the given computer;
for at least one computer group of the set of computer groups:
obtaining, by the computer, a first list of software components most frequently installed on computers of the at least one computer group, wherein the first list is unique for all computer groups of the set of computer groups; and
comparing, by the computer, the first list with the list of discovered software components and, based on the comparison, computing a first likelihood that the given computer belongs to the at least one computer group; and
in case only one of the first likelihoods exceeds a first threshold, assigning, by the computer, the given computer to the at least one computer group for which the first likelihood exceeds the first threshold.

US Pat. No. 10,169,032

PARALLEL DEVELOPMENT OF DIVERGED SOURCE STREAMS

International Business Ma...

1. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions, when executed by a computer, cause the computer to:manage, using a parallel development tool implemented in programmable logic circuitry, diverged source streams, wherein the parallel development tool is to:
track, on a position-by-position basis in a diverged code history associated with a diverged source stream, an origin source stream and an original position of code contained within the diverged source stream, wherein the position-by-position basis is one or more of an argument order or an operand order, and wherein the diverged code history is to be a separate file;
detect a modification to a first portion of the code contained within the diverged source stream at a first position;
automatically document the modification and the first position in the diverged code history, wherein the modification triggers a modification indicator to be prepended to an origin stream indicator and an original position indicator in the diverged code history, and wherein the modification indicator indicates that the modification occurred in a transition to a version of the diverged source stream;
detect a move of a second portion of the code in the diverged source stream from a second position to a third position;
automatically document the move and the second position in the diverged code history, wherein the move triggers a move indicator to be prepended to the origin stream indicator and the original position indicator in the diverged code history, and wherein the move indicator indicates the diverged source stream and a version level at which the move occurred;
detect an addition of a third portion of the code in the diverged source stream at a fourth position;
automatically document the addition with a timestamp in the diverged code history;
present, through a user interface device, an option to ignore the detected modification;
receive a request to merge shifted code contained within the diverged source stream with the origin source stream;
search, using the modification indicator, the original position indicator, the origin stream indicator, the move indicator, and the timestamp, an origin code history for content corresponding to the shifted code in the diverged code history to resolve the request;
track, on a position-by-position basis in the origin code history associated with the origin source stream, the origin source stream, an original position, the diverged source stream and a diverged position of code contained within the origin source stream, using the modification indicator, the original position indicator, the origin stream indicator, the move indicator, and the timestamp;
receive a request to merge out-of-order code contained within the diverged source stream with the origin source stream, wherein the out-of-order code is to be modified prior to other code that has already been merged; and
present, through the user interface device, an alignment option to merge conflicted code, wherein the conflicted code is to be bounded by modified code, wherein the alignment option identifies the modified code at one or more locations to use to correctly merge the conflicted code, and wherein at least one of the one or more locations of the conflicted code includes one or more of the modification, the move, the shifted code, the addition or the out-of-order code.

US Pat. No. 10,169,031

PROGRAM CODE LIBRARY SEARCHING AND SELECTION IN A NETWORKED COMPUTING ENVIRONMENT

International Business Ma...

1. A computer-implemented method for searching for program code libraries in multiple programming languages in a networked computing environment, comprising:receiving, in a computer memory medium, a request to search at least one program code library repository associated with an integrated development environment (IDE) for a program code library;
searching, based on an annotation to the request, the at least one program code library repository for the program code library corresponding to a programming language of a project;
expanding the searching, using emulation based on another annotation to the request, to include a substitute programming language, wherein the emulation creates a wrapper method in the substitute programming language and emulates a library programming language during execution; and
providing, based on the expanded searching, a result to a device hosting the IDE.

US Pat. No. 10,169,030

REFRESHING A SOFTWARE COMPONENT WITHOUT INTERRUPTION

International Business Ma...

1. A computer-implemented method for refreshing a software component without interruption, comprising:detecting when a current instance of the software component is inactive;
activating a refresh process of the software component in parallel to the current instance, including starting a new instance of the software component;
monitoring a state of the current instance and, when the current instance ceases to be inactive, canceling the refresh process;
determining that the refresh process is complete; and
switching from the current instance to the new instance of the software component.

US Pat. No. 10,169,029

PATTERN BASED MIGRATION OF INTEGRATION APPLICATIONS

International Business Ma...

1. A method for migrating applications, the method comprising:obtaining configuration information from a source integration application;
determining a set of features for the source integration application based on the configuration information;
identifying a set of integration patterns, wherein each integration pattern in the set of integration patterns defines a set of expected characteristics;
determining a respective fitness score for each of the set of integration patterns by, for each respective integration pattern of the set of integration patterns:
determining a respective feature score for at least two respective features of the set of features, wherein each of the respective feature scores represent a likelihood that the respective feature matches the respective integration pattern; and
aggregating the respective feature scores to generate the respective fitness score for the respective integration pattern;
selecting one or more integration patterns from the set of integration patterns based on the respective fitness score associated with each of the respective integration patterns; and
migrating the source integration application based on the selected one or more integration patterns.

US Pat. No. 10,169,028

SYSTEMS AND METHODS FOR ON DEMAND APPLICATIONS AND WORKFLOW MANAGEMENT IN DISTRIBUTED NETWORK FUNCTIONS VIRTUALIZATION

Ciena Corporation, Hanov...

1. A workloads management method for on-demand applications in distributed Network Functions Virtualization Infrastructure (dNFVI), the workloads management method comprising:receiving usage data from a unikernel implementing one or more functions of a plurality of functions related to a Virtual Network Function (VNF);
determining an update to the one or more functions in the unikernel based on the usage data;
updating the unikernel by requesting generation of application code for the unikernel based on the update; and
starting the updated unikernel and redirecting service requests thereto,
wherein the unikernel and the updated unikernel are each a specialized, single address space machine image constructed using library operating systems which is executed directly on a hypervisor.

US Pat. No. 10,169,027

UPGRADE OF AN OPERATING SYSTEM OF A VIRTUAL MACHINE

International Business Ma...

1. A method, comprising:receiving, by one or more processors of a computer system, a virtual machine (VM) deletion request, wherein if the VM deletion request includes a first flag then the VM deletion request is a request to upgrade a base operating system (OS) of the VM, and wherein if the VM deletion request does not include the first flag then the VM deletion request is a request to delete the VM;
said one or more processors determining whether the received VM deletion request includes the first flag;
in response to the one or more processors determining that the received VM deletion request includes the first flag, said one or more processors storing metadata of the VM into a resource registry;
after said storing the metadata of the VM into the resource registry, said one or more processors receiving a VM creation request, wherein if the VM creation request includes a second flag then the VM deletion request is a request to upgrade the base OS of the VM, and wherein if the VM creation request does not include the second flag then the VM creation request is a request to create a new VM;
said one or more processors determining whether the received VM deletion request includes the second flag;
in response to the one or more processors determining that the received VM creation request includes the second flag, said one or more processors retrieving the metadata from the resource registry;
after said retrieving the metadata from the resource registry, said one or more processors loading a new version of the base OS onto the VM and using the retrieved metadata to configure the VM with the new version of the base OS; and
said one or more processors deploying the VM with the new version of the base OS.

US Pat. No. 10,169,026

TRANSFERRING OPERATING ENVIRONMENT OF REGISTERED NETWORK TO UNREGISTERED NETWORK

KT CORPORATION, Gyeonggi...

1. A method of providing an operation environment of a registered network having first devices to a user in an unregistered network having second devices, the method comprising:detecting the second devices in the unregistered network when user equipment associated with the user enters a service area of the unregistered network;
as compatible devices, selecting devices compatible with the first devices in the registered network from the detected second devices;
obtaining system images of the first devices compatible with the selected compatible devices;
installing the obtained system images of the first devices at the selected compatible devices, respectively;
generating a user interface for enabling the user to control at least one of the compatible devices; and
transmitting the generated user interface the user equipment,
wherein the user equipment provides the user interface, receives a user input to control the at least one of the compatible devices through the user interface, and controls the at least one of the compatible devices installed with the system image and in the unregistered device based on the received user input by generating a control signal based on the user input and transmitting the generated control signal to the at least one of the compatible devices.

US Pat. No. 10,169,025

DYNAMIC MANAGEMENT OF SOFTWARE LOAD AT CUSTOMER PREMISE EQUIPMENT DEVICE

ARRIS Enterprises LLC, S...

1. A method comprising:detecting a request to load a requested executable software component to volatile memory;
determining that the size of the requested executable software component is greater than the size of available space in the volatile memory;
determining a probability to unload value for each executable software component of one or more executable software components currently loaded in the volatile memory, wherein the probability to unload value for each respective one executable software component is calculated based upon one or more criteria associated with an execution of the respective one executable software component;
based upon the probability to unload values determined for each of the one or more executable software components that are currently loaded in the volatile memory, identifying one or more of the executable software components for removal from the volatile memory;
removing the identified one or more executable software components from the volatile memory; and
loading the requested executable software component to the volatile memory.

US Pat. No. 10,169,024

SYSTEMS AND METHODS FOR SHORT RANGE WIRELESS DATA TRANSFER

Arm Limited, Cambridge (...

1. A method for device control of a primary device using an accessory device as a proxy, the method comprising:executing a device application in an operating system of the primary device;
establishing a short range wireless link between the device application and an accessory application on the accessory device in accordance with a protocol implemented by a device low energy stack on the primary device and an accessory low energy stack on the accessory device, where a procedure of the protocol implemented in the device low energy stack is inaccessible by the device application via the operating system and where the procedure accesses connection parameters of the link;
sending a device control message from a device application to an accessory application requesting performance of the procedure;
responsive to the device control message, the accessory application connecting with the accessory low energy stack and requesting the procedure;
the accessory low energy stack performing the procedure to access the connection parameters of the short range wireless link;
sending, by the accessory application, a response to the device control message; and
receiving the response, at the device application, for the device control message.

US Pat. No. 10,169,022

INFORMATION PROCESSING APPARATUS AND RESOURCE MANAGEMENT METHOD

Canon Kabushiki Kaisha, ...

1. An information processing apparatus that consumes resources of an amount that depends on how many libraries are open, comprising:a determining unit, configured to determine whether the number of libraries including classes set for an installed program is two or more; and
an integrating unit, configured to integrate, in a case where it is determined that the number of libraries is two or more, the classes included to the libraries into libraries of smaller number than the number of libraries, wherein
the determining unit specifies, with reference to a class path indicating class locations that is described in a configuration file of the installed program, a library including a class that is set for the program,
the program includes a system program and an application, with a boot class path and a system class path being described in the configuration file with regard to the system program and an application class path being described in the configuration file with regard to the application, and
the integrating unit integrates the classes included to the library based on the class paths.

US Pat. No. 10,169,021

SYSTEM AND METHOD FOR DEPLOYING A DATA-PATH-RELATED PLUG-IN FOR A LOGICAL STORAGE ENTITY OF A STORAGE SYSTEM

1. A method for deploying a data-path-related plug-in for a logical storage entity of a storage system, the method comprising:deploying the data-path-related plug-in for the logical storage entity, wherein the deploying includes creating a plug-in inclusive data-path specification and wherein the plug-in inclusive data-path specification includes operation of the data-path-related plug-in;
creating a verification data path specification, wherein the verification data-path specification does not include operation of the data-path-related plug-in;
executing a related to the data-path-related plug-in task on a data-path defined by the plug-in inclusive data-path specification to yield a first execution result;
executing the task on a data-path defined by the verification data-path specification to yield a second execution result;
verifying the first execution result using the second execution result thereby validating the task execution;
if any discrepancy exists between the first execution result and the second execution result, performing one or more failure actions; and
removing the verification data-path and performing one or more validation actions when a validation of the data-path-related plug-in is complete, wherein the one or more validation actions include one or more of the following actions:
(a) increasing a grade associated with the data-path-related plug-in; and
(b) issuing a notification indicating that the validation is complete to a user of the logical storage entity.

US Pat. No. 10,169,020

SOFTWARE GLOBALIZATION OF DISTRIBUTED PACKAGES

International Business Ma...

1. A method for globalizing distributed software packages using a global application programming interface (API), the method comprising:extracting, by a computer, a text string in a source language from an independent package program code;
calculating, by the computer using an algorithm, a resource message key for the extracted text string from content of the extracted text string;
storing, by the computer, the resource message key and the extracted text string in a source language resource file;
translating, by the computer, the extracted text string into an additional language to create a translated text string;
storing, by the computer, the translated text string with the resource message key in an additional language resource file; and
distributing, by the computer, an independent package with the source language resource file, the additional language resource file, and the independent package program code bundled in the independent package.

US Pat. No. 10,169,019

CALCULATING A DEPLOYMENT RISK FOR A SOFTWARE DEFINED STORAGE SOLUTION

International Business Ma...

1. An apparatus comprising:a processor;
a memory storing code executable by the processor to perform:
querying a deployed data storage solution for performance data, wherein the data storage solution provides data storage using hardware elements, software elements, an operating system, and drivers for the software elements;
receiving the performance data from the deployed data storage solution;
storing the performance data;
receiving failure data;
calculating discrepancy data for the deployed data storage solution from the failure data;
storing the discrepancy data;
generating data storage solution that provides configurable data storage for data storage deployment, wherein the data storage solution is organized as a data structure comprising a plurality of data storage components, and each data storage component comprises a hardware identifier for the hardware elements, and software prerequisites for the software elements, the operating system identifier, and a driver identifier for software elements;
calculating a deployment risk for the data storage solution using a trade-off analytics function performed by a neural network and based on the discrepancy data, the performance data, a product match, an operating system match, and a software prerequisites match between the data storage solution and data storage parameters, wherein the neural network is trained on data storage solution field data comprising discrepancy data, performance data, and failure data for deployed data storage solutions; and
in response to the deployment risk not exceeding a risk threshold, deploying the data storage solution by providing the hardware and software elements.

US Pat. No. 10,169,018

DOWNLOADING A PACKAGE OF CODE

International Business Ma...

1. A computer-implemented method comprising:receiving at a server a request from a client, for download of a package of code, the request specifying the package of code to be downloaded, wherein upon receipt of the package of code, the client can execute source code comprising the package of code locally;
acquiring information from the request received relating to a user of the client, wherein the information comprises a role of the user of the client, wherein the acquiring information relating to the user of the client comprises identifying the user of the client in an entry in a user registry and ascertaining user access rights from the entry in the user registry to determine the role of the user of the client;
automatically modifying the package of code according to the acquired information to provide a modified package of code specific to the user of the client, wherein functionality of the modified package of code, when executed on the client, is based on the role of the user of the client, wherein the automatically modifying the package of code according to the acquired information to produce the modified package of code comprises automatically removing one or more methods from the package of code, wherein each method of the one or more methods comprises source code, and wherein the one or more methods comprise a known access level, and wherein the automatically removing the one or more methods from the package of code is based on the role of the user of the client not permitting use of methods of the known access level of the one or more methods;
compiling, at the server, the modified package of code; and
transmitting the modified package of code to the client, wherein the client can immediately execute source code comprising the modified package of code locally.

US Pat. No. 10,169,017

CROWDSOURCING LOCATION BASED APPLICATIONS AND STRUCTURED DATA FOR LOCATION BASED APPLICATIONS

International Business Ma...

1. A method for deploying a location based applications providing crowdsourced structured points of input for data entry, the method comprising:selecting different combinations of different location based application components by different end users from over a computer communications network in order to define a different deployable application for each of the different end users;
storing by each of the different end users, a corresponding one of the different deployable applications in a deployable application repository from which each deployable application is downloaded and consumed by others of the different end users and associating during the storing, a map with a corresponding one of the location based components in each deployable application for each corresponding one of the different end users;
defining for each map, a point of input into which structured data defined by the point of input as being a pre-defined selection of selectable data is received in connection with a single location on the map irrespective of a particular one of the combinations of the different location based components of an associated one of the different deployable applications;
deploying each deployable application to a corresponding one of the different end users; and,
subsequent to the deploying of each deployable application to a corresponding one of the different one of the end users, in each one of the deployable applications that has been deployed to a corresponding one of the different one of the end users, receiving from a corresponding one of the different end users, a selection through the point of input of one of the selectable data presented in connection with the single location on the map and aggregating each selection by each corresponding one of the different end users in a repository in association with the single location on the map and thereafter, in response to a request by a new one of the different end users to deploy a particular one of the deployable applications to a mobile device of the new one of the different end users, deploying the particular one of the deployable applications with the single location on the map and all aggregated selections of the selectable data from others of the different end users as stored in connection with the deployable application.

US Pat. No. 10,169,016

EXECUTING OPTIMIZED LOCAL ENTRY POINTS

International Business Ma...

1. A computer system comprising:a memory;
a processor, communicatively coupled to the memory;
an indirect function call configuration, the configuration to define a first application module with a target function of an indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate the indirect function call; and
the processor executing program code from an application module loaded into memory, the loaded application selected from the group consisting of: the first application module, the second application module, and the third application module, the executing including:
to load an address of a function, including load an entry point address of a function, wherein the symbolic reference can be resolved using a local entry point address of the function, the entry point address selected from the group consisting of: a local entry point address of the function defined in the loaded application module and a global entry point address, and transferring execution to the entry point address; and
to perform the indirect function call using the address of the function, the performance of the indirect function call further including to transfer execution to the entry point address selected from the group consisting of: the local entry point address of the function defined in the loaded application module and the global entry point address of the function, wherein resolution of the symbolic reference to the function address through the local entry point address of the function comprises a reduction of a quantity of operations executed through the program code.

US Pat. No. 10,169,015

COMPACT DATA MARSHALLER GENERATION

International Business Ma...

1. A method for compact data marshaller generation, comprising:determining a plurality of data types having a same memory layout from data to be marshalled using a processor, each of the plurality of data types being associated with separate data marshallers; and
modifying marshalling code to marshal the data by:
unifying the separate data marshallers to provide a single data marshaller for the plurality of data types for compact data marshaller generation; and
identifying and replacing consecutive data definitions in a first class of the data types that are also part of a second class of the data types with a call to the second class.

US Pat. No. 10,169,014

COMPILER METHOD FOR GENERATING INSTRUCTIONS FOR VECTOR OPERATIONS IN A MULTI-ENDIAN INSTRUCTION SET

International Business Ma...

1. A computer-implemented method executed by at least one processor for a compiler to process a plurality of instructions in a computer program, the method comprising the steps of:specifying to the compiler a code generation endian preference;
the compiler reading the plurality of instructions;
the compiler selecting a vector instruction in the plurality of instructions;
the compiler determining when the vector instruction generates a vector load instruction that does not satisfy the code generation endian preference; and
when the vector instruction is a vector load instruction that does not satisfy the code generation endian preference, the compiler adding to the plurality of instructions in the computer program at least one vector element reverse instruction after the vector load instruction to correct a mismatch between an endian bias of the vector load instruction and the code generation endian preference.

US Pat. No. 10,169,013

ARRANGING BINARY CODE BASED ON CALL GRAPH PARTITIONING

International Business Ma...

1. A method, in a data processing system, for arranging binary code to reduce instruction cache conflict misses, comprising:generating, by a processor of the data processing system executing a compiler, a call graph of a portion of code;
weighting, by the compiler, nodes and edges in the call graph to generate a weighted call graph;
partitioning, by the compiler, the weighted call graph according to the weights, affinities between nodes of the call graph, and the size of cache lines in an instruction cache of the data processing system, so that binary code associated with one or more subsets of nodes in the call graph are combined into individual cache lines based on the partitioning, wherein the partitioning comprises, for each iteration in a plurality of iterations, merging nodes of unprocessed, maximum weight edges of the weighted call graph into a new node to modify the weighted call graph, until for a next iteration, no maximum weight unprocessed edge is present in the modified weighted call graph; and
outputting, by the compiler, the binary code corresponding to the partitioned call graph for execution in a computing device, wherein each node in the call graph is weighted according to a size of code associated with the node.

US Pat. No. 10,169,012

COMPILER OPTIMIZATIONS FOR VECTOR OPERATIONS THAT ARE REFORMATTING-RESISTANT

International Business Ma...

1. An apparatus comprising:at least one processor;
a memory coupled to the at least one processor;
a computer program residing in the memory, the computer program including a plurality of instructions that includes at least one vector operation and that includes a plurality of reformatting-resistant vector operations that comprises a sink instruction without a corresponding reformatting operation; and
a compiler residing in the memory and executed by the at least one processor, the compiler including a vector instruction optimization mechanism that optimizes at least one of the plurality of reformatting-resistant vector operations in the computer program to enhance run-time performance of the computer program.

US Pat. No. 10,169,011

COMPARISONS IN FUNCTION POINTER LOCALIZATION

International Business Ma...

1. A computer system comprising:a memory;
a processor, communicatively coupled to the memory;
an indirect function call configuration, the configuration to define a first application module with a target function of an indirect function call, a second application module with a symbolic reference to the target function of the indirect function call, and a third application module to originate the indirect function call; and
a compiler in communication with the processor, the compiler to generate program code for an application module selected from the group consisting of: the first application module, the second application module, and the third application module, the generating including:
create a group with at least two symbolic references;
load addresses of functions by using the at least two symbolic references contained in the group;
determine that employed values of the at least two symbolic references are used to perform an operation selected from the group consisting of: the indirect function call in the first application module, a comparison to at least one symbolic reference contained in the group, and a comparison to a NULL value; and
indicate, in the generated program code, that the at least two symbolic references can be resolved using local entry point addresses of the functions, wherein resolution of the at least two symbolic references to function addresses through local entry point addresses of the functions comprises a reduction of a quantity of operations executed through the generated program code.

US Pat. No. 10,169,010

PERFORMING REGISTER PROMOTION OPTIMIZATIONS IN A COMPUTER PROGRAM IN REGIONS WHERE MEMORY ALIASING MAY OCCUR AND EXECUTING THE COMPUTER PROGRAM ON PROCESSOR HARDWARE THAT DETECTS MEMORY ALIASING

International Business Ma...

1. A method for running a computer program comprising:compiling the computer program using a compiler that comprises an optimizer that performs register promotion optimizations using a special store instruction for regions of a computer program where memory aliasing can occur;
executing the compiled computer program on a processor that includes:
instruction decode logic that recognizes the special store instruction;
a plurality of registers that each includes an address tag for storing an address; and
hardware that detects memory aliasing at run-time using the address tags for the plurality of registers and recovers from the memory aliasing to provide functional correctness when memory aliasing occurs, wherein the hardware in the processor comprises a load/store unit that includes logic for handling the special store instruction and providing in-order execution of instructions when out-of-order execution of instructions produces memory aliasing, wherein the load/store unit detects when a younger load instruction targeting the address for the special store instruction executes before the special store instruction, and in response, flushes instructions in an instruction pipeline of the processor after the special store instruction.

US Pat. No. 10,169,009

PROCESSOR THAT DETECTS MEMORY ALIASING IN HARDWARE AND ASSURES CORRECT OPERATION WHEN MEMORY ALIASING OCCURS

International Business Ma...

1. A processor for executing software instructions, the processor comprising:instruction decode logic that recognizes a special store instruction that is used in regions of a computer program where memory aliasing can occur;
a plurality of registers that each includes an address tag for storing an address; and
a load/store unit that includes logic for handling the special store instruction and providing in-order execution of instructions when out-of-order execution of instructions produces memory aliasing, wherein the load/store unit detects when a younger load instruction targeting the address for the special store instruction executes before the special store instruction, and in response, flushes instructions in an instruction pipeline of the processor after the special store instruction.

US Pat. No. 10,169,008

INFORMATION PROCESSING DEVICE AND COMPILATION METHOD

FUJITSU LIMITED, Kawasak...

1. An information processing device comprising:a memory; and
a processor coupled to the memory and the processor configured to:
extract a class in which a copy constructor included in a source code or an assignment operator included in the source code are used,
identify a call to the copy constructor or assignment operator included in the class extracted by the processor,
calculate a number of times of access to member variables, indicated in the call identified by the processor and a periphery of the call, of a copy source and a copy destination of a copy process executed based on the call;
compare the calculated number with a number of times of memory access related to a copy source and a copy destination of the call and the periphery of the call, based on a default copy process being executed by the processor based on the call, and
generate an intermediate code having, added thereto, information to be used to execute a process for copying the constructor or the assignment operator in units of member variables and generate an intermediate code having information added thereto based on the call when the number, calculated by the processor, of times of the access is smaller than a number of times of the memory access.

US Pat. No. 10,169,007

SERVICE PROVIDER NETWORK INTEGRATED COMPILATION SERVICE AND RUNTIME SYSTEM

Amazon Technologies, Inc....

1. An apparatus, comprising:a processor; and
a non-transitory computer-readable storage medium having instructions stored thereupon which are executable by the processor and which, when executed, cause the apparatus to:
execute a compilation service in a service provider network;
receive source code to be compiled at the compilation service;
determine, at a compile time of the source code, whether a local procedure call, for creating or accessing a local file, in the source code is to be replaced to utilize one or more network services executing in the service provider network;
in response to determining that the local procedure call in the source code is to be replaced, generate modified source code by replacing the local procedure call with new source code for utilizing the one or more network services executing in the service provider network;
compile the modified source code to generate service provider network integrated program code;
cause the service provider network integrated program code to be deployed to an on-demand computing service executing in the service provider network; and
cause the service provider network integrated program code to be executed on a host in the on-demand computing service, whereby the service provider network integrated program code utilizes one or more runtime managed service clients at a run time to utilize the one or more network services executing in the service provider network.

US Pat. No. 10,169,006

COMPUTER-VISION BASED EXECUTION OF GRAPHICAL USER INTERFACE (GUI) APPLICATION ACTIONS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method, comprising:recognizing, using computer-vision based training information, a user interface (UI) component of an application-level user interface of an application and rendering coordinates of the UI component within the application-level user interface;
identifying, in accordance with the computer-vision based training information, a functional class that is mapped within the computer-vision based training information to the UI component and that is used to instantiate the UI component as part of the application-level user interface;
instantiating a replica object of the identified functional class within a user interface container separately from the application; and
generating, from the instantiated replica object on an operating system event queue that provides inputs to the application, an operating system-level event that specifies a functional operation of the UI component and the recognized rendering coordinates of the UI component;
where generating, from the instantiated replica object on the operating system event queue that provides the inputs to the application, the operating system-level event that specifies the functional operation of the UI component and the recognized rendering coordinates of the UI component comprises:
executing a user interface execution script that specifies the functional operation of the UI component using a method of a class of the instantiated replica object; and
triggering, using the specified functional operation, generation by the instantiated replica object of a user interface object event on the operating system event queue that provides the inputs to the application to invoke the operating system-level event that specifies the recognized rendering coordinates of the UI component.

US Pat. No. 10,169,005

CONSOLIDATING AND REUSING PORTAL INFORMATION

INTERNATIONAL BUSINESS MA...

1. A method comprising:retrieving, by at least one hardware computing device of a portal auto-harvesting engine, code from a user interface (UI) layer of a web application;
deconstructing, by the at least one hardware computing device of the portal auto-harvesting engine, the code into code fragments which have different functions within the web application by splitting the code into the code fragments;
matching, by the at least one hardware computing device of the portal auto-harvesting engine, each of the code fragments with server-side components by pattern matching each of the code fragments to a corresponding function within the web application; and
generating, by the at least one hardware computing device of the portal auto-harvesting engine, a portlet structure by combining hypertext markup language (HTML) code fragments; and
executing, by the at least one hardware computing device of the portal auto-harvesting engine, at least one of the code fragments to determine a viability of the at least one of the code fragments to work on a stand-alone basis,
wherein the matching of each of the code fragments with the server-side components comprises determining whether each of the code fragments is one of a common matched component, a transitioned matched component, and an unmatched component based on at least one of a common key word, a tag, and metadata, and
wherein the matching of each of the code fragments with the server-side components further comprises determining whether each of the code fragments is one of:
the common matched component when a code fragment is matched to a common server-side function in the server-side components based on at least one of the common key word, the tag, and the metadata;
the transitioned matched component when the code fragment is not matched to the common server-side function and the code fragment is matched to a transitioned server-side function in the server-side components based on the at least one of the common key word, the tag, and the metadata; and
an unmatched component when the code fragment is not matched to either the common server-side function or the transitioned server-side function in the server-side components based on the at least one of the common key word, the tag, and the metadata, wherein the transitioned server-side function is similar to the code fragment.

US Pat. No. 10,169,004

APPLICATION DEVELOPMENT AND EXTENSIBILITY/CUSTOMIZATION USING ENTITY MODELING SYSTEMS AND METHODS

Open Text SA ULC, Halifa...

1. An entity modeling system, comprising: at least one processor; a data store storing a plurality of entity building blocks;at least one non-transitory computer readable medium; and stored instructions embodied on the at least one non-transitory computer readable medium and translatable by the at least one processor to:
provide an entity model designer tool having a plurality of components including a graphical user interface and an entity composition function;
responsive to an instruction from a user to model an entity, generate a first view containing a name of the entity and the entity composition function and display the first view on the graphical user interface;
responsive to user interaction with the entity composition function, access the data store, generate a second view including a collection of at least one entity building block of the plurality of entity building blocks, and display the second view on the graphical user interface;
responsive to the user selecting a first entity building block from the collection to add to the entity, automatically extend the entity to include user configured settings of the first entity building block to generate a user customized version of the entity;
track and store information relating to the user configured settings of the first entity building block;
package and deploy the user customized version of the entity;
responsive to an instruction from a second user to model a second entity, generate a first view containing a name of the second entity and the second entity composition function and display the view on a second graphical user interface;
responsive to second user interaction with the entity composition function, access the data store, generate a second view including a collection of at least one entity building block of the plurality of entity building blocks, and display the second view on the second graphical user interface;
responsive to the second user selecting the first entity building block from the collection to add to the second entity, automatically extend the second entity to include second user configured settings of the first entity building block;
track and store information relating to the second user configured settings of the first entity building block;
provide an updated version of the first entity building block to the second user; and
using the updated version of the first entity building block and the stored information relating to the second user configured settings of the first entity building block, generate an updated version of the entity including the second user configured settings of the first entity building block, wherein the generation of the updated version of the entity including the second user configured settings is not affected by the first user configured settings.

US Pat. No. 10,169,003

COGNITIVE SCOPE ANALYZER

INTERNATIONAL BUSINESS MA...

1. A computer implemented method for augmenting cognitive scope in a programming development system, the method comprising:determining, by a processor, a scope of a programming object in a computer program;
generating, by the processor, a cognitive programming user-interface mask corresponding to a programmer profile; and
applying, by the processor, the cognitive programming user-interface mask to a user-interface of the programming development system, the user-interface displaying an indication of the scope of the programming object, wherein:
the computer program is represented as a virtual world with the programming object represented by a virtual artifact within a virtual bounded region within the virtual world, the virtual bounded region representing the scope of the programming object, and wherein publicly accessible members of the programming object are displayed on a banner associated with the virtual object.

US Pat. No. 10,169,002

AUTOMATED AND HEURISTICALLY MANAGED SOLUTION TO QUANTIFY CPU AND PATH LENGTH COST OF INSTRUCTIONS ADDED, CHANGED OR REMOVED BY A SERVICE TEAM

International Business Ma...

1. A method for qualifying changes to an instruction set in source code of a computer program, the method comprising:receiving text in a code editor as an edit to the source code of the computer program; and,
responding to the edit to the source code before the edit to the source code is committed for use in the computer program by:
determining a portion of the source code that was modified as the edit to the source code including the instruction set;
querying a data store of code change costs for instruction set cost information, wherein the instruction set cost information comprises performance data from execution of the instruction set, the performance data associated with at least one of central processing unit (CPU) usage, path length, and response time;
determining a code change cost as edit to the source code including the instruction set based on instruction set cost information;
retrieving the determined code change cost as the edit to the source code including the instruction set;
displaying in the code editor the retrieved code change cost; and
subsequent to the displaying, committing the edit to the source code for use in the computer program.

US Pat. No. 10,169,001

UNDO/REDO IN JAVASCRIPT OBJECT NOTATION

International Business Ma...

1. A computer program product for undoing and redoing changes in a Javascript object notation structure, the computer program product comprising:one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:
program instructions to modify a Javascript object notation structure to include a tag on at least one object and a tag on at least one array containing a first version of the Javascript object notation structure, wherein modifying a Javascript object notation structure to include a tag comprises:
program instructions to recursively traverse objects and arrays inside the hierarchy of the Javascript object notation structure; and
program instructions to add an identifier to each object and array;
program instructions to identify a change to the Javascript object notation structure creating a second version of the JSON structure;
program instructions to adjust the tag on the at least one object and the tag on the at least one array to include the second version of the Javascript object notation structure, wherein adjusting the tag to include the second version of the Javascript object notation structure comprises storing, by one or more computer processors, details for reversing the change to the Javascript object notation structure in an undo stack and a redo stack;
program instructions to adjust the displayed first version of the Javascript object notation structure with the second version of the Javascript object notation structure;
program instructions to receive data indicating an action, wherein an action includes a undo/redo action to the Javascript object notation structure to return the second Javascript object notation structure to the first version of the Javascript object notation structure;
program instructions to adjust the displayed second version of the Javascript object notation structure to the first version of the Javascript object notation structure, wherein adjusting the displayed second version of the Javascript object notation structure to the first version of the Javascript object notation structure comprises utilizing, by one or more computer processors, the stored details for reversing the change to the Javascript object notation structure in the undo stack and the redo stack; and
program instructions to receive data indicating an action, wherein an action includes displaying the second version of the Javascript object notation structure to replace the first version of the Javascript object notation structure.

US Pat. No. 10,169,000

PROVISIONING COMPOSITE APPLICATIONS USING SECURE PARAMETER ACCESS

Red Hat Israel, Ltd., Ra...

1. A method, comprising:implementing a composite Web application, the implementing involving a first virtual machine (VM) to be hosted on a first physical machine and a second virtual machine to be hosted on a second physical machine, wherein the first physical machine and the second physical machine are located in a data center;
provisioning the first virtual machine on the first physical machine;
provisioning the second virtual machine on second physical machine;
instantiating a first component of the composite Web application on the first virtual machine and a second component of the composite Web application on the second virtual machine, wherein the first component has a first role of an application server and the second component has a second role of a database management system;
receiving, by a processing device of a provisioning server, a request for a configuration parameter from the first component of the composite Web application, the configuration parameter being a password that enables periodic reconfiguration to communication between the first component and the second component;
identifying, by the processing device of the provisioning server, the first role of the first component of the composite Web application by looking up an identifier of the first component within a stored VM table;
accessing, within a hierarchical data structure, an access condition that specifies a role condition or relationship condition of the requesting first component that is satisfied to access the configuration parameter and enable the communication with the second component;
verifying that the access condition is satisfied by the first component;
upon verification of the access condition, providing the configuration parameter to the first virtual machine associated with the first component;
reconfiguring the first virtual machine of the first component of the application server to access the second component using the requested configuration parameter; and
allowing the communication between the first component and the second component based on the requested configuration parameter.

US Pat. No. 10,168,999

SOFTWARE OBJECT DEFINITION AND INTEGRATION

International Business Ma...

1. A software object definition improvement method comprising:receiving from a hardware and software connector device, by a processor of a hardware framework system, a first software object;
parsing, by said processor, top level hierarchal software structures of said first software object;
mapping, by said processor, top level hierarchal software structures to specified software element properties;
identifying, by said processor based on results of said mapping, a first container memory structure;
searching, by said processor based on results of said identifying, for said first container memory structure;
determining, by said processor based on results of said searching, if said first container memory structure has been located;
executing, by said processor based on results of said determining, software building block code thereby modifying said first container memory structure based on said mapping resulting in an improved operation of said hardware and software connector device and said hardware framework system; and
generating, by said processor, an application programming interface (API) for communications between said software building block code, said hardware framework system, and said software connector device.

US Pat. No. 10,168,997

SYSTEM AND METHOD FOR EXECUTING NATIVE CLIENT CODE IN A STORAGE DEVICE

NGD Systems, Inc., Irvin...

1. A storage device communicatively coupled to a host through a storage interface, the storage device being configured to store host data provided by the host through the storage interface, the storage device comprising:storage media;
a first processing unit; and
a program memory storing instructions that, when executed by the first processing unit, cause the first processing unit to:
instantiate, within the storage device, a device data processing agent and a container, wherein the device data processing agent is connected to the host through a virtual Transmission Control Protocol/Internet Protocol (TCP/IP) tunnel over the storage interface, and wherein the device data processing agent is configured:
to receive, from the host through the virtual TCP/IP tunnel over the storage interface, a first manifest comprising a plurality of input file identifiers, a plurality of output file identifiers, and a first binary comprising first instructions;
to send a request to the host in a form of the plurality of input file identifiers and the plurality of output file identifiers through the storage interface;
to receive a corresponding response from the host in a form of a plurality of block addresses through the storage interface, each block address identifying a storage area in the storage media, each block address corresponding to one of the plurality of input file identifiers and the plurality of output file identifiers; and
to retrieve data from the storage area identified by a block address of the plurality of block addresses by sending a data retrieval request to a second processing unit through a messaging interface and receiving retrieved data through the messaging interface;
extract the first binary, from the first manifest, within the storage device; and
execute the first binary to perform data processing on the retrieved data stored in the storage device based on the first instructions in the first binary.

US Pat. No. 10,168,996

METHOD AND SYSTEM FOR GENERATING A RANDOM BIT SAMPLE

Quantum Numbers Corp., B...

1. A method for generating a random bit sample using a quantum tunneling barrier comprising an insulator sandwiched between two conductors, the method comprising:generating a current of charges tunneling from a first one of the two conductors to a second one of the two conductors and across the insulator, the current of the tunneled charges having an instantaneous level varying randomly due to quantum tunneling fluctuations and forming a raw signal;
from said raw signal, obtaining a raw bit sample having a first hit number n, the first bit number n being an integer;
extracting the randomness out of the raw bit sample into the random bit sample, the random bit sample having a second bit number m being smaller than the first bit number n, said extracting being based on calibration data comprising at least
a quantum contribution value of said quantum tunneling fluctuations in said raw bit sample; and
an external noise contribution value in said raw bit sample;
wherein said extracting comprises determining said calibration data from variance data indicative of a variance of raw bit samples obtained from said quantum tunneling barrier as function of a voltage at which die quantum tunneling barrier is operated.

US Pat. No. 10,168,995

EXTRACTING ENTROPY FROM MACHINE VIBRATION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for random number generation for security relevant features of cryptography applications, the computer-implemented method comprising:acquiring, by at least one sensor, analog vibration data from the machine, wherein the sensor is configured to monitor the vibration of a cooling component of the machine, wherein the analog vibration data is acquired from a motor drive assembly installed in the machine;
converting, by a computer processor, the analog vibration data to digital form;
filtering the digital data; and
storing the filtered data within a memory unit to form a random number pool from which random numbers may be selected, wherein the analog vibration data is collected in a first mode and a second mode.

US Pat. No. 10,168,994

RANDOM NUMBER GENERATOR INCLUDING ENTROPY SOURCE

Intel Corporation, Santa...

1. A circuit comprising:an entropy source to generate an output signal; and
a deterministic feedback circuit coupled to the entropy source in a deterministic feedback loop to generate successive bits of the output signal, wherein the deterministic feedback circuit includes:
detection logic to detect when a first bit of the output signal of the entropy source has registered;
a pre-delay feedback path to cause the entropy source to power off responsive to the detection; and
a post-delay feedback path to cause the entropy source to power on, 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.

US Pat. No. 10,168,993

ZERO DETECTION OF A SUM OF INPUTS WITHOUT PERFORMING AN ADDITION

International Business Ma...

1. A method for zero detection of a sum of inputs without performing an addition, the method comprising:performing, by first one or more XOR gates in a logic circuit, a bitwise XOR operation for a first vector as a first input and a second vector as a second input, wherein the bitwise XOR operation for the first vector and the second vector generates a third vector, wherein the first vector and the second vector are signed N-bit 2's complement vectors;
performing, by first one or more OR gates in the logic circuit, a bitwise OR operation for the first vector and the second vector, wherein the bitwise OR operation generates a fourth vector;
performing, by second one or more XOR gates in the logic circuit, a bitwise XOR operation for the third vector and the fourth vector, wherein bit positions of the fourth vector are shifted by one bit to the left and the right end bit of the fourth vector is padded with a zero, wherein the bitwise XOR operation for the third vector and the fourth vector generates a fifth vector;
performing, by a third XOR gate in the logic circuit, an XOR operation of a sign extension bit of the third vector and a sign extension bit of the fourth vector; and
performing, by a first AND gate in the logic circuit, an AND operation of a control signal and an output of the third XOR gate, wherein the control signal switches between a true mathematical zero check and a zero check for trailing N-bits.

US Pat. No. 10,168,992

INTERRUPTIBLE TRIGONOMETRIC OPERATIONS

TEXAS INSTRUMENTS INCORPO...

1. An integrated circuit (IC) comprising:a general-purpose processing core that issues instruction calls using instructions in an instruction set; and
special-purpose processing circuitry comprising trigonometric hardware to compute trigonometric functions using CORDIC operations, the trigonometric hardware comprising:
pre-iteration circuitry that assigns one or more input values to a quadrant and tests for exception conditions, in response to a first processor instruction call;
CORDIC circuitry that performs at least one CORDIC iteration on the one or more input values to produce result values in response to a second processor instruction call; and
result generation circuitry that modifies the result values, or values based on the result values, based on one or more determinations made by the pre-iteration circuitry, in response to a third processor instruction call.

US Pat. No. 10,168,991

CIRCUIT FOR ADDITION OF MULTIPLE BINARY NUMBERS

INTERNATIONAL BUSINESS MA...

1. A circuit for addition of multiple binary numbers, the circuit comprising a 4-to-2-compressor configured for calculating a compressed representation from four binary numbers received via operand inputs of the 4-to-2-compressor, wherein the 4-to-2-compressor comprises a first sub-circuit and a second sub-circuit, wherein each of the first sub-circuit and the second sub-circuit is configured for transmitting a bitwise inverted representation of a compressed representation from three binary numbers, wherein:the 4-to-2-compressor comprises at least one bit cell, wherein the at least one bit cell comprises a first sub-cell belonging to the first sub-circuit and a second sub-cell belonging to the second sub-circuit; and
at least one of the first sub-cell and the second sub-cell comprises three operand inputs, an inverted sum output and an inverted carry output.

US Pat. No. 10,168,990

AUTOMATIC REPLACEMENT OF A FLOATING-POINT FUNCTION TO FACILITATE FIXED-POINT PROGRAM CODE GENERATION

The MathWorks, Inc., Nat...

1. A device, comprising:one or more processors to:
receive information associated with a floating-point function,
the floating-point function being a function described in a programming language that uses a floating-point representation;
identify the floating-point function;
determine, prior to generating fixed-point code for the floating-point function and based on identifying the floating-point function, that directly converting the floating-point function to a fixed-point function is not supported;
determine, based on the directly converting not being supported that the floating-point function is to be replaced with a replacement construct,
the replacement construct including one of:
a lookup table,
a coordinate rotation digital computer construct,
a Newton-Raphson construct,
a Taylor series construct, or
a numerical approximant construct,
the replacement construct being described in the programming language, and
the replacement construct including a floating-point approximation, of the floating-point function, that is used in a conversion from the floating-point representation to a fixed-point representation;
determine parameters associated with generating the replacement construct,
at least one parameter of the parameters being determined based on an evaluation of the floating-point function;
generate, after the parameters are determined, the replacement construct based on the parameters;
replace the floating-point function with the replacement construct;
perform the conversion from the floating-point representation to the fixed-point representation based on the floating-point approximation; and
generate fixed-point program code based on the conversion.

US Pat. No. 10,168,989

ADJUSTABLE EMPTY THRESHOLD LIMIT FOR A FIRST-IN-FIRST-OUT (FIFO) CIRCUIT

Altera Corporation, San ...

1. Transceiver circuitry, comprising:a first-in-first-out (FIFO) circuit that stores data received based on a first clock frequency value and outputs the stored data based on a second clock frequency value, wherein the FIFO circuit provides the stored data at an output only in response to a difference between a write address indicated by a write pointer of the FIFO circuit and a read address indicated by a read pointer of the FIFO circuit being greater than an empty threshold limit value of the FIFO circuit; and
a control circuit that changes the empty threshold limit value of the FIFO circuit to a new empty threshold limit value and that provides the new empty threshold limit value to the FIFO circuit.

US Pat. No. 10,168,988

IDENTIFYING USER PREFERENCES AND CHANGING SETTINGS OF A DEVICE BASED ON NATURAL LANGUAGE PROCESSING

International Business Ma...

1. A method for identifying user preferences and changing settings of a device based on natural language processing, the method comprising:capturing, by one or more programs running in background on the device, an input of natural language from a user of the device, wherein the one or more programs listen to a user frustration expressed in the natural language by the user while the user is using the device;
matching, by the one or more programs, the input of the natural language to the user frustration;
mapping, by one or more programs, the user frustration to one or more solutions to the user frustration, wherein the one or more solutions make one or more changes of settings on the device;
applying, by one or more programs, the one or more changes of settings on the device and setting user preference settings on the device, based on the one or more solutions; and
storing, by one or more programs, the user preference settings in a common store for the user.

US Pat. No. 10,168,987

AUDIO CONTROL APPARATUS AND HEADSET SYSTEM SELECTIVELY ALLOWING OR BLOCKING AUDIO INTERRUPTIONS ACCORDING TO SENSOR FEEDBACK

1. A headset system comprising:an accelerometer;
a speaker;
a first communication interface for coupling with an audio source device; and
one or more processors coupled to the accelerometer, the speaker, and the first communication interface;
wherein, by the one or more processors executing software instructions loaded from a memory, the one or more processors are configured to send audio received from the audio source device to the speaker;
when sending the audio received from the audio source device to the speaker, the one or more processors are further configured to adjust a volume level of the audio according a feedback signal received from the accelerometer; and
when transmitting the audio to the speaker, the one or more processors are further configured to mix the audio with a second audio signal to form a mixed audio signal and transmit the mixed audio signal to the speaker.

US Pat. No. 10,168,984

IMAGE RECEIVING APPARATUS AND METHOD THEREOF FOR DETERMINING AN ORIENTATION OF A SCREEN OF AN ELECTRONIC APPARATUS

AUTOCHIPS INC., Hefei, A...

1. A method for determining an orientation of a screen of an electronic apparatus, comprising the following steps of:receiving a screen shared image transmitted by the electronic apparatus, wherein the screen shared image is a color image;
performing line sampling on pixels of the screen shared image; and
determining whether the screen is in a landscape orientation or in a portrait orientation according to color values of the sampled pixels of the screen shared image;
wherein the step of determining wherein the screen is in the landscape orientation or in the portrait orientation according to color values of the sampled pixels of the screen shared image, further comprises the following steps of:
determining an effective image region in the screen shared image according to the color values of the sampled pixels, wherein the screen shared image comprises the effective image region and a peripheral region outside the effective image region, the effective image region corresponds to an image actually displayed by the screen of the electronic apparatus; and
determining whether the screen of the electronic apparatus is in the landscape orientation or in the portrait orientation according to the effective image region;
wherein the step of performing line sampling on pixels of the screen shared image comprises: sampling the pixels of the screen shared image along a preset straight line, wherein the preset straight line runs through the effective image region and the peripheral region outside the effective image region; and
the step of determining the effective image region comprises: comparing the color values of the sampled pixels of the screen shared image to determine boundary points of the effective image region on the preset straight line.

US Pat. No. 10,168,983

SERVER APPARATUS, CONTENT DISPLAY CONTROL SYSTEM, AND RECORDING MEDIUM

FUJITSU LIMITED, Kawasak...

1. A server apparatus for providing authentication information to associate a client terminal with a plurality of display apparatuses capable of displaying a content distributed from the client terminal, the server apparatus comprising:a storage configured to store a plurality of sets of authentication pattern information associated with information relating to operations of the client terminal; and
an issuing unit configured to issue a set of authentication pattern information from among the plurality of sets of authentication pattern information stored in the storage to a display apparatus on which an operation has been performed by a user, among the plurality of display apparatuses, the set of authentication pattern information being issued to the display apparatus in response to a request from the display apparatus for authentication pattern information, the issuing unit being further configured to disable issuing the set of authentication pattern information issued to the display apparatus to a further display apparatus in a period from issuing the set of authentication pattern information to receiving return of the set of authentication pattern information from the display apparatus.

US Pat. No. 10,168,982

DISPLAY CONTROL OF A PORTION OF A DOCUMENT BY PRIMARY AND SECONDARY DISPLAY DEVICES

Adobe Systems Incorporate...

1. A method implemented by a computing device for controlling a view of a document, the method comprising:displaying, by the computing device, the document in a user interface on a primary display device;
receiving, by the computing device, a user input via the user interface to cause display of a portion of the document;
determining, by the computing device, a secondary display device is available to display the portion of the document responsive to the receiving of the user input, the secondary display device having a different type of configuration than the primary display device;
displaying, by the computing device, a notification indicating availability of the secondary display device to display the portion of the document;
receiving, by the computing device, a selection of the secondary display device;
causing, by the computing device, the selected secondary display device to display the portion of the document responsive to the receiving of the selection by the computing device; and
responsive to receipt by the computing device of a navigation input via the user interface to navigate the display of the document on the primary display device:
navigating the display of the document on the primary display device; and
continuing the display of the portion of the document on the selected secondary display device during the navigating.

US Pat. No. 10,168,981

METHOD FOR SHARING IMAGES AND ELECTRONIC DEVICE PERFORMING THEREOF

Samsung Electronics Co., ...

1. An electronic device for a head-mounted device (HMD), the electronic device comprising:a display;
a memory configured to store virtual reality content;
a sensor module;
a communication circuit configured to communicate with an external device; and
a processor configured to:
play back binocular image data based on the virtual reality content on the display,
control the sensor module to detect a motion of a user,
apply user sensing data based on the detected result to data associated with playback of the binocular image data,
determine whether the virtual reality content is stored in the external device,
control the communication circuit to transmit the data associated with playback of the binocular image data and not to transmit image data based on the virtual reality content, when the processor determines that the virtual reality content is stored in the external device, and
control the communication circuit to transmit the image data based on the virtual reality content corresponding to the binocular image data, when the processor determines that the virtual reality content is not stored in the external device,
wherein the data associated with playback comprises location data in cyberspace according to a playback time of the binocular image data and field of view (FoV) data of the user in the cyberspace, and
wherein the data associated with playback is used for applying the direction and angle of view of the screen viewed by the user to virtual reality content displayed by the external device.

US Pat. No. 10,168,979

USING A SYNC NOTIFICATION TO INDICATE WHEN A SHARED SCREEN VIEW OF A PRESENTER DEVICE HAS BEEN DELIVERED TO AN AUDIENCE

GetGo, Inc., Boston, MA ...

1. A method of providing a sync notification to indicate when a shared screen view of a presenter device has been delivered to an audience, the method comprising:generating, by processing circuitry, a sync time estimation based on communications with a set of audience devices;
detecting, by the processing circuitry, occurrence of an update to the shared screen view of the presenter device; and
after the sync time estimation has elapsed since the detected occurrence of the update, outputting, by the processing circuitry, the sync notification on the presenter device to indicate when the shared screen view of the presenter device has been delivered to the audience;
wherein, prior to outputting the sync notification, the presenter device displays a progress indicator that indicates a current portion of the sync time estimation that has expired since the update was detected; and
wherein outputting the sync notification on the presenter device includes:
in response to expiration of the sync time estimation, no longer displaying the progress indicator that indicates the current portion of the sync time estimation that has expired on the presenter device and displaying the sync notification in place of the progress indicator.

US Pat. No. 10,168,978

WATCH TYPE TERMINAL AND METHOD FOR CONTROLLING THE SAME

LG Electronics Inc., Seo...

1. A watch type terminal comprising:a main body;
a wireless communication module configured to transmit data to an external terminal or receive data from the external terminal;
a touch screen configured to receive a touch input and display a time screen indicating current time, wherein the time screen comprises a plurality of regions along edges of the time screen, each corresponding to a time; and
a hardware controller configured to:
output to the touch screen information indicating that content information, corresponding to a copy region selected at the external terminal, can be stored in the watch type terminal when a first touch input is applied to the touch screen,
store the content information together with corresponding metadata including information of an application of the content information and a preview screen corresponding to the content information in the watch type terminal when a second touch input is applied to the touch screen,
display an icon of the application of the stored content information on one region corresponding to time when the content information has been stored, of the plurality of regions of the time screen,
call the stored content information and the corresponding metadata in response to a third touch input applied to the icon displayed on the time screen,
transmit data related to the preview screen included in the called metadata to the external terminal in response to a paste gesture applied to the external terminal,
display information on the touch screen corresponding to editing a paste region on which the preview screen is displayed at the external terminal while the paste gesture is moved, and
if the paste gesture applied to the external terminal is released, transmit a control command to the external terminal such that the stored content information is displayed on the edited paste region.

US Pat. No. 10,168,977

BIDIRECTIONAL SCANNING UNIT, DRIVING METHOD AND GATE DRIVING CIRCUIT

SHANGHAI AVIC OPTO ELECTR...

1. A bidirectional scanning unit, comprising:a first-stage sub unit comprising
a first input module,
a first pull-up node,
a first pull-up control module,
a second pull-up control module,
a first pull-down node,
a first pull-down control module,
a second pull-down control module,
a first pull-down generating module,
a first output module, and
a first output terminal; and
a second-stage sub unit comprising
a second input module,
a second pull-up node,
a third pull-up control module,
a fourth pull-up control module,
a second pull-down node,
a third pull-down control module,
a fourth pull-down control module,
a second pull-down generating module,
a second output module, and
a second output terminal; and, wherein
the first input module is configured to control a conduction state between a first voltage terminal and the first pull-up node and control a conduction state between a third voltage terminal and the first output terminal in response to a signal of a first control terminal, and to control a conduction state between a second voltage terminal and the first pull-up node and control a conduction state between the third voltage terminal and the first output terminal in response to a signal of a second control terminal, wherein a level of a signal outputted from the first voltage terminal is opposite to a level of a signal outputted from the second voltage terminal;
the second input module is configured to control a conduction state between the first voltage terminal and the second pull-up node and control a conduction state between the third voltage terminal and the second output terminal in response to a signal of a third control terminal, and to control a conduction state between the second voltage terminal and the second pull-up node and control a conduction state between the third voltage terminal and the second output terminal in response to a signal of a fourth control terminal, wherein a structure of the first input module is identical to a structure of the second input module;
the first pull-up control module is configured to control a conduction state between the first pull-down node and the third voltage terminal and control a conduction state between the first pull-down node and the first pull-down generating module in response to a signal of the first pull-up node, the second pull-up control module is configured to control a conduction state between the first pull-down node and the third voltage terminal and control a conduction state between the first pull-down node and the first pull-down generating module in response to a signal of the second pull-up node;
the third pull-up control module is configured to control a conduction state between the second pull-down node and the third voltage terminal and control a conduction state between the second pull-down node and the second pull-down generating module in response to a signal of the second pull-up node, the fourth pull-up control module is configured to control a conduction state between the second pull-down node and the third voltage terminal and control a conduction state between the second pull-down node and the second pull-down generating module in response to a signal of the first pull-up node, wherein a structure of the first pull-up control module is identical to a structure of the third pull-up control module, and a structure of the second pull-up control module is identical to a structure of the fourth pull-up control module;
the first pull-down generating module is configured to control a conduction state between a first signal terminal and the first pull-down node in response a signal of the first signal terminal;
the second pull-down generating module is configured to control a conduction state between a second signal terminal and the second pull-down node in response to a signal of the second signal terminal, wherein a structure of the first pull-down generating module is identical to a structure of the second pull-down generating module;
the first pull-down control module is configured to control a conduction state between the first pull-up node and the third voltage terminal and control a conduction state between the third voltage terminal and the first output terminal in response to a signal of the first pull-down node, the second pull-down control module is configured to control a conduction state between the first pull-up node and the third voltage terminal and control a conduction state between the third voltage terminal and the first output terminal in response to a signal of the second pull-down node;
the third pull-down control module is configured to control a conduction state between the second pull-up node and the third voltage terminal and control a conduction state between the third voltage terminal and the second output terminal in response to a signal of the second pull-down node, the fourth pull-down control module is configured to control a conduction state between the second pull-up node and the third voltage terminal and control a conduction state between the third voltage terminal and the second output terminal in response to a signal of the first pull-down node, wherein a structure of the first pull-down control module is identical to a structure of the third pull-down control module, and a structure of the second pull-down control module is identical to a structure of the fourth pull-down control module; and
the first output module is configured to control a conduction state between a first clock signal terminal and the first output terminal in response to a signal of the first pull-up node, and the second output module is configured to control a conduction state between a second clock signal terminal and the second output terminal in response to a signal of the second pull-up node, wherein a phase difference between a signal outputted from the first clock signal terminal and a signal outputted from the second clock signal terminal is 180 degrees, and a structure of the first output module is identical to a structure of the second output module.

US Pat. No. 10,168,976

DYNAMIC DISPLAY ARRANGEMENT

International Business Ma...

1. An apparatus comprising:an interface module that:
receives first information comprising information from an information handling device worn or held by a user, wherein the information comprises a position of the user, a location of the user, or some combination thereof;
receives second information comprising context information corresponding to first and second displays of a plurality of displays, wherein the context information comprises a rule for arranging the plurality of displays based on a position of the user, a location of the user, or some combination thereof, the rule for arranging the plurality of displays comprises a rule for a software arrangement of the plurality of displays used to match a physical arrangement of the plurality of displays, the software arrangement comprises a horizontal arrangement, a vertical arrangement, or a scattered arrangement, the physical arrangement comprises the horizontal arrangement, the vertical arrangement, or the scattered arrangement, and the physical arrangement of the plurality of displays corresponds to the position of the user, the location of the user, or some combination thereof;
an arrangement determination module that determines a software arrangement of the plurality of displays based on the first and second information; and
a settings module that changes software settings of the plurality of displays to set the software settings to the horizontal arrangement, the vertical arrangement, or the scattered arrangement based on the determined software arrangement in response to a change in the position of the user, the location of the user, or some combination thereof;
wherein at least a portion of the interface module, the arrangement module, and the settings module comprises one or more of hardware and executable code, the executable code being stored on one or more computer readable storage media.

US Pat. No. 10,168,975

SMARTPAD—DESKTOP

Z124, George Town (KY)

1. A smartpad comprising:a display;
an interface adapted to receive a dual touch screen smartphone device, wherein content from the dual screen device is displayable on the display of the smartpad; and
a visual seam is provided in a dual application mode between two applications when displayed on the display of the smartpad, the seam representing a physical seam that is present at a hinge location between the two screens on the dual screen device, the seam not being displayed when only a desktop for each of the screens of the dual screen device is displayed on the display of the smartpad.

US Pat. No. 10,168,973

MOBILE DEVICE OFF-SCREEN GESTURE AREA

Z124, George Town (KY)

1. A method, comprising:providing a device having at least first and second screens with a seam located between the first and the second screens, wherein the device includes an off-screen gesture area;
receiving a first user interface input in the off-screen gesture area that triggers a mode change in the device to select an object on a display area of one of the first and second screens, the display area being separate from the off-screen gesture area;
receiving a second user interface input across the seam in a second off-screen gesture area on the second screen;
determining whether the first and second user interface inputs should be considered as a single user interaction or two separate user interactions based at least on a prediction that the first user interface input will continue across the seam onto the second screen;
determining an application mode of the device, and
in response to the first and second user interface inputs, and the determined application mode, changing a display of the object in one or more of the first and second screens.

US Pat. No. 10,168,972

TERMINAL APPARATUS AND OPERATION DESIGNATION METHOD

Ricoh Company, Ltd., Tok...

1. A terminal apparatus comprising:a display;
a camera configured to capture an image;
a processor; and
a memory including instructions that, upon execution by the processor, cause the processor to:
determine a position of the terminal apparatus;
determine an imaging direction of the camera;
identify an input/output apparatus included in the image captured by the camera based on position information of the input/output apparatus, the position of the terminal apparatus, and the imaging direction of the camera;
generate a composite image of a line extending in a direction of the input/output apparatus onto the captured image, the line being provided as an input/output assist line, and the composite image including an image of the input/output apparatus;
prompt the display to display the composited image;
accept an operation along the input/output assist line in the composite image that is displayed by the display; and
determine whether to make a data output request to output data from the terminal apparatus to the input/output apparatus or to make a data input request to input data from the terminal apparatus to the input/output apparatus based on a direction of the accepted operation along the input/output assist line, wherein
in a case where the accepted operation along the input/output assist line in the composite image is in a direction away from the image of the input/output apparatus, the processor generates an icon representative of a data file, adds the data file icon to the composited image that is displayed on the display of the terminal apparatus, and, upon operation of the data file icon, prompts a user to set up file information of data to be transmitted from the input/output apparatus to the terminal apparatus, and
in a case where the accepted operation along the input/output assist line in the composite image is in a direction toward the image of the input/output apparatus, the processor generates a selection screen for prompting the user to select a data file to be transmitted from the terminal apparatus to the input/output apparatus and prompts the display to transition from displaying the composite image to the selection screen.

US Pat. No. 10,168,971

COMMUNICATION METHOD PERFORMING A WIRELESS COMMUNICATION BETWEEN IMAGE FORMING APPARATUS AND COMMUNICATION DEVICE

SHARP KABUSHIKI KAISHA, ...

1. An image forming apparatus communicating with a communication device and printing a received image data, comprising:a wireless communicator;
a noncontact communicator;
a selection acceptor that accepts a selection by a user of a first communication connection method of connecting based on a noncontact communication to the communication device brought close to the noncontact communicator or connecting based on identification information which the wireless communicator has or a second communication connection method of stopping the noncontact communication and connecting based on the identification information which the wireless communicator has without connecting based on the noncontact communication; and
a switcher that switches a communication connection method based on the selection accepted by the selection acceptor,
wherein a communication is performed using a same communication standard while the different first or second communication connection methods is switched by a user's selection.

US Pat. No. 10,168,970

PRINT LAYOUT GENERATING DEVICE, AND NON-TRANSITORY STORAGE MEDIUM STORING COMPUTER-READABLE INSTRUCTIONS TO GENERATE PRINT LAYOUT

Brother Kogyo Kabushiki K...

1. A non-transitory storage medium storing computer-readable instructions to generate print layout data,wherein the instructions, when executed by a controller of a print layout generating device, cause the print layout generating device to:
display, in an interface, a first image indicative of a layout area in which objects can be arranged, each of the objects indicating an area within which characters are arranged;
display, in the interface, a second image simultaneously with the display of the first image, the second image indicative of a database including a plurality of fields, and at least one record for each of the plurality of fields, the at least one record containing character data corresponding to each of the plurality of fields, the character data indicating characters;
receive a first operation to select at least one field of the plurality of fields based on the second image;
receive a second operation to select a position within the layout area based on the first image;
determine a number of fields in the at least one field;
acquire arrangement information based on the determined number of fields in the at least one field, the arrangement information including at least one object of which a number is the same as the number of fields in the at least one field, the arrangement information indicating a layout of the at least one object within the layout area;
identify a position of the at least one object within the layout area based on the arrangement information;
generate the print layout data in which the at least one object, of which the position is identified, and the at least one field selected from the database by the first operation are associated with each other,
wherein the characters of the at least one field are arranged within the at least one object corresponding to the at least one field.

US Pat. No. 10,168,969

INFORMATION PROCESSING APPARATUS, NON-TRANSITORY COMPUTER READABLE RECORDING MEDIUM THAT RECORDS PRINTER DRIVER PROGRAM, AND BLANK PAGE HANDLING METHOD

KYOCERA DOCUMENT SOLUTION...

1. An information processing apparatus connected to an image forming device through a network, comprising:a ROM (Read Only Memory) that stores an OS (Operating System), the OS managing a printer driver program having a rendering module having a blank page handling module;
a RAM (Random Access Memory);
a CPU (Central Processing Unit) that loads the printer driver program in the RAM and executes the printer driver program, the CPU including at least one processor, when a document needs to be printed by the image forming device, the CPU executes the printer driver program, the CPU being configured to process all pages of the document by
setting one, two, or all blank page handling feature/features of
(1) a maximum consecutive blank page number,
(2) auto-insertion of marking on an n-th blank page, and
(3) auto-insertion of marking in all blank pages,
detecting a blank page/blank pages in the document, and
handling the detected blank page/blank pages in the document based on the set blank page handling feature/features (1), (2), and/or (3), wherein
the CPU is further configured to
if (1) the maximum consecutive blank page number is set,
if a current blank page number within a consecutive blank pages is not within the maximum consecutive blank page number, skip a current blank page, and determine that a next actual page number is the current actual page number,
if the current blank page number within the consecutive blank pages is within the maximum consecutive blank page number, avoid to skip the current blank page, and determine that the next actual page number is an increment of the current actual page number, and
if a next page is not blank, reset a previous blank page number with 0; and
a communication unit for sending the document printing job to the image forming device through the network to print out the document after the CPU processes all pages of the document.

US Pat. No. 10,168,968

COMMUNICATION SYSTEM TO PERFORM DATA COMMUNICATION BETWEEN AN IMAGE FORMING APPARATUS AND A SERVICE PROVIDING APPARATUS

Brother Kogyo Kabushiki K...

20. A server configured to execute a preparing process of allowing the image processing apparatus to receive a service provided by a service providing apparatus on Internet, the server comprising:a server communication interface;
a server processor; and
a server memory storing instructions, the instructions, when executed by the server processor, causing the server to:
execute an issuance-request receiving process of receiving an issuance requesting information from an external apparatus through the server communication interface and through the Internet, the issuance requesting information being information for requesting issuance of authentication information indicative of authority to perform data communication with the service providing apparatus; and
in response to receiving the issuance requesting information, execute a server-side preparing process including:
an authentication-information receiving process of receiving the authentication information issued by the service providing apparatus from the service providing apparatus through the server communication interface and through the Internet;
a first determining process of determining a first condition of whether the external apparatus is configured to perform communication compatible with a communication protocol and a second condition of whether the external apparatus is other than the image processing apparatus; and
a storage instructing process of, in response to determining in the first determining process that both of the first condition and the second condition are positive, transmitting first storage instructing information to the image processing apparatus through the server communication interface and through the Internet, the first storage instructing information including the authentication information issued by the service providing apparatus, the first storage instructing information being storage instructing information of instructing transmitting the authentication information to a storage for storing the authentication information in the storage.

US Pat. No. 10,168,967

IMAGE FORMING APPARATUS, INFORMATION PROCESSING METHOD, AND STORAGE MEDIUM

CANON KABUSHIKI KAISHA, ...

1. An information processing method executed by an image forming apparatus including a display for displaying an operation screen and a memory for storing a personal setting value, of a predetermined setting item, in association with a user and a common setting value, of the predetermined setting item, being used in common by the first and second users, the method comprising:setting, in accordance with an operation performed by an administrator, to use a personal setting value for the user or to use the common setting value;
performing login processing to allow a user to log in to the image forming apparatus;
reading the personal setting value from the memory and displaying an operation screen based on the read personal setting value in a case where the user logs in to the image forming apparatus in a state where it is set to use the personal setting value, and
reading the common setting value from the memory and displaying an operation screen based on the read common setting value in a case where the user logs in to the image forming apparatus in a state where it is set to use the common setting value;
wherein a value of a display language included in the personal setting value is reflected on the operation screen in a case where the personal setting value is read, and, after that, a value of a display language included in the common setting value is reflected on the operation screen in response to receiving a logout instruction from the user.

US Pat. No. 10,168,966

INFORMATION PROCESSING APPARATUS, CONTROL METHOD FOR THE INFORMATION PROCESSING APPARATUS, AND STORAGE MEDIUM

Canon Kabushiki Kaisha, ...

1. An information processing apparatus that performs a direct wireless communication with a communication terminal, the information processing apparatus comprising:a wireless local area network (LAN) interface;
a memory device that stores set of instructions; and
at least one processor that executes the instructions of
controlling the wireless LAN interface to activate an access point to be used in the direct wireless communication, and
controlling, upon condition that the information processing apparatus operates in a first mode where an instruction for a predetermined setting change of the information processing apparatus is waited for from the communication terminal by using the direct wireless communication, transmission and reception of data via the access point by using a first communication filter, and controlling, upon condition that the information processing apparatus operates in a second mode which is different from the first mode, the transmission and the reception of the data via the access point by using a second communication filter.

US Pat. No. 10,168,965

PRINTING SYSTEM FOR PRINTING A PLURALITY OF IMAGES ON A WEB AND A METHOD THEREOF

1. A printing system for printing a plurality of images on a web, the printing system comprising:a) a print engine;
b) a feeder for feeding the web to the print engine in a feed direction relative to said print engine;
c) a receiver for receiving a printed web;
d) a user interface configured to set a printing arrangement of the plurality of images on the web and to provide input to the print engine, the feeder and the receiver, so that a printing operation is performed according to the printing arrangement by ejecting marking material on the web; and
e) a scheduling module for scheduling the plurality of images to be printed on the web; and
f) a media list of media types in a storage,
wherein each media type in the list is associated with at least one predetermined distance, and the scheduling module is configured to move an image of the plurality of images in the printing arrangement from an originally planned location of the web to a new location of the web such that a distance of the new location to an end of the web, which is an end closest in distance to the originally planned location, is larger than the at least one predetermined distance, and
wherein the at least one predetermined distance is a predetermined distance with respect to an end of the web at which printing is started or a predetermined distance with respect to an end of the web at which printing is ended.

US Pat. No. 10,168,964

METHOD AND SYSTEM FOR REMOTE DIAGNOSTIC, CONTROL AND INFORMATION COLLECTION BASED ON VARIOUS COMMUNICATION MODES FOR SENDING MESSAGES TO USERS

RICOH COMPANY, LTD., Tok...

1. A method of monitoring usage of an image output device, comprising:obtaining, based on received resource usage information for a registered user, a total resource usage of the registered user;
determining whether the obtained total resource usage of the registered user meets a first condition by comparing the obtained total resource usage to a predetermined percentage of a predetermined threshold; and
transmitting a first message over a network to a destination, when it is determined in the determining step that the obtained total resource usage of the registered user meets the first condition based on the predetermined percentage of the predetermined threshold.

US Pat. No. 10,168,962

TAPE EMULATING DISK BASED STORAGE SYSTEM AND METHOD WITH AUTOMATICALLY RESIZED EMULATED TAPE CAPACITY

Overland Storage, Inc., ...

1. A data storage system comprising:one or more disk drives having storage space;
a tape drive emulator configured to receive data for storage on said one or more disk drives using tape format data storage commands and tape storage data formats; and
a storage controller configured to allocate a portion of the storage space on said one or more disk drives to a tape storage volume that receives data via said tape drive emulator, wherein said storage controller is further configured to decrease an amount of storage space allocated to said tape storage volume during execution of a write command to overwrite a logical block address proximate to a first block of data.

US Pat. No. 10,168,961

HARDWARE TRANSACTION TRANSIENT CONFLICT RESOLUTION

International Business Ma...

1. A method comprising:initiating a hardware transaction that accesses a memory location, wherein the hardware transaction includes a transaction begin indicator and a transaction end indicator;
detecting a conflicting access, wherein the conflicting access is an intervening store to the memory location in a near-end transaction processing mode;
aborting the hardware transaction; and
reinitiating the hardware transaction, wherein reinitiating the hardware transaction occurs only in response to determining that the conflicting access of the memory location is a transient condition.

US Pat. No. 10,168,960

REDUCING PAGE INVALIDATION BROADCASTS IN VIRTUAL STORAGE MANAGEMENT

INTERNATIONAL BUSINESS MA...

1. A system comprising:a memory;
a plurality of processors; and
a storage manager configured to, in response to receiving a request to deallocate a memory buffer, initiating an invalidation of a virtual memory page corresponding to the memory buffer, the invalidation comprising a broadcast to each of the processors to remove an association between the virtual memory page and a corresponding physical memory location, wherein the storage manager is configured to delay the invalidation in response to a size of the memory buffer being smaller than a predetermined buffer threshold.

US Pat. No. 10,168,959

METADATA-BASED BYPASSING IN A CONTROLLER

INTERNATIONAL BUSINESS MA...

1. A method, comprising operations of a processor in a storage controller in a storage system of a computing system having a host and the storage system, the processor operations comprising:receiving by the storage controller of the storage system, a command to perform data processing of data stored within a first storage unit controlled by the storage controller; and
in response to the data processing command:
reading metadata from a storage unit data structure for the first storage unit storing data in data units of the first storage unit;
based upon read metadata, classifying data units of the first storage unit as one of data containing data units and empty data units;
data processing data of at least a portion of the data units classified as data containing data units of the first storage unit; and
bypassing data processing of data units classified as empty data units of the first storage unit.

US Pat. No. 10,168,958

INFORMATION PROCESSING SYSTEM, METHOD IN INFORMATION PROCESSING SYSTEM, AND STORAGE MEDIUM

Canon Kabushiki Kaisha, ...

1. An information processing system that performs data communication between a host and a device in conformity with a SATA standard, whereinthe host transmits a setup command to which information on an undefined command is written to the device, and
the device:
has a command table for commands in conformity with the SATA standard, in which a command code to identify each command and information on a transfer protocol of each command are described; and
makes the undefined command available between the host and the device by writing information on the undefined command to the command table in accordance with the received setup command.

US Pat. No. 10,168,957

DIRECTED PLACEMAT OF DATA IN MEMORY

Imagination Technologies ...

1. A computer-implemented method of storing computer executable instructions and data elements of a program in a memory of an embedded system, the memory being divided into a plurality of memory blocks, the method comprising:receiving object code comprising instructions that symbolically refer to one or more data elements;
receiving metadata that identifies the data elements in the object code;
receiving a data element description that identifies each of the data elements as either a regular data element or a non-regular data element;
generating, based on the object code, the metadata and the data element description, executable code that comprises computer executable instructions that refer to the one or more data elements using an address in the memory of the embedded system, wherein the regular data elements are referenced by an address in a non-instruction memory block of the plurality of memory blocks and the non-regular data elements are referenced by an address in an instruction memory block of the plurality of memory blocks; and
loading the executable code into the memory of the embedded system.

US Pat. No. 10,168,956

CORRECTING OVERLAPPING DATA SETS IN A VOLUME

INTERNATIONAL BUSINESS MA...

1. A computer program product for managing data sets assigned tracks in a storage, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:determining whether a track assigned to a data set in a volume is indicated as assigned to another data set;
determining data sets to which the track is assigned in response to determining that the track assigned to the data set is assigned to another data set;
indicating in an overlap table the determined data sets as assigned to the track assigned to the data sets; and
reconstructing the volume such that the track is assigned to only one of the data sets indicated in the overlap table for the track.

US Pat. No. 10,168,955

INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD FOR CONTROLLED EXECUTION OF STORING AND READING OPERATIONS

Sony Corporation, Tokyo ...

1. An information processing device, comprising:a control unit configured to:
control execution of a storing operation corresponding to storage of first information on a first recording medium of a plurality of recording media drives,
wherein the first information corresponds to a first job of a plurality of jobs, and
wherein the first job is of a first job type corresponding to the storing operation;
control execution of a reading operation to read second information from a second recording medium of the plurality of recording media drives,
wherein the second information is stored on the second recording medium,
wherein the second information corresponds to a second job of the plurality of jobs, and
wherein the second job is of a second job type corresponding to the reading operation;
divide the plurality of the jobs into a first group that performs storage of the first information and a second group that performs retrieval of the second information;
set a first execution sequence of the plurality of jobs based on the first group and the second group;
combine a plurality of first jobs corresponding to the reading operation, wherein at least one of a first transmission source or a first transmission destination of the first information is same for the plurality of first jobs;
execute one of the storing operation or the reading operation based on the set first execution sequence for the plurality of jobs, wherein the one of the storing operation or the reading operation is executed for an execution time period; and
prepare, within the execution time period, a third recording medium of the plurality of recording media drives, based on the execution of the one of the storing operation or the reading operation,
wherein the third recording medium is associated with a third job subsequent to one of the executed first job or the executed second job in the first execution sequence.

US Pat. No. 10,168,954

SYSTEM AND METHOD OF INTERFACING CO-PROCESSORS AND INPUT/OUTPUT DEVICES VIA A MAIN MEMORY SYSTEM

Rambus Inc., Sunnyvale, ...

1. A co-processing or input/output (CPIO) module with a load-reduction dual in-line memory module (LRDIMM) interface, the CPIO module comprising:a CPIO device;
a variable timing control circuit; and
a load-reduction dual in-line memory module (LRDIMM) interface configured to interface with a memory bus, the LRDIMM interface comprising data buffers to bridge data between the variable timing control circuit and the memory bus,
wherein the variable timing control circuit is operatively coupled between the LRDIMM interface and the GPIO device, and is configured to provide variable timing control to signaling between the variable timing control circuit and the LRDIMM interface.

US Pat. No. 10,168,953

DYNAMIC SCHEDULING OF DISTRIBUTED STORAGE MANAGEMENT TASKS USING PREDICTED SYSTEM CHARACTERISTICS

Nutanix, Inc., San Jose,...

1. A method for scheduling storage management tasks over predicted user tasks in a distributed storage system, the method comprising:receiving a set of historical stimulus records, comprising system task data records that characterize one or more system tasks that have been executed on the distributed storage system that comprises at least a first node and a second node, wherein the distributed storage system comprising a plurality of storage devices of a cluster, wherein any node distributed across the cluster of nodes that has a controller virtual machine utilizes its respective controller virtual machine to read and write to content on the plurality of storage devices in a storage pool;
receiving, a set of historical response records comprising one or more system metrics associated with execution of the system tasks on the first node of the distributed storage system of the cluster, wherein a user task executed at the first node is observable at different nodes within the cluster, the one or more system metrics comprising a first portion that corresponds to measured metrics at the first node and a second portion that corresponds to results measured at a second node that are produced by executing the user task on the first node:
generating a prediction model for the distributed storage system of the cluster based on a learning model formed from at least two stimulus records of the set of historical stimulus records and at least two response records of the set of historical response records; generating a set of forecasted user tasks predicted to be executed on the distributed storage system of cluster;
applying the set of forecasted user tasks as new stimulus records to the prediction model to determine a set of forecasted system metrics for the distributed storage system of cluster, the set of forecasted system metrics being predicted to result from running the set of forecasted user tasks on the distributed storage system of cluster the distributed storage system of cluster; and
selecting one or more distributed storage management tasks to be scheduled for execution on certain nodes of the distributed storage system of cluster based at least in part on a comparison between management task parameters and the set of forecasted system metrics, wherein the certain nodes of the distributed storage system are identified as being relevant to the one or more distributed storage management tasks.

US Pat. No. 10,168,952

MEMORY SYSTEM AND OPERATING METHOD THEREOF USING SEGMENT LISTS

SK Hynix Inc., Gyeonggi-...

1. A memory system comprising:a memory device comprising a plurality of memory blocks including at least one first memory block for storing a data and at least one second memory block for storing a map data including a first map data and a second map data, wherein the first map data and the second map data have an inverse relation to each other; and
a controller comprising at least one controller memory, the controller for storing plural write data corresponding to a write command received from the host into the first memory block and updating the second map data corresponding to each of the plural write data,
wherein the controller is configured to:
generate a segment list by grouping second segments of the plural write data based on first segments of the plural write data;
store the segment list in the controller memory; and
update the first map data by checking the segment list.

US Pat. No. 10,168,951

METHODS FOR ACCESSING DATA IN A CIRCULAR BLOCK MODE AND APPARATUSES USING THE SAME

SILICON MOTION, INC., Jh...

1. A method for accessing data in a circular block mode, performed by a processing unit, comprising:obtaining a write command, an LBA (Logical Block Address) and first data through a first access interface;
calculating a logical block number and a logical page number according to the LBA;
reading a record associated with the logical block number from a storage mapping table, wherein the record comprises a first physical block number and a circular index;
calculating an actual page number according to the logical page number and the circular index;
determining whether the first data can be stored in a first region associated with the first physical block number and the actual page number;
when the first data cannot be stored in the first region associated with the first physical block number and the actual page number, obtaining a second physical block number through a second access interface; and
when the first data cannot be stored in the first region associated with the first physical block number and the actual page number, issuing a program instruction to a storage unit through the second access interface to program the first data into a second region from page 0 of a block associated with the second physical block number;
when the first data cannot be stored in the first region associated with the first physical block number and the actual page number, issuing a move instruction to the storage unit through the second access interface to move second data associated with the first physical block number to a third region associated with the second physical block number, wherein the third region follows the second region.

US Pat. No. 10,168,950

COORDINATION OF CONNECTION INITIATION SCHEDULING IN A DISTRIBUTED STORAGE NETWORK (DSN)

INTERNATIONAL BUSINESS MA...

8. A processing system configured to implement a coordination unit for use in a distributed storage network (DSN) including a plurality of distributed computing systems, the coordination unit comprising:at least one computing core and associated memory configured to implement a scheduling module coupled to the plurality of distributed computing systems included in the DSN, wherein the DSN spans a plurality of time zones;
the scheduling module configured to:
identify a number of the distributed computing systems operating in each of the plurality of time zones;
for each distributed computing system operating in a particular time zone, select a connection time based, at least in part, on the number of distributed computing systems operating in the particular time zone, wherein a connection time selected for a particular distributed computing system specifies a recurring time period to be used by the particular distributed computing system for initiating a connection with the coordination unit; and
issue scheduling messages to the plurality of distributed computing systems, wherein the scheduling messages include information specifying connection times for particular distributed computing systems.

US Pat. No. 10,168,949

ENVOY FOR MULTI-TENANT COMPUTE INFRASTRUCTURE

Rubrik, Inc., Palo Alto,...

1. A method for pulling a snapshot of data for a virtual machine of a tenant executing on a multi-tenant compute infrastructure, the method comprising:establishing a connection between an envoy of the tenant and a data management and storage (DMS) cluster including peer DMS nodes, the envoy being connected with the virtual machine via a virtual tenant network of the multi-tenant compute infrastructure, the envoy providing the DMS cluster access to the virtual machine via the virtual tenant network;
generating the snapshot of the virtual machine; and
sending the snapshot from the virtual machine to a peer DMS node via the envoy; wherein:
the envoy is a second virtual machine of the tenant executing on the multi-tenant compute infrastructure;
the multi-tenant compute infrastructure restricts access by the DMS cluster to an infrastructure network connecting physical machines including a physical machine that executes the virtual machine;
the infrastructure network and the virtual tenant network use different network layers and share a physical layer;
the multi-tenant compute infrastructure restricts access by the DMS cluster to a second virtual tenant network of a second tenant of the multi-tenant compute infrastructure; and
the virtual tenant network and the second virtual tenant network use different network layers and share the physical layer.

US Pat. No. 10,168,948

REPLICATING DATA IN A DATA STORAGE SYSTEM

International Business Ma...

1. A computer-implemented method for replicating data in a data storage system, wherein the data storage system comprises:a first data storage device comprising a set of data regions;
a first host device in communication with the first data storage device;
a second data storage device comprising a set of data regions corresponding to the set of data regions of the first data storage device;
a second host device in communication with the second data storage device; and
a third data storage device comprising a set of data regions corresponding to the set of data regions of the first data storage device and the set of data regions of the second data storage device, the third storage device being arranged to receive write requests from only the first data storage device and second data storage device;
wherein the method comprises:
selecting one of the first data storage device and the second data storage device using a characteristic of the first data storage device and the second data storage device;
receiving, in the first data storage device, a first write request from the first host device to update a first subset of the data regions of the first data storage device, and sending, from the first data storage device, the first write request to the second data storage device;
receiving, in the second data storage device, a second write request from the second host device to update a second subset of the data regions of the second data storage device, and sending, from the second data storage device, the second write request to the first data storage device;
either:
in the case that the first data storage device is selected using the characteristic and in response to a notification from the second data storage device that the second data storage device has been updated in accordance with the first write request, sending, from the first data storage device, a write request based on the first write request and the second write request to the third data storage device; or
in the case that the second data storage device is selected using the characteristic and in response to a notification from the first data storage device that the first data storage device has been updated in accordance with the second write request, sending, from the second data storage device, a write request based on the first write request and the second write request to the third data storage device;
storing details indicative of received write request in the data storage device not selected using the characteristic; and
in response to a notification from the data storage device selected using the characteristic that the third data storage device has been updated in accordance with a write request, deleting storing details indicative of the write request from the data storage device not selected using the characteristic.

US Pat. No. 10,168,946

EXTENT MIGRATION IN MULTI-TIER STORAGE SYSTEMS

International Business Ma...

1. A computer-implemented method for migrating data in a tiered storage system to improve system performance, the method comprising:recording, by the computer, I/O activity of one or more subunits of one or more storage units of one or more storage devices of the tiered storage system;
for one or more storage units:
calculating, by the computer, from the recorded I/O activity, a mean heat value over the one or more subunits of a storage unit; and
calculating, by the computer, from the recorded I/O activity, a spike heat indicator;
identifying, by the computer, two or more storage units in a tier with respective mean heat values that differ at most by a predefined threshold; and
migrating, by the computer, to another tier, the storage unit of the two or more storage units that has a greater spike heat indicator.

US Pat. No. 10,168,944

INFORMATION PROCESSING APPARATUS AND METHOD EXECUTED BY AN INFORMATION PROCESSING APPARATUS

FUJITSU LIMITED, Kawasak...

1. An information processing apparatus configured to control moving of data stored in a first storage region selected from a plurality of storage regions of a first storage device to a second storage device, the apparatus comprising:a memory; and
a processor coupled to the memory and configured to:
obtain logs of accesses to the plurality of storage regions respectively,
specify, from the plurality of storage regions based on the logs of the accesses, an access concentration region in which a number of the accesses per a certain time unit is equal to or greater than a first number,
specify, based on the logs of the accesses, a transition speed of the access concentration region when the access concentration region is transited between the plurality of storage regions,
specify, based on the logs of the accesses, a first time period in which the number of the accesses to a certain storage region of a plurality of storage regions changes from a second number less than the first number to the first number,
predict, based on the transition speed and the first time period, that the number of accesses to the first storage region becomes equal to or greater than the first number at a first time, and
move data stored in the first storage region to the second storage device at a certain time which is determined based on the first time.

US Pat. No. 10,168,943

DETERMINING CORRECT DEVICES TO USE IN A MASS VOLUME MIGRATION ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A computer program product for determining which devices to use in a mass volume migration environment, said computer program product comprising:a computer readable storage medium having stored thereon program instructions executable by a processor to cause the processor to:
read an I/O configuration definition for a plurality of devices in the mass volume migration environment, wherein the plurality of devices comprise a first set of the plurality of devices;
define a second set of the plurality of devices, wherein each device of the first set is associated with a corresponding device in the second set;
execute a migration from the first set to the second set;
annotate the first set of devices and the second set of devices with status identifiers;
responsive to completing a migration of a device in the first set to the associated corresponding device in the second set, update annotations of the migrated device in the first set and the corresponding device in the second set and swap the migrated device in the first set with the corresponding device in the second set;
continue the migration of the devices of the first set of devices to the second set of devices, wherein the first set of devices is associated with a first subchannel set of devices and the second set of devices is associated with a second subchannel set of devices;
wherein updating the annotations comprises switching a status identifier of a device of the first subchannel set with a status identifier of an associated device of the second subchannel set;
set an indicator, wherein the indicator instructs an operating system to read the annotation;
select at least one of the first subchannel set of devices and second subchannel set of devices for use upon initialization;
read, responsive to the indicator, the annotation of the selected subchannel set of devices;
determine the status identifier of each device of the selected subchannel set of devices;
identify devices of the first subchannel set and the second subchannel set to bring online responsive to a subsequent initialization based on the status identifiers of the first subchannel set and the second subchannel set; and
continue the migration of devices in the first subchannel set of devices to the second subchannel set of devices.

US Pat. No. 10,168,941

HISTORICAL STATE SNAPSHOT CONSTRUCTION OVER TEMPORALLY EVOLVING DATA

International Business Ma...

1. A computer-implemented method, comprising:classifying each of multiple temporally evolving data entities into one of multiple categories based on one or more parameters, wherein the one or more parameters comprise the average lifespan of each of the multiple temporally evolving data entities;
partitioning the multiple temporally evolving data entities into multiple partitions based at least on (i) said classifying and (ii) the update frequency of each of the multiple temporally evolving data entities;
implementing multiple checkpoints at a distinct temporal interval for each of the multiple partitions; and
creating a snapshot of the multiple temporally evolving data entities at a selected past point of time (i) based on said implementing and (ii) in response to a query pertaining to a historical state of one or more of the multiple temporally evolving data entities;
wherein the steps are carried out by at least one computing device.

US Pat. No. 10,168,940

DATA STORAGE USING SLC AND TLC MEMORY BANKS AND DATA MAINTENANCE METHOD THEREOF

SILICON MOTION, INC., Jh...

1. A data storage device, comprising:a flash memory, having a plurality of single level cell (SLC)-spare blocks, a plurality of SLC-data blocks, a plurality of triple level cell (TLC)-spare blocks and a plurality of TLC-data blocks; and
a controller, writing data into the SLC-spare blocks in response to a write command arranged to write the data into the flash memory, wherein when a first predetermined condition is satisfied, the controller selects a plurality of first TLC-data blocks with the least amount of valid data from the TLC-data blocks, writes valid data stored in the first TLC-data blocks into at least one first TLC-spare block, and releases the first TLC-data blocks to increase a number of TLC-spare blocks by one,
wherein when the first predetermined condition is satisfied, the controller further writes a first part of the data into a first SLC-spare block of the SLC-spare blocks before selecting the first TLC-data blocks,
wherein when the first predetermined condition is satisfied, the controller further maps at least one logical address of the data to the written first SLC-spare block and defines the written first SLC-spare block mapped to the logical address as the SLC-data block after releasing the first TLC-data blocks.

US Pat. No. 10,168,939

READING RECORDS FROM A TAPE MEDIUM

International Business Ma...

1. A method comprising:receiving, by a tape drive, a first record;
storing the first record on a first tape in the tape drive in an uncompressed format;
receiving a command from a requestor to read the first record stored on the first tape by the tape drive,
wherein the tape drive has a capability to compress and decompress data;
reading the first record from the first tape by the tape drive, wherein the first tape includes a first plurality of compressed records and a second plurality of uncompressed records;
determining, by the tape drive, subsequent to the reading of the first record that the first record is not compressed;
generating a compressed first record by compressing the first record by the tape drive when it is determined that the first record is not compressed;
determining that the first record is encrypted;
transferring the first record, in a compressed format, to a programmable logic circuit for decryption before transmitting to the first record to the requestor; and
transmitting the compressed first record by the tape drive to the requestor.

US Pat. No. 10,168,938

LDPC DECODER DESIGN TO SIGNIFICANTLY INCREASE THROUGHPUT IN ASIC BY UTILIZING PSEUDO TWO PORT MEMORY STRUCTURE

HUGHES NETWORK SYSTEMS, L...

1. A method comprising:generating an access table for mapping a single port memory device to a pseudo two port memory device including a single port even bank and a single port odd bank;
sequentially retrieving entries from the access table;
reading from addresses in the single port memory device corresponding to n entries of the retrieved entries, where n corresponds to pipeline delay measured in CPU clock cycles;
conducting simultaneous operations for reading from addresses in the single port memory device corresponding to remaining entries from the access table and for writing to addresses in the single port memory device corresponding to entries from the access table, starting from the first retrieved entry and delayed by n clock cycles, until all addresses in the single port memory device corresponding to the retrieved entries have been read; and
writing to addresses in the single port memory device corresponding to any remaining entries from the access table.

US Pat. No. 10,168,937

STORAGE SPACE ALLOCATION

Hewlett Packard Enterpris...

1. An apparatus comprising:a non-transitory computer-readable storage medium comprising instructions; and
a controller, wherein the instructions are executable by the controller to:
receive an allocation request from a host computing device;
reserve a portion of storage space in a storage device via a reservation table based on the allocation request;
determine a type of the allocation request, among types including a space-optimized allocation request and a non-space-optimized allocation request;
in response to a determination that the type of the allocation request corresponds to the non-space-optimized allocation request, commit the portion of storage space via an allocation table; and
in response to a determination that the type of the allocation request corresponds to the space-optimized allocation request, release the portion of storage space via the reservation table.

US Pat. No. 10,168,936

MEMORY SYSTEM POWER MANAGEMENT

INTERNATIONAL BUSINESS MA...

1. A method of power management in a memory of a computer system, the method comprising:receiving a memory allocation request for a logical partition;
enabling partition mirroring for the logical partition;
allocating unscrubbed memory to both a first and a second copy of the logical partition, the second copy of the logical partition mirroring the first copy of the logical partition;
initiating scrubbing of the first and second copy of the logical partition; and
subsequent to initiating the scrubbing:
selecting one of the first and second copy of the logical partition, wherein prior to the selecting, the scrubbing is performed until a number of errors detected in at least one of the first copy of the logical partition and the second copy of the logical partition is less than a threshold number of errors;
disabling partition mirroring for the logical partition;
deallocating the first copy of the logical partition based on selecting the second copy of the logical partition; and
deallocating the second copy of the logical partition based on selecting the first copy of the logical partition.

US Pat. No. 10,168,935

MAINTAINING ACCESS TIMES IN STORAGE SYSTEMS EMPLOYING POWER SAVING TECHNIQUES

International Business Ma...

1. A storage management apparatus for maintaining access times in a data processing system, wherein the data processing system comprises a plurality of storage devices, the apparatus comprising:an evaluate component, responsive to receiving a read or write command, for evaluating a plurality of first relationships between the plurality of storage devices and a plurality of first values, wherein each of the first values indicates whether a related storage device is a redundant storage device;
a send component for sending a power message to one or more of the plurality of storage devices, in response to the evaluate component determining that one or more of the plurality of storage devices is a redundant storage device; and
an update component, in response to receiving an availability message, the availability message indicating whether the redundant storage device is available, for updating a second relationship between the redundant storage device and a plurality of second values, wherein each of the second values indicates whether a related redundant storage device is available,
wherein, when the command comprises the read command, the evaluate component, in response to the read command, evaluates a plurality of the second values associated with the plurality of storage devices, and wherein the apparatus further comprises:
a read component, in response to the evaluate component determining that one or more of the plurality of storage devices is not available, for reading data from the plurality of storage devices; and
a reconstruct component for reconstructing data from the plurality of storage devices,orwherein, when the command comprises the write command, the evaluate component, in response to the write command, determines a plurality of the second values associated with the plurality of storage devices, and wherein the apparatus further comprises a write component, in response to the evaluate component determining that one or more of the plurality of storage devices is not available, for writing data to the plurality of storage devices.

US Pat. No. 10,168,934

METHOD AND DEVICE FOR MONITORING DATA INTEGRITY IN SHARED MEMORY ENVIRONMENT

Samsung Electronics Co., ...

1. A method of memory access for a memory controller in an integrity monitoring system sharing memory with a host system, the method comprising:receiving, from at least one of a local processor of the integrity monitoring system and a system processor of the host system, a memory access command;
accessing a system memory of the host system based on the memory access command; and
receiving, from the system memory of the host system, data corresponding to the memory access command,
wherein the system memory of the host system includes a secure area, access to which is allowed if the memory access command initiated at the local processor is received, and
wherein, if an access request corresponding to an address of the secure area is received via a system bus, the access request is identified as an unauthorized access and information for the unauthorized access identified by the local processor is transmitted to the system processor.

US Pat. No. 10,168,933

MAINTENANCE OPERATIONS IN A DRAM

RAMBUS INC., Sunnyvale, ...

1. A method of operation in a memory controller that controls the operation of a memory device, the memory device including a command interface and a plurality of memory banks, the method comprising:the memory controller transmitting a refresh command to the command interface of the memory device, wherein the refresh command specifies a refresh operation, the refresh operation to occur during a time interval;
along with the refresh command, the memory controller transmitting a plurality of bits to identify at least one bank as a first bank of the plurality of banks to be refreshed in a sequence in response to the refresh command; and
the memory controller transmitting an operation code to the memory device, the operation code specifying a calibration operation of the command interface, wherein the memory device is to perform the calibration operation of the command interface during at least a portion of the time interval.

US Pat. No. 10,168,932

COLLISION DETECTION AT MULTI-NODE STORAGE SITES

International Business Ma...

1. A computer-implemented method for resolving write conflicts within a multi-node data storage system, wherein the multi-node data storage system comprises:a first data storage device comprising a first set of data regions, wherein a first owner node and a first backup node process input and output to the first set of data regions; and
a second data storage device comprising a second set of data regions corresponding to the first set of data regions of the first data storage device, and wherein a second owner node and a second backup node process input and output to the second set of data regions, and wherein the first data storage device is selected to override in write collisions with the second data storage device;
and wherein the method comprises:
the first backup node receiving a first write request from a host device to update the first set of data regions;
the first backup node requesting a data transfer from the host device corresponding to the first write request;
the first backup node sending a lock request message to the first owner node requesting a lock on the first set of data regions;
based on receiving the lock request message, the first owner node locking the first set of data regions and sending a lock confirmed message to the first backup node;
the first backup node applying the first write request to the first set of data regions;
the first backup node sending data corresponding to the first write request to the first owner node;
the first owner node sending data corresponding to the first write request and metadata corresponding to the first write request to the second owner node of the second data storage device;
prior to the first backup node receiving a completion message from the second owner node indicating that the second data storage device has been updated in accordance with the first write request, the first backup node receiving a second write request from the second owner node to update the first set of data regions;
the first backup node sending a first completion message to the second owner node indicating that the first set of data regions has been updated in accordance with the first write request, causing the second owner node to update the second set of data regions in accordance with the first write request and to send a second completion message to the first owner node indicating that the second data storage device has been updated in accordance with the first write request; and
the first owner node unlocking the first set of data regions and sending a message to the first backup node to complete the first write request to the host device.

US Pat. No. 10,168,931

SCALABLE AUXILIARY COPY PROCESSING IN A DATA STORAGE MANAGEMENT SYSTEM USING MEDIA AGENT RESOURCES

Commvault Systems, Inc., ...

1. A non-transitory computer-readable medium storing instructions that, when executed by a computing device that comprises one or more processors and computer memory, cause the computing device to perform operations comprising:causing a first media agent component of a data storage management system, to coordinate a first auxiliary-copy job from a source to a destination in the data storage management system,
wherein the source comprises a first copy of data generated in the data storage management system, and
wherein the destination stores a second copy of the first copy, wherein the second copy is generated during the first auxiliary-copy job;
receiving, from the first media agent, reservation requests for data streams needed for the first auxiliary-copy job;
reserving, according to the reservation requests, the data streams for transferring data in the first auxiliary-copy job;
providing to the first media agent information about components involved in the reserved data streams, to enable the first media agent to determine a second media agent suitable for executing the first auxiliary-copy job; and
providing job-specific metadata about the first auxiliary-copy job to the second media agent for executing the first auxiliary-copy job.

US Pat. No. 10,168,930

SCALABLE AUXILIARY COPY PROCESSING USING MEDIA AGENT RESOURCES

Commvault Systems, Inc., ...

1. A method for using a media agent to offload a storage manager that manages a data storage management system, the method comprising:coordinating, by a first media agent, execution of one or more auxiliary-copy jobs in the data storage management system,
wherein each auxiliary-copy job comprises generating a second copy of a first copy of data generated in the data storage management system;
requesting, by the first media agent, that the storage manager reserve one or more data streams for a first auxiliary-copy job;
assigning execution of the first auxiliary-copy job, by the first media agent to a second media agent in the data storage management system,
based at least in part on the one or more data streams reserved for the first auxiliary-copy job by the storage manager;
after the assigning, fetching by the second media agent from the storage manager metadata for the first auxiliary-copy job;
executing the first auxiliary-copy job by the second media agent, based on the metadata fetched from the storage manager, and using the one or more reserved data streams; and
wherein the coordinating of the execution of the one or more auxiliary-copy jobs in the data storage management system is performed by the first media agent instead of the storage manager.

US Pat. No. 10,168,929

BROWSE AND RESTORE FOR BLOCK-LEVEL BACKUPS

Commvault Systems, Inc., ...

1. A system for browsing and restoring data contained in a block-level data volume, the system comprising:at least one processor;
at least one data storage device coupled to the at least one processor and storing instructions for implementing a process to restore data contained in a block-level data volume, wherein the process comprises:
receiving a request to perform a file-level restore of the block-level data volume;
mounting, via a pseudo mount component, a virtual disk to the block-level data volume; and
restoring, via a restore component, data from one or more files within the block-level data volume via one or more mount paths provided by the virtual disk.

US Pat. No. 10,168,928

MANAGING DATA STORAGE BY AN ASYNCHRONOUS COPY SERVICE

International Business Ma...

1. A method for managing data replicated by an asynchronous copy service, the method comprising:identifying, by one or more computer processors, a set of information associated with an element of data stored in an I/O queue;
modifying, by one or more computer processors, an order to transmit elements of data in the I/O queue based, at least in part, on the identified set of information associated with the element of data in the I/O queue; and
transmitting, by one or more computer processors, one or more elements of data in the I/O queue, to a secondary storage location that is network accessible, based at least in part on the order to transmit elements of data in the I/O queue, wherein transmitting one or more elements of data within the I/O queue, to the secondary storage location that is network accessible based, at least in part, on the order to transmit elements of data in the I/O queue further comprises:
transmitting, by one or more computer processors, a copy of the one or more elements in the I/O queue to the secondary storage location that is network accessible based on the order to transmit elements of data in the I/O queue, wherein transmitting to the secondary storage location is controlled by an asynchronous copy service;
receiving, by one or more computer processors, from the secondary storage location, a write acknowledgement message in response to transmitting a copy of an element of data of the one or more elements of data in the I/O queue to the secondary storage location; and
in response to receiving the write acknowledgement message corresponding to the transmitted copy of the element of data to the secondary storage location, removing, by one or more processors, from the I/O queue, an element of data corresponding to the received write acknowledgement message.

US Pat. No. 10,168,927

DATA MIRRORING FOR NETWORK ATTACHED STORAGE

International Business Ma...

1. A method for data mirroring for network attached storage, the method comprising:receiving, by one or more processors at a second networked attached storage (NAS) server, a queue of updated data files from a first NAS server, wherein the received queue of updated data files contains elements updated at the first NAS server since a prior synchronization;
writing, by one or more processors at the second NAS server, the updated data files and updated metadata information from the first NAS server to the second NAS server; and
translating, by one or more processors at the second NAS server, permission entries of the transmitted data files from the first NAS server using an identity mapping database file of the first NAS server and an identify mapping database file of the second NAS server, such that the permission entries reflect a local ID mapping database on the second NAS server, wherein the translating comprises:
accessing, by one or more processors at the second NAS server, both a local and a remote copy of the first NAS server's identity mapping database file;
determining, by one or more processors at the second NAS server, a user identity of a data file using the local and the remote copy of the first NAS server's identity mapping database file; and
restoring, by one or more processors at the second NAS server, access control list and owner information and permissions of the data file to match an internal user identity of the second NAS server, using the identity mapping database file of the second NAS server.

US Pat. No. 10,168,925

GENERATING POINT-IN-TIME COPY COMMANDS FOR EXTENTS OF DATA

INTERNATIONAL BUSINESS MA...

1. A computer program product for generating a point-in-time copy of data at a source storage to a target storage, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause operations, the operations comprising:generating an establish point-in-time copy command including at least one range of extents in at least one volume in the source storage and a point-in-time copy identifier, wherein the at least one range of extents comprises less than all extents included in the at least one volume; and
transmitting the establish point-in-time copy command to a point-in-time copy manager to cause the point-in-time copy manager to create a point-in-time copy identified by the point-in-time copy identifier in the establish point-in-time copy command and for the at least one range of extents, to generate change recording information only indicating the at least one range of extents indicated in the point-in-time copy establish command, to copy data in the source storage in the at least one range of extents to be updated as changed data to the target storage, and to indicate, in the change recording information, the data in the at least one range of extents that has been updated.

US Pat. No. 10,168,924

SECONDARY STORAGE EDITOR

Commvault Systems, Inc., ...

1. A method for editing indexing information associated with backup data in an information management system, the method comprising:receiving a textual pattern by a secondary storage editor implemented on a computing device comprising one or more hardware processors;
searching for the textual pattern in an index, by a media agent component of the information management system,
wherein the index comprises information created during one or more backup operations,
wherein a given backup operation created backup data stored in secondary storage, and
wherein the media agent is implemented on a computing device comprising one or more hardware processors;
identifying, by the media agent, one or more files in the backup data that are represented in the index and match the textual pattern;
deleting from the index, by the media agent, entries corresponding to the one or more identified files without causing the one or more files to be physically deleted from the backup data in the secondary storage,
thereby logically deleting the one or more files from the secondary storage; and
after the logically deleting and when criteria for physical deletion of the one or more files from the secondary storage are met, causing by the media agent the one or more files to be physically deleted from the backup data in the secondary storage.

US Pat. No. 10,168,923

COHERENCY MANAGEMENT FOR VOLATILE AND NON-VOLATILE MEMORY IN A THROUGH-SILICON VIA (TSV) MODULE

INTERNATIONAL BUSINESS MA...

1. A method of coherency management between a volatile memory and a non-volatile memory in a through-silicon via (TSV) module of a computer system, the method comprising:simultaneously providing a plurality of TSV write signals on a command and address bus from a memory controller to the volatile memory and the non-volatile memory, wherein the memory controller is operably coupled to the volatile memory by a host data path;
capturing a plurality of values of the TSV write signals within a write address buffer of the non-volatile memory corresponding to a first data set written to the volatile memory, wherein the plurality of values of the TSV write signals comprise write addresses;
copying a second data set from the volatile memory to a data buffer of the non-volatile memory during a refresh cycle that refreshes the second data set in the volatile memory, wherein the copying comprises a data transfer across a TSV data path operably coupled between the volatile memory and the non-volatile memory;
comparing addresses of the second data set copied into the data buffer with the write addresses in the write address buffer corresponding to the first data set; and
removing one or more of the write addresses from the write address buffer based on writing one or more corresponding data values of the second data set from the data buffer to a non-volatile memory array within the non-volatile memory.

US Pat. No. 10,168,922

VOLATILE AND NON-VOLATILE MEMORY IN A TSV MODULE

INTERNATIONAL BUSINESS MA...

1. A method of data backup management between a volatile memory and a non-volatile memory in a through-silicon via module of a computer system, the method comprising:copying data from the volatile memory to the non-volatile memory during a refresh cycle that refreshes the data in the volatile memory by transferring the data through one or more through-silicon vias within the volatile memory to one or more through-silicon vias within the non-volatile memory, wherein the one or more through-silicon vias within the volatile memory are connected to the one or more through-silicon vias within the non-volatile memory by one or more interconnects that are external to the volatile memory and the non-volatile memory;
buffering the data in a buffer comprising a temporary storage area within the non-volatile memory during the copying;
comparing the data in the buffer to one or more non-volatile memory cells prior to writing the data to the one or more non-volatile memory cells; and
writing the data to the one or more non-volatile memory cells within the non-volatile memory prior to a next refresh cycle of the volatile memory based on detecting a difference between the one or more non-volatile memory cells and the data in the buffer.

US Pat. No. 10,168,921

SYSTEMS AND METHODS FOR STORING TIME-SERIES DATA

United Services Automobil...

1. A computer-implemented method comprising:receiving, by a volatile memory coupled to one or more server computers, a set of data from a first computer comprising a set of objects; storing, by the volatile memory based on an organization's policy, the set of data into a first set of memory locations of the volatile memory according to a first sort-order, wherein the first sort-order sorts the set of data according to an object type of each respective object in the set of objects;
in response to determining that a performance parameter satisfies a condition during a time period, storing, by a non-volatile memory coupled to the one or more server computers, the set of data into a second set of memory locations of the non-volatile memory according to a second sort-order, wherein a physical datastore comprises the volatile memory and the non-volatile memory, wherein the second sort-order sorts the set of data according to a timestamp of each respective object in the set of objects, wherein the storing the set of data into the non-volatile memory further comprises: updating, by a server coupled to the non-volatile memory, a memory location of existing data stored in the non-volatile memory upon storing the set of data into the second set of memory locations according to the second sort-order, and wherein the memory location of the existing data is updated to a third set of memory locations within the non-volatile memory in accordance with the second sort-order and the third set of memory locations is configured to be purged;
receiving, by the volatile memory coupled to the one or more server computers, a new set of data; and
upon receiving the new set of data, updating the set of data by:
sorting, by the one or more server computers, the new set of data according to object types of the new set of data and according to timestamps of the new set of data;
merging, by the one or more server computers, the sorted new set of data and the data within the second set of memory locations, thereby generating merged data being sorted according to object types and timestamps, wherein the merging the sorted new set of data is performed when processing resources are below a threshold value; and
updating, by the one or more server computers, indexes corresponding to memory locations of the merged data to reflect new locations of the merged data.

US Pat. No. 10,168,920

DUPLEXING FILE SYSTEM DATA

International Business Ma...

1. A method for duplicating data of a file system, the method comprising:receiving, by one or more processors, data records of a non-sequential file system in response to an input-output request of an application;
converting, by one or more processors, the data records of the non-sequential file system to a tape image, wherein the tape image assumes a format defined by a file system of a first storage device;
writing, by one or more processors, the tape image to the first storage device, wherein the tape image includes a sequence of data types including data records, file markers, and a marker of an end-of-data position of the tape image on the first storage device;
monitoring, by one or more processors, a position of an end-of-data data type marker within the sequence of data types of the first storage device, and a position of an end-of-data data type marker within a sequence of data types of a second storage device;
determining, by one or more processors, whether the position of the end-of-data data type marker within the sequence of data types of the first storage device differs from the position of the end-of-data data type marker within the sequence of data types of the second storage device; and
responsive to determining the position of the end-of-data data type marker within the sequence of data types of the first storage device does differ from the position of the end-of-data data type marker within the sequence of data types of the second storage device, copying, by one or more processors, to the second storage device, the data records from the first storage device, from a position on the first storage device that corresponds to the position of the end-of-data data type marker of the second storage device, to the position of the end-of-data data type marker of the first storage device.

US Pat. No. 10,168,918

RECYCLED VERSION NUMBER VALUES IN FLASH MEMORY

Micron Technology, Inc., ...

1. A method comprising:storing, performed by circuitry of a component that includes at least a memory device, in a first physical block of the memory device a first version number value associated with a first instance of a logical block of the memory device;
storing, performed by the circuitry of the component that includes at least the memory device, in a second physical block of the memory device a second version number value associated with a second instance of the logical block;
storing, performed by the circuitry of the component that includes at least the memory device, in a third physical block of the memory device the first version number value associated with a third instance of the logical block, wherein the third instance comprises an update of a logical sector of the first instance from the first physical block and a copy of a logical sector of the second instance from the second physical block, the update of the logical sector of the first instance forms a first portion of the third instance in the third physical block, and the copy of the logical sector of the second instance forms a second portion of the third instance in the third physical block; and
deleting, performed by the circuitry of the component that includes at least the memory device, at least one of the first and second instances after the first version number value is assigned to the third instance of the logical block.

US Pat. No. 10,168,917

HOTNESS BASED DATA STORAGE FOR FACILITATING GARBAGE COLLECTION

International Business Ma...

1. A method for operating a flash drive, comprising: determining expected hotness of target data to be stored in a flash drive according to a historical hotness of the target data and a recent hotness of the target data, the historical hotness indicating a historical update frequency of the target data in a previous period of time and the recent hotness indicating a recent update frequency of the target data in a recent period of time, wherein the recent period of time for the recent hotness is more recent than the previous period of time for the historical hotness, wherein the flash drive including includes a plurality of blocks, each of the plurality of blocks including a plurality of pages, and wherein hotness indicating indicates a data update frequency, wherein determining the expected hotness comprises: calculating a weighted average of the historical hotness and the recent hotness; searching the plurality of blocks for a matching block for storing the target data, the hotness of data being stored in the matching block matching the expected hotness of the target data, wherein the matching block is an active block, from the plurality of blocks, currently in use and with a highest hotness matching degree; selecting, in response to not finding the matching block, a free block from the plurality of blocks to store the target data to enable garbage collection in the flash drive, the free block being a block that has been reclaimed by a previous garbage collection, selecting the free block based on the expected hotness of the target data and a degree of wear of the free block, the degree of wear being determined based on the hotness of data previously stored in the free block; and storing the target data in the selected free block.

US Pat. No. 10,168,916

SYSTEM, METHOD AND A NON-TRANSITORY COMPUTER READABLE MEDIUM FOR REDUCTION OF CONSUMPTION OF STORAGE SYSTEM RESOURCES

INFINIDAT LTD., Herzliya...

1. A method, comprising:receiving, by a storage system from an application running on a host computer coupled to the storage system, a write request that comprises multiple input data units to be stored in the storage system in relation to a certain file that belongs to a certain file system;
comparing, by the storage system, the multiple input data units to stored data units of the certain file to find matching and non-matching input data units among the multiple data units; wherein each matching input data unit equals a corresponding stored data unit and each non-matching input data unit differs from a corresponding stored data unit;
preventing overwriting stored data units related to the matching input data units;
storing each non-matching input data unit;
updating at least one storage system management data structure to reflect a reception of non-matching input data units while not reflecting a reception of matching input data units;
monitoring write requests related to the certain file system;
determining that the certain file system exceeded a certain threshold of write requests to store matching input data units; and
sending an alert indicative of undesired requests, related to the certain file system, to store matching input data units.

US Pat. No. 10,168,915

WORKLOAD PERFORMANCE IN A MULTI-TIER STORAGE ENVIRONMENT

INTERNATIONAL BUSINESS MA...

1. A method for managing data stored in a tiered data storage system, by a processor device, comprising:upon submission of a workload to a queue of a workload manager, receiving a set of storage demands included in metadata associated with the workload by an optimization policy generator; wherein the set of storage demands include at least accessing existing data, creating new data, and a requirement of a predetermined number of Input/Output Operations per Second (IOPS); and wherein the workload manager provides aggregated requirements associated with the set of storage demands of the workload for restructuring the storage tier content to the optimization policy generator;
translating, by the optimization policy generator, the set of storage demands into data placement, migration, and deletion policies to be executed by the storage system;
preparing at least one of a plurality of storage tiers within the storage system for the workload in the queue by using current storage tier allocations and the data placement, migration, and deletion policies to restructure content in the storage tiers according to the set of storage demands prior to performing the workload; and
for aggregated requirements associated with creating the new data, computing the restructuring of the storage tier content by:
if an amount of the new data to be created is lower than a free space in a target tier:
performing no action; and
if the amount of the new data to be created is higher than the free space in the target tier:
determining an amount of space needing to be freed in the target tier, and
using a combination of a list of user identifications (IDs) requesting storage operations, and a most recent access time for the data placement, migration, and deletion policies to migrate any data owned by users excluded from the list of user IDs or data older than a predetermined age to another tier.

US Pat. No. 10,168,914

DATA BUFFER FOR MULTIPLE DIMM TOPOLOGY

CISCO TECHNOLOGY, INC., ...

1. A system comprising:a memory controller circuit element, and
a printed circuit board (PCB), the PCB comprising:
a memory module element; and
a data buffer circuit element in communication with the memory controller circuit element, and configured to transmit data between the memory controller circuit element and the memory module element.

US Pat. No. 10,168,913

DATA STORAGE DEVICE AND DATA MAINTENANCE METHOD THEREOF

SILICON MOTION, INC., Jh...

1. A data storage device, comprising:a flash memory, having a plurality of SLC (Single-Level Cell)-spare blocks, a plurality of TLC (Triple-Level Cell)-data blocks and a plurality of TLC-spare blocks; and
a controller, receiving a first data sector and a first logical address of the first data sector, writing the first data sector into a first TLC-spare block, and determining whether a first TLC-data block corresponding to the first logical address has valid data, wherein when the first TLC-data block has valid data, the controller further performs a reverse-lookup to obtain a second logical address corresponding to the first TLC-data block, deletes mapping relationships between the second logical address and the first TLC-data block, a second TLC-data block and a third TLC-data block which are mapped to the second logical address, and maps the first TLC-spare block to the first logical address.

US Pat. No. 10,168,912

SHORT STROKING AND DATA TIERING FOR A DISTRIBUTED FILESYSTEM

Panzura, Inc., Campbell,...

1. A computer-implemented method for optimizing caching performance for a distributed filesystem, the method comprising:collectively managing the data of the distributed filesystem using two or more cloud controllers, wherein collectively managing the data comprises storing the file data for the distributed filesystem in one or more cloud storage systems, wherein the cloud controllers cache and ensure data consistency for data stored in the cloud storage systems, wherein a cloud controller comprises a hard drive that caches distributed-filesystem data, wherein the hard drive comprises one or more rotating disk platters;
collectively presenting a unified namespace for the distributed filesystem to the clients of the distributed filesystem via the two or more cloud controllers, wherein the clients access the distributed filesystem via the cloud controllers, wherein the cloud controllers cache a subset of the file data from the cloud storage systems that is being actively accessed by each respective cloud controller's clients, wherein new file data received by each cloud controller from its clients is written to the one or more cloud storage systems;
maintaining at each cloud controller a copy of the metadata for the files stored in the distributed filesystem, wherein changes to the metadata for the distributed filesystem are communicated to the set of cloud controllers for the distributed filesystem to ensure that the clients of the distributed filesystem share a consistent view of the files in the distributed filesystem;
determining that a hot subset of cached data stored on the hard drive is likely to be accessed frequently by clients of the cloud controller;
determining that a cold subset of cached data stored on the hard drive is less likely to be accessed by clients of the cloud controller;
storing the hot subset of cached data on an outside portion of a disk platter of the hard drive; and
storing the cold subset of cached data on an inside portion of the disk platter;
wherein the outside portion of the disk platter has higher I/O bandwidth than the inside portion of the disk platter.

US Pat. No. 10,168,911

DEFRAGMENTATION OF PERSISTENT MAIN MEMORY

SAP SE, (DE)

1. A computer-implemented method, comprising:creating initial block information that indicates that an initial block, comprising a largest block of a plurality of free blocks, is a first hole in an original segment of memory;
creating an updated segment based on modifying the original segment to represent that contents of the original segment corresponding to the initial block do not contain any data;
modifying free block information to represent that the initial block is not one of the plurality of free blocks;
determining that an adjacent block adjacent to the initial block is a second hole in the updated segment based on adjacent block information corresponding to the adjacent block;
creating first combination block information based on modifying the initial block information to represent a first combination of the initial block and the adjacent block; and
deleting the adjacent block information corresponding to the adjacent block.

US Pat. No. 10,168,910

STORAGE AREA NETWORK RECLAMATION FOR VIRTUAL ENVIRONMENTS

International Business Ma...

1. A storage area network (SAN) system, comprising:a storage appliance that manages a SAN storage pool containing physical storage volumes;
a physical host connected to the storage appliance via a SAN switch, wherein the physical host includes a system for receiving mapped storage volumes from the storage appliance, and further includes a system for allocating the mapped storage volumes into a set of containers that provide virtual storage images for external resources; and
a SAN reclamation system that monitors each of the containers, and for each container:
determines whether unused volumes in the container exceed an empty capacity threshold; and
in response to the empty capacity threshold being exceeded, determines whether an idle time threshold for the unused volumes has been exceeded with no I/O activity; and
in response to the idle time threshold being exceeded with no I/O activity, separates the unused volumes from the container, un-maps the unused volumes from the physical host, and returns the unused volumes to the SAN storage pool.

US Pat. No. 10,168,909

COMPRESSION HARDWARE ACCELERATION

Amazon Technologies, Inc....

1. An integrated circuit comprising:a first memory; and
a second memory including instructions that, when executed by the integrated circuit, cause the data compression apparatus to:
receive an uncompressed data stream;
identify, within the uncompressed data stream, an uncompressible segment of the uncompressed data stream, the uncompressible segment of the uncompressed data stream being a segment of data for which there is no equivalent data segment within the data stream;
store, in the first memory, a portion of the uncompressible segment, wherein a length of the portion of the uncompressible segment is less than or equal to the size of the first memory, wherein the portion of the uncompressible segment is the entirety of the uncompressible segment if the size of the uncompressible segment of the uncompressed data stream is less than or equal to the size of the first memory;
generate a sequence that includes the data stored in the first memory and an offset field; and
populate the offset field, wherein if the size of the uncompressible segment of the uncompressed data stream is less than or equal to the size of the first memory, the offset field is populated with a position from which compressible data should be copied, and wherein if the size of the uncompressible segment of the uncompressed data stream exceeds the size of the first memory, the offset field is populated with a value of zero; and
store the generated sequence.

US Pat. No. 10,168,908

METHOD AND SYSTEM FOR CASCADED FLASHCOPY ZONING AND ALGORITHM AND/OR COMPUTER PROGRAM CODE AND METHOD IMPLEMENTING THE SAME

INTERNATIONAL BUSINESS MA...

1. A system comprising:a processor, a computer readable memory and a computer readable storage device; and
program instructions that start a data map relating a first storage volume to a different storage volume,
wherein:
the program instructions use a zone map relating the first storage volume to a zone in the cascade of storage volumes,
the zone map has a split bitmap with a bit for every grain which is pushed down a cascade for a write command to a given storage volume, with grains residing on a source volume until the grains are hardened to a location on a target volume,
the split map describes that the grain has been written to the target volume which indicates that the grain has been split, and
the program instructions are stored on the computer readable storage device for execution by the processor via the computer readable memory.

US Pat. No. 10,168,907

MEMORY SYSTEM AND OPERATING METHOD THEREOF

SK Hynix Inc., Gyeonggi-...

1. A memory system comprising:a memory device including a plurality of memory dies each having a plurality of memory blocks; and a controller suitable for performing one or more of data defragmentation and data remapping operations for a target transaction group in the memory device in response to a request message provided from a host, transmitting a completion message to the host as a response to the request message, and receiving an access to the transaction group, from the host, wherein the request message includes a data array having information on data splits of the target transaction group, and address lists of the target transaction group, wherein the request message further includes a header having a flag indicating type information of the data defragmentation and data remapping operations, wherein the type information indicates at last one among a general mode, a fast mode, an optimized mode, a cold mode and a hot mode.

US Pat. No. 10,168,906

PREALLOCATING STORAGE SPACE FOR AN APPLICATION OPERATION IN A SPACE EFFICIENT VOLUME

INTERNATIONAL BUSINESS MA...

1. A computer program product for writing to a space efficient volume in a storage system, wherein the computer program product comprises a computer readable storage medium having program instructions embodied therewith, the program instructions that when executed by a processor cause operations, the operations comprising:determining an amount of space to pre-allocate for a series of write operations part of a point-in-time copy operation over a period of time to copy source data to target data in the space efficient volume; and
transmitting a point-in-time copy establish request to establish a point-in-time copy for the point-in-time copy operation and a space pre-allocation request provided with the point-in-time copy establish request, wherein the space pre-allocation request indicates the determined amount of space to pre-allocate in advance in the space efficient volume for the series of write operations performed in response to the point-in-time copy establish request.

US Pat. No. 10,168,905

MULTI-CHANNEL NONVOLATILE MEMORY POWER LOSS MANAGEMENT

INTERNATIONAL BUSINESS MA...

1. A system for multi-channel nonvolatile memory management, the system comprising:one or more nonvolatile memory devices of a nonvolatile memory array;
one or more write buffers operable to write to the one or more nonvolatile memory devices; and
a nonvolatile queue manager configured to:
queue entries of host data from one or more host channels to the one or more write buffers for storage in the one or more nonvolatile memory devices of the nonvolatile memory array;
compare a number of the entries queued in the one or more write buffers to one or more nonvolatile memory holdup power write thresholds based on detection of a power loss event;
track one or more locations in the nonvolatile memory array targeted by one or more of the entries extending beyond the one or more nonvolatile memory holdup power write thresholds;
initiate a mitigation action on a subsequent restoration of power to handle the one or more locations in the nonvolatile memory array targeted by one or more of the entries extending beyond the one or more nonvolatile memory holdup power write thresholds; and
rebalance the one or more write buffers by shifting one or more of the entries queued in the one or more write buffers to at least one of the one or more write buffers having none of the entries extending beyond the one or more nonvolatile memory holdup power write thresholds.

US Pat. No. 10,168,904

QUASI-ERROR NOTIFICATIONS IN A DISPERSED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the DSN including a set of storage units storing encoded data, the method comprises:issuing slice requests to a plurality of storage units of the set of storage units for at least a decode threshold number of encoded data slices of a set of encoded data slices, wherein segments of a data object are dispersed storage error encoded to produce a plurality of sets of encoded data slices including the set of encoded data slices, and wherein a decode threshold number of encoded data slices of the set of encoded data slices is required to recover a corresponding data segment;
receiving a plurality of responses from the plurality of storage units, wherein the plurality of responses include less than the decode threshold number of encoded data slices and at least one quasi-error response from an impaired storage unit;
based on the at least one quasi-error response, determining to issue at least one of:
a continue request to the impaired storage unit, the continue request requesting continued processing of a slice request received by the impaired storage unit and corresponding to the quasi-error response; or
an additional slice request to an additional storage unit of the set of storage units, the additional slice request requesting an additional encoded data slice of the set of encoded data slices; and
issuing the continue request to the impaired storage unit or the additional slice request to the additional storage unit.

US Pat. No. 10,168,903

METHODS FOR DYNAMICALLY MANAGING ACCESS TO LOGICAL UNIT NUMBERS IN A DISTRIBUTED STORAGE AREA NETWORK ENVIRONMENT AND DEVICES THEREOF

NetApp, Inc., Sunnyvale,...

1. A method, comprising:determining, by a computing device, when at least one of a plurality of nodes of a cluster is cut off from other ones of the nodes;
identifying, by the computing device, any logical unit numbers (LUNs) owned by each of the nodes; and
adjusting, by the computing device, a fault domain for any of the identified LUNs owned by the at least one of the nodes determined to be cut off from a distributed task set mode (DTM) of operation to a single task set mode (STM) of operation without any communication about the adjusting to any host computing device interacting with the cluster.

US Pat. No. 10,168,902

REDUCING PURGING OF STRUCTURES ASSOCIATED WITH ADDRESS TRANSLATION

INTERNATIONAL BUSINESS MA...

1. A computer program product for managing purging of structures associated with address translation, said computer program product comprising:a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
obtaining a tracking structure for a virtual processor executing on a current physical processor, the tracking structure tracking which physical processors of a plurality of physical processors are to perform a purging operation for this virtual processor on a structure associated with address translation; and
selectively performing, by the current physical processor on which the virtual processor is executing, the purging operation on the structure associated with address translation, the selectively performing being based on the tracking structure, wherein the selectively performing refrains from performing the purging operation based on the tracking structure indicating the purging operation is not to be performed.

US Pat. No. 10,168,901

MEMORY SYSTEM, INFORMATION PROCESSING APPARATUS, CONTROL METHOD, AND INITIALIZATION APPARATUS

TOSHIBA MEMORY CORPORATIO...

1. A memory system connectable to a host, the host including a host controller and a host memory, the host memory including a first memory area and a second memory area, the second memory area being used as a cache by the memory system, the second memory area including a third memory area and a fourth memory area, the memory system comprising:a nonvolatile memory; and
a controller configured to:
control the non-volatile memory,
decide an initialization target area in the second memory area,
send the host a write command, the write command being a command to write an initialization value to a 1st area, the 1st area being included in the initialization target area,
determine whether a data size of an uninitialized area is less than (K?1) times a data size of an initialized area in the initialization target area, K being a number that is pre-determined to be more than one or to be less than two or equal to two,
when the data size of the uninitialized area is not less than (K?1) times the data size of the initialized area in the initialization target area, send the host a first copy command, the first copy command being a command to copy the initialization value stored in the initialized area to a 2nd area, the 2nd area being included in the uninitialized area, a data size of the 2nd area being equal to (K?1) times of the data size of the initialized area,
when the data size of the uninitialized area is more than zero and is less than (K?1) times the data size of the initialized area in the initialization target area, send the host a second copy command, the second copy command being a command to copy the initialization value stored in the initialized area to a 3rd area, the 3rd area being included in the uninitialized area, a data size of the 3rd area being less than (K?1) times the data size of the initialized area and being equal to the data size of the uninitialized area,
when the data size of the uninitialized area is equal to zero in the initialization target area, complete the initialization of the initialization target area.

US Pat. No. 10,168,900

INFORMATION PROCESSING APPARATUS, PROGRAM, AND OPERATION CONTROL ME

Sony Corporation, Tokyo ...

1. An electronic device comprising:a touch screen;
a pressure sensitive sensor configured to detect pressure applied by user inputs with a manipulation object performed on the touch screen; and
circuitry configured to
determine which of two or more input states a first user input of the user inputs belongs to by comparing the detected pressure with a threshold value for a predetermined time;
determine that the first user input belongs to a first input state of the two or more input states when the detected pressure is determined to be more than the threshold value for the predetermined time;
determine that a second user input of the user inputs after the first user input is in the first input state until the pressure is determined to be equal to or less than the threshold value after the determination that the detected pressure of the first user input is more than the threshold value for the predetermined time; and
determine that a third user input of the user inputs is in a second input state of the two or more input states after releasing of the manipulation object from the touch screen.

US Pat. No. 10,168,898

SUPPORTING DIFFERENT EVENT MODELS USING A SINGLE INPUT SOURCE

Microsoft Technology Lice...

1. One or more computer readable memory devices embodying computer readable instructions which, when executed, implement a method comprising:receiving a first message associated with a first input type;
processing the first message to produce data and caching the data;
receiving a second message associated with a second different input type;
correlating the second message with the first message; and
re-using the cached data produced by processing the first message to process the correlated second message so that the processing that produced the data does not have to be repeated for the correlated second message, wherein the first input type comprises one of a touch input type or a non-touch input type and the second different input type comprises a different one of the touch input type or the non-touch input type.

US Pat. No. 10,168,897

TOUCH INPUT ASSOCIATION

Hewlett-Packard Developme...

1. A projective computing system, comprising:a vertical display of an all-in-one computer to display a first interface that displays a first image;
a horizontal touch sensitive mat communicatively coupled to the vertical all-in-one computer;
a projector assembly to project a second interface that displays a second image different from the first image on the horizontal touch sensitive mat;
a sensor located in the projector assembly to detect a touch input on the horizontal touch sensitive mat;
a processor; and
a non-transitory computer readable storage device storing instructions executed by the processor to:
receive a touch input modification request, and in response to receiving the touch input modification request; and
automatically and without further input, change the touch input detected by the sensor and associated with the horizontal touch sensitive mat to the vertical all-in-one computer such that the touch input detected by the sensor located over the horizontal touch sensitive mat controls the first interface displayed on the vertical all-in-one computer via a signal that is generated in response to the touch input, wherein the signal is routed to the processor to generate an output signal that is routed to the vertical display to control a marker that is displayed on the vertical display.

US Pat. No. 10,168,896

PREVIEWING PORTIONS OF ELECTRONIC DOCUMENTS

International Business Ma...

9. A computer program product for previewing content in an electronic document, the computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when executed by a computer processor of a computer, cause the computer to:display a page within an electronic document, the page having a plurality of objects, each of the plurality of objects having a correlation with a respective one or more portions of a plurality of portions of the electronic document and each of the respective one or more portions of the plurality of portions of the electronic document having a correlation with a respective input gesture;
detect a first input gesture located within a predetermined distance of a first object of the plurality of objects;
determine that a first portion of the electronic document from the plurality of portions correlates with both the first object and the first input gesture;
display the first portion of the electronic document in response to detecting the first input gesture within the predetermined distance of the first object;
detect a second input gesture located within the predetermined distance of the first object, wherein the second input gesture is distinct from the first input gesture and includes a different motion than the first input gesture;
determine that a second portion of the electronic document from the plurality of portions correlates with both the first object and the second input gesture, wherein the first portion includes at least one first element from the electronic document not included in the second portion and the second portion includes at least one second element from the electronic document not included in the first portion; and
display the second portion of the electronic document in response to detecting the second input gesture.

US Pat. No. 10,168,895

INPUT CONTROL ON A TOUCH-SENSITIVE SURFACE

International Business Ma...

1. A computer-implemented method comprising:identifying, by one or more processors, an area on a touch-sensitive surface of a device corresponding to a concentration of received touch inputs on the touch-sensitive surface;
displaying, by one or more processors, a graphical representation of a predefined region at the area;
detecting, by one or more processors, a gesture on the touch-sensitive surface of a device;
determining, by one or more processors, whether the gesture is performed with respect to the predefined region on the touch-sensitive surface; and
in response to determining that the gesture is performed with respect to the predefined region, controlling, by one or more processors, an interaction focus on the touch-sensitive surface based on the gesture, wherein:
the interaction focus is located outside the predefined region; and
controlling the interaction focus on the touch-sensitive surface based on the gesture comprises:
moving, by one or more processors, the interaction focus on the touch-sensitive surface based on the gesture; and
operating, by one or more processors, a scroll wheel based on the gesture, the interaction focus being put on the scroll wheel, wherein operating the scroll wheel comprises:
in response to the gesture being a circling gesture on a boundary of the predefined region in a first direction, locking, by one or more processors, the interaction focus on the scroll wheel; and
in response to receiving a subsequent gesture with respect to the predefined region, rotating, by one or more processors, the scroll wheel.

US Pat. No. 10,168,894

COMPUTING DEVICE CANVAS INVOCATION AND DISMISSAL

MICROSOFT TECHNOLOGY LICE...

1. A computing device comprising:an input module implemented at least partially in hardware, configured to receive input to the computing device;
one or more modules configured to perform operations including:
determining, in response to removal of a cap from a first end of a stylus, that a canvas has been invoked;
displaying the canvas in response to determining that the canvas has been invoked;
displaying based on user input while the canvas is displayed, digital markings on the canvas;
determining that the canvas has been dismissed; and
ceasing, in response to determining that the canvas has been dismissed, displaying the canvas.

US Pat. No. 10,168,893

IDENTIFYING INPUT INTERRUPTION

International Business Ma...

1. A method for identifying input interruptions, the method comprising:determining, by a processor, whether a user input is continuous when entered into a first input destination, wherein determining whether the user input is continuous is based on comparing a time interval between one or more events comprising the user input to a threshold time interval;
based on determining that the user input is continuous, determining, by the processor, whether a portion of the user input is entered into a second input destination during the continuous user input;
based on determining that the portion of the user input is entered into the second input destination during the continuous user input, saving, by the processor, the portion of the user input in a computer-readable storage media; and
displaying, by the processor, a selectable option on a display to apply the portion of the user input to at least one of the first input destination and the second input destination.

US Pat. No. 10,168,892

DEVICE FOR HANDLING TOUCH INPUT AND METHOD THEREOF

Samsung Electronics Co., ...

1. An electronic device, comprising:a touchscreen display including a flat area and a curved area adjacent to the flat area;
a memory configured to store instructions; and
at least one processor configured to execute the stored instructions to:
control the touchscreen display to display an object on the flat area;
sense a touch input selecting the object via the touchscreen display;
sense a movement of the touch input toward the curved area;
maintain the selection of the object during the movement of the touch input;
sense a hovering of the touch input above a pre-defined area including the curved area and a portion of the flat area; and
maintain the selection of the object during the hovering of the touch input,
wherein the portion of the flat area is an area adjacent to the curved area.

US Pat. No. 10,168,891

DISPLAY DEVICE AND CONTROLLING METHOD THEREOF

LG ELECTRONICS INC., Seo...

1. A display device, comprising:a touch screen;
a wireless communication unit configured to receive data from an external device;
a sensing unit configured to sense at least one of a motion of the display device and biometric state information of a user; and
a controller configured to:
display an analog watch screen displaying a first number of icons related to the data received from the external device on the touch screen if a number of the data received from the external device is smaller than a predetermined number of data received from the external device, and
switch the analog watch screen to a digital watch screen displaying a second number of icons related to the data received from the external device if the number of data received from the external device corresponds to the predetermined number of data, wherein the second number of icons in the digital watch screen includes the first number of icons in the analog watch screen,
wherein each icon related to the data received from the external device is displayed together with a sender of the data at a location on the analog watch screen mapped to a reception time of the received data, and
wherein each icon has a different size based on an importance of the sender.

US Pat. No. 10,168,890

DOCUMENT CONTENT REORDERING FOR ASSISTIVE TECHNOLOGIES BY CONNECTING TRACED PATHS THROUGH THE CONTENT

International Business Ma...

1. A method for document content re-ordering, the method comprising:entering an ordering mode of the device and during the ordering mode, sensing in a computer display by the device of a drawing of an initial path across different portions of single displayed page of a document in the computer display beginning at an originating position of the initial path and ending at a terminating position, identifying by the device from the initial path an initial sequence of the different portions of the single displayed page of the document, sensing multiple additional, disjointed paths drawn across other different portions of the single page of the document each additional disjointed path defining an additional sequence;
adding the initial sequence to a list and also adding to the list each additional sequence and while still in ordering mode, attaching a first one of the additional sequences to the initial sequence in the list, and further attaching each additional sequence to an end of a prior additional sequence in the list so as to define a traversal order of items of each of the sequences for a screen reader; and,
exiting the ordering mode and thereafter, storing the list in memory and processing the list by transposing the list into meta-data indicative of a combined sequence of the initial sequence and the additional sequence in the list and, annotating by the device the single displayed page of the document with the generated meta-data so as to direct a screen reader to present different corresponding portions of the single displayed page in accordance with a sequence defined by the meta-data.

US Pat. No. 10,168,889

MEASURING METHOD AND A MEASURING DEVICE WITH FINGERTIP ZOOM

1. A measuring method for the measurement and display of at least one measurement signal, the measuring method comprising:the measurement signal is measured;
by means of a touch-sensitive screen, the at least one measured measurement signal is displayed and touches on the touch-sensitive screen are registered and processed;
in the case of a touch on the touch-sensitive screen at a first position, the displayed at least one measured measurement signal is displayed magnified in at least one first region with a first magnification, wherein the first region is configured to be around the first position, wherein in the first region, the displayed at least one measured measurement signal is displayed with a greater sharpness than outside the first region, wherein after an end of the touch on the touch-sensitive screen, the displayed at least one measured measurement signal is displayed without magnification, and wherein in the case of a displacement of the touch to a second position, the displayed at least one measured measurement signal is displayed magnified in at least one second region, the second region configured to be around the second position;
wherein the displayed at least one measured measurement signal is displayed in at least one of a third region or a fourth region and magnified with a second magnification, the third region configured to be around the first region and the fourth region configured to be around the second region and wherein the second magnification is smaller than the first magnification; and
wherein the displayed at least one measuring signal is displayed in the first region with the first magnification and in the third region with a third magnification simultaneously, and wherein the displayed at least one measurement signal is displayed in the second region with the second magnification and the fourth region with a fourth magnification simultaneously.

US Pat. No. 10,168,887

SYSTEM FOR DISPLAYING AND ADJUSTING DISPLAY OF INFORMATION TO A USER

31. A system for providing information to a user comprising:a screen for showing the information to the user, and a computer including a processor, the processor configured to:
receive one or more values from a source of values on which values the information shown to the user is based,
generate at least one data line wherein the data line comprises at least one data set, wherein the data sets comprises data which are based on said values, wherein the processor compares the data in the at least one data set with benchmark values, the benchmark values being generated on the basis of historical data, the historical data being an average value, or a minimum value or a maximum value of the data set at a certain time in the past,
display said at least one data line to the user on said screen,
and move the at least one data line on the screen,
wherein data sets moving over a border of the data line disappear and reappear over an opposing border of the data line into the data line after a certain time, and wherein a speed of the movement of the at least one data line is adjusted depending on a criterion relating to the at least one data set comprised in the data line, the criterion selected from the group consisting of size of at least one data set, number of data sets, length of at least one data set and combinations thereof, wherein the speed of the movement of the at least one data line is continuously adjusted with the size of data to be displayed in a line and the speed of movement increases when information conveyed by the data sets on the data line does not fit within the screen and decreases as information conveyed by the data sets on the data line comes closer to fitting within the screen.

US Pat. No. 10,168,886

METHOD FOR PROVIDING A USER INTERFACE BASED ON TOUCH PRESSURE, AND ELECTRONIC DEVICE USING SAME

Korea Electronics Technol...

1. A method for providing a User Interface (UI), the method performed by an electronic device having a controller and a touch screen, the method comprising:arranging a plurality of contents on the touch screen;
displaying a scroll bar adjacent to the plurality of contents on the touch screen;
when the scroll bar is touched by a first pressure, scrolling the plurality of contents on the touch screen at a first speed; and
when the scroll bar is touched by a second pressure which is greater than the first pressure while scrolling the plurality of contents, enlarging one of the plurality of contents which is scrolling,
wherein the enlarging operation scrolls the plurality of contents at a second speed which is slower than the first speed.

US Pat. No. 10,168,885

SYSTEMS AND METHODS FOR MAKING TWO DIMENSIONAL GRAPHS OF COMPLEX MOLECULES

ZYMEWORKS INC., Vancouve...

1. A computer-implemented method for visualizing physical properties of a molecule in two dimensions, wherein the molecule comprises a set of {p1, . . . , pN} particles, each particle pi in the set of particles representing a different plurality of covalently bound atoms in the molecule, the method performed on a first computer system having at least one processor and memory storing at least one program for execution by the at least one processor to perform the method, comprising:(A) obtaining a set of N three-dimensional coordinates {x1, . . . , xN} by x-ray crystallography, nuclear magnetic resonance spectroscopic techniques, electron microscopy, modeling or from a non-transitory computer readable storage medium, wherein each respective xi in {x1, . . . , xN} corresponds to a pi in {p1, . . . , pN} and represents the position of pi in three-dimensional space, wherein N is a positive integer of greater than 30;
(B) minimizing a cost function containing an error in a set of two-dimensional coordinates corresponding to the set of N three-dimensional coordinates using a minimization function module:

using the set of N three-dimensional coordinates wherein,
i and j are integers greater than zero,
?ij is a distance between a pair of three-dimensional coordinates xi and xj in {x1, . . . , xN},
E(c1, c2, . . . , cN) is an error in the set of two-dimensional coordinates (c1, cN), wherein each two-dimensional coordinate ci in (c1, cN) uniquely corresponds to a three-dimensional coordinate xi in {x1, . . . , xN} so that each respective pi in {p1, . . . , pN} is represented by a three-dimensional coordinate xi in {x1, . . . , xN} and a corresponding two-dimensional coordinate ci in (c1, . . . , cN),
D(ci, cj) is a distance between the two-dimensional coordinates ci and cj in (c1, . . . , cN), and
wij is a weight for the two-dimensional pair (pi, pj) in a matrix of weights, wherein the matrix of weights has a weight for each two-dimensional pair (pi, pj) in (p1, . . . , pN),
wherein the minimizing alters the values of coordinates of the set of two-dimensional coordinates (c1, . . . , cN) using a refinement algorithm until an exit condition is achieved;
(C) obtaining a plurality of sets of physical properties SMk from a non-transitory computer readable storage medium, each physical property si,j in SMk representing a respective physical property k shared by a pair of particles (pi, pj) in {p1, . . . , pN} in the molecule;
(D) plotting (c1, . . . , cN), with a graphical user interface, after the exit condition is achieved, as a plurality of nodes of a two-dimensional graph; and
(E) plotting, with the graphical user interface, a first plurality of edges for the two-dimensional graph, wherein
each respective edge in the first plurality of edges connects a two-dimensional coordinate pair (ci, cj) in the graph that corresponds to a pair of particles (pi, pj) in {p1, . . . , pN}, and
a first characteristic of each respective edge in the first plurality of edges is determined by a respective physical property si,j in SM1 for the pair of particles (pi, pj) in {p1, . . . , pN} corresponding to the two-dimensional coordinate pair (ci, cj) that is connected by the respective edge.

US Pat. No. 10,168,884

GENERATING USER INTERFACE CONFIGURATION PAGES TO CONFIGURE A COMPUTING RESOURCE COMPRISED OF COMPONENT COMPUTING RESOURCES

International Business Ma...

1. A computer program product for generating a configuration page for rendering in a graphical user interface (GUI) for a user to use to configure a computing resource, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising:generating a configuration page for rendering in the GUI;
generating, within the configuration page, a plurality of user selectable concentric shapes representing a hierarchy of component computing resources from which a subject computing resource is configured, wherein only one component computing resource is graphically represented at each level of concentric shapes as one concentric shape representing the component computing resource, wherein each lower level component computing resource is graphically represented by a lower level shape as graphically enclosed within a concentric higher level shape representing a higher level component computing resource in the hierarchy, wherein the lower level component computing resource is configured with capacity from the higher level component computing resource, and wherein the hierarchy comprises at least three levels;
receiving user selection of one of the user selectable concentric shapes representing a selected one of the component computing resources in graphical representations of the hierarchy; and
generating, in the configuration page, user selectable component computing resource instances for the selected component computing resource in which the user selects the component computing resource instance from which the subject computing resource is configured, wherein the lower level component computing resource is supplied user selectable computing resources selected from configured of the higher level component computing resource.

US Pat. No. 10,168,883

CONFIGURING USER PROFILES ASSOCIATED WITH MULTIPLE HIERARCHICAL LEVELS

Oracle International Corp...

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:identifying a plurality of hierarchical levels, corresponding to an organizational hierarchy, each hierarchical level being associated with a respective set of one or more user profiles;
concurrently displaying a plurality of interface components corresponding respectively to the plurality of hierarchical levels, each interface component configured to receive user input specifying a data value for configuring data of at least one user profile associated with each respective hierarchical level of the plurality of hierarchical levels, the plurality of interface components comprising at least a first interface component corresponding to a first hierarchical level and a second interface component corresponding to a second hierarchical level;
receiving user input specifying at least a first value via the first interface component corresponding to the first hierarchical level;
receiving user input specifying at least a second value via the second interface component corresponding to the second hierarchical level;
determining whether the second value received via the second interface component corresponding to the second hierarchical level is valid based at least on the first value received via the first interface component corresponding to the first hierarchical level;
responsive to determining that the second value received via the second interface component corresponding to the second hierarchical level is valid:
configuring data of a first user profile associated with the first hierarchical level based on the first value; and
configuring data of a second user profile associated with the second hierarchical level based on the second value.

US Pat. No. 10,168,882

DEVICE, METHOD, AND GRAPHICAL USER INTERFACE FOR SWITCHING BETWEEN CAMERA INTERFACES

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 touch-sensitive display and a camera, cause the device to perform:displaying a first camera interface on the touch-sensitive display for a first virtual camera that produces media with first output dimensions using the camera, wherein the first camera interface includes a first camera preview that provides an indication of the first output dimensions;
while displaying the first camera interface on the touch-sensitive display, detecting a first gesture by a single first contact that includes movement of the single first contact in a first direction on the touch-sensitive display across the first camera preview;
in response to detecting the first gesture in the first direction on the touch-sensitive display across the first camera preview, switching from displaying the first camera interface to displaying a second camera interface for a second virtual camera that produces media with second output dimensions using the camera, the second output dimensions being different from the first output dimensions, wherein the second camera interface includes a second camera preview that provides an indication of the second output dimensions;
while displaying the second camera interface on the touch-sensitive display, detecting a second gesture by a single second contact on the touch-sensitive display; and,
in response to detecting the second gesture:
determining whether the second gesture includes movement of the second single contact by more than a predefined amount on the touch-sensitive display within a predefined time period;
in accordance with a determination that the second gesture includes movement of the second single contact by more than the predefined amount in the first direction on the touch-sensitive display within the predefined time period, switching from displaying the second camera interface to displaying a third camera interface for a third virtual camera that produces media with third output dimensions using the camera, the third output dimensions being different from the first output dimensions and the second output dimensions, wherein:
the third camera interface is different from the first camera interface; and
the third camera interface is different from the second camera interface; and,
in accordance with a determination that the second gesture does not include movement of the second single contact by more than the predefined amount on the touch-sensitive display within the predefined time period, selecting a point within the respective camera preview as an autofocus reference point.

US Pat. No. 10,168,881

INFORMATION INTERFACE GENERATION

Microsoft Technology Lice...

1. A method for generating an information interface, comprising:identifying a selection of content within a webpage;
capturing the content from the webpage;
generating an information interface for the content;
populating the information interface with the content;
displaying the information interface in a shared operating system interface through which multiple other information interfaces are displayed, wherein the shared operating system interface is rotated between the information interface and the other information interfaces;
automatically updating the information interface with content from the webpage;
presenting an alert to a user that the information interface has been automatically updated;
responsive to identifying user input of a user search query through a search interface, and while the user is typing the user search query, providing a list of information interface suggestions corresponding to the user input, wherein each information interface suggestion in the list is a user-selectable item which describes a type of information interface comprising a topic that corresponds to the user input, wherein for each information interface suggestion, a selection of the information interface suggestion causes a corresponding information interface to be generated, wherein the corresponding information interface includes content captured from one or more associated webpages; and
responsive to receiving a selection of an information interface suggestion from the list of information interface suggestions, generating a second information interface that corresponds to the user input based upon the selected information interface suggestion.

US Pat. No. 10,168,880

SYSTEM, METHOD AND COMPUTER-ACCESSIBLE MEDIUM FOR MANIPULATING A PLURALITY OF COMPONENTS USING A SINGLE GESTURE OR MOTION

Jerome Dewhurst, Los Ang...

1. A non-transitory computer-accessible medium having stored thereon computer-executable instructions for performing a procedure to modify a visual media, wherein, when executed by a computer arrangement, the computer arrangement is configured to execute procedures comprising:displaying the visual media using a visual media editing application,
the visual media editing application defining at least one color parameter, wherein the at least one color parameter has three coefficients;
receiving, at the user interface, a single user input having a start point and an end point;
upon detecting the single user input, determining a distance between the start point and the end point and determining an angle formed by (i) at least one of a line or a vector based on the start point and the end point, and (ii) at least one of an X-axis or a Y-axis;
modifying the at least one color parameter according to the determined distance and determined angle, wherein:
if the determined angle is one of a first specified plurality of angles, uniformly increasing or decreasing all coefficients of the at least one color parameter by a first magnitude, wherein the first magnitude is determined according to the determined distance;
if the determined angle is one of a second specified plurality of angles different from any one of the first specified plurality of angles, increasing or decreasing at least one coefficient of the at least one color parameter by a second magnitude, wherein the at least one coefficient is determined according to the angle and the second magnitude is determined according to the distance; and
dynamically modifying the visual media at the user interface according to the modified at least one color parameter.

US Pat. No. 10,168,879

INTERACTIVE IMAGE RECOLORING

Snap Inc., Santa Monica,...

1. A system comprising:a processor;
a user interface coupled to the processor and including a display;
a communication module coupled to the processor; and
memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to perform operations comprising:
causing presentation of an image on a client device;
receiving user input including a single stroke drawn on the image;
expanding the single stroke drawn on the image to generate an expanded stroke mask;
refining the expanded stroke mask to determine a precise boundary that defines a region of interest in the image;
recolorizing the region of interest on the image, the recolorizing including replacing an original color of the region of interest with an alternative color, the recolorizing of the region of interest resulting in a recolorized image; and
causing presentation of the recolorized image on the client device.

US Pat. No. 10,168,878

DASHBOARD GENERATION BASED ON USER INTERACTION

International Business Ma...

1. A computer program product for automatically identifying a long loading time for a user selection, comprising:one or more computer-readable storage medium and program instructions stored on at least one of the one or more tangible storage medium, the program instructions executable by a processor to perform a method comprising:
receiving an initial user input against a selection element within an application running on an electronic device, wherein the initial user input is a first click by a user to execute the selection element, and wherein the selection element is selected from the group consisting of a link, dropdown menu, area to input text, selectable graphical icon, transmit button, and receive button;
transmitting the initial user input to a server for processing the initial user input;
receiving one or more additional user inputs that are received after the server has begun processing the initial user input, wherein the one or more additional user inputs are additional clicks of the selection element that occur after the first click;
recording the additional user input in a data repository;
utilizing statistical analysis techniques on the recorded additional user input to determine a selection attempt value, wherein the selection attempt value is a click rate of the user against the selection element;
comparing the selection attempt value to a predetermined retry rate criteria, wherein the predetermined retry rate criteria is an automated policy implemented by the processor that controls the rate at which the user may access the selection element before a corrective action is performed, wherein the corrective action is an automatic update to the application that indicates that the application is loading;
determining that the selection attempt value satisfies a threshold;
determining that the user is having a negative user interaction based on the selection attempt value satisfying the threshold;
generating, in response to the selection attempt value satisfying the threshold, a customizable dashboard that is a graphical user interface based on preferences that include previously created graphical icons available for selection and the application, wherein the customizable dashboard includes a list of one or more applications running on a particular user's electronic device, a list of user interaction data for each of the one or more applications, one or more applications that a developer is working on, and a list of one or more users that are utilizing the one or more applications;
modifying user interaction data within the generated customizable dashboard for the application that includes the selection element;
transmitting the generated customizable dashboard to a developer;
receiving developer input that includes a request to generate a digital image to be presented on a display of the electronic device, wherein the digital image includes a visual indication that content of the selection element is loading and is being processed by the server;
generating, automatically, the digital image based on the received developer input;
displaying, within a user interface, the generated digital image;
receiving additional developer input that is a command to block the selection element for a predetermined amount of time;
transmitting, to the electronic device, the command to block the selection element for the predetermined amount of time; and
blocking, by the application, additional selection of the selection element.

US Pat. No. 10,168,877

DASHBOARD GENERATION BASED ON USER INTERACTION

International Business Ma...

1. A computer system for automatically identifying a long loading time for a user selection, comprising:one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage medium, and program instructions stored on at least one of the one or more tangible storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising:
receiving an initial user input against a selection element within an application running on an electronic device, wherein the initial user input is a first click by a user to execute the selection element, and wherein the selection element is selected from the group consisting of a link, dropdown menu, area to input text, selectable graphical icon, transmit button, and receive button;
transmitting the initial user input to a server for processing the initial user input;
receiving one or more additional user inputs that are received after the server has begun processing the initial user input, wherein the one or more additional user inputs are additional clicks of the selection element that occur after the first click;
recording the additional user input in a data repository;
utilizing statistical analysis techniques on the recorded additional user input to determine a selection attempt value, wherein the selection attempt value is a click rate of the user against the selection element;
comparing the selection attempt value to a predetermined retry rate criteria, wherein the predetermined retry rate criteria is an automated policy implemented by the one or more processors that control the rate at which the user may access the selection element before a corrective action is performed, wherein the corrective action is an automatic update to the application that indicates that the application is loading;
determining that the selection attempt value satisfies a threshold;
determining that the user is having a negative user interaction based on the selection attempt value satisfying the threshold;
generating, in response to the selection attempt value satisfying the threshold, a customizable dashboard that is a graphical user interface based on preferences that include previously created graphical icons available for selection and the application, wherein the customizable dashboard includes a list of one or more applications running on a particular user's electronic device, a list of user interaction data for each of the one or more applications, one or more applications that a developer is working on, and a list of one or more users that are utilizing the one or more applications;
modifying user interaction data within the generated customizable dashboard for the application that includes the selection element;
transmitting the generated customizable dashboard to a developer;
receiving developer input that includes a request to generate a digital image to be presented on a display of the electronic device, wherein the digital image includes a visual indication that content of the selection element is loading and is being processed by the server;
generating, automatically, the digital image based on the received developer input;
displaying, within a user interface, the generated digital image;
receiving additional developer input that is a command to block the selection element for a predetermined amount of time;
transmitting, to the electronic device, the command to block the selection element for the predetermined amount of time; and
blocking, by the application, additional selection of the selection element.

US Pat. No. 10,168,876

CREATING MULTIPLE CURSORS FOR DUPLICATED ENTRY

International Business Ma...

1. A method comprising:a computer processor receiving input to create and activate a duplicate cursor in addition to a default cursor;
the computer processor determining information descriptive of a first position that corresponds to a current position of the default cursor;
the computer processor receiving information that is descriptive of a second position, distinct from the first position, which is determined by confirming a movement of a second cursor to the second position that corresponds to an intended position of the duplicate cursor;
creating the default cursor at the first position and the duplicate cursor at the second position, wherein both the default cursor and the duplicate cursor are enabled to concurrently receive input;
the computer processor receiving content as input for the first position that corresponds to the position of the default cursor; and
the computer processor duplicating the content that is input for the first position, at both the first position that corresponds to the default cursor, and the second position that corresponds to the duplicate cursor.

US Pat. No. 10,168,875

DISPLAYING DYNAMIC GRAPHICAL CONTENT IN GRAPHICAL USER INTERFACE (GUI) CONTROLS

International Business Ma...

1. A method for rendering a set of user interface controls with dynamic content in a graphical user interface (GUI), the method comprising:grouping different user interface controls into the set of user interface controls in a GUI, a selection of one of the set of user interface controls being mutually exclusive so that only one of the different user interface controls of the set of user interface controls is selectable at a given moment in time;
determining a cumulative selection metric for each of the user interface controls in the set of user interface controls based upon a selection of each corresponding one of the user interface controls by multiple different end users; and,
rendering an indicator within each of the user interface controls of a corresponding cumulative selection metric along with an associated static text label indicating the corresponding cumulative selection metric, the indicator comprising a colored fill of a corresponding one of the user interface controls which consumes a portion of the corresponding one of the user interface controls proportional to the corresponding cumulative selection metrics indicated by the static text label.

US Pat. No. 10,168,874

DEVICE, METHOD, AND GRAPHICAL USER INTERFACE FOR MANIPULATING FRAMED GRAPHICAL OBJECTS

APPLE INC., Cupertino, C...

1. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions for manipulating framed graphical objects which, when executed by an electronic device with a display, a touch-sensitive surface and one or more sensors to detect intensities of contacts with the touch-sensitive surface, cause the electronic device to:display a first portion of a graphical object inside of a frame on the display;
detect a gesture, wherein detecting the gesture includes:
detecting a contact on the touch-sensitive surface while a focus selector is over the graphical object; and
detecting movement of the contact across the touch-sensitive surface; and
in response to detecting the gesture that includes movement of the contact across the touch-sensitive surface:
in accordance with a determination that the contact meets predefined intensity criteria, remove the graphical object from the frame; and
in accordance with a determination that the contact does not meet the predefined intensity criteria, adjust an appearance of the graphical object inside of the frame in accordance with the movement of the contact across the touch-sensitive surface to display a second portion of the graphical object that was not displayed prior to detecting the gesture.

US Pat. No. 10,168,873

VIRTUAL INTERACTIONS FOR MACHINE CONTROL

LEAP MOTION, INC., San F...

1. A method of simplified manipulation of virtual objects by detected hand motions, wherein a detected hand includes calculation points of potential interaction with a manipulation point of a virtual object, the method including:receiving a virtual object to be manipulated;
detecting hand motion made by a hand relative to the virtual object to be manipulated and determining positions of a plurality of calculation points for the hand;
dynamically selecting at least one manipulation point inferring where an interaction will take place that is proximate to the virtual object to be manipulated based on the detected hand motion and determining a weighted average of distance from each position of the plurality of the calculation points to an anchor point selected based on the hand motion detected;
manipulating the virtual object by interaction between the detected hand motion and positions of one or more of the calculation points and the at least one manipulation point selected dynamically; and
displaying across a display a representation of manipulating the virtual object by the hand and hand motion detected;
wherein the hand and the virtual object both have anchor points and force applied by the calculation points through the manipulation point is calculated between a hand anchor point and a virtual object anchor point.

US Pat. No. 10,168,872

METHOD AND APPARATUS FOR DISPLAYING AND SCROLLING CONTENT

SONY CORPORATION, Tokyo ...

1. An information processing device, comprising:a display screen configured to display a plurality of contents; and
circuitry configured to:
set a reference orientation of the information processing device;
scroll, based on a first scroll unit of time and a first direction of scroll, the plurality of contents;
receive a first user input;
determine a new orientation of the information processing device based on the received first user input;
compare the new orientation with the reference orientation;
detect a change in orientation of the information processing device based on the comparison of the new orientation with the reference orientation;
determine a second scroll unit of time and a second direction of scroll based on the detected change in orientation,
wherein the second scroll unit of time accommodates first content items of the plurality of contents, and wherein the first content items correspond to a specific time interval;
scroll the plurality of contents based on the determined second scroll unit of time and the second direction of scroll;
determine a threshold value associated with a pinch operation based on the detected change in orientation, wherein the pinch operation corresponds to a second user input on the display screen; and
control the display screen to modify the displayed plurality of contents based on the determined threshold value associated with the pinch operation that corresponds to the second user input.

US Pat. No. 10,168,871

METHODS AND SYSTEMS FOR PRESENTING DIRECTION-SPECIFIC MEDIA ASSETS

ROVI GUIDES, INC., San J...

1. A method of selecting media content for display on user devices, the method comprising:receiving a first media asset, captured by a content capture device, associated with a first location;
determining a first direction at the first location that the content capture device faced when capturing the first media asset;
storing directional information indicating that the content capture device faced the first direction when capturing the first media asset;
receiving a user input requesting to generate a display of media assets associated with the first location at a second location;
detecting, from data indicating a plurality of available display devices for presenting media assets, a first display device having a position associated with a first direction at the second location and a second device having a position associated with a second direction at the second location;
determining, based on the stored directional information, that the first direction at the first location corresponds to the first direction at the second location;
automatically selecting the first display device from the plurality of available display devices in response to determining, based on the stored directional information, that the first direction at the first location corresponds to the first direction associated with the position of the first display device; and
generating a display of the first media asset on the automatically selected first display device.

US Pat. No. 10,168,870

SYSTEM FOR RETRIEVING, VISUALIZING AND EDITING SEMANTIC ANNOTATIONS

International Business Ma...

1. A computer-implemented method for modifying a set of annotations that include metadata describing properties of associated text fragments within an annotated text corpus, the method comprising:receiving a query specifying parameters for annotations from the set of the annotations;
extracting, from the set of annotations and by the query, a first entity subset of annotations, a second entity subset of annotations, and a relations subset of annotations between the first entity subset of annotations and the second entity subset of annotations;
extracting, from the annotated text corpus, contextual information relative to the extracted annotations, wherein each annotation in the first and second entity subset of annotations serves as an anchor for each respective relations subset annotation and each piece of contextual information;
generating a user interface having display frames populated by frame elements that include the entity subsets of annotations, the relations subset of annotations, and the contextual information;
receiving, responsive to selections of the frame elements, input specifying modifications to the annotations;
modifying, based on the input specifying modifications to the annotations, the set of annotations in the annotated text corpus;
receiving additional input specifying a change to the particular annotation label;
receiving additional input specifying a subset of the plurality of annotations; and
modifying, based on the additional input, the particular annotation label for each of the annotations in the subset of the plurality of annotations having the shared particular annotation label.

US Pat. No. 10,168,869

SYSTEM AND METHOD FOR RETRIEVING INFORMATION WHILE COMMANDING OPERATION OF AN APPLIANCE

Universal Electronics Inc...

1. A method for causing media content to be presented on an appliance using a remote control device having a display and configured to communicate with the appliance, comprising:causing the remote control device to display in the display of the remote control device a user interface element representative of a media content provider; and
in direct response to a sensed interaction with the user interface element displayed in the display of the remote control device by the remote control device, causing the remote control device to transmit both a first command to cause the appliance to perform an operation to thereby provide access via the appliance to media content available from the media content provider and a second command to cause a retrieval of information from a network address that is predetermined within the remote control device prior to the sensed interaction with the user interface element; and
causing the remote control to display the information retrieved from the network address in the display of the controlling device.

US Pat. No. 10,168,868

METHOD AND APPARATUS FOR MULTITASKING

Samsung Electronics Co., ...

1. A method for multitasking in an electronic device, the method comprising:after displaying a first application execution screen of a first application as a top layer screen on a display unit, the first application execution screen including a plurality of objects, receiving a first touch input at a first edge region of the display unit;
in response to the first touch input, displaying a first layer separation object while maintaining display of all of the plurality of objects and a respective shape for each of the plurality of objects, the first layer separation object including one or more lines extending along a vertical length of the display unit,
wherein each of the one or more lines corresponds to an executing application other than the first application, and
wherein after detecting the first touch input and prior to detecting any movement from the first touch input, the first application execution screen is shifted and the first layer separation object is displayed within a screen area from which the first application execution screen is shifted; and
in response to detecting a drag movement beginning from the first touch input, simultaneously displaying a portion of a second application execution screen of a second application and a portion of the first application execution screen,
wherein the simultaneously displaying comprises:
gradually increasing a display portion of the second application execution screen and gradually decreasing a display portion of the first application execution screen when a direction of the drag movement is toward a second edge region opposite to the first edge region, and
gradually increasing a display portion of the first application execution screen and gradually decreasing a display portion of the second application execution screen when a direction of the drag movement is toward the first edge region.

US Pat. No. 10,168,867

SYSTEM AND METHOD FOR GENERATING A UNIFIED MENU FOR MULTIPLE COMMUNICATION CHANNELS

1. A method of providing a unified menu across a plurality of communication channels, the method comprising:collecting, by a processor over a network, first user interaction information via a first communication channel via which a first menu is provided, the first user interaction information including an identity of a menu option and a frequency of selection of the menu option on the first communication channel, the first communication channel being a first channel type;
collecting, by the processor over the network, second user interaction information via a second communication channel via which a second menu is provided, the second user interaction information including an identity of a menu option and a frequency of selection of the menu option on the second communication channel, the second communication channel being a second channel type different than the first channel type;
applying, by the processor, weights to the selections of the menu options included in the first user interaction information and the second user interaction information based on frequencies of selections of the menu options on the first communication channel and the second communication channel;
determining whether each of the applied weights is above a reference threshold;
generating, using the processor, a unified menu comprising a list of unified menu options that are ordered in a sequential order based on the applied weights that are above the reference threshold, wherein a menu option selected having an applied weight less than the reference threshold is omitted from the unified menu;
transmitting, over the network, change requests to each of the first communication channel and the second communication channel to replace the first menu and the second menu with the unified menu to be presented to users;
applying the unified menu to each of the first communication channel and the second communication channel, such that same menu options are provided for both of the first communication channel and the second communication channel;
determining whether special weight is to be applied to the selection of the menu option included in the first user interaction information; and
applying the special weight to the selection of the menu option included in the first user interaction information when the special weight is determined to be applied,
wherein the selection of the menu option included in the first user interaction information is weighted based on a number of users accessing the first menu, and
wherein the selection of the menu option included in the first user interaction information is weighted based on whether user interaction information is collected through the first communication channel.

US Pat. No. 10,168,866

METHODS AND SOFTWARE FOR FACILITATING THEME-BASED ONLINE SOCIAL INTERACTION, SUPPORT, AWARENESS, AND LEARNING

1. A method of facilitating interaction among members of an online social-interaction system wherein the members share a common aspect, the method being executed by the online social-interaction system and comprising:providing a membership user interface designed and configured to allow each of the members to join the online social-interaction system;
in response to each member joining the online social-interaction system, providing that member with at least one private journal, wherein said at least one private journal:
is private to that member, meaning that entries made to said at least one private journal by that member are viewable only by that member unless that member elects to share one or more of the entries;
has a name identifying the common aspect; and
includes a new-entry user interface designed and configured to allow that member to add the entries and, for each of the entries, to display a privacy selector that allows that member to select any privacy setting from the group of 1) just me, 2) close friends, and 3) All Friends, wherein the privacy setting of just me allows only that member to view an entry, the privacy setting of close friends allows that member to share an entry only with other ones of the members that that member has designated as close friends, and the privacy setting of All Friends allows that member to share an entry only with other ones of the members that that member has designated as friends; and
includes a post-display window having a post-display region that displays a plurality of posts when the posts are available for posting;
receiving, via said at least one private journal of a particular one of the members, a new entry from the particular member;
receiving, via said privacy selector, a user selection from the particular member of one of 1) just me, 2) close friends, and 3) All Friends;
if the user selection is just me, then keeping the new entry viewable only by the particular member; and
if the user selection is close friends or All Friends, then sharing the new entry with either only close friends or All Friends, depending on the user selection;
wherein said providing at least one private journal includes providing an action-request journal designed and configured to post an add-to-action-list selector with the new entry so that when the action-request journal displays the new entry in the post-display region, the action-request journal displays the add-to-action-list selector among the plurality of posts within the post-display region of the post-display window;
wherein the new entry and add-to-action-list selector are each posted by a first member of the members, the method further comprising receiving a user selection of the add-to-action-list selector by a second member of the members; and
adding an action item to an action list of the second member in response to said receiving the user selection of the add-to-action-list selector.

US Pat. No. 10,168,865

DISPLAY APPARATUS FOR GENERATING SYMBOL AND METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. A method for executing a function of an icon by inputting a symbol, comprising:displaying a plurality of icons corresponding to a plurality of functions on a display;
analyzing, by a controller, an image corresponding to an icon of the plurality of icons to extract an outline of a graphic object included in the image and at least one letter of a text included in the image;
generating at least two symbols for the icon based on the analyzed image on the display comprising the extracted at least one letter of the text included in the image and the extracted outline of the graphic object included in the image;
in response to a symbol of the at least two generated symbols being selected by a user, matching the selected symbol to a function represented by the icon; and
in response to a user input which draws an image of the selected symbol using a user interface, executing the function.

US Pat. No. 10,168,864

GESTURE MENU

Citrix Systems, Inc., Fo...

1. A method, performed by a computing device of presenting a menu of an application running on the computing device on a touchscreen of the computing device, the method comprising:receiving a signal from the touchscreen indicating that a user has touched with a finger a menu activation element (MAE) displayed on a screen of the application;
in response to receiving the signal, displaying the menu on the touchscreen;
receiving a signal from the touchscreen indicating that the user, without having lifted the finger, is sliding the finger across the touchscreen in a first direction and, in response, displaying the MAE as a slider element of the menu and moving a display position of the slider element correspondingly on the touchscreen;
receiving a signal from the touchscreen indicating that the user, without having lifted the finger, has slid the slider element in a second direction substantially orthogonal to the first direction past a selection threshold and, in response, selecting a menu item corresponding to a current location of the slider element; and
in response to selecting the menu item, performing an action corresponding to the menu item,
wherein prior to receiving the signal from the touchscreen indicating that the user has slid the slider element in the second direction past the selection threshold, (i) displaying a tentative selection, (ii) determining that the tentative selection is associated with additional information, and (iii) displaying the additional information without the user having lifted the finger.

US Pat. No. 10,168,863

COMPONENT SPECIFYING AND SELECTION APPARATUS AND METHOD USING INTELLIGENT GRAPHIC TYPE SELECTION INTERFACE

Siemens Industry, Inc., ...

1. A method for generating an output identifying components for a system, each of the components having one of a plurality of types, each of the components defined by a plurality of specifications, the method comprising:employing a network interface to receive a selection tool into a computer system memory;
executing the selection tool on a processing device to open a multi-window display that includes a schedule window, a product type select window, and a product window;
executing the selection tool on the processing device, to display a menu of a plurality of graphic elements, each of the plurality of graphic elements representative of and corresponding to a product type;
executing the selection tool on the processing device to receive a user input selecting a first graphic element from the menu;
executing the selection tool on the processing device, subsequent to receiving the user input, to update the multi-window display to display the menu of the plurality of graphic elements without the first graphic element and to display the first graphic element in the product type select window;
displaying a parameter window simultaneously with the display of the product type select window, the product window and the schedule window, the parameter window comprising a plurality of interactive elements facilitating user identification of product parameters, each of the product parameters constituting physical characteristics;
receiving user input in the plurality of interactive elements, the user input defining a first product parameter;
executing the selection tool on the processing device, to filter a component database to identify a first set of components having a component type corresponding to the first graphic element and the first product parameter; and
executing the selection tool on the processing device to display in the product window data a list of components from the first set of components.

US Pat. No. 10,168,862

SYSTEM AND METHOD FOR MENU-BASED NAVIGATION

WALMART APOLLO, LLC, Ben...

1. A method comprising:transmitting instructions to display, in a second display area of a screen of a user, a default view of a first list of available media selections comprising at least one of popular media selections, new media selections, or recommended media selections based on a user history of the user while a first display area of the screen is devoid of a list of available media categories, a home position, and one or more secondary positions;
receiving a first input from the user;
in response to receiving the first input:
automatically causing the screen to exit out of the second display area; and
automatically transmitting instructions to display, in the first display area of the screen, the list of available media categories, wherein the first display area comprises the home position and the one or more secondary positions;
receiving a second input from the user selecting a first media category from the list of available media categories displayed in the first display area of the screen; and
in response to receiving the second input:
automatically transmitting instructions to display the first media category in the home position of the first display area of the screen;
automatically transmitting instructions to display, in the second display area of the screen, a second list of available media selections based on the first media category; and
automatically transmitting instructions to display, in the one or more secondary positions of the first display area, a list of available media sub-categories of the first media category in place of a portion of the list of available media categories that were not selected.

US Pat. No. 10,168,861

MENU DISPLAY DEVICE, MENU DISPLAY CONTROL METHOD, PROGRAM AND INFORMATION STORAGE MEDIUM

Sony Interactive Entertai...

1. A menu display device, comprising:a menu displaying unit configured to display on a screen a given range within a menu, in which a plurality of menu items are arranged in an array;
a range moving unit configured to move the given range in response to a scrolling operation performed by a user;
a determination unit configured to: (i) determine whether or not a first end menu item at a first end within the menu is displayed in a first predetermined position of the screen, and (ii) determine whether or not a second end menu item at a second end within the menu, opposite to the first end, is displayed in a second predetermined position of the screen; and
a space changing unit configured to change spaces between respective menu items displayed on the screen in response to the scrolling operation performed by the user, such that: (i) when the first end menu item at the first end is displayed in the first predetermined position of the screen, a first space between the first end menu item and an adjacent menu item, and a second space between the adjacent menu item and a next adjacent menu item, are widened, and (ii) when the second end menu item at the second end is displayed in the second predetermined position of the screen, a third space between the second end menu item and a prior adjacent menu item is widened, but a fourth space between the prior adjacent menu item and a next prior adjacent menu item is not widened.

US Pat. No. 10,168,859

CONTEXTUAL DETERMINATION OF EMOTION ICONS

International Business Ma...

1. A method comprising:generating, by one or more processors, a plurality of emotion icons, wherein the plurality of emotion icons is based on a class of a user, a class of a recipient, one or more facial parameters of the user, and one or more facial parameters of the recipient, wherein the class of the user is based on a current state of the user and a cognitive style of the user, wherein the class of the recipient is based on a current state of the recipient and a cognitive style of the recipient, wherein a current state of the user includes a current emotional state of the user, and wherein a cognitive style of the user reflects the user's cultural norms, demographic, and mental conditions;
determining, by one or more processors, for a user, at least one emotion icon among the plurality of emotion icons to automatically input into a message based on the class of the user, the class of the recipient and a context of the message;
inserting, by the one or more processors, the determined at least one emotion icon among the generated plurality of emotion icons into the message in response to determining the context of the message; and
generating, by the one or more processors, a new emotion icon from the generated plurality of emotion icons based on the one or more facial parameters and the determined context of the message.