Saturday, April 9, 2011


PTCL is working on a project, after which, it will be able offer broadband internet of 50 Mpbs, said a statement issued by the company.An industry first, Pakistan’s PTCL will be using VDSL2 Bonding technology to provide existing digital subscriber line (DSL) customers with speeds up to 50 Mbps.The project leverages Alcatel-Lucent’s VDSL2 Bonding expertise and should be completed by the end of the second quarter of 2011.
VDSL2 Bonding takes two copper-based VDSL2 lines per subscriber and aggregates them – almost doubling the bandwidths available to existing customers, or expanding high-speed broadband access to areas that are underserved today. Using VDSL2 Bonding, service providers can extend the life of their existing copper infrastructure – supporting the delivery of bandwidth-intensive services such as triple-play voice, data and IPTV.
According to a recent study from market research firm IHS iSuppli, simultaneous access to applications such as peer-to-peer file sharing, online gaming, streaming audio, VoIP and IPTV will soon require bandwidths between 50 and 100Mbps. This fits exactly with VDSL2’s capabilities, especially when combined with innovations such as Bonding and Vectoring.
Commenting on this achievement President and CEO PTCL Walid Irshaid has stated
“PTCL is the first service provider worldwide to deploy a commercial VDSL2 Bonding solution that aims at doubling the bandwidths provided to its existing customers. We are thus setting the trend in international telecoms, and are taking the broadband experience in Pakistan to the next level.
Alcatel-Lucent’s VDSL2 Bonding technology and comprehensive services and network integration expertise is helping us to keep pace with the increasing bandwidth requirements of our customers, while capitalizing on the existing copper infrastructure. This will enable us to quickly deliver high-quality, high-speed and high-availability business and residential services – even in areas where it was not possible before.”
Alcatel-Lucent is providing PTCL with its Intelligent Services Access Manager (ISAM) IP access platform – which is the first platform to commercially support VDSL2 Bonding. Alcatel-Lucent will also supply Bonding-ready customer premises equipment (CPE). Alcatel-Lucent serves as the project’s master network integrator, and is providing a range of professional services – including project management, installation and commissioning, integration and technical support.
“We understand that service providers need the right tools to bridge the gap until fiber deployments have become ubiquitous. VDSL2 Bonding is an ideal approach: service providers like PTCL can almost double the speeds supported by their DSL infrastructure or expand their network’s reach. This makes it a fast and cost-effective approach to bridging the digital divide,” said Aadil Rauf CEO Alcatel-Lucent Pakistan Ltd.
“This commercial VDSL2 Bonding project with PTCL marks the beginning of VDSL2 Bonding deployments outside of the US – where the technology is typically used to expand the reach of the copper network.”
Alcatel-Lucent is the driving force behind the world’s most advanced VDSL2 roll-outs, with customers such as Belgacom, STC, Swisscom and Telekom Austria. Our VDSL2 solution has also been deployed by competitive operators, including M-net (Germany) and South Yorkshire Digital Region (UK).

Thursday, April 7, 2011


Many users are currently asking how they can find out if they will be able to get higher speeds. One of the more accurate ways of finding out is asking your ISP to perform a WOOSH test which will advise your ISP of your line "Loop Loss" and SNR Margin. Most ISPs are reluctant to perform these tests due to the time element involved, unless it’s for fault diagnosis.
However you should be able to get line stats from your modem / router yourself. The figures you are looking for are Attenuation and the SNR (noise) Margin. Both of these figures are measured in decibels (dB).

Line Attenuation

Line attention is in relation to the "loop loss" on your line. The further you are away from the exchange the higher your attenuation figure will be as the signal loss increases. The lower your attenuation figure the more chance you have of getting the faster speeds.

SNR (Signal to Noise Ratio)

The SNR margin can only be measured from your own property and therefore to be measured correctly may need an engineer visit to check this figure from the ISP test socket behind your master phone socket. Your SNR Margin can fluctuate on a day to day basis and may vary depending upon local equipment, conditions and interference. An upgrade in speed often causes the SNR to decrease by up to 5 dB. The higher your SNR figure then the better your line quality and therefore a higher chance of getting faster speeds. It is very important to note that SNR plays much more importance in maxdsl than it did on the traditional ADSL product.

Line Length

Ideally your line length should be below 3.5km from the exchange to get a 2Mb connection and 6km for a 1Mb connection.*

*The new reach limits came into effect on the 6th of September 2004. Prior to this date the limits were 6km for a rate adaptive product (512k) and 3km for a fixed product (1 & 2Mb).

The Results

When determining what speed you can get the following figures may be used as a guide. Remember you must use the downstream figures.

Downstream Attenuation

0-42 dB - 2Mbps
43-60 dB - 1Mbps
> 60 dB - 512kbps
If you already have ADSL enabled you may be able to add an extra couple of dB on those figures e.g. 44 dB would be the limit for a 2Mb line.

Downstream SNR Margin

Should be at least 10 dB to get ADSL - ideally above 12dB to get traditional fixed ADSL. Anything less than this will see frequent disconnections and other problems. Maxdsl works slightly differently and your router will try to sync at the highest speed it can whilst maintaining a safe SNR Margin.
As previously stated these figures should be used as a guideline as it is possible to have a very good SNR Margin but poor attenuation figure and vice versa.

An explanation of SNR and SNR Margin *

The SNR Margin is not the same as the Signal to Noise Ratio (SNR), although it is related.
The SNR is the signal-to-noise ratio. It is the ratio between the strength of the signal and the background noise on the line and is universally expressed as a logarithmic ratio (decibels or dB). For a given line the SNR remains essentially fixed whatever the speed you are running.
ADSL routers and modems actually report the SNR Margin, and the term used to describe this varies but is generally “SNR Margin”, “Noise Margin”, “Margin”, “Receive Margin”.
The SNR Margin is the difference between the actual SNR and the SNR required to run at a given speed. For example, if you need 20dB of SNR to run at 512Kbps, and the actual line SNR is 45dB, then the SNR Margin is 25dB.  
The main reason why SNR margins fall as the line speed increases is that the required SNR increases. For example, if increasing the speed from 512Kbps to 2MBps raises the required SNR from 20db to 30dB then the margin left will fall from 25dB to 15dB (as 45dB-30dB = 15dB.) The one refinement is that if it is necessary for a faster speed to use some higher frequencies then these will have inherently lower SNR and that will also contribute to the reduced SNR margin somewhat.
The SNR Margin is there to absorb fluctuations in interference on the line, and therefore to keep the service reliable. The figure of 6dB is normally accepted as enough headroom to make the link reliable, but some lines need more - 10dB is often accepted as a safer target.
Note that the target figures in the list are a reasonable summary, but it is the "SNR Margin" that is being talked about, not the "SNR". Despite this, it also does not invalidate the point that the most important factor on the reliability of a line at a given speed is the SNR Margin.
Also, as neither the SNR nor SNR Margin can be established until a line is enabled (or validated with special test gear), then the estimated attenuation has to be used to come up with a viable speed. Once a line is enabled and working, it is possible - at least in theory - to gather information about the actual SNR and SNR Margin and use that to work out the actual speed the line will be able to sustain.

Friday, April 1, 2011


When creating applications that work with data, The Microsoft.NET framework provide a set of classes that aid in this process. The classes that you use for common data tasks such as communicating, storing, fetching and updating are all allocated in the System.Data namespace. These data access classes are collectively known as ADO.NET
There are a number of databases with which you can connect, and the type of classes that you use is dependent upon the database.

Creating a Database in SqlServer 2005 Express Edition:
Express edition is installed free of cost with visual studio 2005. This limited featured provides sufficient facility for creating and using database.
Following are the steps that should be followed in order to create an Sql Server database file

After clicking “OK” the “Data source configuration wizard” is appeared, click cancel.
In the solution explorer, the file of the database can be seen. 

Double click the file to open it in server explorer.

In order to create a new table, right click the tables folder which will cause a pop-up menu to be displayed. Click the “Add New Table” button
How to create a Table: Creating a table store courses
This section explains how to create tables by taking a table of “courses” as an example. After clicking “Add New Table” in the server explorer following screen will be displayed

Following figure demonstrates the creation of a new column and setting it as Identity. Specifying a column as identity causes it to become an auto number column. 

In order to specify a column as primary key, right click a column and select the option “set primary key”

Add another column with the name “coursename”.
After clicking the save button the “choose name” dialog box will be displayed. Type a name e.g. “courses” then press ok

In the solution explorer right click the name of table to display the menu. In the menu choose show table data.

Enter data in the table as shown in the following figure

Before communicating with any database we need to connect with it. This purpose is fulfilled by the objects of connection class. The connection class only provides a pipeline or link, and it does not contain information about queries, neither it holds data.
When using the connection, the first step is to decide which connection class to use. The primary connection classes available are:

SqlConnection: For SqlServer2000 and SqlServer2005

OledbConnection: Oledb Datasources (MS-ACCESS)

Odbc Connection : Open Database Connectivity (ODBC)

OracleConnection: Oracle 7.3, 8i, 9i


Among many properties of the connection class one is the ConnectionString property. The connection string provides information such as the name of database and the location of database.
Following is the code that creates the connection object for an SqlServer Database file. 

Note: the connection string can be obtain from the properties window after clicking the database in solution explorer
The objects of Command class hold the query as per which the data is to be retrieved. In addition the command object also stores a connection object representing the database to which the query has to be sent.
Like Connection class, there are multiple versions of the Command class for individual databases.
The DataReader object enables a client to retrieve a read-only, forward-only stream of data from a data source. Results are returned as the query executes and are stored in the network buffer on the client until you request them using the Read method of the DataReader class.
Following code shows a sample code to demonstrate Connection, Command and DataReader

Managing the data file:
By default, when you build a project, the database file is copied from the root project folder into the output (bin) folder (select Show All Files in Solution Explorer to view the bin folder). This behavior is due to the Copy to Output Directory property of the file. The default setting of the Copy to Output Directory property is Copy always. This means that the database in the bin folder will be copied every time you build, debug, or run your application (that is, copied from the root project folder to the output directory).

The relationship between the two versions of your database file is dependent on the setting of the Copy to Output Directory property, which is described in the table below.
During application development, any changes made to the data (during run time within your application) are being made to the database in the bin folder. For example, when you press F5 to debug your application, you are connected to the database in the bin folder.

Copy to Output Directory setting
Copy if newer
This option is not recommended. The database file is copied from the project directory to the bin directory the first time the project is built. Every subsequent time you build the project, the Date Modified property of the files is compared. If the file in the project folder is newer, it is copied to the bin folder, replacing the file currently there. If the file in the bin folder is newer, then no files are copied. This setting persists any changes made to the data during run time, meaning every time you run your application and save changes to the data, those changes are visible the next time you run your application.
Caution noteCaution
The database file can change even when no changes are made to the data. Simply opening a connection (for example, expanding the Tables node in Server Explorer) on a data file can mark it as newer. Because of this unpredictable behavior, we recommended that you do not use this option.
Copy always (default)
The database file is copied from the project directory to the bin directory every time you build your application. Every time you build your application and save changes to the data, those changes are overwritten when the original file is copied to the bin directory, replacing the copy that you just changed. You do not see the updated data the next time you run your application. Any changes made to the data file in the output folder will be overwritten the next time you run the application.
Do not copy
The file is never copied or overwritten by the project system. Because your application creates a dynamic connection string that points to the database file in the output directory, this setting only works for local database files when you manually copy the file yourself. You must manually copy the file to the output directory after setting to Do not copy.

Working with data in Disconnected environment:
ADO.NET provides several objects, such as DataSet and DataTable objects, for caching data in applications so that one can disconnect from the database and work with the data in application and then reconnect when you are ready to save updates back to the data source. 
Displaying data on the form using disconnected environment:
In order to display the data in the form of grid, click on the menu Data -> Show Data Sources. This will display the following window

Drag and drop the table that you want on the form. This will result in the modification of interface by the addition of navigation bar for navigating records and a DataGridView.

In order to get data from the database a DataAdapter is required. In Disconnected environment it is the responsibility of DataAdapter to bring the data from database into the dataset and to update the data in database as per the dataset. The adapter opens the connection only when it is required for example while getting data from database and updating the database.
Creating adapter:
In order to create the adapter it should be first added to the toolbox. This can be done by right clicking the toolbox and clicking the menu item “choose items”

This will result in the following screen from which SqlDataAdapter should be checked. Once “OK” button is pressed, SqlDataAdapter can be seen on the toolbox.

Drag and drop the SqlDataAdapter from the toolbox on to the form, which will result in the execution of “Data Adapter Configuration wizard”.
The first window of the wizard allows one to choose the database from which the data is to be fetched.
Click “Next” after choosing the database. Screen that follows asks about whether to use procedure or “Sql Query”. Choose “Use Sql Statements” and then click “next”.

It will result in the “Generate Sql Statement” screen being displayed. Click on the Query Builder to open the  following screen will be displayed

Choose the table from which you want to get data and press “Add” button. As a result of this the following screen is displayed. Choose the columns that you want to include and a query will be automatically generated.

Clicking “OK” button will transfer the control back to the “Generate SQL Statements screen”, click “Next” to display the final screen i.e. “Wizard Results”. This screen informs whether, Insert, Update and Delete queries have been successfully generated or not. Click finish to transfer the control back to the “form designer”.  

After performing the above steps, an instance of SqlDataAdapter named as SqlDataAdapter1 will be available on the form. The final step is to call “Fill” method in order to populate data in the DataSet.
In addition on click event of the “Save” button in the BindingNavigator, “Update” method of the adapter will be called. Following is the code for both