- Data Access in Real Time
DART is an embedded, real-time, operating system comprising a modified UNIX kernel and dedicated file server software that together transfer files and multimedia data across a network using a variety of network protocols.
DART file server software executes entirely in the kernel—a real-time kernel, the design of which is based on monotonic scheduling. The DART kernel environment is not a generic user-application environment. Instead, the DART kernel provides a run-time environment for the file service; an embedded, dedicated application. The DART file server software is linked with the kernel into a single system image that is loaded for execution at boot time.
The DART Software Architecture
DART is organized into seven layers. These layers handle all the data movement in DART, and all functionality in DART is directed at implementing the processes contained in these layers. Starting with the layer closest to the hardware and ending with the layer closest to the user interface, DART’s functionality is organized as follows :
- Layer 1: Operating system, consisting of the kernel and the kernel debugger.
- Layer 2: Hardware device drivers, consisting of media, network, and SCSI driver components.
- Layer 3: I/O layer, consisting of Continuous Media Network (CMNET), UDP, TCP/IP, CAM, Storage and components.
- Layer 4: File systems layer, consisting of Virtual File System (VFS), Security, and shared files within a Cluster.
- Layer 5: Programming Interfaces, consisting of Remote Procedure Call (RPC), Common File System (CFS), UNIX File System (UFS) and Continuous Media File System (CMFS). The Uthread (UNIX-like thread) component overlaps and interfaces with this layer and with Layer 6.
- Layer 6: Application layer, consisting of Continuous Media Stream (CMSTREAM), Common Interface File System (CIFS), PAX, NDMP, NFS, File Transfer Protocol for DART (FTPD), ONCRPC, HTTP, NIS, and SNMP components.
- Layer 7: System management and control, consisting of Management and Configuration and System components.
Layers 1 – 4 comprise functions performed within the kernel. The programmer typically uses components limited to the higher numbered layers (5 and 6) to add data moving applications.
DART’s RPC framework component provides both client and server facilities, which are implemented over STREAMS, not sockets. DART acts as an RPC server in the context of NFS, and as an RPC client in the context of NIS.
DART External environment. The DART is designed to provide rapid data movement and information sharing across a variety of hardware platforms in a networked environment. All data transfers are either request-response (pull-type for file transfers) or streaming (push-type for multimedia data) with time-sharing, real-time, or isochronous characteristics.
RPC on DART
Two types of RPC are implemented on DART: traditional RPC, and ONC RPC. Due to DART’s multi-threaded architecture, traditional RPC has been implemented on DART with several modifications. For example, on a SUN OS, the RPC code generator, RPCGEN, assumes a single-threaded UNIX process that calls into the library directly. However, DART doesn’t have UNIX processes; but instead uses true multi-threading—that is, n threads pick up RPC messages as they come in. Therefore, when using traditional RPC in DART, an application must perform such functions as registering with the portmapper and extracting credentials and other security information from the message (or checking security without extracting).
Most of the responsibility falls on the application developer—thread creation, initialization, end point creation, initial create main loop, processing stream, reading message, and so on. The Collector, a general synchronizer (not particular to RPC) needs to be declared, whereas in ONCRPC, the collector is built in.
In addition, traditional RPC has a basic structure for receiving the message, but then the application developer must take it apart by means of xdr format and analyze it. In addition, the client-side is not fully implemented. Finally, while RPC is primarily a synchronous protocol, it is used asynchronously in DART in conjunction with mutexes, condition variables, and other types of locks.
DART implements RPC over both the User Datagram Protocol (UDP) and the Transport Control Protocol (TCP). Each application has a single UDP stream and one TCP stream per connection, with the common IP module acting as a multiplexer.
Wikimedia Foundation. 2010.
Look at other dictionaries:
Real-time business intelligence — is the process of delivering information about business operations without any latency. In this context, real time means delivering information in a range from milliseconds to a few seconds after the business event. While traditional business… … Wikipedia
Real-time protection — Real time protection, on access scanning, background guard, resident shield, autoprotect, and other synonyms refer to the automatic protection provided by most antivirus, antispyware, and other antimalware programs, which is arguably their most… … Wikipedia
Real time database — A real time database is a processing system designed to handle workloads whose state is constantly changing (Buchmann). This differs from traditional databases containing persistent data, mostly unaffected by time. For example, a stock market… … Wikipedia
Real-time operating system — A real time operating system (RTOS; generally pronounced as are toss ) is a multitasking operating system intended for real time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers,… … Wikipedia
Real-time locating — Articleissues confusing=July 2008 refimprove=May 2008 essay=May 2008: This page specifically concerns operational aspects of RTLS. For methodology issues see locating engine. For technology issues see wireless. According to ISO/IEC JTC1 SC31 and… … Wikipedia
Real Time Streaming Protocol — The Real Time Streaming Protocol (RTSP), developed by the IETF and created in 1998 as RFC 2326, is a protocol for use in streaming media systems which allows a client to remotely control a streaming media server, issuing VCR like commands such as … Wikipedia
real-time — A real time stock or bond quote is one that states a security s most recent offer to sell or bid ( buy). Different from a delayed quote, which shows the same bid and ask prices 15 minutes and sometimes 20 minutes after a trade takes place.… … Financial and business terms
Real time — A real time stock or bond quote is one that states a security s most recent offer to sell or bid ( buy). A delayed quote shows the same bid and ask prices 15 minutes and sometimes 20 minutes after a trade takes place. The New York Times Financial … Financial and business terms
real time — A real time stock or bond quote is one that states a security s most recent offer to sell or bid ( buy). Different from a delayed quote, which shows the same bid and ask prices 15 minutes and sometimes 20 minutes after a trade takes place.… … Financial and business terms
Real Time Information Group — RTIG or The Real Time Information Group was established in 2000 to provide a focus for those involved in the implementation and technical development of UK bus real time information systems. RTIG, a subscription group, has members from UK local… … Wikipedia