<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learn Software Development &#187; Tips</title>
	<atom:link href="http://learnsoftwareprocesses.com/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://learnsoftwareprocesses.com</link>
	<description>All about the processes involved in software development</description>
	<lastBuildDate>Sun, 20 May 2012 19:17:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Overview of Shadow Paging</title>
		<link>http://learnsoftwareprocesses.com/2009/09/06/overview-of-shadow-paging/</link>
		<comments>http://learnsoftwareprocesses.com/2009/09/06/overview-of-shadow-paging/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 11:56:45 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Explanation]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Terms]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Page]]></category>
		<category><![CDATA[Recovery]]></category>
		<category><![CDATA[Recovery Technique]]></category>
		<category><![CDATA[Shadow Paging]]></category>
		<category><![CDATA[Transaction]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=325</guid>
		<description><![CDATA[<p>A computer system, like any other mechanical or electrical system is subject to failure. There are a variety of causes, including disk crash, power failure, software errors, a fire in the machine room, or even sabotage. Whatever the cause, information may be lost. The database must take actions in advance to ensure that the atomicity [...]]]></description>
			<content:encoded><![CDATA[<p>A computer system, like any other mechanical or electrical system is subject to failure. There are a variety of causes, including disk crash, power failure, software errors, a fire in the machine room, or even sabotage. Whatever the cause, information may be lost. The database must take actions in advance to ensure that the atomicity and durability properties of transactions are preserved. An integral part of a database system is a recovery scheme that is responsible for the restoration of the database to a consistent stage that existed prior to the occurrence of the failure.</p>
<p>Shadow paging is a technique used to achieve atomic and durable transactions, and provides the ability to manipulate pages in a database. During a transaction, the pages affected by the transaction are copied from the database file into a workspace such as volatile memory, and modified in that workspace. When a transaction is committed, all of the pages that were modified by the transaction are written from the workspace to unused pages in the database file. During execution of the transaction, the state of the database exposed to the user is that is which the database existed prior to the transaction, since the database file still contains the original versions of the modified pages, as they existed before being copied into the workspace if a user accesses the database before the transaction is complete, or upon recovery of failure, it will appear as though the transaction has not occurred. </p>
<p>- Shadow paging is an alternative to log-based recovery; this scheme is useful if transactions execute serially.<br />
- Basic Idea: Maintain two page tables during the lifetime of a transaction – the current page table, and the shadow page table.<br />
- Store the shadow page table in nonvolatile storage, such that state of the database prior to transaction execution may be recovered.<br />
    * Shadow page table is never modified during execution.<br />
- Initially, both the page tables are identical. Only current page table is used for data item accesses during execution of the transaction.<br />
- Whenever any page is about to be written for the first time<br />
    * A copy of this page is made onto an unused page.<br />
    * The current page table is then made to point to the copy.<br />
    * The update is performed on the copy.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/09/06/overview-of-shadow-paging/' addthis:title='Overview of Shadow Paging '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/09/06/overview-of-shadow-paging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tech Tip: Encapsulation &#8211; What does it mean ?</title>
		<link>http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/</link>
		<comments>http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 17:46:50 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Definition]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Object Oriented]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=261</guid>
		<description><![CDATA[<p>Encapsulation is not a common word in the English language; however, it is an important phrase in the word of software design, especially in the world of Object Oriented Programming. So what does encapsulation mean ? In computer science, the principle of information hiding means the hiding of design decisions in a computer program, those [...]]]></description>
			<content:encoded><![CDATA[<p>Encapsulation is not a common word in the English language; however, it is an important phrase in the word of software design, especially in the world of Object Oriented Programming. So what does encapsulation mean ?<br />
In computer science, the principle of information hiding means the hiding of design decisions in a computer program, those decisions that are most likely to change, thus protecting other parts of the program from change; especially if the design decision is changed. The protection involves providing a stable interface which shields the remainder of the program from the implementation (the details that are most likely to change). The purpose is to achieve potential for change: the internal mechanisms of the component can be improved without impact on other components, or the component can be replaced with a different one that supports the same public interface.<br />
The term encapsulation is often used interchangeably with information hiding, while some make distinctions between these two terms (although to most people these terms seem the same). It seems that people, however, fail to agree on the distinctions between information hiding and encapsulation though one can think of information hiding as being the principle and encapsulation being the technique. A software module hides information by encapsulating the information into a module or other construct which presents an interface.<br />
The concept of encapsulation is a term that is an integral part of object-oriented programming, where the interface to an object is defined by its public methods, while its internal state is represented by private data. Encapsulation is a good principle of object oriented design, and part of well designed systems.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/' addthis:title='Quick Tech Tip: Encapsulation &#8211; What does it mean ? '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/07/29/quick-tech-tip-encapsulation-what-does-it-mean/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tech Tip: Layer 2 Tunneling protocol : L2TP</title>
		<link>http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-layer-2-tunneling-protocol-l2tp/</link>
		<comments>http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-layer-2-tunneling-protocol-l2tp/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 13:49:58 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[L2TP]]></category>
		<category><![CDATA[Layer Two Tunneling Protocol (L2TP)]]></category>
		<category><![CDATA[Point-to-point protocol]]></category>
		<category><![CDATA[PPP]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[virtual private network]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=253</guid>
		<description><![CDATA[<p>Layer Two Tunneling Protocol (L2TP) is an extension of the Point-to-Point Tunneling Protocol (PPTP) used by an Internet service provider (ISP) to enable the operation of a virtual private network (VPN) over the Internet. The two end components that make up L2TP are the L2TP Access Concentrator (LAC) which is the device that physically terminates [...]]]></description>
			<content:encoded><![CDATA[<p>Layer Two Tunneling Protocol (L2TP) is an extension of the Point-to-Point Tunneling Protocol (PPTP) used by an Internet service provider (ISP) to enable the operation of a virtual private network (VPN) over the Internet.<br />
The two end components that make up L2TP are the L2TP Access Concentrator (LAC) which is the device that physically terminates a call and the L2TP Network Server (LNS), which is the device that terminates and possibly authenticates the PPP stream. Once a tunnel is established, the network traffic between the peers is bidirectional. To be useful for networking, higher level protocols are then run through the L2TP tunnel. To facilitate this L2TP session (or call) is established within the tunnel for each higher-level protocol such as PPP. Either the LAC or LNS may initiate sessions. The traffic for each session is isolated by L2TP, so it is possible to set up multiple virtual networks across a single tunnel.<br />
The packets exchanged within an L2TP tunnel are either categorized as control<br />
packets or data packets. L2TP provides reliability features for the control packets, but no reliability for data packets. Reliability, if desired, must be provided by the nested protocols running within each session of the L2TP tunnel.<br />
An L2TP tunnel can extend across an entire PPP session or only across one segment of a two-segment session. This can be represented by four different tunneling models :<br />
- Voluntary Tunnel model : a tunnel is created by the user, typically by the use of an L2TP enabled client which is called the LAC client. The user will send L2TP packets to the Internet Service Provider (ISP) which will forward them on to the LNS.<br />
- Compulsory tunnel model-incoming call: a tunnel is created between ISP LAC and the LNS home gateway.<br />
- Compulsory tunnel model-remote dial the home gateway (LNS) initiates a tunnel to an ISP (LAC) (outgoing call) and instructs the ISP to place a local call to the PPP enabled client which is the remote user.<br />
- L2TP Multi-hop connection : It is a way of redirecting L2TP traffic on behalf of client LACs and LNSs. A Multi-hop connection is established using an L2TP Multi-hop gateway. A tunnel is established from a client LAC to the L2TP Multi-hop gateway and then another tunnel is established between the L2TP Multi-hop gateway and a target LNS. L2TP traffic between client LAC and LNS is redirected to each other through the gateway.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-layer-2-tunneling-protocol-l2tp/' addthis:title='Quick Tech Tip: Layer 2 Tunneling protocol : L2TP '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-layer-2-tunneling-protocol-l2tp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tech Tip: Point-to-point tunneling protocol &#8211; PPTP</title>
		<link>http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-point-to-point-tunneling-protocol-pptp/</link>
		<comments>http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-point-to-point-tunneling-protocol-pptp/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 13:47:30 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Techniques]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Point-to-point protocol]]></category>
		<category><![CDATA[Point-to-point tunneling protocol]]></category>
		<category><![CDATA[PPP]]></category>
		<category><![CDATA[PPTP]]></category>
		<category><![CDATA[Technical Tip]]></category>
		<category><![CDATA[Tunneling]]></category>
		<category><![CDATA[virtual private network]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=251</guid>
		<description><![CDATA[<p>Overview of Point-to-point Protocol:</p> <p>The Point-to-Point Protocol (PPP) provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP was originally emerged as an encapsulation protocol for transporting IP traffic between two peers.PPP is comprised of the following main components: * Encapsulation: A method for encapsulating multi-protocol datagrams. * Link Control Protocol: The LCP [...]]]></description>
			<content:encoded><![CDATA[<p>Overview of Point-to-point Protocol:</p>
<p>The Point-to-Point Protocol (PPP) provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP was originally emerged as an encapsulation protocol for transporting IP traffic between two peers.PPP is comprised of the following main components:<br />
* Encapsulation: A method for encapsulating multi-protocol datagrams.<br />
* Link Control Protocol: The LCP is used to automatically agree upon the encapsulation format options, handle varying limits on sizes of packets, detect a looped-back link and other common misconfiguration errors, and terminate the link.<br />
* Network Control Protocol: An extensible Link Control Protocol (LCP) for establishing, configuring, and testing and managing the data-link connections.<br />
* Configuration: Easy and self configuration mechanisms using Link Control Protocol. This mechanism is also used by other control protocols such as Network Control Protocols (NCPs).</p>
<p>Introduction TO PPTP :</p>
<p>PPTP packages data within PPP packets, then encapsulates the PPP packets within IP packets (datagrams) for transmission through an Internet-based VPN tunnel. PPTP supports data encryption and compression of these packets.<br />
The PPTP protocol is designed to perform the following tasks:<br />
    * Query the status of Comm Servers<br />
    * Provide In-Band management<br />
    * Allocate channels and place outgoing calls<br />
    * Notify NT Server on incoming calls<br />
    * Transmit and Receive User Data with flow control in both directions<br />
    * Notify NT Server on disconnected calls.</p>
<p>PPTP-based Internet remote access VPNs are by far the most common form of PPTP VPN. In this environment, VPN tunnels are created via the following two-step process:<br />
1. The PPTP client connects to their ISP using PPP dial-up networking.<br />
2. Via the broker device (described earlier), PPTP creates a TCP control connection between the VPN client and VPN server to establish a tunnel.</p>
<p>Once the VPN tunnel is established, PPTP supports two types of information flow:<br />
* control messages for managing and eventually tearing down the VPN connection. Control messages pass directly between VPN client and server.<br />
* data packets that pass through the tunnel, to or from the VPN client.</p>
<p>PPTP also supports VPN connectivity via a LAN.<br />
PPTP supports authentication, encryption, and packet filtering. </p>
<p>Though PPTP remains a popular choice for VPNs, one drawback of PPTP is its failure to choose a single standard for authentication and encryption. Two products that both fully comply with the PPTP specification may be totally incompatible with each other if they encrypt data differently.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-point-to-point-tunneling-protocol-pptp/' addthis:title='Quick Tech Tip: Point-to-point tunneling protocol &#8211; PPTP '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/07/23/quick-tech-tip-point-to-point-tunneling-protocol-pptp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Technical Tip : Tunneling</title>
		<link>http://learnsoftwareprocesses.com/2009/07/23/quick-technical-tip-tunneling/</link>
		<comments>http://learnsoftwareprocesses.com/2009/07/23/quick-technical-tip-tunneling/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 13:44:51 +0000</pubDate>
		<dc:creator>ashish</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[L2TP]]></category>
		<category><![CDATA[Layer 2 tunneling protocol]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Point-to-point protocol]]></category>
		<category><![CDATA[Protocols]]></category>
		<category><![CDATA[Transfer of data]]></category>

		<guid isPermaLink="false">http://learnsoftwareprocesses.com/?p=249</guid>
		<description><![CDATA[<p>Tunneling is a way in which data is transferred between two networks securely. All the data that is being transferred are fragmented into smaller packets or frames and then passed through the tunnel. This process is different from a normal data transfer between nodes. Every frame passing through the tunnel will be encrypted with an [...]]]></description>
			<content:encoded><![CDATA[<p>Tunneling is a way in which data is transferred between two networks securely. All the data that is being transferred are fragmented into smaller packets or frames and then passed through the tunnel. This process is different from a normal data transfer between nodes. Every frame passing through the tunnel will be encrypted with an additional layer of tunneling encryption and encapsulation which is also used for routing the packets to the right direction. This encapsulation would then be reverted at the destination with decryption of data which is later sent to the desired destined node.<br />
Example: People have written tunnels over ICMP, DNS, HTTP, e-mail messages, and TCP connections. Tunnels can either by of the &#8220;port redirector&#8221; style (which run on top of any TCP/IP stack) or of the network interface variety (below the TCP/IP stack requiring kernel mod).<br />
VPN connection are of two type, PPTP (Point-to-Point tunneling protocol) and L2TP (Layer 2 tunneling protocol). Both PPTP and L2TP tunnels are nothing but local sessions between two different endpoints. Incase they have to communicate then the tunneling type must be negotiated between the endpoint, either PPTP or L2TP and then more configurable parameters like encryption, address assignment, compression etc must be configured in order to get the best possible security over the internet based private logical tunnel communication. This communication is created, maintained and terminated using a tunnel management protocol.<br />
Data can be sent once the tunnel is in place and clients or server can use the same tunnel to send and receive data across the internetwork. The data transfer depends upon the tunneling protocols being used for the transfer.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://learnsoftwareprocesses.com/2009/07/23/quick-technical-tip-tunneling/' addthis:title='Quick Technical Tip : Tunneling '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://learnsoftwareprocesses.com/2009/07/23/quick-technical-tip-tunneling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

