US Pat. No. 10,430,250

DECOMPOSING MONOLITHIC APPLICATION INTO MICROSERVICES

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for transforming a monolithic application into a set of microservices, the method comprising: grouping, by a processor, classes and methods of the monolithic application into clusters, each of the clusters corresponding to a respective one of the microservices; determining, by the processor for each of the classes and the methods in the clusters, a number of function calls thereto and therefrom; presenting, by a display device to a user, four processing options for at least the one of the classes and the methods in the clusters that has a maximum value for the number of functions calls thereto and therefrom compared to other ones of the classes and the methods, the four processing options comprising: (1) create a new cluster with the at least one of the classes and the methods; (2) merge the at least one of the classes and the methods into a different cluster; (3) duplicate the at least one of the classes and the methods into all of the clusters that have caller or callee classes or methods from among the classes and the methods; and (4) remain the at least one of the classes and the methods; and processing, by the processor, the at least one of the classes and the methods in accordance with and responsive to a user selection of one of the four processing options.

US Pat. No. 10,430,249

SUPPORTING QUALITY-OF-SERVICE FOR VIRTUAL MACHINES BASED ON OPERATIONAL EVENTS

Red Hat Israel, Ltd., Ra...

1. A method comprising:identifying a quality-of-service level associated with a virtual machine (VM) hosted by a first host machine of a plurality of host machines that are coupled to and are managed by a host controller, wherein the quality-of-service level indicates an amount of resources of the first host machine allocated to the VM, and wherein a part of a quality-of-service manager is executed at the first host machine and another part of a quality-of-service manager is executed in the host controller;
monitoring, by the quality-of-service manager, interactions with the VM that cause an occurrence of an event at the VM, wherein the event is in an updateable list of events and estimated quality-of-service changes for the corresponding events associated with a user account for the VM, wherein the interactions comprise at least initiating an application at the VM that utilizes resources in excess of the amount of resources allocated to the VM;
determining, by the quality-of-service manager, an estimated amount of change in the quality-of-service level for the VM in accordance with the occurrence of the event and the updateable list;
determining, by the quality-of-service manager, whether the first host machine comprises resources to satisfy the change in the quality-of-service level for a duration of the event;
responsive to determining that the first host machine comprises the resources to satisfy the change, providing, by the quality-of-service manager, the VM with additional resources of the first host machine in accordance with the change in the quality-of-service level; and
responsive to determining that first host machine does not comprise the resources to satisfy the change, migrating, by the quality-of-service manager, the VM to a second host machine of the plurality of host machines for the duration of the event.

US Pat. No. 10,430,248

PROACTIVE HIGH AVAILABILITY IN A VIRTUALIZED COMPUTER SYSTEM

VMWARE, INC., Palo Alto,...

1. A method of managing virtual resources executing on a hardware platform including hardware-based sensors and software-based sensors that monitor health of one or more hardware resources of the hardware platform, the method comprising:generating event data for the hardware platform based at least in part on at least one change in sensor data, the at least one change in sensor data comprising at least one of: a memory error code, a fan revolutions per minute (RPM) value, a power supply voltage, a central processing unit (CPU) temperature, or a chassis temperature;
applying weights to the event data based on a fault model for the hardware platform to generate a health score that describes risk factors for an availability of the one or more hardware resources;
receiving an inventory mapping the virtual resources to the hardware resources of the hardware platform;
receiving resource usage data describing use of the hardware resources of the hardware platform by the virtual resources and generating resource utilization metrics from the resource usage data, the resource utilization metrics describing a performance metric for each of the hardware resources;
receiving policy data specifying rules applicable to the inventory, comprising a virtual resource to virtual resource affinity rule;
determining a set of recommendations for changes to at least one of the virtual resources based on the health score, the resource utilization metrics, and the policy data; and
implementing at least one recommendation in the set of recommendations for changes to the at least one of the virtual resources, the at least one recommendation comprising a migration of a particular virtual resource to a particular hardware resource, wherein the migration is allowed to violate the virtual resource to virtual resource affinity rule based at least in part on the health score.

US Pat. No. 10,430,247

BLUEPRINT-DRIVEN ENVIRONMENT TEMPLATE CREATION IN A VIRTUAL INFRASTRUCTURE

EMC Corporation, Hopkint...

1. A system for blueprint-driven environment template creation in a virtual infrastructure, comprising:an interface configured to:
receive a blueprint; and
receive an environment template configuration; and
a processor configured to:
build an environment template using the blueprint and the environment template configuration, wherein the environment template configuration comprises a set of configurations to be applied to an environment template building process, and wherein the environment template comprises one or more instantiated virtual machines;
receive an environment configuration; and
provision an environment using the environment template and the environment configuration, wherein the environment is for deploying an application, wherein the application is deployed based at least in part on the environment, an application configuration, and an application package, wherein to provision the environment comprises instantiating a content repository that is not comprised as part of the blueprint or the environment template, and configuring one or more connections between the environment and the content repository, and wherein the content repository has an assigned content repository identifier that is unique within at least the environment, and the instantiating the content repository is based at least in part on one or more parameters of the environment configuration; and
a memory coupled to the processor and configured to provide the processor with instructions.

US Pat. No. 10,430,246

VIRTUALIZED AND SYNCHRONOUS ACCESS TO HARDWARE ACCELERATORS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:triggering, by an application executing on a core of a multi-core processor, an interface code routine to acquire ownership of a hardware accelerator that is shared by a plurality of cores;
partitioning, by the interface code routine, an input work package of the application into a plurality of pages in one or more input queues;
providing the input work package to the hardware accelerator in groups of one or more pages through the one or more input queues based on acquiring ownership of the hardware accelerator; and
providing an output work package from the hardware accelerator in groups of one or more pages to the application.

US Pat. No. 10,430,245

SYSTEMS AND METHODS FOR DYNAMIC LOW LATENCY OPTIMIZATION

Hong Kong Applied Science...

1. A method for dynamically implementing low latency optimization for an application in an operating environment of a processor-based system, the method comprising:querying user space resources invoked in a user space of the operating environment by the application for user space resource information, wherein the querying the user space resources is performed by user space resolver logic operable in the user space of the operating environment, wherein the user space resolver logic resolves application identification information for the application to collect the user space resource information including information of at least one of user space threads or system services invoked by the application, wherein the user space resolver logic comprises a connection to a native process manager operable in a Kernel space of the operating environment for querying information of user space threads created by application, and wherein the user space resolver logic comprises a connection to services query logic provided with respect to a service manager operable in the user space for gathering resources of invoked services and to provide services state control;
determining if the application invokes one or more indirect resource of the processor-based system, wherein the one or more indirect resource of the processor-based system comprises a hardware resource utilized by system services which is invoked by the application;
when it is determined that the application invokes one or more indirect resource, querying Kernel space resources of the Kernel space of the operating environment for hardware resource information with respect to the hardware resource utilized by system services which is invoked by the application, wherein the querying the Kernel space resources is performed by Kernel space resolver logic operable in the user space of the operating environment, and wherein the Kernel space resolver logic resolves application identification information for the application to collect the hardware resource information including Kernel space threads of hardware utilized by system services which is invoked by the application; and
implementing one or more low latency optimization techniques to provide a low latency operating environment for the application based upon the user space resources information and, when it is determined that the application invokes one or more indirect resource, also based upon the hardware resource information.

US Pat. No. 10,430,243

FINE-GRAINED SCHEDULING OF WORK IN RUNTIME SYSTEMS

Oracle International Corp...

1. A method, comprising:performing, by a computer that includes at least one processor including multiple hardware contexts:
beginning execution of an application that is configured for execution on the computer and that includes a loop construct, wherein beginning execution comprises instantiating a plurality of threads of the application, wherein one of the threads is designated as a root thread, and wherein the other threads are designated to perform work in the loop construct;
beginning, by the root thread, execution of work in the application, wherein the other threads remain idle;
encountering, by the root thread, the loop construct while executing work in the application; and
upon the root thread encountering the loop construct while executing work in the application;
obtaining an allocation of loop iterations for execution of work in the loop construct;
assigning respective portions of the allocation of loop iterations to two or more of the threads; and
beginning, by the two or more of the threads, execution of the work in the loop construct.

US Pat. No. 10,430,242

TASK SWITCHING AND INTER-TASK COMMUNICATIONS FOR COORDINATION OF APPLICATIONS EXECUTING ON A MULTI-USER PARALLEL PROCESSING ARCHITECTURE

ThroughPuter, Inc., Jers...

1. A system for managing execution of a plurality of software applications on an array of processing units, the system comprising:a core fabric comprising
the array of processing units, and
a plurality of input data buffers, each input data buffer being provided for buffering input data directed to a respective software application of the plurality of software applications and being dedicated to the respective software application, wherein
each buffer of the plurality of input data buffers is deployed in the core fabric apart from the array of processing units, and
each software application of the plurality of software applications is provided one or more input data buffers of the plurality of input data buffers; and
a controller comprising hardware logic and/or software logic for performing operations for repeatedly reconfiguring task assignment to the array of processing units, the operations comprising, for each iteration of a plurality of iterations,
identifying, for each software application of at least a portion of the plurality of software applications, an amount of input data at one or more input data buffers of the plurality of input data buffers buffering data for the respective software application,
allocating, to each software application of the portion of the plurality of software applications, a number of processing units of the array of processing units based at least in part on the amount of input data buffered for the respective software application, and
for each software application of the portion,
i) assigning one or more task instances of the respective software application for concurrent processing of the amount of input data to the number of processing units allocated to the respective software application by the allocating as one or more assigned instances, and
ii) adjusting, based at least in part on a change in a count of units between the number of processing units allocated to the respective software application and a number of previously allocated processing units allocated to the respective software application during a previous iteration of the plurality of iterations, a relative portion of the amount of input data to be processed by at least one assigned instance of the one or more assigned instances;
wherein, for one or more iterations of the plurality of iterations where a current number of the one or more processing units allocated to any given software application of the portion of the plurality of software applications is increased by the allocating, adjusting comprises relatively decreasing the portion of the amount of input data to be processed by at least one instance of the one or more assigned instances of the respective software application; and
wherein for one or more other iterations of the plurality of iterations where a present number of the one or more processing units allocated to any given software application of the portion of the plurality of software applications is decreased by the allocating, adjusting comprises relatively increasing the portion of the amount of input data to be processed by at least one instance of the one or more assigned instances of the respective software application.

US Pat. No. 10,430,241

SYSTEMS AND METHODS FOR SCALABLE CLOUD COMPUTING BY OPTIMALLY UTILIZING MANAGEMENT CONTROLLER FOR HOST COMPUTE PROCESSING

Dell Products L.P., Roun...

1. An information handling system comprising:a host system comprising a host system processor;
a management controller communicatively coupled to the host system processor; and
a shared memory communicatively coupled to both the host system processor and the management controller;
wherein the management controller is configured to:
provide management of the information handling system via management traffic communicated between the management controller and a management network external to the information handling system and isolated from a data network coupled to the information handling system when the host system is in a powered-on state and also when the host system is in a powered-off state; and
allocate hardware processing resources of the management controller to provide compute processing support for the host system processor, such that data associated with the compute processing is stored in the shared memory and is configured to be operated on by both the host system processor and the hardware processing resources of the management controller.

US Pat. No. 10,430,240

FAULT-TOLERANT AND HIGHLY-AVAILABLE CONFIGURATION OF DISTRIBUTED SERVICES

PALANTIR TECHNOLOGIES INC...

1. A method for role-based configuration discovery, the method comprising:receiving a request comprising an identifier of a role, wherein the role represents a capability of a given service when executing;
wherein the request does not identify any particular service having the role;
identifying a first key associated with a service, in a replica of a distributed configuration store, comprising a first value that matches the identifier of the role, wherein the service is a software product or software application executing on one or more hosts in a distributed computing environment;
identifying one or more other key-value pairs associated in the replica with the service associated with the first key;
wherein the one or more other key-value pairs comprise configuration information for the service having the role;
wherein the one or more other key-value pairs comprise at least one key-value pair that is specific to the role that the service has; and
returning a response to the request to an entity that sent the request, the response comprising an identifier of the service and comprising the value of the at least one key-value pair that is specific to the role the service has,
wherein the method is performed on one or more computing devices.

US Pat. No. 10,430,239

METHOD AND SYSTEM FOR PREDICTING TASK COMPLETION OF A TIME PERIOD BASED ON TASK COMPLETION RATES OF PRIOR TIME PERIODS USING MACHINE LEARNING

CLARI INC., Sunnyvale, C...

1. A computer-implemented method for predicting task completion, the method comprising the operations of:receiving a request from a client for predicting task completion rates for a first set tasks, each of the first set of tasks associated with one or more of a plurality of attributes and scheduled to be performed within a first time period, wherein each of the plurality of attributes represents a task processing stage;
in response to the request, calculating, for each of the plurality of attributes, a completion rate of one or more of a second set of tasks that are associated with the attribute, wherein the second set of tasks have been performed during a second time period in the past, wherein the completion rate represents a percentage of the one or more tasks associated with the attribute that have been completed during the second timer period, wherein the completion rate for each of the plurality of attributes is smoothed by averaging completion rates of the respective attribute within a plurality of predetermined time windows shifted forward and backward for dates surrounding a given date within the second time period;
performing an isotonic regression operation on completion rates associated with the plurality of attributes of the second set of tasks that have been performed during the second time period to calibrate the calculated completion rates, wherein calibrating the calculated completion rates includes adjusting the calculated completion rates against a determined monotonic historical trend of completion rates of the plurality of attributes associated with tasks during a plurality of time periods in the past;
determining, for each of the plurality of attributes, one or more tasks from the first set of tasks that are associated with that attribute;
predicting a completion rate for the one or more determined tasks associated with the attribute based on a calibrated rate of the completion rates corresponding to that attribute; and
iteratively, for a predetermined number of iterations, performing the operations of receiving a request, calculating a completion rate, performing an isotonic regression, determining one or more tasks, and predicting a completion rate;
wherein, for each iteration of the predetermined number of iterations, a new set of tasks are used as the first set of tasks; and
wherein, for each iteration of the predetermined number of iterations, the first set of tasks and the second set of tasks for a preceding iteration are merged and used as the second set of tasks for that iteration of the predetermined number of iterations.

US Pat. No. 10,430,237

RESOURCE SCHEDULING METHOD AND RELATED APPARATUS

HUAWEI TECHNOLOGIES CO., ...

1. A resource scheduling method, comprising:determining a current task queue, wherein the current task queue comprises a plurality of to-be-executed application tasks;
determining, for data blocks to be accessed by the plurality of to-be-executed application tasks, a quantity of times that each data block is to be accessed by the plurality of to-be-executed application tasks;
determining a hotspot data block according to the quantity of times that each data block is to be accessed by the plurality of to-be-executed application tasks;
sending a move-in instruction to a local node of the hotspot data block, wherein the move-in instruction instructs moving the hotspot data block into a memory of the local node;
determining a quality of times that each data block in the memory is to be accessed by the plurality of to-be-executed application tasks;
determining as a non-hotspot data block, a data block in the memory to be accessed by the plurality of to-be-executed application tasks for a maximum of Q times, wherein Q is a preset value; and
sending a move-out instruction to a local node of the non-hotspot data block, wherein the move-out instruction instructs moving the non-hotspot data block out of the memory.

US Pat. No. 10,430,236

ELECTRONIC DEVICE AND METHOD FOR RESUMING PROCESS THEREOF

Samsung Electronics Co., ...

1. An electronic device comprising:a display; and
at least one processor configured to be functionally connected with the display,
wherein the at least one processor is further configured to:
detect at least one event which internally occurs in the electronic device or is caused by an external device or a user when the display is in the sleep state,
execute a system process if the at least one event is detected,
select one or more non-system processes related to one or more hardware or software components of the electronic device, respectively, on a basis of at least a part of the detected event,
determine functions of the one or more non-system processes,
generate a plurality of categories on the basis of the determined functions,
classify the one or more non-system processes into at least one of the plurality of the generated categories,
give an execution resumption priority with respect to the at least one of the plurality of the generated categories,
execute the one or more selected non-system processes by activating the one or more hardware or software components of the electronic device that are related to the one or more selected non-system processes,
freeze operations of the one or more selected non-system processes by inactivating the one or more hardware or software components if at least one event that is different from the detected event is not additionally detected for a predetermined time, after the at least one event is detected,
freeze an operation of the system process of the electronic device, and
temporarily stop a platform of the electronic device.

US Pat. No. 10,430,235

TASK MANAGING DEVICE FOR MANAGING TASKS RELATING TO AN ACCOUNTING PROCESS, TASK MANAGING METHOD AND NON-TRANSITORY COMPUTER-READABLE MEDIUM

CASIO COMPUTER CO., LTD.,...

1. A task support device comprising:a memory that stores management information and data history information, wherein the management information defines a plurality of task items to be completed by a user of the task support device and includes information indicating whether an associated past accounting process task is to be carried out for each of the task items after the task item is completed, and wherein the data history information includes past data associated with each past accounting process task, the past data being data comprising an associated completion due date for each task item and an associated predetermined data input item for each past accounting process task having been previously registered by the user; and
a processor that performs a process, wherein the process includes:
a task display process that displays, on a display of the task support device, a task screen in which each of the plurality of task items are displayed with its associated past accounting process task, predetermined data input item, completion due date, and a button which is selectable by the user and indicates completion of the associated task item when selected;
a determination process that determines, when the user selects a button associated with any one of the plurality of task items to indicate completion of the task item associated with the selected button, whether the associated past accounting process task is to be carried out after the task item is completed based on the stored management information associated with the task item;
a screen switching process that switches the screen displayed on the display from the task screen to an accounting process screen for the user to perform the associated past accounting process task when it is determined in the determination process that the associated past accounting process task is to be carried out after the task item is completed,
wherein the screen switching process switches the screen displayed on the display to the accounting process screen, the accounting process screen being in a state in which the past data has been automatically entered in a data input region of the accounting process screen; and
a registration process that registers the past data automatically entered in the data input region to a ledger responsive to the user selecting a button displayed on the accounting process screen.

US Pat. No. 10,430,234

THREAD COORDINATION IN A RULE ENGINE USING A STATE MACHINE

Red Hat, Inc., Raleigh, ...

1. A method comprising:executing, by a processing device, a multi-threaded rule engine comprising a first thread associated with user interactions, a second thread associated with timing events, a third thread associated with asynchronous execution of the rule engine, and a rule engine core accessible to at least one of the second thread or the third thread;
receiving user input by the processing device while executing the first thread;
generating, by the processing device while executing the first thread, a first command to perform a first action in view of the user input;
storing the first command in a queue, wherein the first command is one of a plurality of commands stored in the queue;
retrieving, by the processing device while executing the third thread, the plurality of commands from the queue; and
processing, by the processing device while executing the third thread, the plurality of commands using the rule engine core, wherein the rule engine core is inaccessible to the second thread while in use by the third thread.

US Pat. No. 10,430,233

SCHEDULING COMPUTATIONAL TASKS AMONG MULTIPLE CLASSES OF STORAGE RESOURCES BASED ON JOB CLASSIFICATION

EMC Corporation, Hopkint...

1. A job scheduling method comprising:obtaining at least one job to be executed from a client application;
obtaining a classification of a plurality of storage resources in a plurality of storage tiers into one of a plurality of predefined storage classes, wherein said plurality of predefined storage classes comprises at least two of a CPU Intensive storage class; an IO Intensive storage class and a Small IO storage class for said plurality of storage resources in said plurality of storage tiers;
maintaining a plurality of job queues comprising at least two of a CPU Intensive job queue; an IO Intensive job queue and a Small IO job queue;
classifying, in response to said obtaining said at least one job to be executed from said client application, said at least one job to be executed into a particular one of a plurality of predefined job classes based on one or more characteristics of the at least one job to be executed, wherein said plurality of predefined job classes comprises at least two of a CPU Intensive job class; an Intensive job class and a Small IO job class, wherein each of said plurality of predefined job classes is associated with a corresponding one of said plurality of predefined storage classes; and
dynamically assigning, in response to said obtaining said at least one job to be executed from said client application, said at least one job to be executed to one of the plurality of job queues for the predefined storage class associated with the particular predefined job class, wherein the storage resource for the predefined storage class is in at least one of the plurality of storage tiers, wherein the step of dynamically assigning said at least one job to be executed to the at least one storage class is based on said classifying of the at least one job to be executed into the particular predefined job class.

US Pat. No. 10,430,232

CONTROLLABLE WORKFLOW IN SOFTWARE CONFIGURATION AUTOMATION

ORACLE INTERNATIONAL CORP...

1. A distributed topology system, comprising:a server including a distributed topology engine (DTE) configured to define a topology comprising a plurality of building blocks, each building block representing at least one task pertaining to an application, and to control an automated software configuration workflow based on a user input, the user input including at least one criteria for pausing the at least one take pertaining to an application, the at least one criteria including a detected failure;
a client device including a distributed topology application configured to automatically execute at least one of the plurality of building blocks and a pause/resume module configured to pause the at least one task responsive to a pause request in response to the detected failure in the automated software configuration workflow during execution of the plurality of building blocks on at least one host, the detected failure including the client device central processing unit usage exceeding a usage threshold or an available memory of the client device is less than a memory threshold; and
a distributed topology database configured to store the topology.

US Pat. No. 10,430,230

TRANSACTION REDO USING SKIP ELEMENT FOR OBJECT

Microsoft Technology Lice...

1. A computing system comprising:one or more processors;
a computer-readable storage media having thereon computer-executable instructions that are structured such that, when executed by the one or more processors causes the computing system to perform a method for managing a transaction log that has an associated plurality of transaction segment records, the method comprising:
reviewing a first transaction segment record to identify a first transaction segment definition;
accessing the first transaction segment using the first transaction segment definition;
redoing processing of the first transaction segment by at least performing the following:
evaluating a potential redo of a first task within the first transaction segment;
as a result of evaluating the potential redo of the first task on a first object, identifying a different task, the different task being both a task that is rendered moot by the first task and a task that is part of a second transaction segment and is operable on a second object; and
as a result of determining that the different task is rendered moot by the first task, associating a skip element with the second object with respect to the different task, wherein the skip element is interpretable to cause the different task to be skipped during subsequent processing of the second transaction segment; and
redoing processing of the second transaction segment by at least performing the following:
accessing the second transaction segment using a second transaction segment definition;
encountering the skip element associated with the second object; and
as a result of encountering the skip element, skipping the different task by refraining from performing the different task on the second object.

US Pat. No. 10,430,229

MULTIPLE-PATCH SIMD DISPATCH MODE FOR DOMAIN SHADERS

Intel Corporation, Santa...

1. A method comprising:packing domain point data from at least three different domain shader patches into one single instruction multiple data (SIMD) thread with each domain point occupying one SIMD lane;
storing attributes for each domain point in its own partition in a register space addressable by programmed threads; and
filling all lanes of said thread by packing different domain shader patches into a single thread and eliminating duplicate buffer handle requests by replicating buffer data for identical handle requests, using an N-bit mask with one bit for each handle request, said N-bit mask to indicate that a first handle request is the same as a second handle request in the mask and a third handle request, different from said first handle request, is the same as a fourth handle request in said mask.

US Pat. No. 10,430,227

FAST INSTANTIATION OF VIRTUAL MACHINES IN DISTRIBUTED COMPUTING SYSTEMS

Microsoft Technology Lice...

1. A method of instantiation of virtual machines on nodes interconnected via a computer network in a distributed computing system having a central image store containing images of an operating system and optionally one or more applications suitable for instantiating virtual machines on the nodes, the method comprising:during instantiation of a virtual machine on a node in the distributed computing system,
receiving a request for a block of data in an image corresponding to the virtual machine to be instantiated; and
in response to receiving the request for the block of data,
determining whether a base caching disk on the node contains the requested block of data, the base caching disk being shareable by multiple virtual machines on the same node; and
in response to determining that the base caching disk does not contain the requested block of data,
retrieving, via the computer network, the requested block of data from the central image store without retrieving the image in entirety;
writing the retrieved block of data to a sector on the base caching disk at the node;
upon completion of writing the block of data to the sector, marking the sector containing the written block of data as read-only; and
providing the retrieved block of data from the caching base disk in response to the request, thereby enabling instantiation of the virtual machine without waiting for retrieving the image in entirety.

US Pat. No. 10,430,226

DYNAMIC VIRTUAL MACHINE SIZING

VMware Inc., Palo Alto, ...

1. A method carried out by a kernel scheduler of a hypervisor and a driver of a virtual machine, the kernel scheduler and the driver configured to communicate to implement a target number of virtual CPUs of the virtual machine to execute on physical CPUs of a host, the method comprising:determining, by a kernel scheduler, a first number of virtual CPUs, which is equal to a number of virtual CPUs demanded by the virtual machine based on a current system load;
determining, by the kernel scheduler, a second number of virtual CPUs, which is a number of virtual CPUs to which the virtual machine is entitled based on a number of virtual CPUs configured for the virtual machine;
determining, by the kernel scheduler, a target number of virtual CPUs for the virtual machine as a lesser of the first number of virtual CPUs and the second number of virtual CPUs;
notifying, by the kernel scheduler, a driver of the virtual machine of the target number of virtual CPUs;
determining, by the driver of the virtual machine, that the target number of virtual CPUs is less than a current number of virtual CPUs activated for the virtual machine;
launching, by the driver of the virtual machine, in a guest operating system of the virtual machine, and for execution on a virtual CPU, a prioritized process thread that includes a halt instruction; and
in response to detecting, by the kernel scheduler, that the virtual CPU is executing the halt instruction, deactivating the virtual CPU from executing in the virtual machine by descheduling the virtual CPU from executing on one or more physical CPUs of the host.

US Pat. No. 10,430,225

TRAFFIC MANAGEMENT ON AN INTERCONNECT

Amazon Technologies, Inc....

1. A server comprising:a set of bus pairs, each of the set of bus pairs comprising a data line and a clock line;
a processor coupled with a first pair of the set of bus pairs;
a baseboard management controller (BMC) coupled with a second pair of the set of bus pairs;
a platform controller coupled with a third pair of the set of bus pairs;
a non-volatile memory coupled with a fourth pair of the set of bus pairs;
a sensor device configured coupled with a fifth pair of the set of bus pairs; and
a data traffic manager comprising a set of upstream port pairs and a set of downstream port pairs, the set of upstream port pairs being coupled with the first, second, and third pairs of the set of bus pairs, the set of downstream port pairs being coupled with the fourth and fifth pairs of the set of bus pairs;
wherein the data traffic manager is configured to operate in a disabled mode, a filtering mode, or a pass-through mode;
wherein in the disabled mode, the data traffic manager is configured to block transmission of any signals from one of the set of upstream port pairs to one of the set of downstream port pairs;
wherein in the filtering mode, the data traffic manager is configured to:
receive a first write request from a first upstream port of the set of upstream port pairs, the first write request being targeted at a first downstream port of the set of downstream port pairs; and
block the first write request from reaching the first downstream port based on a determination that the first write request is associated with a forbidden transaction; or
forward the first write request to the first downstream port based on a determination that the first write request is not associated with the forbidden transaction; and
wherein in the pass-through mode, the data traffic manager is configured to forward a second write request from a second upstream port to a second downstream port not based on whether the second write request is associated with a disallowed transaction.

US Pat. No. 10,430,224

METHODS AND APPARATUS FOR PROVIDING HYPERVISOR LEVEL DATA SERVICES FOR SERVER VIRTUALIZATION

Zerto Ltd., Herzilya (IL...

1. A hypervisor system, comprising:a tapping driver at a first host site to intercept a write request from a virtual server to a first virtual disk, the tapping driver installed in a software layer between the virtual server and the first virtual disk in a hypervisor kernel of a hypervisor; and
a first virtual data services appliance at the first host site in communication the tapping driver to:
receive the write request from the tapping driver,
transmit a first copy of the write request to a journal manager at the first host site,
transmit a second copy of the write request to a second virtual data services appliance at a second host site, the second copy assigned a sequence number, the second virtual data services appliance applies the write request to a second virtual disk at the second host site, and
transmit a third copy of the write request to a data analyzer at the first host site.

US Pat. No. 10,430,223

SELECTIVE MONITORING OF WRITES TO PROTECTED MEMORY PAGES THROUGH PAGE TABLE SWITCHING

VMware, Inc., Palo Alto,...

1. A method of monitoring memory pages using first and second sets of page tables, the method comprising:activating the first set of page tables while operating in a first privilege mode, and activating the second set of page tables while operating in second privilege mode that is of a higher privilege mode than the first privilege mode;
responsive to a write to a first memory page:
refraining from generating a notification that the write is performed on the first memory page if (a) the write is performed by a guest integrity driver running within a virtual machine while the guest integrity driver is operating in the second privilege mode, wherein the guest integrity driver defines which memory pages of the virtual machine are protected, and (b) the first memory page comprises data of the guest integrity driver; and
generating the notification that the write is performed on the first memory page if one of: (a) the write is performed by a component of the virtual machine other than the guest integrity driver while the component is operating in the first privilege mode, or (b) the write is performed by the guest integrity driver while operating in the second privilege mode and the first memory page does not comprise data of the guest integrity driver,
wherein the first memory page has a page table entry in both the first and second sets of page tables.

US Pat. No. 10,430,222

CLOUD BASED PLATFORM SIMULATION FOR MANAGEMENT CONTROLLER DEVELOPMENT

AMERICAN MEGATRENDS INTER...

1. A system, comprising:a cloud network comprising one or more processors that execute computer executable code and computing resources, configured to utilize the computing resources to provide a storage service storing the computer executable code, wherein the computer executable code comprises:
a hypervisor configured to be executed at the one or more processor on the cloud network to provide a first domain; and
a plurality of virtual machines (VMs), configured to correspondingly simulate a plurality of simulated management controllers and a plurality of simulated host computing devices, wherein each of the VMs comprises a firmware module for a corresponding one of the simulated management controllers, and a simulator module configured to simulate a corresponding one of the simulated host computing devices for the corresponding one of the simulated management controllers;
wherein the hypervisor, when executed at the one or more processor on the cloud network, is configured to provide the first domain on the cloud network, allowing the plurality of VMs to be executed simultaneously in the first domain as a plurality of VM instances, such that the VM instances share the computing resources of the cloud network as a hardware host;
wherein each of the VMs, when executed at the one or more processor in the first domain on the cloud network as a corresponding one of the VM instances, is configured to:
execute the corresponding simulator module to provide the corresponding one of the simulated host computing devices and at least one simulated device connected to the corresponding one of the simulated host computing devices;
execute the corresponding firmware module to provide the corresponding one of the simulated management controllers, such that the corresponding one of the simulated management controllers is configured to receive at least one output signal from the corresponding one of the simulated host computing devices or from the at least one simulated device connected to the corresponding one of the simulated host computing devices; and
receive, by the corresponding simulating module from a library program of a plurality of library programs stored in the corresponding firmware module, a command for the corresponding one of the simulated host computing devices or the at least one simulated device;
control the corresponding simulator module to generate the at least one output signal as a response to the command based on configuration data of the corresponding one of the simulated host computing devices or the at least one simulated device connected to the corresponding one of the simulated host computing devices; and
send the at least one output signal to the corresponding firmware module.

US Pat. No. 10,430,221

POST-COPY VIRTUAL MACHINE MIGRATION WITH ASSIGNED DEVICES

1. A method of page migration, the method comprising:updating a mapping at a first time, wherein updating the mapping at the first time includes:
storing a first mapping of a first plurality of pages of a guest of a virtual machine, which is being migrated from a migration source to a migration destination, in an input-output memory management unit,
wherein each of the migration source and the migration destination has at least one internal hardware device,
wherein responsive to updating the mapping, an external hardware device receives access to the first plurality of pages in the input-output memory management unit, the external hardware device being external to and separate from the guest virtual machine;
detecting a plurality of page faults;
copying a second plurality of pages of the guest of the virtual machine, from the migration source to the migration destination; and
updating the mapping at a second time after the first time, wherein updating the mapping at the second time includes:
storing a second mapping of the second plurality of pages in the input-output memory management unit,
wherein responsive to updating the mapping, the external hardware device receives access to the second plurality of pages in the input-output memory management unit.

US Pat. No. 10,430,220

VIRTUAL DEVICES AS PROTOCOL NEUTRAL COMMUNICATIONS MEDIATORS

EMC IP HOLDING COMPANY LL...

1. An apparatus comprising:a set of non-volatile back-end storage devices; and
at least one computing node that manages access to the set of non-volatile back-end storage devices, the computing node comprising:
a front-end adapter configured to communicate with an external device;
at least one processor;
a memory;
a primary operating system;
at least one guest operating system;
a hypervisor that manages allocation of the processor and the memory to the guest operating system; and
a logical communications device that is discoverable and discovered by the guest operating system as a communications device and transmits communications between the guest operating system and the front-end adapter, the logical communications device comprising a memory space that is mapped to the guest operating system and a client driver that wraps small computer system interface command descriptor blocks into protocol messages that are transmitted between the guest operating system and the front-end adapter without hypervisor intervention.

US Pat. No. 10,430,219

CONFIGURING VIRTUAL MACHINES IN A CLOUD COMPUTING PLATFORM

Yokogawa Electric Corpora...

1. A method for controlling a virtual machine in a cloud environment, with a worker role, based on operating conditions, the method comprising:storing a configuration data input for a threshold value of an operating characteristic;
receiving an operational data regarding a status of the virtual machine;
storing the operational data regarding the status of the virtual machine;
calculating an operational cost data from the operational data, the operational cost data including a monetary data value;
comparing the calculated operational cost data with the threshold value of the operating characteristic; and
sending a command to shut down the virtual machine where the calculated operational cost data meets or exceeds the threshold value of the operating characteristic.

US Pat. No. 10,430,218

MANAGEMENT OF DEMAND FOR VIRTUAL COMPUTING RESOURCES

Amazon Technologies, Inc....

1. A computer-implemented method comprising:obtaining data regarding historical requests for virtual machine resources;
identifying, based at least in part on the data regarding historical requests for virtual machine resources, targeted demand associated with a geographic region, wherein the targeted demand corresponds to a first portion of the historical requests for virtual machine resources, and wherein individual requests in the first portion specify an individual availability zone of a plurality of availability zones associated with the geographic region;
identifying, based at least in part on the data regarding historical requests for virtual machine resources, untargeted demand associated with the geographic region, wherein the untargeted demand corresponds to a second portion of the historical requests for virtual machine resources, and wherein individual requests in the second portion do not specify an individual availability zone of the plurality of availability zones associated with the geographic region;
predicting at least one attribute of future demand based at least in part on the identified targeted and untargeted demand associated with the geographic region; and
allocating one or more virtual machine resources to at least one availability zone of the plurality of availability zones based, at least in part, on the predicted at least one attribute of future demand.

US Pat. No. 10,430,217

HIGH AVAILABILITY USING DYNAMIC QUORUM-BASED ARBITRATION

VMware, Inc., Palo Alto,...

1. A computer-implemented method, comprising:determining, by a first virtual infrastructure manager (VIM), that the first VIM is to be an active manager of a plurality of virtual machines running on a plurality of host devices and that a second VIM is to be a standby manager of the plurality of virtual machines running on the plurality of host devices;
selecting, by the first VIM, a first host device from the plurality of host devices to serve as a passive witness node in arbitrating active and standby roles between the first VIM and second VIM, wherein the passive witness node maintains a VIM identifier and session identifier for the active manager, wherein the first host device runs one or more virtual machines and is managed by the active manager, wherein the first host device is not the active manager, and wherein selecting the first host device includes determining that the first host device is available to both the first VIM and the second VIM comprising:
the first VIM determining that the first host device is available to the first VIM,
the first VIM providing an identification of the first host device to the second VIM, and
the first VIM receiving confirmation from the second VIM that the first host device is available to the second VIM; and
writing, by the first VIM, a first file on the first host device indicating that the first VIM is the active manager.

US Pat. No. 10,430,216

VIRTUAL MACHINE AUTOMATED SELECTION

Scale Computing Inc, Ind...

1. A method, including steps ofin response to status information describing ability to execute virtual machines from each one of a cluster of intercommunicating physical devices, maintaining a distributed fault tolerant file system;
wherein each of the physical devices is disposed to intermittently and autonomously directly report said status information to each other physical device;
wherein each of the physical devices is disposed to maintain a separate hypervisor manager, each separate hypervisor manager being disposed to control virtual machines to cause a first one of those virtual machines to communicate with one or more second virtual machines both on the same physical device and on each other physical device;
wherein each of the physical devices is disposed to maintain a separate set of storage units, and is disposed to access storage blocks both on the same physical device and on each other physical device, wherein the physical devices are disposed to collectively maintain each storage block on at least a first storage unit at a first physical device, and on at least a separate second storage unit at a separate second physical device;
wherein the physical devices are collectively disposed to continuously maintain a unified pool of storage blocks providing fault tolerance against data loss, wherein each first physical device accesses storage blocks maintained in the unified pool at a separate second physical device directly by a private network switch accessible only to the cluster of intercommunicating physical devices without intermediate operation of a separate processor; and
in response to a control signal from an operator with respect to a new virtual machine, operating a console coupled to said cluster to select from the cluster a particular physical device to host said new virtual machine, to assign said new virtual machine to said particular physical device, and to start said new virtual machine on said particular physical device without substantial operator decision-making or intervention.

US Pat. No. 10,430,214

DYNAMICALLY GENERATING CUSTOM APPLICATION ONBOARDING TUTORIALS

GOOGLE LLC, Mountain Vie...

1. A method comprising:determining, by an application executing at a computing device, whether the application has previously been executed by the computing device;
responsive to determining that the application has not previously been executed by the computing device:
determining, by the application, contextual information associated with the computing device;
determining, by the application, based at least in part on the contextual information, content to include in at least one template graphic user interface of a plurality of template graphical user interfaces for an onboarding tutorial of the application, wherein at least one template graphical user interface from the plurality of template graphical user interfaces is associated with at least one feature of the application;
responsive to determining the content to include in the at least one template graphical user interface, generating, by the application and based on the at least one template graphical user interface and the content, at least a first graphical user interface of the onboarding tutorial; and
outputting, by the application, for display at a display device, an indication of the first graphical user interface of the onboarding tutorial; and
responsive to determining that the application has previously been executed by the computing device:
determining, by the application, based at least in part on the context of the computing device, a respective relevancy score associated with the at least one feature that is associated with a respective template graphical user interface,
wherein each respective relevancy score indicates a probability that a user will be interested in the feature associated with the respective template graphical user interface, and
wherein determining the respective relevancy score is in response to determining, by the application, that a threshold amount of time has elapsed since the application was the most recently executed by the computing device; and
responsive to determining that at least one of the respective relevancy scores satisfies a threshold relevancy score, outputting, by the application, for display at the display device, an indication of at least a second graphical user interface indicative of the feature associated with the respective relevancy score.

US Pat. No. 10,430,213

METHOD AND APPARATUS FOR PROVIDING HELP INFORMATION AND USER DEVICE ADAPTED TO THE METHOD

Samsung Electronis Co., L...

1. A method of providing help information of a user device comprising:identifying, by a controller of the user device, information about a function from a video displaying the function and meta-information related to the video, wherein the information about the function comprises information about an updated function;
determining, by the controller of the user device, whether the user device supports the function based on the identified information;
activating, by the controller of the user device, when the user device supports the function, a help function for the function; and
outputting, by the controller of the user device, help information about the function.

US Pat. No. 10,430,212

METHOD FOR RECORDING, EDITING AND REPRODUCTION OF COMPUTER SESSION

Screenshare Technology Lt...

1. A method for recording, editing and reproduction of a user session on a computer, the method comprising:using a browser extension, initiating recording of user interactions with the computer;
generating a recording of the user interactions as an event stream, wherein the recording includes mouse events and display events and Domain Object Model (DOM) mutations of displayed objects in response to the user interactions,
wherein the user interactions are stored as a set of frames, where each application with which the user interacts through the displayed objects has a folder with frame numbers, and each frame includes a hierarchy of objects being stored;
writing the recording into a script;
assigning unique IDs to the displayed objects;
capturing an initial state of the displayed objects;
capturing events representing the user interactions and the DOM mutations;
transmitting the recording of the events and the DOM mutations to file stored on a file system of a server;
providing an interface to edit the recording stored on the server, wherein the editing includes changes to objects, elements, text or images stored in the recording; and
in response to a user request to play back the recording
(a) opening a browser window; and
(b) playing back the edited recording;
wherein the events and the DOM mutations are saved using JavaScript Object Notation (JSON) format.

US Pat. No. 10,430,211

PARAMETERIZED USER INTERFACE FOR CAPTURING USER FEEDBACK

Ignition Interfaces, Inc....

1. A computer implemented method for processing a user interface to capture user feedback, comprising:identifying, by at least one processor, a user interface (UI) element code for an information screen based at least in part on a parameter data structure, wherein the UI element code is configured to perform a first action, the parameter data structure is linked to the UI element code, and the parameter data structure indicates a type of user feedback;
requesting, by the at least one processor, a set of responses from a database based at least in part on the parameter data structure;
generating, by the at least one processor, a set of UI elements in place of the UI element code based at least in part on the UI element code and the set of responses, wherein each UI element in the set of UI elements is configured to perform the first action performed by the UI element code and a second action comprising capturing a response in the set of responses; and
presenting, by the at least one processor, the information screen with the set of UI elements.

US Pat. No. 10,430,210

SYSTEMS AND DEVICES FOR ACCESSING A STATE MACHINE

Micron Technology, Inc., ...

1. A system, comprising:a processor;
a direct memory access (DMA) controller coupled to the processor;
a buffer coupled to the DMA controller and configured to be accessed by the DMA controller, wherein the DMA controller performs a DMA transfer with a state machine engine comprising the buffer and configurable elements configured to analyze the at least a portion of a data stream and to selectively output a result of the analysis, wherein the buffer is configured to store at least one of an instruction or a data related to the data stream and is used for the DMA transfer; and
a second state machine engine comprising a second buffer, wherein the first state machine engine and the second state machine engine are configured to provide a respective count of the number of bytes in their respective buffer to the DMA controller as byte counts, wherein the DMA controller is configured to read the byte counts, determine the greatest number of bytes contained in any of the buffers of the first state machine and the second state machine as a greatest number of bytes value, round the greatest number of bytes value up to a nearest 8-byte burst boundary as a final number of bytes value, and set the DMA operation to read that final number of bytes value from the buffers of the first state machine engine and the second state machine engine.

US Pat. No. 10,430,209

SYSTEM AND METHOD FOR SERVER CUSTOMIZATION

OPEN INVENTION NETWORK LL...

1. A method, comprising:accessing build software on a server to be built, the build software including a server customizer module and a server unattended install launch module;
chaining, on the server to be built, a plurality of standardized processes based on a version of a server customizer initialization file of the server customizer module; and
executing the server customizer module and the server unattended install launch module on the server; wherein the server customizer module comprises selectable functions each comprising a set of keys that provide a value for a name, a location, and a plurality of arguments;
wherein the set of keys provides a value for an update path associated with the selectable function; wherein the set of keys includes a key that instructs the server customizer module on an action to take upon completion of a launched process; and wherein execution of the server customizer module and the server unattended install launch module are performed independently on the server;
wherein the action to take is selected from a group comprising a reboot of the server, a prompt to reboot the server, a prompt to rename the server, a prompt to join a domain, and a deletion of a specified file.

US Pat. No. 10,430,208

MULTI-VERSION ASYNCHRONOUS DYNAMIC SOFTWARE UPDATE SYSTEM AND METHOD FOR APPLICATIONS WITH MULTIPLE THREADS

HUAWEI TECHNOLOGIES CO., ...

1. A method for updating a software component used by a multi-threaded application, comprising:storing, in memory, a first function table that points to executable code in the memory for functions from a first version of the software component;
setting a global pointer to point to the first function table;
copying the global pointer to a local pointer of a first application thread of the multi-threaded application;
storing, in the memory, a second function table that points to executable code in the memory for functions from a second version of the software component;
referencing the first function table that the local pointer of the first application thread points to, when running the first application thread, to execute the functions from the first version of the software component;
responsive to receiving a signal indicating that the second version of the software component is available, updating the global pointer to point to the second function table;
copying the global pointer to a local pointer of a second application thread of the multi-thread application; and
referencing the second function table that the local pointer of the second application thread points to, when running the second application thread that is active concurrently with the first application thread, to execute the functions from the second version of the software component.

US Pat. No. 10,430,207

METHOD AND ELECTRONIC DEVICE FOR DIRECTLY STARTING APPLICATION ON SECOND VIRTUAL MACHINE IN OPERATING ENVIRONMENT OF FIRST VIRTUAL MACHINE

CLOUDMINDS (SHENZHEN) ROB...

1. A method for starting an application, comprising:receiving, by a first virtual machine, startup information and creating a startup identifier associated with the startup information;
receiving, via the first virtual machine, a startup instruction for starting an application on a second virtual machine;
acquiring the startup information corresponding to the startup instruction, the startup information comprising information of the second virtual machine and information of the application on the second virtual machine;
starting the second virtual machine according to the information of the second virtual machine; and
starting the application on the second virtual machine according to the information of the application on the second virtual machine;
wherein the receiving, via the first virtual machine, the startup instruction for starting the application on the second virtual machine comprises:
receiving, via the first virtual machine, the startup instruction for starting the application on the second virtual machine that is generated after the startup identifier is triggered;
wherein the receiving, by the first virtual machine, the startup information comprises:
determining, by a virtualization layer host, the startup information; and
receiving, by the first virtual machine, the startup information sent by the virtualization layer host;
wherein prior to the receiving, by the first virtual machine, the startup information sent by the virtualization layer host, the method further comprises:
receiving, by the virtualization layer host, first selection information, and selecting to create the startup identifier on the first virtual machine according to the first selection information; and
wherein the first selection information is used for selecting on which virtual machine the startup identifier is to be created, and the first selection information is acquired by means of a select or input operation in a pop-up dialog box.

US Pat. No. 10,430,205

LOCKING/UNLOCKING CPUS TO OPERATE IN SAFETY MODE OR PERFORMANCE MODE WITHOUT REBOOTING

TEXAS INSTRUMENTS INCORPO...

1. A method of changing from a safety mode to a performance mode in a multi-processor system that includes a first central processing unit (CPU), a second CPU, and a memory, the method comprising:detecting an external event;
in response to detecting the external event, performing a context switching procedure that includes:
saving a safety mode context of each of the first and second CPUs into the memory;
loading a first performance mode context from the memory into the first CPU;
loading a second performance mode context from the memory into the second CPU; and
unlocking the first and second CPUs with respect to one another to stop lock-step execution without rebooting the multi-processor system by providing a notification to stop lock-step execution to a compare unit coupled to the first and second CPUs and thereafter disengaging cache forwarding between the first and second CPUs, wherein disengaging cache forwarding between the first and second CPUs includes controlling a cache forwarding function between the first and second CPUs from being engaged in which cache forwarding is permitted to being disengaged in which cache forwarding is not permitted;
wherein software continues to operate on the multi-processor system in the performance mode.

US Pat. No. 10,430,204

SYSTEM AND METHOD FOR CLOUD PROVISIONING AND APPLICATION DEPLOYMENT

BladeLogic Inc., Houston...

1. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed, are configured to cause at least one computing device to implement:a snapshot engine to capture hardware characteristics and software characteristics from a user-selected physical environment and to create abstractions from the hardware characteristics and the software characteristics, wherein the abstractions include classes of hardware and classes of software;
a provisioning engine to provision a cloud environment, wherein:
the provisioning engine interacts with an application programming interface (API) of the cloud environment using configuration information,
the configuration information includes the abstractions created by the snapshot engine and user changes to the abstractions through a user interface,
the provisioning engine maps the configuration information to calls to the API of the cloud environment, and
the provisioning engine is separate from a provider of the cloud environment and is separate from a runtime engine; and
the runtime engine to receive application configuration information and to deploy an application in the cloud environment using the application configuration information.

US Pat. No. 10,430,203

INTERCEPTION OF IDENTIFIER FROM CLIENT CONFIGURABLE HARDWARE LOGIC

Amazon Technologies, Inc....

1. A system, comprising:a networked computer device implementing domains, wherein the domains include:
a client domain including a logical portion and a hardware portion; and
a host domain having a higher priority level than the client domain;
wherein a peripheral device coupled to the networked computer device includes:
a programmable logic device comprising programmable logic hardware included in the hardware portion of the client domain, the programmable logic hardware configured according to a bitstream, wherein the programmable logic device is coupled to a virtual machine residing in the logical portion of the client domain;
a shell logic circuit included in the host domain, wherein the shell logic circuit defines the programmable logic hardware as being included in the client domain with the virtual machine by enabling data to be transmitted between the virtual machine and the programmable logic hardware and wherein the data traverses the host domain; and
a hypervisor configured to:
manage interactions between the host domain and the logic portion of the client domain;
identify a request, from the virtual machine residing in the client domain, for an identifier corresponding to the programmable logic hardware;
intercept a first identifier from the programmable logic device, the first identifier to be provided in response to the request for the identifier; and
transmit a second identifier to the virtual machine instead of the first identifier, wherein the second identifier is different form the first identifier.

US Pat. No. 10,430,202

DUAL PURPOSE BOOT REGISTERS

HEWLETT PACKARD ENTERPRIS...

1. A method comprising:transitioning, by a host processor, to a first phase of an early boot process, the early boot process occurring before the host processor initializes a primary link between the host processor and a management controller;
updating a dual purpose boot register of the host processor to store an early boot phase identifier corresponding to the first phase and an early boot status identifier corresponding to the first phase, wherein a first bit range of the dual purpose boot register is to store a plurality of early boot phase identifiers corresponding to a plurality of early boot phases, and a second bit range of the dual purpose boot register is to store a plurality of early boot status identifiers corresponding to a plurality of early boot error codes;
obtaining, by the management controller, the early boot phase identifier and the early boot status identifier of the host environment by accessing the dual purpose boot register through a side-band interface between the management processor and the host processor;
storing, by the management controller, the early boot phase identifier and the early boot status identifier in an early boot progress log; and
detecting, by the management controller, an early boot error occurring within the host environment based on the early boot progress log.

US Pat. No. 10,430,201

MULTI-PLATFORM FIRMWARE SUPPORT

American Megatrends Inter...

1. A computer-implemented method comprising:accessing a multiplatform firmware image to obtain a platform globally unique identifier (GUID) identifying a particular hardware platform for a computer, wherein the multiplatform firmware image supports a plurality of hardware platforms by comprising:
a core firmware volume that includes a set of common files that are commonly usable for booting multiple different hardware platforms of the plurality of hardware platforms, and
a plurality of platform-specific firmware volumes that include sets of platform-specific files that are specific for booting individual hardware platforms of the plurality of hardware platforms;
installing a platform identifier interface including the platform GUID;
executing a particular set of platform-specific files contained in a particular platform-specific firmware volume of the plurality of platform-specific firmware volumes including the platform GUID and executing the set of common files of the core firmware volume including the platform GUID based at least in part on:
dependency expressions of at least some files contained in the particular platform-specific firmware volume and the set of common files of the core firmware volume, and
the platform identifier interface.

US Pat. No. 10,430,198

DYNAMIC DETECTION AND PREDICTION FOR STORE-DEPENDENT BRANCHES

Intel Corporation, Santa...

1. An apparatus comprising:a store direct dependent (SDD) branch prediction circuitry to store an SDD branch table, the SDD branch table to store at least one record, each record comprising a branch instruction pointer (IP) field, a load IP field, a store IP field, a comparison info field and at least one of a store value field and/or a predicted outcome field; and
an SDD management circuitry to populate the SDD branch table at runtime and to override a baseline branch prediction associated with an incoming branch IP with an SDD branch prediction, if the SDD branch table contains a first record populated with the incoming branch IP and at least one of a store value and/or an SDD predicted outcome.

US Pat. No. 10,430,197

BANKING REGISTER RENAMING TO REDUCE POWER

SAMSUNG ELECTRONICS CO., ...

1. An apparatus comprising:a register circuit comprising:
a plurality of physical registers that are partitioned into at least a common portion that is reserved for a predefined plurality of instruction classes, and a shared portion that is available to any instruction class, and
a plurality of write ports, wherein each portion is associated with at least one respective write port; and
an instruction scheduler circuit configured to:
rename an architectural register associated with an instruction to a physical register, wherein the portion including the physical register is selected based, at least in part, upon a characteristic of the instruction.

US Pat. No. 10,430,196

ARITHMETIC PROCESSING DEVICE FOR PREDICTING LOOP PROCESSING

FUJITSU LIMITED, Kawasak...

1. An arithmetic processing device comprising:an address generation unit configured to generate an address for fetching an instruction;
a branch prediction unit configured to predict a branch destination address of a branch instruction based on the address generated by the address generation unit, output the predicted branch destination address to the address generation unit, and predict loop processing based on the address generated by the address generation unit;
an instruction buffer unit configured to store an instruction corresponding to the address generated by the address generation unit;
a first instruction decoding unit configured to decode the instruction stored in the instruction buffer unit;
a loop buffer unit configured to store decoding results or decoding intermediate results of instructions of the predicted loop processing that are decoded by the first instruction decoding unit and output the stored decoding results or decoding intermediate results a predetermined number of times in response to the predicted loop processing; and
a selection unit configured to select either output of the loop buffer unit or output of the first instruction decoding unit, wherein
during a period when the selection unit selects the output of the loop buffer unit, the loop buffer unit stops operations of the address generation unit, the branch prediction unit, the instruction buffer unit, and the first instruction decoding unit.

US Pat. No. 10,430,195

STREAM BASED BRANCH PREDICTION INDEX ACCELERATOR WITH POWER PREDICTION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for predicting an instruction that ends an instruction stream in a pipelined high frequency microprocessor, the method comprising:receiving, by a processor, a first instruction within a first instruction stream, the first instruction comprising a first instruction address;
searching, by the processor, a stream-based index accelerator predictor based on the first instruction address, wherein the stream-based index accelerator predictor comprises a one dimensional array comprising a plurality of rows, wherein each row of the plurality of rows comprises data indicative of a prediction of which column of a plurality of columns of a corresponding row of a metadata prediction engine will include a first taken prediction;
searching, by the processor, the metadata prediction engine based on the first instruction address, wherein the searching of the metadata prediction engine and the searching of the stream-based index accelerator is initiated at approximately the same time;
determining, by the processor based on the searching of the stream-based index accelerator prior to an execution of the first instruction, a first prediction for an ending instruction of the first instruction stream that ends the first instruction stream and a starting address of a second instruction stream, the ending instruction comprising a second instruction address, wherein the first prediction is determined prior to an end of the searching of the metadata prediction engine;
using the first prediction as a preliminary prediction;
determining, by the processor based on the searching of the metadata prediction engine, a second prediction for an ending instruction of the first instruction stream that ends the first instruction stream and a starting address of a second instruction stream;
influencing, by the processor, the metadata prediction engine based on the first prediction; and
responsive to determining that the first prediction does not match the second prediction, updating, by the processor, the stream-based index accelerator predictor with information indicative of the second prediction by updating the prediction of which column of a plurality of columns of a corresponding row of a metadata prediction engine will include the first taken prediction.

US Pat. No. 10,430,194

METHOD FOR MAINTAINING A BRANCH PREDICTION HISTORY TABLE

INTERNATIONAL BUSINESS MA...

1. A method for managing tasks in a computer system comprising a processor and a memory containing program instructions, the processor being configured for executing tasks, the program instructions comprising task-relating branch instructions and task-independent branch instructions, and being configured for executing a branch prediction method for predicting the behavior of the task-relating branch instructions and the task-independent branch instructions and determining branch prediction data for the task-relating branch instructions and the task-independent branch instructions, the processor comprising a control register for controlling the tasks to be executed and a branch prediction history table for storing branch prediction data determined with the branch prediction method, the memory comprising a memory area for storing a task structure of each of the tasks, the task structure being configured for storing branch prediction data, the method comprising:identifying the task-independent branch instructions by identifying the task-independent branch instructions as being tagged with a processor state indicating user or privileged mode or by identifying an address range of the task-independent branch instructions as the address range of standard libraries, wherein the task-independent branch instructions produce task-independent branch prediction data;
performing a first task by the processor, the first task comprising task-relating branch instructions and the task-independent branch instructions,
executing the branch prediction method, resulting in branch prediction data, including the task-independent branch prediction data produced by the task independent branch instructions, in the branch prediction history table,
in response to determining that the first task is to be interrupted or terminated, storing task-relating branch prediction data of the first task in the task structure of the first task,
in response to determining that a second task is to be continued or started, reading task-relating branch prediction data of the second task from the task structure of the second task and storing the task-relating branch prediction data of the second task in the branch prediction history table, and ensuring that the task-independent branch prediction data produced by the task independent branch instructions is maintained in the branch prediction history table; and
providing a first marking to the task-relating branch prediction data of the second task in the branch prediction history table, the first marking indicating that the task-independent branch prediction data produced by the task independent branch instructions is exempt from replacement in the branch prediction history table while the second task is executing.

US Pat. No. 10,430,193

PACKED DATA ELEMENT PREDICATION PROCESSORS, METHODS, SYSTEMS, AND INSTRUCTIONS

Intel Corporation, Santa...

1. A processor comprising:a first register;
a decode unit to decode an unmasked arithmetic packed data instruction for a given arithmetic packed data operation in a first mode in which the processor is not to use packed data operation masking, and to decode a masked arithmetic packed data instruction for a masked version of the given arithmetic packed data operation in a second mode in which the processor is to use the packed data operation masking, the first and second modes to be indicated by one or more bits in the first register, the unmasked and masked arithmetic packed data instructions having a same instruction length; and
one or more execution units coupled with the decode unit, the one or more execution units, in response to the decode unit decoding the unmasked arithmetic packed data instruction in the first mode to perform the given arithmetic packed data operation, without the packed data operation masking, and store a result in a destination, and in response to the decode unit decoding the masked arithmetic packed data instruction in the second mode to perform the masked version of the given arithmetic packed data operation, using a packed data operation mask, and store a result in a destination.

US Pat. No. 10,430,192

VECTOR PROCESSING USING LOOPS OF DYNAMIC VECTOR LENGTH

ARM Limited, Cambridge (...

1. Data processing apparatus comprising:instruction decoder circuitry to decode instructions; and
instruction processing circuitry to execute instructions decoded by the instruction decoder circuitry during one or more iterations of a processing loop defined by a counter variable, the processing icon being iteratively executed while an arithmetic condition defining a total required number of data items to be handled by the processing loop applies to the counter variable;
the instruction decoder circuitry being responsive to a WHILE instruction to control the instruction processing circuitry to apply a vector processing instruction to one or more data items of a data vector defined at least in part by the counter variable so that the counter variable defines a position of the data vector within a block or array of data or within a block or array of pointers, the data vector comprising a plurality of data items at respective positions in the data vector, according to the state of respective predicate flags associated with the positions, in which the predicate flags have an active state indicating that the vector processing instruction should be applied to those positions of a data vector corresponding to predicate flags in the active state; and
the instruction decoder circuitry being responsive to a CHANGE instruction to control the instruction processing circuitry to change the value of the counter variable by an amount dependent upon the total number of predicate flags available according to an associated saturation value so as to change the value of the counter variable no further than the saturation value; and
in which the instruction decoder circuitry is responsive to the WHILE instruction to control the instruction processing circuitry to select one or more of the predicate flags for setting to the active state so that the number of data items processed in a final vector processing operation of the processing loop does not exceed the total required number for the processing loop.

US Pat. No. 10,430,191

METHODS AND APPARATUS TO COMPILE INSTRUCTIONS FOR A VECTOR OF INSTRUCTION POINTERS PROCESSOR ARCHITECTURE TO ENABLE SPECULATIVE EXECUTION AND AVOID DATA CORRUPTION

Intel Corporation, Santa...

1. A method comprising:identifying, by executing a first instruction with a processor, a fork instruction introducing a first speculative assumption;
inserting, by executing a second instruction with the processor, a first basing instruction to initialize a first basing value of a first strand, the first strand corresponding to the first speculative assumption, the first basing instruction to initialize the first basing value of the first strand before execution of a third instruction under the first speculative assumption;
inserting, by executing a fourth instruction with the processor, a second basing instruction to initialize a second basing value of a second strand, the second strand corresponding to a second speculative assumption different from the first speculative assumption;
determining, by executing a fifth instruction with the processor, whether a sixth instruction of the second strand would, when executed, modify data stored at a first memory address that is also modified by the third instruction;
when the sixth instruction is determined to modify the data stored at the first memory address, modifying, by executing a seventh instruction with the processor, the third instruction to cause the third instruction to modify data stored at a second memory address, the second memory address based on the first memory address and the first basing value; and
when the sixth instruction is determined to modify the data stored at the first memory address, modifying, by executing an eighth instruction with the processor, the sixth instruction to cause the sixth instruction to modify data stored at a third memory address, the third memory address based on the first memory address and the second basing value, the second basing value different from the first basing value, the third memory address different from the second memory address.

US Pat. No. 10,430,190

SYSTEMS AND METHODS FOR SELECTIVELY CONTROLLING MULTITHREADED EXECUTION OF EXECUTABLE CODE SEGMENTS

Micron Technology, Inc., ...

1. A method comprising:determining, on an instruction-by-instruction basis, instruction control information for selectively controlling multithreaded execution of executable code segments of instructions executable upon one or more processing units of a multicore processor-based system, wherein the instruction control information includes context switching control information configured to inform a processing unit of the one or more processing units of the multicore processor-based system whether to initiate a thread switch from a thread in which an executable code segment of an instruction corresponding to the context switching control information is executed by the processing unit to another thread executed by the processing unit and thread control information configured to designate to the processing unit of the multicore processor-based system between an operand field of an executable code segment of the instruction corresponding to the thread control information (i) indexing to a user data register block of the multicore processor-based system and (ii) indexing to a control register block of the multicore processor-based system, wherein the thread control information comprises information for a plurality of operands of the executable code segment of the instruction corresponding to the thread control information, wherein the information of the thread control information includes information corresponding to each operand of the plurality of operands and independently designates to the processing unit that the corresponding operand indexes to one of the user data register block and the control register block; and including the instruction control information having the context switching control information and the thread control information in an instruction format having one or more instruction control information fields and one or more executable code segment fields, wherein the thread control information is fully contained in an instruction control information field of the one or more instruction control information fields separate from the plurality of operands contained in the one or more executable code segment fields.

US Pat. No. 10,430,189

GPU REGISTER ALLOCATION MECHANISM

Intel Corporation, Santa...

1. An apparatus to facilitate register allocation comprising:an execution unit (EU) to execute processing threads, including:
a plurality of registers; and
register allocation hardware to map the plurality of registers into logical register banks and allocate the processing threads to one or more of the logical register banks, including:
one or more banks of dedicated registers allocated to process a first set of threads; and
one or more banks of shared registers allocated to process a second set of threads, wherein the shared registers are dynamically allocated to process the second set of threads during an execution hotspot.

US Pat. No. 10,430,188

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

INTERNATIONAL BUSINESS MA...

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

US Pat. No. 10,430,187

PERSISTENT TRANSACTIONAL MEMORY METADATA-BASED BUFFER CACHES

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:during a pre-commit phase of a first transaction with an input/output (I/O) system, obtaining a first logical creation time of a first resource to be acquired by the first transaction;
when the first logical creation time exceeds a latest logical creation time from a set of resources previously acquired by the first transaction, comparing the first logical creation time of the first resource with an earliest logical termination time from the set of resources; and
when the first logical creation time of the first resource exceeds the earliest logical termination time from the set of resources, detecting a conflict between the first resource and the set of resources and triggering a restart of the first transaction.

US Pat. No. 10,430,186

SPEEDING UP TRANSACTIONS IN NON-VOLATILE MEMORY USING HARDWARE TRANSACTIONAL MEMORY

VMware, Inc., Palo Alto,...

1. A method of atomically executing computer instructions by a central processing unit (CPU) of a computing device comprising non-volatile memory, the CPU configured to implement hardware transactional memory (HTM), the method comprising:reading an instruction within a section of code designated as an HTM transaction;
copying at least one cache line from the non-volatile memory into a cache of the CPU, based on the instruction;
marking the copied at least one cache line as transactional;
creating a persistent log within the non-volatile memory, based on the instruction, by at least one of:
(1) based on the instruction being a log write instruction, converting the instruction to a non-temporal log write instruction, and executing the non-temporal log write instruction;
(2) based on the instruction being a write instruction, executing a non-temporal log write for data modified by the write instruction;
(3) based on the instruction being a custom log write instruction, executing a non-temporal write of a log entry; or
(4) based on the instruction being a log entry flush instruction, executing the log entry flush instruction; and
unmarking the copied at least one cache line from transactional, to non-transactional.

US Pat. No. 10,430,185

DECIMAL LOAD IMMEDIATE INSTRUCTION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:obtaining an instruction for execution, the instruction to generate a value without obtaining the value from memory, the value for use in processing within the computing environment, the instruction having associated therewith a sign control to be used to provide a sign of the value to be generated by the instruction;
executing the instruction, the executing comprising:
obtaining the sign control;
shifting an input value, provided by the instruction absent loading from memory, in a specified direction by a selected amount to provide a result;
placing the result in a first designated location in a register; and
including the sign, based on the sign control, in a second designated location of the register, the result and the sign providing a signed value to be used in processing within the computing environment, the signed value being generated absent loading from memory, wherein use of memory bandwidth of the computing environment is reduced.

US Pat. No. 10,430,184

VIOLATION MATCH SETS

Semmle Limited, Oxford (...

1. A system comprising:one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving a request to compute a count of violation introductions attributable to a particular developer entity in a plurality of ancestor snapshots of an original snapshot in a revision graph of a code base, wherein each of one or more violations of a plurality of violations has respective multiple introduction points in a plurality of different branches in the revision graph of the code base, and wherein each introduction point identifies a snapshot in which a respective violation was introduced in the plurality of ancestor snapshots;
iteratively processing violations occurring in each of the plurality of ancestor snapshots to compute a respective match set for each of one or more violations occurring in the original snapshot, wherein each match set for each violation occurring in the original snapshot includes all transitively matching violations occurring in any of the plurality of ancestor snapshots of the original snapshot that transitively match the violation, including processing each transitively matching violation occurring in a respective ancestor snapshot, comprising:
determining a respective first violation occurring in the original snapshot that is transitively matched by the transitively matching violation occurring in the respective ancestor snapshot,
adding the transitively matching violation to a respective match set for the respective first violation, and
whenever the transitively matching violation already belongs to another match set having violations from a different branch of the revision graph of the code base, generating a merged match set that merges the other match set with the respective match set for the respective first violation;
computing a count of unique match sets having at least one violation that was introduced by the particular developer entity so that violations introduced multiple times by the particular developer entity in the plurality of ancestor snapshots are counted as only having been introduced once by the particular developer entity; and
providing the count of unique match sets in response to the request to compute the count of violation introductions attributable to the particular developer entity.

US Pat. No. 10,430,183

DEVICE INTERROGATION FRAMEWORK

United Services Automobil...

1. A method comprising:periodically receiving, by a server computer, device characteristics from a computing device configured to run an application including application features, wherein the device characteristics describe performance capabilities of the computing device including at least one of a software characteristic or a hardware characteristic of the computing device, wherein the device characteristics includes an operating system information of an operating system running on the computer device including an operating system version identification;
generating, by the server computer, assessment instructions assessing the ability of the computing device to implement the application features based on the device characteristics;
determining, by the server computer, at least one affected application feature from the application features based on the assessment instructions, wherein the at least one affected application feature is determined to function improperly under the performance capabilities described in the device characteristics;
generating, by the server computer, application instructions including the at least one affected application feature;
modifying the at least one affected application feature to execute on the computing device at a modified performance setting that is determined to be within the performance capabilities of the computing device described in the device characteristics, wherein the modified performance setting is different from a default performance setting of the at least one affected application feature; and
modifying an execution of the application on the computing device by implementing a disablement of the at least one affected application feature from executing as part of the application or implementing a disablement of the application from running on the computing device.

US Pat. No. 10,430,182

ENHANCED COMPRESSION, ENCODING, AND NAMING FOR RESOURCE STRINGS

Microsoft Technology Lice...

1. A method to facilitate enhanced resource file compression comprising:ordering a set of resource strings in a resource file to produce an ordered set of resource strings in the resource file, wherein each of the ordered set of resource strings comprises a set of characters; and
reducing a size of the resource file by, for any resource string of the ordered set of resource strings that qualifies for map-less encoding, at least:
identifying a double-byte Unicode representation of each character in the set of characters in the resource string, wherein the double-byte Unicode representation comprises a lower byte and an upper byte;
identifying at least one character in the set of characters for which the upper byte of the one character comprises a non-zero value, wherein the non-zero value indicates an occurrence of non-Latin characters;
setting a value of an encoding byte to the non-zero value and retaining the encoding byte in the resource file to reflect the occurrence of the non-Latin characters;
discarding the upper byte from the resource file for each of the set of characters; and
retaining the lower byte in the resource file for each of the set of characters.

US Pat. No. 10,430,181

RETRIEVING UPDATED FIRMWARE CODE

QUANTA COMPUTER INC., Ta...

1. A computer-implemented method for updating read-only memory (ROM) code in a computer system, comprising:accessing one or more copies of a ROM code in at least one of a plurality of repositories, wherein the ROM code is configured to execute an initialization process for a specific device in the computer system;
selecting a copy of the ROM code based on a selection criterion to yield a selected ROM code, wherein the selection criterion is associated with a location of the one or more copies of the ROM code, the location being either a local repository or a remote repository;
copying the selected ROM code to system memory of the computer system; and
executing the selected ROM code in the system memory to initialize the specific device, wherein the copy of the ROM code is a copy of updated expansion ROM code,
wherein the selection criterion further comprises:
determining whether a most recent copy of the ROM code is identified from the one or more copies of the ROM code;
in response to determining that a most recent copy of the ROM code is identified, selecting the most recent copy as the selected ROM code; and
in response to determining that a most recent copy of the ROM code is not identified, selecting a copy of the ROM code as the selected ROM code, based at least in part on a priority of the copy of the ROM code, wherein the priority is associated with the location of the copy of the ROM code.

US Pat. No. 10,430,180

SYSTEM AND METHOD FOR RESILIENT AUTOMATION UPGRADE

Automation Anywhere, Inc....

1. A computer system for creating adapters that enable application automation comprising:(1) a portable unit in a first computer environment having one or more single execution features, several commands, or user generated macros to record and playback executable programs in one or more remote computers;
(2) an inspector to perform an analysis of an application and retrieve information on at least one of an underlying application framework, object metadata and properties, object type, associated actions, user interface layout and application response time;
(3) an exception manager to filter out (a) mismatched objects between versions of objects that semantically have a high probability of being synonyms and (b) one or more object properties that indicate that an object structure has changed;
(4) a semantic difference engine that locates a source object in a target hierarchy by taking into account labels in the source object and labels in a target object and inferring meaning of the labels in the source object and the target object, and further by inferring meaning of context of other fields, and controls within a sphere of activity of the labels in the source object and labels in the target object;
(5) a fingerprint generator to analyze (a) a screen writer for objects and (b) respective locations;
(6) a calibration manager to compare and analyze similar functional screens from different versions of an application;
(7) a screen repository to represent a set of screens to carry out selected business process;
(8) a screen serializer to store screen, related metadata and control structure in a machine readable format; and
(9) a learning mechanism to build an upgraded resilient automation adapter for (a) storing and mining features of an underlying application technology and object recognition criteria, and (b) learning critical identifying criteria for applying automated application updates, and including (i) filing information under appropriate categories, (ii) applying machine learning techniques, such as multiple regression, principal component analysis, and (iii) storing the results in a knowledge database.

US Pat. No. 10,430,179

METHODS AND SYSTEMS FOR MANAGING APPLICATION CONFIGURATIONS

Capital One Services, LLC...

1. A computer-implemented method for managing a configuration of an application, comprising:identifying a property of the application to update;
sending a request to update the property to a change management process of a change management environment;
causing the property of the application to be updated in a test environment;
identifying that a test of the application with the updated property in the test environment was successful, and that the request was approved by the change management process;
causing the property of the application to be updated in a database of an application configuration environment after identifying that the test was successful and that the request was approved; and
triggering a notification to be sent over a network to a computer system executing the application, the notification causing the application to refresh the property by replacing the property with the updated property from the database without restarting or recreating the application in response to a run environment causing the application to retrieve the updated property from the database over the network.

US Pat. No. 10,430,178

AUTOMATED DELIVERY AND INSTALLATION OF OVER THE AIR UPDATES IN VEHICLES

GM GLOBAL TECHNOLOGY OPER...

1. An updating system of a vehicle, comprising:a communication module configured to wirelessly download an over the air (OTA) update package,
wherein the OTA update package includes:
a first predetermined period for beginning installation of the OTA update package;
an indicator of a module and code of the module to be updated; and
replacement code of the module to be updated;
a display control module configured to, when a transmission of the vehicle is in park and the first predetermined period has not yet passed after the downloading of the OTA update package has completed, display a first message on a display within a passenger cabin of the vehicle,
wherein the first message solicits a user input regarding whether to:
(i) begin installation of the OTA update package; or
(ii) install the OTA update package at a later time;
a first timer module configured to:
set a first timer period to the first predetermined period in response to the downloading of the OTA update package has completed; and
decrement the first timer period as time passes after the downloading of the OTA update package has completed;
a second timer module configured to:
in response to receipt of the user input to begin installation of the OTA update package, set a second timer period to a second predetermined period; and
decrement the second timer period as time passes after the setting of the second timer period to the second predetermined period; and
an installation module configured to install the OTA update package and update the code of the module with the replacement code of the module when the second timer period is less than or equal to zero.

US Pat. No. 10,430,177

METHOD FOR UPDATING A PACKAGE

THALES DIS FRANCE SA, Me...

1. A computer-implemented method for updating a first executable code comprised in a first package in a secure element, a class instance being instantiated from said first package and comprising instance data,wherein the secure element includes a package list comprising a reference to an active package, said active package being said first package, and said package list being separate from said class instance,
wherein said class instance comprises a package reference pointing at said reference to the active package in said package list,
wherein said method comprises the following steps:
loading in the secure element an upgrade file comprising a second executable code and creating a second package comprising said second executable code from said upgrade file, and
changing said first executable code for said second executable code by updating said reference to the active package in said package list by replacing a reference to the first package by a reference to the second package, while leaving the class instance alive and keeping the class instance unchanged, said class instance and said instance data remaining linked to the active package,
wherein the first executable code comprises a first entry of a class, wherein said class instance comprises a class reference to said first entry in said first package, wherein said class reference is separate from the instance data and is kept unchanged, wherein the second executable code comprises a second entry of said class and wherein said second entry is reachable in said second package through the class reference.

US Pat. No. 10,430,176

IN-VEHICLE CONTROL DEVICE, PROGRAM UPDATE SYSTEM, AND PROGRAM UPDATE SOFTWARE

Hitachi Automotive System...

1. An in-vehicle control device capable of updating an old program stored therein to a new program based on update content provided from an update tool, the in-vehicle control device comprising:a first memory that is nonvolatile and provided with a plurality of blocks for storing the old program; and a second memory for temporarily storing data, wherein,
the update tool transmits differential data between the new program of a block to be updated as an update target and old programs of a plurality of blocks including the block to be updated to the in-vehicle control device,
the in-vehicle control device stores the differential data in the second memory, recreates the new program of the block to be updated in another block that is different from the block to be updated using the differential data and the old programs stored in the plurality of blocks including the block to be updated, and writes the new program recreated in the another block to the block to be updated after erasing the block to be updated;
the first memory is composed of a non-rewritable area and a rewritable area;
in the non-rewritable area, update software is arranged;
in the rewritable area, the old program and data that can be updated are arranged;
upon receipt of restoration recovery software from the non-rewritable area, the update software controls writing of the restoration recovery software to the head of the rewritable area, updates the rewritable area to the new program, and resets the in-vehicle control device to reboot it; and
the update tool transmits the differential data to the in-vehicle control device after the reboot.

US Pat. No. 10,430,175

THERMOSTAT WITH SOFTWARE UPDATE FEATURES

Johnson Controls Technolo...

1. A thermostat for a building, the thermostat comprising:a communications interface communicably coupled to an heating, ventilation, and air conditioning (HVAC) network; and
a processing circuit configured to:
operate based on a first thermostat software version, the first thermostat software version configured to operate a first set of HVAC devices, the first thermostat software version comprising a plurality of recognized network addresses, each of the plurality of recognized network addresses associated with one HVAC device of the first set of HVAC devices;
determine, while operating on the first thermostat software version, that an HVAC device is connected to the HVAC network by receiving, via the communications interface, a network address from the HVAC device, wherein the HVAC device is configured to store a second thermostat software version for the thermostat, wherein the network address is an address preassigned to the HVAC device identifying communications of the HVAC device on the HVAC network;
determine, while operating on the first thermostat software version, whether the second thermostat software version stored by the HVAC device is needed to operate the HVAC device by determining that the network address is an unrecognized network address by comparing the network address to the plurality of recognized network addresses to determine whether the network address is one of the plurality of recognized network addresses; and
retrieve, while operating on the first thermostat software version, via the communications interface, the second thermostat software version from the HVAC device via the communications interface; and
replace the first thermostat software version with the second thermostat software version by installing the second thermostat software version in response to a determination that the second thermostat software version is needed to operate the HVAC device, wherein the second thermostat software version is configured to operate a second set of HVAC devices, the second set of HVAC devices comprising the HVAC device.

US Pat. No. 10,430,173

TECHNIQUES FOR UPDATING COMPONENTS OF A COMPUTER DEVICE WHILE ENABLING COMPONENTS FOR AVAILABILITY

HARMAN INTERNATIONAL INDU...

1. A computer-implemented method for updating components within a computer device, the method comprising:determining that a plurality of updates includes a common grouping of updates, the common grouping of updates including a first update, a second update, and a third update, wherein the first update is associated with a first component, the second update is associated with a second component that is dependent on the first component for being operational, and the third update is associated with a third component that is dependent on the first component for being operational, the first component being a common component for the second and third components, the common update comprising an update for the common component;
in response to determining that the first update is a common update to the second update and the third update, determining that first update should be performed before performing the second update and before performing the third update; and
performing the first update on the first component and then enabling the first component before performing the second update on the second component and before performing the third update on the third component.

US Pat. No. 10,430,172

RE-CONFIGURATION IN CLOUD COMPUTING ENVIRONMENTS

Telefonaktiebolaget LM Er...

1. A computer program product comprising a non-transitory computer readable medium storing a data structure for use in a cloud computing environment, the data structure comprising:a software template describing a flow of actions executable by a cloud management unit in the cloud computing environment for re-configuration of an application hosted by the cloud management unit and executable by the cloud management unit using a first software scheme, wherein the re-configuration relates to scaling of the hosted application and upgrading software instructions of the hosted application, wherein the first software scheme originates from the software template that allows adding, via a programming interface unit of the hosted application, additional actions to the flow of actions, without changing the existing actions in the re-configuration defined by the software template, wherein the data structure enables a dynamic change of the first software scheme as generated by the programming interface unit of the hosted application from the software template,
wherein the software template comprises the software instructions, and wherein the software instructions comprise:
a first portion of the software instructions non-editable by the programming interface unit of the hosted application;
a second portion of the software instructions allowed by the software template to be added to the software template by the programming interface unit of the hosted application, wherein the second portion of the software instructions is added to the software template, by the programming interface unit of the hosted application, to apply the software template of the data structure to the hosted application, and wherein the software template of the data structure is applied to the hosted application to generate a second software scheme; and
a third portion of the software instructions editable by the programming interface unit of the hosted application, wherein the third portion determines which of the first portion or the second portion of the software instructions needs to be executed by the programming interface unit of the hosted application.

US Pat. No. 10,430,171

EXTENSIONS FOR DEPLOYMENT PATTERNS

International Business Ma...

1. A system for deploying extensions to core deployment patterns stored in a first software repository, the system comprising:at least one computer processor circuit and
at least one computer readable medium storing executable instructions that when executed, cause the processor to:
detect an event relating to registration of a component in a deployment pattern;
query, in response to the event, a tool registry to identify one or more extension deployment patterns for use with one or more core deployment patterns;
retrieve, based upon the query, one or more extension deployment components from a second software repository; and
deploy at least one of the one or more extension deployment components on top of one or more deployed instances of the one or more core deployment patterns, causing management agents to be installed on the respective instances, wherein the management agents are configured to monitor at least one component of the respective instances of the core deployment patterns.

US Pat. No. 10,430,169

LANGUAGE, FUNCTION LIBRARY, AND COMPILER FOR GRAPHICAL AND NON-GRAPHICAL COMPUTATION ON A GRAPHICAL PROCESSOR UNIT

Apple Inc., Cupertino, C...

1. A non-transitory machine-readable medium, on which are stored instructions, comprising instructions that, when executed, cause a programmable device to:receive source code instructions in a programming language that is machine independent;
on a development system, parse and compile the received source code instructions into a programming language independent intermediate representation;
on the development system, link the intermediate representation with a library to form a linked intermediate representation that is part of an application, wherein the library includes both shader type functions and compute type functions;
on the development system, deliver the application without the source code instructions to a user system,
wherein the linked intermediate representation is to be compiled on the user system to yield graphics processor unit (GPU) native code for the user system when the application creates, prior to runtime, graphics pipeline objects that comprise state information and one or more shaders for rendering graphics.

US Pat. No. 10,430,168

CONTEXT INFORMATION BASED ON TYPE OF ROUTINE BEING CALLED

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method of facilitating processing in a computing environment, the computer-implemented method comprising:determining whether a caller is calling a routine that potentially calls one or more sibling routines, wherein the determining whether the caller is calling the routine that potentially calls one or more sibling routines comprises checking a marker of the routine, wherein the marker is included in a symbol data structure of the routine, the marker to indicate whether the routine potentially calls one or more sibling routines;
checking, based on determining the caller is calling the routine that potentially calls one or more sibling routines, whether a sibling routine being called by the routine is an external sibling routine, the external sibling routine being in a different module than the routine; and
performing an action to provide context information to be used in the sibling routine returning to the caller of the routine that calls the sibling routine, the performing the action to provide the context information being based on the checking indicating the sibling routine is an external sibling routine.

US Pat. No. 10,430,167

REDISTRIBUTION OF DATA PROCESSING TASKS

SAP SE, Walldorf (DE)

1. A computer implemented method, comprising:receiving, at an in-memory database comprising data from a remote database, a request to perform a procedure on a portion of data of the remote database, wherein the portion of data is not stored in the in-memory database, and wherein the procedure includes a parameter that indicates a remote source:
identifying a remote processor corresponding to the remote source and having access to the portion of data,
providing the procedure to the remote processor for execution, wherein the procedure is defined in a language other than a database query language;
receiving result data from the remote processor, wherein the result data is produced from the execution of the procedure by the remote processor on the portion of data from the remote database, and
responding to the request with the received result data.

US Pat. No. 10,430,166

RESOURCE INJECTION FOR APPLICATION WRAPPING

AIRWATCH LLC, Atlanta, G...

1. A system for injecting resources into a wrapped application, comprising:a computing device comprising a processor and a memory; and
an application stored in the memory that, when executed by the processor, causes the computing device to at least:
obtain a compiled version of a target application package;
decompile the compiled version of the target application package to generate a source code version of the target application package;
replace a first function in the source code version of the target application package with a second function from source code of a management component to generate a modified version of the source code version of the target application package;
generate an application resource index that comprises a first application resource from the target application package and a second application resource from the management component;
modify the source code of the management component based at least in part on the application resource index; and
compile the combined source code version of the target application package and the source code of the management component to generate a managed application package.

US Pat. No. 10,430,165

METHOD AND APPARATUS FOR AN INTERNET OF THINGS CONTROLLER

Qingjun Wei, Montvale, N...

1. A method for a user interface to an internet-of-things controller, comprising:receiving from a first end-user, performed at least in part with a configuration of computing hardware and programmable memory, a first selection of a first application program that, when executed, can remotely access one or more internet-of-things devices, wherein data passed by the first end-user as one or more arguments, to one or more corresponding parameters of the first application program, adapts the first application program to perform specific behavior in a specific hardware environment;
accessing, in response to the first selection of the first application program, performed at least in part with a configuration of computing hardware and programmable memory, a first meta-data specification of a set of all potential arguments, for input to a first parameter, that are properly structured;
operating, performed at least in part with a configuration of computing hardware and programmable memory, a first graphical user interface in conformance with the first meta-data specification, in order to permit the first end-user to create a first argument for input to the first parameter;
adding, in accordance with a first tabular meta-data node of the first meta-data specification, performed at least in part with a configuration of computing hardware and programmable memory, a first tabular data node to the first argument;
adding, performed at least in part with a configuration of computing hardware and programmable memory, the first tabular data node, in accordance with the first tabular meta-data node, to require at least a first and a second key-value pairs;
identifying, performed at least in part with a configuration of computing hardware and programmable memory, a first list-type meta-data node of the first meta-data specification, corresponding to a first key of the first key-value pair;
creating, as part of adding the first tabular data node, performed at least in part with a configuration of computing hardware and programmable memory, a first list-type data node corresponding to the first list-type meta-data node, wherein the first list-type data node is capable of representing an ordered listing of data;
receiving, performed at least in part with a configuration of computing hardware and programmable memory, a first signal from the first end-user, while the first list-type data node is indicated in the first graphical user interface;
identifying, performed at least in part with a configuration of computing hardware and programmable memory, a first child meta-data node, that is a child of the first list-type meta-data node;
creating, in response to the first signal, and only in accordance with the first child meta-data node, performed at least in part with a configuration of computing hardware and programmable memory, a first child data node of the first list-type data node;
creating, in response to each additional signal from the end-user while the first list-type data node is indicated, and only in accordance with the first child meta-data node, performed at least in part with a configuration of computing hardware and programmable memory, an additional child data node of the first list-type data node; and
starting execution of the first application program, performed at least in part with a configuration of computing hardware and programmable memory, with the first argument input to the first parameter.

US Pat. No. 10,430,164

AUTOMATION OF CANONICAL MODEL USAGE IN APPLICATION DEVELOPMENT PROCESSES

United Parcel Service of ...

1. A computer-implemented method for enforcing usage of a canonical model, the method comprising:receiving, by a computing device including at least one processor, machine-automatable artifacts from a canonical model artifact repository, the machine-automatable artifacts expressing the canonical model using a set of metadata constraints and a set of transformation rules;
converting, by the computing device, at least a subset of the received machine-automatable artifacts into language-specific bindings;
programming, by the computing device, an application using the language-specific bindings to automatically enforce conformity of the application to the canonical model;
receiving, by the computing device, first inbound data in non-canonical form; and
executing, by the computing device, the application to enable the application to communicate with one or more other applications according to the canonical model in response to utilizing one or more transformation rules of a subset of the language-specific bindings to canonicalize the first inbound data that was initially in non-canonical form.

US Pat. No. 10,430,163

TRANSPOSING IN A MATRIX-VECTOR PROCESSOR

Google LLC, Mountain Vie...

1. A circuit for transposing a matrix, the circuit comprising:reversal circuitry configured to:
receive, for each of one or more diagonals of the matrix, elements of the diagonal of the matrix in a respective first vector, and
generate, for each of the one or more diagonals of the matrix, a respective second vector that includes the elements of the diagonal of the matrix in the respective first vector in an order that is a reverse of an order of the elements of the diagonal of the matrix in the respective first vector;
counter circuitry configured to:
receive an initiate signal indicative of a direction of rotation of the respective second vector; and
responsive to receiving the initiate signal, generate a counter signal based on the direction of the rotation of the respective second vector; and
rotation circuitry comprising bit-wise shifting circuit elements comprising combinatorial logic, the rotation circuitry configured to:
receive the counter signal from the counter circuitry,
determine, for each of the one or more diagonals of the matrix and based at least on the counter signal, a number of positions by which to rotate the elements of the diagonal of the matrix in the respective second vector,
receive, at the bit-wise shifting circuit elements, for each of the one or more diagonals of the matrix, the respective second vector of elements of the diagonal of the matrix from the reversal circuitry, and
generate, by the combinatorial logic of the bit-wise shifting circuit elements, for each of the one or more diagonals of the matrix, a respective third vector that includes the elements of the diagonal of the matrix in the respective second vector in an order that is a rotation of the elements of the diagonal of the matrix in the respective second vector by the number of positions determined based at least on the counter signal.

US Pat. No. 10,430,162

QUANTUM RESOURCE ESTIMATES FOR COMPUTING ELLIPTIC CURVE DISCRETE LOGARITHMS

Microsoft Technology Lice...

1. A computer-implemented method, comprising:inputting a prime number;
generating reversible circuit designs for performing a modular arithmetic operation on the prime number, the modular arithmetic operation being one of addition, subtraction, multiplication, or division; and
storing the reversible circuit designs as quantum-computer executable instructions.

US Pat. No. 10,430,161

APPARATUS, SYSTEMS, AND METHODS COMPRISING TRITIUM RANDOM NUMBER GENERATOR

1. A true random number generator (TRNG) comprising:a cavity filled with tritium;
an electronic sensor constructed to detect energy from the decay of the tritium and to produce a signal for the detected energy;
an amplifier connected to the sensor and constructed to amplify the signal;
a filter connected to the amplifier constructed to filter the signal;
a processor connected to the filter, constructed to perform the following steps:
a. determine whether the signal represents decay events for tritium;
b. set a timer to determine the time period between decay events;
c. based on the time period in step (b), assign a value of a 0 or a 1;
d. store the value in a memory;
e. repeat steps (b)-(d), resulting in a string of values; and
f. generate a true random number based on the string of values.

US Pat. No. 10,430,158

VOICE RECOGNITION KEYWORD USER INTERFACE

Oracle International Corp...

1. A non-transitory computer-readable storage medium carrying program instructions thereon, the instructions when executed by one or more processors cause the one or more processors to perform operations comprising:selecting one or more portions of text;
employing the one or more portions to select software functionality; and
presenting one or more user interface controls in combination with a representation of the text, wherein the one or more user interface controls includes a user selectable outline around one or more keywords, wherein the one or more user interface controls provide one or more functions that are selectable by a touch gesture, and wherein the one or more functions include one or more of accessing data, modifying data, or creating new business objects associated with the text.

US Pat. No. 10,430,156

SYSTEM AND METHOD FOR ALLOWING USER INTERVENTION IN A SPEECH RECOGNITION PROCESS

Nuance Communications, In...

1. A computer-implemented method comprising:receiving, at a first computing device, a speech signal of a user, the speech signal being associated with an application;
generating one or more suggested speech results at a speech recognition engine based upon, at least in part, the speech signal;
displaying, at a first user interface associated with the first computing device, the one or more suggested speech results prior to applying a final speech result at a second user interface associated with the application on a second computing device, wherein the first user interface and the second user interface are on different computing devices;
allowing the user, at the first computing device, to select a suggested speech result of the one or more suggested speech results to yield the final speech result;
receiving the final speech result at the first user interface, wherein receiving the final speech result at the first user interface includes receiving at the first user interface a selection of an alternative choice between:
applying the final speech result at the second user interface by adding the final speech result to a text field of the second user interface associated with the application on the second computing device, and
executing the final speech result as a voice command on the second user interface associated with the application on the second computing device; and
forwarding, prior to applying the final speech result at the second user interface associated with the application on the second computing device, the selection to be applied to the application at the second user interface, wherein the final speech result triggers functionality in the application at the second user interface on the second computing device.

US Pat. No. 10,430,155

METHOD OF CALIBRATING AUDIO OUTPUT DEVICE WITH PLAYBACK OF ADJUSTED AUDIO

MeQ, Inc., Richmond, CA ...

1. A method for calibrating playback of digital music based on a self-administered computer-assisted hearing evaluation, the method comprising:creating calibration data by: playing an electronic file that contains at least two segments of digital music that have different sets of playback attributes, wherein a set of playback attributes includes at least one of volume data, frequency data, left/right data; during the playing of the electronic file, recording timestamp data and user account data that are associated with a time at which a particular user input is received and a particular segment of the digital music that is playing at the time the particular user input is received; mapping the timestamp data to a particular set of playback attributes of the particular segment of the digital music; determining the calibration data based on the timestamp data and the particular set of playback attributes;
storing the calibration data in a user profile that is associated with the user account data;
when different digital music is played, using the calibration data, automatically calibrating the playing of the different digital music based on the user profile that is associated with the user account data, wherein the method is performed by one or more computing devices.

US Pat. No. 10,430,154

TONAL/TRANSIENT STRUCTURAL SEPARATION FOR AUDIO EFFECTS

Eventide Inc., Little Fe...

11. An audio processing system comprising one or more computing devices configured to:receive a first audio signal generated by a first sound source;
receive a second audio signal generated by a second sound source;
segment the first audio signal into a first tonal audio stream and a first transient audio stream;
segment the second audio signal into a second tonal audio stream and a second transient audio stream;
selectively combine either the first tonal audio stream or the first transient audio stream with either the second tonal audio stream or the second transient audio stream,
wherein segmenting the one or more audio streams into structural components comprising a tonal stream and a transient stream comprises:
isolating spectral peaks within the one or more audio streams;
determining the spectral stability of the spectral peaks; and
segmenting portions of the one or more audio streams associated spectral peaks having stability greater than a threshold value into the tonal stream.

US Pat. No. 10,430,153

FAST-RESUME AUDIO PLAYBACK

Sonos, Inc., Santa Barba...

1. A system comprising;a network device comprising a non-transitory computer-readable memory comprising instructions that, when executed by a processor, cause the network device to perform functions comprising transmitting to the playback device a pause command and a resume command;
a playback device operably coupled to the network device via a data network, wherein the playback device is a first member of a synchrony group, and wherein the playback device comprises non-transitory computer-readable memory comprising instructions that, when executed by a processor, cause the playback device to perform functions comprising:
playing back audio content in synchrony with a second member of the synchrony group based on playback timing information;
while synchronously playing back the audio content, (i) transmitting the playback timing information to the second member of the synchrony group and (ii) receiving, from the network device, the pause command, wherein the transmitted playback timing information comprises a first timestamp;
in response to the pause command, pausing the synchronous playback prior to a time indicated by the first timestamp and a second timestamp;
while the synchronous playback is paused, receiving the resume command;
in response to the resume command, (i) instructing the second member of the synchrony group to update the first timestamp based on a new start time indicative of when the synchronous playback is to be resumed, (ii) update the second timestamp such that the updated second timestamp is synchronized with the updated first timestamp, and (iii) resume the synchronous playback based on the updated second timestamp.

US Pat. No. 10,430,152

DATA-DRIVEN MEDIA MANAGEMENT WITHIN AN ELECTRONIC DEVICE

Apple Inc., Cupertino, C...

1. A non-transitory machine-readable medium storing instructions which, when executed by a processing system of an electronic device, cause the processing system to perform operations comprising:receiving a request to playback a piece of media from an application executing on the electronic device, the request specifying a category of media associated with the piece of media, the category being associated with a first routing policy indicating a first priority of routing the piece of media to a first output of the electronic device and a second routing policy indicating a second priority of routing the piece of media to a second output of the electronic device, wherein the first priority is higher than the second priority;
determining whether the second output is made available for outputting media later than the first output;
in response to determining that the second output is made available later than the first output, routing the piece of media to the second output instead of the first output and despite the first output being available; and
in response to determining that the second output is not made available later than the first output, routing the piece of media to the first output according to the first routing policy.

US Pat. No. 10,430,151

SYSTEM AND METHOD FOR SYNCHRONIZATION OF DATA AND AUDIO

Sonic Bloom, LLC, Cambri...

1. A method of using an interactive media application, comprising:receiving choreography data, the choreography data comprising at least one event, and at least one payload corresponding to the at least one event;
playing a media file via a media module, the choreography data including a unique identifier associated with the media file and being distinct from the media file;
monitoring, via a choreographer module, a position of the media file, the choreography module being distinct from the media module;
comparing, via a processor, the monitored position of the media file to at least one event start position corresponding to the at least one event;
delivering, via the choreography module, the payload when both (a) the at least one event start position is less than the monitored position of the media file and (b) an event end position is greater than or equal to a previously monitored position of the media file, wherein the payload is processed in an offset manner corresponding to an event position that it offset over a range of time.

US Pat. No. 10,430,149

IMAGE DISPLAY DEVICE, IMAGE DISPLAY METHOD, AND IMAGE DISPLAY PROGRAM

Sony Corporation, (JP)

1. A communication device comprising:circuitry configured to
associate information associating providing sources with a plurality of display areas of a display screen;
obtain data from the providing sources, wherein the data is updated at the communication device based on results of checking the providing sources periodically by accessing the information associating the providing sources with the plurality of display areas to access a plurality of image lists associated with respective providing sources, at least one of the image lists comprising an addition time for a listed image, the addition time indicating a date and time at which the listed image was added to the image list, and determining based on the addition time whether the data has been updated at the providing sources;
generate a plurality of images using the data from the providing sources, wherein at least one image of the plurality of images includes a profile image indicating a user and a name of the user; and
control display of a first image based on data obtained from a first providing source and a second image based on data obtained from a second providing source so that the first image and the second image are displayed in a first display area,
wherein the first display area is included in the plurality of display areas and is configured to be associated with at least two providing sources.

US Pat. No. 10,430,148

SYNCHRONIZATION SYSTEM COMPRISING DISPLAY DEVICE AND WEARABLE DEVICE, AND CONTROLLING METHOD

LG ELECTRONICS INC., Seo...

1. A display device, comprising:a display switching a displayed background image to a preset image in response to receiving an input of a preset touch gesture, the display device displaying the preset image; and
a controller controlling a circuit component to communicate with an external terminal and to transmit a synchronization signal to the external terminal when the displayed background image is switched to the preset image,
wherein when a plurality of external terminals exist, a plurality of preset images exist and wherein each of the plurality of preset images is mapped to at least one external terminal to be synchronized, and
wherein the controller controls the display to display the plurality of preset images sequentially in response to the input of the preset touch gesture.

US Pat. No. 10,430,147

COLLABORATIVE MULTI-USER VIRTUAL REALITY

Intel Corporation, Santa...

1. A graphics apparatus, comprising:a processor;
memory communicatively coupled to the processor; and
a collaboration engine communicatively coupled to the processor to:
determine one or more of a viewport difference between first and second viewports or an orientation difference between first and second orientations, wherein the first viewport and the first orientation are associated with a first user of two or more users, and the second orientation and the second viewport are associated with a second user of the two or more users;
if the one or more of the viewport difference or the orientation difference is under a threshold, identify that a displayable object is to be part of a shared graphics component, wherein the displayable object is to be an augmented reality object or a virtual reality object, wherein the displayable object is to be rendered for the first user and the second user at a same orientation and a same position;
if the one or more of the viewport difference or the orientation difference is over the threshold, identify that the displayable object is not to be part of the shared graphics component so that the displayable object is to be rendered for the first user and the second user at one or more of different orientations or different positions;
generate the shared graphics component; and
share the shared graphics component with the first and second users.

US Pat. No. 10,430,146

METHOD FOR PROVIDING INFORMATION REGARDING PARKING SPOTS

Robert Bosch GmbH, Stutt...

1. A method for providing information regarding parking spots, comprising:transmitting to a database information regarding a parking spot, input by a user into an input device;
generating a digital map of parking spots; and
transmitting the digital map to a user community, contents of the digital map being modified as a function of an input activity of the user by using at least one gamified motivational element,
wherein the at least one gamified motivational element includes capturing at least one defined place on the digital map, wherein the user is able to own or capture virtual parking spots or streets.

US Pat. No. 10,430,145

REMOTE TERMINAL, METHOD OF REMOTE INSTRUCTION

OPTIM CORPORATION, Saga-...

1. A remote terminal receiving an instruction from an instruction terminal while sharing a screen, comprising:an imaging device that takes an image of a target area;
a communication device;
a display device;
a processor that:
transmits the taken image of the target area to the instruction terminal via the communication device;
displays on the display device of the remote terminal a three dimensional shape to understand three dimensional space of the taken image;
receives instruction data indicating an instruction icon from the instruction terminal, a beginning point and end point of the instruction icon on the instruction terminal being set by the instruction terminal;
estimates a location of the instruction icon based on location information of the remote terminal; and
displays on the display device of the remote terminal the instruction icon in addition to the displayed three dimensional shape based on the estimated location,
wherein the instruction icon instructs a user of the remote terminal to move or turn in the target area, and
wherein the processor decides a beginning point of the instruction icon on the remote terminal as the location information, estimates an end point of the instruction icon on the remote terminal based on the beginning point on the remote terminal and instruction data, and judges whether the user should move by judging whether a distance between the end point on the remote terminal and the location information is longer than a predetermined distance.

US Pat. No. 10,430,144

MANAGED SCREEN SHARING IN AN ENTERPRISE APPLICATION

SUGARCRM INC., Cupertino...

1. A method for managed screen sharing in an enterprise application, the method comprising:loading on behalf of a primary end user an instance of an enterprise application into memory of a computer;
displaying in a display screen of the computer, a user interface to the instance of the enterprise application;
directing the instance of the enterprise application to display a first screen of data and a second screen of data, the second screen of data comprising a hyperlink referencing the first screen of data and further comprising multiple different fields of data in the user interface;
selecting, in the instance of the enterprise application, the second screen for inclusion in a sharing request;
in response to selecting the second screen for inclusion in a sharing request, presenting a list of secondary end users that are available for sharing irrespective of any secondary end user's computing role;
selecting, in the instance of the enterprise application, one or more of the secondary end users presented in the list for screen sharing;
transmitting a package over a computer communications network addressed to a plurality of different instances of the enterprise application loaded into respective memories of computers corresponding to the selected secondary end users, the package comprising the second screen of data and a corresponding request to display the entire second screen of data in a user interface of each different instance;
intercepting, by screen sharing logic, the package;
for each of the selected secondary end users, modifying the package by:
referencing a table of end users providing information regarding the computing role of each of the end users in the table and device characteristics of each computer corresponding to each of the end users,
determining, the role and device characteristics that correspond to the selected secondary end user,
determining whether the selected secondary end user's role permits the selected secondary end user to view each field of data in the second screen of data,
filtering out the fields of data that the selected secondary end user is not permitted to view based on his or her role,
formatting the remaining fields of data in the second screen of data to accommodate the determined device characteristics that correspond to the selected secondary end user, and
forwarding the modified packages to the different instances corresponding to the respective selected secondary end users;
displaying the selected second screen of data comprising the formatted remaining fields and hyperlink referencing the first screen of data in the user interface to the different instance while excluding the fields of data that the secondary end user is not permitted to view based on his or her role from display in the user interface to the different instance;
creating a record of the screen sharing of the second screen of data;
making a first determination of whether the instance of the enterprise application is to terminate based on whether or not sharing of an additional screen is requested;
receiving a selection of the hyperlink referencing the first screen of data at one of the different instances of the enterprise application;
in response to receiving the selection of the hyperlink:
resolving the first determination by determining not to terminate the instance of the enterprise application;
directing the instance of the enterprise application to display the first screen of data,
transmitting the first screen of data from the instance of the enterprise application to the different instance of the enterprise application where the hyperlink was selected; and
displaying the first screen of data in the display screen corresponding to the different instance of the enterprise application where the hyperlink was selected
making a second determination of whether the instance of the enterprise application is to terminate; and
resolving the second determination by terminating the instance of the enterprise application.

US Pat. No. 10,430,143

IMAGE OUTPUT APPARATUS, IMAGE DISPLAY APPARATUS, CONTROL METHOD OF IMAGE OUTPUT APPARATUS, AND CONTROL METHOD OF IMAGE DISPLAY APPARATUS

Canon Kabushiki Kaisha, ...

1. An image output apparatus connectable to an image display apparatus including a plurality of first communicating units that can be used to transmit and receive data to and from an external apparatus,an area of a screen of the image display apparatus being made up of a plurality of partial display areas capable of individually displaying an image,
the plurality of partial display areas being associated with the plurality of first communicating units,
the image output apparatus comprising:
a plurality of second communicating units that ,can be used to transmit and receive data to and from an external apparatus;
an acquiring unit configured to acquire, for each of the second communicating unit connected to the first communicating unit, from the first communicating unit connected to the second communicating unit, correspondence information that is information related to a partial display area associated with the first communicating unit;
a setting unit configured to set, for each of the second communicating unit, any of a plurality of output modes including a first output mode for outputting image data of an original image in any one of a plurality of partial image areas constituting an area of the original image; and
an outputting unit configured to output, for each of the second communicating unit, image data based on an output node set with respect to the second communicating unit using the second communicating unit, wherein
the correspondence information is a Tiled Display Topology Data Block as defined by a VESA (Video Electronics Standard Association) standard, and
the setting unit automatically sets the first output mode with respect to a second communicating unit for which the correspondence information has been acquired.

US Pat. No. 10,430,142

DISPLAY APPARATUS AND CONTROL METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. A display apparatus comprising:a display comprising a first display module and a second display module, each of the first display module and the second display module comprising light emitting diode (LED) pixels, each of the LED pixels comprising at least a red LED, a green LED, and a blue LED; and
a processor configured to:
drive the display by applying a luminance correction coefficient to each of the LED pixels included in the first display module and the second display module;
compensate the luminance correction coefficient for each of first LED pixels spaced by at least one LED pixel, from among LED pixels positioned on the one side of the first display module; and
compensate the luminance correction coefficient for each of second LED pixels spaced by at least one LED pixel, from among LED pixels positioned on one side of the second display module, the one side of the second display module facing one side of the first display module,
wherein the second LED pixels are positioned on a different horizontal line from the first LED pixels, respectively.

US Pat. No. 10,430,141

DISPLAY METHOD AND APPARATUS IN PORTABLE TERMINAL

Samsung Electronics Co., ...

1. A display method in a portable electronic apparatus, the display method comprising:executing a video playback application for displaying a video on a touch sensitive display of the portable electronic apparatus;
controlling the video playback application to play the video without displaying a control window of the video playback application for controlling playback of the video;
in response to receiving a first touch input while playing the video without displaying the control window, controlling the video playback application to display, on the touch sensitive display, the control window of the video playback application along with the video, the control window including a touch selectable icon for displaying the video on an external device;
in response to a second touch input on the touch selectable icon, displaying, on the touch sensitive display, an indication of at least one external device that is able to display the video; and
in response to a third touch input selecting the displayed indication of the at least one external device:
transmitting the video to the selected external device for displaying the video by the selected external device without transmitting the control window to the selected external device, and
controlling the video playback application to hide the video on the touch sensitive display of the portable electronic apparatus and controlling the video playback application to display, on the touch sensitive display of the portable electronic apparatus without displaying the video, the control window for controlling the video being displayed on the selected external device.

US Pat. No. 10,430,140

METHOD, APPARATUS AND SYSTEM FOR OPENING A WEB PAGE

TENCENT TECHNOLOGY (SHENZ...

1. A method comprising:accessing, by a first terminal, a target web page from a web server;
hiding, by the first terminal and in response to a triggering event, page data of the target web page displayed by a browser window at the first terminal;
sending, by the first terminal to a terminal server different from the web server, web page information corresponding to the target web page accessed by the first terminal;
receiving, by a second terminal, a notice of web page information sent by the terminal server based on a binding relationship stored at the terminal server, the binding relationship between the first terminal and the second terminal;
accessing, by the second terminal, in response to the notice of web page information, the target web page from the web server, wherein the notice of web page information includes:
an instruction to the second terminal to access the target web page from the web server, and
an instruction to the second terminal to display the page data that is hidden by the first terminal; and
displaying, by the second terminal, based on size information included in the notice of web page information, the page data of the target web page that is hidden by the first terminal.

US Pat. No. 10,430,139

SYSTEMS AND METHODS FOR MANAGING MULTIPLE INDEPENDENT DATALINK DISPLAYS

Honeywell International I...

1. A system for managing multiple independent cockpit displays, comprising:a first display device and a second display device in a cockpit of a vehicle, wherein the first display device and the second display device are configured to receive input from a user and display pages to the user, wherein the pages are pre-defined by a plurality of parameters in a page definition database;
a display device control system comprising a processor coupled to a memory, wherein the memory stores the page definition database, wherein the processor is configured to:
receive a request from a user to display a first page on the first display device;
retrieve a flag associated with the first page, wherein the flag is a pre-defined parameter in the page definition database, wherein the flag indicates whether a particular page is safe or unsafe for simultaneous display and editing on two or more display devices;
when the flag associated with the first page indicates that the first page is unsafe for simultaneous display and editing on two or more display devices, retrieve a group designator associated with the first page and a group designator associated with a second page displayed on a second display device, wherein a group designator is a pre-defined parameter in the page definition database, wherein a group designator identifies pages that are related to one another; and
control display and editing of pages on the first display device in response to the request based on:
the flag associated with the first page; or
the flag associated with the first page, the group designator associated with the first page, and the group designator associated with the second page;
wherein the processor is configured to display the first page on the first display device with editing enabled when the group designator associated with the first page and the group designator associated with the second page are different; and
wherein the processor is configured to prohibit selection of the first page when the group designator associated with the first page and the group designator associated with the second page are the same.

US Pat. No. 10,430,138

COMMUNICATION APPARATUS

Canon Kabushiki Kaisha, ...

1. A communication apparatus that wirelessly communicates in a first frequency band and a second frequency band, the communication apparatus comprising:at least one processor,
wherein the at least one processor performs operations of:
a first receiving unit configured to receive setting information used in processing for wirelessly connecting with an external apparatus;
a connection unit configured to establish a first wireless connection between the external apparatus that operates as a parent station and the communication apparatus that operates as a child station using the first frequency band with priority over the second frequency band, in a case where the setting information does not include frequency band information corresponding to the first frequency band and does not include frequency band information corresponding to the second frequency band, and configured to establish a first wireless connection between the external apparatus that operates as a parent station and the communication apparatus that operates as a child station using the first frequency band with priority over the second frequency band, in a case where the setting information includes the frequency band information corresponding to the first frequency band and does not include the frequency band information corresponding to the second frequency band;
a control unit configured to perform control so as to enable an operation unit to accept, from a user, a predetermined operation for executing process to establish a second wireless connection between an apparatus that operates as the child station and the communication apparatus that operates as the parent station in a state that the first wireless connection using the second frequency band is not established, and configured to perform control so as to disable the operation unit to accept the predetermined operation from the user in a state that the first wireless connection using the second frequency band is established;
an execution unit configured to execute the process for establishing the second wireless connection based on which the operation unit receives the predetermined operation;
a second receiving unit configured to receive a print job via the first wireless connection with the external apparatus; and
a printing unit configured to perform printing on a recording medium using a recording agent based on the print job,
wherein a channel used in the first wireless connection using the second frequency band is changed from a first channel corresponding to the second frequency band to a second channel that is different from the first channel by Dynamic Frequency Selection or Transmit Power Control.

US Pat. No. 10,430,137

PRINTER AND PRINTING METHOD

SATO HOLDINGS KABUSHIKI K...

1. A printer comprising:a printing portion configured to perform printing on a paper sheet;
a control unit configured to control the printing portion;
a memory connecting terminal configured to receive an external memory that stores printing data for printing by the printer;
a reading device configured to optically or electromagnetically read an operation code for the printer; and
a display configured to display a content that demands the reading operation of the operation code by the reading device, wherein
the control unit is configured such that prior to any printing of the printing data, the control unit compares a collation keyword included in the operation code read by the reading device and a collation keyword included in the printing data supplied from the external memory, and if the collation keywords match, the control unit controls the printing portion to print the printing data from the external memory onto the paper sheet,
the operation code includes an in-code keyword identification command for identifying the collation keyword in the operation code, and
the printing data includes an in-printing data keyword identification command for identifying the collation keyword in the printing data.

US Pat. No. 10,430,136

MULTIFUNCTIONAL IMAGE PROCESSING APPARATUS

SHARP KABUSHIKI KAISHA, ...

1. A multifunctional image forming apparatus, comprising:communication circuitry configured to enable a registered user to communicate with a server providing a service related to image formation;
a display operation device having a display device, for receiving a user operation; and
image processing circuitry configured to execute image processing in response to a user instruction received through said display operation device;
wherein
a user registration process for the service provided by said server is started by a prescribed user operation;
in response to a first user input operation received through said display operation device, the display device:
displays a user registration process reception screen in accordance with data received from said server through communication with said server via said communication circuitry, and
displays, in parallel with said user registration process reception screen, a reception screen for receiving an instruction to execute image processing,
said reception screen includes a button for instructing registration of said multi-functional image forming apparatus as a default printer for said user;
said display device further:
receives a second input operation of user information by said user through said display operation device, and
in response to an operation of said button by said user through said display operation device, transmits identification information of said multi-functional image forming apparatus and said user information to said server through said communication circuitry and causes said server to store said identification information and said user information in association with each other, and thereby registers said multi-functional image forming apparatus as said default printer.

US Pat. No. 10,430,135

RELAY APPARATUS, INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, AND RECORDING MEDIUM STORING INFORMATION PROCESSING

Ricoh Company, Ltd., Tok...

1. An information processing system comprising a first information processing apparatus at a first location and a second information processing apparatus at a second location,wherein the first information processing apparatus is a file server that includes processing circuitry configured to:
for a relay device that is connected to the first information processing apparatus and the second information processing apparatus, transmit a first request to the relay device,
execute processing at the first information processing apparatus according to a processing request that is transmitted from the relay device in response to the first request, the processing request including a scenario generated by a source device of the processing request that specifically identifies processing to be performed by the first information processing apparatus and the second information processing apparatus in order to complete the processing request, and
transmit, when the processing request further includes processing to be executed at the second information processing apparatus, a result of executing the processing at the first information processing apparatus and a request for executing the processing to be performed at the second information processing apparatus, to the relay device; and
wherein the second information processing apparatus is a file server that includes processing circuitry configured to:
transmit a second request to the relay device,
receive, from the relay device in response to the second request, the result of executing the processing executed at the first information processing apparatus and the request for executing the processing to be performed at the second information processing apparatus, and
execute the processing at the second information processing apparatus in response to the received request for executing the processing to be performed at the second information processing apparatus, using the result of executing the processing at the first information processing apparatus.

US Pat. No. 10,430,134

PRINTING SYSTEM, IMAGE DISPLAY APPARATUS, IMAGE DISPLAY METHOD, AND NON-TRANSITORY COMPUTER READABLE MEDIUM

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

1. A printing system comprising:a client device configured to generate a job including a first image data and attachment data;
a printing apparatus configured that receive the job from the client device, print a second image on paper based on a second image data which is converted from the first image data by raster image processor (RIP), and
a computer executing a program causing the computer to act as:
an image generation unit that generates: (i) a first image based on the first image data, (ii) the second image, or (iii) a third image based on the first image data and the attachment data; and
an image display that is configured to display a selected one of the first image, the second image or the third image generated by the image generation unit, wherein
when RIP-processed output data corresponding to the job exists, the image display displays a selected one of the first image and the second image, and
when RIP-processed output data corresponding to the job does not exist, the image display displays a selected one of the first image and the third image.

US Pat. No. 10,430,133

IMAGE FORMING SYSTEM, CONTROL PROGRAM OF IMAGE FORMING SYSTEM, CONTROL PROGRAM OF IMAGE FORMING APPARATUS, AND CONTROL PROGRAM OF SERVER

Konica Minolta, Inc., To...

1. An image forming system comprising: a server enabled to accept a print job from a client apparatus; and an image forming apparatus enabled to receive an order for the print job from the server, whereinthe image forming apparatus includes:
a sheet feeding tray that accommodates a sheet;
a hardware processor that determines to receive an order for a print job accepted by the server in a case where a first condition and a second condition are both satisfied, the first condition being that a print job accepted by the server specifies a sheet of a same size as a size of a sheet specified by a print job being accepted by the image forming apparatus and at least either being executed or scheduled to be executed, the second condition being that the sheet feeding tray accommodates a sheet of twice the size of the sheet specified; and
an image former that forms a page image based on the print job accepted by the server and a page image based on the print job being accepted specifying the sheet of the same size as the size of the sheet specified, by allocating the page images in parallel to the sheet of twice the size of the sheet specified, in a case where it is determined by the hardware processor that the order for the print job accepted by the server is to be received.

US Pat. No. 10,430,132

COMMUNICATION TERMINAL, METHOD OF CONTROLLING THE SAME, AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM

CANON KABUSHIKI KAISHA, ...

1. A non-transitory computer-readable storage medium storing a program for causing a computer to execute a method of controlling a mobile terminal, the method comprising:setting user information that includes at least a user name and a domain name of an authentication server for authenticating a user corresponding to the user name, based on a user operation;
transmitting print data that includes information concerning the user information to an image processing apparatus;
determining to use the domain name included in the user information in a login request for the image processing apparatus in a case that the login request includes the domain name, and
determining not to use the domain name included in the user information in the login request for the image processing apparatus in a case that the login request does not include the domain name.

US Pat. No. 10,430,131

IMAGE FORMING APPARATUS, IMAGE FORMING SYSTEM, AND IMAGE FORMING METHOD THAT ENABLES DIRECT CONNECTION EASILY

KYOCERA Document Solution...

1. An image forming apparatus comprising:a connection information transmitting part configured to transmit connection information of wireless direct connection to a terminal by short-range wireless connection;
a password generating part configured to generate and transmit a password to the terminal in which the wireless direct connection has been established by the connection information transmitted by the connection information transmitting part;
a connection determining part configured to continue connection to the terminal when the password transmitted by the password generating part is inputted on the image forming apparatus, and disconnect connection to the terminal when the password is not inputted on the image forming apparatus; and
a specific information receiving part configured to receive specific information for the terminal, wherein said specific information is received from the terminal, and wherein the specific information comprises identification data unique to the terminal; wherein
the specific information is received from the terminal in an encrypted form and the image forming apparatus comprises a memory storing a secret key configured to decrypt the encrypted specific information; and
the password generating part generates the password as a password based on the specific information by converting the specific information into a character string using a hash function.

US Pat. No. 10,430,130

INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD

Ricoh Company, Ltd., Tok...

1. An information processing system, comprising:a server including
a memory to store application information of at least one web application; and
first circuitry configured to
receive device information of an image forming apparatus and an identifier identifying a selection by a user of a specific web application from the image forming apparatus,
compare the received device information of the image forming apparatus with application information of the selected web application, the application information being obtained from the memory,
determine whether an update of firmware of the image forming apparatus is necessary, based on a result of the comparison, and
send, to the image forming apparatus, an instruction to update the firmware of the image forming apparatus, when a result of the determination indicates that the update of the firmware is necessary;
the image forming apparatus, wherein the image forming apparatus includes
second circuitry configured to
receive the selection of the specific web application by the user,
receive the instruction to update the firmware,
update the firmware of the image forming apparatus in response to receiving the instruction,
generate a shortcut icon of the selected web application after the firmware is updated, and
execute the selected web application that required the update of the firmware of the image forming apparatus, by using the shortcut icon; and
a web browser configured to
request, from the server, a list of the at least one web application,
display the list of the at least one web application,
receive input of the selection of the specific web application,
send, to the server, a product identifier of the selected web application and current version information of the firmware of the image forming apparatus,
receive, from the server, the instruction to update the firmware when the current version information is older than a latest version information,
register the shortcut icon after completing the firmware update,
initiate the selected web application based on selection of the shortcut icon by the user, and
execute at least one image forming function of the image forming apparatus by using the selected web application.

US Pat. No. 10,430,129

INFORMATION PROCESSING APPARATUS, IMAGE FORMING APPARATUS, INFORMATION PROCESSING SYSTEM, AND INFORMATION PROCESSING METHOD CAPABLE OF CALLING FUNCTIONS OF PLURAL SERVERS

KYOCERA Document Solution...

1. An information processing apparatus capable of calling functions of a plurality of servers, comprising:a storage unit that stores function information that indicates a function requiring authentication provided by a server of the plurality of servers, arrangement data that includes information of instruction areas in an application corresponding to each of the functions of the plurality of servers, and authentication state data that indicates an authentication state;
an integrated-arrangement unit that arranges in the application the instruction areas that acquire instruction for calling the functions to any one of the plurality of the servers corresponding to the arrangement data, and further, arranges the instruction areas in which a plurality of the functions that are similar and that require authentication by the authentication-executing unit and/or a plurality of the functions that are to be authenticated in the same server are organized as a folder;
an authentication-executing unit that, in the case where one of the functions of the plurality of servers corresponding to the instruction area arranged by the integrated-arrangement unit requires authentication, performs authentication with a server, of the plurality of servers, corresponding to the function requiring authentication, or, in the case where there is an instruction to select the folder in which a plurality of the functions is grouped and requires authentication, performs authentication with a server, of the plurality of servers, corresponding to the plurality of the grouped functions requiring authentication; and
an authentication-state-changing unit that controls the authentication state in correlation with any one of the folder organized by the integrated-arrangement unit, the application, and the function, wherein
the authentication-executing unit refers to the function information and/or the arrangement data to determine whether or not an instruction for calling a function has been acquired with respect to the indicated area in a same folder, and
when acquiring an instruction for calling the function for which the instruction for calling was received, the authentication-state-changing unit, for the function for which the instruction for calling was received, performs the same authentication process by the authentication information of the authentication state data for another function in the same folder which has already been called.

US Pat. No. 10,430,128

IMAGE FORMING SYSTEM AND PROGRAM BETWEEN A PORTABLE TERMINAL AND AN IMAGE FORMING DEVICE WITH CONFIRMATION FEATURE

Konica Minolta, Inc., Ch...

1. A non-transitory recording medium storing a computer readable program that causes a computer included in a portable terminal to communicate with an image forming device to execute:a) a step of acquiring communication information from the image forming device via a first wireless communication using a first wireless communication method, the communication information being information for executing a second wireless communication using a second wireless communication method;
b) a step of executing confirmation processing of confirming existence of the portable terminal in the vicinity of the image forming device; and
c) a step of, when existence of the portable terminal in the vicinity of the image forming device is confirmed in the step b), permitting registration processing of registering the communication information in the portable terminal in order to enable execution of the second wireless communication, the communication information being communication information for the second wireless communication with the image forming device and being acquired in the step a).

US Pat. No. 10,430,127

DETERMINATIONS OF PREVIOUS INSTALLATIONS OF MARKING AGENT CARTRIDGES WITHIN PRINTER FLEETS

Hewlett-Packard Developme...

1. A system, comprising:an acquisition engine in a server to obtain via a network, for each of a plurality of printers of a printer fleet, identification data indicative of marking agent cartridges installed in the printers of the fleet;
a storage engine to cause storage of the identification data in association with a fleet identifier for the printer fleet;
a request engine in the server to receive via the network, from a computing device associated with a particular printer in the printer fleet, at least one request for fleet installation information with respect to a marking agent cartridge in the particular printer;
a determination engine in the server to determine the fleet installation information based upon the received identification data, the fleet installation information specifying whether the marking agent cartridge was previously installed at any printer of the printer fleet; and
a send engine in the server to send the determined fleet installation information to the computing device in response to each request.

US Pat. No. 10,430,126

METHOD FOR PRINTING MULTI-LAYER PRINT JOBS

1. A method for printing a plurality of print jobs on a flat bed printer, wherein each print job specifies an image receiving area with a given shape and given dimensions where an image is to be printed on a recording medium, and wherein each of the print jobs comprises a number of sub-jobs specifying image layers to be printed on top of each other in a predetermined print order, with print settings being individually assigned to each sub-job, said method comprising the steps of:a) grouping the sub-jobs by their print settings;
b) nesting the image receiving areas of the print jobs on a flat bed of the printer; and
c) printing the sub-jobs group by group, with sub-jobs of the same group and from different print jobs being printed in common steps of scanning the flat bed, the scanning steps being performed in a scan order which preserves the print order in each print job,
wherein the step a) includes sub-steps of:
a1) grouping the sub-jobs into groups of sub-jobs which belong to different print jobs and have print settings which are compatible with one another, since the print settings permit the sub-jobs to be executed in a common step of scanning the flat bed;
a2) labeling the sub-jobs preliminarily with scan numbers which preserve the print order, since the scan number of a sub-job is larger than the scan number of the sub-job that belongs to the same print job and precedes in the print order;
a3) selecting a group from among the groups formed in the preceding grouping step;
a4) varying the scan numbers of the sub-jobs in the group so as to maximize the number of sub-jobs with identical scan numbers, while preserving the print order;
a5) marking the sub-jobs whose scan number occurs with the highest frequency in the group;
a6) grouping the sub-jobs, which have not yet been marked, into groups of sub-jobs which belong to different print jobs and have compatible jobs settings; and
a7) repeating the steps a3) to a6) until all sub-jobs have been marked, and wherein step c) comprises printing the sub jobs in the order of their scan numbers.

US Pat. No. 10,430,125

SYSTEM, NETWORK ARCHITECTURE AND METHOD FOR ACCESSING AND CONTROLLING AN ELECTRONIC DEVICE

gabi Solutions, Inc., Fa...

1. A system for accessing and controlling a target electronic device having at least one preset function and being connectable to a network, a user of the system having a user electronic device connectable to the target electronic device, at least one function of the user electronic device is not native to the target electronic device and different than the at least one preset function of the target electronic device that is accessible by the user with the user electronic device, the system comprising:a smart box connectable to the network, the smart box having a central processing unit comprising a processor and memory having stored therein general purpose software, and having storable therein smart box special purpose software;
a server connectable to the network and having a processor and memory having stored therein server special purpose software; and
a user device control installable on the user electronic device, wherein the user device control enables a user of the user electronic device to access the at least one preset function of the target electronic device and enable the target electronic device to at least one of perform or respond to the at least one function of the user electronic device,
wherein the at least one function of the user electronic device is native to the user electronic device.

US Pat. No. 10,430,123

HIERARCHICAL DATA RECOVERY PROCESSING FOR EXTENDED PRODUCT CODES

International Business Ma...

1. A method for distributed hierarchical data recovery processing comprising:distributively encoding data stored in a plurality of w storage device arrays in a storage system using an erasure-correcting code;
distributing the encoded data into the plurality of w storage device arrays in the storage system, each storage device array including n storage devices, each storage device divided into m sectors or pages;
grouping the n storage devices into l groups of t storage devices each; and
correcting erased data that occurred in the plurality of w storage device arrays by recovering erased data using the erasure-correcting code of un-erased encoded data based on each row and column in each m×n array being protected by the erasure-correcting code for the data, wherein each group of t storage devices contains extra second responder parities, generated by at least one global controller, to correct extra erased data in addition to erased data corrected by first responder vertical parities, generated by a plurality of local controllers, in each m×t subarray, and w, n, m, l and t are positive integers.

US Pat. No. 10,430,122

USING PARTIAL REBUILDING TO CHANGE INFORMATION DISPERSAL ALGORITHM (IDA)

PURE STORAGE, INC., Moun...

1. A storage unit (SU) comprising:an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);
memory that stores operational instructions; and
processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:
receive a partially encoded slice request of a plurality of partially encoded slice requests, from a computing device and issued from the computing device to a first decode threshold number of storage units (SUs) of a first SU set that includes the SU, to restore a set of encoded data slices (EDSs) associated with a data object that is distributedly stored within the first SU set based on first dispersed storage error coding function parameters that include the first decode threshold number, wherein the SU includes one of the first decode threshold number of SUs of the first SU set, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed storage error coding function parameters to produce the set of EDSs;
generate, based on the partially encoded slice request, a second decode threshold number of partially encoded data slices (EDSs) based on the first dispersed storage error coding function parameters and second dispersed storage error coding function parameters; and
output the second decode threshold number of partially EDSs to a second decode threshold number of SUs of a second SU set to undergo selective combination respectively within SUs of the second decode threshold number of SUs of the second SU set to generate new EDSs for storage within the SUs of the second decode threshold number of SUs of the second SU set.

US Pat. No. 10,430,121

EFFICIENT ASYNCHRONOUS MIRROR COPY OF FULLY PROVISIONED VOLUMES TO THIN-PROVISIONED VOLUMES

International Business Ma...

1. A method for copying data from a primary fully provisioned volume to a secondary thin-provisioned volume, the method comprising:hosting, on a primary storage system, a fully provisioned volume made up of a plurality of storage elements, wherein the storage elements include a first subset of storage elements that are allocated to the fully provisioned volume and allocated to particular data sets, and a second subset of storage elements that are allocated to the fully provisioned volume but not allocated to particular data sets;
analyzing a volume table of contents (VTOC) associated with the fully provisioned volume to determine which storage elements of the fully provisioned volume belong to the first set and which storage elements of the fully provisioned volume belong to the second set; and
copying, from the fully provisioned volume to a secondary thin-provisioned volume, storage elements that belong to the first set but not storage elements that belong to the second set.

US Pat. No. 10,430,120

DATA OBJECT MANAGEMENT METHOD AND DATA OBJECT MANAGEMENT SYSTEM

INDUSTRIAL TECHNOLOGY RES...

1. A data object management method applied to a data object management system, comprising:before a data object is requested to be stored, receiving an operation parameter from a space consuming device to produce a space allocation list with a weight order of a plurality of storage spaces, wherein before the data object is requested to be stored, the space consuming device searches for one of the plurality of storage spaces with a first priority of the weight order in the space allocation list and sets said one of the plurality of storage spaces as a target storage space, the space consuming device executes writing the data object to the target storage space, and determines whether writing the data object to the target storage space fails, and when writing the data object to the target storage space fails, the space consuming device assigns another one of the plurality of storage spaces with a priority next to the first priority to be the target storage space according to the weight order;
updating the weight order in the space allocation list according to the operation parameter; and
when a read request corresponding to the space consuming device is received, checking the plurality of storage spaces one by one according to the weight order until one of the plurality of storage spaces, which has a file corresponding to the read request, is found, and generating a playlist corresponding to the storage space having the file, and sending the playlist;
wherein the operation parameter is one or more of an IP address, a geographic location and a networking state of the space consuming device.

US Pat. No. 10,430,119

MECHANISM FOR MULTIPLE COEXISTING CONFIGURATIONS SUPPORT IN VIRTUAL TAPE APPLICATIONS

EMC IP Holding Company LL...

1. A method for supporting coexisting user specific configurations, comprising:receiving a request comprising a new user identifier (ID) and a new user specific configuration associated with a new mainframe user;
in response to receiving the request:
generating a library batch request (LBR) based on at least a portion of the new user specific configuration;
making a first determination that the LBR is valid;
processing, based on the first determination, the LBR to create a set of new virtual tape libraries;
generating a drive batch request (DBR) based on at least another portion of the new user specific configuration;
making a second determination that the DBR is valid; and
processing, based on the second determination, the DBR to create a set of new virtual tape drives.

US Pat. No. 10,430,118

TRANSPARENT DEVICE DRIVER INTEGRATION

NCR Corporation, Atlanta...

1. A method, comprising:intercepting an event being pushed up a peripheral stack within a kernel of an Operating System (OS), wherein intercepting further includes identifying the event as originating from a peripheral driver installed within the OS;
translating the event to a format that the OS is configured to process; and
passing the event in the format to a kernel process within the OS for continued processing.

US Pat. No. 10,430,117

HOST ACCELERATED OPERATIONS IN MANAGED NAND DEVICES

Micron Technology, Inc., ...

1. A NAND device for host accelerated operations in managed NAND devices, the NAND device comprising:a NAND array, and
a controller to:
receive a read request that includes a logical address, a physical address, and a token;
retrieve, from the NAND array, a verification component that corresponds to the physical address;
compute a verification of the read request using the logical address, the physical address, and the verification component; and
modify a read operation based on the verification.

US Pat. No. 10,430,115

SYSTEM AND METHOD FOR OPTIMIZING MULTIPLE PACKAGING OPERATIONS IN A STORAGE SYSTEM

Reduxio Systems Ltd., Te...

1. A transactional storage system comprising:a memory; and
a storage management unit to:
record, for a data element in a storage transaction, a time of the storage transaction and a data element identifier;
if more than one packaging operation (PO) is required for reducing the number of stored storage transactions related to the data element identifier then reduce the number of POs by:
receiving, for the data element identifier, a first and a second PO commands respectively related to a first time interval and a second time interval, and
if the first time interval is contained in the second time interval then selecting to execute only the second PO command.

US Pat. No. 10,430,114

BUFFER OPERATIONS IN MEMORY

Micron Technology, Inc., ...

1. An apparatus, comprising:an array of memory cells; and
a controller coupled to the array of memory cells and configured to:
program first page data to the array of memory cells while storing second page data and third page data on a buffer during a first pass programming operation.

US Pat. No. 10,430,113

MEMORY CONTROL CIRCUIT AND MEMORY CONTROL METHOD

SONY CORPORATION, Tokyo ...

1. A memory control circuit, comprising:a memory control section configured to:
selectively use a first issuing mode and a second issuing mode based on a command interval of a plurality of control commands, wherein
the command interval is defined by a specification,
in the first issuing mode the plurality of control commands are issued without performing bank group interleaving, and
in the second issuing mode the bank group interleaving is performed and the plurality of control commands are issued; and
issue the plurality of control commands to a plurality of bank groups in a memory having a bank group function, wherein the memory is compliant to the specification.

US Pat. No. 10,430,112

MEMORY BLOCK CYCLING BASED ON MEMORY WEAR OR DATA RETENTION

SanDisk Technologies LLC,...

1. A method for data retention in a memory device that comprises performing on blocks in a memory device with a controller the following method, the method comprising:determining a cell voltage distribution of cells in the blocks;
measuring changes in a location of a shape of the cell voltage distribution from the determinations, wherein the location corresponds to a shift in a linear average of the cell voltage distribution over a bake time of the cells;
calculating a data retention rate for each of the blocks based on the measured changes of the location; and
reducing usage of the blocks with a higher calculated data retention rate by cycling of the blocks with the higher calculated data retention rate to normalize data retention values across the blocks.

US Pat. No. 10,430,111

OPTIMIZATION FOR REAL-TIME, PARALLEL EXECUTION OF MODELS FOR EXTRACTING HIGH-VALUE INFORMATION FROM DATA STREAMS

UDA, LLC, San Jose, CA (...

1. A method for accessing a plurality of sequential memory slots of a shared non-circular memory array by multiple processes without using software-based locking techniques, the method comprising:assigning an index number to each memory slot of the shared memory array by masking portions of the physical address of each memory slot;
allocating a first memory slot and writing, using a producer process, data to the first memory slot, wherein the first memory slot is associated with a producer index number;
reading, using a consumer process, data from a second memory slot, wherein the second memory slot is associated with a consumer index number; and
de-allocating, using a garbage collector process, data from a third memory slot having a second index number, wherein the garbage collector and the third memory slot are associated with a garbage collector index number;
wherein the writing, reading and de-allocating are performed using atomic instructions.

US Pat. No. 10,430,110

IMPLEMENTING A HYBRID STORAGE NODE IN A DISTRIBUTED STORAGE SYSTEM

ROBIN SYSTEMS, INC., San...

1. A method for processing input/output operations (IOPs) in a distributed storage system, the method comprising:receiving, by an input/output (TO) module executing on a storage node comprising one or more processing devices and one or more storage devices, a first IOP from a first application;
determining, by the IO module, that (a) the first application is executing on the storage node; and
in response to determining (a), issuing, by the IO module, a first library function call to disk virtualization manager (DVM) executing on the storage node to execute the first IOP;
in response to the first library function call, performing, by the DVM:
executing the first IOP, the first IOP being a read IOP, to obtain payload data;
writing the payload data to a shared memory in kernel space of an operating system executing on the storage node, the DVM and IO module executing in a same process in user space of the operating system and both having access to the shared memory; and
issuing a second library function call to the IO module that does not include the payload data; and
in response to the second library function call, reading, by the IO module, the payload data from the shared memory and returning the payload data to the first application.

US Pat. No. 10,430,109

INFINITE MEMORY FABRIC HARDWARE IMPLEMENTATION WITH ROUTER

Ultrata, LLC, Vienna, VA...

1. A hardware-based processing node of an object memory fabric, the processing node comprising:a memory module comprising one or more hardware components installed in the hardware-based processing node and storing and managing one or more memory objects, the memory module comprising at least a first memory and a second memory, wherein:
each memory object is created natively within the memory module, and
each memory object is accessed using a single memory reference instruction without Input/Output (I/O) instructions; and
a router comprising a hardware component communicatively coupled with the memory module and providing an interface between a processor and the first memory and the second memory of the memory module;
wherein a set of data is stored within the first memory of the memory module;
wherein the memory module dynamically determines that at least a portion of the set of data will be transferred from the first memory to the second memory; and
wherein the router maintains a memory module object directory that indexes all memory objects or portions of memory objects within the memory module, identifies the portion to be transferred based on the memory module object directory, and facilitates execution of the transfer of the portion of the set of data from the first memory, through the router, to the second memory.

US Pat. No. 10,430,108

CONCURRENT COPYING OF FIRST AND SECOND SUBSETS OF PAGES FROM MEDIA SUCH AS SLC NAND TO MEDIA SUCH AS QLC OR MLC NAND FOR COMPLETION OF COPYING OF DATA

INTEL CORPORATION, Santa...

1. A method, comprising:determining that data has to be moved internally within a non-volatile memory from a plurality of pages of a first type of storage media to a page of a second type of storage media;
copying a first subset of the plurality of pages from the first type of storage media to the page of the second type of storage media;
concurrently with the copying of the first subset of the plurality of pages, copying a second subset of the plurality of pages from the first type of storage media to the page of the second type of storage media; and
determining that the copying of the data from the first type of storage media to the second type of storage media has completed, in response to completion of the copying of the first subset of the plurality of pages and the second subset of the plurality of pages.

US Pat. No. 10,430,107

IDENTIFYING STORED DATA SLICES DURING A SLICE MIGRATION ACTIVITY IN A DISPERSED STORAGE NETWORK

PURE STORAGE, INC., Moun...

1. A method for execution by a dispersed storage and task (DST) execution unit that includes a processor, the method comprises:obtaining a first request that includes a slice name range;
identifying at least one storage unit affiliated with the slice name range of the first request;
issuing at least one second request to the at least one storage unit that includes a dispersed storage network (DSN) address range associated with the slice name range;
receiving at least one first response from the at least one storage unit in response to the at least one second request, wherein the at least one first response includes a list of slice names associated with the DSN address range;
selecting at least one selected first response from the at least one first response based on the slice name range of the first request; and
issuing a second response to a requesting entity that includes slice names of a list of slice names included in the at least one selected first response that are associated with the slice name range of the first request, and that further includes slice names of locally stored encoded data slices that are associated with the slice name range of the first request.

US Pat. No. 10,430,106

POLICY BASED TIERED ALLOCATION FOR HYBRID STORAGE DEVICES

Microsoft Technology Lice...

1. A method for policy based tiered allocation for a hybrid storage device, the method comprising:receiving, at a filesystem allocator, a request to allocate an amount of storage on the hybrid storage device, the request including a policy that enumerates cluster allocation bitmaps;
receiving, from the policy, a cluster allocation bitmap, wherein the hybrid storage device comprises a plurality of zones including a metadata zone, a spillover zone, a fast data zone, and a slow data zone, wherein the policy orders the plurality of zones based on a data type associated with the allocation request, and wherein the policy enumerates one or more cluster allocation bitmaps from one or more of the ordered plurality of zones;
searching the cluster allocation bitmap for an unallocated block of space that satisfies the amount of storage; and
allocating the amount of storage from the unallocated block of space.

US Pat. No. 10,430,105

STORAGE SCHEME FOR A DISTRIBUTED STORAGE SYSTEM

ROBIN SYSTEMS, INC., San...

1. A storage system comprising:a storage node comprising a storage device, one or more processing devices, and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code effective to cause the one or more processing devices to—
define a segment map having a plurality of segment entries, each segment entry corresponding to a segment of a plurality of segments available for storage on the storage device; and
process a plurality of write requests, each write request referencing a storage volume and including write data and a write address;
wherein the executable code is further effective to cause the one or more processing devices to process each write request of the plurality of write requests by—
if an entry in the segment map references the storage volume and corresponds to a segment having sufficient space for the write data of the each write request, writing the write data of the each write request to the segment;
if no entry in the segment map both references the storage volume and corresponds to a segment having sufficient space for the write data of the each write request, (a) selecting an unassigned segment from the plurality of segments, (b) adding a reference to the storage volume referenced by the each write request to a segment entry of the segment map corresponding to the unassigned segment of the plurality of segments, and (c) writing the write data of the each write request to the assigned segment.

US Pat. No. 10,430,104

DISTRIBUTING DATA BY SUCCESSIVE SPATIAL PARTITIONINGS

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method for distributing data among a plurality of memory devices comprising:performing a plurality of successive spatial partitionings of a two-dimensional (2D) graphical representation of data based upon vertices and associated edges by at least
splitting the 2D graphical representation into a plurality of spatial partitions, each spatial partition having a respective edge threshold associated therewith,
determining a number of respective edges within each spatial partition of the plurality thereof, wherein edges appearing on a border of adjacent spatial partitions are determined to be associated with the spatial partition having a lower number of determined edges, and
for each spatial partition having a number of edges more than the respective edge threshold, successively splitting the associated spatial partition until each of the plurality of spatial partitions has less than the respective edge threshold;
ordering the plurality of spatial partitions;
determining which of the ordered plurality of spatial partitions has data therein;
determining a respective workload for each of the plurality of memory devices; and
distributing ones of the plurality of spatial partitions having data among the plurality of memory devices based upon the ordering and the determined workload.

US Pat. No. 10,430,103

USING LOG OBJECTS IN OBJECT STORAGE FOR DURABILITY OF FILE OBJECTS IN VOLATILE MEMORY

Amazon Technologies, Inc....

1. A system, comprising:an object storage system configured to store data objects via an application-level network protocol; and
a file gateway implemented by one or more computing devices comprising one or more processors and volatile system memory, wherein the file gateway comprises:
a file system interface configured to receive, from one or more clients over a network, file system operations;
an object storage interface configured to store data objects to the object storage system via the application-level network protocol; and
a file-object manager configured to:
in response to receiving by the file system interface a file system operation for a file:
call the object storage interface to store a log object into a file system log in the object storage system, wherein the log object indicates the file system operation for the file; and
create or update, based on the file system operation for the file, a file object in a file object construction buffer in the volatile system memory, wherein the file object corresponds to the file, and wherein the file-object manager does not have access to local persistent storage; and
in response to a determination to evict the file object, call the object storage interface to store the file object into a file object store in the object storage system.

US Pat. No. 10,430,102

STORAGE DEVICE, PROGRAM, AND INFORMATION PROCESSING METHOD

NEC CORPORATION, Tokyo (...

1. A storage device comprising:a data storage part storing deduplicated block data;
a temporary data storage part temporarily storing block data acquired from the data storage part;
a data retrieval control part retrieving the block data stored by the data storage part, storing the block data into the temporary data storage part, and retrieving the block data from the temporary data storage part; and
a temporary data control part deleting the block data stored by the temporary data storage part,
the storage device further comprising a retrieval turn information storage part storing retrieval turn information which is information about a turn to be retrieved of the block data for restoring the block data, the retrieval turn information being stored when the block data is stored in the data storage part, wherein:
the data retrieval control part causes the temporary data storage part to store the block data acquired from the data storage part on a basis of the retrieval turn information acquired from the retrieval turn information storage part; and
the temporary data control part deletes the block data stored in the temporary data storage part on the basis of the retrieval turn information,
the storage device further comprising:
a data dividing part dividing writing target data into a plurality of the block data;
a block detecting part checking whether each of the plurality of the block data obtained by the dividing by the data dividing part is already stored in the data storage part; and
a data writing part storing each of the plurality of the block data obtained by the dividing by the data dividing part into the data storage part and, when storing other block data of a same content as block data already stored in the data storage part, causing the block data already stored in the data storage part to be referred to as the other block data, wherein:
the block detecting part detects a common rate representing a rate of a common portion between a plurality of sequential block data configuring a predetermined range in the writing target data among the plurality of the block data obtained by division by the data dividing part and a plurality of block data in a predetermined range already stored sequentially in the data storage part; and
the data writing part newly stores the plurality of the block data obtained by the dividing by the data dividing part into the data storage part, depending on the common rate detected by the block detecting part.

US Pat. No. 10,430,101

SEMICONDUCTOR MEMORY DEVICE THAT RANDOMIZES DATA AND RANDOMIZER THEREOF

Toshiba Memory Corporatio...

1. A semiconductor memory device, comprising:a non-volatile memory; and
a controller including a randomizer circuit configured to randomize write data that is received along with a write command, and write the randomized write data to an address of the non-volatile memory that is also received along with the write command, wherein
the randomizer circuit includes a linear feedback shift register circuit having at least four registers, and
a plurality of exclusive OR results of two values output from different pairs of registers of the linear feedback shift register circuit is output from the linear feedback shift register circuit, as a group of random numbers, that are used to randomize the write data.

US Pat. No. 10,430,100

TRANSACTIONAL OPERATIONS IN MULTI-MASTER DISTRIBUTED DATA MANAGEMENT SYSTEMS

International Business Ma...

1. A method for grooming transactional operations in a multi-master distributed data management system, comprising:maintaining transactional operations in at least one transaction-local side-log;
performing a table log scan for a table including recording identification for each record in a log;
loading each column in the table with column values based on the identifications; and
generating tuple sequence numbers for the records and writing the records on groomed transaction blocks to the table based on the column values,
wherein the table is sharded across nodes handling transactional operations in the multi-master distributed data management system to increase processing handling of the transactional operations.

US Pat. No. 10,430,099

DATA PROCESSING SYSTEMS

Arm Limited, Cambridge (...

1. A method of determining a data value to use for a data position of a stored data array in a data processing system, the method comprising:reading by processing circuitry a stored header data block for a block of the data array that the data position falls within;
determining by processing circuitry whether the header data block contains an indication that all of the data positions for the block of the data array have the same data value;
and, when it is determined from the header data block that all of the data positions of the stored data array for the block of the data array that the header data block relates to do not have the same data value:
reading by processing circuitry from the header data block for the block of the data array that the data position falls within data relating to a plurality of sub-blocks that the block of the data array that the header data block relates to has been divided into, each sub-block comprising a plurality of data positions of the data array;
using the data relating to the plurality of sub-blocks read from the header data block to locate by processing circuitry a set of sub-block data for at least one sub-block of the sub-blocks that the block of the data array that the header data block relates to has been divided into, wherein the set of sub-block data is stored separately to the header data block;
reading by processing circuitry the set of sub-block data, wherein the set of sub-block data comprises data indicating the data values to use for data positions of the at least one sub-block; and
determining by processing circuitry the value to use for the data position from the set of sub-block data;
but, when it is determined from the header data block that all of the data positions of the stored data array for the block of the data array that the header data block relates to have the same data value:
determining by processing circuitry from other data stored in the header data block and not from a separate set of sub-block data the value to use for the data position.

US Pat. No. 10,430,098

SYSTEM AND METHODS FOR DEFINING OBJECT MEMORY FORMAT IN MEMORY AND STORE FOR OBJECT INTERACTIONS, MANIPULATION, AND EXCHANGE IN DISTRIBUTED NETWORK DEVICES

RTBRICK, INC., Princeton...

1. A system for more efficiently storing objects in memory of an in-memory storage system, the system comprising:an in-memory storage system comprising memory coupled to a processor;
a first location of memory having a first predetermined memory format configured to store content of an object and an object map, wherein the object map comprises an attribute mask and an offset list to locate a particular attribute of a plurality of attributes of the object, wherein the attribute mask comprises a bit vector describing an encoding of the plurality of attributes of the object; and
a second location of memory having a second predetermined memory format configured to store an index map of indexes to one or more objects; and
wherein the index map comprises an index to the object map for the object.

US Pat. No. 10,430,097

POLYMORPHISM AND TYPE CASTING IN STORAGE VOLUME CONNECTIONS

Red Hat, Inc., Raleigh, ...

1. A method comprising:receiving, by a processing device executing a container manager, an identifier of a persistent volume (PV) created on a storage device and a list of polymorphic connection types supported by the PV;
creating a PV record for the PV at the container manager;
responsive to receiving a query of the PV record from a container host, performing, for a connection from the container host to the storage device, type casting to identify a connection type from the list of polymorphic connection types and connection information for the connection type to enable establishment of the connection between the container host and the storage device, wherein the connection information is different for each of the polymorphic connection types; and
returning, to the container host in response to the query, the identifier of the PV and the connection information to cause the container host to establish the connection to the storage device via the connection type.

US Pat. No. 10,430,094

RESOURCE ALLOCATION IN COMPUTERS

VMware, Inc., Palo Alto,...

1. A method comprising:allocating, among a plurality of clients, a set of resource units for a resource, the set of resource units being a measure of one or more of the following: an amount of time a client has access to the resource, and an amount of space in the resource the client has access to;
for each client, evaluating a metric that is a function of at least a usage-based factor, the usage-based factor being a function of a first measure of the set of resource units allocated to the client that the client is actively using and a second measure of the set of resource units allocated to the client that the client is not actively using; and
penalizing one of the clients when the metric for that client meets a predetermined criterion.

US Pat. No. 10,430,093

SEMICONDUCTOR DEVICE, ELECTRONIC COMPONENT, AND ELECTRONIC DEVICE

Semiconductor Energy Labo...

1. A semiconductor device comprising:a processor; and
an interface circuit comprising a register for storing setting information,
wherein the interface circuit is configured to transmit signals input and output between the processor and a functional device,
wherein the register comprises a first memory circuit capable of storing the setting information when power supply voltage is supplied, and a second memory circuit capable of storing the setting information when supply of the power supply voltage is stopped,
wherein the interface circuit is configured to change a state between a first state in which the setting information is stored in the first memory circuit, a second state in which the interface circuit operates on the basis of the setting information stored in the first memory circuit, a third state in which the setting information stored in the first memory circuit is stored in the second memory circuit and the supply of the power supply voltage is stopped, and a fourth state in which the supply of the power supply voltage is restarted and the setting information stored in the second memory circuit is stored in the first memory circuit,
wherein the interface circuit is configured to change the state between the second state, the third state, and the fourth state on the basis of a state of the functional device,
wherein the second memory circuit comprises a first transistor, a second transistor, a third transistor, a fourth transistor, a fifth transistor and sixth transistor,
wherein the first transistor comprises an oxide semiconductor in a semiconductor layer serving as a channel formation region,
wherein one of a source and a drain of the first transistor is electrically connected to a gate of the second transistor,
wherein one of a source and a drain of the second transistor is electrically connected to one of a source and a drain of the third transistor,
wherein one of a source and a drain of the fourth transistor is electrically connected to a gate of the fifth transistor,
wherein one of a source and a drain of the fifth transistor is electrically connected to one of a source and a drain of the sixth transistor,
wherein the other of the source and the drain of the second transistor is electrically connected to the other of a source and a drain of the fifth transistor,
wherein the other of the source and the drain of the third transistor is directly connected to the other of the source and the drain of the fourth transistor,
wherein the other of the source and the drain of the sixth transistor is directly connected to the other of the source and the drain of the first transistor,
wherein a gate of the first transistor is electrically connected to a gate of the fourth transistor,
wherein a gate of the third transistor is electrically connected to a gate of the sixth transistor, and
wherein the first transistor is configured to retain charge of the gate of the second transistor when turned off.

US Pat. No. 10,430,092

MEMORY CONTROLLER SYSTEMS WITH NONVOLATILE MEMORY FOR STORING OPERATING PARAMETERS

Rambus Inc., Sunnyvale, ...

1. A memory system comprising:a non-volatile memory, the non-volatile memory comprising a data area and a metadata area, the metadata area being predefined to store register values for a plurality of registers of a controller and a first table, the first table comprising executable commands and operations to be executed by the controller and the register values comprising a first register value to indicate a control parameter of a volatile memory, wherein the control parameter corresponds to at least one of a read speed of the volatile memory, a write speed of the volatile memory, a frequency of the volatile memory, or a latency of the volatile memory;
the volatile memory operatively coupled to the non-volatile memory;
a backup power source coupled to the non-volatile memory; and
the controller operatively coupled to the volatile memory, the backup power source, and the non-volatile memory, the controller comprising a communication interface, a memory block, and the plurality of registers, and the controller being configured to:
store, in the memory block of the controller, a copy of the first table;
store, in the plurality of registers, a copy of the register values;
receive, via the communication interface, an update to change at least one entry in the first table to obtain an updated first table;
receive, via the communication interface, a second update to change the first register value to an updated register value to change the control parameter of the volatile memory;
change the first table to the updated first table in the memory block of the controller responsive to the update;
change the first register value to the updated register value in a first register of the plurality of registers responsive to the second update;
store a copy of the updated first table at the metadata area of the non-volatile memory such that the change to the first table is preserved after a power cycle of the memory system; and
store a copy of the updated register value at the metadata area of the non-volatile memory such that the change to the first register is preserved after the power cycle of the memory system.

US Pat. No. 10,430,091

ELECTRONIC DEVICE AND METHOD FOR STORING SECURITY INFORMATION THEREOF

Samsung Electronics Co., ...

1. An electronic device comprising:a plurality of memories; and
a processor configured to electrically connect with the plurality of memories,
wherein the processor is further configured to:
set a security level of each of the plurality of memories, differently,
execute an application program configured to store security information in a first secured region of one of the plurality of memories,
receive a request, from the application program, to store the security information in the first secured region of the one of the plurality of memories, and
select a memory of the plurality of memories based on the security level of the memory and store the security information in a second secured region of the memory, in response to the request.

US Pat. No. 10,430,090

METHOD OF CONTROLLING MEMORY SYSTEM AND METHOD OF CONTROLLING INFORMATION-PROCESSING DEVICE

TOSHIBA MEMORY CORPORATIO...

1. A method of controlling a memory system including a non-volatile memory and a temperature measurement circuit, the method comprising:when writing data into the non-volatile memory, writing information about a temperature of the non-volatile memory which is measured by the temperature measurement circuit into the non-volatile memory along with the data; and
in a case that the temperature at which the data has been written into the non-volatile memory is in a rewriting temperature range, performing write-back processing while a temperature measured by the temperature measurement circuit is not in the rewriting temperature range, the write-back processing being processing in which the data is re-written into the non-volatile memory.

US Pat. No. 10,430,089

COPY METHOD OF COPYING INFORMATION BETWEEN FIRST PROCESSING APPARATUS AND SECOND PROCESSING APPARATUS, THE FIRST PROCESSING APPARATUS, AND THE SECOND PROCESSING APPARATUS

BROTHER KOGYO KABUSHIKI K...

1. A copy method of copying information between a first processing apparatus and a second processing apparatus,wherein the first processing apparatus comprises: a first storage configured to store a particular information that is usable in the first processing apparatus; a first non-contact interface configured to receive a signal from a mobile terminal by non-contact wireless communication; a first contactable-interface contactable with an external storage medium; and a processor,
wherein the second processing apparatus comprises: a second storage configured to store a particular information that is usable in the second processing apparatus; a second non-contact interface configured to receive a signal from the mobile terminal by the non-contact wireless communication; a second contactable-interface contactable with the external storage medium; and a processor,
wherein the copy method comprises steps performed by the processor of the first processing apparatus, and the steps performed by the processor of the first processing apparatus comprise:
a first receiving step of causing the first non-contact interface to receive authentication information from the mobile terminal by the non-contact wireless communication;
a first authentication-information storing step of (i) transmitting the authentication information received in the first receiving step to the external storage medium via the first contactable-interface in a state in which the external storage medium is in contact with the first contactable-interface; and is not in contact with the second contactable-interface, and (ii) storing the authentication information into a third storage of the external storage medium; and
a first particular-information storing step of (i) transmitting the particular information stored in the first storage to the external storage medium via the first contactable interface in the state in which, the external storage medium is in contact with the first contactable-interface, and is not in contact with the second contactable-interface, and (ii) storing the authentication information into a third storage of the external storage medium;, and
wherein the copy method further comprises steps performed by the processor of the second processing apparatus, and the steps performed by the processor of the second processing apparatus comprise:
a second receiving step of causing the second non-contact interface to receive authentication information from the mobile terminal by the non-contact wireless communication;
a reading step of reading the authentication information stored in the third storage of the external storage medium via the second contactable-interface in a state in which the external storage medium is in contact with the second contactable-interface and is not in contact with the first contactable-interface; and
a second particular-information storing step of (i) receiving the particular information from the third storage of the external storage medium via the second contactable-interface in the state in which the external storage medium is in contact with the second contactable-interface and is not in contact with the first contactable-interface, and (ii) storing the particular information into the second storage of the second processing apparatus, when the authentication information read in the reading step and the authentication information received in the second receiving step match each other.

US Pat. No. 10,430,088

STORAGE DEVICE CONFIGURED TO PERFORM TWO-WAY COMMUNICATION WITH HOST AND OPERATING METHOD THEREOF

Samsung Electronics Co., ...

1. A storage device that is configured to perform two-way communication with a host, the storage device comprising:a nonvolatile memory device; and
a controller configured to:
receive at least one first command and at least one second command from the host,
in response to the at least one first command, receive read data from the nonvolatile memory device,
generate first requests which include the read data, the first requests being write requests for a host memory of the host,
in response to the at least one second command, generate second requests which are read requests for the host memory,
generate a first packet which
includes at least one first request from among the first requests and at least two consecutive second requests from among the second requests,
transmit the first packet to the host, and
receive a second packet from the host, the second packet including responses to the at least two consecutive second requests and write data to be stored in the nonvolatile memory device.

US Pat. No. 10,430,087

SHARED LAYERED PHYSICAL SPACE

INFINIDAT LTD., Herzliya...

1. A method for managing write requests in a storage system, the method comprises:determining destaging responsibilities of each control node of a group of control nodes of the storage system, wherein different control nodes are assigned with different destaging responsibilities;
receiving, by a receiving control node out of the group of control nodes of the storage system, a write request for writing a data unit to the storage system;
selecting a destaging control node of the group of control nodes, that is responsible for destaging the data unit, in view of the destaging responsibilities;
storing the data unit in a first layer storage segment within a first layer storage, by the receiving control node, wherein the first layer storage is a shared memory accessible to the control nodes of the group, and wherein the first layer storage segment is configured for storing data units that are associated with the destaging responsibilities of the destaging control node;
retrieving the data unit from the first layer storage segment and destaging the data unit to a second layer storage by the destaging control node; wherein at a time of the destaging of the data unit to the second layer storage another control node of the group is responsible for destaging another data unit to the second layer storage; wherein the storing of the data unit in the first layer storage is faster than the destaging of the data unit to the second layer storage; and
wherein when the destaging control node differs from the receiving control node then each one of the receiving and the storing is not preceded by notifying the destaging control node about the receiving and the storing, respectively.

US Pat. No. 10,430,086

STACKED MEMORY DEVICES, SYSTEMS, AND METHODS

Micron Technology, Inc., ...

1. A method, comprising:receiving at an interface device a memory request from a processor, the memory request received over a first bus between the processor and the interface device having a first width and operable at a first speed in an interface device;
in response to the received memory request, the interface device performing a cache tag look-up routine in multiple memory devices operably coupled to the interface device, and at least one storage device coupled to the interface device;
wherein the multiple memory devices are coupled to the interface device through a second bus having a second width wider than the first width of the first bus, and
wherein the at least one storage device comprises a flash memory module coupled to a solid-state drive control circuit, wherein the solid-state drive control circuit is coupled to the interface device through a third bus, wherein the third bus is narrower than the second width of the second bus;
the cache tag look-up routine determining that only a first portion of the selected information is in one or more of the multiple memory devices memory devices;
accessing the multiple memory devices to retrieve the first portion of the selected information and storing the retrieved first portion of the selected information as first information in the interface device;
determining that a second portion of the selected information is in the at least one storage device; and
accessing at least one storage device to retrieve the second portion of the selected information and storing the retrieved second portion of the selected information as second information in the interface device.

US Pat. No. 10,430,084

MULTI-TIERED MEMORY WITH DIFFERENT METADATA LEVELS

Seagate Technology LLC, ...

1. A method comprising:assembling a controller with first and second non-volatile memory tiers into a multi-tier memory structure, the first and second non-volatile memory tiers having different data transfer attributes and different types of memory,
generating a first metadata to describe a first data object;
creating a second metadata to describe a second data object, the first and second metadata each having a common metadata unit size, the first and second data objects each having a common object unit size; and
modifying the common metadata unit size of the first metadata with a metadata granularity adjustment module of the multi-tier memory structure to an adjusted metadata unit size in response to a detected workload number of data access counts of the first data object, the common and adjusted metadata unit sizes being different.

US Pat. No. 10,430,083

MEMORY SCHEDULING METHOD FOR CHANGING COMMAND ORDER AND METHOD OF OPERATING MEMORY SYSTEM

Samsung Electronics Co., ...

1. A memory system comprising:a memory device comprising a plurality of memory blocks; and
a memory controller configured to preferentially process a command to change valid data of the plurality of memory blocks into invalid data based on a workload level before performing a garbage collection on the plurality of memory blocks to reduce a number of valid pages of the plurality of memory blocks,
wherein the memory controller is configured to change an execution of a command schedule based on the workload level to perform the garbage collection,
the execution of the command schedule comprises a command quota with respect to the command, and
the memory controller is configured to change the command quota with respect to the command.

US Pat. No. 10,430,080

SUBSYSTEM STORAGE SPACE MANAGER

Apple Inc., Cupertino, C...

1. At least one non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a user device, cause the user device to implement a subsystem storage space manager to a system storage space manager configured to carry out steps that include:receiving a storage space deletion request from the system storage space manager, wherein the storage space deletion request indicates an amount of storage space to be freed on the user device;
identifying, among a plurality of applications, one or more applications whose respective data can be deleted, wherein:
the one or more applications are identified by way of a protocol that is defined by the system storage space manager and that is implemented by each application of the one or more applications, and
each application of the one or more applications registers with the subsystem storage space manager and agrees to abide by the protocol;
issuing, by way of the protocol, and for each application of the one or more applications, a respective deletion request that, when executed, causes a respective amount of the respective data of the application to be deleted without requiring an involvement of the application, wherein:
the respective amounts of respective data, when deleted, cause at least the amount of storage space to be freed on the user device, and
at least one application of the one or more applications is not executing on the user device when its respective data is deleted.

US Pat. No. 10,430,079

ADJUSTING STORAGE CAPACITY IN A COMPUTING SYSTEM

Pure Storage, Inc., Moun...

1. A method of adjusting storage capacity in a computing system, the method comprising by a storage device:reducing data;
determining an amount of storage capacity saved by reducing the data;
determining an updated total storage capacity for the storage device in dependence upon an anticipated deduplication reduction level; and
representing in the updated total storage capacity provided to a computing device, some portion of the amount of storage capacity saved by reducing the data, as additional storage capacity, wherein the portion of the amount of storage capacity saved is less than the amount of storage capacity saved.

US Pat. No. 10,430,078

TOUCH SCREEN DEVICE, AND GRAPHICAL USER INTERFACE FOR INSERTING A CHARACTER FROM AN ALTERNATE KEYBOARD

Apple Inc., Cupertino, C...

1. A portable electronic device, comprising:one or more processors;
a memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
displaying a first keyboard, the first keyboard including a key;
detecting a contact on the key;
in response to detecting the contact on the key, displaying a second keyboard different from the first keyboard;
detecting a lift off from the touch screen display at a location on the touch screen display;
in response to detecting the lift off from the touch screen display:
in accordance with a determination that the location corresponds to a character-insertion key:
selecting the character-insertion key; and
ceasing to display the second keyboard; and
in accordance with a determination that the location does not correspond to a character-insertion key, maintaining display of the second keyboard.

US Pat. No. 10,430,077

COVER DEVICE AND ELECTRONIC DEVICE INCLUDING COVER DEVICE

Samsung Electronics Co., ...

1. An electronic device comprising:a first cover including at least one first sensing region; and
a processor configured to:
identify a first touch gesture on the at least one first sensing region when the first cover is in a closed state;
identify whether the first cover is in an open state; and
execute a function corresponding to the first touch gesture among a plurality of functions of the electronic device in response to identifying that the first cover is in the open state,
wherein the first touch gesture is input on the at least one first sensing region when the first cover is in the closed state.

US Pat. No. 10,430,076

DEVICE AND METHOD FOR TEXT ENTRY USING TWO AXES AT A DISPLAY DEVICE

MOTOROLA SOLUTIONS, INC.,...

1. A device comprising:a controller, a display device, a keyboard and a touchscreen at the display device, the controller configured to:
render, at the display device, one or more lines for text entry;
render, at the display device, a first axis about parallel to the one or more lines;
render, at the display device, a second axis about perpendicular to the one or more lines, an intersection of the first axis and the second axis defining a text entry cursor at the one or more lines, each of the first axis and the second axis being moveable at the display device, to move the intersection, upon receipt of touch input at one or more regions of the touchscreen corresponding to the first axis and the second axis; and
when input is received at the keyboard, control the display device to render text at the intersection.

US Pat. No. 10,430,075

IMAGE PROCESSING FOR INTRODUCING BLURRING EFFECTS TO AN IMAGE

Facebook, Inc., Menlo Pa...

1. A method, comprising:applying shader code to an original image to generate a blurred image version (BIV);
obtaining a composite image that is generated based at least in part on the original image and the BIV, wherein the composite image is generated by:
obtaining a mask that includes an unblurred region and a blurred region; and
applying the mask to combine the original image and the BIV to render a composite image that includes an unblurred portion comprising a portion of the original image corresponding to the unblurred region of the mask, and a blurred portion comprising a portion of the BIV corresponding to the blurred region of the mask; and
outputting the composite image to be displayed.

US Pat. No. 10,430,074

WINDOW CHANGE CONTROL METHOD, WINDOW CHANGE CONTROL DEVICE, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM

KONICA MINOLTA, INC., To...

1. A window change control method for controlling a change in a window displayed on an operation panel which is commonly used for displaying a first operation window for using a first electronic apparatus and for displaying a second operation window for using a second electronic apparatus, the method comprising:changing a state of the operation panel from a first state in which the first operation window is displayed to a second state in which the second operation window is displayed, responsive to a user's operation;
measuring a first elapsed time until a next operation is received after the state of the operation panel is changed from the first state to the second state, the first elapsed time elapsing since the state of the operation panel is changed from the first state to the second state, or a second elapsed time when any operation is received after the state of the operation panel is changed to the second state, the second elapsed time elapsing since a final operation is received, as a non-operation continuation time;
automatically changing the state of the operation panel from the second state to the first state when the non-operation continuation time exceeds a threshold value; and
changing the threshold value in accordance with a use result of the first electronic apparatus and the second electronic apparatus, in which the user uses the first electronic apparatus and/or the second electronic apparatus since the user starts using the first electronic apparatus or the second electronic apparatus.

US Pat. No. 10,430,073

PROCESSING DEVICE HAVING A GRAPHICAL USER INTERFACE FOR INDUSTRIAL VEHICLE

Crown Equipment Corporati...

1. A processing device having a graphical user interface, the processing device provided on an industrial vehicle, comprising:a housing having a front face, the front face defining a control section and a display section;
a touch screen display within the display section of the front face of the housing;
a set of controls arranged within the control section of the front face of the housing; and
a main component connected to a vehicle network bus of the industrial vehicle and to a transceiver for wireless communication with a remote server computer, the main component having:
a controller communicably connected to the touch screen display and each control of the set of controls, wherein the controller is operatively programmed to detect gesture commands entered by an operator through interaction with the touch screen display, and to detect operator interactions with the set of controls such that each control in the set of controls is mapped to a corresponding gesture command;
wherein the processing device executes computer code that implements a set of widgets, each widget representing live data representing a current state of a select one of a vehicle metric based upon data obtained via communication over the vehicle network bus or an operator-based metric obtained via communication with the remote server, wherein:
the set of widgets are organized to define:
a motion home screen position that displays at least one relevant travel related widget; and
a lift home screen position that displays at least one relevant lift related widget;
when the industrial vehicle is stopped, a vehicle operator can navigate through graphical representations of the set of widgets on the display using any combination of the gesture commands and the set of controls;
when a current operating state of a traction control module indicates that a traction control is engaged, the controller causes the display to snap to the motion home screen position;
when a current operating state of a hydraulic module indicates that forks are engaged in a lift operation on the industrial vehicle, the controller causes the display to snap to the lift home screen position; and
the gesture commands are disabled when the industrial vehicle exceeds a predetermined speed.

US Pat. No. 10,430,072

TOUCH-BASED INTERACTIVE LEARNING ENVIRONMENT

Apple Inc., Cupertino, C...

1. A non-transitory computer-readable medium including one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform operations comprising:presenting, by a device, a user interface on a touch sensitive surface of the device, the user interface having a first portion for displaying a sequence of software code, wherein the sequence of software code includes executable sequences of code to be compiled for execution;
receiving, by the device, a first touch input in the user interface, the first touch input corresponding to a command to insert an array of values into the user interface;
responsive to receiving the first touch input, inserting the array of values into the sequence of software code and presenting an array size adjustment element via the user interface;
receiving, by the device, a second touch input dragging the array size adjustment element;
responsive to receiving the second touch input, modifying a size of the array of values; and
compiling the sequence of software code for execution.

US Pat. No. 10,430,070

PROVIDING DEFINED ICONS ON A GRAPHICAL USER INTERFACE OF A NAVIGATION SYSTEM

SAP SE, Walldorf (DE)

1. A computer implemented method comprising:rendering a plurality of unlabeled icons at arbitrary locations on a graphical user interface associated with a navigation system;
dynamically labeling the plurality of unlabeled icons rendered at arbitrary locations on the user interface with a plurality of address locations, respectively, to generate a plurality of address-labeled icons that are arranged on the graphical user interface without respect to geographic locations of the address locations represented by the plurality of address-labeled icons;
detecting a selection of two address-labeled icons displayed via the graphical user interface; and
displaying, via the user interface, driving information between corresponding address locations represented by the two address-labeled icons on the graphical user interface in response to detecting the selection of the two address-labeled icons.

US Pat. No. 10,430,069

DEVICE, A METHOD AND/OR A NON-TRANSITORY COMPUTER-READABLE STORAGE MEANS FOR CONTROLLING PLAYBACK OF DIGITAL MULTIMEDIA DATA USING TOUCH INPUT

NATIVE INSTRUMENTS GMBH, ...

1. A device for controlling playback of digital multimedia data, the device is a data processing unit and comprises at least one touch sensitive graphical user interface for data input and data output, wherein the at least one touch sensitive graphic user interface is a touch screen, wherein the device is configuredfor displaying, in the at least one touch sensitive graphic user interface, a representation of at least a part of the digital multimedia data and a plurality of markers for indicating positions within the digital multimedia data for starting playback, wherein the digital multimedia data is represented in a form of a waveform and the plurality of markers, comprising markers, indicate bars or fractions of a bar of the digital multimedia data, wherein the markers thereby represent a beat-grid, wherein the waveform that represents the digital multimedia data is visually divided by the markers;
for changing a resolution of the digital multimedia data in response to a first touch gesture, wherein the first touch gesture comprises at least one selected from pinching and spreading;
for automatically defining the markers representing the beat-grid depending from the resolution of the representation of the digital multimedia data, which is displayed in the at least one touch sensitive graphical user interface, wherein, while zooming into the representation, new markers are added, and, while zooming out of the representation, part of the markers are removed; and
wherein each marker is associated with a region of the representation of the digital multimedia data or, optionally, a region between the marker and a subsequent marker, and
dynamically during playing back of the digital multimedia data and, in response only to a second touch gesture to a contacted area of the waveform between two successive markers, relocating playback position so that the playback continues at the beginning of the contacted area indicated by at least one of the two successive markers.

US Pat. No. 10,430,068

METHOD FOR DISPLAYING INTERFACE CONTENT AND USER EQUIPMENT

HUAWEI TECHNOLOGIES CO., ...

1. A method for displaying interface content, comprising:displaying a plurality of interface element objects on a screen, wherein each interface element object is in one grid section, wherein the screen is divided in advance into a grid comprising multiple grid sections arranged in rows and columns, and wherein each grid section comprises a preset quantity of pixels;
detecting a touch operation on the screen;
acquiring an initial position and a movement direction of a touch point of the touch operation;
determining a motion parameter of an interface element object in each grid section according to the initial position and the movement direction;
setting a row delay of each grid section based on a position of a row of a grid section relative to a row of the touch point;
setting a column delay of each grid section based on a position of a column of a grid section relative to a column of the touch point; and
moving the interface element object in each grid section according to the motion parameter of the interface element object in each grid section and a delay corresponding to each grid section, wherein the delay corresponding to each grid section is a sum of the row delay and the column delay, and wherein the row delay and the column delay each increase as a distance between the grid section and the touch point increases.

US Pat. No. 10,430,067

METHODS AND SYSTEMS FOR PRESENTING SCROLLABLE DISPLAYS

Rovi Guides, Inc., San J...

1. A method of navigating media content, the method comprising:generating for display, using control circuitry, a first icon and a second icon, wherein the first icon and the second icon are included in a first plurality of icons that are scrolled together in response to a first gesture;
receiving, using the control circuitry, a selection of the first icon;
in response to receiving the selection of the first icon, identifying, using the control circuitry, a second plurality of icons related to the first icon;
replacing a display, using the control circuitry, of the first icon with a display of a first portion of the second plurality of icons while the second icon continues to be displayed;
in response to a second gesture comprising pressing on one of the second plurality of icons and swiping in a given direction, scrolling, using the control circuitry, the second plurality of icons together to reveal a second portion of the second plurality of icons in replacement of the first portion of the second plurality of icons while the second icon continues to be displayed;
reducing a size of each of the second plurality of icons related to the first icon when the second plurality of icons is scrolled; and
in response to a third gesture comprising pressing on one of the first plurality of icons and swiping in the given direction, scrolling, using the control circuitry, the first plurality of icons while at least one of the second plurality of icons is displayed, wherein the third gesture causes the second icon to be replaced by a third icon of the first plurality of icons, wherein the second plurality of icons are scrolled in the same given direction as the first plurality of icons.

US Pat. No. 10,430,066

GESTEME (GESTURE PRIMITIVE) RECOGNITION FOR ADVANCED TOUCH USER INTERFACES

1. A system for implementing a user interface, the system comprising:a finger touch sensing arrangement for generating tactile sensing measurements of one or more finger-rendered non-writing touch gestures from a set of non-writing gestures, the tactile sensing measurements in response to tactile input on the user interface without graphically rendering the tactile contact path on a visual screen, each non-writing gesture comprising a sequence of at least two gestemes, each gesteme comprising a primitive element of finger-rendered tactile input comprised by at least one non-writing gesture from the set of gestures; and
a processor for receiving the tactile sensing measurements and executing instructions to:
generate at least one gesteme recognition event responsive to the detection of a gesteme from the tactile sensing measurements,
process a sequence of gesteme recognition events to generate a non-writing gesture recognition event, wherein a non-writing gesture corresponds to a particular temporally-ordered sequence of gestemes, and
generate user interface output signals responsive to the non-writing gesture recognition event.

US Pat. No. 10,430,065

PINABLE AND ACTIONABLE NAVIGATION BREADCRUMBS

ADP, LLC, Roseland, NJ (...

1. A method implemented by a computer, the method comprising:displaying, on a tangible display device, a first set of dashboard pages via a web browser that displays a first pinboard comprising breadcrumbs represented as icons, wherein a first dashboard page includes a plurality of areas for serving different functions, and the first pinboard includes a pin icon and a separation bar with the breadcrumbs, breadcrumbs on one side of separation bar automatically change over time as a user or a data processing system creates the breadcrumbs over time, and breadcrumbs on other side of the separation bar are the breadcrumbs the user permanently pinned to the first pinboard;
displaying, on the tangible display device, the first pinboard including at least a first breadcrumb located within a first area on the first dashboard page, wherein the first breadcrumb is a visual representation of a first person and points to a second set of dashboard pages associated with human resources data for the first person;
receiving input from a user, via a tangible user input device, for selection of the first breadcrumb of the first person, displaying a different set of display areas, on the first dashboard page, providing the human resources data for the first person;
receiving input from the user, via the tangible user input device, displaying a first pop-up window including a list of commands that can be performed with respect to the human resources data to which the first breadcrumb points, wherein the commands include at least pin command;
receiving input from the user, via the tangible user input device, for selection of the pin command from the first pop-up window, displaying a second pop-up window including a list of additional pinboards to which the first breadcrumb may be placed, wherein each of the additional pinboards is associated with a corresponding one of a plurality of human resources actions; and
receiving input from the user, via the tangible user input device, for selection of one of the list of additional pinboards from the second pop-up window, pinning the first breadcrumb of the first person to the selected pinboard and displaying the selected pinboard on the first dashboard page.

US Pat. No. 10,429,926

PHYSICAL OBJECT ADDITION AND REMOVAL BASED ON AFFORDANCE AND VIEW

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:tracking, using a first one or more eye gaze tracking devices, eye gaze of each user of a first group of users who view an environment through respective transparent displays, the first group of users each having a respective field of view to the environment;
assessing, based on the tracking, whether an object present in the respective fields of view of the first group of users is clutter, the object being a physical object, in the environment, within the respective fields of view of the first group of users, or the object being an augmented reality model interposed in the respective fields of view of the first group of users on the respective transparent displays; and
initiating a physical change to the environment based on the assessing, the physical change being one selected from the group consisting of: (i) based on the object being the physical object, deconstruction of that physical object in the environment, and (ii) based on the object being the augmented reality model, construction of a physical object based that augmented reality model.

US Pat. No. 10,429,871

METHOD AND APPARATUS FOR ACTIVELY MANAGING ELECTRIC POWER SUPPLY FOR AN ELECTRIC POWER GRID

CAUSAM ENERGY, INC., Ral...

1. A system for managing power supplied to an electric power grid from a multiplicity of power supply sources, comprising:a coordinator constructed and configured in networked communication with a server;
wherein the server is operable to initiate power commands based on requirements of an energy management system (EMS);
wherein the coordinator is operable to dispatch one or more energy resources in response to telemetry from the EMS;
wherein the coordinator is operable to coordinate and manage IP-based communications between the server and the multiplicity of power supply sources;
wherein the multiplicity of power supply sources comprise at least one power storage device, wherein the at least one power storage device includes an IP address;
wherein the coordinator is further operable to receive initial messages from the multiplicity of power supply sources for registration;
wherein the multiplicity of power supply sources are automatically registered with the coordinator after the coordinator receives the initial messages;
wherein the IP-based communications comprise an actual amount of power supply available for the electric power grid from the multiplicity of power supply sources based on revenue grade metrology;
wherein the multiplicity of power supply sources are operable to provide power supply to the electric power grid based on the power commands, and receive a compensation for the energy available and/or actually provided to the electric power grid.

US Pat. No. 10,429,870

STARTUP CONTROL FOR MULTI-DROP TRANSMITTERS POWERED BY CURRENT LIMITED POWER SUPPLIES

Honeywell International I...

1. A method of operating process variable transmitters in a process control system of an industrial processing facility, comprising:providing a plurality of process variable transmitters configured for sensing a process variable within the industrial processing facility each connected in parallel to a current loop that receives power from by a common power supply driving said current loop, said process variable transmitters each including a power accumulator module comprising an energy storage device that includes at least one capacitor or a rechargeable battery and a sensor module including a transceiver coupled to a processor having an associated memory that stores a startup sequencing algorithm;
after a fixed period of time following a startup, measuring a parameter relating to an input current charging said energy storage device received from said current loop, wherein the measuring of said parameter including:
measuring an initial node voltage between the positive and negative terminals of said energy storage device, and
measuring a change in the voltage across the positive and negative terminals of said energy storage device over said fixed period of time to measure the input current charging said energy storage device;
comparing said parameter to a reference level for said parameter;
placing said process variable transmitter in a low power mode based on results of said comparing;
setting an at least partially random low power state time for said process variable transmitter, and
restarting said startup sequencing algorithm after said low power state time.

US Pat. No. 10,429,868

FLIP VOLTAGE FOLLOWER LOW DROPOUT REGULATOR

QUALCOMM Incorporated, S...

1. A touch sensing controller driver, comprising:a plurality of switches, each of the plurality of switches configured to couple to a signal line of a touch panel;
a signal driver having an upper low dropout regulator (LDO) and a lower LDO, the upper LDO coupled to the plurality of switches to supply a current to the plurality of switches, the lower LDO coupled to the plurality of switches to sink the current from the plurality of switches, wherein the lower LDO comprises:
a lower operational amplifier having an output, a positive input, and a negative input; and
a lower flip voltage follower (FVF) having a lower gain device, a lower source follower device, and a lower adaptive level shifter connected to a drain of the lower source follower device and a gate of the lower gain device, wherein the output of the lower operational amplifier is configured to determine a voltage at a gate of the lower source follower device.

US Pat. No. 10,429,867

LOW DROP-OUT VOLTAGE REGULAR CIRCUIT WITH COMBINED COMPENSATION ELEMENTS AND METHOD THEREOF

Winbond Electronics Corp....

1. A low drop-out (LDO) voltage regulator circuit comprising:an error amplifier comprising a localized common-mode feedback circuit, receiving a reference voltage, a feedback voltage, and an input voltage, and generating an amplified error voltage, wherein the reference voltage is sent to an input of an input differential transistor pair;
a pass element comprising a power transistor, receiving the amplified error voltage, and generating an output voltage;
a feedback circuit receiving the output voltage and comprising a voltage divider which scales down the output voltage;
a first compensation element comprising a first terminal which connects to an output of the input differential transistor pair and a second terminal which receives the output voltage,
wherein the first compensation element comprising a first capacitor through which a first compensation current feeds back from the output voltage to the output of the input transistor pair; and
a second compensation element comprising a third terminal which receives the output voltage and connects to the second terminal and a fourth terminal which connects to an input of a first transistor pair of the localized common-mode feedback circuit;
wherein the second compensation element comprising a second capacitor through which a second compensation current feeds back from the output voltage to the input of the first differential transistor pair,
wherein the input transistor pair of the localized common-mode feedback circuit comprising a third NMOS transistor and a fourth NMOS transistor, and the second terminal of the second capacitor is connected to a second node between a source of the third NMOS transistor and a drain of the fourth NMOS transistor.

US Pat. No. 10,429,866

AUTOMATICALLY RESTARTING A VOLTAGE FOLDBACK CIRCUIT

HAMILTON SUNDSTRAND CORPO...

1. A method of automatically restarting a voltage foldback circuit, the method comprises:operating a circuit;
detecting a condition of the circuit;
performing a foldback operation based at least in part on the condition of the circuit;
subsequently detecting the condition of the circuit;
initiating a timer of the circuit based at least in part on the subsequent detection of the circuit, wherein the timer periodically provides pulses to the circuit if the subsequent detection indicates an overload condition is not removed, wherein the timer is coupled to a current limiting circuit and an output of the comparator via a set of parallel switches, wherein an output of the timer is provided to a first switch of the set of parallel switches, wherein the set of parallel switches are low side switches, the first switch of the parallel switches is connected to and controlled by the timer, wherein the timer receives an output of the comparator, wherein a second switch of the parallel switches is connected to and controlled by the comparator; and
returning the circuit to normal operation based on the timer, wherein returning the circuit to the normal operation occurs while maintaining a load being coupled to the circuit.

US Pat. No. 10,429,865

TEMPERATURE CONTROL APPARATUS

Shinwa Controls Co., Ltd....

1. A temperature control apparatus comprising:a first temperature regulating unit including a first supply channel through which a heating medium passes;
a second temperature regulating unit including a second supply channel through which a heating medium passes, the heating medium being controlled at a temperature different from that of the heating medium passing through the first supply channel;
a valve unit connected to the first supply channel and the second supply channel;
a mixing channel connected to the valve unit, the mixing channel including a mixing unit body through which at least one of the heating medium passing through the first supply channel to go out from the valve unit, and the heating medium passing through the second supply channel to go out from the valve unit, passes; and
a temperature adjusting device in which the heating medium going out from the mixing channel passes through;
wherein:
the valve unit includes a first spool valve that switches passage and blockage of the heating medium from the first supply channel to the mixing channel, and a second spool valve that switches passage and blockage of the heating medium from the second supply channel to the mixing channel; and
the first spool valve and the second spool valve are coupled through a heat insulating layer.

US Pat. No. 10,429,864

METHOD FOR ADJUSTING A CLIMATE SYSTEM

QSEC AB, Askim (SE)

1. A computer implemented method for post installation adjustment of a climate system including a circulation pump providing a pumping pressure, a plurality of radiators, a system of pipes connecting the pump with the radiators, and a plurality of fixed valve coefficient (Cv) flow regulators, the method comprising the steps:a) providing a software implemented model of the climate system, said model defining a relationship between a set of Cv-values for said flow regulators and a set of radiator flows for a given pumping pressure,
b) determining a desired change of at least one radiator flow,
c) determining a change of at least one Cv-value required to achieve the desired flow change,
d) using said software implemented model to automatically calculate a set of radiator flow changes resulting from said change of at least one Cv-value,
e) identifying a subset of radiator flow changes from said set of radiator flow changes which have a perceivable impact on system performance,
f) repeating steps b)-e) until said subset is empty,
determining a complete set of CV value adjustments based on steps a)-f), and
adjusting said flow regulators based on said complete set of CV-value adjustments.

US Pat. No. 10,429,863

SYSTEMS AND METHODS FOR REFRIGERATOR CONTROL

Haier US Appliance Soluti...

1. A refrigerator comprising:a refrigerator cabinet;
one or more food compartments disposed within the cabinet;
a cooling system;
one or more temperature sensors, wherein at least one temperature sensor of the one or more temperature sensors comprises a first thermistor, electrically connected to a control system and configured to obtain a temperature of at least one food compartment of the one or more food compartments;
a damper assembly disposed in a sidewall of the refrigerator cabinet, the damper assembly defining a passageway between the at least one food compartment and the first thermistor, the damper assembly having an opening in communication with the passageway and a sliding door disposed over the opening and configured to restrict airflow through the opening to the first thermistor from the at least one food compartment; and
the control system adapted to monitor and control the temperature in the at least one food compartment, wherein the control system is configured to store instructions that when executed by one or more controllers cause the one or more controllers to perform operations, the operations comprising:
determining the temperature of the at least one food compartment based, at least in part, on one or more characteristics of the first thermistor receiving air through the opening of the damper assembly;
determining, by the one or more controllers, when to operate the cooling system based, at least in part, on a comparison of the determined temperature to a first threshold value, the comparison comprises:
operating the cooling system when the determined temperature is greater than the first threshold value.

US Pat. No. 10,429,862

INTERACTIVE NAVIGATION ENVIRONMENT FOR BUILDING PERFORMANCE VISUALIZATION

Honeywell International I...

1. A system having an interactive navigation environment for building performance visualization, comprising:a processor;
a display connected to the processor;
heating, ventilation and air conditioning (HVAC) equipment having sensors connected to the processor; and
a visualization tool for monitoring building performance connected to the processor; and
wherein the visualization tool is configured to present and filter building energy performance in response to a user selected analytic.

US Pat. No. 10,429,861

ECONOMIZER CONTROLLER PLUG AND PLAY SYSTEM RECOGNITION WITH AUTOMATIC USER INTERFACE POPULATION

Honeywell International I...

1. An economizer controller plug and play recognition method performed by an economizer controller installed on-site for controlling an HVAC economizer system, the method comprising:discovering sensors connected to an economizer controller;
populating a menu structure in accordance with control types of discovered sensors; and
repeating the discovering during operation, where the repeating is performed automatically by the economizer controller by executing a system configuration determination routine stored in firmware of the economizer controller.