Thursday, August 20, 2009

Practice exercise for technical interview of government and private sector by AJIT VERMA, JTO BSNL (Ex- college lecturer jnit)

1. What are the various registers in 8085? - Accumulator register, Temporary
register, Instruction register, Stack Pointer, Program Counter are the various registers in 8085 .
2. In 8085 name the 16 bit registers? - Stack pointer and Program counter all have 16 bits.
3. What are the various flags used in 8085? - Sign flag, Zero flag, Auxillary flag, Parity flag, Carry flag.
4. What is Stack Pointer? - Stack pointer is a special purpose 16-bit register in the Microprocessor, which holds the address of the top of the stack.
5. What is Program counter? - Program counter holds the address of either the first byte of the next instruction to be fetched for execution or the address of the next byte of a multi byte instruction, which has not been completely fetched. In both the cases it gets incremented automatically one by one as the instruction bytes get fetched. Also Program register keeps the address of the next instruction.
6. Which Stack is used in 8085? - LIFO (Last In First Out) stack is used in 8085.In this type of Stack the last stored information can be retrieved first.
7. What happens when HLT instruction is executed in processor? - The Micro Processor enters into Halt-State and the buses are tri-stated.
8. What is meant by a bus? - A bus is a group of conducting lines that carriers data, address, & control signals.
9. What is Tri-state logic? - Three Logic Levels are used and they are High, Low, High impedance state. The high and low are normal logic levels & high impedance state is electrical open circuit conditions. Tri-state logic has a third line called enable line.
10. Give an example of one address microprocessor? - 8085 is a one address microprocessor.
11. In what way interrupts are classified in 8085? - In 8085 the interrupts are classified as Hardware and Software interrupts.
12. What are Hardware interrupts? - TRAP, RST7.5, RST6.5, RST5.5, INTR.
13. What are Software interrupts? - RST0, RST1, RST2, RST3, RST4, RST5, RST6, RST7.
14. Which interrupt has the highest priority? - TRAP has the highest priority.
15. Name 5 different addressing modes? - Immediate, Direct, Register, Register indirect, Implied addressing modes.
16. How many interrupts are there in 8085? - There are 12 interrupts in 8085.
17. What is clock frequency for 8085? - 3 MHz is the maximum clock frequency for 8085.
18. What is the RST for the TRAP? - RST 4.5 is called as TRAP.
19. In 8085 which is called as High order / Low order Register? - Flag is called as Low order register & Accumulator is called as High order Register.
20. What are input & output devices? - Keyboards, Floppy disk are the examples of input devices. Printer, LED / LCD display, CRT Monitor are the examples of output devices.
21. Can an RC circuit be used as clock source for 8085? - Yes, it can be used, if an accurate clock frequency is not required. Also, the component cost is low compared to LC or Crystal.
22. Why crystal is a preferred clock source? - Because of high stability, large Q (Quality Factor) & the frequency that doesn’t drift with aging. Crystal is used as a clock source most of the times.
23. Which interrupt is not level-sensitive in 8085? - RST 7.5 is a raising edge-triggering interrupt.
24. What does Quality factor mean? - The Quality factor is also defined, as Q. So it is a number, which reflects the lossness of a circuit. Higher the Q, the lower are the losses.
25. What are level-triggering interrupt? - RST 6.5 & RST 5.5 are level-triggering interrupts.

Tuesday, July 7, 2009

The Web's most dangerous keywords to search for by Manish Kasera (3rd year, IT)


Which is the most dangerous keyword to search for using public search engines these days? It’s “screensavers” with a maximum risk of 59.1 percent, according to McAfee’s recently released report The Web’s Most Dangerous Search Terms“.

Upon searching for 2,658 unique popular keywords and phrases across 413,368 unique URLs, McAfee’s research concludes that lyrics and anything that includes ‘free” has the highest risk percentage of exposing users to malware and fraudulent web sites. The research further states that the category with the safest risk profile are health-related search terms.

Here are more findings:

  • The categories with the worst maximum risk profile were lyrics keywords (26.3%) and phrases that include the word “free” (21.3%). If a consumer landed at the riskiest search page for a typical lyrics search, one of four results would be risky
  • The categories with the worst average risk profile were also lyrics sites (5.1%) and “free” sites (7.3%)
  • The categories with the safest risk profile were health-related search terms and searches concerning the recent economic crisis. The maximum risk on a single page of queries on the economy was 3.5% and only 0.5% risky across all results. Similarly, even the worst page for health queries had just 4.0% risky sites and just 0.4% risk overall

This isn’t the first time McAfee is attempting to assess the risk percentage of particular search terms, as the company did similar studies in 2006 and 2007. And whereas the research attempts to raise awareness on malicious practices applied by cybercriminals, it also has the potential to leave a lot of people with a false feeling of security since it’s basically scratching the surface of a very dynamic problem.

With cybercriminals anticipating the dynamic nature of Web 2.0, they too, adapt dynamically to the changing environment. In the context of blackhat SEO, like true marketers they apply basic mass marketing keyword practices, which may get wrongly interpreted as the use of particular keywords only.

In reality, mass marketing from blackhat SEO perspective means a very diverse set of topics usually consisting of hundreds of thousands of syndicated news/video/blog titles aggregated over a recent period of time, all operated by the same group. Therefore, the search term “screensavers” or any related phrases is among the hundreds of thousands of others part of a single malware campaign.

In October, 2008, cybercriminals taking advantage of blackhat SEO for malicious purposes, started syndicating popular Google Trends keywords in real-time in order to occupy the top ten search results with hundreds of automatically registered Windows Live Spaces serving Zlob variants as fake codecs back then. This dynamic approach not only undermines any static lists of “most dangerous keywords to search for”, but also, tipped more cybercriminals on the basics of event-based blackhat SEO campaigns serving malware.

For instance, in an attempt to hijack the anticipated traffic of people searching for the Twitter XSS worm Stalk Daily/Mikeyy, blackhat SEO campaigns using related keywords started appearing in public search engines serving scare ware. At least that’s what appeared at the first place, since a much more in-depth research revealed that the Mikeyy keywords are part of a diverse blackhat SEO farm. The same Ukrainian group took advantage of the swine flu buzz and launched another blackhat SEO campaign earlier this month, again consisting of swine flu related keywords in between the diverse set of topics that they’ve generated on the hundreds of domains participating.

Furthermore, taking into consideration the fact that nowadays legitimate and compromised web sites serve more exploits and malware than the purely malicious ones (77% of Websites that carry malicious code are legitimate sites; Thousands of legitimate sites SQL injected to serve IE exploit; Over 1.5 million pages affected by the recent SQL injection attacks; Gumblar - approximately 17,000 compromised sites), a compromised web site’s index would undermine any such static lists of dangerous keywords to search for based on the diverse content that it’s providing.

So, which is the most dangerous keyword to search for on the Web? That’s a variable which cybercriminals play with at any moment

Sunday, May 24, 2009

About eHealth® Live Health By Sohit Agarwal (Lecturer CS/IT)

Getting Started
This topic introduces the Live Health™ applications and
their system requirements.

Live Health Overview
Live Health consists of the following applications:
• Live Exceptions
• Live Status®
• Live Trend

About Live Exceptions
Live Exceptions provides real-time reporting of alarm
conditions to network operations center (NOC) and systems,
application, and network management personnel. It identifies
problems that include delay, errors, failures, security, or
configuration changes. It can display information about alarms
in its Browser, as well as send traps (alarms) to network
management systems (NMSs) and other trap destinations. For
integrated NMSs, users can view a condition, identify the
system component that generated it, and then run eHealth
historical reports to analyze the problem further. Live
Exceptions provides consistency and reduces alarm duplication
by using eHealth historical data to ensure that the alarms are
meaningful. If your account has the appropriate permissions,
you can also acknowledge or annotate an alarm.
Live Exceptions includes default profiles for all technologies.
The profiles organize variables by delay, availability, unusual
workload, and latency. Users with Live Health administrator
permissions define conditions by specifying variables to
examine, thresholds to detect, and intervals over which to
examine the data.


Fault Manager
eHealth Live Health — Fault Manager is an enhancement to
Live Exceptions and the Live Health suite of tools. It allows
eHealth to receive Simple Network Management Protocol
(SNMP) trap messages from other systems and devices and to
take actions based on Live Exceptions alarm rules. Fault
Manager can receive traps from any device or other NMS (such
as HP® OpenView). By default, Fault Manager can recognize a
variety of trap types (that is, it has certified trap types);
however, administrators may define additional trap sources for
use with Fault Manager. You can also request that Concord
certify additional trap types.
Unlike other trap-collecting applications that create logs of trap
messages, Fault Manager interprets and processes trap
information. It reduces the noise of duplicate and repeated
messages and alerts you to the problems and conditions that
interest you. When the eHealth system receives a trap, it
processes the trap based on Live Exceptions rules and profiles
that the Live Health administrator configures. Thus, you can
configure Fault Manager to raise an alarm for the associated
element or to ignore various trap messages.

Fault Manager takes advantage of the eHealth poller
configuration to associate the IP address in the trap message
with an element. You see the more informative element
name—not just the IP address. Thus, when traps raise alarms,
you can drill down to additional reports to obtain more detailed
information about the element and the problem.
If Fault Manager receives a trap for an IP address that eHealth is
not monitoring, it can still report the problem and raise an
alarm for the unknown element.
When Fault Manager receives traps from other sources, it
processes this data as it does data collected by eHealth: it
compares the performance statistics to rules defined in profiles
and generates intelligent alarms when thresholds are exceeded.
You can view these alarms in the Live Exceptions Browser,
which provides access to element-specific drill-down
information when available.
eHealth SystemEDGE and eHealth application insight modules
(AIMs) provide a source for out-of-the-box traps to Fault
Manager. You can use the SystemEDGE agent to monitor
thresholds, processes, log files, Windows® NT events, and
process groups so that you can respond to problems
immediately. A

About Distributed Live Health
Distributed Live Health combines the real-time performance
and availability management offered by Live Health with the
scalability of Distributed eHealth. Distributed eHealth allows
you to monitor up to one million of your critical resources
using several eHealth systems that are connected in a
configuration referred to as a cluster. Distributed Live Health
allows you to monitor and manage the alarms raised by
Live Exceptions across the same one million elements.

From the Live Exceptions Browser running on a Distributed
eHealth Console, you can monitor alarms from systems across
the cluster. You can also drill down on an alarm to view
historical and real-time reports from the eHealth system that
generated that alarm. This allows you to manage the
performance and availability of systems around the world from
a single point.





About Live Status
Live Status provides a high-level view of the current status of
your critical resources as determined by Live Exceptions. Live
Status displays a diagram of the elements in a group list. Icons
that represent the elements are color-coded to reflect their
alarm and monitoring status. You can look at the display and
quickly assess the status of your resources based on color
changes in a logically grouped graph.
You can identify the trouble spots at a glance and quickly drill
down for details to understand the nature of the problem.


About Live Trend
Statistics elements are members
of an eHealth element type that
includes various LAN and WAN
interfaces; Frame Relay circuits;
Asynchronous Transfer Mode
(ATM) paths, ports, and
channels; various components of
routers and systems, as well as the
router and systems themselves;
various remote access resources;
and applications, such as
Microsoft® Exchange and
Oracle™.

Live Trend is an application that you can use to create charts
that monitor statistics elements that you are polling using
eHealth. You can create a single chart or multiple charts in
various styles to represent both element trends (a single
element with multiple variables) and variable trends (a single
variable for multiple elements). Live Trend updates the charts
each time eHealth polls the elements.
You can display the following types of data:
• As polled
• Fast sampled
• Up to 48 hours of history data



System Requirements
A system or workstation that has
an installed version of the Live
Health software is called a Live
Health client.

If you plan to download and install the Live Health applications
on your local workstation, your workstation must meet the
following requirements. Unless stated otherwise, these
requirements apply to all supported language versions of
eHealth.

TURBOCHARGERS & SUPERCHARGERS by Bhushit Dave(6th sem, EC)

Let's start with the similarities. Both turbochargers and superchargers are called forced induction systems. They compress the air flowing into the engine­. The advantage of compressing the air is that it lets the engine stuff more air into a cylinder. More air means that more fuel can be stuffed in, too, so you get more power from each explosion in each cylinder. A turbo/supercharged engine produces more power overall than the same engine without the charging.­
­The typical boost provided by either a turbocharger or a supercharger is 6 to 8 pounds per square inch (psi). Since normal atmospheric pressure is 14.7 psi at sea level, you can see that you are getting about 50-percent more air into the engine. Therefore, you would expect to get 50-percent more power. It's not perfectly efficient, though, so you might get a 30-percent to 40-percent improvement instead.
­The key difference between a turbocharger and a supercharger is its power supply. Something has to supply the power to run the air compressor. In a supercharger, there is a belt that connects directly to the engine. It gets its power the same way that the water pump or alternator does. A turbocharger, on the other hand, gets its power from the exhaust stream. The exhaust runs through a turbine, which in turn spins the compressor.
There are tradeoffs in both systems. In theory, a turbocharger is more efficient because it is using the "wasted" energy in the exhaust stream for its power source. On the other hand, a turbocharger causes some amount of back pressure in the exhaust system and tends to provide less boost until the engine is running at higher RPMs. Superchargers are easier to install but tend to be more expensive
When people talk about race cars or high-performance sports cars, the topic of turbochargers usually comes up. Turbochargers also appear on large diesel engines. A turbo can significantly boost an engine's horsepower without significantly increasing its weight, which is the huge benefit that makes turbos so popular!
In this article, we'll learn how a turbocharger increases the power output of an engine while surviving extreme operating conditions. We'll also learn how wastegates, ceramic turbine blades and ball bearings help turbochargers do their job even better. Turbochargers are a type of forced induction system. They compress the air flowing into the engine. The advantage of compressing the air is that it lets the engine squeeze more air into a cylinder, and more air means that more fuel can be added. Therefore, you get more power from each explosion in each cylinder. A turbocharged engine produces more power overall than the same engine without the charging. This can significantly improve the power-to-weight ratio for the engine.
­In order to achieve this boost, the turbocharger uses the exhaust flow from the engine to spin a turbine, which in turn spins an air pump. The turbine in the turbocharger spins at speeds of up to 150,000 rotations per minute (rpm) -- that's about 30 times faster than most car engines can go. And since it is hooked up to the exhaust, the temperatures in the turbine are also very high.
Turbochargers and Engines
One of the surest ways to get more power out of an engine is to increase the amount of air and fuel that it can burn. One way to do this is to add cylinders or make the current cylinders bigger. Sometimes these changes may not be feasible -- a turbo can be a simpler, more compact way to add power, especially for an aftermarket accessory.
Turbochargers allow an engine to burn more fuel and air by packing more into the existing cylinders. The typical boost provided by a turbocharger is 6 to 8 pounds per square inch (psi). Since normal atmospheric pressure is 14.7 psi at sea level, you can see that you are getting about 50 percent more air into the engine. Therefore, you would expect to get 50 percent more power. It's not perfectly efficient, so you might get a 30- to 40-percent improvement instead.
One cause of the inefficiency comes from the fact that the power to spin the turbine is not free. Having a turbine in the exhaust flow increases the restriction in the exhaust. This means that on the exhaust stroke, the engine has to push against a higher back-pressure. This subtracts a little bit of power from the cylinders that are firing at the same time.­
Turbocharger Design
The turbocharger is bolted to the exhaust manifold of the engine. The exhaust from the cylinders spins the turbine, which works like a gas turbine engine. The turbine is connected by a shaft to the compressor, which is located between the air filter and the intake manifold. The compressor pressurizes the air going into the pistons.
The exhaust from the cylinders passes through the turbine blades, causing the turbine to spin. The more exhaust that goes through the blades, the faster they spin.
On the other end of the shaft that the turbine is attached to, the compressor pumps air into the cylinders. The compressor is a type of centrifugal pump -- it draws air in at the center of its blades and flings it outward as it spins.
In order to handle speeds of up to 150,000 rpm, the turbine shaft has to be supported very carefully. Most bearings would explode at speeds like this, so most turbochargers use a fluid bearing. This type of bearing supports the shaft on a thin layer of oil that is constantly pumped around the shaft. This serves two purposes: It cools the shaft and some of the other turbocharger parts, and it allows the shaft to spin without much friction.
There are many tradeoffs involved in designing a turbocharger for an engine.
Turbocharger Parts
One of the main problems with turbochargers is that they do not provide an immediate power boost when you step on the gas. It takes a second for the turbine to get up to speed before boost is produced. This results in a feeling of lag when you step on the gas, and then the car lunges ahead when the turbo gets moving.
One way to decrease turbo lag is to reduce the inertia of the rotating parts, mainly by reducing their weight. This allows the turbine and compressor to accelerate quickly, and start providing boost earlier. One sure way to reduce the inertia of the turbine and compressor is to make the turbocharger smaller. A small turbocharger will provide boost more quickly and at lower engine speeds, but may not be able to provide much boost at higher engine speeds when a really large volume of air is going into the engine. It is also in danger of spinning too quickly at higher engine speeds, when lots of exhaust is passing through the turbine.
A large turbocharger can provide lots of boost at high engine speeds, but may have bad turbo lag because of how long it takes to accelerate its heavier turbine and compressor. Luckily, there are some tricks used to overcome these challenges.
Most automotive turbochargers have a wastegate, which allows the use of a smaller turbocharger to reduce lag while preventing it from spinning too quickly at high engine speeds. The wastegate is a valve that allows the exhaust to bypass the turbine blades. The wastegate senses the boost pressure. If the pressure gets too high, it could be an indicator that the turbine is spinning too quickly, so the wastegate bypasses some of the exhaust around the turbine blades, allowing the blades to slow down.
Some turbochargers use ball bearings instead of fluid bearings to support the turbine shaft. But these are not your regular ball bearings -- they are super-precise bearings made of advanced materials to handle the speeds and temperatures of the turbocharger. They allow the turbine shaft to spin with less friction than the fluid bearings used in most turbochargers. They also allow a slightly smaller, lighter shaft to be used. This helps the turbocharger accelerate more quickly, further reducing turbo lag.
Ceramic turbine blades are lighter than the steel blades used in most turbochargers. Again, this allows the turbine to spin up to speed faster, which reduces turbo lag.

Tuesday, May 12, 2009

SAS Technology by Ekta Gupta (6th sem, CS)

Every company, regardless of size, wants to be able to save money and have flexible mass storage equipment. When systems grow larger, making equipment choices can have a substantial impact on the bottom line. In enterprise server environments where cost, performance, benefits and architecture are key considerations, transitioning from parallel SCSI or ATA to SAS, provides the user unprecedented choices in storage solutions.

A way to keep costs lower and maintain flexibility is to transition to Serial Attached SCSI (SAS). Current server solutions are not very flexible with respect to the type of storage they deploy. Systems designers for direct-attached storage (DAS) must choose between a low-cost storage interconnect like parallel ATA, or a mainstream interconnect like parallel U320 SCSI. The SCSI Trade Association (STA) has recognized the benefit of SAS over its predecessor Ultra320 SCSI and has endorsed SAS technology as the future of mainstream SCSI.

SAS technology encompasses a set of innovations that changes the familiar parallel SCSI interconnect between a server and its storage devices. Along the way, SAS embraces the best features of other serial storage solutions and provides a roadmap for innovation and improvement now and into the future.

SAS supports dual-port and full duplex communication between servers and disk drives. It extends the reliability and bandwidth opportunities by using expanders to create wide ports, which are multi-path connections between the server and storage solutions. It also improves manageability of the storage solution by providing Serial Management Protocol (SMP) to monitor connections between individual devices and identify points of failure or reduced performance. This technology also uses a smaller interface connector, taking advantage of small form factor SAS drives, thus enabling the development of highly space-efficient and lower power server and storage drives.

By virtue of its multi-protocol support, a SAS-based storage solution will enable customers to deploy a standardized server interface and choose the most appropriate storage for their application. Low-cost SATA drives currently being used in desktop solutions will be available for less demanding applications, while enterprise-class SAS drives will provide the reliability and performance demanded of mainstream server applications. The native SAS protocol uses the familiar SCSI command set and aspects of the Fibre Channel (FC) transport layer, which prepares SAS for low-cost bridge solutions to FC or iSCSI Storage Area Networks (SANs) in the future.

SAS solutions complement mid-range to high-end enterprise servers and workstations using internal storage, direct attached storage (DAS) or network-attached storage (NAS). Flexibility provided by SAS allows customers to tailor storage for solutions that provide mixed pools of storage within cost constraints. End users benefit from the cost reductions that SAS/Serial ATA compatibility provides to back-plane manufacturers, system OEMs and VARs. The ability to change from SAS to SATA drives without purchasing new systems simplifies the upgrade process and helps hedge end-user investments on future technology advancements.

By designing in compatibility with SATA drives at the connector, SAS systems allow a lower cost SATA alternative to the higher reliability and performance of SAS drives. SAS systems communicate with the existing 1.5-Gb/s SATA drives as well as the high-speed serial, signaling of the new 3-Gb/s SAS drives--with potential speeds to 12-Gb/s. SAS also enhances the point-to-point SATA topology by incorporating expanders, which are low-cost switches that allow a significant number of SATA or SAS drives to be connected to the server.

SAS and SATA compatibility enables VARs and integrators to easily configure a system for an individual customer, simply by installing the preferred disk drives. VARs can focus on matching the processing and storage needs of the customer with fewer compromises because of storage interface limitations. There is no longer a need to worry about installing the proper backplane and cables. The reduced complexity and flexibility can improve the overall customer experience.

The compatibility between SAS and SATA has widespread benefits for enterprise users. One of the primary benefits of compatibility between SAS systems and SATA drives will be the ability to install a common infrastructure of cables, connectors, backplanes, cabinets and components. SAS leverages the SATA interconnect technology to have compatibility with lower cost drives.

SAS, as a point-to-point architecture, establishes a link directly from the controller to a disk drive or through an expander-switching matrix. However, in existing parallel SCSI, only two devices can communicate at once, and as throughput needs increase, the shared-access medium can become a bandwidth bottleneck which affects scalability. Shared access topologies also are typically more complex and have arbitration schemes that are more time consuming than point-to-point architectures.

Monday, May 11, 2009

Mobile Email Solutions Using Push Email and PIM Synchronization by Aditya Mishra (6th sem, EC)

1. An Introduction to Mobile Email
While the complexity and requirements that large scale solutions must achieve have greatly increased during the last few years, a growing number of service providers have also started to include support for enterprise functionalities in order to better meet and adapt to their customers’ ever changing messaging needs.

With email quickly becoming the primary means of communication for both corporate and individual users, the competition in the market also gets tougher every day. Consequently, a new breed of email services has to be appended to already existing portfolios in order to attract new customers and keep current service subscribers happy. This is where offering mobile email functionalities such as the Push technology or PIM database synchronization can make the difference.

2. Push Email and PIM Synchronization
Instant access to messages, contacts, calendar, or tasks regardless of time and location makes it easier for mobile workers to manage business operations, to stay in touch with customers and partners, and abreast of the latest changes and events on the market. It also ensures a better balance between professional and personal lives, enabling frequent travelers to keep in close contact with family and friends at all times. As a result, instant email retrieval has become more and more popular in both business and personal communication environments.

Smartphones and PDAs have also raised the bar in this sense and personal information management along with wireless (GPRS, 3G etc.) email access are visibly embraced by a fast-growing community of users. This is a known fact and the trend seems to pick up the pace with each month.

How It Works:
Email and PIM synchronization is the next best thing in email since the invention of the IMAP protocol. Through a technology, now known as “Push Email”, the tables have turned on email servers and clients. Normally, the client (desktop or mobile) would connect to the server and log in with the account credentials. Once the authentication is complete the client would poll the account by asking the server if any new messages are available.

As opposed to this, Push email instructs the server to instantly notify the client when a new email arrives. The main difference between these two approaches consists in the fact that the server will always know when a new message exists, while the client does not and has to check for them in a timely fashion. Push email is also much more economic in terms of data transfer amount and bandwidth usage. Establishing a single connection and maintaining it in an idle state is a very relaxed way to help the server contact the client whenever required.

Almost the same thing happens when speaking about PIM database synchronization. Appointments, tasks, notes and all of the data stored as PIM information are translated into email objects formatted in a special way, so that the contents can later be interpreted appropriately. So both emails and PIM data rely on the same standard and look a lot alike, despite some major differences that will not be detailed in the present whitepaper. What needs to be remembered is that from an email server’s perspective, the above mentioned objects are considered emails in the general meaning of the word.

3. AXIGEN Mobility Services
At this time, quite a lot of PIM sync and email pushing technologies exist and they are all implemented differently, even though they perform the same task. By far, the most popular technology, used world-wide, is Microsoft’s ActiveSync protocol. Therefore, AXIGEN has chosen to first implement support for this specific technology in order to reach and provide this feature to the largest base of users possible. The series of mobile devices and handsets that support the ActiveSync protocol includes Nokia / SymbianOS devices, Windows Mobile (since 2003 up to latest version), Apple iPhone and other devices that can have compatible software installed.

Thursday, May 7, 2009

Overlay network by Ms.Kajal Sharma (Lecturer, CS/IT)

With the rapid advancement of Internet and computing technology, much more aggregate information and computing resources are available, overlay networks provides better utilization of growing Internet information and resources. Overlay network brings more flexibility to add higher layer functionalities for today's Internet to support Quality of Service (QoS). Overlay network is virtual communication structure that is logically laid over a physical network. Nodes in overlay network can be thought of as being connected by virtual or logical link, each of which corresponds to a path, perhaps through many physical links, in the underlying network. An overlay network has also been proposed as a way to improve Internet routing such as through quality of service guarantees to achieve higher-quality streaming media. Overlay networking capability can be used to enhance features like overlay multicast at application service level.


Figure 1

Figure 1 demonstrates an overlay network. An overlay network has a virtual topology, which exists by the agreement of the overlay nodes. Packets are transmitted only along the virtual links between the overlay nodes using the underlying unicast mechanism provided by IP. In contrast to the Internet, in which routers are a shared resource that cannot be specialized for a particular purpose, the members of an overlay network may provide specialized services specific to the application at hand. An Overlay Network is a set of tunnels formed among network edges to support a common packet processing function other than the ones supported in the conventional network. The primary advantage of the overlay network architecture is that it does not require universal network support to be useful. This enables faster deployment of desired network functions and adds flexibility to the service infrastructure, as it allows the co-existence of multiple overlay networks each supporting a different set of service functions. An Overlay Multicast Network is one type of overlay network that provides multicast services to end users on top of the general Internet unicast infrastructure.
Overlay networks allow both network developers and application users to easily design and implement their own communication environment and protocols on top of the Internet, such as data routing and file sharing management. Data routing in overlay networks can be very flexible, quickly detecting and avoiding network congestions by adaptively selecting paths. The high connectivity of increasingly more end-nodes to join overlay networks enables effective sharing of a huge amount of information and resources available on the Internet. QoS (Quality of Service) is one of the most important unsolved research issues in this area.
Overlay networks such as the Chord, Pastry and Content Addressable Network (CAN), create a virtual topology on top of the physical topology. The overlay multicasting approach assumes no multicasting support in the network layer, and constructs a multicast delivery tree in the application layer. The overlay multicast tree consists of IP tunnels connecting edge routers in the network. IP Multicast is the traditional method for group communication over the Internet. Overlay Multicast, a substitute technology for IP Multicast has become a good topic for researchers.

NANOROBOTICS by Abhishek Kumar (4th sem, EC)


Nanorobotics is the technology of creating machines or robots at or close to the microscopic scale of a nanometer (10-9 meters). More specifically, nanorobotics refers to the still largely hypothetical nanotechnology engineering discipline of designing and building nanorobots. Nanorobots (nanobots, nanoids, nanites or nanonites) would be typically devices ranging in size from 0.1-10 micrometers and constructed of nanoscale or molecular components. As no artificial non-biological nanorobots have yet been created, they remain a hypothetical concept.
Nanorobotics theory Since nanorobots would be microscopic in size, it would probably be necessary for very large numbers of them to work together to perform microscopic and macroscopic tasks. These nanorobot swarms, both those which are incapable of replication (as in utility fog) and those which are capable of unconstrained replication in the natural environment (as in grey goo and its less common variants), are found in many science fiction stories, such as the Borg nanoprobes in Star Trek. The word "nanobot" (also "nanite", "nanogene", or "nanoant") is often used to indicate this fictional context and is an informal or even pejorative term to refer to the engineering concept of nanorobots. The word nanorobot is the correct technical term in the nonfictional context of serious engineering studies.
Some proponents of nanorobotics, in reaction to the grey goo scare scenarios that they earlier helped to propagate, hold the view that nanorobots capable of replication outside of a restricted factory environment do not form a necessary part of a purported productive nanotechnology, and that the process of self-replication, if it were ever to be developed, could be made inherently safe. They further assert that free-foraging replicators are in fact absent from their current plans for developing and using molecular manufacturing.

In such plans, future medical nanotechnology has been posited to employ nanorobots injected into the patient to perform treatment on a cellular level. Such nanorobots intended for use in medicine are posited to be non-replicating, as replication would needlessly increase device complexity, reduce reliability, and interfere with the medical mission. Instead, medical nanorobots are posited to be manufactured in hypothetical, carefully controlled nanofactories in which nanoscale machines would be solidly integrated into a supposed desktop-scale machine that would build macroscopic products.
The most detailed discussions of nanorobotics, including specific design issues such as sensing, power communication, navigation, manipulation, locomotion, and onboard computation, have been presented in the medical context of nanomedicine by Robert Freitas. Although much of these discussions remain at the level of unbuildable generality and do not approach the level of detailed engineering, the Nanofactory Collaboration[3], founded by Robert Freitas and Ralph Merkle in 2000, is a focused ongoing effort involving 23 researchers from 10 organizations and 4 countries that is developing a practical research agenda specifically aimed at developing positionally-controlled diamond mechanosynthesis and a diamondoid nanofactory that would be capable of building diamondoid medical nanorobots.
Nubot is an abbreviation for "Nucleic Acid Robots." Nubots are synthetic robotics devices at the nanoscale. Representative Nubots include the several DNA walkers reported by Ned Seeman's group at NYU, Niles Pierce's group at Caltech, John Reif's group at Duke University, Chengde Mao's group at Purdue, and Andrew Turberfield's group at the University of Oxford.

Tuesday, May 5, 2009

5 Ways to Avoid Adware and Malware by Manish Kasera (6th sem, IT)

Most people have systems in place to protect their computers and vital information when they’re browsing the Internet. However, with new adware and malware threats identified regularly, any browsing can leave a computer exposed, especially if the user is unaware of what to look out for. Since adware and malware removal are more difficult than prevention, it makes sense to be educated and prevent a malware infection before it happens.

First, it’s important to distinguish between adware and ad-supported software. Ad-supported software is considered a legitimate alternative for consumers who do not wish to pay for software such as games and utilities. With ad-supported software, the ad is actually part of the software application and the user clearly understands they will be presented advertisements in exchange for free use of the software.

These ads are often displayed in the application screen or are text-based links. Ad-supported software generally does not employ ad formats like pop-ups and pop-unders. Upon exiting the software, the ads disappear. Quite often, the user has the option of disabling the ads by purchasing the software outright.
Adware, on the other hand, is often installed unknowingly by a user and presents advertisements externally to the software that generates them. The software that generates these ads is installed on the user’s computer, and users often will not know what generated the ad or how to stop the ads from being displayed. Ads delivered by adware are often shown as pop-ups or pop-unders. However, not all pop-ups and pop-unders are generated by adware; some are legitimate advertisements, known as site-based ads that come from a web site and not from software on the computer.

Adware is considered by most people to be a form of malware, specifically a form of spyware. Spyware, in its most benign form, monitors the Internet browsing habits or tendencies of the user. These habits are sent back to the originator, who then uses that information to send the user even more “targeted”, and sometimes annoying, ads.
Once on a system, spyware secretly installs itself and goes to work. Spyware is often very difficult for the average user to remove. While spyware infections are purposefully difficult to identify, there are some signs that it exists: for example there can be unwanted changes to homepage settings, new wallpaper backgrounds, new screensavers, or additions, deletions or alterations to security settings and favorites list.

Other signs of a spyware infection include pop-up ads that aren't related to usually-visited web sites, commonly manifested in advertisements that are adult content in nature or, believe it or not, advertisements for anti-virus or other anti-malware software commonly known as rogue software.

Anti-spyware software works by identifying spyware installed on a system and removing it. Since spyware is installed like any other application it will leave traces of itself in the system registry and other places on the computer.
It is important to remember that not all companies who claim their software is malware-free are really telling the truth. There is always a chance that adware, spyware, or other malware is in disguise so to speak, and that programs with embedded spyware may not state its existence at all.

Always stay on the side of caution and be sure to research privacy policies and licensing agreements that come with freeware, and become familiar with Internet lists of companies reported to be using spyware such as the one published by StopBadware.org. Much like a firewall or anti-virus program, anti-spyware software is crucial to maintain optimal protection and security on a computer or network.
Malware, on the other hand, is intended to not only access a computer without the owner’s consent, but is created either to damage it, use it for illicit purposes, or to steal personal information. This category includes all kinds of viruses, worms, Trojans, root kits, and the like. Anti-malware software that uses some form of heuristics to identify and stop bad programs before they can infect are a best bet.

Be most careful when considering downloading anything off the Internet, and if doing so, consider these five tips to ensure that playing it safe is playing it smart!

1. Be proactive – Have inbound and outbound firewall-enabled plus antivirus and anti-spyware software installed. This will alert that someone is trying to access a targeted computer to put software on it. Major antivirus companies have adware and malware protection combined. Norton and CA are popular suite options. AVG, Avira and Avast, offers free stand-alone anti-virus software while Lavasoft and SuperAntiSpyware offer free stand-alone anti-spyware software.
It’s also a good idea use a broadband router instead of directly connecting your computer to a high-speed modem. Most broadband routers include a hardware firewall which provides additional protection. Finally, ensure that you have all the latest security updates for your operating system and applications by visiting the manufacturer’s websites or turning on automatic updates.

2. Stick to familiar websites – When searching for common information, make sure it is from a reputable source. If during the search the site that pops up is not recognized, at the very least, be wary of the links and downloads offered on that site. Popular, heavy-traffic sites such as About, YouTube, MSN, Yahoo, Wikipedia, and any number of familiar news sites are sure to be safer bets.

3. Download from reputable sites – Downloading presents the greatest danger of introducing adware or malware into a system. Accidentally downloading an unwanted program instead of the one that is really wanted is a common mistake. As well, downloading one program, only to have it bundled with potentially unwanted software program can be a common problem. Reputable downloads sites like CNET Download.com, Softonic and Softpedia offer editor and user ratings for more insight into other people’s experiences with a particular program.

4. Check for unfamiliar programs – Every now and then, it’s a good idea to check the applications programs listed in the computer control panel to see if there are programs that you don’t recognize. If something doesn’t look like it belongs there and it can be identified as unnecessary, remove it. If it cannot be determined what exactly it is, search for that particular program online, or run a scan with one of the options outlined in step five.

5. Run regular scans – Anti-virus and anti-spyware software should be running regular and automatic system scans to detect issues. Real-time protection should be turned on as well as automatic updates. Research continues to show that people are commonly infected by malware simply because it was not up-to-date.
By following these five guidelines, you can increase your chances of staying safe online. Additionally, certified experts such as BluePhone can help with these five guidelines to ensure that proper precautions are taken with properly installed protection. And in the event that a mistake has been made, they can uninstall malicious programs and make everything right again.

Saturday, May 2, 2009

Cook–Levin theorem by Mr.Mukesh Bhukar (Lecturer, CS/IT)

In computational complexity theory, the Cook–Levin theorem, also known as Cook's theorem, states that the Boolean satisfiability problem is NP-complete. That is, any problem in NP can be reduced in polynomial time by a deterministic Turing machine to a problem of determining whether a Boolean formula is satisfiable.

An important consequence of the theorem is this: if there were a deterministic polynomial time algorithm for solving Boolean satisfiability, then there would exist a deterministic polynomial time algorithm for solving all problems in NP. Crucially, the same follows for any NP complete problem as these are also in NP.

The question of whether such an algorithm exists is called the P=NP problem and it is widely considered the most important unsolved problem in theoretical computer science.


Contributions

The concept of NP-completeness was developed in the late 1960s and early 70s in parallel by researchers in the US and the USSR. In the US in 1971, Stephen Cook published his paper "The complexity of theorem proving procedures" in conference proceedings of the newly-founded ACM Symposium on Theory of Computing. Richard Karp's subsequent paper, "Reducibility among combinatorial problems", generated renewed interest in Cook's paper by providing a list of 21 NP-complete problems. Cook and Karp received a Turing Award for this work.

The theoretical interest in NP-completeness was also enhanced by the work of Theodore P. Baker, John Gill, and Robert Solovay who showed that solving NP-problems in Oracle machine models requires exponential time.

In the USSR, a result equivalent to Baker, Gill, and Solovay's was published in 1969 by M. Dekhtiar. Later Levin's paper, "Universal search problems", was published in 1973, although it was mentioned in talks and submitted for publication a few years earlier.

Levin's approach was slightly different from Cook's and Karp's in that he considered search problems, which require finding solutions rather than simply determining existence. He provided 6 such NP-complete search problems, or universal problems, and additionally found that each has an algorithm which solves it in optimal time.

Definitions

A decision problem is in NP iff it can be solved by a non-deterministic algorithm in polynomial time.

An instance of the Boolean satisfiability problem is a Boolean expression that combines Boolean variables using Boolean operators.

An expression is satisfiable iff there is some assignment of truth values to the variables that makes the entire expression true.

Proof

This proof is based on the one given by Garey and Johnson.

There are two parts to proving that the Boolean satisfiability problem (SAT) is NP-complete. One is to show that SAT is an NP problem. The other is to show that every NP problem can be reduced to an instance of a SAT problem by a polynomial-time many-one reduction.

SAT is in NP because any assignment of Boolean values to Boolean variables that is claimed to satisfy the given expression can be verified in polynomial time by a deterministic Turing machine. This means that SAT is in NP by an equivalence theorem found in many textbooks, for example Sipser's Introduction to the Theory of Computation, section 7.3.

Now suppose that a given problem in NP can be solved by the nondeterministic Turing machine M = (Q,Σ,s,F,δ), where Q is the set of states, Σ is the alphabet of tape symbols, s\in Qis the initial state, F\subseteq Qis the set of accepting states, and \delta : Q\times\Sigma\rightarrow Q\times\Sigma\times\{-1,+1\}is the set of transitions. Suppose further that M accepts or rejects an instance of the problem in time p(n) where n is the size of the instance and p is a polynomial function.

For each input I we specify a Boolean expression which is satisfiable if and only if the machine M accepts I.

The Boolean expression uses the variables set out in the following table. Here, q\in Q, -p(n)\leq i\leq p(n), j\in\Sigma, and 0\leq k\leq p(n).

Variables

Intended interpretation

How many?

Tijk

True if tape cell i contains symbol j at step k of the computation.

O(p(n)²)

Hik

True if the M's read/write head is at tape cell i at step k of the computation.

O(p(n)²)

Qqk

True if M is in state q at step k of the computation.

O(p(n))

Define the Boolean expression B to be the conjunction of the clauses in the following table, for all -p(n) \leq i \leq p(n)and 0 \leq k \leq p(n):

Clauses

Conditions

Interpretation

How many?

Tij0

Tape cell i of the input I contains symbol j.

Initial contents of the tape.

O(p(n))

Qs0

Initial state of M

O(1)

H00

Initial position of read/write head.

O(1)

Tijk → ¬ Tij′k

jj′

One symbol per tape cell.

O(p(n)²)

Tijk = Tij(k+1) Hik

Tape remains unchanged unless written.

O(p(n)²)

Qqk → ¬ Qq′k

qq′

Only one state at a time.

O(p(n))

Hik → ¬ Hi′k

ii′

Only one head position at a time.

O(p(n)²)

(Hik Qqk Tiσk) →
(H(i+d)(k+1) Qq′(k+1) Tiσ′(k+1))

(q, σ, q′, σ′, d) δ

Possible transitions at computation step k when head is at position i.

O(p(n)²)

The disjunction of the clauses
Qf(p(n))

f F.

Must finish in an accepting state.

O(1)

If there is an accepting computation for M on input I, then B is satisfiable by assigning Tijk, Hik and Qik their intended interpretations. On the other hand, if B is satisfiable, then there is an accepting computation for M on input I that follows the steps indicated by the assignments to the variables.

There are O(p(n)2) Boolean variables, each encodeable in space O(logp(n)). The number of clauses is O(p(n)2) so the size of B is O(log(p(n))p(n)2). Thus the transformation is certainly a polynomial-time many-one reduction, as required.