Abstract:
A service appliance is installed between a production server running a service applications and service users. Upon being connected with the production server, the service appliance contacts the production server and/or service application and automatically replicates the service data from the service application. As additional service data is added to or modified by the service application of the production server, the service appliance automatically updates its replica of the data. In the event that a production server is unable to provide its service to users, the service appliance can transparently intervene to maintain service availibility using the replica of the data. When an operational production server is connected with the service appliance, the service appliance can automatically copy its service data to the service application of the operational production server. The operational production server can be the same as the original production server or a new production server.
Abstract:
A service appliance can be installed between one or more production servers running service applications and service users. In the event that a production server is unable to provide its service to users, the service appliance can transparently intervene to maintain service availibility. The service appliance is capable of providing the service using a service application that is differently configured or even a different application than the service applications of the production server. The service appliance may include hardware and/or software to monitor, repair, maintain, and update the service application and other associated software applications and components of service appliance. The service appliance may be configured to have a locked state that prevents local running of additional applications other than those provided for prior to entering the locked state, limiting local and remote user administration of and operational control of the operating system and service application.
Abstract:
A system and method for system and circuit level design modeling and simulation using the C++ programming language. Program interfaces in a behavior-less base class are provided to allow a circuit designer to model hardware blocks using user processes in C++. The present invention provides for the manipulation of software user processes that represent the behavior of circuit blocks. C++ is advantageous because it is a familiar language for many designers in the computer industry and therefore requires a smaller learning curve. The novel interface provides an efficient implementation of reactivity (waiting and watching) and concurrency (signals and processes) allowing designers to use C++ to model mixed hardware-software systems with a C++ compiler and a library of the present invention without the need of a complex event-driven run-time kernel, often required in other hardware description languages (HDLs). Hardware descriptions of the present invention are readily mapped in to synthesizable intermediate representations and synthesized into hardware implementations using commercially available tools. The novel program interfaces allow user processes, which communicate with signals, to be timed on defined clock edges of various clock objects. User processes respond to events (reactivity) using next( ), wait( ), wait.sub.-- until( ) and watching( ) functions. The present invention provides an efficient mechanism for context switching with reduces processing overhead by using lambdas (delay-evaluated expression objects). The present invention also provides an efficient implementation of representing a circuit's multi-valued logic signals in C++ and also provides an efficient implementation of instantiation of circuit blocks and elements using C++.