--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License
+"Eclipse Public License v1.0" which accompanies this distribution,
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+ Nokia Corporation - initial contribution.
+Contributors:
+-->
+<!DOCTYPE concept
+ PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-F43A54C0-E82B-5790-8493-1372D214C642" xml:lang="en"><title>What
+are Planes</title><shortdesc>This topic describes the concept of a <i>Plane</i> in the Communications
+Framework. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>The transmission of data and the management of connections is divided into
+separate operations. Symbian platform gives the name <i>Plane</i> to
+these operations. The Communications Framework defines three Planes. Each
+Plane has a separate role and a separate responsibility. Each Plane matches
+a Sockets Server API. </p>
+<p>The Planes are called: the Data Plane, the Control Plane and the Management
+Plane. </p>
+<p>Layers span all three Planes. Code in each Plane operates together to deliver
+the required Communications protocol behaviour. </p>
+<p>A connection can have a number of subconnections. Subconnections can be
+called channels. The concepts of connection and subconnection make it useful
+to divide the Control Plane into two parts. The following diagram shows the
+concept. The blue arrows indicate dependencies. The vertical dotted lines
+indicate the division of Planes. </p>
+<fig id="GUID-258000D9-1BC3-5A61-8235-4183D4A759C5">
+<title> Planes in the Communications Framework </title>
+<image href="GUID-3D8FE2A7-E544-51B9-9572-492A3B61377C_d0e83043_href.png" placement="inline"/>
+</fig>
+<p>The following diagram overlays the Planes with an example series of Layers </p>
+<fig id="GUID-1758E53D-2A62-5C4C-93B9-8FE5DE67BBAA">
+<title> Planes and Layers in the Communications Framework
+ </title>
+<image href="GUID-47EF98E9-7833-5E94-ADFF-198401463A8C_d0e83054_href.png" placement="inline"/>
+</fig>
+<ul>
+<li id="GUID-45F19CFA-9B96-53B3-9B15-428BB3226BAA"><p> <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-E8250BBE-8529-5C45-BCA3-92A87C013580">Data Plane</xref> </p> </li>
+<li id="GUID-461678D6-3198-55CF-B07E-94F5E1086BAC"><p> <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-CFFC0BC1-FD9D-5F82-8906-2F9E8FCD21F5">Control Plane</xref> </p> </li>
+<li id="GUID-6B98DEAB-F245-5533-A05A-957FADE0C120"><p> <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-2372FF88-FA59-5CDF-9362-1A54F43D8442">Management Plane</xref> </p> </li>
+</ul>
+<section id="GUID-E8250BBE-8529-5C45-BCA3-92A87C013580"><title>Data Plane</title> <p>The
+Data Plane carries data and uses Communications protocols. The Data Plane
+handles conversations with remote peers.The <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-CFFC0BC1-FD9D-5F82-8906-2F9E8FCD21F5">Control
+Plane</xref> and the <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-2372FF88-FA59-5CDF-9362-1A54F43D8442">Management
+Plane</xref> exist to serve the Data Plane. </p> <p>The Data Plane exists
+to minimise interruptions to the flow of data. The Data Plane assigns the
+response to interruptions to the Control Plane. Interruptions include: the
+start of a new network connection, the management of a timeout and the management
+of changes to the status of the network. </p> <p>To make sure that interruptions
+cannot interfere with the Data Plane, a thread divide exists between the Data
+Plane and the Control/Management Planes. The thread division allows the Communications
+Framework to give the Data Plane thread a higher priority than the Control
+and Management Plane thread. The difference in thread priorities allows the
+Communications Framework to give the task of data transfer the highest priority. </p> <p>The
+Communications Framework provides a mechanism to send messages between the
+threads. The mechanism is called the <xref href="GUID-4CE10DED-31B2-50B5-9D38-85CE86E8A8DE.dita">Message
+Transport</xref>. The Transport sends and delivers the messages asynchronously.
+Threads can continue their work until the threads are prepared to process
+messages. The Transport always makes sure of the delivery of messages. </p> <p>The
+Data Plane corresponds to the Sockets Server API: <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>. </p> <p>The
+following diagram shows the thread divide. </p> <fig id="GUID-A440C4F8-199E-575A-9922-D90059CA69C3">
+<title> Data Plane in the Communications Framework </title>
+<image href="GUID-337FA49D-DE53-5568-9A5C-D6AE3F25E0A6_d0e83124_href.png" placement="inline"/>
+</fig> <p><b>Features </b> </p> <p>The Data Plane: </p> <ul>
+<li id="GUID-70DDF365-81B9-5D30-BEA1-B338074CF097"><p>exchanges data with
+remote peers and uses data transfer protocols </p> </li>
+<li id="GUID-E8A426F5-98AD-5BFA-9D8C-820B1656140C"><p>allows any number of
+conversations at the same time through many protocols </p> </li>
+<li id="GUID-6748E1E2-5FF3-52BC-9FC7-6759F52B59D2"><p>enables the transfer
+of data to clients of the protocol stack and from clients of the protocol
+stack </p> </li>
+<li id="GUID-1073D70B-80FA-55E7-96E9-C9B51A701BC4"><p>enables the transfer
+of data to hardware and from hardware </p> </li>
+</ul> </section>
+<section id="GUID-CFFC0BC1-FD9D-5F82-8906-2F9E8FCD21F5"><title>Control Plane</title> <p>The
+Control Plane establishes, maintains and modifies the traffic, or conversations
+in the Data Plane. Specifically, the Control Pane establishes, controls, re-binds
+and tears down the Communications protocol stack based on commands from the
+application and from the Management Plane. </p> <p>The <xref href="GUID-F43A54C0-E82B-5790-8493-1372D214C642.dita#GUID-F43A54C0-E82B-5790-8493-1372D214C642/GUID-E8250BBE-8529-5C45-BCA3-92A87C013580">Data Plane</xref> sends the status of the link and other control information
+to the Control Plane. The Control Plane processes the status of the link and
+other control information, and allows the Data Plane to give the task of data
+transfer the highest priority. </p> <p>A connection can have a number of subconnections.
+Subconnections can be called channels. The concepts of connection and subconnection
+make it useful to divide the Control Plane into two parts. </p> <p>The Data
+Plane corresponds to the Sockets Server APIs: <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> and <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref>. </p> <p><b>Features </b> </p> <p>The Control Plane: </p> <ul>
+<li id="GUID-EE232AB1-E916-54AB-B658-19B1A3F62B7C"><p>creates the Data Plane </p> </li>
+<li id="GUID-F5E545D5-7954-5F20-B8A4-4C9B7F4B06CC"><p>configures the Data
+Plane modules from information provided by the client application or the Management
+Plane </p> </li>
+<li id="GUID-3C4FF301-30D7-5064-BD45-5A05C962E1DE"><p>starts the Data Plane </p> </li>
+<li id="GUID-BB2A8489-38D7-5D0B-A272-0C04DDE9B2FF"><p>controls and monitors
+the Data Plane: </p> <ul>
+<li id="GUID-7D7E7B38-34C4-53F6-A545-774DEEE07403"><p>acts on information
+received from the data protocols </p> </li>
+<li id="GUID-805AE125-F139-5E65-9912-DCA92926F1EF"><p>notifies the Management
+Plane or the client application about changes to the state of the Control
+Plane or the Data Plane. </p> </li>
+</ul> </li>
+<li id="GUID-ACDF9227-7286-5092-AF85-503BA30A2B45"><p>stops the Data Plane </p> </li>
+<li id="GUID-54C50C8C-4CFB-5C02-89CE-754EF2F858E2"><p>destroys the Data Plane </p> </li>
+<li id="GUID-8FC8ED8A-71DA-546A-8548-D6979B0F8CD7"><p>manages connection session
+timers </p> </li>
+<li id="GUID-C316844B-3046-599E-967C-085D79F9DA01"><p>manages connection data
+channels and their properties </p> </li>
+<li id="GUID-7CF74684-F4C8-54FC-9BA0-EA68D081E5AF"><p>handles changes to the
+status of the network and handles error reports </p> </li>
+</ul> </section>
+<section id="GUID-2372FF88-FA59-5CDF-9362-1A54F43D8442"><title>Management
+Plane</title> <p>The Management Plane maintains the configuration of the device,
+monitors the availability of the network and makes policy decisions for the
+Communications Framework. The Management Plane is the main location where
+phone creators can customise the behaviour of the Communications protocol
+stack. </p> <p>The Management Plane corresponds to the Sockets Server API: <xref href="GUID-55FE59B7-4FA9-3B1A-BD4C-9B7611FE75C2.dita"><apiname>RConnectionServ</apiname></xref> </p> <p><b>Features </b> </p> <p>The Management Plane: </p> <ul>
+<li id="GUID-3FB67172-7DC3-5621-AADB-02AE601D4EAF"><p>selects, constructs
+and manages the Communications protocol stack: </p> <ul>
+<li id="GUID-003EFE03-849E-5168-AAC3-8CFB6E07436C"><p>selects the correct
+protocol stack for a connection based on client and configuration preferences </p> </li>
+<li id="GUID-2E1CBE6C-2CCE-51E7-AE9C-F4EFAC0A426B"><p>manages the Control
+Plane connections based on the policy set either in the configuration or at
+run-time. </p> </li>
+</ul> </li>
+<li id="GUID-DA0FE037-69DB-586D-8809-C4D5A8D22C67"><p>notifies interested
+clients about the state of the Communications protocol stack, for example,
+bearer and service availability </p> </li>
+<li id="GUID-3B36F963-CCF5-5E75-9486-04CBEF27DFC1"><p>provides an entry point
+for third-party plugins to customise and control the Communications protocol
+stack </p> </li>
+<li id="GUID-D7A39FA9-1C88-5E8E-A566-E030971CCF0A"><p>controls the Communications
+protocol stack. This control is based on policy decisions </p> </li>
+<li id="GUID-8BBADB62-AB50-5B9D-B0E8-9546488E12DD"><p>communicates with the
+Control Plane to influence the behaviour of Control or Data flow operations
+in the Communications protocol stack </p> </li>
+<li id="GUID-86CAD544-2B60-5713-B8C1-1FB14806FC31"><p>supplies configuration
+information to the Layer. </p> </li>
+</ul> </section>
+</conbody><related-links>
+<link href="GUID-61E0CD76-A2E3-5066-84A8-146EECA8ADCD.dita"><linktext>Socket Server</linktext>
+</link>
+</related-links></concept>
\ No newline at end of file