a

Thrust foil bearing

A thrust foil bearing includes a thrust member, and a foil member mounted to an end surface of the thrust member and having a thrust bearing surface that forms a thrust bearing gap. The foil member includes a foil that integrally includes a plurality of leaves each having a free end on one side in a circumferential direction and the thrust bearing surface, and a coupling portion for coupling the plurality of leaves to each other.




a

Fluid dynamic bearing system

The fluid dynamic bearing system has at, least one stationary part, and at least one rotating part that is supported rotatable about a rotational axis with respect to the stationary part. A bearing gap filled with bearing fluid is formed between mutually opposing surfaces of the stationary and of the rotating part. The bearing system includes at least one fluid dynamic radial bearing and at least one fluid dynamic axial bearing that are disposed along sections of the bearing gap. In one aspect of the invention, an annular sealing gap for sealing open ends of the bearing gap has one end connected to the bearing gap and one end connected to an annular reservoir, the outside radius of the reservoir measured from the rotational axis being larger than the outside radius of the sealing gap.




a

Dynamically-lubricated bearing and method of dynamically lubricating a bearing

Dynamically-lubricated bearings and methods of dynamically lubricating bearings, including bearings used in gas turbine engines. Such a bearing includes an inner race having an inner race groove between a pair of inner race cage lands, an outer race having an outer race groove between a pair of outer race cage lands and opposes the inner race groove, rolling elements disposed between the inner and outer races and in rolling contact with the inner and outer race grooves, and a cage disposed between the inner and outer races to maintain separation between the rolling elements. A lubricant is introduced into a cavity between the inner and outer races, and rotation of the inner race relative to the outer race causes the lubricant to exit the cavity through recessed surface features in at least one of the inner and outer race cage lands.




a

Rolling bearing device

A rolling bearing device which may include: a pair of raceway rings including an inner ring and an outer ring, a plurality of rolling elements interposed between respective raceway surfaces of the inner and outer rings, a retainer to retain the rolling elements; an oil supply and discharge mechanism to supply a lubricant oil, which concurrently serves as a bearing cooling medium, into the inside of the bearing device and to discharge the lubricant oil to the outside of the bearing device; and a ring shaped shake-off collar portion disposed in the vicinity of an end portion of an outer diametric surface of the inner ring so as to protrude radially outwardly, wherein the lubricant oil supplied from the oil supply and discharge mechanism and provided for lubrication within the bearing device is, after being received by the shake-off collar portion, shaken-off in a direction radially outwardly by the effect of a centrifugal force developed as a result of an inner ring rotation.




a

Cage assembly for a bearing

The present subject matter is directed to a bearing assembly for a wind turbine. The bearing assembly includes an outer race, an inner race rotatable relative to the outer race, a plurality of rolling elements positioned between the inner and outer races, and a cage assembly configured to maintain separation between neighboring rolling elements. The cage assembly includes a plurality of cage elements and a plurality of spacers. Each of the cage elements are separated by at least one of the spacers. Further, each of the cage elements extends around at least a portion of the plurality of rolling elements. Moreover, at least one of the spacers contact one or more of the rolling elements.




a

Rolling bearing

At least the surfaces of rolling elements of a rolling bearing are each randomly formed with an innumerable number of microconcave-like pits. The surface roughness parameter Ryni of the surfaces provided with the pits is in a range of 0.4 to 1.0 μm, and the Sk value is −1.6 or below.




a

Spherical roller bearing cage with inward flange turned radially outward

A roller bearing cage has a cage element adapted for retaining the generally cylindrically shaped rollers and allowing the rollers to be rollable therein. The cage element includes a main portion having a plurality of pockets, an outward flange portion extending outwardly in a radial direction and an inward flange portion extending outwardly in the radial direction. The outward flange portion is formed on a side edge of the main portion and the inward flange is formed on an opposite side edge portion thereof. The main portion defines the smallest diameter of the bearing cage and is less than the roller pitch diameter.




a

Two piece cage for a needle bearing

A two piece rolling element cage for a bearing assembly comprising a first and second cage, with axial projections extending from a cage body, oriented toward each other and inserted between rolling elements, on opposite axial ends of the rolling elements.




a

Cage for a roller bearing and a method of manufacturing the same

A cage for a roller bearing includes a first annular portion and a second annular portion opposite the first annular portion and a plurality of pillars interconnecting the first annular portion and the second annular portion. Adjacent pairs of the pillars each define a pocket for holding rollers. Each of the pockets is configured to receive at least one roller. One or more radially outward facing concave roller support surface is formed in one or more of the pillars at a position proximate a radially outer edge of the pillar. The concave roller support surface is configured to radially outwardly support a portion of one of the rollers.




a

Hydrodynamic bearing assembly and motor including the same

There are provided a hydrodynamic bearing assembly and a motor including the same. The hydrodynamic bearing assembly includes a sleeve rotatably supporting a shaft and including a first circulation hole formed therein, the first circulation hole penetrating between an inner peripheral surface thereof and an outer peripheral surface thereof; a sleeve housing into which the sleeve is inserted; and a second circulation hole formed between the outer peripheral surface of the sleeve and an inner peripheral surface of the sleeve housing to be in communication with the first circulation hole, wherein an upper portion of the second circulation hole has a larger diameter than a lower portion thereof in an axial direction.




a

Generator ball bearing support

A bearing support plate for use in a generator has a radially enlarged flange with a first cylindrical portion extending from the flange in one direction which will provide a bearing support for an outer race of a ball bearing, and a radially inner cylindrical portion extending in an opposed direction that will be away from the ball bearing relative to the flange. The flange is generally cylindrical but has a truncated portion over a circumferential extent. The first cylindrical portion is formed with radially enlarged portions with intermediate radially thinner portions. The flange includes bolt holes circumferentially aligned with the radially thinner portions.




a

Synthetic resin-made sliding bearing

A synthetic resin-made thrust sliding bearing 1 includes a synthetic resin-made upper casing 2 which is fixed to a vehicle body side via a mounting member; a synthetic resin-made lower casing 3 which is superposed on the upper casing 2 so as to be rotatable about an axis O in a circumferential direction R relative to the upper casing 2; and a synthetic resin-made sliding bearing piece 5 disposed in a space 4 between the upper casing 2 and the lower casing 3.




a

Bearing device for a wheel

A bearing device for a wheel prevents backlash in a circumferential direction and has excellent workability for connecting a hub wheel and an outer joint member of a constant velocity universal joint. The bearing device includes a recess-projection fitting structure in which the hub wheel and a shaft section, which is fitted in a hole of the hub wheel of the outer joint member of the constant velocity universal joint, are unitized together. In the recess-projection fitting structure, entire fitting regions among projections on the outer surface of the shaft section of the outer joint member and recesses, which fit on the projections, are brought into intimate contact with each other.




a

Perforated collapsible spacer

A perforated collapsible spacer controllably takes up space between two bearings on an automotive pinion. The perforated collapsible spacer is formed from a steel sheet having longitudinal edges that are joined together in a form of a tube having longitudinal perforated sections formed in its central portion. As a pinion nut is tightened, an axial clamping force is applied to the collapsible spacer that is located between tail and head bearing cones, where the central portion of the collapsible spacer is caused to buckle, so as to adjust the final space between the bearing cones while a spring force is maintained on the bearings. Yield points of the central portion with the perforated sections that buckle, are controllable depending on the steel sheet material thickness, and the size, shape and quantity of perforations in the steel sheet.




a

Tapered roller bearing resin cage and tapered roller bearing

There is provided a resin cage of a tapered roller bearing. The cage includes a small diameter annular portion, a large diameter annular portion, and a plurality of bar portions arranged at intervals in a circumferential direction to connect the annular portions. The bar portion has a pair of circumferentially-directed side surfaces, each having a roller guide surface, and an inner-side inner peripheral surface, a circumferential width of which is smaller on a side of the large diameter annular portion than on a side of the small diameter annular portion, and has a roller retaining region in which a radially outer side pocket width and a radially inner side pocket width between the opposed circumferentially-directed side surfaces of the adjacent bar portions are smaller than a diameter of the roller.




a

Segmented bearing retainer

A bearing cage assembly (100) comprises a plurality of discrete bridge elements (206) disposed between adjacent rolling elements (112) and coupled between first and second axially spaced cage support wire rings (102, 104) which are appropriately tensioned. Spacers (110) are disposed between adjacent bridge elements and engage the bridge elements in a piloted engagement. The bridge elements maintain a separation between rolling elements, retain the rolling elements within the bearing assembly, and function as a lubrication reservoir for grease lubricated bearings. Profiled surfaces on the bridge elements position the bearing cage assembly on at least one axial end of the rolling elements.




a

Cage and thrust roller bearing including cage

A cage, which is annular, and is used in a thrust roller bearing, includes a plurality of cage segments arranged in a circumferential direction. Each of the cage segments includes an arc portion; and a bar portion that extends radially inward from the arc portion and that maintains a circumferential interval between rollers adjacent to each other. A groove portion extending along an axial direction is formed at each of end faces of the arc portions, the end faces facing each other in the circumferential direction. In the cage, elastic bodies are inserted into the groove portions and urge the arc portions in the circumferential direction, each of the elastic bodies is disposed between the end faces facing each other, and the cage segments are connected to each other by the elastic bodies.




a

Allowing inter-process communication via file system filter

In one embodiment, a method allows an application running in a first process to communicate with a second process. A file system filter driver receives a command from the application for a file. The file system filter driver is configured to process file system commands. The file system filter driver determines that the command is for an inter-process communication with a service running in the second process based on the command being for the file. Then, the file system filter driver sends the command to the service running in the second process where the command is processed by the service. A response from the service is received based on the command being processed by the service and the file system filter driver sends the response to the application.




a

System and method for providing additional functionality to existing software in an integrated manner

An improved system and method are disclosed for improving functionality in software applications. In one example, the method includes a mobile device having a network interface, a processor, and a memory configured to store a plurality of instructions. The instructions include instructions for a superblock application having instructions for a function block included therein. The function block is configured to provide functions that are accessible to the superblock application via an application programming interface (API). The functions are provided within the superblock application itself and are accessible within the superblock application without switching context to another application on the mobile device.




a

Administering message acknowledgements in a parallel computer

Administering message acknowledgements in a parallel computer that includes compute nodes, with each compute node including a processor and a messaging accelerator, includes: storing in a list, by a processor of a compute node, a message descriptor describing a message and an acknowledgement request descriptor describing a request for an acknowledgement of receipt of the message; processing, by a messaging accelerator of the compute node, the list, including transmitting, to a target compute node, the message described by the message descriptor and transmitting, to the target compute node, the request described by the acknowledgement request descriptor; receiving, by the messaging accelerator from the target compute node, an acknowledgement of receipt of the message, including notifying the processor of receipt of the acknowledgement; and removing, by the processor from the list, the message descriptor and the acknowledgment request descriptor.




a

Communication among execution threads of at least one electronic device

A method of communication in at least one electronic device is presented. In the method, a first execution thread and a second execution thread are created in the at least one electronic device. Also created is a message service for receiving messages for the first thread. A message to be transferred from the second thread to the message service of the first thread is generated. One of multiple data transfer mechanisms is selected for transferring the message from the second thread to the message service of the first thread based on a relationship between the first and second threads. This relationship may be one in which the first and second threads are executing within a single process, within different processes of the same device, or within different devices. The message is transferred to the message service of the first thread using the selected data transfer mechanism and processed in the first thread.




a

Non real-time metrology data management

The techniques described herein implement an operating system that can reliably process time sensitive information in non real-time manner. Thus, the operating system described herein is capable of processing an instance of time sensitive input during a time period after the instance of time sensitive input is received (e.g., at a future point in time). To accomplish this, the techniques timestamp each instance of time sensitive input when it is received at a device. The techniques then store the timestamped instance of time sensitive input in a temporary queue, and make the timestamped instance available to the operating system at a time period after the time period when it is received, as indicated by the timestamp. Additional techniques described herein prioritize the activation of a driver configured to receive the time sensitive information during a boot sequence or a reboot sequence.




a

Status management device, status management method, and recording medium

A status management device is presented, the device including multiple first application units for monitoring status information indicating a status of a management target, multiple second application units for outputting first acquisition request information of the status information with identification information of the management target, a search unit for outputting a storage location corresponding to the identification information when the first acquisition request information is received from the second application unit, a request unit for outputting second acquisition request information of the status information to the first application unit corresponding to the outputted storage location, and a transmission unit for outputting the status information supplied from the first application unit in response to the second acquisition request information to the second application unit which corresponds to a request source of the first acquisition request information.




a

Information output device, method, and recording medium for outputting notification information corresponding to a state of a computer

An information output device includes a first processor configured to execute a process to determine a type of notification information which is outputted from a computer and which notifies a state of the computer; and a second processor configured to execute a process to create a chart, in which a first coordinate axis represents time when the notification information is outputted from the computer, a second coordinate axis represents the type of the notification information, and the notification information is drawn at a corresponding position, and output the chart.




a

Methods and apparatus for constructing a secure and flexible operating system

The present disclosure provides methods and apparatus for constructing a secure and flexible operating system. The presently disclosed system executes different user applications in different operating systems on different virtual machines. Each user application communicates with other processes via the hypertext transfer protocol (HTTP). In particular, each user application's user interface is implemented in a web browser that is running in its own operating system on its own virtual machine, and each user application interacts with the user interface by exchanging HTTP messages between the virtual machines.




a

Methods for analyzing, limiting, and enhancing access to an internet API, web service, and data

The invention includes an API gateway server that monitors and controls the distribution of API elements from API sources to application developers based on a distribution rule set.




a

Method and system for performing security monitoring on file downloading

The present invention discloses method and system for performing security monitoring on file downloading, and a non-transitory computer-readable medium that stores instructions for performing security monitoring on file downloading. The method includes upon detecting a file downloading operation, performing security detection on a downloaded file to determine whether the downloaded file is secure; if the downloaded file is secure, determining whether a downloading tool adopted when the file is downloaded is instant messenger (IM) software; and if the adopted downloading tool is IM software, modifying a filename extension of the downloaded file to ensure that the downloaded file is capable of being directly opened or run.




a

Method and computer device for inserting attachments into electronic message

A method for inserting attachments into an electronic message is provided. The method may include searching a keyword database to determine if a content of the electronic message includes a keyword, a key phrase, or a key sentence defined in the keyword database. The method may also include applying a condition to a file database, if the determination is affirmative, so as to search for at least a candidate item. The candidate item may be presented in a menu to the user. The method may further include enabling, in response to the user's confirmation of the candidate item, the confirmed candidate item to be inserted into the electronic message automatically to become an attachment thereto.




a

Web-based interaction with a local system

Systems, methods, and computer program products for facilitating web-based interaction with a local system are disclosed. Such systems, methods, and computer program products provide an approach that allows a web client within in a web browser environment to access local hardware and local software—via a web server contained in the local system—in a local computer system. In response to a user input, the web client directs local hardware and local software to perform actions (e.g., writing files and taking pictures). Information related to such actions is returned to the web client via the local web server. The local computer system may be remotely located from the web client and such returned information may be stored and/or executed at a remote site (e.g., cloud database). Security layers may be provided to authenticate the user as well as user permissions for accessing the local computer system.




a

Virtual machine migration with direct physical access control

A data processing system facilitates virtual machine migration with direct physical access control. The illustrative data processing system comprises a software-programmable trap control associated with hardware registers of a computer that selectively vectors execution control of a virtual machine (VM) between a host and a guest. The data processing system further comprises a logic which is configured for execution on the computer that programs the trap control to enable the virtual machine to directly access the hardware registers when the virtual machine is not migrated and to revoke direct access of the hardware registers in preparation for virtual machine migration.




a

Message communication of sensor and other data

A service may be provided that reads sensors, and that communicates information based on the sensor readings to applications. In one example, an operating system provides a sensor interface that allows programs that run on a machine to read the values of sensors (such as an accelerometer, light meter, etc.). A service may use the interface to read the value of sensors, and may receive subscriptions to sensor values from other programs. The service may then generate messages that contain the sensor value, and may provide these messages to programs that have subscribed to the messages. The messages may contain raw sensor data. Or, the messages may contain information that is derived from the sensor data and/or from other data.




a

Application function library framework

A component instance manager of a database system generates an instance of the application function. The component instance manager then generates an executor for the application function, and requests an instance of a component class of the application function from a package manager of the database system. A void pointer associated with the instance of the component class and a wrapper function address associated with the application function are accessed by the component instance manager, where the void pointer and wrapper function address comprise runtime parameters of the application function. The application function is thereafter executed by the executor according to the runtime parameters.




a

Method and management agent for event notifications correlation

Methods and apparatus for correlating event notifications between agents in a management network are provided. An agent constructs a network notification in response to receiving an event notification. If the received event notification is associated with a prior notification already received and stored by the agent, a correlation attribute is added to the constructed network notification. If the received notification matches a peer agent notification category that another agent in the management network is interested in receiving, the constructed network notification is sent to the other agent.




a

Computation device and computation execution method

A computation device includes a data path element (300) including a function processing unit (4000) that executes a computation specified in a function using input data included in an event (1000) as an argument; and a control path element (2000) that detects the event (1000) by use of a return value (ret) of the function. The function processing unit (4000) includes a data calculation unit (4001) that executes a computation and outputs a first result (d0); and a control comparison unit (4002) that outputs, to the control path element (2000), a result of comparison between the input data and data for specifying the event (1000), as the return value (ret).




a

Apparatus and method for supporting suspend of composite network device

An apparatus and a method support a selective suspend mode in a driver for any one of at least two devices constituting a composite network device. When a device of the driver requests suspend mode transition, a Physical Device Object (PDO) constituting a driver of the composite network device is identified by a PDO check part. A suspend mode transition request information of the device is sent to an operating system through the PDO. When the operating system allows the suspend mode transition, a control part sends suspend mode transition indication information to the device through the PDO.




a

Dependency based configuration package activation

An update platform is described that collectively handles driver and firmware updates for hardware resources of a computing device based on dependencies associated with the updates. The update platform may instantiate representations of each individual hardware resource as abstractions through which detection, analysis, acquisition, deployment, installation, and tracking of updates is managed. Using the representations, the update platform discovers available updates, matches configuration packages for the updates to appropriate resources, and initiates installation of the configuration packages. The update platform is further configured to recognize dependencies associated with the configuration packages. When dependencies are detected, corresponding configuration packages are marked to reflect the dependencies and activation is suspended until the dependencies are satisfied. Upon satisfaction of the dependencies, the dependencies are cleared and the configuration packages are activated. Configuration packages that are not associated with dependencies may be installed and activated “normally” at any time.




a

Systems and methods for application reuse

System and methods are provided. In one embodiment, a system includes a master data archiver configured to store a data related to a turbomachine system and a first data collector service system configured to collect the data from the master data archiver. The system also includes a second data collector service system communicatively coupled to the first data collector system and configured to pull or to push the data from the first data collector system and a first data archiver configured to receive at least some of the data from the second data collector system. The system further includes an asset model database storing a plurality of turbomachine tags, wherein the turbomachine tags are configured to categorize the data and a data access system (DAS) configured to provide data access to the first data archiver, the asset model database, or a combination thereof.




a

System and method to boost application performance by using a proxy for executing synchronous application programming interface calls

Techniques are described for utilizing synchronous APIs which normally block callers until a result is returned. In particular, the techniques described herein enable an application or other programming construct to boost performance by executing synchronous APIs (e.g., long running time APIs) within a proxy container rather than executing the synchronous APIs in the context of the application itself. Since the proxy is a separate process or thread, the caller application is thereby released from waiting for the synchronous API call and may proceed with other processing instead of waiting for the synchronous API to return. The application may then monitor the proxy to determine whether a result has been received, such as by periodically polling the proxy.




a

Information processing apparatus, method and program for writing file system metadata of plural operating systems

An information processing apparatus includes a transmission unit transmitting a command of a second operating system to the second operating system when receiving the command via a communication path which communicates under a control based on a first operating system, an extraction unit extracting data for the second operating system by analyzing the command transmitted from the transmission unit, and a writing unit writing the data extracted by the extraction unit as data constituting file system metadata of the second operating system.




a

Routing of performance data to dependent calculators

A method, system and computer program product are disclosed for routing performance data to compute nodes. According to one aspect of the present disclosure each of a plurality of compute nodes are assigned a topic. Each topic may be associated with a set of calculations. Labeled performance metrics for an application are received. Each performance metric is labeled with a context under which the performance metric was collected. A topic is associated with each of the performance metrics based on the labeled context. Each respective node listens for a topic assigned to it in order to access the performance metrics associated with the assigned topic. Each respective node analyzes the performance metrics associated with the topic assigned to it.




a

Propagating a diagnostic session for business transactions across multiple servers

The present technology may determine an anomaly in a portion of a distributed business application. Data can automatically be captured and analyzed for the portion of the application associated with the anomaly. By automatically capturing data for just the portion associated with the anomaly, the present technology reduces the resource and time requirements associated with other code-based solutions for monitoring transactions. In an embodiment, a method for monitoring an application may begin with detecting a diagnostic event. A diagnostic identifier may be associated with the request in response to the diagnostic event. An outgoing call may be detected at a first server associated with processing the request. The outgoing call may be modified at the first server to include the diagnostic identifier, the outgoing call with the diagnostic identifier received by a remote computer.




a

Multi-source, multi-destination data transfers

Methods, systems, and products are disclosed for multi-source, multi-destination data transfers that include identifying a plurality of destination points having destination contexts in one or more destination objects; selecting source content for transfer; displaying destination contexts for the destination points; and directing source content to at least one destination point in dependence upon the displayed destination contexts. In typical embodiments, identifying destination points includes recording each identified destination point and storing in association with each recorded destination point a copy of a destination context for each recorded destination point.




a

Batch execution of system calls in an operating system

A system and a method are disclosed for batch execution of system calls in an operating system. In one implementation, a processing device configures a system call batching buffer table in a user space of an operating system, the system call batching buffer table including a plurality of system call units, associates a system call number with the system call batching buffer table, and issues a trap instruction to a kernel of the operating system to execute at least one of the plurality of system call units, the trap instruction including the system call number.




a

Methods and systems for dynamically establishing one or more connections between a software application and a cluster of message broker

An exemplary method includes a broker-based messaging system detecting a request provided by a software application for the software application to connect to any one of a plurality of brokers included in a cluster of brokers, dynamically identifying, in response to the request and in accordance with a connection distribution heuristic, a broker included in the cluster of brokers and that is available for connection to the software application, and attempting to establish a connection between the software application and the broker. Corresponding methods and systems are also disclosed.




a

Browser window frame-to-frame communication

Communication facilitated between frames of a browser window. Whenever a particular frame receives a message destined for a target frame from a source frame, the particular frame determines if the particular is indeed the target frame. If so, the particular frame processes the message, but if not, the particular frame determines whether the target frame has registered with the particular frame. If the target frame has registered with the particular frame, the particular frame uses a handle communicated as part of the registration to dispatch the message further towards the target frame. In some cases, this handle may be directly that of the target frame itself, in which case the particular frame communicates the message directly with the target frame. This manner of inter-frame communication may be facilitated by a unique registration process when frames come into existence.




a

Retrieving service request messages from a message queue maintained by a messaging middleware tool based on the origination time of the service request message

Systems and methods for retrieving service request messages stored in a messaging queue and received by a queue in real-time. The service request messages are retrieved using a plurality of threads that comprise at least one retrieval criteria. Service request messages may be retrieved from the message queue or retrieved as they are received by the message queue in real-time using criteria in addition to or instead of the arrival time of the service request message which may also be referred to as the put-time. Service request messages may be requested and retrieved in an iterative process wherein multiple threads execute consecutively, concurrently, or a combination of both, in order to retrieve service request messages requested by an application.




a

Automated service interface optimization

Disclosed are various embodiments for automated service interface optimization. In one embodiment, a service client and/or a service provider is reconfigured to use an optimized version of a data transfer interface, where the optimized version transfers fewer data items from the service provider to the service client. In another embodiment, service calls from a service client for multiple different data objects are aggregated into an aggregated service call for a data object. In yet another embodiment, an optimized data object is provided to a service client in response to a request for an unoptimized data object. If the service client attempts to use a data item excluded from the optimized data object, the excluded data item is then provided to the service client.




a

Protecting visible data during computerized process usage

Embodiments of the present invention provide an approach for protecting visible data during computerized process usage. Specifically, in a typical embodiment, when a computerized process is identified, a physical page key (PPK) is generated (e.g., a unique PPK may be generated for each page of data) and stored in at least one table. Based on the PPK a virtual page key (VPK) is generated and stored in at least one register. When the process is later implemented, and a request to access a set of data associated the process is received, it will be determined whether the VPK is valid (based on the PPK). Based on the results of this determination, a data access determination is made.




a

System and method for event-driven live migration of multi-process applications

A system, method, and computer readable medium for asynchronous live migration of applications between two or more servers. The computer readable medium includes computer-executable instructions for execution by a processing system. Primary applications runs on primary hosts and one or more replicated instances of each primary application run on one or more backup hosts. Asynchronous live migration is provided through a combination of process replication, logging, barrier synchronization, checkpointing, reliable messaging and message playback. The live migration is transparent to the application and requires no modification to the application, operating system, networking stack or libraries.




a

Asynchronous callback driven messaging request completion notification

Through an asynchronous callback enhancement, a thread makes a non-blocking request (e.g., send, receive, I/O) to a message passing interface library, and a callback routine is associated with the request as an asynchronous callback to the thread. The callback is queued for execution in the requesting thread and so has a deterministic execution context. Callback queuing may occur in response to another thread detecting that the request is complete. Further control over callback execution is provided by state transitions which determine whether the thread is open to processing (e.g., executing) an asynchronous callback. Callback association is done by a broad or by narrow association routines. An application which has processes organized in ranks, each including a communication thread with associated callback(s), and multiple worker threads. Interruptible wait enhancements may also be present.