Patent classifications
G06F11/1479
High availability and software upgrades in network software
Ensuring the high availability of a Passive Optical Network (PON). A broadband network architecture comprises (a) at least a portion of optical fiber in a communication path to individual subscriber premises, (b) one or more software-implemented Optical Line Terminal (OLT) Controllers, (c) one or more software-implemented Service Provisioning Applications (SPAs), and (d) one or more software-implemented Broadband Network Gateways (BNGs). Each of the one or more OLT Controllers, one or more SPAs, and one or more BNGs execute on Commercial Off-the-Shelf (COTS) computer systems and entirely upon a plurality of protection groups. Each of the plurality of protection groups consists of a plurality of pods. The pods in a particular protection group which are active are dynamically adjusted to ensure the high availability of the broadband network architecture.
Systems and methods for checking safety properties
In some embodiments, a system is provided, comprising enforcement hardware configured to execute, at run time, a state machine in parallel with application code. Executing the state machine may include maintaining metadata that corresponds to one or more state variables of the state machine; matching instructions in the application code to transitions in the state machine; and, in response to determining that an instruction in the application code does not match any transition from a current state of the state machine, causing an error handling routine to be executed. In some embodiments, a description of a state machine may be translated into at least one policy to be enforced at run time based on metadata labels associated with application code and/or data manipulated by the application code.
PREEMPTIBLE-BASED SCAFFOLD HOPPING
In a method of molecular scaffold hopping an interface of a scheduler computer sends instructions, prepared by the scheduler computer, to a job runner computer to perform a plurality of separate computational tasks. Each of the separate computational tasks includes calculating one or more chemical properties for a query molecule or molecules in a library of molecules. One or more of the plurality of separate computational tasks performed on the job runner computer are preemptible computing instances. Status indicators sent from the job runner computer are received by the interface for each of the plurality of separate computational tasks. The indicators are one of: incomplete, completed, or failed computing instances. The interface resends the instructions to the job runner computer that correspond to the separate computational tasks having the failed computing instance indicator to increase fault-tolerance against the separate computational tasks not attaining the completed computing instance indicator.
Staged release of updates with anomaly monitoring
Systems, devices, media, and methods are presented for releasing an application feature in incremental stages while monitoring the application for anomalies. The feature includes a package of code and an action setting. The methods in some implementations include identifying active devices on which the application has been installed, monitoring the application according to a set of metrics, activating the feature by changing its action setting for a first segment of the active devices, pausing the feature if an anomaly is detected among the set of metrics, and generating a repair ticket. As long as no anomaly is detected, the activating step proceeds for subsequent segments of the active devices, iteratively, until the release is completed. A feature rank may be used to process and release a plurality of features in order of priority.
METHOD FOR COMPUTER-ASSISTED OPERATION OF A MEMORY UNIT AND EXECUTION OF APPLICATION PROGRAMS WITH MEMORY CHECKING FOR MEMORY ERRORS
In a method for computer-assisted operation of a memory unit, encoded data is saved in the memory unit. The data is retrieved and decoded after retrieval. The memory unit is monitored for errors in that a temporal sequence of computer-assisted checking operations is carried out for the memory unit. For first-time encoding of the data, each required application data set is generated or selected, containing check data segments. For each application data set, the check data segment is occupied by count data, which characterizes the checking operation being implemented. After retrieving and decoding the application data sets, an error is determined when the count data characterizes neither the checking operation being implemented nor the most recent completely implemented checking operation. The check data segment of the relevant application data set is occupied by count data, which characterizes the checking operation being implemented, if no error was determined.
METHOD FOR COMPUTER-ASSISTED OPERATION OF A MEMORY UNIT AND EXECUTION OF APPLICATION PROGRAMS HAVING REDUNDANT DATA STORAGE
In a method for computer-assisted operation of a memory unit, data is saved in the memory unit and the data is encoded before saving, or data is retrieved from the memory unit and the data is decoded after retrieval. For first-time encoding of the data, at least one group of application data sets, containing data segments having identical application data for an application program and check data segments having different diversity characteristic data respectively, is generated or selected from a supply of possible diversity characteristic data. Each application data set is encoded and saved. The data is retrieved in that the application data sets are retrieved and decoded. Data is saved in that the application data sets are encoded and saved. Furthermore, a method for computer-assisted, repeated execution of an application program in redundant computing instances, a computer program product and a provision apparatus are disclosed.
MEMORY MANAGEMENT IN NON-VOLATILE MEMORY
A method for allocating memory in a computing device having a non-volatile main memory is described. The method comprises receiving, by a memory allocator, a request for non-volatile memory allocation of an object from a program executing on the computing device, the request comprising a requested memory size and registration data from the program. The method comprises finding an available address of one of a plurality of portions of a page of the non-volatile memory and searching an active page table in the non-volatile main memory to find the page and if the page is not found in the active page table: inserting the page into the active page table; and waiting for a memory write for inserting the page into the active page table to complete.
Systems and methods for fault tolerance recover during training of a model of a classifier using a distributed system
A distributed system for training a classifier is provided. The system comprises machine learning (ML) workers and a parameter server (PS). The PS is configured for parallel processing to provide the model to each of the ML workers, receive model updates from each of the ML workers, and iteratively update the model using each model update. The PS contains gradient datasets associated with a respective ML worker, for storing a model-update-identification (delta-M-ID) indicative of the computed model update and the respective model update, a global dataset that stores, the delta-M-ID, an identification of the ML worker (ML-worker-ID) that computed the model update, and a model version that marks a new model in PS that is computed from merging the model update with a previous model in PS; and a model download dataset that stores the ML-worker-ID and the model version of each transmitted model.
Memory management in non-volatile memory
A method for allocating memory in a computing device having a non-volatile main memory is described. The method comprises receiving, by a memory allocator, a request for non-volatile memory allocation of an object from a program executing on the computing device, the request comprising a requested memory size and registration data from the program. The method comprises finding an available address of one of a plurality of portions of a page of the non-volatile memory and searching an active page table in the non-volatile main memory to find the page and if the page is not found in the active page table: inserting the page into the active page table; and waiting for a memory write for inserting the page into the active page table to complete.
Automatically setting a dynamic restore policy in a native cloud environment
One example method includes identifying a group of microservices that form respective portions of an application, capturing any relations among microservices in the group of microservices, generating one or more restore policies for the application, based on identified relations among the microservices in the group of microservices, and configuring one of the restore policies so that such restore policy specifies restoring, together, a microservice that was identified as a partial cause of a problem, and any other microservices that are dependent on that microservice.