Thursday, October 23, 2008

Wireless Sensor Networks


By Kazem Sohraby, Daniel Minoli, Taieb Znati,


Publisher: Wiley-Interscience
Number Of Pages: 307
Publication Date: 2007-04-06
Sales Rank: 507382
ISBN / ASIN: 0471743003
EAN: 9780471743002
Binding: Hardcover
Manufacturer: Wiley-Interscience
Studio: Wiley-Interscience

Book Description:

Infrastructure for Homeland Security Environments

Wireless Sensor Networks helps readers discover the emerging field of low-cost standards-based sensors that promise a high order of spatial and temporal resolution and accuracy in an ever-increasing universe of applications. It shares the latest advances in science and engineering paving the way towards a freeduan.com large plethora of new applications in such areas as infrastructure protection and security, healthcare, energy, food safety, RFID, ZigBee, and processing.

Unlike other books on wireless sensor networks that focus on limited topics in the field, this book is a broad introduction that covers all the major technology, standards, and application topics. It contains everything readers need to know to enter this burgeoning field, including current applications and promising research and development; communication and networking protocols; middleware architecture for wireless sensor networks; and security and management.

The straightforward and engaging writing style of this book makes even complex concepts and processes easy to follow and understand. In addition, it offers several features that help readers grasp the material and then apply their knowledge in designing their own wireless sensor network systems:

Examples illustrate how concepts are applied to the development and application of

wireless sensor networks

Detailed case studies set forth all the steps of design and implementation needed to solve real-world problems

Chapter conclusions that serve as an excellent review by stressing the chapter’s key concepts

References in each chapter guide readers to in-depth discussions of individual topics

This book is ideal for networking designers and engineers who want to fully exploit this new technology and for government employees who are concerned about homeland security. With its examples, it is appropriate for use as a coursebook for upper-level undergraduates and graduate students.

Wireless Ad Hoc and Sensor Networks: Theory and Applications



Publisher: Cambridge University Press | Pages:616 | 2008-06-30| ISBN 0521865239 | PDF | 6 MB

If you have to understand and optimize the performance of wireless ad hoc and sensor networks, this explanation provides you with the information and insights you need. It delivers an understanding of the underlying problems, and the techniques to develop efficient solutions and maximize network performance. Taking an algorithmic and theoretical approach, Li dissects key layers of a wireless network, from the physical and MAC layers (covering the IEEE 802.11 and 802.16 protocols, and protocols for wireless sensor networks and Bluetooth) through to the network routing layer. In doing so he reviews the practical protocols, formulates problem mathematically, solve them algorithmically and then analyses the performance. Graduate students, researchers and practitioners needing an overview of the various algorithmic, graph theoretical, computational geometric and probabilistic approach to solving problems in designing these networks will find this an invaluable resource.

Klik HERE to Download

Thursday, January 3, 2008

CISCO ROUTER CONFIGURATION TUTORIAL

Cisco Router Configuration Tutorial


This document covers basic Cisco router IP configuration using the command-line interface


Conventions
Important terms and concepts, when they are introduced, may be displayed in bold. Commands included in the body of the text will be displayed in this font. All names and addresses used in examples are just that, examples, and should not be used on your network. Do not type them in verbatim when configuring your system. Finally, in some examples where the command rquires an IP address as an argument, the IP address may be represented in this way, xx.xx.xx.xx, or aa.bb.cc.dd. You will never actually use these strings when configuring your system. They are mearly a convention of this document to specify that you should substitute the appropriate IP address at that point.



1. What this document covers

There are several methods available for configuring Cisco routers. It can be done over the network from a TFTP server. It can be done through the menu interface provided at bootup, and it can be done from the menu interface provided by using the command setup. It can also be done from a configuration saved to memory. This tutorial does not cover these methods. It covers configuration from the IOS command-line interface only.

Note that this tutorial does not cover physically connecting the router to the networks it will be routing for. It covers operating system configuration only.

1.1 Reasons for using the command-line

There are two main reasons for using the command-line interface instead of a menu driven interface. One is speed. Once you have invested the time to learn the command-line commands, you can perform many operations much more quickly than by using a menu. This is basically true of all command-line vs. menu interfaces. What makes it especially efficient to learn the command-line interface of the Cisco IOS is that it is standard across all Cisco routers.

Secondly, there is the ability to configure individual interfaces without interrupting service on other interfaces. By definition, routers have multiple interfaces. Routers such as those in the Cisco 7200 series have several hot-swapable modules of multiple ports each. It is a valuable skill to be able to configure these individually from the command-line.

1.2 Document structure

The first part of this document will introduce the command modes of the IOS, and the commands necessary to do a basic configuration of a Cisco router. The second part of the document will demonstrate the use of these commands in a case study. The case study is an actual configuration completed by the author of this document.

2. Getting started

Initially you will probably configure your router from a terminal. If the router is already configured and at least one port is configured with an IP address, and it has a physical connection to the network, you might be able to telnet to the router and configure it across the network. If it is not already configured, then you will have to directly connect to it with a terminal and a serial cable. With any Windows box you can use Hyperterminal to easily connect to the router. Plug a serial cable into a serial (COM) port on the PC and the other end into the console port on the Cisco router. Start Hyperterminal, tell it which COM port to use and click OK. Set the speed of the connection to 9600 baud and click OK. If the router is not on, turn it on.

If you wish to configure the router from a Linux box, either Seyon or Minicom should work. At least one of them, and maybe both, will come with your Linux distribution.

Often you will need to hit the Enter key to see the prompt from the router. If it is unconfigured it will look like this:

Router>

If it has been previously configured with a hostname, it will look like this:

hostname of router>

If you have just turned on the router, after it boots it will ask you if you wish to begin initial configuration. Say no. If you say yes, it will put you in the menu interface. Say no.

2.1 Modes

The Cisco IOS command-line interface is organized around the idea of modes. You move in and out of several different modes while configuring a router, and which mode you are in determines what commands you can use. Each mode has a set of commands available in that mode, and some of these commands are only available in that mode. In any mode, typing a question mark will display a list of the commands available in that mode.

Router>?

2.2 Unprivileged and privileged modes

When you first connect to the router and provide the password (if necessary), you enter EXEC mode, the first mode in which you can issue commands from the command-line. From here you can use such unprivileged commands as ping, telnet, and rlogin. You can also use some of the show commands to obtain information about the system. In unprivileged mode you use commands like, show version to display the version of the IOS the router is running. Typing show ? will diplay all the show commands available in the mode you are presently in.

Router>show ?

You must enter privileged mode to configure the router. You do this by using the command enable. Privileged mode will usually be password protected unless the router is unconfigured. You have the option of not password protecting privileged mode, but it is HIGHLY recommended that you do. When you issue the command enable and provide the password, you will enter privileged mode.

To help the user keep track of what mode they are in, the command-line prompt changes each time you enter a different mode. When you switch from unprivileged mode to privileged mode, the prompt changes from:

Router>

to

Router#

This would probably not be a big deal if there were just two modes. There are, in fact, numerous modes, and this feature is probably indispensable. Pay close attention to the prompt at all times.

Within privileged mode there are many sub-modes. In this document I do not closely follow Cisco terminology for this hierarchy of modes. I think that my explanation is clearer, frankly. Cisco describes two modes, unprivileged and privileged, and then a hierarchy of commands used in privileged mode. I reason that it is much clearer to understand if you just consider there to be many sub-modes of privileged mode, which I will also call parent mode. Once you enter privileged mode (parent mode) the prompt ends with a pound sign (#). There are numerous modes you can enter only after entering privileged mode. Each of these modes has a prompt of the form:

Router(arguments)#

They still all end with the pound sign. They are subsumed within privileged mode. Many of these modes have sub-modes of their own. Once you enter priliged mode, you have access to all the configuration information and options the IOS provides, either directly from the parent mode, or from one of its submodes.

3. Configuring

If you have just turned on the router, it will be completely unconfigured. If it is already configured, you may want to view its current configuration. Even if it has not been previously configured, you should familiarize yourself with the show commands before beginning to configure the router. Enter privileged mode by issuing the command enable, then issue several show commands to see what they display. Remember, the command show ? will display all the showcommands aavailable in the current mode. Definately try out the following commands:

Router#show interfaces
Router#show ip protocols
Router#show ip route
Router#show ip arp

When you enter privileged mode by using the command enable, you are in the top-level mode of privileged mode, also known in this document as "parent mode." It is in this top-level or parent mode that you can display most of the information about the router. As you now know, you do this with the show commands. Here you can learn the configuration of interfaces and whether they are up or down. You can display what IP protocols are in use, such as dynamic routing protocols. You can view the route and ARP tables, and these are just a few of the more important options.

As you configure the router, you will enter various sub-modes to set options, then return to the parent mode to display the results of your commands. You also return to the parent mode to enter other sub-modes. To return to the parent mode, you hit ctrl-z. This puts any commands you have just issued into affect, and returns you to parent mode.

3.1 Global configuration (config)

To configure any feature of the router, you must enter configuration mode. This is the first sub-mode of the parent mode. In the parent mode, you issue the command config.

Router#config
Router(config)#

As demonstrated above, the prompt changes to indicate the mode that you are now in.

In connfiguration mode you can set options that apply system-wide, also refered to as "global configurations." For instance, it is a good idea to name your router so that you can easily identify it. You do this in configuration mode with the hostname command.

Router(config)#hostname ExampleName
ExampleName(config)#

As demonstrated above, when you set the name of the host with the hostname command, the prompt immediately changes by replacing Router with ExampleName. (Note: It is a good idea to name your routers with an organized naming scheme.)

Another useful command issued from config mode is the command to designate the DNS server to be used by the router:

ExampleName(config)#ip name-server aa.bb.cc.dd
ExampleName(config)#ctrl-Z
ExampleName#

This is also where you set the password for privileged mode.

ExampleName(config)#enable secret examplepassword
ExampleName(config)#ctrl-Z
ExampleName#

Until you hit ctrl-Z (or type exit until you reach parent mode) your command has not been put into affect. You can enter config mode, issue several different commands, then hit ctrl-Z to activate them all. Each time you hit ctrl-Z you return to parent mode and the prompt:

ExampleName#

Here you use show commands to verify the results of the commands you issued in config mode. To verify the results of the ip name-server command, issue the command show host.

3.2 Configuring interfaces

Cisco interface naming is straightforward. Individual interfaces are referred to by this convention:

media type slot#/port#

"Media type" refers to the type of media that the port is an interface for, such as Ethernet, Token Ring, FDDI, serial, etc. Slot numbers are only applicable for routers that provide slots into which you can install modules. These modules contain several ports for a given media. The 7200 series is an example These modules are even hot-swapable. You can remove a module from a slot and replace it with a different module, without interrupting service provided by the other modules installed in the router. These slots are numbered on the router.

Port number refers to the port in reference to the other ports in that module. Numbering is left-to-right, and all numbering starts at 0, not at one.

For example, a Cisco 7206 is a 7200 series router with six slots. To refer to an interface that is the third port of an Ethernet module installed in the sixth slot, it would be interface ethernet 6/2. Therefor, to display the configuration of that interface you use the command:

ExampleName#show interface ethernet 6/2

If your router does not have slots, like a 1600, then the interface name consists only of:

media type port#

For example:

ExampleName#show interface serial 0

Here is an example of configuring a serial port with an IP address:

ExampleName#config
ExampleName(config)#interface serial 1/1
ExampleName(config-if)#ip address 192.168.155.2 255.255.255.0
ExampleName(config-if)#no shutdown
ExampleName(config-if)#ctrl-Z
ExampleName#

Then to verify configuration:

ExampleName#show interface serial 1/1

Note the no shutdown command. An interface may be correctly configured and physically connected, yet be "administratively down." In this state it will not function. The command for causing an interface to be administratively down is shutdown.

ExampleName(config)#interface serial 1/1
ExampleName(config-if)#shutdown
ExampleName(config-if)#ctrl-Z
ExampleName#show interface serial 1/1

In the Cisco IOS, the way to reverse or delete the results of any command is to simply put no infront of it. For instance, if we wanted to unassign the IP address we had assigned to interface serial 1/1:

ExampleName(config)#interface serail 1/1
ExampleName(config-if)#no ip address 192.168.155.2 255.255.255.0
ExampleName(config-if)ctrl-Z
ExampleName#show interface serial 1/1

Configuring most interfaces for LAN connections might consist only of assigning a network layer address and making sure the interface is not administratively shutdown. It is usually not necessary to stipulate data-link layer encapsulation. Note that it is often necessary to stipulate the appropriate data-link layer encapsulation for WAN connections, such as frame-relay and ATM. Serial interfaces default to using HDLC. A discussion of data-link protocols is outside the scope of this document. You will need to look up the IOS command encapsulation for more details.

3.3 Routing

IP routing is automatically enabled on Cisco routers. If it has been previously disabled on your router, you turn it back on in config mode with the command ip routing.

ExampleName(config)#ip routing
ExampleName(config)#ctrl-Z

There are two main ways a router knows where to send packets. The administrator can assign static routes, or the router can learn routes by employing a dynamic routing protocol.

These days static routes are generally used in very simple networks or in particular cases that necessitate their use. To create a static route, the administrator tells the router operating system that any network traffic destined for a specified network layer address should be forwarded to a similiarly specified network layer address. In the Cisco IOS this is done with the ip route command.

ExampleName#config
ExampleName(config)#ip route 172.16.0.0 255.255.255.0 192.168.150.1
ExampleName(config)#ctrl-Z
ExampleName#show ip route

Two things to be said about this example. First, the packet destination address must include the subnet mask for that destination network. Second, the address it is to be forwarded to is the specified addres of the next router along the path to the destination. This is the most common way of setting up a static route, and the only one this document covers. Be aware, however, that there are other methods.

Dynamic routing protocols, running on connected routers, enable those routers to share routing information. This enables routers to learn the routes available to them. The advantage of this method is that routers are able to adjust to changes in network topologies. If a route is physically removed, or a neighbor router goes down, the routing protocol searches for a new route. Routing protocols can even dynamically choose between possible routes based on variables such as network congestion or network reliability.

There are many different routing protocols, and they all use different variables, known as "metrics," to decide upon appropriate routes. Unfortunately, a router needs to be running the same routing protocols as its neighbors. Many routers can, however, run mutliple protocols. Also, many protocols are designed to be able to pass routing information to other routing protocols. This is called "redistribution." The author has no experience with trying to make redistribution work. There is an IOS redistribute command you can research if you think this is something you need. This document's compagnion case study describes an alternative method to deal with different routing protocols in some circumstances.

Routing protocols are a complex topic and this document contains only this superficial description of them. There is much to learn about them, and there are many sources of information about them available. An excelent source of information on this topic is Cisco's website, http://www.cisco.com.

This document describes how to configure the Routing Information Protocol (RIP) on Cisco routers. From the command-line, we must explicitly tell the router which protocol to use, and what networks the protocol will route for.

ExampleName#config
ExampleName(config)#router rip
ExampleName(config-router)#network aa.bb.cc.dd
ExampleName(config-router)#network ee.ff.gg.hh
ExampleName(config-router)#ctrl-Z
ExampleName#show ip protocols

Now when you issue the show ip protocols command, you should see an entry describing RIP configuration.

3.4 Saving your configuration

Once you have configured routing on the router, and you have configured individual interfaces, your router should be capable of routing traffic. Give it a few moments to talk to its neighbors, then issue the commands show ip route and show ip arp. There should now be entries in these tables learned from the routing protocol.

If you turned the router off right now, and turned it on again, you would have to start configuration over again. Your running configuration is not saved to any perminent storage media. You can see this configuration with the command show running-config.

ExampleName#show running-config

You do want to save your successful running configuration. Issue the command copy running-config startup-config.

ExampleName#copy running-config startup-config

Your configuration is now saved to non-volatile RAM (NVRAM). Issue the command show startup-config.

ExampleName#show startup-config

Now any time you need to return your router to that configuration, issue the command copy startup-config running-config.

ExampleName#copy startup-config running-config

3.5 Example configuration

  1. Router>enable
  2. Router#config
  3. Router(config)#hostname N115-7206
  4. N115-7206(config)#interface serial 1/1
  5. N115-7206(config-if)ip address 192.168.155.2 255.255.255.0
  6. N115-7206(config-if)no shutdown
  7. N115-7206(config-if)ctrl-z
  8. N115-7206#show interface serial 1/1
  9. N115-7206#config
  10. N115-7206(config)#interface ethernet 2/3
  11. N115-7206(config-if)#ip address 192.168.150.90 255.255.255.0
  12. N115-7206(config-if)#no shutdown
  13. N115-7206(config-if)#ctrl-z
  14. N115-7206#show interface ethernet 2/3
  15. N115-7206#config
  16. N115-7206(config)#router rip
  17. N115-7206(config-router)#network 192.168.155.0
  18. N115-7206(config-router)#network 192.168.150.0
  19. N115-7206(config-router)#ctrl-z
  20. N115-7206#show ip protocols
  21. N115-7206#ping 192.168.150.1
  22. N115-7206#config
  23. N115-7206(config)#ip name-server 172.16.0.10
  24. N115-7206(config)#ctrl-z
  25. N115-7206#ping archie.au
  26. N115-7206#config
  27. N115-7206(config)#enable secret password
  28. N115-7206(config)#ctrl-z
  29. N115-7206#copy running-config startup-config
  30. N115-7206#exit

4. Troubleshooting

Inevitably, there will be problems. Usually, it will come in the form of a user notifying you that they can not reach a certain destination, or any destinattion at all. You will need to be able to check how the router is attempting to route traffic, and you must be able to track down the point of failure.

You are already familiar with the show commands, both specific commands and how to learn what other show commands are available. Some of the most basic, most useful commands you will use for troubleshooting are:

ExampleName#show interfaces
ExampleName#show ip protocols
ExampleName#show ip route
ExampleName#show ip arp

4.1 Testing connectivity

It is very possible that the point of failure is not in your router configuration, or at your router at all. If you examine your router's configuration and operation and everything looks good, the problem might be be farther up the line. In fact, it may be the line itself, or it could be another router, which may or may not be under your administration.

One extremely useful and simple diagnostic tool is the ping command. Ping is an implementation of the IP Message Control Protocol (ICMP). Ping sends an ICMP echo request to a destination IP address. If the destination machine receives the request, it responds with an ICMP echo response. This is a very simple exchange that consists of:

Hello, are you alive?

Yes, I am.

ExampleName#ping xx.xx.xx.xx

If the ping test is successful, you know that the destination you are having difficulty reaching is alive and physically reachable.

If there are routers between your router and the destination you are having difficulty reaching, the problem might be at one of the other routers. Even if you ping a router and it responds, it might have other interfaces that are down, its routing table may be corrupted, or any number of other problems may exist.

To see where packets that leave your router for a particular destination go, and how far, use the trace command.

ExampleName#trace xx.xx.xx.xx

It may take a few minutes for this utility to finish, so give it some time. It will display a list of all the hops it makes on the way to the destination.

4.2 debug commands

There are several debug commands provided by the IOS. These commands are not covered here. Refer to the Cisco website for more information.

4.3 Hardware and physical connections

Do not overlook the possibility that the point of failure is a hardware or physical connection failure. Any number of things can go wrong, from board failures to cut cables to power failures. This document will not describew troubleshooting these problems, except for these simple things.

Check to see that the router is turned on. Also make sure that no cables are loose or damaged. Finally, make sure cables are plugged into the correct ports. Beyond this simple advice you will need to check other sources.

4.4 Out of your control

If the point of failure is farther up the line, the prolem might lie with equipment not under your administration. Your only option might be to contact the equipment's administrator, notify them of your problem, and ask them for help. It is in your interest to be courtious and respectful. The other administrator has their own problems, their own workload and their own priorities. Their agenda might even directly conflict with yours, such as their intention to change dynamic routing protocols, etc. You must work with them, even if the situation is frustrating. Alienating someone with the power to block important routes to your network is not a good idea.

5. More documentation

For more information on Cisco products, and many documents on networking in general: http://www.cisco.com


Reference : http://www.linuxforum.net/doc/cisco-conf.html

Sunday, December 23, 2007

Windows XP Tips & Tricks

1. Removing extra fonts for speed
Windows XP has over 250 different font variations that it loads for use when the system boots up. Of these 250 variations, only a handful are used on a regular basis. Most likely, you really only use the core Windows fonts, such as Tahoma,Times New Roman, Arial, Verdana,Trebuchet, and MS Sans Serif. Simply put, loading a lot of fonts will take more time, because the system has to load and index each font. Thankfully, there is a very simple answer to this: Just remove the fonts that you do not use from your font directory. The best way is to move the unused fonts to a separate folder on your system so that if you ever want to use one of those extra fonts again, you just have to copy it back to the fonts folder. Part II — Increasing Your System’s Performance
Recommended Fonts to Keep

Font Name : Reason
Verdana: Often used on Web pages and applications
Arial : Often used within applications such as Outlook Trebuchet Used in the Windows interface on the Title Bar
Tahoma : Used in the Windows interface on the Menu Bar as well as in many applications and Web pages
Times New Roman : The default font for Web pages as well as applications such as Word
MS Sans Serif : Used in some applications and Web pages

Control panel-font-(select font and delete)


2. Increse Bandwidth By 20% (XP Users)
Well if you are tired of the lessened speed of your internet then here is the better approach to increse the bandwidth.Actually the Xp reserves the bandwidth for Quality of Service(QOS) which works for downloading of the xp updates in parallel with the motion of the normal course internet. If we try to manage the Qos then we can augment user bandwidth by 20%.
Just Follow the process :-
Click Start–>Run–>type “gpedit.msc”.
This opens the group policy editor.
Then go to: Local Computer Policy–>Computer Configuration–>Administrative Templates–>Network–>QOS Packet Scheduler–>Limit Reservable Bandwidth
Double click on Limit Reservable bandwidth. It will say it is not configured, but the truth is under the ‘Explain’ tab .
Then Enable it and set Bandwidth to 0% click ok.

3. Increase the speed of your menus
This will decrease the delay in opening the menu, when u pause with your mouse on a menu.
a) Open the registry editor by start/run/regedit.
b) Locate HKEY_CURRENT_USER\Control Panel\Desktop.
c) In the right pane find the value name MenuShowDelay.
d) The default value for MenuShowDelay is 400, set it to any value less than 400 or 0.
For this tweak to take effect you may need to Logoff or Restart windows.

4. Creating a desktop shortcut for locking your computer
If you use your computer in an area where others may have access to it, and there are things on your system you would rather have kept confidential, locking your desktop when you leave the computer is an essential task. Here's a recipe for a desktop shortcut that will lock your computer in two easy clicks:
Right click on an empty area of the desktop and choose 'new' then 'shortcut.' The create shortcut wizard will open; in the first text box, type '%windir%\System32\rundll32.exe user32.dll,LockWorkStation' and then give your shortcut an appropriate name on the next page, and hit 'finish.'
You will notice that the shortcut you created has a blank icon. To select a more appropriate one, right click on the shortcut and hit 'properties.' In the 'shortcut' tab, click the 'change icon' button.
In the 'look for icons in this file' box, type '%SystemRoot%\system32\SHELL32.dll' then click 'ok' to see a range of icons for your new shortcut. Choose an appropriate icon. Your desktop locking shortcut is now ready for use. Test it out.

5. Open command prompt for current folder path by right click.
Open the registry editor by start/run/regedit.
Navigate to 'HKEY_CLASSES_ROOT \ Directory \ shell' .
Create a new key called 'Command.' .
Edit the default REG_SZ value for this new key with the text you wish to see when you right click a folder to open the command prompt window.
Assign it a name that's appropriate, for example: 'open command prompt in this folder' or something similar.
Under the new 'command' key, create another key called 'command.'
Give the default value in this key the value of 'cmd.exe /k "cd %L"'
After you restart your computer, you will be able to right click on any folder and select your new command to instantly open a command prompt window to that specific folder.

6. To enable Transfer mode to DMA.
It displays information about your system's direct memory access (DMA). DMA transfers data between system memory and hardware devices without passing it through the CPU. This feature is very useful for cd-dvd writers for fastest writing.
a) Right click on My Computer and select Properties.
b) Click on 'Hardware' tab and then click on 'Device Manager'.
c) From the tree expand IDE ..... Controllers.
d) Right click on Primary and secondary IDE channel and select 'Properties'.
e) In the Advanced Settings' make sure the Transfer mode for device 0 and device 1 is selected to 'DMA if available'.

7. To turn on clear type font.
a) Go to Control Panel.
b) Double Click on 'Display Properties'.
c) Click on 'Appearance' tab.
d) Click on 'Effects'.
e) Make sure 'Use the following method to smooth edges of screen fonts' is checked. Under it from the dropdown box select 'ClearType'.
f) Click on 'OK'.
g) Click on 'Apply' and see the difference. Give your eyes a couple of minutes to adjust to the new font. You would probably hate it at first but maybe you might like it if you use it for an hour or so.

8. Enable/Disable Boot Defrag
Start/Run/Regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DfrgBootOptimizeFunction Right click, modify and change to value to Y to enable, N to disable.

9. Archiving Messages in Yahoo Messenger.
For yahoo messenger users who want to store all chat conversations they can do so by enabling Message Archiving feature available with Yahoo Messneger chat program. To enable Message Archiving follow the below steps :
a) Sign In with our Yahoo username and password.
b) From the menu bar click on Messenger ---> Preferences.
c) From the left pane select --> Archive.
d) From the option on the right select 'Save all my messages on this computer'.
e) Click on 'Apply'.

To view message archive.
a) Sign In with our Yahoo username and password.
b) From the menu bar click on Contacts ---> Message Archive.

Google