US Pat. No. 10,459,896

APPARATUS, SYSTEMS, AND METHODS FOR PROVIDING LOCATION INFORMATION

FACTUAL INC., Los Angele...

1. An apparatus comprising:a memory device to store a master index system that identifies sub-polygons in a geographical region; and
a processor and non-volatile memory comprising a set of computer-readable instructions, wherein the processor is configured to execute the computer readable instructions to:
identify a region of interest associated with a target location determined from a location identifier;
retrieve from the master index system an index system corresponding to the identified region of interest;
determine a query identifier corresponding to a location identifier;
compare one or more bits in the query identifier with bits in the index system to determine that the query identifier is represented in the index system, wherein the step of comparing includes:
comparing a first set of bits of the one or more bits in the query identifier, corresponding to a lower-precision sub-polygon, to the bits in the index system, corresponding to sub-polygons in the region of interest;
comparing a second set of bits of the one or more bits in the query identifier, corresponding to a higher-precision sub-polygon, to the bits in the index system, corresponding to the sub-polygons in the region of interest; and
determine whether the target location corresponds to one or more of the sub-polygons within the region of interest,
wherein the master index system comprises a plurality of index systems of unique identifiers corresponding to the sub-polygons of the region of interest.

US Pat. No. 10,459,895

DATABASE STORAGE MONITORING EQUIPMENT

Bank of America Corporati...

1. A system, comprising:a client device configured to access a storage throughput analyzer tool;
a database configured to support the client device in accessing the storage throughput analyzer tool, the database comprising a plurality of database clusters, each database cluster comprising at least one host device;
a storage array configured to provide information to the database, the storage array comprising a plurality of storage devices storing the information; and
a computing device comprising a hardware processor that causes the computing device to:
execute the storage throughput analyzer tool in response to a triggering event from the client device;
specify, using the storage throughput analyzer tool, an interval of time at which to evaluate storage throughput data of the database, the interval being one minute or less;
specify, using the storage throughput analyzer tool, a service level objective including at least a size of storage throughput data of the database from the client device;
generate, based on the service level objective, a query that specifies the size of storage throughput data, generating the query including:
executing a first command line utility to provide one or more device managers of the plurality of storage devices;
identifying one or more aliases of the one or more device managers based on the one or more device managers;
executing a second command line utility to provide one or more volumes that support the database;
matching the one or more aliases with the one or more volumes;
executing a script to obtain a database portion that includes a group of one or more host devices of the at least one host device;
providing results based on the database portion and the matched one or more aliases and one or more volumes to generate the query;
receive, from a system hosting the database, storage throughput measurements of the database at the interval;
apply the query to the storage throughput measurements; and
generate and provide an output based on the query to the client device.

US Pat. No. 10,459,894

DATABASE SHUTDOWN AND RESTART STABILITY OPTIMIZER

Bank of America Corporati...

1. An apparatus comprising a shutdown control server machine, separate from a database server machine, communicatively coupled with a database administrator machine and the database server machine, the shutdown control server machine comprising:a processor configured to executed computer-executable instructions;
a memory storing computer-executable instructions that, when executed by the processor, cause the shutdown control server machine to perform steps comprising:
receiving a request to evaluate shutdown status of the database server machine from a database engine of the database server machine, the database server machine comprising a service control manager without communication with the database engine;
determining that a predetermined criterion has not been met;
postponing shutdown of the database server machine until the predetermined criterion has been met; and
instructing the service control manager to shutdown the database server machine.

US Pat. No. 10,459,893

COMPUTER SYSTEM, FILE STORAGE APPARATUS, AND STORAGE CONTROL METHOD

HITACHI, LTD., Tokyo (JP...

1. A computer system, comprising:a plurality of file storage apparatuses; and
a cloud storage apparatus coupled with the plurality of file storage apparatuses, wherein:
a file storage apparatus which is one of the plurality of file storage apparatuses is configured to store a file system, and when executing a manipulation of the file system, transmit manipulation information representing the executed manipulation to the cloud storage apparatus,
the cloud storage apparatus is configured to store a manipulation history which is a history of the manipulation information, the manipulation history including an unapplied manipulation history which is a manipulation that has previously been executed by the one of the plurality of file storage apparatuses and has not been applied to the file system,
a specific apparatus, which is any one of the plurality of file storage apparatuses or the cloud storage apparatus, is configured to, when the any one of the plurality of file storage apparatuses receives a command for a specific manipulation of the file system, determine, based on a state of the file system and the manipulation history, whether or not the unapplied manipulation affects a target of the specific manipulation, and
the file storage apparatus is configured to, when determination is made that the unapplied manipulation affects the target of the specific manipulation, apply the unapplied manipulation to the file system, execute the specific manipulation on the file system, and transmit manipulation information representing the specific manipulation to the cloud storage apparatus.

US Pat. No. 10,459,892

FILESYSTEM HIERARCHICAL AGGREGATE METRICS

Qumulo, Inc., Seattle, W...

1. A method for managing metrics for a filesystem over a network, wherein one or more processors execute instructions to perform actions, comprising:receiving one or more changes affecting one or more files contained by a directory in a hierarchical tree of filesystem objects, wherein each filesystem object includes one directory or one file and corresponding inode data related to filesystem administration information, and wherein one or more attributes of a file are stored in that directory that contains the file itself;
storing one or more metrics at a directory on a direct path between a root directory and the directory that contains the one or more files affected by the change, wherein the one or more metrics are stored in each directory's associated inode data and each metric includes a value representing a summary of the one or more attributes of each file contained by one or more descendant directories of a subtree in the hierarchical tree, and wherein the subtree is based on the direct path between the directory and the root directory;
updating the values representing the summary for the one or more metrics stored in each directory's inode data on the direct path to reflect one or more alterations to one or more attributes of the one or more files contained by the directories of the subtree resulting from the change; and
sampling for at least one of the one or more attributes of each file stored in each directory of the hierarchical tree, wherein the sampling is weighted based on the one or more metrics stored in each directory's inode data that is associated with each sampled file attribute.

US Pat. No. 10,459,891

REPLICATING DATA ACROSS DATA STORAGE DEVICES OF A LOGICAL VOLUME

Western Digital Technolog...

1. An apparatus for replicating files across standalone data storage devices, the apparatus comprising:a communication interface configured to be coupled to a set of external standalone data storage devices; and
a controller coupled to the communication interface, the controller configured to:
create a logical volume comprising the set of external standalone data storage devices;
identify a set of files stored to be replicated across the logical volume;
determine one or more protection levels for the set of files, wherein:
the one or more protection levels are applied across the logical volume; and
the one or more protection levels indicate a desired number of copies to be stored in the logical volume;
replicate the set of files across the logical volume such that a minimum number of copies of the set of files is made on the logical volume based on the one or more protection levels;
in response to determining that a first external standalone data storage device from the set of external standalone data storage devices is to be temporarily removed from the logical volume:
identify a second set of files from the set of files that are replicated on the first external standalone data storage device; and
copy the second set of files on the first external standalone data storage device to other external standalone data storage devices in the set of external standalone data storage devices such that a minimum number of copies for the second set of files is maintained in the logical volume in accordance with one or more protection levels for the second set of files; and
in response to determining that the first external standalone data storage device has been re-inserted into the logical volume:
remove the second set of files from the first external standalone data storage device.

US Pat. No. 10,459,890

SYSTEMS AND METHODS FOR AUTOMATIC SYNCHRONIZATION OF RECENTLY MODIFIED DATA

Carbonite, Inc., Boston,...

1. A method for automatic synchronization of recently modified data between a plurality of devices, comprising:receiving, by a first device from a second device, a modified version of a first file stored in a folder of a storage device of the first device, wherein the modified version of the first file is received by the first device from the second device without identification of a location of the folder, and wherein folder paths of the first device and the second device corresponding to storage of the first file are not synchronized;
retrieving, by the first device, the identification of the location of the folder from a second file stored on the storage device of the first device; and
replacing, by the first device, an unmodified version of the first file in the folder with the modified version of the first file.

US Pat. No. 10,459,889

MULTI-USER DATABASE EXECUTION PLAN CACHING

SAP SE, Walldorf (DE)

1. A computer-implemented method for processing a database query using a multi-user execution plan cache, the method comprising:receiving a query request comprising a database query and a database user identifier;
identifying a compiled execution plan associated with the database query in the multi-user execution plan cache;
determining that the compiled execution plan is associated with a sharing user identifier, which indicates that the compiled execution plan is shared by multiple database users;
determining that the database user identifier is associated with one of the multiple database users sharing the compiled execution plan; and
using the compiled execution plan to execute the database query against the database.

US Pat. No. 10,459,888

METHOD, APPARATUS AND SYSTEM FOR DATA ANALYSIS

TENCENT TECHNOLOGY (SHENZ...

1. A method for data analysis, comprising:retrieving, by a server, pipeline data from a pipeline data set piece by piece in a chronological order, wherein each piece of pipeline data includes a plurality of attribute values, wherein every time a user performs an online operation, one piece of pipeline data is obtained; each piece of pipeline data describes a single online operation behavior of the user; and each of the plurality of attribute values includes a descriptor illustrating the online operation behavior of the user;
performing, by the server, normalization sorting of the retrieved pipeline data based on a predefined attribute value of the plurality of attribute values, comprising:
selecting one of the plurality of attribute values as the predefined attribute value; and
rearranging the chronological order of the pipeline data by sorting the pipeline data based on the predefined attribute value, and such that the sorted pipeline data with same attribute value being arranged adjacent to each other;
obtaining, by the server, an attribute value entry list by extracting attribute value entries from the normalization sorted pipeline data piece by piece;
obtaining, by the server, a first characteristic value list by performing a deduplication operation on the attribute value entry list through mapper operation, comprising:
sequentially retrieving, by the server, the attribute value in a predefined view of each attribute value entry in the attribute value entry list;
comparing, by the server, the acquired attribute value in the predefined view with a preset first attribute value variable;
writing, by the server, the corresponded attribute value entry into current first characteristic value child list if a comparison result is equal;
writing, by the server, the corresponded attribute value entry into a new first characteristic value child list and writing the attribute value in the predefined view into the first attribute value variable, if the comparison result is not equal;
sequentially traversing, by the server, attribute value entries within each first characteristic value child list and deleting repeated attribute value entry; and
obtaining, by the server, the first characteristic value list by aggregating multiple first characteristic value child list in which the repeated attribute value entry is removed;
obtaining, by the server, a second characteristic value list by performing an accumulation operation on the first characteristic value list through reducer operation; and
obtaining, by the server, a result of the predefined indicator by analyzing the second characteristic value list, wherein, by performing the normalization sorting of the retrieved pipeline data before performing the deduplication operation and the accumulation operation, a number of times of the deduplication operation and the accumulation operation is reduced, occupancy of time and system computation resource during the multiple accesses of the pipeline data is avoided, and an efficiency of data analysis is improved.

US Pat. No. 10,459,887

PREDICTIVE APPLICATION PRE-LAUNCH

Apple Inc., Cupertino, C...

1. A method comprising:at a portable computing device having a display, a working memory, and one or more processors:
displaying a plurality of icons in a two dimensional array on the display;
receiving, at the display, a panning gesture to move the two dimensional array such that positions of the plurality of icons move together across the display;
determining positions of the plurality of icons;
determining that an icon of the plurality of icons has satisfied one or more application pre-launch criteria, the application pre-launch criteria including a position of the icon being within a specified region around a center of the display;
pre-launching an application corresponding to the icon, wherein pre-launching the application includes loading the application into the working memory while not presenting an application interface associated with the application on the display of the portable computing device;
receiving a user input corresponding to a selection of the icon; and
in response to and after receiving the user input corresponding to the selection of the icon:
presenting the application interface or a preview of content interface associated with the application on the display of the portable computing device using the application loaded into the working memory,
wherein the application interface and preview of content interface associated with the application are different than the icon.

US Pat. No. 10,459,886

CLIENT-SIDE DEDUPLICATION WITH LOCAL CHUNK CACHING

QUEST SOFTWARE INC., Ali...

1. A method, comprising:at a client device comprising a processor and memory, identifying a fingerprint for a data chunk by applying a hash function to the data chunk via the processor, the data chunk determined by parsing a data stream at the client device, the data stream designated for storage at a networked storage system, using functions in a custom communications protocol interface, the custom communications protocol interface including a parser and a fingerprinter for facilitating client-side deduplication, the custom communications protocol interface being at the client device and being operable to communicate with at least one other module at the client device via a standard communications protocol, the custom communications protocol interface at the client device being operable to communicate with the networked storage system using at least one non-standard interaction;
determining whether the data chunk is stored in a local chunk cache at the client device;
verifying that the data chunk is correctly identified by comparing a first length of the data chunk determined by parsing the data stream with a second length of the data chunk stored in the local chunk cache; and
in response to a determination that the data chunk is not stored in the local chunk cache, determining whether the data chunk is stored at the networked storage system by transmitting the fingerprint to the networked storage system via the network;
in response to receiving a message from the networked storage system that the data chunk is not stored at the networked storage system, transmitting the data chunk and a block map update request message to the networked storage system via a network, the block map update request message including information to update a block map at the networked storage system, the block map identifying a designated memory location at which the data chunk is to be stored at the networked storage system; and
after the block map update request message is transmitted to the network storage system, storing the data chunk in a local chunk cache.

US Pat. No. 10,459,885

PORTABLE MEMORY DEVICE DATA MODELING FOR EFFECTIVE PROCESSING FOR A GAS TURBINE ENGINE

United Technologies Corpo...

1. A method comprising:receiving on an Off Board Prognostics Health Monitor (OBPHM) including a processor, from an electronic engine control, a Portable Memory Device (PMD) file that includes data from a plurality of sensors that communicate with the electronic engine control;
extracting, by the processor, the data from the received PMD file;
mapping, by the processor, each of a multiple of Health Report Code (HRC) records from the extracted data such that each HRC record is randomly accessible through a specific HRC number related to each of the multiple of HRC records;
time sorting, by the processor, the multiple of HRC records; and
accessing the time sorted HRC records using a pass by reference approach that allows information in the received PMD file to be randomly addressed.

US Pat. No. 10,459,884

FILESYSTEM BLOCK SAMPLING TO IDENTIFY USER CONSUMPTION OF STORAGE RESOURCES

Qumulo, Inc., Seattle, W...

1. A method for managing a file system, wherein one or more processors execute instructions that perform the method comprising:providing information for a plurality of cylinder groups, wherein actions are performed to organize blocks of data as one or more files for each cylinder group, including:
employing a first data structure that includes information for each data block in the cylinder group, wherein the information includes allocation of the blocks of data, association of the blocks of data with the one or more files, and one or more offsets for the one or more files;
employing a second data structure to provide a number of the blocks of data that are currently used with the one or more files; and
employing a third data structure to provide a mapping of a file identifier to a pointer for a parent directory of each file, wherein the pointer to the parent directory for each file is employed to provide a file name for each block of data; and
determining individual user consumption of resources, by performing actions, including:
employing the first data structure to set a random sample size for the blocks of data in a cylinder group;
employing the third data structure to provide reverse mapping of a random sample of the selected block of data to a file identifier for a file included in the blocks of data;
employing a positive determination of a confidence interval to identify each file identifier that is associated with a root directory; and
employing a negative determination of the confidence level to determine a name of a child file in the parent directory and move the file identifier to the parent directory.

US Pat. No. 10,459,883

RETENTION POLICIES FOR UNSCHEDULED REPLICAS IN BACKUP, SNAPSHOTS, AND REMOTE REPLICATION

EMC IP Holding Company LL...

1. A method comprising:identifying a set of user conditions, each user condition being associated with a time window in a plurality of time windows as defined in a data retention policy, each user condition defining a maximum number of replicas for the associated time window; and
for each user condition:
identifying a plurality of replicas each of which has a time value in the associated time window;
computing a score indicative of an importance of each replica in the plurality of replicas, the computing for a given replica in the plurality of replicas comprising:
identifying a previous replica relative to the given replica;
identifying a subsequent replica relative to the given replica; and
computing the score for the given replica according to values associated with the previous replica, the given replica, and the subsequent replica; and
based at least in part on a determination that the plurality of replicas comprise a number of replicas greater than the maximum number of replicas for the associated time window as defined by the user condition, removing extraneous replicas from the plurality of replicas based at least in part on the scores so that the plurality of replicas comprise a number of replicas equal to or less than the maximum number of replicas for the associated time window as defined by the user condition.

US Pat. No. 10,459,882

IMAGE LEVEL COPY OR RESTORE, SUCH AS IMAGE LEVEL RESTORE WITHOUT KNOWLEDGE OF DATA OBJECT METADATA

Commvault Systems, Inc., ...

1. At least one non-transitory, computer-readable medium storing instructions, which when executed by at least one data processor, restores an individual file from a snapshot of a primary copy of a data set, comprising:transmitting, from a file system to an intermediate component, a request for a directory file that contains information associated with files imaged by the snapshot,
wherein the intermediate component is communicatively located between a restore component and a storage device;
wherein the directory file is imaged by the snapshot and includes—information identifying the files imaged by the snapshot, and information identifying locations of the files imaged by the snapshot stored in the storage device;
redirecting the request for the directory file from the intermediate component to the storage device;
retrieving the directory file from the snapshot using the intermediate component;
storing the directory file in a cache associated with the intermediate component; and
transferring location information for the individual file from the intermediate component to the file system, thereby enabling the file system to directly access the storage device for the individual file therein, using the location information from the intermediate component,
wherein the intermediate component obtains the location information for the individual file from the directory file.

US Pat. No. 10,459,881

DATA MANAGEMENT PLATFORM USING METADATA REPOSITORY

Podium Data, Inc., Lowel...

1. A data management platform, comprising:a shared hardware and software infrastructure comprising a distributed file system cluster for data storage; and
a management server operative to receive and manage data from a set of data sources as a data analytics environment, at least one data source of the set of data sources having base metadata associated therewith, the data being stored in the distributed file system cluster, the management server comprising a set of data management platform services to manage the data throughout its lifecycle in the data management platform, the management server operative to generate and maintain platform metadata for use in managing the data across the set of data management platform services, the platform metadata being distinct from the base metadata and comprising information exposed and available to each data management platform service during the lifecycle;
the management server configured to provide in-stream data profiling and data quality exception handling on the information as it is ingested and stored in the distributed file system cluster, the data quality exception handling flagging and holding for analysis any data records having errors or inconsistencies as determined by the associated base metadata;
wherein the data management services include a data shopping component that includes a shopping cart, the data shopping component responsive to receipt of inputs representing data fields being placed in the shopping cart together with receipt of a checkout command to automatically create a view of data associated with the data fields to facilitate a further interactive query, the data fields identifying at least first and second data sources that have distinct source system formats, wherein the view of data integrates data from the first and second data sources without changing source system formats; and
wherein the data management services further include a data preparation component configured during the further interactive query and with respect to the view to receive and process a set of one or more additional commands, thereby creating in real-time a custom data set, the one or more additional commands being one of: a join, a filter, and a transform operation.

US Pat. No. 10,459,880

BACKUP AND RESTORATION FOR STORAGE SYSTEM

International Business Ma...

1. A system comprising:one or more storage media, each of the one or more storage media including a data part which is separated from an index, wherein the one or more storage media are storage media on which backups of the metadata and the index have been performed; and
a processor communicatively coupled to the one or more storage media, the processor being configured to perform a method comprising:
restoring metadata of a plurality of pieces of data within a file system from backup data, wherein the file system is for managing hierarchical storage and includes the one or more storage media, and wherein updated information is appended to the one or more storage media;
setting, in the restored metadata, the plurality of pieces of data into a state of having been fully migrated to at least one of the one or more storage media;
restoring the index of each of the one or more storage media from data backed up substantially at the same time point as the metadata;
mounting a particular storage medium of the one or more storage media on which the backups have been performed;
determining whether the particular storage medium is a first storage media medium mounted after a restoration;
if the particular storage medium is determined to be the first storage medium mounted, configuring the index existing on the particular storage medium to be ignored, and configuring the restored index to be used; and
at a time of writing to the mounted storage medium or a time of unmounting the mounted storage medium, overwriting an index part included in the storage medium, with a latest index after the restoration.

US Pat. No. 10,459,879

METHOD AND APPARATUS FOR ACQUIRING PROGRAM INFORMATION

GOOGLE TECHNOLOGY HOLDING...

1. A method comprising:storing, by a first user device, content received from a second user device, the content being previously provided through a transmission from a distribution system to the second user device;
receiving, by the first user device from the second user device, transmission data that describes the previous transmission of the content from the distribution system to the second user device without identifying a title of the content, wherein program data that describes the content and identifies the title of the content is not made available to the first user device by the second user device;
sending, by the first user device to a server, a request for the program data that describes the content, wherein the request comprises the transmission data that describes the previous transmission of the content from the distribution system to the second user device without identifying the title of the content; and
responsive to the request, receiving, by the first user device, the program data that identifies the title of the content, wherein the program data is identified using the transmission data that is specific to the previous transmission of the content.

US Pat. No. 10,459,878

MEDIUM STORING DATA CONVERSION PROGRAM, DATA CONVERSION DEVICE, AND DATA CONVERSION METHOD

FUJITSU LIMITED, Kawasak...

1. A computer-readable non-transitory storage medium storing a data conversion program that causes a computer to execute a process comprising:when receiving a plurality of data from sensors for information measured by the sensors, acquiring first information and second information from a storage, the first information designating any of the data among the plurality of data, the second information designating a predetermined number of the data among the plurality of data that is encrypted using a key value;
acquiring, as conversion target data, the predetermined number of the data from among the received plurality of data as designated by the second information and relating to the data among the received plurality of data as designated by the first information;
extracting, from the conversion target data, a predetermined number of pieces of specific information relating to the key value, each of the predetermined number of pieces of specific information relating to the key value being embedded in each of the predetermined number of the data from among the received plurality of data;
generating the key value from the extracted predetermined number of pieces of the specific information relating to the key value; and
converting a data format of the conversion target data into decrypted data by using the key value generated from the extracted predetermined number of pieces of the specific information relating to the key value.

US Pat. No. 10,459,877

INSTRUCTION AND LOGIC TO PROVIDE VECTOR COMPRESS AND ROTATE FUNCTIONALITY

Intel Corporation, Santa...

1. A method comprising:decoding, by an execution unit, an instruction to obtain a decoded instruction specifying a vector source, a mask register, a vector destination, and a vector destination offset location;
executing the decoded instruction, wherein the executing comprises:
reading, by the execution unit, an unmasked value in the mask register;
copying, by the execution unit, a vector element corresponding to the unmasked value from the vector source to a location of the vector destination adjacent a previously copied vector element in the vector destination;
changing the unmasked value to a masked value;
determining, by the execution unit, that the vector destination is full; and
in response to the vector destination being full, storing data at the vector destination to a memory; and
re-executing, by the execution unit, the decoded instruction on the vector source using the masked value and the vector destination offset location.

US Pat. No. 10,459,876

PERFORMING CONCURRENT OPERATIONS IN A PROCESSING ELEMENT

Amazon Technologies, Inc....

1. A circuit for neural network computations, comprising:a two-dimensional array comprising processing elements (PEs) arranged into rows and columns, wherein each row is mapped to a respective input data set and each column is mapped to a respective output data set, each input data set comprising respective X-in elements, each PE comprising:
memory to cache a weight value for a given PE;
a first input port to receive a first X-in element of an input data set for a given row;
a second input port to receive a second X-in element of the input data set for the given row, the second X-in element being sequential to the first X-in element;
a third input port to receive a first Y-in element for a given column;
a fourth input port to receive a second Y-in element for the given column;
a first multiplier configured to multiply the first X-in element with the weight value to generate a first multiplication result;
a first adder configured to add the first multiplication result with the first Y-in element to generate a first Y-out element;
a second multiplier configured to multiply, concurrently with the first multiplier, the second X-in element with the weight value to generate a second multiplication result; and
a second adder configured to add, concurrently with the first adder, the second multiplication result with the second Y-in element to generate a second Y-out element,
wherein the first Y-out element and the second Y-out element of a last row in the two-dimensional array correspond to an output data set for the given column.

US Pat. No. 10,459,875

HYBRID REMOTE DIRECT MEMORY ACCESS

Amazon Technologies, Inc....

1. A method for remote direct memory access (RDMA), comprising:receiving, by a first computer, a packet that was sent over a network from a second computer, wherein the packet comprises a header and data, and wherein the header includes metadata;
selecting, by a hardware accelerator of the first computer, a queue maintained by the first computer which is associated with acceleration to process the packet;
directly writing, by the hardware accelerator of the first computer, the data to an application memory without writing the data to any buffer of an operating system of the first computer;
amending, by the hardware accelerator of the first computer, the metadata from the header of the packet to generate amended metadata after the data has been written to the application memory, wherein the amended metadata indicates that the data was directly written to the application memory; and
sending, by the hardware accelerator of the first computer, the amended metadata to an accessible buffer that is accessible by a RDMA software module of the first computer.

US Pat. No. 10,459,874

SYSTEM AND METHOD FOR MANAGING ELECTROMAGNETIC INTERFERENCE FOR ELECTRONIC DEVICES

Texas Instruments Incorpo...

1. A method comprising:detecting a contact of a device with a charging unit;
selecting a frequency by randomly selecting an operating frequency or by selecting a frequency associated with a network address; and
using the selected frequency as the operating frequency for the device.

US Pat. No. 10,459,873

METHOD FOR ADAPTIVELY ADJUSTING FRAMERATE OF GRAPHIC PROCESSING UNIT AND COMPUTER SYSTEM USING THEREOF

NVIDIA CORPORATION, Sant...

1. A method for adjusting a framerate of at least one graphic processing unit (GPU), comprising the steps of:setting a polling cycle time interval for monitoring the at least one GPU;
receiving an execution parameter associated with the at least one GPU;
determining that a value of the execution parameter is larger than a first reference value;
increasing a sleep time for the at least one GPU based on the value of the execution parameter;
adjusting the polling cycle time interval based on a relationship between the value of the execution parameter and the first reference value;
determining that the value of the execution parameter has become less than a second reference value, wherein the second reference value is less than the first reference value; and
decreasing the sleep time for the at least one GPU based on the value of the execution parameter.

US Pat. No. 10,459,872

DATA COMMUNICATION APPARATUS

MURATA MANUFACTURING CO.,...

1. A data communication apparatus configured to perform data communication with a master device via a bus, the data communication apparatus comprising:a clock control signal generation circuit configured to output a clock control signal corresponding to a reset state of the data communication apparatus and a communication state of the data communication apparatus;
a reset circuit configured to output a reset signal for maintaining the reset state when a power supply voltage is less than a predetermined level;
a communication start detection circuit configured to detect a start of communication based on a clock signal on the bus and communicated data;
a clock generation circuit configured to generate an internal clock signal based on the clock signal on the bus; and
a data processing control circuit that is supplied with the internal clock signal and that is configured to control data communication with the master device,
wherein the clock generation circuit is configured to stop generating the internal clock signal in accordance with the clock control signal while the data communication apparatus is in the reset state and between an end of the reset state and a start of data communication.

US Pat. No. 10,459,871

SWITCHING REDUCTION BUS USING DATA BIT INVERSION WITH SHIELD LINES

Micron Technology, Inc., ...

7. An apparatus comprising:a data bus having a number of bus lines;
a set of bi-directional bus driver/receiver circuits, each bi-directional bus driver/receiver circuit coupled to two bus lines of the data bus, each bus line of the two bus lines arranged to propagate a data bit signal, and each bi-directional bus driver/receiver circuit coupled to a data bit inversion line of the data bus arranged to propagate a data bit inversion signal associated with the data bit signals of the two bus lines; and
a set of shield lines including a shield line arranged adjacent to one bus line of the two bus lines and another shield line arranged adjacent to the other bus line of the two bus lines such that the two bus lines are between the shield line and the other shield line with the data bit inversion line disposed directly between and running adjacent to the two bus lines.

US Pat. No. 10,459,870

MEDICAL DEVICE CONNECTIVITY INTERFACE SYSTEM AND METHOD

COVIDIEN LP, Mansfield, ...

1. A method, comprising:using a first removable interface device to:
receive first medical data, via a first input port, from a first medical monitor communicatively coupled to a first medical sensor;
translate the first medical data from a first communication protocol to a second communication protocol to generate first translated medical data;
transmit the first translated medical data to an external system; and
using a second removable interface device communicatively coupled to the first removable interface to:
receive second medical data, via a second input port, from a second medical monitor communicatively coupled to a second sensor;
translate the second medical data from a third communication protocol to the second communication protocol to generate second translated medical data; and
transmit the second translated medical data to the external system.

US Pat. No. 10,459,869

ELECTRONIC APPARATUS AND OPERATION METHOD THEREOF

HIMAX TECHNOLOGIES LIMITE...

1. An electronic apparatus, comprising:a first integrated circuit, at least having a direction pin and a clock pin, wherein the direction pin of the first integrated circuit outputs a direction control signal; and
a second integrated circuit, at least having a direction pin and a clock pin, wherein the direction pin of the second integrated circuit is coupled to the direction pin of the first integrated circuit to receive the direction control signal, and the clock pin of the second integrated circuit is coupled to the clock pin of the first integrated circuit,
wherein the first integrated circuit takes the control right when the direction control signal is in a first logic state, the clock pin of the first integrated circuit outputs a first clock signal to the clock pin of the second integrated circuit when the first integrated circuit takes the control right, the second integrated circuit takes the control right when the direction control signal is in a second logic state, and the clock pin of the second integrated circuit outputs a second clock signal to the clock pin of the first integrated circuit when the second integrated circuit takes the control right,
wherein a pulse width of the first clock signal in a data transmission period is smaller than a threshold width, “when the first integrated circuit takes the control right, the pulse width of the first clock signal is greater than the threshold width” is defined as a reset signal, and the first integrated circuit resets the second integrated circuit through the reset signal.

US Pat. No. 10,459,868

MODULAR CHIP EXPANSION BRIDGE AND CORRESPONDING METHODS

Marvell International Ltd...

1. An expansion bridge chip for a modular chip system, the expansion bridge chip comprising:at least one upstream interface for communicating with an application processor chip, each interface among the at least one upstream interface having a first bandwidth;
a plurality of downstream interfaces, for communicating with peripheral chips, each respective interface among the plurality of downstream interfaces having a respective downstream bandwidth; and
an upstream address decoder on each interface among the least one upstream interface for directing data on the upstream interface to an interface among the plurality of downstream interfaces; wherein:
the expansion bridge chip is balanced, such that a sum of all respective downstream bandwidths of the plurality of downstream interfaces is equal to the first bandwidth.

US Pat. No. 10,459,867

METHOD FOR DYNAMIC BUS COMMUNICATION FOR AN ELECTROSURGICAL GENERATOR

COVIDIEN LP, Mansfield, ...

1. A method for a dynamic bus communication for an electrosurgical generator, the method comprising:digitally sampling a first signal of a dynamic bus communication apparatus to obtain digital samples;
generating a second signal using the digital samples;
measuring a signal rise time of the second signal;
comparing the signal rise time with a predetermined time; and
adjusting the signal rise time to be equal to the predetermined time in response to the signal rise time being different from the predetermined time.

US Pat. No. 10,459,866

APPARATUSES, METHODS, AND SYSTEMS FOR INTEGRATED CONTROL AND DATA PROCESSING IN A CONFIGURABLE SPATIAL ACCELERATOR

Intel Corporation, Santa...

1. An apparatus comprising:a plurality of processing elements;
a network between the plurality of processing elements to transfer values between the plurality of processing elements; and
a first processing element of the plurality of processing elements comprising:
a first plurality of input queues having a first width coupled to the network,
a second plurality of input queues having a second, larger width coupled to the network,
at least one first output queue having the first width coupled to the network,
at least one second output queue having the second, larger width coupled to the network,
a first operation circuitry coupled to the first plurality of input queues having the first width,
a second operation circuitry coupled to the second plurality of input queues having the second, larger width, and
a configuration register within the first processing element to store a configuration value that causes the first operation circuitry to perform a first operation on values from the first plurality of input queues to create a first resultant value, and, when the first resultant value is a first value, the second operation circuitry is to perform a second operation on values from the second plurality of input queues to create a second resultant value and store the second resultant value in the at least one second output queue.

US Pat. No. 10,459,865

DEVICES AND METHODS FOR PROVIDING CONCURRENT SUPERSPEED COMMUNICATION AND FOUR-LANE DISPLAYPORT COMMUNICATION VIA A USB TYPE-C RECEPTACLE

Icron Technologies Corpor...

1. A cable, comprising:a plug having pins compliant with a USB Type-C plug standard; and
wires compliant with a USB Type-C wiring standard except for the side band use (SBU) wires;
wherein the SBU wires are configured to carry a DisplayPort main link lane signal or a combined USB 2.0 and DisplayPort AUX signal.

US Pat. No. 10,459,864

USB ISOCHRONOUS TRANSFER OVER A NON-USB NETWORK

Valens Semiconductor Ltd....

1. A method for synchronizing Universal Serial Bus (USB) 2.0 isochronous OUT transfer clocks over a network, comprising:receiving, by a USB host adaptor (USBH), packets from a USB host;
for at least 1% of the packets:
writing in each packet, by the USBH, an indication of the time in which the packet was received by the USBH;
sending the packets from the USBH to a USB device adaptor (USBD) over the network; and
synchronizing a USBD clock to a USBH clock based on a property related to the packets.

US Pat. No. 10,459,863

TRANSCEIVER CIRCUIT FOR A CONTROLLER AREA NETWORK WITH IMPROVED SAFETY

Melexis Technologies NV, ...

1. A CAN-node comprising:a transceiver circuit for communicating data over a CAN bus, the CAN-bus having at least a first and a second bus line, the circuit comprising:
a data input port for receiving a signal to be transmitted over the CAN-bus;
a data output port for providing a signal received from the CAN-bus;
a CAN-bus transceiver unit having a receive data output port for providing data received from the CAN-bus, and a transmit data input port for receiving data to be transmitted to the CAN-bus;
a control input port adapted for receiving a control signal indicative of whether transmission of data from this transceiver circuit to the CAN-bus is allowed or prohibited;
a filter circuit adapted for filtering the control signal received on the control input port and for providing a filtered control signal;
logic circuitry adapted for configuring the CAN-bus transceiver unit in receive mode based on the filtered control signal, asynchronous with respect to communication on the CAN-bus, thereby preventing the circuit from transmitting data to the CAN-bus; and
a controller adapted for generating data, and having an input port connected to the data output port of the transceiver circuit for receiving data from the CAN-bus, and having an output port connected to the data input port of the transceiver circuit for transmitting the generated data to the CAN-bus;
wherein the controller comprises:
a state machine for generating said data to be transmitted via said output port and for processing data received via said input port; and
a monitoring unit for monitoring the data transmitted by the state machine, and for providing a control signal for selectively allowing or preventing the generated data to be transmitted to the CAN-bus.

US Pat. No. 10,459,862

DYNAMIC DEFINITION OF SLAVE ADDRESS IN I2C PROTOCOL

STMICROELECTRONICS S.R.L....

1. A system, comprising:a multi-conductor bus having a clock line and a data line;
a master device coupled to the multi-conductor bus and arranged to transmit an address configuration sequence; and
a first slave device coupled to the multi-conductor bus and having a physical address configuration input, the first slave device being arranged to configurably set an address of the first slave device based on the address configuration sequence and on whether the physical address configuration input of the first slave device is coupled to a fixed voltage potential or to one of the clock line and data line, wherein the physical address configuration input is coupled to a source voltage terminal and the first slave device arranged to determine from the address configuration sequence that the physical address configuration input of the first slave device is coupled to the source voltage terminal and set the address of the first slave device based on determining that the physical address configuration input of the first slave device is coupled to the source voltage terminal.

US Pat. No. 10,459,861

UNIFIED CACHE FOR DIVERSE MEMORY TRAFFIC

NVIDIA CORPORATION, Sant...

1. A memory subsystem, comprising:a first memory that includes a first set of data slots and a second set of data slots;
a first tag store that includes a first set of tags and a second set of tags; and
a data scrubber that manages the first memory by:
identifying a first tag that is included in the first set of tags and is associated with first in-flight data,
determining that a number of available data slots in the data memory is less than a threshold value, and
evicting a second tag included in the second set of tags, wherein evicting the second tag also causes data stored in a first data slot included in the first set of data slots to be evicted, and wherein the first in-flight data is subsequently stored in the first data slot, and the first tag subsequently references the first data slot.

US Pat. No. 10,459,860

EMI MITIGATION ON HIGH-SPEED LANES USING FALSE STALL

Intel Corporation, Santa...

1. An apparatus comprising:a lane, coupled to a first processor and a second processor, to facilitate inter-processor communication between the first processor and the second processor on a mobile processing platform; and
logic circuitry to determine whether to cause performance of a false stall operation on the lane in response to a determination that no data is to be sent over the lane for a period of time and that data is not going to be immediately transmitted over the lane but that the data could be transmitted over the lane soon,
wherein the false stall operation causes transmission of one or more training symbols after an End Of Burst (EOB) signal over the lane instead of allowing the lane to stall, wherein the one or more training symbols are to comprise non-repeating symbols to at least partially reduce generation of Electromagnetic Interference (EMI) during the period of time, wherein a differential interconnect comprises the lane, wherein the logic circuitry is to determine whether to cause performance of the false stall operation on the lane in response to the determination that no data is to be sent over the lane for the period of time and that data is not going to be immediately transmitted over the lane but that the data could be transmitted over the lane after expiration of the period of time.

US Pat. No. 10,459,859

MULTICAST COPY RING FOR DATABASE DIRECT MEMORY ACCESS FILTERING ENGINE

Oracle International Corp...

1. A method, comprising:in response to a particular memory location being pushed into a first register within a first register space that is accessible by a first set of electronic circuits:
said first set of electronic circuits accessing a descriptor stored at the particular memory location, wherein the descriptor indicates:
a width of a column of tabular data, a number of rows of said tabular data;
a source memory address specifying a memory address for said tabular data in a source memory unit of a plurality of memory units;
a destination memory address specifying a relative address within each memory unit of said plurality of memory units;
a write map specifying which of said plurality of memory units to write said tabular data;
the first set of electronic circuits determining, based on the descriptor, control information, said control information including said write map;
the first set of electronic circuits transmitting, using a hardware data channel, the control information to a second set of electronic circuits;
according to the control information, said second set of electronic circuits copying said tabular data from said source memory unit to each memory unit of said plurality of memory units specified by said write map.

US Pat. No. 10,459,858

PROGRAMMABLE EVENT DRIVEN YIELD MECHANISM WHICH MAY ACTIVATE OTHER THREADS

Intel Corporation, Santa...

1. A system comprising:a system memory to store program instructions and data; and
a processor comprising:
execution resources to execute the program instructions;
a monitor to detect conditions associated with the execution resources, the monitor including multiple monitor counters, at least one of the monitor counters programmable by software to count occurrences of a microarchitectural event selected from multiple events, wherein the microarchitectural event to be monitored by the monitor is programmed by setting one or more bits in a storage location, wherein the software comprises a user program, and the monitor is programmable by the user program executed at a privilege level lower than a privilege level of an operating system;
wherein the monitor is to detect a cache miss event based on the at least one monitor counter reaching a count; and
wherein, in response to detecting the cache miss event, execution of the program is to be redirected to a handler that handles an exception.

US Pat. No. 10,459,857

DATA RECEIVING APPARATUS, DATA TRANSMISSION AND RECEPTION SYSTEM, AND CONTROL METHOD OF DATA TRANSMISSION AND RECEPTION SYSTEM

FUJITSU LIMITED, Kawasak...

1. A data receiving apparatus comprising:a memory; and
a processor coupled to the memory and the processor configured to:
extract reception data, a header of a transaction layer packet, and a data link layer packet which are included in a received reception signal;
store the data link layer packet in a buffer;
store the header of the transaction layer packet and the data link layer packet in a history storage;
write the data link layer packet to the buffer when the header of the transaction layer packet and the data link layer packet are simultaneously acquired;
write the data link layer packet stored in the buffer to the history storage when the header of the transaction layer packet and the data link layer packet is not acquired or when the data link layer packet is acquired without acquiring the header of the transaction layer packet.

US Pat. No. 10,459,856

VARIABLE ACQUISITION BUFFER LENGTH

ITRON, INC., Liberty Lak...

1. A device for determining an acquisition buffer size for use in processing signals, the device comprising:a processor;
a memory in communication with the processor, the memory storing instructions for execution by the processor; and
an analog-to-digital converter in communication with the processor, the analog-to-digital converter configured to continuously sample a voltage signal, convert each sampled signal into a digital signal, and provide each sampled digital signal to the processor,
wherein the processor is configured to, in accordance with the instructions:
determine a number of samples obtained for a predetermined number of line cycles based on the provided sampled digital signals;
determine an integer number of line cycles needed for a predetermined target number of samples based on the determined number of samples;
determine an acquisition buffer length based on the determined integer number of line cycles, wherein the determined acquisition buffer length is a length of time that can accommodate the determined integer number of line cycles while minimizing partial line cycles;
determine whether the determined acquisition buffer length is within a threshold range;
when the determined acquisition buffer length is within the threshold range, store the determined acquisition buffer length in the memory;
when the determined acquisition buffer length is not within the threshold range, continue to store a previously determined acquisition buffer length in the memory instead of storing the determined acquisition buffer length; and
repeat the determining the number of samples, the determining the integer number of line cycles, the determining the acquisition buffer length, the determining whether the determined acquisition buffer length is within the threshold range, and the storing of the determined acquisition buffer length to continually adjust the acquisition buffer length to accommodate the determined integer number of line cycles while minimizing partial line cycles.

US Pat. No. 10,459,855

LOAD REDUCED NONVOLATILE MEMORY INTERFACE

Intel Corporation, Santa...

1. A system, comprising:a group of nonvolatile memory (NVM) devices;
a storage controller coupled to the group of NVM devices via a command bus, the storage controller to manage reading and writing to the NVM devices through one or more commands on the command bus; and
a data buffer coupled between the group of NVM devices and the storage controller on a data bus, the data buffer coupled to the storage controller via a control signal line separate from the command bus, the control signal line not provided to the NVM devices, the data buffer to re-drive data signals on the data bus for data corresponding to a command on the command bus,
wherein the storage controller is to first send the command to the group of NVM devices on the command bus, bypassing the data buffer, and send a control signal to the data buffer on the control signal line, wherein the control signal is to trigger the data buffer to transfer the data signals between the group of NVM devices and the storage controller to synchronize the data signals to a clock signal for the command on the command bus.

US Pat. No. 10,459,854

STORAGE DEVICE INCLUDING A SNOOPER THAT MONITORS A SYSTEM BUS TO DETECT COMPLETION OF WRITING DATA TO A BUFFER MEMORY AND A METHOD THEREOF

Samsung Electronics Co., ...

1. A memory controller comprising:a system bus;
a first direct memory access (DMA) engine configured to receive a first data through the system bus and to write the first data in a buffer memory through the system bus;
a snooper configured to monitor the system bus to detect a completion of writing the first data into the buffer memory and to output notification information based on a detecting result on condition of detecting the completion; and
a second direct memory access (DMA) engine configured to transmit the first data written in the buffer memory to a host in response to the notification information from the snooper.

US Pat. No. 10,459,853

MEMORY DEVICE SUPPORTING RANK-LEVEL PARALLELISM AND MEMORY SYSTEM INCLUDING THE SAME

SK HYNIX INC., Icheon (K...

1. A memory system comprising:a memory controller;
a plurality of ranks; and
a rank shared bus configured to couple the memory controller and the plurality of ranks,
wherein each of the plurality of ranks comprises:
a plurality of banks;
a rank bus coupled to the plurality of banks;
an intermediate buffer; and
a path setting circuit including a first selector and a second selector, the first selector configured to couple the rank bus to the rank shared bus or the intermediate buffer and a second selector configured to couple the rank shared bus to the rank bus or the intermediate buffer, so that the path setting circuit sets a data path between the rank bus and the rank shared bus, a data path between the rank bus and the intermediate buffer, or a data path between the rank shared bus and the intermediate buffer according to a control signal output from the memory controller.

US Pat. No. 10,459,852

MEMORY UTILIZATION ANALYSIS FOR MEMORY MANAGEMENT SYSTEMS

EMC IP Holding Company LL...

1. A method for managing memory, comprising:receiving a virtual address from an executing process, wherein the virtual address references a virtual page frame number (VPFN) in a virtual address space associated with the executing process;
accessing a page table entry (PTE) for translating the VPFN to a page frame number (PFN) of a memory page in a physical memory;
incrementing a count value of a n-bit translation counter within the accessed PTE in response to the translating, wherein the count value of the n-bit translation counter indicates a number of times that said PTE has been accessed to translate the VPFN to the PFN of the memory page in the physical memory;
accessing a memory location within the PFN of the memory page in the physical memory, which corresponds to the virtual address;
tracking a number of resets of the n-bit translation counter within said PTE as a result of overflow conditions of the n-bit translation counter during a given period of time;
determining a current count value of the n-bit translation counter within said PTE for the given period of time;
determining a frequency at which the executing process is accessing the memory page associated with the VPFN during the given period of time based on the current count value of the n-bit translation counter within said PTE and the tracked number of resets of the n-bit translation counter within said PTE, wherein the frequency comprises a rate at which the memory page is accessed during the given period of time; and
utilizing the determined frequency to track memory usage of the memory page associated with the VPFN.

US Pat. No. 10,459,851

METHOD AND APPARATUS FOR EXECUTING A PROCESS ON A DEVICE USING MEMORY PRIVILEGES

IRDETO B.V., Hoofddorp (...

1. A method for executing a process on a device, the device comprising one or more processors for executing the process and a memory, wherein the process has an associated first type of privilege, the method comprising:obtaining a portion of the memory for use by the process or for use by a further process being created by the process, wherein the portion of the memory is identified as both writable and executable memory, wherein a second type of privilege that is different from the first type of privilege has been associated with the portion of memory;
wherein the first type of privilege and/or the second type of privilege allows and/or prohibits one or more of:
(a) opening a file;
(b) performing one or more predetermined system calls;
(c) reading a file;
(d) writing to a file;
(e) creating a communications connection.

US Pat. No. 10,459,850

SYSTEM AND METHOD FOR VIRTUALIZED PROCESS ISOLATION INCLUDING PREVENTING A KERNEL FROM ACCESSING USER ADDRESS SPACE

Advanced Micro Devices, I...

8. A method comprising:detecting a request by an operating system kernel to access a first address in user space;
responsive to determining the kernel does not have permission to access the first address, preventing, by a monitoring layer separate from the kernel, the kernel from accessing the first address in user space; and
responsive to determining the kernel has permission to access the first address:
copying data from the first address in user space to a second address in kernel space;
exiting the monitoring layer; and
returning control to the kernel, thereby allowing the kernel to access the data copied to the second address in the kernel space;
storing a state of a guest virtual machine (VM) of the system to a first virtual machine control block (VMCB) within the system responsive to exiting the guest VM; and
storing a state of the monitoring layer to a second VMCB within the system responsive to exiting the monitoring layer.

US Pat. No. 10,459,849

SCHEDULING OPERATIONS IN AN ACCESS-CONTROLLED REGION OF MEMORY

SAS Institute Inc., Cary...

1. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, the computer-program product including instructions operable to cause a computing device to:receive, at a scheduler of the computing device, a first write request from a first thread of a plurality of threads, wherein:
the scheduler schedules access for the plurality of threads across a boundary of an access-controlled region in a memory of the computing device;
the access-controlled region comprises a first memory region;
each of the plurality of threads indicates an operation on the first memory region; and
the first write request indicates that a first operation associated with the first thread comprises an operation to add, remove, or update data of a memory element of the first memory region;
determine that a second memory region in the access-controlled region is allocated for storing data copied from the first memory region;
during copying, to the second memory region, of the data copied from the first memory region:
permit scheduling, by the scheduler, an operation to read from the first memory region for all read requests from the plurality of threads during the copying; and
deny scheduling, by the scheduler, an operation to write to the first memory region for all subsequent write requests from the plurality of threads during the copying; and
when data of the second memory region comprises a copy of the data copied from the first memory region, permit scheduling, by the scheduler, an operation to write to the second memory region for a second write request of the subsequent write requests.

US Pat. No. 10,459,848

METHOD FOR OPTIMISING MEMORY WRITING IN A DEVICE

1. A method for optimizing memory writing in a device implementing a plurality of software modules, a first software module comprising functions handling confidential data, a third software module allowing functions, called client functions, of a second software module to call functions, called cryptography functions, of the first software module, each software function being stored in a non-volatile memory of said device, and being executed in a runtime environment comprising an interpreter stored in a read only memory of said device, said device comprising a random access memory divided into a plurality of memory zones, a first memory zone of the plurality being secured and being able to be used exclusively by the first and third software modules, a second memory zone being able to be used exclusively by the second and third software modules, wherein the method comprises:obtaining a series of client functions comprising a first client function and at least one second client function, each second client function having to be executed following the first client function or a further second client function and providing a runtime result that must be added to a runtime result of the client function preceding it in the series, each client function of the series calling a cryptography function;
allocating a buffer memory in the first memory zone and setting this buffer memory to a value equal to a predefined value;
launching a sequenced execution of each client function of the series, each execution of one of said client functions comprising a call, through the third software module, to the cryptography function affected by said client function, causing said cryptography function to be executed in the first memory zone, the runtime result of said cryptography function being added to the value contained in the buffer memory; and
copying, in the second memory zone, the value contained in the buffer memory following the execution of the last client function of the series.

US Pat. No. 10,459,847

NON-VOLATILE MEMORY DEVICE APPLICATION PROGRAMMING INTERFACE

GOOGLE LLC, Mountain Vie...

1. A method comprising:providing non-volatile random access memory (NVRAM) coupled to a processor or central processing unit (CPU) core of a computing device as a peripheral device via an input/output (I/O) bus, the NVRAM including a NVRAM controller; and
providing a NVRAM application programming interface (API) for the CPU core to conduct NVRAM read and write operations, wherein providing the NVRAM API includes allocating to each NVRAM read or write command issued by the CPU core a respective single memory buffer, wherein a bit size of each NVRAM read or write command is limited to the size of a single machine instruction that can be issued by the CPU core, and constraining the each NVRAM read or write command to operate only on the respective single memory buffer to the hold data transferred to or from the NVRAM,
wherein the respective single memory buffer is made of contiguous units of memory, and has a single memory address for addressing, by the each NVRAM read or write command, the held data transferred to or from the NVRAM in the respective memory single buffer, and
wherein the one or more CPUs in conjunction with the NVRAM API are configured to set up queue tail pointer-less command queues inside a reserved area in the computing device's main memory mapped I/O (MMIO) space with each command write in the MMIO space being unaccompanied by writing of a queue tail pointer by the one or more CPUs, the writing of each command write in the MMIO space by the one or more CPUs implicitly notifying the NVRAM controller that there is a new command for the NVRAM controller to execute on the NVRAM.

US Pat. No. 10,459,846

MEMORY SYSTEM WHICH USES A HOST MEMORY

TOSHIBA MEMORY CORPORATIO...

1. A memory system connectable to a host device including a first memory, comprising:a second memory in which data from the host device is stored, the second memory being a non-volatile memory; and
a memory controller that includes a third memory which is a volatile memory, controls the second memory and the third memory, and has a first space,
wherein the memory controller includes:
a first unit that designates a first address which is an address in the first space; and
a second unit that converts, by using a conversion table, the first address into a second address indicating a location in a first area of the first memory, and transmits the second address to the host device to access the first area, wherein
the conversion table includes a plurality of layers and includes a first conversion table which is a table in a top layer of the plurality of layers and a second conversion table which is a table in a layer of the plurality of layers lower than the top layer,
the first conversion table is stored in the third memory, and
the second conversion table is stored in a second area of the first memory, wherein
the first memory includes a plurality of pages,
each of the plurality of pages is a unit area with a fixed size,
the first conversion table includes a plurality of entries,
each of the plurality of entries indicates one page among the plurality of pages, wherein
when the memory system starts, the memory system receives a descriptor list from the host device,
each entry of the descriptor list includes a third address indicating a location in a third area of the first memory and size information of the third area,
the size information included in each entry of the descriptor list is represented by a number of one or more pages whose locations are continuous, the third area being an area used by the memory system,
the memory controller further includes a third unit that determines the first area and the second area in the third area, and
the memory system generates the first conversion table and the second conversion table on the basis of the descriptor list.

US Pat. No. 10,459,845

HOST ACCELERATED OPERATIONS IN MANAGED NAND DEVICES

Micron Technology, Inc., ...

1. A device for host accelerated operations in managed NAND devices, the device comprising:a machine readable medium including a data structure with keys; and
a controller configured to:
receive an operation, the operation including address data with a logical address portion and a physical address portion;
extract an index value from the physical address portion;
extract a location value from the physical address portion;
retrieve a key from the data structure using the index value;
invoke a reversible function using the index value and the location value to produce a physical address; and
perform the operation using the physical address.

US Pat. No. 10,459,844

MANAGING FLASH MEMORY READ OPERATIONS

WESTERN DIGITAL TECHNOLOG...

1. A method of retrieving information stored in a storage device, comprising:determining a timing of a next host read command for a flash memory die;
identifying if there is a storage device initiated read request for the flash memory die; and
in response to an identification of the storage device initiated read request, initiating a random cache read operation with the storage device initiated read request bound with the next host read command.

US Pat. No. 10,459,843

STREAMING ENGINE WITH SEPARATELY SELECTABLE ELEMENT AND GROUP DUPLICATION

TEXAS INSTRUMENTS INCORPO...

1. A data processing apparatus comprising:a memory;
a processing core having a functional unit configured to perform a data processing operation based on an operand corresponding to an instruction supplied to the processing core; and
stream processing logic configured to receive a plurality of data elements stored in the memory and to provide the plurality of data elements as a data stream to the processing core, wherein the stream processing logic includes:
an address generator configured to generate addresses corresponding to locations in the memory;
a buffer configured to store the data elements received from the locations in the memory corresponding to the generated addresses; and
an element duplication unit configured to duplicate the data elements a number of times in accordance with an element duplication factor;
a vector length masking unit configured to limit data elements received from the element duplication unit to a number of least significant bits in accordance with a vector length;
a stream head register configured to store data elements received from the vector length masking unit; and
an output to supply the data elements stored in the stream head register to the processing core as at least part of the data stream.

US Pat. No. 10,459,842

DATA STORAGE SYSTEM WITH CONFIGURABLE PREFETCH BUFFERS

BiTMICRO Networks, Inc., ...

1. An apparatus comprising:a data storage device comprising a first prefetch buffer, a second prefetch buffer, and a third prefetch buffer;
wherein the second prefetch buffer and the third prefetch buffer are both coupled in parallel to the first prefetch buffer; and wherein any of the prefetch buffers is configured to store prefetch data.

US Pat. No. 10,459,841

INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING SYSTEM, AND METHOD OF CONTROLLING INFORMATION PROCESSING APPARATUS, CONFIGURED TO FORM RING-SHAPED BUS

FUJITSU LIMITED, Kawasak...

1. An information processing apparatus as a first information processing apparatus of a plurality of information processing apparatuses configured to form a ring-shaped bus, the information processing apparatus comprising:a first buffer configured to have entries to store a first request data that is received through the ring-shaped bus and transmitted to a second information processing apparatus of the plurality of information processing apparatuses through the ring-shaped bus;
a memory; and
a processor coupled to the memory and the processor configured to:
transmit, to the second information processing apparatus, the first request data stored in the entries of the first buffer and a second request data to be transmitted to the second information processing apparatus or a third information processing apparatus of the plurality of information processing apparatuses;
when a state where a number of entries in which data is stored in the first buffer is equal to or larger than a first threshold is continued for a time longer than a first time, and a state where transmissions of the first request data and the second request data to the second information processing apparatus are suppressed is continued for a time longer than a second time, change a number of entries usable in the first buffer into a second threshold larger than the first threshold; and
when the number of entries usable in the first buffer is the second threshold, suppress a transmission of the second request data to the ring-shaped bus.

US Pat. No. 10,459,840

METHODS AND DEVICES FOR REDUCING COMPRESSED PAGE LOADING TIME ON PAGE FAULT

TELEFONAKTIEBOLAGET LM ER...

1. A method for storing a plurality of virtual pages in a mass storage device, the method comprising:compressing each virtual page to generate a corresponding compressed virtual page having a corresponding compressed size;
evaluating said compressed size of each of said compressed virtual pages relative to a page size of said mass storage device; and
selectively storing each of the plurality of virtual pages in said mass storage device uncompressed, compressed but without subdividing, or subdivided with compressed subparts, in a manner that is based on at least one of: an uncompressed size of the respective virtual page and said compressed size of the respective virtual page, selected based on said evaluating,
wherein, for each one of the plurality of virtual pages that is stored in said mass storage device subdivided with compressed subparts, said storing comprises:
concluding that said compressed size of the one of the plurality of virtual pages will not fit within one page of said mass storage device;
in response to said concluding, dividing the one of the plurality of virtual pages into a plurality of subdivided uncompressed parts of the one of the plurality of virtual pages;
independently performing said compressing, said evaluating, and said selectively storing for each of said plurality of subdivided uncompressed parts of the one of the plurality of virtual pages.

US Pat. No. 10,459,839

ACCELERATING GARBAGE COLLECTION OF FLUSHED LOGICAL ERASE BLOCKS IN NON-VOLATILE MEMORY

International Business Ma...

1. A method of garbage collection in a non-volatile memory, the method comprising:a controller of the non-volatile memory tracking identifiers of closed logical erase blocks (LEBs) of non-volatile memory for which programming has closed until after the LEBs are erased, wherein the tracking includes tracking a first subset of the closed LEBs that are ineligible for selection for garbage collection and tracking a different second subset of the closed LEBs that are eligible for selection for garbage collection;
the controller continuously migrating closed LEBs from the first subset to the second subset over time;
in response to closing a particular LEB, the controller placing an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset; and
thereafter, in response to selection of the particular LEB for garbage collection, the controller performing garbage collection on the particular LEB.

US Pat. No. 10,459,838

MEMORY SYSTEM AND OPERATING METHOD THEREOF

SK hynix Inc., Gyeonggi-...

1. A memory system, comprising:a memory device including first and second memory blocks;
a cache read mode setting unit suitable for determining a memory block to store and manage map data for user data among the first memory block and the second memory block; and
a controller suitable for performing a read operation on the user data and the map data and an update operation on the map data in parallel.

US Pat. No. 10,459,837

DATA STORAGE DEVICE WITH PRODUCTION STATE AWARENESS AND NON-VOLATILE MEMORY OPERATING METHOD WITH PRODUCTION STATE AWARENESS

SILICON MOTION, INC., Jh...

1. A data storage device, comprising:a flash memory, providing a plurality of first-type blocks and a plurality of second-type blocks, wherein the first-type blocks comprise single level cells and the second-type blocks comprise multi-level cells; and
a controller, allocating the flash memory to provide the first-type blocks to receive data downloaded from a host before the data storage device is soldered to a printed circuit board,
wherein:
when a number of first-type blocks allocated to receive the data downloaded from the host exceeds an upper limit, the controller changes to allocate the flash memory to provide the second-type blocks to receive the data downloaded from the host; and
when detecting that the controller has changed to allocate the flash memory to provide the second-type blocks to receive the data downloaded from the host, the controller returns a fail message to the host to indicate unreliable write operations prior to soldering.

US Pat. No. 10,459,836

MEMORY DEVICE AND ASSOCIATED CONTROL METHOD

MACRONIX INTERNATIONAL CO...

1. A memory device, comprising:a memory array comprising a first memory group, wherein the first memory group comprises at least one first memory unit; and
a control circuit, electrically connected to the memory array, for recording a first timestamp corresponding to a first time point when one of the at least one first memory unit is programmed, identifying state of the first memory group based on the first timestamp and an identification rule, and retiring the first memory group when a condition being predefined in the identification rule is satisfied, wherein satisfaction of the predefined condition is related to a time difference between a current time point and the first time point.

US Pat. No. 10,459,835

SYSTEM AND METHOD FOR CONTROLLING QUALITY OF PERFORMANCE OF DIGITAL APPLICATIONS

Accenture Global Solution...

1. A method of controlling quality of performance of a digital application, the method comprising:obtaining first performance data representing first test results of a requested performance test on the digital application;
obtaining at least a portion of the digital application;
optimizing a performance metric of the digital application by:
analyzing the first performance data and classifying analysis results of the analyzing into a plurality of categories, the plurality of categories including an immediate remediation category for recommended modifications that can be performed automatically and a short term remediation category including design modifications associated with a design of the digital application, and
initiating an automated modification of the digital application based on a first analysis result classified into the immediate remediation category;
initiating an automated verification performance test to determine a measure of improvement in performance of the digital application based on the modification of the digital application by comparing a first verification result of a first performance test of the digital application without the automated modification with a second verification result of a second performance test of the digital application with the automated modification; and
deploying the digital application with the automated modification based on a result of the automated verification performance test.

US Pat. No. 10,459,834

RUN TIME AND HISTORICAL WORKLOAD REPORT SCORES FOR CUSTOMER PROFILING VISUALIZATION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:storing, by a processor, historical data relating to a customer workload;
storing, by the processor based on the live collection of test data, data relating to an active workload test;
determining, by the processor, one or more statistical measures between the historical data relating to the customer workload and the data relating to the active workload test;
generating, by the processor, one or more workload report scores based on the statistical measures;
generating one or more alerts in response to the one or more workload report scores meeting or exceeding a target report score, underperforming workload report scores, or excessive workload report scores; and
displaying, by the processor, the one or more workload report scores and the one or more alerts in a single page visualization, wherein the display is performed dynamically during run time of the active workload test.

US Pat. No. 10,459,833

SOFTWARE INTEGRATION TESTING WITH UNSTRUCTURED DATABASE

ACCENTURE GLOBAL SOLUTION...

1. An integration testing adapter comprising:a memory to store instructions; and
a processor, connected to the memory, to execute the instructions to:
retrieve a configuration file stored in the memory;
parse the configuration file to identify configuration details of an unstructured database;
establish a connection between an integration testing tool and the unstructured database based on the configuration details, where
the integration testing tool is to test at least one function performed by an application, and
the application is to store data in the unstructured database responsive to performing the at least one function, and where
the connection between the integration testing tool and the unstructured database is established by:
 determining, from the configuration details, an Internet Protocol (IP) address of a node of a plurality of nodes in the unstructured database storing the data from the application; and
 sending a message to the IP address to establish the connection;
identify a transaction file that is stored in the memory, where
the transaction file specifies a database operation to be performed by the unstructured database to retrieve the data stored in the unstructured database responsive to the application performing the at least one function,
the transaction file includes a transaction identification and a transaction type, and
the transaction type comprising a read, an insert, an update, or a delete,
where the transaction type of the insert, the update, or the delete, if performed, is performed prior to performing the at least one function;
generate a query based on the database operation, where the query is in a format usable by the unstructured database;
send, via an interface, the query to the unstructured database for execution;
receive, via the interface, query results; and
compare the query results to validation data to determine whether the at least one function operates in a determined manner.

US Pat. No. 10,459,832

HOW TO TRACK OPERATOR BEHAVIOR VIA METADATA

International Business Ma...

1. A computer program product, comprising:a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code configured to perform an operation comprising:
during execution of a distributed application comprising a plurality of operators, monitoring a first operator of the plurality of operators distributed application, wherein an operator graph of the distributed application specifies a configuration of the plurality of operators, wherein the first operator is configured to receive tuples from one or more upstream operators as defined by the operator graph, wherein the first operator is configured to process the received tuples in a first manner, and wherein the first operator stores one or more specified metadata values, and
retrieving the one or more specified metadata values associated with the first operator, wherein the metadata values include whether a port of the first operator is an overloaded port or a combination port,
upon determining that at least one of the one or more specified metadata values does not comply with a corresponding expected metadata value,
generating an indicator for the first operator, wherein the indicator includes information describing the one or more specified metadata values, and
modifying the first operator to process subsequently received tuples from the one or more upstream operators in a second manner, rather than in the first manner,
wherein the first operator is modified based on the information included in the indicator,
wherein processing tuples in the first manner comprises processing an input tuple and outputting a resulting tuple for that input tuple, and
wherein modifying the first operator to process tuples in the second manner comprises modifying a behavior of the first operator to process tuples differently than previously specified wherein the first operator receives an input tuple during run-time but does not process the input tuple or does not output a resulting tuple for that input tuple when processing the received tuples in the second manner.

US Pat. No. 10,459,831

NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM, DATA SPECIFICATION METHOD, AND DATA SPECIFICATION DEVICE

FUJITSU LIMITED, Kawasak...

1. A non-transitory computer-readable storage medium storing a data specification program which causes a computer to execute a process, the process comprising:obtaining a calculation result that includes a first data column indicating a result of a calculation process executed by using a plurality of values included in a specified data column among a plurality of data columns in first data records stored in a first database, the calculation result further including a second data column in association with the first data column;
identifying a number of different values in the second data column included in the calculation result;
identifying a number of different values in each of a plurality of data columns including a plurality of data values in second data records stored in a second database;
determining a corresponding data column from the plurality of data columns in the second data records as corresponding to the second data column of the calculation result when the number of different values in the corresponding data column of the second data records is equal to the number of different values in the second data column of the calculation result;
detecting one or more changing positions in the corresponding data column, the second data records being sorted in accordance with the plurality of values included in the corresponding data column, the one or more changing positions being a position at which a data value changes in the corresponding data column of the sorted second data records;
dividing the second data records into a plurality of groups in_accordance with the one or more changing positions; and
running different computing resources in parallel, with each of the different computing resources respectively using each group of the plurality of groups into which the second data records are divided in accordance with the one or more changing positions, to execute another calculation process for each group of the plurality of groups.

US Pat. No. 10,459,830

EXECUTABLE CODE ABNORMALITY DETECTION

MICRO FOCUS LLC, Santa C...

1. A system for executable code abnormality detection, comprising:a test code engine that:
detects user-activatable control elements of an executable code in an executable file to be tested;
generates a first test code based on the detected user-activatable control elements by employing at least one test rule, wherein the at least one test rule specifies a specific type of action associated with each of the detected user-activatable control elements and the at least one rule includes a priority assigned to each of the detected user-activatable control elements, the priorities being indicative of frequencies of operations of the detected user-activatable control elements;
generates a second test code based on a script for the executable code to be tested, the first and the second test codes containing instructions executable by a test application to test the executable code; and
executes the first test code and the second test code using the test application; and
a reporting engine that saves, in response to the test code engine detecting an abnormality, instructions from the executed first test code and the executed second test code into a persistent file to allow replay of the abnormality.

US Pat. No. 10,459,829

OVERALL TEST TOOL MIGRATION PIPELINE

1. A system having a hardware processor for test tool migration between at least one Source Languages and at least one Target Languages, in automation testing with a pre-processing module, an in-flight module and a post-processing module having Source Code as input that includes an Object Repository (701), a Test Data (702) and Test Scripts (703), the system comprising:a) a pre-processing module (301), which takes the Source Code (700) in a Source Language as input and comprises an input/output (IO) Configurator (704) and an Analyser (705), wherein:
i) the IO Configurator (704), which has an input/output (IO) Configuration Reader (22), an input/output (IO) Location Reader (23) and a Sniffer (24), is configured such that the Source files (21) are input to the IO Configuration Reader (22), which reads basic settings (20) including user-interface (UI) look and feels settings, default settings and script types from a properties file, and is configured such that the IO Location Reader (23) reads the location of Source files, Object Repositories and Target files;
ii) the Sniffer (24) is configured to get high-level information about the Source Code (700) including the first level of information about lines of code, functions, files, and complexity of the code, and is configured to scan through the entire Source code that is selected for conversion, and configured to analyze various programming artefacts selected from a group consisting of a location, a method, a condition, and a loop;
iii) the Analyser (705) comprises a Source Analyser (706) and a Dependency Analyser (707) configured such that:
the Source Analyser (706) scans the entire Source Code (700) selected for conversion and analyses various programming artefacts selected from a group consisting of methods, conditions, and loops, based on the Source Language; and
the Dependency Analyser (707) examines the Source Code (700) for dependency artefacts based on the Target Language; and
iv) the pre-processing module produces intermediate Analysis Reports (25);
b) an in-flight module (302), which takes inputs from the pre-processing module and comprises a Template Generator (708) and a Converter (709) that work together to produce Tool generated raw Source (302a), the converter (709) configured to perform the parsing and lexing required to make a Source Language of the Source files (21) independent, and which simplifies the migration across to a Target platform selection, and the Template Generator (708) configured to generate an appropriate template of a Test Scripts (703) in a Target Language, based on the Target platform selection, the in-flight module further comprising a Lexer consisting of a Lexical Analyser (101), a Syntax Analyser (102), and a Parser including a Semantic Analyser (103) and Intermediate Code Generator (104) and that works to make Source file Language independent and simplifies migration, wherein:
i) the in-flight module (31) takes inputs from the pre-processor module (26) from the Sniffer (24) and the Dependency Analyser (707), such that the Converter (709) does parsing and lexing; and
ii) the Converter (709) reads Language independent code and Language independent Object Repositories and converts them to a neutral Language and then to a Target platform, such that the neutral Language is an intermediate low-level Language which can connect to both the Source Language and the Target Language; and
c) a post-processing module (303), which reads the Tool generated raw Source (302a) and further comprises a Validator (721), a Smart (migration) Remedy Engine (SME) (722), a best practise analyser (723), a TODO resolver (724) to generate Final Scripts (735) in a Target Language, including Technical Logs (733) and Reports (734) for analysis, wherein the post-processing module further comprises (a) at least one users (725), (b) Tool generated raw Source (302a), (c) a Validator (721), (d) a best practise analyser (723), (e) a Smart migration Remedy Engine (722), (f) a TODO Resolver (724), and (g) at least one Final Scripts (735) wherein:
i) the Tool generated raw Source (302a) comprises an Object Repository (718), Test Data (719) and Scripts (720);
ii) the Validator (721) validates the Tool generated raw Source (302a) for syntax and semantic errors through a Target Language Compiler (726), checking the lines of the Source for Target Language Syntax and Target Language Semantics and lists warnings (727), stack traces and errors (728);
iii) the best practise analyser (723) comprises a Suggestion Library (729) and Training module (730) that provide inputs on remedying the Tool generated raw Source (302a) based on historical Data;
iv) the Smart migration Remedy Engine (722) consists of a Log Engine (733) and a Report Engine (734) that take inputs from the Training module (730) and produce Technical Logs (733) and Reports (734) to aid and autocorrect remediation process;
v) the TODO Resolver (724) consists of a user interface and provides options to the user (725) for resolving the ambiguity, issues, and warnings with best practise suggestions; and
vi) the Final Scripts (735) are generated based on the inputs given by the user (725) in the TODO Resolver (724).

US Pat. No. 10,459,828

METHOD AND SYSTEM FOR SOFTWARE APPLICATION TESTING RECOMMENDATIONS

Google LLC, Mountain Vie...

1. A computer-implemented method comprising:receiving, through a software developer user interface, data associated with a software application to test;
determining that a criteria is satisfied by a difference between (i) testing coverage data that describes an amount of feature testing of the software application and system configurations of different systems executing the application software and (ii) market coverage data that describes a second amount of feature usage of the software application and a second set of system configurations of different systems executing the application software; and
in response to determining that the criteria is satisfied by the difference between (i) the testing coverage data that describes the amount of feature testing of the software application and the system configurations of different systems executing the application software and (ii) the market coverage data that describes the second amount of feature usage of the software application and the second set of system configurations of different systems executing the application software, providing, on the software developer user interface, one or more controls that are each associated with a respective recommended additional user, from among a set of additional users, to test the software application;
receiving, through the software developer user interface, a selection of a particular control that is associated with a particular recommended additional user; and
providing the software application to the particular recommended additional user to test in response to receiving the selection of the particular control.

US Pat. No. 10,459,827

MACHINE-LEARNING BASED ANOMALY DETECTION FOR HETEROGENOUS DATA SOURCES

ELECTRONIC ARTS INC., Re...

1. An anomaly detection computing system, the system comprising:a host application computing system including one or more hardware processors and in electronic communication with an anomaly detection server, the one or more hardware processors of the host application computing system configured to execute computer-readable instructions that configure the host application computing system to execute and host instances of a game application and establish gameplay sessions with a plurality of users;
a host data store configured to store host application data associated with operation of the host application computing system, wherein the host application data comprises a plurality of data sets, wherein individual data sets of the plurality of data sets are associated with operations executed by the host application computing system for operation of aspects of the game application;
the anomaly detection server comprising one or more hardware processors and in electronic communication with the host application computing system, the one or more hardware processors of the anomaly detection server configured to execute computer-readable instructions that configure the anomaly detection server to:
communicate with the host application computing system and aggregate the host application data received from the host application computing system, wherein the host application data comprises a data table including the plurality of data sets associated with one or more aspects of operation of the host application computing system;
for each data set of the plurality of data sets within the data table,
identify a first anomaly detection node of a hierarchical anomaly detection model for analysis of a data set of the plurality of data sets, wherein the hierarchical anomaly detection model is generated based, at least in part on, historical data associated with the host application computing system, the hierarchical anomaly detection model comprises a base detection model and a plurality of data set specific models, each data set specific model generated from the base detection model for a specific data set, each data set specific model having a plurality of anomaly detection nodes, wherein each detection node is associated with one or more conditional modifiers, wherein the first anomaly detection node is identified based at least in part on a presence of conditional data matching the one or more conditional modifiers associated with the first anomaly detection node;
determine an anomaly detection score associated with the data set based, at least in part, on an application of the first anomaly detection node of the hierarchical anomaly detection model to the data set;
determine an aggregate anomaly detection score for the data table based at least in part on the anomaly detection scores associated with each data set of the plurality of data sets within the data table;
determine whether the aggregate anomaly detection score exceeds an anomaly detection threshold, wherein the anomaly detection threshold is determined based, at least in part, on a trust level associated with the host application computing system; and
in response to determining that the aggregate anomaly detection score exceeds the anomaly detection threshold, generate an anomaly event, and generate instructions to perform an anomaly event action for the anomaly event associated with the anomaly detection threshold.

US Pat. No. 10,459,826

RUN TIME WORKLOAD THRESHOLD ALERTS FOR CUSTOMER PROFILING VISUALIZATION

INTERNATIONAL BUSINESS MA...

1. A computer-implemented method comprising:obtaining, by a processor, from a database historical data values for each of a plurality of workload data points relating to a prior workload run;
determining, by the processor, a threshold value for each of the plurality of workload data points relating to the prior workload run;
obtaining, by the processor, current data values for each of a plurality of workload data points relating to a current workload test run and corresponding to the plurality of workload data points in the historical data values;
determining, by the processor, one or more statistical measures relating to the historical data values and the current data values;
determining, by the processor, whether the threshold value for at least one of the plurality of data points relating to the prior workload run is not achieved in a set amount of time by the current data value corresponding to the same one of the at least one of the plurality of data points relating to the prior workload run; and
providing, by the processor while the current workload test is being run, an alert that the threshold value has not been achieved, wherein the alert provided is an audio alert or a visual alert via a mobile device or computer.

US Pat. No. 10,459,825

INTELLIGENT EXPANSION OF SYSTEM INFORMATION COLLECTION

RED HAT, INC., Raleigh, ...

1. A method comprising:inputting, into a testing framework, a path corresponding to a binary;
accessing, by the testing framework, a testing configuration corresponding to the binary, the testing configuration specifying one or more characteristics of the binary for which data collection is enabled;
parsing the binary to collect the specified one or more characteristics, the collected specified one or more characteristics including dynamic library data and symbol table data corresponding to the binary;
identifying, based on the collected specified one or more characteristics, additional characteristics of the binary, wherein at least one of the additional characteristics are used as at least one parameter for at least one test initiated by the testing framework, wherein the identified additional characteristics include one or more variables of the binary and their corresponding data values; and
collecting information corresponding to the identified additional characteristics of the binary, wherein the collected information comprises at least one result of the at least one test initiated by the testing framework.

US Pat. No. 10,459,824

CACHE-BASED TRACE RECORDING USING CACHE COHERENCE PROTOCOL DATA

Microsoft Technology Lice...

1. A computing device, comprising:a plurality of processing units;
a cache memory comprising a plurality of cache lines that are used to cache data from one or more backing stores and that are shared by the plurality of processing units, wherein consistency between data in the plurality of cache lines and the one or more backing stores is managed according to a cache coherence protocol (CCP); and
stored control logic that configures the computing device to perform at least the following:
determine that at least the following conditions have been met:
(i) an operation has caused an interaction between a particular cache line of the plurality of cache lines and the one or more backing stores;
(ii) logging is enabled for a particular processing unit of the plurality of processing units that caused the operation;
(iii) the particular cache line is a participant in logging; and
(iv) the CCP indicates that there is data to be logged to a trace based on the operation; and
based at least on determining that the conditions having been met, cause the data to be logged to the trace, the data usable to replay the operation.

US Pat. No. 10,459,823

DEBUGGING USING DUAL CONTAINER IMAGES

EMC IP Holding Company LL...

1. A method comprising:providing a lightweight container image and an enhanced container image concurrently in a cloud platform, wherein the lightweight container image and the enhanced container image is generated using a same version of an application, wherein the enhanced container image additionally includes an integrated development environment having support for debugging applications and developing applications;
receiving, at the cloud platform, a request for debugging a problem that occurred during execution of the application in the lightweight container image;
directing, by the cloud platform, selected traffic from the lightweight container image to the enhanced container image, wherein the integrated development environment is opened for reproducing the problem; and
generating a new light weight container image and new enhanced container image using the application after the problem is fixed.

US Pat. No. 10,459,822

ITERATIVE STATIC ANALYSIS USING STORED PARTIAL RESULTS

AMAZON TECHNOLOGIES, INC....

1. A system, comprising:an electronic data store; and
a static analysis system including a processor and memory, the memory including computer-executable instructions that upon execution cause the system to:
receive first source code including a first code snippet in connection with a request to perform a first static analysis of the first source code;
perform the first static analysis of the first source code including the first code snippet to produce a first result of the first static analysis of the first code snippet;
generate first metadata describing the first result;
apply a hashing function to the first code snippet to produce a first hash value;
store the first metadata in the electronic data store in association with the first hash value;
receive a second request to perform the first static analysis of second source code, the second source code including a second code snippet that is at least similar to the first code snippet; and
responsive to the second request:
query the electronic data store using a second hash value generated by applying the hashing function to the second code snippet to determine that the second hash value matches the first hash value;
responsive to the determination that the second hash value matches the first hash value, obtain the first metadata from the electronic data store; and
generate a second result of the first static analysis of the second source code, the second result incorporating the first metadata to describe the first static analysis of the second code snippet.

US Pat. No. 10,459,821

DYNAMICALLY CONTROLLING ERASURE CODE DISTRIBUTION IN AN OBJECT STORE

Quantum Corporation, San...

1. An apparatus that dynamically controls erasure code distribution in an object store, the apparatus comprising:a processor;
a memory;
a set of circuits that control the location of an erasure code in an erasure code based object store, where the object store includes two or more devices on which an erasure code can be stored; and
an interface that connects the processor, the memory, and the set of circuits;
the set of circuits comprising:
a first circuit that accesses a first data concerning an operating condition associated with the object store, and that recognizes an association between a plurality of objects associated with an erasure code to be stored in the object store;
a second circuit that identifies a usage pattern associated with the plurality of objects, where the usage pattern is based, at least in part, on the association, where the usage pattern concerns a relationship between an ingest site and an accessing site, and a relationship between the plurality of objects or erasure codes to be stored in the object store;
a third circuit that generates a prediction of where, in the object store, a read operation will be performed on the plurality of objects, based, at least in part, on the usage pattern; and
a fourth circuit that creates a distribution plan to control distribution of erasure codes to members of the two or more devices when the erasure codes are stored in the object store, where the distribution plan is based, at least in part, on the first data and the prediction.

US Pat. No. 10,459,820

DOCUMENT CLUSTERING IN IN-MEMORY DATABASES

SAP SE, Walldorf (DE)

1. A computer-implemented method of testing a compatibility of an update to an enterprise resource planning system, the method comprising:clustering, by one or more processors, a plurality of documents into a plurality of groups, each group comprising accounting documents that are structurally identical, the plurality of documents being generated from transactional data of an enterprise stored in an in-memory database, each document comprising at least one attribute;
storing the plurality of groups in a memory;
adding, by the one or more processors, one document from each group into a test set of documents;
running, by the one or more processors, a simulation of the update on the test set of documents; and
providing, by the one or more processors, data characterizing the compatibility of the update based on the simulation,
wherein the update comprises implementation of document splitting, and
wherein the clustering comprises an assignment of the plurality of documents to predefined, non-modifiable attribute categories, the attribute categories define document splitting rules, and the document splitting splits the at least one attribute of each document according to the document splitting rules.

US Pat. No. 10,459,819

CIRCULAR TIMELINE DISPLAYS OF TIMESTAMPED EVENT DATA

Splunk Inc., San Francis...

1. A method, comprising:receiving a request to display a plurality of timestamped events, each timestamped event of the plurality of timestamped events parsed from data related to performance and/or security characteristics of one or more computing devices of an information technology environment;
generating a circular timeline display displaying a period of time including a start time and an end time;
generating, for all events of a subset of the plurality of timestamped events, an arc within the circular timeline display representative of a respective event of the subset of timestamped events, wherein each respective arc comprises:
a beginning at a first location within the circular timeline display that is indicative of a start timestamp of the respective event relative to the start time and the end time;
an ending at a second location within the circular timeline display that is indicative of an end timestamp of the respective event relative to the start time and the end time; and
a length that is indicative of a duration between the start timestamp and the end timestamp of the respective event relative to the period of time displayed by the circular timeline display; and
causing display of a graphical user interface including the circular timeline display.

US Pat. No. 10,459,818

IDENTIFYING THE ROOT CAUSE OF AN ISSUE OBSERVED DURING APPLICATION EXECUTION

New Relic, Inc., San Fra...

1. A method for identifying a root cause of an execution issue related to a software application, the method comprising:identifying a degradation of a performance metric in a given time period during an execution of a software application, the software application associated with an application stack having a plurality of hierarchically organized layers that each includes one or more components;
traversing an inter-component graph corresponding to the software application to identify a hierarchy of components that were instantiated during the execution, the inter-component graph representing connections between different components of the software application, the hierarchy of components including a first component and a second component in a first layer of the application stack;
correlating the degradation of the performance metric with metrics time series associated with each of the first component and the second component, the metrics time series each specifying, for a given metric, one or more values of the metric for the associated component during the time period, and the correlating comprising:
calculating a correlation factor for the first component and the second component, each correlation factor a quantification of a similarity in the degradation of the performance metric and its corresponding component, and wherein
the selected first component has a higher correlation factor than the second component;
selecting the first component as a cause of the degradation of the performance metric based on the correlation between the degradation of the performance metric and the metrics time series for the first component and the second component; and
reporting the first component as the cause of the degradation of the performance metric.

US Pat. No. 10,459,817

EVALUATING PERFORMANCE IMPROVEMENT OF EXECUTING INSTRUCTIONS IN A FIRST PROCESSOR OVER EXECUTION ON A SECOND PROCESSOR

International Business Ma...

16. A non-transitory computer readable storage medium comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor or programmable circuitry to cause the processor or programmable circuitry to perform operations for improving performance of a system including a first processor and a second processor, the operations comprising:obtaining a code region specified to be executed on the second processor, the code region including a plurality of instructions;
estimating an overhead of executing the at least one of the plurality of instructions on the second processor, the overhead including at least one of an estimated pre-execution time and an estimated post-execution time;
determining a probability that the at least one of the plurality of instructions would be executed if the code region were executed on the second processor if the code region were executed;
multiplying a number representing the probability by a number representing a difference in execution time between executing the at least one instruction on the first processor and executing the at least one instruction on the second processor; and
subtracting a number representing the estimated overhead from the result of the multiplying, the result of the subtracting being a calculated performance improvement of executing the at least one of the plurality of instructions included in the code region on the second processor over executing the at least one instruction on the first processor;
removing the at least one instruction from the code region in response to a condition including that the performance improvement does not exceed a first threshold; and
repeating the calculating and the removing to produce a modified code region specified to be executed on the second processor.

US Pat. No. 10,459,816

COMMUNICATION SETTING NOTIFICATION APPARATUS

Fanuc Corporation, Yaman...

1. A communication setting notification apparatus which automatically investigates communication setting of I/O data communication of EtherNet/IP compatible with adapter equipment, the communication setting notification apparatus comprising:an I/O data confirming unit configured to transmit an I/O data read request message to the adapter equipment and determine a valid instance ID based on an I/O data read response message from the adapter equipment;
a communication start testing unit configured to transmit a communication start request message to the adapter equipment and determine valid communication setting based on whether or not I/O data communication can be established with the adapter equipment; and
a communication setting notifying unit configured to output the valid communication setting,
wherein the I/O data confirming unit transmits a plurality of I/O data read request messages including different instance IDs to the adapter equipment and, wherein when there is I/O data having a designated instance ID of the different instant IDs, the adapter equipment returns a success response to the I/O data read response message, and the instance ID included in the I/O data read request message.

US Pat. No. 10,459,815

METHOD AND SYSTEM FOR PREDICTING STORAGE DEVICE FAILURES

Dell Products, LP, Round...

1. A computer implemented method comprising:for each physical drive of a plurality of physical drives of a logical storage device implemented by the plurality of physical drives in a RAID configuration:
determining a total number of reads and writes to the physical drive as a function of (i) data regarding reads and writes committed by an operating system to the logical storage device and (ii) a number of reads and writes, caused by the RAID configuration, to the physical drive for each read and write committed by the operating system to the logical storage device; and
determining a likelihood of failure for the physical drive based on the determined total number of reads and writes to the physical drive; and
replacing at least one physical drive of the plurality of physical drives based on one or more of the determined likelihoods of failure.

US Pat. No. 10,459,814

DRIVE EXTENT BASED END OF LIFE DETECTION AND PROACTIVE COPYING IN A MAPPED RAID (REDUNDANT ARRAY OF INDEPENDENT DISKS) DATA STORAGE SYSTEM

EMC IP Holding Company LL...

1. A method of providing RAID (Redundant Array of Independent Disks) data protection for at least one storage object in a data storage system, wherein the data storage system includes at least one storage processor and an array of data storage drives communicably coupled to the storage processor, the method comprising:generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extent entries, wherein each RAID extent entry contained in the RAID mapping table indicates a predetermined total number of drive extents that each persistently store host data written to a corresponding one of a plurality of RAID extents within a logical address space that is mapped to the at least one storage object, wherein each drive extent comprises a unique contiguous region of non-volatile data storage located on one of the data storage drives, and wherein each one of the data storage drives has multiple drive extents located thereon;
for each I/O operation directed to the storage object, performing a monitoring operation by the storage processor, wherein the monitoring operation includes:
i) incrementing a total I/O operations counter corresponding to a target drive extent to which that I/O operation is directed, wherein the total I/O operations counter corresponding to the target drive extent stores a total number of I/O operations that have been directed to the target drive extent,
ii) receiving, from a data storage drive within which the target drive extent is located, a completion status for that I/O operation, and
iii) in response to detecting that the received completion status for that I/O operation indicates that a soft media error occurred within the data storage drive while performing that I/O operation on the target drive extent:
a) incrementing a soft media error counter corresponding to the target drive extent, wherein the soft media error counter corresponding to the target drive extent stores a total number of soft media errors that have occurred while performing I/O operations on the target drive extent,
b) calculating an error ratio for the target drive extent, wherein the error ratio for the target drive extent comprises a ratio of a current value of the soft media error counter corresponding to the target drive extent to a current value of the total I/O operations counter corresponding to the target drive extent, and
c) in response to detecting that the error ratio for the target drive extent exceeds a threshold error ratio, performing a proactive copy operation on the target drive extent that copies all host data stored on the target drive extent to a newly allocated drive extent, wherein performing the proactive copy operation on the target drive extent also modifies a RAID extent entry in the RAID mapping table that stored an indication of the target drive extent to store an indication of the newly allocated drive extent, whereby the host data copied from the target drive extent to the newly allocated drive extent is accessed by subsequently received I/O operations on the newly allocated drive extent.

US Pat. No. 10,459,813

SYSTEM AND DEVICE FOR SYNCHRONIZING DATA IN A PLURALITY OF DEVICES

FUJITSU LIMITED, Kawasak...

1. A storage system, comprising:a first storage device including:
a first memory that stores a plurality of pieces of data;
a second memory that stores first state information indicating a state of update of the plurality of pieces of data; and
a first processor coupled to the first memory and the second memory;
a second storage device including:
a third memory that stores a plurality of pieces of first copied data that is a copy of the plurality of pieces of data;
a fourth memory that stores second state information indicating a state of update of the plurality of pieces of first copied data; and
a second processor coupled to the third memory and the fourth memory; and
a third storage device including a fifth memory that stores a plurality of pieces of second copied data that is a copy of the plurality of pieces of data, wherein
the first processor is configured to receive a update request for the plurality of pieces of data stored in the first memory,
the second processor is configured to:
update a part of the plurality of pieces of first copied data corresponding to the update request, and
update the second state information in response to an update of the plurality of pieces of first copied data,
the first processor is further configured to:
update a part of the plurality of pieces of data corresponding to the update request in response to an update of the second state information,
update the first state information in response to an update of the plurality of pieces of data,
transmit the plurality of pieces of updated data to the third storage device in response to an update of the first state information, and
update the first state information in response to a transmission of the plurality of pieces of updated data, and
the second processor is further configured to transmit, when the first storage device stops, the plurality of pieces of updated first copied data to the third storage device, the plurality of pieces of updated first copied data being specified based on the second state information.

US Pat. No. 10,459,812

SEAMLESS METHOD FOR BOOTING FROM A DEGRADED SOFTWARE RAID VOLUME ON A UEFI SYSTEM

Dell Products, LP, Round...

1. An information handling system comprising:a processor; and
a configuration detection and error handler configured to:
read a first tag data file from a first storage volume;
read a second tag data file from a second storage volume;
determine that the first storage volume and the second storage volume are configured as mirrored storage volumes based upon the first tag data file and the second tag data file;
read a first sector of the first storage volume;
determine that the first sector of the first storage volume included bad data; and
read the first sector of the second storage volume in response to determining that the first sector of the first storage volume included bad data.

US Pat. No. 10,459,811

SYSTEM FOR INCREASING INTRA-APPLICATION PROCESSING EFFICIENCY BY TRANSMITTING FAILED PROCESSING WORK OVER A PROCESSING RECOVERY NETWORK FOR RESOLUTION

Bank of America Corporati...

1. A system for distributing failovers and recovering data between a first data center and a second data center, the first data center comprising a plurality of first servers in operative communication with a first database, the second data center comprising a plurality of second servers in operative communication with a second database, wherein the first data center and the second data center are configured to independently process transactions, the system comprising:a processor;
a communication interface;
and a memory having executable code stored thereon, wherein the executable code, when executed by the processor, causes the processor to:
generate a transactional context for a transaction occurring within the first data center, wherein the transactional context is generated from a beginning of the transaction and persists until the transaction is completed, wherein the transactional context comprises transactional metadata and workflow metadata, wherein the transactional metadata comprises technical metadata, the technical metadata comprising IP address data, system origin data, or system destination data, wherein the workflow metadata comprises transaction step data, wherein the transaction step data indicates a processing success or failure of each step in the transaction;
detect that an error has occurred in a transaction occurring within the first data center, wherein the error is a problem within the first database;
detect that the error has a third level of severity;
update the transactional context to include a step at which the transaction failed;
initiate a global-level recovery process, the global-level recovery process comprising:
transmitting the transactional context to the second data center; and
correcting, via the second data center, the error based solely on the transactional context by restarting the transaction at the step at which the transaction failed;
detect that the transaction has been successfully completed;
based on detecting that transaction has been successfully completed, delete the transactional context;
generate a second transactional context for a second transaction occurring within the first data center;
detect that a second error has occurred in the second transaction, wherein the second error is a problem within a failed first server within the first data center;
detect that the second error has a first level of severity;
update the second transactional context to include a step at which the second transaction failed; and
initiate a code-level recovery process, the code-level recovery process comprising correcting, via the failed first server, the second error based solely on the second transactional context by restarting the second transaction at the step at which the second transaction failed.

US Pat. No. 10,459,810

TECHNIQUE FOR HIGHER AVAILABILITY IN A MULTI-NODE SYSTEM USING REPLICATED LOCK INFORMATION TO DETERMINE A SET OF DATA BLOCKS FOR RECOVERY

Oracle International Corp...

1. A method comprising:generating, at a first node of a multi-node database system, a plurality of lock requests;
for each lock request of the plurality of lock requests:
storing, in a redo log associated with the first node, changes to a target data block and a change number associated with the changes;
receiving, at a second node of the multi-node database system, a request to replicate lock information for the lock request; and
storing, in a memory of the second node, the change number and a location of the target data block.

US Pat. No. 10,459,809

STACKED MEMORY CHIP DEVICE WITH ENHANCED DATA PROTECTION CAPABILITY

Intel Corporation, Santa...

1. A stacked memory chip device, comprising:a plurality of stacked memory chips;
read/write logic circuitry to service read/write requests for cache lines kept within the plurality of stacked memory chips;
data protection circuitry to store information to protect substantive data of cache lines in the plurality of stacked memory chips, where, the information is kept in more than one of the plurality of stacked memory chips, and where, any subset of the information that protects respective substantive data of a particular one of the cache lines is not stored in a same memory chip with the respective substantive data, the information to protect the substantive data of the cache lines being one of mirroring information and ECC information.

US Pat. No. 10,459,808

DATA STORAGE SYSTEM EMPLOYING A HOT SPARE TO STORE AND SERVICE ACCESSES TO DATA HAVING LOWER ASSOCIATED WEAR

International Business Ma...

1. A method in a data storage system including a controller, a spare storage device, and a plurality of primary storage devices, the method comprising:storing a data storage array distributed across the plurality of primary storage devices, wherein each of the plurality of primary storage devices and the spare storage device contains a plurality of blocks of physical storage;
the controller identifying frequently accessed address ranges mapped to the data storage array that are read more often than written;
in response to the identifying, the controller initiating copying of a dataset associated with the identified address ranges from the data storage array onto the spare storage device while refraining from copying other data from the data storage array onto the spare storage device;
prior to a failure of a failed storage device among the plurality of primary storage devices, the controller directing read input/output operations (IOPs) targeting the dataset to be serviced by access to the spare storage device; and
based on the failure of a failed storage device, rebuilding contents of the failed storage device on the spare storage device in place of the dataset associated with the identified address ranges, wherein the rebuilding includes:
initiating an invalidate and erasure process to invalidate all entries no longer to be used and erase blocks no longer valid from the spare storage device; and
during the erasure process, the controller directing servicing of an IOP targeting data in the dataset by reference to the spare storage device.

US Pat. No. 10,459,807

DETERMINING MODIFIED PORTIONS OF A RAID STORAGE ARRAY

International Business Ma...

1. A computer-implemented method of determining modified portions of a RAID storage array for use in resynchronizing said RAID storage array after a failure, the computer-implemented method comprising:resolving areas in the RAID storage array that represent space allocated to volumes;
resolving which of said allocated volumes comprise gathered writes, wherein the gathered writes are writes to a drive of the RAID storage array in which a single procedure call sequentially gathers data from multiple buffers and writes it as a single data stream to the drive;
for said allocated volumes that comprise gathered writes, resolving a set of writes that potentially have incomplete parity updates at the time of a failure of a drive in the RAID storage array; and
for each of said allocated volumes resolved as having gathered writes, rebuilding parity only for strides that represent I/O in a period before the failure.

US Pat. No. 10,459,806

CLOUD STORAGE REPLICA OF A STORAGE ARRAY DEVICE

EMC IP HOLDING COMPANY LL...

1. An apparatus comprising:a first storage array comprising:
a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory;
a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes; and
a production device comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives;
a cloud storage comprising a plurality of storage servers, each storage server associated with at least one data storage drive, wherein performance capability of the storage array differs from performance capability of the cloud storage, and a cloud replica of the production device is maintained on one or more of the data storage drives associated with the storage servers by asynchronously implementing production device changes on the cloud replica;
a cloud gateway with a processor, memory and instructions on non-transitory computer-readable memory that convert IOs between a first form used by the first storage array and a second form used by the cloud storage, the cloud gateway reading at least a part of the cloud replica in response to a failover situation; and
a second storage array comprising:
a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory; and
a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes,
wherein the computing nodes of the second storage array create a second production device from the cloud replica in response to the failover situation.

US Pat. No. 10,459,805

METHOD AND SYSTEM FOR DATA RECOVERY IN A DATA SYSTEM

Oath Inc., New York, NY ...

1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for managing a request in a data system comprising a plurality of nodes and global storage, the method comprising:receiving, by a first node in the data system, a request for a transaction of data;
determining a second node in the data system based on the request, wherein the second node is to carry out the transaction;
storing the request into a first request queue at the first node;
sending the request to the second node;
obtaining, by the first node, a notice from the second node indicating that information associated with the transaction has been persistently stored by the second node or the global storage; and
removing the request from the first request queue in response to the notice being obtained.

US Pat. No. 10,459,804

DATABASE ROLLBACK USING WAL

MICRO SYSTEMATION AB, (S...

1. A computer-implemented method for recovering a previous state of a database using a write-ahead log (WAL), the method comprising:selecting, in a set of frames associated with the WAL, a specific frame representing a specific revised content of a corresponding specific page of the database, said specific frame corresponding to a checkpoint that chronologically precedes at least one other checkpoint in a set of checkpoints associated with the WAL, wherein the database comprises a first set of pages, the database is a SQLite database or a derivative thereof, the database is configured to use the WAL into which the set of frames has been recorded, the set of frames representing revised contents of a second set of pages of the database, each frame of the set of frames represents a revised content of a corresponding page of the database, the database is further associated with checkpoint information indicating that revised content of at least one page of the database was transferred from the WAL to the database at the set of checkpoints, each checkpoint of the set of checkpoints corresponds to a point in time, and each frame in the set of frames corresponds to one checkpoint of the set of checkpoints, and the WAL comprises information allowing the frames to be chronologically ordered;
identifying, in the set of frames associated with the WAL, a first subset of frames comprising the specific frame and thereto zero or more chronologically preceding frames;
extracting, from the first set of pages, a first subset of pages;
extracting, from the corresponding pages of the first subset of frames, a second subset of pages;
extracting a previous state of the database using the WAL, wherein the previous state comprises the specific revised content of the specific page and the previous state is extracted based on the content of the first subset of pages and the revised content of the second subset of pages, the specific frame corresponding to a checkpoint that chronologically precedes at least one other checkpoint in the set of checkpoints associated with the WAL;
identifying, in the set of frames associated with the WAL, a second subset of frames comprising one or more chronologically subsequent frames to the specific frame, said second subset of frames corresponding to a third subset of pages;
determining whether the third subset of pages comprises at least one page that is not part of the second subset of pages; and
indicating that the previous state is not a true previous state, upon determining that the third subset of pages comprises at least one page that is not part of the second subset of pages.

US Pat. No. 10,459,803

METHOD FOR MANAGEMENT TABLES RECOVERY

WESTERN DIGITAL TECHNOLOG...

1. A method for self-recovery of memory management tables for solid state storage devices, comprising:receiving, by a controller, an indication that a memory management table loaded to a random-access storage device and associated with a non-volatile storage device is in a corrupted state;
retrieving one or more error recovery parameters of a first memory unit stored in metadata of a physical block of a plurality of physical blocks of the non-volatile storage device;
examining the one or more error recovery parameters to determine whether the one or more error recovery parameters indicate the first memory unit is fresh or stale, wherein the first memory unit is determined to be fresh if a sequence number of the error recovery parameters corresponding to the first memory unit is greater than a sequence number corresponding to a second memory unit stored in the metadata with the same logical address as the first memory unit;
updating the memory management table with logical-to-physical translation information of the metadata for the first memory unit that is determined to be fresh; and
writing the updated memory management table to the non-volatile storage device.

US Pat. No. 10,459,802

BACKUP IMAGE RESTORE

Hewlett-Packard Developme...

1. An apparatus comprising:a virtual drive controller module to receive a read request from a guest virtual machine (VM) during a restore operation; and
a virtual drive manager module to:
determine whether data associated with the read request is stored in a storage volume of the guest VM using a sector mapping lookup table during the restore operation;
in response to a determination that the data is absent in the storage volume:
copy the data from a backup image associated with the guest VM to the storage volume;
update the sector mapping lookup table to indicate that the data is stored in the storage volume; and
transmit the data to the guest VM; and
access the sector mapping lookup table to determine whether the restore operation is complete.

US Pat. No. 10,459,801

DYNAMIC TRIGGERING OF BLOCK-LEVEL BACKUPS BASED ON BLOCK CHANGE THRESHOLDS AND CORRESPONDING FILE IDENTITIES USING INDEXING IN A DATA STORAGE MANAGEMENT SYSTEM

Commvault Systems, Inc., ...

1. A method for triggering block-level backups based on block change thresholds and corresponding file identities, the method comprising:receiving, by a first computing device, a threshold measure of changed data blocks, wherein the first computing device is configured to monitor changed data blocks against the threshold measure;
receiving, by the first computing device, a plurality of point-in-time representations of changed data blocks stored in one or more first data storage devices,
wherein the changed data blocks result from write operations performed by an application that executes on a second computing device in communication with the one or more first data storage devices,
wherein the plurality of point-in-time representations of changed data blocks are received from a first data agent that tracks data block changes generated by the application, and
wherein the first data agent executes on the second computing device;
by the first computing device, receiving from a second data agent, file-to-data-block relationship information that identifies second data blocks that store contents of a first data file accessible to the application,
wherein the second data agent tracks a file system comprising one or more data files accessible to the application including the first data file, and
wherein the second data agent executes on the second computing device;
by the first computing device, indexing the file-to-data-block relationship information into a data-block-to-file mapping that identifies the first data file based on a given one of the second data blocks;
determining, by the first computing device, that the threshold measure has been passed relative to the first data file by a first set of changed data blocks on the one or more first data storage devices,
by (i) analyzing the plurality of point-in-time representations of changed data blocks received from the first data agent and (ii) further by determining based on the data-block-to-file mapping that the first set of changed data blocks correspond to the first data file; and
based on determining that the threshold measure has been passed relative to the first data file,
causing, by the first computing device, a block-level backup of the first set of changed data blocks to be performed at least in part by the first data agent, wherein a secondary copy that results from the block-level backup is associated with the first data file and not with other data files accessible to the application.

US Pat. No. 10,459,800

SAFE DATA ACCESS FOLLOWING STORAGE FAILURE

Microsoft Technology Lice...

1. A system comprising:at least one processor; and
a memory storing instructions that when executed by the at least one processor perform a set of operations comprising:
generating, by an application, an indication to enable failure reporting of a failure during a communication session with a storage system;
sending a first access request for target data to the storage system, the first access request associated with a first request identifier;
storing, by the system, the first request identifier;
receiving a first access response granting access to the target data;
receiving notification of a first failure;
based on the notification of the first failure, pausing the application;
resuming the application;
sending a resume request for the target data to the storage system, the resume request associated with the first request identifier; and
receiving a resume response granting access to the target data.

US Pat. No. 10,459,798

DATA STORAGE SYSTEM WITH MULTIPLE PARITY REDUNDANCY

Seagate Technology LLC, ...

1. A system comprising a controller connected to a plurality of data storage units arranged into logical rows and columns, the logical rows storing striped data having at least one rotational parity value, each logical column storing striped data with a static parity value, the static parity value of each logical column computed from the at least one rotational parity value of at least one logical row as directed by the controller, at least one data storage unit of the plurality of data storage units having a zero value assigned by the controller responsive to a data storage device being newly connected to the controller.

US Pat. No. 10,459,797

MAKING TRADE-OFFS BETWEEN REBUILD SCANNING AND FAILING MEMORY DEVICE FLEXIBILITY

PURE STORAGE, INC., Moun...

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:detecting a storage error associated with a memory device of a group of memory devices;
identifying a sub-range of an DSN address range associated with the group of memory devices;
facilitating rebuilding of the identified sub-range to produce rebuilt encoded data slices;
updating location weights of the group of memory devices based on the detected storage error; and
for each rebuilt encoded data slice, identifying a corresponding memory device of the group of memory devices for storage of the rebuilt encoded data slice utilizing a decentralized agreement function and the updated location weights; and
storing the rebuilt encoded data slice in a corresponding identified memory device.

US Pat. No. 10,459,796

PRIORITIZING REBUILDING BASED ON A LONGEVITY ESTIMATE OF THE REBUILT SLICE

INTERNATIONAL BUSINESS MA...

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:retrieving, by a rebuild module, one or more sets of slices from one or more DSN memory data sources of multiple DSN memory data sources located on one or more DSN memories of one or more DSN memory locations of multiple DSN memory locations, wherein a DSN memory location of the multiple DSN memory locations includes a plurality of storage devices;
determining, by a rebuild module, that a slice of the one or more sets of slices requires rebuilding;
when the one or more sets of slices were retrieved from two or more DSN memory locations of the multiple DSN memory locations:
estimating, by the rebuild module, a DSN memory location future risk of each one of the two or more DSN memory locations, wherein the DSN memory location future risk is estimated based on one or more DSN memory location risk factors; and
when the one or more sets of slices were retrieved from two or more DSN memory data sources:
estimating, by the rebuild module, a DSN memory data source future risk of each one of the two or more DSN memory data sources, wherein the DSN memory data source future risk is estimated based on one or more DSN memory data source risk factors; and
determining, based on one or more of: the DSN memory location future risk and the DSN memory data source future risk, a selection of which DSN memory of the one or more DSN memories of the one or more DSN memory locations to rebuild; and
rebuilding the slice in the DSN memory of the selection, wherein the slice is rebuilt by dispersed storage error decoding at least a decode threshold number of slices of a set of the one or more sets of retrieved slices to produce a data segment, and dispersed storage error encoding the data segment to produce the slice, wherein the decode threshold number of slices is a minimum number of slices of the set of one or more sets of retrieved slices required to reconstruct the data segment.

US Pat. No. 10,459,795

RAID SYSTEMS AND METHODS FOR IMPROVED DATA RECOVERY PERFORMANCE

International Business Ma...

1. A system comprising:a plurality of storage enclosures in a distributed RAID system, each storage enclosure comprising:
a plurality of storage devices that each store parity data, and
an enclosure processor configured for processing data for the plurality of storage devices of the storage enclosure, wherein the enclosure processor is configured to:
receive a request from a storage controller to read intermediate enclosure XOR data based on data stored in two or more storage devices of the plurality of storage devices of the storage enclosure;
read data from each of the two or more storage devices in response to receiving the request;
determine intermediate enclosure XOR data based on the data read from the two or more storage devices of the storage enclosure; and
transmit the intermediate enclosure XOR data to the storage controller for regenerating user data or parity data based on the intermediate enclosure XOR data;
the storage controller, wherein the storage controller configured to:
communicate with the plurality of storage enclosures over a connection of a storage area network;
send, to at least one storage enclosure of the plurality of storage enclosures, a request to read intermediate enclosure XOR data stored in two or more storage devices of the plurality of storage devices of the at least one storage enclosure that are valid storage devices in a same redundancy group as a lost data chunk;
receive, from the at least one storage enclosure of the plurality of storage enclosures, at least one response message comprising the intermediate enclosure XOR data;
determine whether the intermediate enclosure XOR data received from the at least one storage enclosure is derived from data read from all of the valid storage devices in the redundancy group, and
send a message to read data, which has not been used in deriving the intermediate enclosure XOR data, from at least one of the valid storage devices, in response to determining that the received intermediate XOR data is not derived from data read from all of the valid storage devices in the redundancy group
regenerate the user data or parity data based on the received intermediate enclosure XOR data.

US Pat. No. 10,459,794

MEMORY SYSTEMS HAVING EXTENDED PRODUCT LIFETIME AND METHODS OF OPERATING THE SAME

SK hynix Inc., Icheon-si...

1. A memory system comprising:a first memory device;
a second memory device configured to have a write endurance which is higher than a write endurance of the first memory device; and
a controller configured to perform an error correction process on original data outputted from a host to generate a codeword including the original data and parity data and configured to separate the codeword into the original data and the parity data to write the separated original data into the first memory device and to write the separated parity data into the second memory device,
wherein the first memory device includes:
a data storage region configured to store the original data; and
a backup region configured to store the parity data stored in the second memory device.

US Pat. No. 10,459,793

DATA RELIABILITY INFORMATION IN A NON-VOLATILE MEMORY DEVICE

WESTERN DIGITAL TECHNOLOG...

1. A data storage device comprising:a non-volatile memory array comprising a plurality of dies, wherein each die of the plurality of dies includes a plurality of words; and
a controller coupled to the non-volatile memory array, the controller includes a writes module including a data management module, and address translation module, a read module, and a maintenance module, wherein the controller is configured to:
store user data to of at least a first die and a second die of the plurality of dies;
store parity data to a first portion of a third die of the plurality of dies; and
store metadata to a second portion of the third die, wherein the metadata stored to the second portion of the third die is self-correctable, the non-volatile memory array further comprises a RAID die associated with the plurality dies, wherein the controller is further configured to:
detect errors using parity data in the self-correctable metadata stored to the second portion of the third die;
responsive to detecting errors in the self-correctable metadata, correct the errors using parity data in the self-correctable metadata stored to the second portion the third die;
generate redundancy data by performing an XOR operation of the third die, the first die, and second die; and
store, to the RAID die, the redundancy data.

US Pat. No. 10,459,792

USING AN EVENTUALLY CONSISTENT DISPERSED MEMORY TO IMPLEMENT STORAGE TIERS

PURE STORAGE, INC., Moun...

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:receiving one or more revisions of a data object for storage within a time frame;
selecting a primary storage target from a plurality of storage targets, where a number of DSN storage units of the primary storage target is greater than or equal to a decode threshold number of encoded data slices associated with a dispersed storage error encoding of one or more portions of the data object;
for each revision of the one or more revisions, facilitating storage of the revision in the selected primary storage target, where, for the data object, a first group of the encoded data slices of each set of encoded data slices of a plurality of sets of encoded data slices are stored in the selected primary storage target, where the first group of the encoded data slices includes at least the decode threshold number of encoded data slices; and
for each of the revisions, facilitating subsequent temporary storage of remaining encoded data slices of each set of encoded data slices that were not stored in the selected primary storage target in a memory of a dispersed storage (DS) processing unit, wherein the remaining encoded data slices include all encoded data slices from the set of encoded data slices that were not included in the first group of the encoded data slices; and
subsequently determining to store only a most recently stored version of the remaining encoded data slices temporarily stored in the memory of a dispersed storage processing unit in a secondary storage target, where a number of DSN storage units of the secondary storage target is greater than or equal to a decode threshold number of the encoded data slices associated with a dispersed storage error encoding of one or more portions of the data object;
identifying a most recently stored revision of the data object; and
facilitating storage of the remaining encoded data slices of the most recently stored revision in the secondary storage target.

US Pat. No. 10,459,791

STORAGE DEVICE HAVING ERROR COMMUNICATION LOGICAL PORTS

Hitachi, Ltd., Tokyo (JP...

1. A storage device comprising:a plurality of storage nodes, each of which has a plurality of logical ports having send and receive queues for a communication request and an identification number; and
an internal network interconnecting the plurality of storage nodes, wherein
a first storage node among the plurality of storage nodes has, as the logical ports, a first data communication logical port used for data communication with a second storage node and a first error communication logical port used in order to notify the second storage node of a state of the first data communication logical port,
the second storage node among the plurality of storage nodes has, as the logical ports, a second data communication logical port used for data communication with the first storage node in the logical port serving as a communication destination of the first data communication logical port and a second error communication logical port used in order to notify the first storage node of a state of the second data communication logical port, and
when detecting transition of the first data communication logical port to an error state,
the first storage node notifies the second storage node of an identification number and a state of the first data communication logical port using the first error communication logical port.

US Pat. No. 10,459,790

ELASTIC STORAGE IN A DISPERSED STORAGE NETWORK

INTERNATIONAL BUSINESS MA...

1. A method for execution by a dispersed storage and task (DST) processing unit that includes a processor, the method comprises:dispersed storage encoding a data object to generate a plurality of encoded data slices;
determining when an encoded data slice of the plurality of encoded data slices will not be stored in local dispersed storage;
when the encoded data slice will not be stored in the local dispersed storage:
dispersed storage encoding the encoded data slice into a plurality of elastic slices;
storing the plurality of elastic slices in a plurality of storage units of an elastic dispersed storage;
generating an elastic storage pointer indicating retrieval information for retrieval of the plurality of elastic slices of the encoded data slice from the plurality of storage units; and
storing the elastic storage pointer in the local dispersed storage.

US Pat. No. 10,459,789

GLOBAL STORAGE SOLUTION WITH LOGICAL CYLINDERS AND CAPSULES

Quantum Corporation, San...

1. A non-transitory computer-readable storage medium storing computer executable instructions that when executed by a computer control the computer to perform a method, the method comprising:generating a self-describing logical data storage capsule on a first data storage device, where the data storage capsule employs a logical cylindrical recording format, and where the data storage capsule has a defined size;
assigning a globally unique identifier (ID) to the data storage capsule, wherein the globally unique ID is indexable by a web search engine;
associating the globally unique ID with a human user to allow the human user to access the data storage capsule through one or more security measures for the data storage capsule;
providing the globally unique ID to the human user, wherein the human user provides the globally unique ID to access the data storage capsule;
storing data in the data storage capsule, where the data stored in the data storage capsule is smaller or equal to the defined size of the data storage capsule, and
migrating the data storage capsule from the first data storage device to a second data storage device.

US Pat. No. 10,459,788

DATA CODING TO REDUCE READ-SENSING OPERATIONS IN STORAGE DEVICE

Samsung Electronics Co., ...

1. A method of operating a storage device, the method comprising:encoding, as encoded data, user data using a random input/output (RIO) code;
programming the encoded data in multilevel cells each storing k-bit data, wherein k is an integer greater than 1;
reading, as read data, a part of the encoded data from the multilevel cells by fewer than
number of sensing operations, where ? ? is a floor operator; anddecoding the read data while correcting a channel error using the RIO code, wherein:
the RIO code includes a channel code for correcting the channel error.

US Pat. No. 10,459,787

BAD COLUMN HANDLING IN FLASH MEMORY

SanDisk Technologies LLC,...

1. A nonvolatile memory system comprising:a memory array having a plurality of columns, each of the plurality of columns comprising one or more bit lines; and
a soft-input error correction code decoder configured to receive hard data and soft data for at least one bad column of the plurality of columns and further configured to decode the hard data in combination with the soft data to generate decoded data,
wherein the soft data comprises compressed information including indication of locations of bad data within the at least one bad column, and
wherein the locations of bad data are replaced by indications of low likelihood.

US Pat. No. 10,459,786

SCALING LARGE DRIVES USING ENHANCED DRAM ECC

WESTERN DIGITAL TECHNOLOG...

20. A method of controlling a data storage device comprising a memory and a plurality of non-volatile memory devices comprising:storing, in a volatile memory, a logical-to-physical address translation map that contains at least one entry to a physical location of a plurality of memory devices; and
encoding the at least one entry with an error correcting code with a memory controller,
wherein at least one bit of the error correcting code is configured by the memory controller to operate as address data, in the at least one entry, of the physical location of a plurality of memory devices.

US Pat. No. 10,459,785

ERROR DETECTION FOR TRAINING NON-VOLATILE MEMORIES

WESTERN DIGITAL TECHNOLOG...

1. A non-volatile memory (NVM) controller, comprising:a host interface for communicating with a host device;
a memory interface for communicating with a NVM via one or more channels;
a cyclic redundancy check (CRC) circuit configured to generate a CRC code; and
a calibration circuit configured to provide re-training data to the NVM,
wherein the NVM controller is configured to:
(i) receive a CRC code from the NVM via the memory interface,
(ii) compare the received CRC code with the generated CRC code to detect error,
(iii) determine if a re-training condition has been met, based on the comparison of the received CRC code with the generated CRC code, and
(iv) activate the calibration circuit, if the re-training condition has been met, to re-train the NVM using the re-training data.

US Pat. No. 10,459,784

FREQUENCY SIGNAL GENERATOR, A FREQUENCY MODULATED CONTINUOUS WAVE RADAR SYSTEM AND A METHOD FOR GENERATING A FREQUENCY SIGNAL

Infineon Technologies AG,...

1. A frequency signal generator comprising:a controllable oscillator unit configured to generate and provide a frequency signal based on a reference frequency signal so that a phase of the frequency signal is aligned to a phase of the reference frequency signal, wherein the controllable oscillator unit comprises:
a frequency divider unit configured to generate a divided frequency signal based on the frequency signal provided by the controllable oscillator unit so that the divided frequency signal comprises a frequency equal to a frequency of the frequency signal provided by the controllable oscillator unit divided by a variable factor, and
a phase detection unit configured to generate an alignment deviation signal based on a comparison of the reference frequency signal and the divided frequency signal, and wherein the alignment deviation signal comprises information on a deviation of the alignment of the phase of the frequency signal to the phase of the reference frequency signal;
a frequency control unit configured to generate a frequency control signal based on a frequency modulation parameter, wherein the controllable oscillator unit is configured to modify a frequency of the frequency signal based on the frequency control signal, and wherein the frequency divider unit is configured to vary the variable factor based on the frequency control signal; and
an error detection unit configured to receive the frequency control signal, the error detection unit comprising a comparison unit configured to compare the frequency control signal or comparison information derived from the frequency control signal with a reference comparison signal or reference comparison information, wherein the error detection unit is further configured to provide an error signal based on the comparison, the error signal indicating an error in the frequency control signal.

US Pat. No. 10,459,783

LOW-LATENCY DECODER FOR REED SOLOMON CODES

Marvell World Trade Ltd.,...

1. A decoder, comprising:a syndrome calculator, configured to receive for decoding by the decoder an n-symbol code word that was encoded using a Reed Solomon (RS) code, and to calculate for the received code word a number of 2t syndromes Si, i=0 . . . 2t?1, wherein t=(n?k)/2 is a maximal number of erroneous symbols that the RS code is designed to correct, and (n?k) is a number of redundancy symbols in the code word;
a Key Equation Solver (KES), configured to derive for the received code word an error locator polynomial (x) whose roots identify locations of erroneous symbols in the received code word, by applying to the syndromes a number of t iterations, wherein in a single iteration of the t iterations, the KES is configured to calculate first and second discrepancies between (x) and respective first and second candidates of (x), and to derive, from at least of the first and second candidates, an updated candidate of (x); and
an error corrector, configured to recover an error-free version of the code word by correcting the erroneous symbols using the derived error locator polynomial (x).

US Pat. No. 10,459,782

SYSTEM AND METHOD OF IMPLEMENTING HEARTBEATS IN A MULTICORE SYSTEM

NXP USA, Inc., Austin, T...

1. A method comprising:storing to local memory of a first core, from shared memory of a system, during a first heartbeat cycle, a plurality of local heartbeat vectors, including a first local heartbeat vector (HBV) of a first core, a second local HBV of a second core, and a third local HBV of a third core, wherein, each cores' local HBV includes a first HeartBeat Count (HBC) for the first core, a second HBC for the second core, and a third HBC for the third core;
updating, by the first core during the first heartbeat cycle, the first HBC of the first local HBV, wherein no other core's current HBC is updated by the first core during the first heartbeat cycle;
determining, by the first core during the first heartbeat cycle, a health status of the second core based solely upon the plurality of local HBVs stored at the first core after the first HBC has been updated;
determining, by the first core during the first heartbeat cycle, a health status of the third core based solely upon the plurality of local HBVs stored at the first core after the first HBC has been updated; and
updating, by the first core during the first heartbeat cycle after the first HBC has been updated, a shared HBV of the first core in shared memory with an updated HBV based upon the first HBC of the first local HBV, the second HBC of the second local HBV, and the third HBC of the third local HBV.

US Pat. No. 10,459,781

ERROR DETECTION AND REJECTION FOR A DIAGNOSTIC TESTING SYSTEM

Trividia Health, Inc., F...

1. A method for minimizing the impact of potential errors that may occur when a device receives a first code comprising a plurality of bits arranged in a physical arrangement and being associated with a diagnostic test strip, the method comprising:determining a probability of each bit to cause a read error; and
constructing a logical arrangement of the bits different than the physical arrangement based on the probability, wherein the logical arrangement comprises the bits arranged such that the impact of potential read errors is minimized.

US Pat. No. 10,459,780

AUTOMATIC APPLICATION REPAIR BY NETWORK DEVICE AGENT

Cisco Technology, Inc., ...

1. A system using a network device for automatic application repair by a network device agent operating on the network device in a monitored environment, the network device including:a processor;
a memory; and
one or more modules stored in the memory and executable by a processor to perform operations including:
capture network device application data for a monitored application, the network device performing a function other than computing;
analyze the captured network device application data to detect a performance issue associated with the monitored application;
identify a temporary remedy for the performance issue that enables the network device to continue to operate in a limited capacity, the temporary remedy automatically determined by a model using training data that corresponds to the captured network device application data; and
automatically apply the temporary remedy to the network device.

US Pat. No. 10,459,779

ALERT DASHBOARD SYSTEM AND METHOD FROM EVENT CLUSTERING

Moogsoft, Inc., San Fran...

1. A user interface system comprising:a first engine in communication with a managed infrastructure and configured to receive messages from the managed infrastructure, the managed infrastructure including physical hardware;
a second engine that determines one or more common steps from events and produces clusters of events relating to a failure or errors in the managed infrastructure, where membership in a cluster indicates a common factor of the events that is a failure or an actionable problem in the physical hardware of the managed infrastructure directed to supporting the flow and processing of information, in response to the production of the clusters making one or more one or more physical changes in a physical hardware element of the managed infrastructure is made;
a third engine that is a compare and merge engine which receives outputs from the second engine, the compare and merge engine communicating with one or more user interfaces, the second engine or a third engines uses a source address for each event make a change to at least a portion of the managed infrastructure; and
a user interface accessible to be used by more than one person coupled to the first and second engines, the user interface room including a display and a processor that executes actions of the first and second engines.

US Pat. No. 10,459,778

SENDING MESSAGES BETWEEN THREADS

Microsoft Technology Lice...

1. A computer-implemented method of communicating batched messages between threads, each thread having a thread identifier number (Tid), the method comprising:for each of the threads, defining a data structure comprising a plural number (M) of buckets having a sequential numbering (m);
for each transmitting one of said threads, using its M buckets, wherein M is at least 2;
each time the transmitting thread has a message to send or for arc to any receiving one of said threads (Tid_r), assigning the message to the bucket numbered m=Tid_r mod M to await transmission, wherein Tid_r is the thread identifier number of the receiving thread;
identifying the bucket numbered m=Tid_t mod M as a home bucket; wherein (Tid_t) is the thread identifier number of the transmitting thread; and
after accumulating multiple messages in the buckets, performing a batch transmission comprising a plurality of successive phases (p) starting at p=0, each phase comprising:
i) from each bucket other than the home bucket, transmitting some or all of the messages in the bucket as a batch to one of the receiving threads of the bucket based on the assignment of the bucket numbered m=Tid_r mod M, and
ii) except in the last phase, incrementing the phase p by 1, and redistributing the messages remaining in the home bucket according to m=(Tid_r/M p) mod M, wherein each receiving thread places any messages it receives not destined for itself into one of its own M buckets according to m=Tid_r mod M for forwarding.

US Pat. No. 10,459,777

PACKET PROCESSING ON A MULTI-CORE PROCESSOR

SONICWALL INC., Milpitas...

1. A method for processing data packets at a plurality of processing cores, the method comprising:receiving a first data packet;
assigning the first data packet to a first processing core of the plurality of processing cores based on the first processing core comprising a local memory that stores program code executable to process at least a first processing phase of the first data packet;
processing the at least the first processing phase of the first data packet at the first processing core;
receiving a second data packet;
assigning the second data packet to a second processing core of the plurality of processing cores based on the second processing core comprising a local memory that stores instructions executable to process a first processing phase of the second data packet, wherein the program code stored in the local memory of the first processing core does not include corresponding instructions for processing the first processing phase of the second data packet; and
processing the first processing phase of the second data packet at the second processing core.

US Pat. No. 10,459,776

TRANSMISSION OF LARGE MESSAGES IN COMPUTER SYSTEMS

ADVANCED MICRO DEVICES, I...

1. A method for transmitting messages among computer systems of a networked computing system, the method comprising:responsive to determining, by a sending computer system of the computer systems, that a first message has a size above a threshold, transmitting a ready probe from the sending computer system to a receiver computer system of the computer systems of the networked computing system, the ready probe including an identifier for the first message, the ready probe causing the receiver computer system to query a counting filter of the receiver computer system to determine whether the receiver computer system is ready to consume the first message, wherein querying the counting filter comprises identifying a set of buckets associated with the first message, determining that the receiver computer system is ready to consume the first message if values of the identified set of buckets are all non-zero, and determining that the receiver computer system is not ready to consume the first message if at least one of the values of the identified set of buckets is zero;
receiving a ready probe response from the receiver computer system, the ready probe response indicating whether the receiver computer system is ready to consume the first message;
if the ready probe response indicates that the receiver computer system is ready to consume the first message, then transmitting the first message from the sending computer system to the receiver computer system; and
if the ready probe response indicates that the receiver computer system is not ready to consume the first message, then preventing transmission of the first message to the receiver computer system.

US Pat. No. 10,459,775

INFORMATION PROCESSING APPARATUS, METHOD, AND MEDIUM

Canon Kabushiki Kaisha, ...

8. A method of processing information by a log management application operating on a platform that an information processing apparatus has, the method comprising:when an event occurs within the information processing apparatus, obtaining log information of the event via the platform and recording a time managed by the information processing apparatus and the log information to a log file;
via an interface for an application of a first type that operates on the platform and is different to the log management application, when the application of the first type performs a writing of application information, recording the time managed by the information processing apparatus and the written application information to a log file;
collecting a log file that an application of a second type, that operates on the platform and is different to the log management application, manages; and
outputting in one batch the recorded log file and the collected log file, wherein a file name of the collected log file is changed using the time managed by the information processing apparatus.

US Pat. No. 10,459,774

SELF-AWARE AND SELF-REGISTERING SOFTWARE AND ANALYTICS PLATFORM COMPONENTS

GENERAL ELECTRIC COMPANY,...

1. A system for creating an Application Programming Interface (API) wrapper which allows each element and sub-element of a platform to be part of another system without specifically configuring each element and sub-element for the another system comprising:the platform hosting one or more elements;
an application programming interface (API) wrapper associated with each of the one or more elements of the platform, the API wrapper including input information to the one or more elements, output information to the one or more elements, and at least one instruction defining a function of the element;
wherein the one or more elements and the API wrapper form a self-aware element wherein the self-aware element knows the input information and the output information per the API wrapper; wherein at least one element includes one or more sub-elements;
wherein the one or more elements are self-registering via the API wrapper to register itself in the another system of the platform;
wherein the one or more sub-elements include an analytic model for an installed product;
wherein the analytic model makes predictions of the installed product; and
wherein the API wrapper includes a modeling technique to create the analytic model;
the API wrapper allows the self-aware and self-registering elements of the analytic model to be part of the another system on the platform.

US Pat. No. 10,459,773

PLD MANAGEMENT METHOD AND PLD MANAGEMENT SYSTEM

HITACHI, LTD., Tokyo (JP...

1. A Programmable Logic Device (PLD) management system comprising:one or more PLDs;
an interface unit connected to the one or more PLDs;
a processor connected to the interface unit; and
a computer program executed by the processor, configured to manage a usage status for each of the one or more PLDs;
wherein the computer program is configured to:
receive, from a request source module which is any one of a plurality of processing modules sharing access to each of the one or more PLDs, a usage request for a PLD, and
perform control to prevent, on receiving the usage request, based on a current usage status of a corresponding PLD that is the PLD corresponding to the usage request and content of the usage request, two or more of the plurality of processing modules from utilizing the same PLD at the same time, wherein the plurality of processing modules are any one of an application, a thread, or a virtual machine.

US Pat. No. 10,459,772

SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR CAPTURING TOUCH EVENTS FOR A VIRTUAL MOBILE DEVICE PLATFORM

Intelligent Waves LLC, R...

1. A method for processing touch events, the method comprising:receiving, by a server computer, a touch event message from a mobile device, the touch event message comprising touch events and timing information; and
dispatching the touch events to a software stack, the dispatching performed by a process at the server computer, wherein the process sleeps between dispatches of the touch events for a duration determined by the timing information in the touch event message to thereby construct data points that closely match a set of data points collected at the mobile device, the timing information relating to time elapsed between adjacent touch events captured at the mobile device.

US Pat. No. 10,459,771

LIGHTWEIGHT THREAD SYNCHRONIZATION USING SHARED MEMORY STATE

1. A method comprising:exposing, by an operating system executing on one or more processors, a memory mapping interface, wherein the one or more processors execute a first thread and a second thread;
mapping, by a supervisor in the operating system, a memory page storing an execution state of the first thread to a memory location accessible by the second thread, wherein the first thread stores at least one request in a shared memory and the second thread polls the shared memory to execute the at least one request stored in the shared memory;
updating, by the supervisor, the execution state of the first thread stored in the memory page, wherein the execution state is one of a working state and a not-working state;
checking, by the second thread, the memory location mapped to the memory page storing the execution state of the first thread; and
responsive to determining that the execution state of the first thread is the not-working state, stopping, by the second thread, the polling of the shared memory.

US Pat. No. 10,459,770

METHOD AND APPARATUS FOR PORT ACCESS MANAGEMENT AT A DISTRIBUTED JOB MANAGER IN A DIGITAL MULTI-PROCESSOR SYSTEM

Cavium, LLC, Santa Clara...

1. An apparatus for port management access at a distributed job manager, comprising:a plurality of job managers, each job manager being configured to:
initialize a port access process for each of one or more ports on a managed processing device;
first determine whether a job is assigned to an active slot identified by an active_slot_id on the processing device, and when the determining is positive then second determine whether the job has been serviced by a port identified by the active_slot_id;
when either the first determining is negative or the second determining is positive then retest the first and second determining;
else determine whether the job requires an access to the port identified by the active_slot_id; and
when the determination is positive then:
fetch the port's configuration words;
process the fetched port's configuration words;
mark the job as serviced by the port upon conclusion or the processing of the fetched port's configuration words; and
recalculate the value of the active_slot_id.

US Pat. No. 10,459,769

ELASTIC CONTAINER MANAGEMENT SYSTEM

Unisys Corporation, Blue...

1. A method comprising:determining that a quantity of resources on a first host being utilized by one or more containers on the first host is greater than a predetermined utilization quantity;
determining that there are insufficient unutilized resources on the first host to satisfy the resource utilization of the one or more containers;
responsive to obtaining an approval:
imaging a respective container to form a corresponding image;
copying the image to a second host having sufficient unutilized resources to satisfy the resource utilization of the respective container, wherein the second host is different from the first host; and
starting the image on the second host; and
distributing requests for the respective container on the first host between the respective container and the started image on the second host.

US Pat. No. 10,459,768

COMPUTER SYSTEM, MANAGEMENT SYSTEM, AND RESOURCE MANAGEMENT METHOD

HITACHI, LTD., Tokyo (JP...

1. A computer system comprising:a plurality of computers; and
a management system configured to manage the plurality of computers, wherein the management system manages instances implemented by the plurality of computers allocating physical resources, the instances are physical, comprises:
instance configuration information, being information which includes a setting for configuring an instance, the information includes a setting for necessity of monopolization for each of a plural kinds of physical resources of the instance:
resource information which includes allocation information for each of the plural kinds of physical resources that the computer system provides;
topology information which includes information of a connect device that can provide a physical resource to the instance;
search the physical resource in which the allocation information is not allocated among the resource information as to the physical resource in which the setting indicating that monopolization is required for the instance configuration information is included;
search a connected device that can be allocated to the physical resource in which the setting indicating that monopolization is required to the instance configuration information from the topology information among connect devices that can be connected to the searched physical resource;
select an instance implementation method corresponding to the instance configuration information based on the searched physical resource and the connected device; and
the plurality of computers provide the physical resource to the instance based on the selected instance implementation method.

US Pat. No. 10,459,767

PERFORMING DATA ANALYTICS UTILIZING A USER CONFIGURABLE GROUP OF REUSABLE MODULES

International Business Ma...

1. A system for performing analytics on a large quantity of data accommodated by an external mass storage device comprising:a computer system including at least one processor configured to:
divide the analytics into a plurality of analytic modules, wherein each of the analytic modules is selectively executed and comprises a script for a parallel processing engine to perform a corresponding atomic operation of the analytics, the plurality of analytic modules including one or more pre-processing modules, one or more statistical analytic modules and one or more post-processing modules;
receive an input from a user, the input including a user selection of one or more of the plurality of analytic modules to perform desired analytics on the large quantity of data from the external mass storage device;
responsive to the receiving the input including the user selection, automatically generate a master script designating the one or more of the plurality of analytic modules that are to be present in a module chain and an order of performing the designated one or more of the plurality analytic modules in the module chain, one or more pre-processing modules of the one or more of the plurality of analytic modules to be executed before one or more statistical analytic modules of the one or more of the plurality of analytic modules, and the one or more statistical analytic modules of the one or more of the plurality of analytic modules to be executed before one or more post-processing modules of the one or more of the plurality of analytic modules;
execute pre-processing scripts associated with the one or more pre-processing modules of the one or more of the plurality of analytic modules in the module chain to produce one or more partial solutions, the one or more pre-processing modules of the one or more of the plurality of analytic modules preparing and cleaning raw data to produce the one or more partial solutions to be provided to the one or more statistical analytic modules in the module chain;
accept one of the one or more partial solutions and automatically break down scripts associated with the one or more statistical modules of the one or more of the plurality of analytic modules in the module chain into map/reduce jobs and optimize execution of the map/reduce jobs;
execute the map/reduce jobs;
and
automatically execute alternative statistical modules, based on scoring results of the one or more post-processing modules of the one or more of the plurality of analytic modules, the automatically executing reusing, as input, a partial solution of the one or more partial solutions produced by completing execution of at least one of the one or more pre-processing modules to avoid re-execution of the at least one of the one or more pre-processing modules.

US Pat. No. 10,459,766

SYSTEM FOR OPTIMIZING RESOURCE PRIORITIZATION BASED ON SERVICES EFFICIENCY

Bank of America Corporati...

1. A system for using a services framework to optimize resource prioritization, the system comprising:a processor;
a communication interface; and
a memory having executable code stored thereon, wherein the executable code, when executed by the processor, causes the processor to:
receive, from a user computing system, a request to define a first service within the services framework, wherein the first service comprises a first maturity level;
receive, from the user computing system, a request to define a second service within the services framework, wherein the second service comprises a second maturity level;
analyze an efficiency of the first service over a first dimension;
analyze an efficiency of the second service over the first dimension;
determine that a first action causes an increase in the efficiency of the first service over the first dimension;
determine that the first action is correlated with an increase in the efficiency of the second service over the first dimension;
implement the first action within the services framework;
analyze an efficiency of the first service over a second dimension;
analyze an efficiency of the second service over the second dimension;
determine that a second action causes an increase in the efficiency of the first service over the second dimension;
determine that the second action is correlated with an increase in the efficiency of the second service over the second dimension;
implement the second action within the services framework;
detect a user-defined pattern from the request to define the first service and the request to define the second service; and
based on the user-defined pattern, automatically define a third service within the services framework, wherein the third service comprises a third maturity level.

US Pat. No. 10,459,765

AUTOMATIC PLACEMENT OF VIRTUAL MACHINE INSTANCES

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:receiving a request to instantiate a virtual machine instance, the request specifying an ordering of a plurality of preferences for instantiating the virtual machine instance;
identifying a region of a computing resource service provider;
identifying two or more data zones of a plurality of data zones in the identified region where a plurality of other virtual machine instances are operating, wherein the plurality of other operating virtual machine instances correspond to an identifier associated with the request, and wherein individual data zones of the plurality of data zones comprise a plurality of computing devices configured for instantiation of virtual machine instances;
determining, based at least in part on the ordering of the plurality of preferences and the identified two or more data zones, a ranking for the plurality of data zones;
selecting, based at least in part on the ranking for the plurality of data zones, a data zone from the plurality of data zones; and
instantiating the requested virtual machine instance onto a computing device within the selected data zone.

US Pat. No. 10,459,764

STATELESS INSTANCE BACKED MOBILE DEVICES

Amazon Technologies, Inc....

1. A computer-implemented method, comprising:assigning a companion container instance to a device such that as a result of being assigned to the device, the companion container instance executes software functions on behalf of the device based at least in part on a task definition, which identifies a set of software functions that perform a task on behalf of the device and specifies an allocation of resources to the set of software functions;
receiving, from the device, the task definition;
processing the task definition by at least:
obtaining a software function, wherein the software function executes within the companion container instance such that the software function is allocated with resources in accordance with the allocation of resources specified in the task definition, wherein the software function is executed in a software container in isolation from other software functions of the set of software functions; and
providing the device with a result of launching the software function.

US Pat. No. 10,459,763

TECHNIQUES FOR MONITORING A SHARED HARDWARE RESOURCE

International Business Ma...

1. A data processing system, comprising:a measurement component connected to a shared hardware resource that is shared by multiple partitions and configured to collect measurement data from the hardware resource and compute an aggregation of the measurement data over a certain time interval, wherein the shared hardware resource includes a cryptographic adapter;
a noise data generator connected to the measurement component and configured to compute a noise level value based on the aggregation of the measurement data and generate noise data based on the noise level value, wherein the noise level value is calculated using a workload dependent heuristic adapted to a workload; and
an external interface connected to the measurement component, wherein the measurement component mixes the aggregation of the measurement data with the noise data generated by the noise data generator to generate monitor data in which details of cryptographic operations performed by a guest using the cryptographic adapter cannot be learned by a hypervisor environment administrator or another guest from the generated monitor data thereby reducing a risk of violating privacy of the partitions that share the hardware resource and outputs the generated monitor data to the external interface for monitoring, and wherein the heuristic generates at least one usage profile for the shared hardware resource comprising a list of measurements measured over a first time interval, and wherein each of the measurements comprises a vector of values and is associated with a specific partition and the vector of values is taken from a simulation or a real computation of the workload over a period of time, where the heuristic computes for each usage profile: a first sub-usage profile from the corresponding usage profile by removing measurement data associated with a first partition from the usage profile; an absolute value of a difference of the aggregation of the measurements in the corresponding usage profile and an aggregation of measurements in the first sub-usage profile; and a sum of absolute values of vector components representing the difference.

US Pat. No. 10,459,762

ENABLING REAL-TIME CPU-BOUND IN-KERNEL WORKLOADS TO RUN INFINITE LOOPS WHILE KEEPING RCU GRACE PERIODS FINITE

International Business Ma...

1. A method for enabling a real-time CPU-bound in-kernel workload to run an infinite loop while keeping read-copy update (RCU) grace periods finite, said method comprising:setting a per-CPU indicator to indicate that a CPU running the CPU-bound in-kernel workload has not reported an RCU quiescent state within a first defined time;
invoking from within the workload an RCU grace period operation that causes an RCU quiescent state to be reported on behalf of the CPU in response to the per-CPU indicator being set; andrescheduling the CPU in response to the RCU quiescent state not being reported within a longer second defined time that is longer than the first defined time and sufficiently long to indicate an error condition requiring CPU rescheduling.

US Pat. No. 10,459,761

ENABLING REAL-TIME CPU-BOUND IN-KERNEL WORKLOADS TO RUN INFINITE LOOPS WHILE KEEPING RCU GRACE PERIODS FINITE

International Business Ma...

8. A computer program product, comprising:one or more non-transitory computer readable data storage media;
program instructions stored on the one or more computer readable data storage media for programming a data processing platform having a plurality of CPUs to perform operations for enabling a real-time CPU-bound in-kernel workload to run an infinite loop while keeping read-copy update (RCU) grace periods finite, the operations comprising:
setting a per-CPU indicator to indicate that a CPU running the CPU-bound in-kernel workload has not reported an RCU quiescent state within a first defined time;
invoking from within the workload an RCU grace period operation that causes an RCU quiescent state to be reported on behalf of the CPU in response to the per-CPU indicator being set; and
rescheduling the CPU in response to the RCU quiescent state being not reported within a longer second defined time that is longer than the first defined time and sufficiently long to indicate an error condition requiring CPU rescheduling.

US Pat. No. 10,459,760

OPTIMIZING JOB EXECUTION IN PARALLEL PROCESSING WITH IMPROVED JOB SCHEDULING USING JOB CURRENCY HINTS

SAP SE, Walldorf (DE)

1. A method comprising:obtaining, at an application from a job scheduler of at least one system comprising a programmable processor and prior to sending one or more application jobs to the job scheduler, a job concurrency hint, the job concurrency hint comprising a statistical prediction based on a plurality of job graphs, each of the plurality of job graphs corresponding to a previously processed application job, each of the plurality of job graphs comprising at least one of an elapsed time, a waiting time, and an overhead time for the corresponding previously processed application job, the job concurrency hint adjusted to increase elapsed time as compared to waiting and overhead times, the adjusted job concurrency hint corresponding to a number and a type of application jobs corresponding to fewer and longer application jobs;
selecting, based on the job concurrency hint, one or more application jobs to send to the job scheduler; and,
sending the selected application jobs to the job scheduler for processing by the processor.

US Pat. No. 10,459,759

MIGRATION BETWEEN CPU CORES

NETAPP, INC., Sunnyvale,...

1. A method comprising:processing, by a plurality of processor cores of a storage controller, one or more tasks and one or more interrupt service routines;
determining a performance statistic corresponding to the plurality of processor cores; and
reducing, in response to detecting that the performance statistic passes a threshold, a number of the plurality of processor cores that are assigned to process the one or more tasks and the one or more interrupt service routines by transitioning from a multi-core configuration to a single-core configuration.

US Pat. No. 10,459,758

METHOD TO SET UP AND TEAR DOWN CLOUD ENVIRONMENTS BASED ON A SCHEDULE OBTAINED FROM ONE OR MORE HOSTED CALENDARS

CITRIX SYSTEMS, INC., Fo...

1. A method for calendar-based cloud deployment, comprising:receiving, by a deployment scheduler operated by a device, authentication information for a user of a calendar service;
retrieving, by the deployment scheduler from the calendar service, calendar information for the user, using the received authentication information;
identifying, by the deployment scheduler in the retrieved calendar information, a first calendar event indicating a period in which a deployable resource is to be accessible to the user via a computing device;
determining, by the deployment scheduler, that the first calendar event corresponds with a present time or location of the user;
responsive to the determination that the first calendar event corresponds with the present time or location of the user, transmitting a request to a deployment engine to take a deployment action for the deployable resource, the resource deployed responsive to receipt of the request to take the deployment action;
identifying, by the deployment scheduler, a second calendar event indicating a period in which the deployed resource is to be inaccessible to the user;
determining, by the deployment scheduler, that the second calendar event corresponds with a second present time or location of the user; and
responsive to the determination that the second calendar event corresponds with the second present time or location of the user, transmitting a request to the deployment engine to take an undeployment action for the deployed resource.

US Pat. No. 10,459,757

PRESCRIPTIVE CLOUD COMPUTING RESOURCE SIZING BASED ON MULTI-STREAM DATA SOURCES

ACCENTURE GLOBAL SOLUTION...

13. A method including:at network interface circuitry:
receiving historical utilization data for a selected virtual machine;
receiving tagging data for the selected virtual machine; and
receiving computer resource configuration data;
at sizing circuitry in data communication with the network interface circuitry, the sizing circuitry executing a compute sizing correction (CSC) stack:
obtaining, via an input layer of the CSC stack, the historical utilization data;
processing, at the input layer, the historical utilization data to generate cleansed utilization data, the cleansed utilization data comprising a network utilization metric, a memory utilization metric, and a processor utilization metric;
storing, at a data staging layer of the CSC stack, the cleansed utilization data and the tagging data of the selected virtual machine;
determining, at a configuration layer of the CSC stack, a compute utilization sizing criterion comprising logic to determine to a CSC trajectory based on the network utilization metric, the memory utilization metric, and the processor utilization metric; and
determining, at the configuration layer, a resource transition criteria;
storing, at the data staging layer, the compute utilization sizing criterion and the resource transition criteria;
at a prescriptive engine layer of the CSC stack:
accessing the cleansed utilization data and the compute utilization sizing criterion via a memory resource provided by the data staging layer;
based on the network utilization metric, the memory utilization metric, the processor utilization metric and the compute utilization sizing criterion, determining the CSC trajectory for the selected virtual machine in response to satisfaction of a first condition, satisfaction of a second condition, and satisfaction of a third condition, the first condition being based on a processor utilization measurement, the second condition being based on a memory utilization measurement, and the third condition being based on a network utilization measurement;
accessing the tagged data of the selected virtual machine and the resource transition criteria;
based on the tagging data of the selected virtual machine and the resource transition criteria, select, at the prescriptive engine layer, a resource configuration from the resource configurations;
based on to the CSC trajectory and the selected resource configurations, determining a CSC adjustment for the selected virtual machine; and
based on the CSC adjustment, generating a CSC token; and
sending, via network interface circuitry, the CSC token to a host interface configured to control requisition for at least the selected virtual machine.

US Pat. No. 10,459,755

SERVICE MANIFESTS

Amazon Technologies, Inc....

1. A system for managing a virtual machine network comprising:a manager component including one or more processors and one or more memories, the one or more memories including specific computer-executable instructions that upon execution by the one or more processors, cause the manager component to at least:
obtain virtual machine instantiation information including default configuration information and permission information, wherein the default configuration information and the permission information are associated with instantiating virtual machine instances, wherein the default configuration information includes a mandatory portion and a negotiable portion, and wherein individual computing devices can customize the virtual machine instantiation information to request instantiation of a virtual machine instance;
receive, from a computing device, a request to instantiate a virtual machine instance, the request associated with virtual machine instantiation information customized by the computing device; and
instruct a host computing system of the virtual machine network to instantiate the virtual machine instance based at least in part on the virtual machine instantiation information customized by the computing device.

US Pat. No. 10,459,754

METHOD, APPARATUS, AND SYSTEM FOR DISCOVERING APPLICATION TOPOLOGY RELATIONSHIP

HUAWEI TECHNOLOGIES CO., ...

1. A method for discovering an application topology relationship between virtual machines, wherein the method comprises:sending, by a first virtual machine on a first host via a first virtual network interface card (NIC), a plurality of packets to a first virtual switch by calling an input application programming interface (API) function of a virtual machine monitor (VMM);
recording at the first host first sets of API calling information, wherein each first set of API calling information corresponds to one API call and comprises an identifier of the first virtual machine, an occurrence time of the API call, and a packet flow direction of the API call;
receiving, by a second virtual machine on a second host via a second virtual network interface card (NIC), a plurality of packets from a second virtual switch;
recording at the second host second sets of API calling information, wherein each second set of API calling information corresponds to one API call and comprises an identifier of the second virtual machine, an occurrence time of the API call, and a packet flow direction of the API call;
analyzing, by a topology discovery server, recorded sets of API calling information to identify that the recorded sets of API calling information meet a first condition, wherein the recorded sets of API calling information meet the first condition when a packet flow direction in a first set of API calling information and a packet flow direction in a second set of API calling information are mutually opposite, and a difference between an occurrence time of an API call in the first set of API calling information and an occurrence time of an API call in the second set of API calling information satisfies a first threshold;
determining, by the topology discovery server, that an interaction frequency of the first virtual machine indicated by the first sets API calling information and the second virtual machine indicated by the second sets API calling information meets a second condition;
determining, by the topology discovery server, that an application topology relationship exists between the first virtual machine and the second virtual machine based on the first and second conditions being met; and
migrating the first virtual machine and the second virtual machine together into a network covered by a same switch based on the application topology relationship.

US Pat. No. 10,459,753

SYSTEM AND METHOD FOR AGENT BASED CENTRALIZED AND EFFICIENT TRANSACTION RECORDINGS FOR SERVICE VIRTUALIZATION

COGNIZANT TECHNOLOGY SOLU...

1. A system for agent based transaction recordings for service virtualization, the system comprising:a proxy manager configured to receive a request from one or more proxy agents for registration, and wherein the proxy manager is further configured to perform functions comprising session management, audit services, monitoring services, data congregation services, data reconciliation services and managing licenses;
multiple smartstub clients configured to provide one or more options for:
selecting one or more proxy agents from a list of registered proxy agents; and receiving service information, wherein the received service information facilitates connection of the one or more selected proxy agents with multiple service endpoints and corresponding consumer applications; and
the one or more selected proxy agents configured to:
simultaneously record multiple service transactions between the multiple service endpoints and the corresponding consumer applications, wherein each of the service transactions are performed using different protocol types associated with the multiple service end-points; and
forward the multiple recorded service transactions to the proxy manager, wherein the proxy manager provides the recorded service transactions to the multiple smartstub clients for service virtualization.

US Pat. No. 10,459,752

HYBRID REMOTE DESKTOP LOGON

VMware, Inc., Palo Alto,...

1. A computer-implemented method of logging on to a system using domain credentials and local user account information, comprising:initiating a domain logon session using the domain credentials;
generating a local user identity based on at least the local user account information, wherein the local user account information includes (i) a username associated with an available unauthenticated account, or (ii) a username associated with an available unauthenticated account and password combination;
generating a token which includes the generated local user identity and data associated with the initiated domain logon session; and
logging on to the system using the generated token.

US Pat. No. 10,459,751

VARYING FIRMWARE FOR VIRTUALIZED DEVICE

ATI TECHNOLOGIES ULC., M...

1. A method for executing a first firmware and a second firmware differing from the first firmware on a virtualized device, the method comprising:detecting a virtualization context switch for the virtualized device from a current function to a subsequent function, wherein the virtualization context switch comprises a switch from performing work for a first virtual machine to performing work for a second virtual machine, wherein the work for the first virtual machine is performed with the first firmware, wherein the work for the second virtual machine is performed with the second firmware, wherein the first virtual machine is associated with the current function, and wherein the second virtual machine is associated with the subsequent function;
in response to the virtualization context switch, stopping the first firmware on the virtualized device for the current function; and
in response to the virtualization context switch, causing the virtualized device to execute the second firmware for the subsequent function, wherein the current function is different than the subsequent function, the first virtual machine is different than the second virtual machine, and the work performed for the first virtual machine is different than the work performed for the second virtual machine.

US Pat. No. 10,459,750

TENANT-CONTROLLED CLOUD APPARATUS

MICROSOFT TECHNOLOGY LICE...

1. A system for providing tenant-control in a cloud update, comprising:one or more host machines operating within a cloud computing service, each host machine hosting one or more virtual machines, wherein customers of the cloud computing service are tenants of the one or more host machines;
a processing unit; and
a memory including instructions, which when executed by the processing unit provide:
a tenant control engine including:
a communication module, operable to receive preferences from customers for scheduling a cloud update of one or more of the host machines;
a scheduling module, operable to create a schedule for the cloud update using the received preferences without violating an update constraint that restricts a first host machine from being offline while a second host machine is offline when a tenant has instances of virtual machines hosted by both the first host machine and the second host machine;
a domain manager, operable to control when the host machines are taken offline to perform the cloud update per the created schedule; and
a migration module, operable to migrate an instance of a virtual machine hosted by a given host machine to a different host machine to resolve conflicts between the received preferences of a first customer and a second customer on the given host machine.

US Pat. No. 10,459,749

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

Zerto Ltd., Herzilya (IL...

10. A method of providing data services within a hypervisor virtual server system, comprising:intercepting, by a tapping driver having visibility to I/O requests of an I/O data path, the I/O requests from at least one of a plurality of virtual servers to at least one of a plurality of virtual disks via the I/O data path;
sending, by the tapping driver, the intercepted I/O requests to a virtual data services appliance that resides outside the I/O data path, provides hypervisor data services via one or more data services engines based on the intercepted I/O requests asynchronously to processing of the I/O requests in the I/O data path, and is in communication with a data analyzer that determines a data state indicating a state of one virtual server of the plurality of virtual servers that made at least one of the intercepted I/O requests based on content of the intercepted I/O requests; and
causing, by the tapping driver, the I/O request to be forwarded along the I/O data path and separately causes the intercepted I/O requests to be forwarded to the virtual data services appliance.

US Pat. No. 10,459,748

TRANSPARENT GUEST BASED NOTIFICATION OVERLAY

1. A method for controlling by a hypervisor, a display of information on a client, comprising:connecting a virtual graphics card to a virtual machine;
causing the display of a display content without an overlay at the client, the display content comprising a first portion and a second portion;
receiving a render request from the virtual graphics card;
responsive to receiving the render request, drawing the overlay at the first portion of the display content;
sending the display content comprising the overlay and an overlay command to the client, the overlay command preventing the client from displaying the second portion of the display content without the overlay and containing instructions indicating a location where the overlay is to be displayed at the client;
causing the display of the overlay at the location along with the second portion of the display content at the client without input from the client;
detecting an input event affecting the overlay;
responsive to detecting the input event and based on a type of the input event, determining whether or not the client is deemed cooperative;
based on the determination of whether or not the client is deemed cooperative, determining which of the hypervisor or the virtual machine should update the client; and
updating the client, wherein the client is updated with the virtual machine if the client is deemed cooperative, and wherein the client is updated with the hypervisor if the client is not deemed cooperative.

US Pat. No. 10,459,747

EXITLESS TIMER ACCESS FOR VIRTUAL MACHINES

1. A method of scheduling timer access, the method comprising:executing, by a first physical processor with a first physical timer, a first guest virtual machine;
designating, by a hypervisor, a second physical processor as a control processor with a second physical timer as a control timer;
sending, to the second physical processor, an interval time that is a specific time duration provided to the second physical timer;
granting, to the first guest virtual machine, access to the first physical timer, such that the first guest virtual machine performs computing functions while using the first physical timer while the second physical timer is simultaneously serving as the control timer;
while the first guest virtual machine has access to the first physical timer, detecting that the interval time expired on the second physical timer; and
responsive to detecting that the interval time expired, sending an inter-processor interrupt from the second physical processor to the first physical processor, such that the inter-processor interrupt triggers the first guest virtual machine to exit to the hypervisor.

US Pat. No. 10,459,746

RESUMING A PAUSED VIRTUAL MACHINE

Red Hat Israel, Ltd., Ra...

1. A method comprising:sending, by a processing device, a first ping to a first storage domain;
determining whether a first response to the first ping has been received from the first storage domain within a first amount of time;
in response to determining that the first response to the first ping has not been received from the first storage domain within the first amount of time, determining that the first storage domain is inaccessible;
pausing a subset of a set of virtual machines in response to determining that the first storage domain is inaccessible;
recording that the subset of the set of virtual machines has been paused in response to determining that the first storage domain is inaccessible;
sending a second ping to the first storage domain;
determining whether a second response to the second ping has been received from the first storage domain within a second amount of time, wherein the second amount of time is different than the first amount of time;
in response to determining that the second response to the second ping has been received from the first storage domain within the second amount of time, determining that the first storage domain is accessible;
determining, by the processing device, the set of virtual machines that are paused and are associated with the first storage domain;
determining the subset of the set of virtual machines that are not associated with a second inaccessible storage domain;
determining whether each of the subset of the set of virtual machines was paused in response to the first storage domain being inaccessible; and
resuming each of the subset of the set of virtual machines that were paused in response to the first storage domain being inaccessible.

US Pat. No. 10,459,745

APPLICATION HELP FUNCTIONALITY INCLUDING SUGGESTED SEARCH

Business Objects Software...

1. A computer-implemented method comprising:an in-memory database engine receiving a first interaction between a first user device having a first form factor and a software application;
the in-memory database engine storing in an in-memory database remote from the first user device, context data of the first interaction, the context data comprising a linkage between a page and a room of a workflow, with another page and another room of a different step of the workflow;
the in-memory database engine processing the first interaction according to the context data to formulate a query;
the in-memory database engine expressing the query as a suggested question in a panel embedded in an interface of a second user device remote from the first user device and from the in-memory database;
the in-memory database engine posing the query to a plurality of data sources based on the linkage, in response to the user selecting the suggested question;
the in-memory database engine collecting help information from one of the plurality of data sources in response to the query;
the in-memory database engine storing the help information;
the in-memory database engine weighting the help information based upon data source provenance, wherein a first weight of an official help source is greater than a second weight of an unofficial help source which is greater than a third weight of a raw internet search result;
the in-memory database engine displaying the help information in the panel according to the weighting; and
the in-memory database engine causing the help information to be displayed on a different device having a second form factor different from the first form factor, the in-memory database engine referencing a registry storing the first form factor to cause the help information to be displayed on the different device, the registry further storing the context data indicating creation of a new workflow.

US Pat. No. 10,459,744

INTERACTIVE HOTSPOT HIGHLIGHTING USER INTERFACE ELEMENT

Business Objects Software...

1. A computer-implemented method comprising:an in-memory database engine receiving a first interaction between a first device having a first form factor of a user, and a software application;
the in-memory database engine storing in an in-memory database, context data reflecting the first interaction, the context data comprising a linkage between a page and a room of a workflow, with another page and another room of a different step of the workflow;
the in-memory database engine determining an experience level of the user based upon the context data;
the in-memory database engine storing the experience level with the context data in the in-memory database;
the in-memory database engine processing the context data to generate an interface including a hotspot of a user interface element of the software application and associated help information;
in response to a second interaction between the user and the hotspot, the in-memory database engine providing the help information based upon the experience level in a panel embedded in the interface;
the in-memory database engine formulating a query based upon the context data;
the in-memory database engine collecting the help information from one of a plurality of data sources based upon a query result and the linkage; and
the in-memory database engine causing the help information to be displayed on a second device having a second form factor different from the first form factor, the in-memory database engine referencing a registry storing the first form factor to cause the help information to be displayed on the different device, the registry further storing the context data indicating interaction only with existing workflows.

US Pat. No. 10,459,743

NETWORK ISOLATION IN VIRTUAL DESKTOP INFRASTRUCTURE

VMware, Inc., Palo Alto,...

1. A method for isolating a connection between a client machine and a remote desktop application, the method comprising:providing the connection between the client machine and the remote desktop application to exchange remote desktop protocol data by using a first virtual network interface card (VNIC) on a virtual machine (VM),
wherein the VM is configured to execute the remote desktop application and one or more other applications, the remote desktop application providing a virtual desktop to the client machine, and
wherein the first VNIC is exclusively accessible by the remote desktop application and inaccessible to the one or more other applications; and
providing another connection between a remote server and one of the one or more other applications using a second VNIC on the VM, in response to the remote desktop application receiving an indication from the virtual desktop to execute the one application.

US Pat. No. 10,459,742

SYSTEM AND METHOD FOR OPERATING SYSTEM INITIATED FIRMWARE UPDATE VIA UEFI APPLICATIONS

Dell Products, LP, Round...

8. A method comprising:receiving a firmware update for a component of the information handling system;
storing the firmware update in a location of a memory of the information handling system;
updating, by a central processor of an information handling system while in an operating system runtime, the location of the firmware update in the memory via a unified extensible firmware interface (UEFI) runtime service, the central processor operable in a pre-boot mode and in the operating system runtime mode, wherein the location is stored as a UEFI variable; and
triggering, by the central processor via the UEFI runtime service, a firmware update for the component by a boot option number being set in UEFI BootNext variable.

US Pat. No. 10,459,741

AUTOMATIC LOAD BALANCING FOR RESOURCE ALLOCATIONS

Facebook, Inc., Menlo Pa...

1. A computer-implemented method, comprising:determining an available-housing set for representing available server racks with open locations for housing servers by identifying a number of the available server racks designated for one or more suites, one or more data centers, or a combination thereof;
determining an opening layout for representing the open locations available to house the servers by identifying a map of the open locations in the one or more suites, the one or more data centers, or the combination thereof;
determining a rack characterization for representing one or more constraints associated with each of the available server racks, wherein the rack characterization comprises at least a power capacity and a cooling capacity for the available server racks;
determining a resource characterization for representing one or more traits associated with each of the servers, wherein the resource characterization comprises at least an energy parameter and a thermal parameter; and
generating with one or more processors designated locations for placing the servers in the open locations, wherein:
the designated locations are generated based on analyzing an evaluation set for representing multiple possible allocation combinations of the servers into the open locations, and
the designated locations are generated based on analyzing allocation or placement of the servers into the open locations as an optimization function.

US Pat. No. 10,459,740

SYSTEM AND METHOD TO ESTABLISH CURRENT SETPOINT FOR ULTRASONIC TRANSDUCER

Ethicon LLC, Guaynabo, P...

1. An apparatus comprising:(a) a reprogramming device comprising an instrument receptacle;
(b) a surgical instrument comprising an end effector, a generator connection and a memory, wherein the generator connection is configured to be connected to the instrument receptacle, wherein the memory is configured to store an original current value; and
(c) a test tip configured to be connected to the end effector;
wherein the reprogramming device is configured to:
(i) receive a set of phase margin data during a diagnostic operation of the surgical instrument with the test tip,
(ii) determine an original phase margin value based on the original current value using a phase margin equation, and
(iii) determine a displacement value based on the original phase margin value and a current phase margin value of the set of phase margin data using a transfer function,
(iv) determine a new current value based upon the original current value and the displacement value, and
(v) write the new current value to the memory of the surgical instrument, wherein the new current value is configured to be used by the surgical instrument to account for the displacement value during operation.

US Pat. No. 10,459,739

SYSTEMS AND METHODS FOR CONFIGURING AND PROFILING A DIGITAL MEDIA DEVICE

Sonos Inc., Santa Barbar...

15. A non-transitory computer-readable medium having stored thereon instructions for configuring and profiling a digital media device, wherein the instructions, when executed by a processor, cause a communication device to perform functions comprising:receiving from the digital media device, via a network, an indication of user interaction with the digital media device by a plurality of unidentified users, wherein the digital media device is configured to play music in one or more demonstrations at the retail location and control audible output of the music by one or more other digital media devices comprising audio playback devices wirelessly connected to the digital media device at the retail location, and wherein the digital media device is offered for sale to the plurality of unidentified users;
generating a digital media device profile based, at least in part, on the received indication of the user interaction with the digital media device by the plurality of unidentified users associated with demonstration of music playback via the digital media device, the digital media device profile including information regarding (i) a music download service accessed by the plurality of unidentified users (ii) one or more control settings for controlling the audible output of the music by the one or more other audio playback devices and (iii) one or more music settings set by the plurality of unidentified users for playing the music on the digital media device, the digital media device profile corresponding to a configuration of the digital media device that facilitates use of the digital media device by the plurality of unidentified users; and
sending to the digital media device, via the network, configuration data to automatically re-configure the digital media device at the retail location with the configuration that facilitates the use of the digital media device by the plurality of unidentified users, the digital media device being reconfigured based on the configuration data provided from the generated digital media device profile, the automatic reconfiguration of the digital media device triggered in response to the generating of the digital media device profile and not triggered in response to a user request, wherein the reconfiguration changes one or more of the music download service, control settings, and music settings of the digital media device
re-configuring three different groups of digital media devices at the retail location based on three different sets of profile data;
determining that a given group of the three different groups receives more sales at the retail location; and
based on determining that the given group received more sales at the retail location, automatically sending to the digital media device, via the network, other configuration data based on the profile data of the given group, wherein the other configuration data causes the digital media device to change one or more of the music download service, control settings, and music settings of the digital media device such that the digital media device plays back audio based on the other configuration data.

US Pat. No. 10,459,738

ELECTRONIC APPARATUS FOR CONTROLLING A POWER STATE OF AN EXTERNAL APPARATUS AND METHOD THEREOF

SAMSUNG ELECTRONICS CO., ...

1. An electronic apparatus comprising:a wireless communicator configured to communicate with a remote controller;
a wired communicator connected to an external input device; and
a processor configured to:
in response to receiving a signal for turning off power of the electronic apparatus from the remote controller:
change a power state of the electronic apparatus and a main processor of the processor;
determine by a sub-processor of the processor, a power state of the external input device; and
control the wireless communicator to transmit a control signal for turning off power of the connected external input device to the remote controller in response to the determined power state of the external input device being inconsistent with the power state of the electronic apparatus,
wherein the remote controller transmits a signal for turning off the external input device in response to the control signal.

US Pat. No. 10,459,737

WAKING AND SLEEPING A DISPLAY AMONG A PLURALITY OF DISPLAYS USING GESTURES

Intel Corporation, Santa...

1. An apparatus comprising:one or more processors;
a plurality of displays communicatively coupled to the one or more processors to display images; and
a device display manager (DDM) communicatively coupled to the one or more processors to:
receive an identification of a gesture made on a first of the plurality of displays; and
cause a second of the plurality of displays to enter a sleep state or an awake state based at least in part on the identified gesture and a current state of the second display, the first and second displays being different displays;
wherein if the identified gesture indicates to an application to no longer display an image on the second display and a current state of the second display being the awake state, then the DDM is to cause the second display to enter the sleep state.

US Pat. No. 10,459,736

ELECTRONIC DEVICE AND HALF-SUSPEND CONTROLLING METHOD APPLIED THEREIN

Chiun Mai Communication S...

1. An electronic device capable of running several application programs, the electronic device comprising:a plurality of electronic elements activated when the electronic device is in a normal-use status;
a display configured to display a present application program in a first brightness; and
a processor configured to establish a half-suspend list, the half-suspend list comprising at least one application program;
wherein when the electronic device in the normal-use status receives no user input for a predetermined idle time period, the processor determines whether the present application program is in the half-suspend list;
wherein if the present application program is in the half-suspend list, the processor controls the electronic device to enter a half-suspend status and keep running the present application program, and the display displays the present application program in a second brightness; and
wherein the second brightness is less bright than the first brightness, and the electronic elements are partially kept activated in the half-suspend status.

US Pat. No. 10,459,735

SCALABLE BOOT OPTIONS FOR A PROCESSOR/CONTROLLER

TEXAS INSTRUMENTS INCORPO...

1. A method comprising:determining whether a boot pin configuration for a virtual pin has been programmed by determining whether a boot pin configuration key in a boot pin configuration table is valid, wherein the virtual pin is mapped to a physical pin;
responsive to determining that the boot pin configuration for the virtual pin has been programmed, performing a boot method indicated in a user-defined boot table; and
responsive to determining that the boot pin configuration for the virtual pin has not been programmed, performing a boot method selected from a factory-defined boot table.

US Pat. No. 10,459,734

REGISTRY MANAGEMENT SYSTEM AND METHOD

EMC IP Holding Company LL...

1. A computer-implemented method, executed on a computing device, comprising:defining a registry file for a data storage system;
executing a boot operation mode on the data storage system, wherein the boot operation mode is executed during initialization of the data storage system;
processing the registry file during the boot operation mode;
modifying the registry file to define one or more registry modifications while in the boot operation mode in response to an error occurring during the boot operation mode, wherein the one or more registry modifications includes, at least in part, identifying a new location of a configuration file, wherein if the new location of the configuration file is known, the one or more registry modifications is accomplished automatically, and wherein if the new location of the configuration file is not known then the one or more registry modifications is accomplished manually;
executing the normal operation mode on the data storage system in response to no errors occurring while processing the registry file during the boot operation mode; and
processing the registry file during the normal operation mode, wherein processing the registry file during the normal operation mode includes generating a snapshot of at least one of a data array, driver, application program interface, and configuration file within the data storage system.

US Pat. No. 10,459,733

POWER BUDGETING IN AN INFORMATION HANDLING SYSTEM

Dell Products, LP, Round...

8. A server ecosystem, comprising:a hardware processor; and
a memory device accessible to the hardware processor, the memory device storing instructions that when executed cause the hardware processor to perform operations including:
granting a request from a baseboard management controller for an electrical power associated with a boot-up operation that executes a power on self-test;
receiving a subsequent request from the baseboard management controller for a run time operation at which an operating system is executed;
predicting a run time value of the electrical power needed by the baseboard management controller for the run time operation;
determining the run time value of the electrical power needed by the baseboard management controller for the run time operation exceeds an available electrical power that is available from a power supply unit; and
sending a denial that causes the baseboard management controller to execute a halt event, the halt event preventing the baseboard management controller from transitioning from the boot up procedure to the run time operation at which the operating system is executed.

US Pat. No. 10,459,732

METHOD FOR OPERATING A SYSTEM ON CHIP COMPRISING A BOOTABLE PROCESSOR TO PROVIDE PROTECTION OF CONFIDENTIAL INFORMATION ON THE SYSTEM ON CHIP

Siemens Aktiengesellschaf...

1. A method of operating a system on chip comprising a bootable processor, the method comprising:executing a bootloader and measuring electrical power consumed by the bootable processor during booting to derive unique power characteristic data;
verifying the unique power characteristic data; and
reconstructing a device key from the unique power characteristic data and helper data derived during an enrollment of the system on chip initiated by a developer or manufacturer of the system on chip;
wherein if the unique power characteristic data is valid:
decrypting software with the device key, said software being previously encrypted with the device key and stored in memory; and
executing the decrypted software;
wherein if the unique power characteristic data is invalid:
determine a falsification has occurred and resetting the processor.

US Pat. No. 10,459,731

SLIDING WINDOW OPERATION

QUALCOMM Incorporated, S...

11. A method comprising:storing a sequence of input data elements in a first register, wherein the sequence of input data elements includes first input data elements stored in a first register portion of the first register and second input data elements stored in a second register portion of the first register;
shifting the input data elements of the first register by a number of bits equal to a width of the first register portion of the first register to generate shifted data elements;
storing the shifted data elements in a second register, wherein the shifted data elements include first shifted data elements stored in a first register portion of a second register, wherein a width of the first register portion of the second register is equal to a width of the first register portion of the first register; and
performing, after shifting the input data elements, a sliding window operation on the first input data elements in the first register portion of the first register and the first shifted data elements in the first register portion of the second register using a first lane of a single-instruction-multiple-data (SIMD) processing circuit, the first lane having a lane width equal to the width of the first register portion of the first register, wherein performing the sliding window operation includes determining a result based on a first input data element stored in a first position of the first register portion of the first register and a first shifted data element stored in a second position of the first register portion of the second register, the second position of the first register portion of the second register having a different position than the first position of the first register portion of the first register.

US Pat. No. 10,459,730

ANALYSIS SYSTEM AND ANALYSIS METHOD FOR EXECUTING ANALYSIS PROCESS WITH AT LEAST PORTIONS OF TIME SERIES DATA AND ANALYSIS DATA AS INPUT DATA

Hitachi, Ltd., Tokyo (JP...

1. An analysis system configured to execute an analysis process using, as input data, at least portions of time-series data of a plurality of pieces of value data each including a time point and a value and analysis data including data output by a past analysis process, the analysis system comprising:an interface unit that includes one or more interfaces coupled to one or more user interface apparatuses;
a storage unit that includes one or more memories in which a plurality of programs are stored; and
a processor unit that is coupled to the interface unit and the storage unit and includes one or more processors that execute at least one of the plurality of programs, wherein
the processor unit is configured to execute an analysis process in accordance with an analysis chain of a graph structure in which each of one or more objects correlated with an analysis target range is used as a node,
each of the one or more objects is a process definition corresponding to a user operation of a user of a target user interface apparatus among the one or more user interface apparatuses,
in the analysis process, the processor unit is configured to execute a redundancy elimination process, and
the redundancy elimination process is at least one of (A) to (C) below:
(A) executing a process conforming to an object, among the one or more objects, which does not match any of one or more past objects, without executing a process conforming to an object which matches any of the one or more past objects;
(B) executing a process conforming to an object correlated with the analysis target range with respect to a range block and a processing content, among a plurality of range blocks that form the analysis target range, which do not match a range block and a processing content correlated with any of stored data blocks, without executing a process conforming to an object correlated with the analysis target range with respect to a range block and a processing content which match the range block and the processing content correlated with any of the stored data blocks, and storing a data block output as the result of the process; and
(C) storing a data block, among a plurality of data blocks that form output data which is data output as an execution result of the process conforming to the object, which does not match any of the stored data blocks, without storing a data block which matches any of the stored data blocks.

US Pat. No. 10,459,729

MAP TABLES FOR HARDWARE TABLES

Hewlett Packard Enterpris...

1. A system comprising:a logical table interface engine to receive a maintenance request regarding a flow pipeline of a network element;
a map engine to maintain an entry of a first hardware table based on an action of the maintenance request associated with a logical flow table, the first hardware table designated for a map table, wherein the entry is to comprise:
a table reference to a second hardware table; and
table information related to the logical flow table, the table information comprising a table class and a table size; and
a hardware table engine to maintain the second hardware table of the network element based on the entry in the first hardware table, the second hardware table having a set of attributes including the table information.

US Pat. No. 10,459,728

APPARATUS AND METHOD OF IMPROVED INSERT INSTRUCTIONS

Intel Corporation, Santa...

1. A processor comprising:a plurality of vector registers including a source vector register and a destination vector register;
instruction decode circuitry to decode an insert instruction, the insert instruction including a vector extension component and an immediate, the vector extension component comprising:
a first byte field to indicate a format of the insert instruction,
a second byte field to identify one or more subsets of the plurality of vector registers, the one or more subsets including the source vector register and the destination vector register, and to identify a corresponding opcode map for the insert instruction, and
a third byte field to indicate a packed data element length and to specify a portion of an opcode encoding corresponding to the insert instruction; and
an execution circuit to perform operations specified by the insert instruction, wherein following the instruction decode circuitry decoding the insert instruction, the execution circuit is to read 128 bits of data from the source vector register and insert the 128 bits of data into a specified position in the destination vector register,
wherein the specified position in which to insert the 128 bits of data is selected based on the immediate.

US Pat. No. 10,459,727

LOOP CODE PROCESSOR OPTIMIZATIONS

Microsoft Technology Lice...

1. A method comprising:detecting, within a processor, a code loop that includes one or more zero-optimizable instructions;
generating, based on a first condition that a first input has a value of zero and is stored in a cache line that includes at least one non-zero value, a first optimized code corresponding to the code loop; and
generating, based on a second condition that a second input has a value of zero and is clustered with other zero values in a cache line, a second optimized code corresponding to the code loop.

US Pat. No. 10,459,726

SYSTEM AND METHOD FOR STORE FUSION

ADVANCED MICRO DEVICES, I...

1. A method for fusing store micro-operations, the method comprising:determining whether adjacent micro-operations are consecutive store micro-operations, wherein the micro-operations are adjacent micro-operations if they flow through adjacent dispatch slots and adjacent micro-operations are consecutive store micro-operations if both of the adjacent micro-operations are store micro-operations;
if the adjacent micro-operations are consecutive store micro-operations:
determining whether the consecutive store micro-operations have a same data size;
determining whether the consecutive store micro-operations are accessing consecutive addresses; and
if the consecutive store micro-operations have the same data size and are accessing consecutive addresses, fusing the consecutive store micro-operations into a store micro-operation with twice the data size and a store data only micro-operation, wherein the store data only micro-operation suppresses a store queue and an address generation scheduler queue.

US Pat. No. 10,459,724

MEMORY DEVICE, AND DATA PROCESSING METHOD BASED ON MULTI-LAYER RRAM CROSSBAR ARRAY

HUAWEI TECHNOLOGIES CO., ...

1. A data processing apparatus comprising:a control bus; and
multiple memory units connected by the control bus, each of the multiple memory units comprising a control circuit and a computation circuit,
wherein the computation circuit comprises a first resistive random access memory (RRAM) crossbar array and a format conversion circuit, the first RRAM crossbar array having multiple rows and multiple columns of memory cells, multiple word lines connected to respective rows of memory cells, and a plurality of comparator circuits each connected to a corresponding column of the first RRAM crossbar array, wherein the comparator circuits are set to have incremental thresholds, and outputs of the comparator circuits are connected to the format conversion circuit;
wherein the control circuit is connected to the control bus and configured to:
receive a computation instruction for performing a vector multiplication of vector A and vector B;
setting the memory cells in the first RRAM crossbar array such that states of memory cells of each column of the first RRAM crossbar array correspond to elements of vector B;
setting the word lines of the first RRAM crossbar array according to elements of vector A;
wherein the outputs of the comparator circuits are voltage signals corresponding to a first binary number in which a number of bits with a value 1 indicates a numerical result of multiplication of vector A and vector B;
the format conversion circuit being set up to convert the outputs of the comparator circuits into an output corresponding to a second binary number having a numerical value equal to the numerical result of multiplication of vector A and vector B.

US Pat. No. 10,459,723

SIMD INSTRUCTIONS FOR MULTI-STAGE CUBE NETWORKS

QUALCOMM Incorporated, S...

1. A method of performing a data movement operation, the method comprising:receiving a first single instruction multiple data (SIMD) instruction comprising a first input data vector having a number N of two or more data elements in corresponding N SIMD lanes and a control vector having N control elements in the corresponding N SIMD lanes;
controlling at least one movement element of two or more movement elements of a first multi-stage cube network using at least one control element of the control vector, wherein the controlling comprises selecting between one of two data elements of the first input data vector based only on bits of the at least one control element and passing the selected data element to one or more successive stages depending on a configuration of the movement element wherein the configuration of the movement element may pass the selected data element to one successive stage and may replicate the selected data element and pass the replicated element to at least two successive stages, wherein the first multi-stage cube network comprises two or more stages of movement with the two or more movement elements comprising one movement element per SIMD lane, per stage; and
moving the two or more data elements of the first input data vector across the two or more stages based on the controlling the two or more movement elements to generate a first output data vector.

US Pat. No. 10,459,722

DEVICE, SYSTEM, AND METHOD FOR SECURE SUPERVISOR SYSTEM CALLS

Wind River Systems, Inc.,...

1. A method for processing a request for allocation of a resource of an electronic device, comprising:at a hypervisor of the electronic device:
(a) receiving a call from a first application of the electronic device, the call indicating the request for allocation of the resource of the electronic device;
(b) determining whether the first application is authorized to receive the resource of the electronic device by:
determining whether the call includes a signature, wherein the signature is received by the first application from a second application, and
when the call includes the signature, determining whether the signature is valid based upon a predetermined signature operation, wherein the predetermined signature operation is provided to the second application when the second application has been indicated as trusted, wherein the second application has been indicated as trusted based upon at least one of an installation procedure and a manual indication;
when the call does not include the signature, determining an identity of the first application and the second application, wherein the call includes the identity of the first application and the second application; and
determining whether the identity of the first application and the second application corresponds to an authorized application;
(c) processing the request for the allocation of the resource when the first application is determined by step (b) to be authorized.

US Pat. No. 10,459,721

APPLICATION SYSTEM FOR MULTIUSER CREATING AND EDITING OF APPLICATIONS

Umajin Inc., Woburn, MA ...

1. A system for creating, sharing and managing applications, comprising:a processing system having one or more processors that execute computer-executable instructions that cause the processing system to:
provide an editor and runtime infrastructure that includes:
a visual editing environment that:
displays a page layout of a page of an application;
receives a first user input to add a visual element to the page layout;
displays the visual element in the page layout; and
receives a second user input to associate an action with the visual element, wherein the action causes a change of state of the application; and
a compiler that compiles and generates code based on the page layout, the first user input, and
the second user input such that the code causes a computing device executing the application to display the visual element in the page of the application and to perform the action in response to a selection of the visual element;
receive the code from the editor and runtime infrastructure; and
operate, by a code execution engine, on the code created in the visual editing environment to control execution of at least one hardware infrastructure element that enables the utilization of the application,
wherein the visual editing environment and the code execution engine provide for creation, delivery, and
editing of the application during runtime of the application on computing devices, such that a plurality of end users using different computing devices can simultaneously experience the same behavior of the application during its creation and editing, and
wherein the code execution engine governs execution of the code across a plurality of operating systems to provide a consistent user experience with the application.

US Pat. No. 10,459,720

COMPUTER-IMPLEMENTED TOOLS AND METHODS FOR EXTRACTING INFORMATION ABOUT THE STRUCTURE OF A LARGE COMPUTER SOFTWARE SYSTEM, EXPLORING ITS STRUCTURE, DISCOVERING PROBLEMS IN ITS DESIGN, AND ENABLING REFACTORING

Silverthread, Inc., Bost...

1. A computer-implemented method for analyzing structure of a software system executing on a computer system comprising a plurality of software components, the method performed by the computer system comprising the steps of:(a) determining which software component in the software system created each non-source file during its build process;
(b) determining which software component in the software system accessed which source file or non-source file during its build process, during testing, or during runtime;
(c) reporting information generated in steps (a) and (b); and
(d) identifying and reporting dependency errors by testing consistency between the information generated in steps (a) and (b) and information received by the computer system on the software components in the software system, the resources owned or controlled by each software component, and the resources each software component can make use of as declared by metadata in order to identify intended dependence relationships among the software components.

US Pat. No. 10,459,719

DISABLING A SCRIPT BASED ON INDICATIONS OF UNSUCCESSFUL EXECUTION OF THE SCRIPT

Capital One Services, LLC...

1. A method, comprising:receiving, by a device, a report associated with execution of a script by a first client device, wherein the report includes:
a script identifier that identifies the script, and
an indication of whether the script was successfully executed by the first client device;
determining, by the device, that a condition associated with execution of the script is satisfied based on:
the script identifier,
the indication of whether the script was successfully executed by the first client device, and
one or more indications, received from one or more other client devices, of whether the script was successfully executed by the one or more other client devices; causing, by the device, the script to be disabled for use by client devices based on determining that the condition is satisfied,
where causing the script to be disabled includes:
causing a data structure to be updated to indicate that the script is disabled based on determining that the condition is satisfied,
wherein the data structure is used to indicate, to the client devices, whether the script is enabled prior to execution of the script by the client devices;
receiving, by the device and from a second client device, a validation request associated with the script; and
transmitting, by the device and to the second client device, an indication that the script is disabled based on the data structure being updated to indicate that the script is disabled,
the indication causing the second client device to refrain from executing the script,
the client devices including the first client device, the second client device, and the one or more other client devices, and
wherein the data structure is updated to indicate that a new version of the script is enabled based on a request, from the first client device, to validate the new version of the script, and based on a determination that an indication of whether the new version is enabled is not already stored in the data structure.