Merged documentation branch into trunk
git-svn-id: https://hyracks.googlecode.com/svn/trunk@284 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks/hyracks-documentation/src/books/user-guide/sec-introduction-overview.apt b/hyracks/hyracks-documentation/src/books/user-guide/sec-introduction-overview.apt
new file mode 100644
index 0000000..f35b7e4
--- /dev/null
+++ b/hyracks/hyracks-documentation/src/books/user-guide/sec-introduction-overview.apt
@@ -0,0 +1,12 @@
+Hyracks Overview
+
+ Hyracks employs a client-server architecture. On the server side, the software module that is responsible for interacting with clients, keeping track of and dispatching work
+ to other machines in the cluster is called the Hyracks Cluster Controller (CC). There is one CC per logical Hyracks cluster. The module that executes on the worker machine
+ and interacts with the CC to receive work and act on it, is called the Hyracks Node Controller (NC). Every NC in a single Hyracks cluster has a unique logical name. When an
+ NC is started, it is provided the address of the CC whose cluster it must join. Although it is sufficient to run one instance of the NC on a physical machine, it is possible
+ to run multiple instances of NCs (ofcourse each NC has a different logical name) on the same physical machine -- often used for simulating a cluster on a single machine
+ to facilitate testing.
+
+ Hyracks clients interact solely with the CC when submitting their jobs. A Hyracks Job is the unit of work that a client can execute on the Hyracks cluster. A job is expressed
+ as a directed acyclic graph (DAG) of Operators connected to each other by means of Connectors. A more detailed description of jobs, operators, and connectors follows in
+ chapter "Hyracks Concepts".