1/30/2008

Routers

Definition: Routers are physical devices that join multiple wired or wireless networks together. Technically, a wired or wireless router is a Layer 3 gateway, meaning that the wired/wireless router connects networks (as gateways do), and that the router operates at the network layer of the OSI model.

Home networkers often use an Internet Protocol (IP) wired or wireless router, IP being the most common OSI network layer protocol. An IP router such as a DSL or cable modem broadband router joins the home's local area network (LAN) to the wide-area network (WAN) of the Internet.

By maintaining configuration information in a piece of storage called the "routing table," wired or wireless routers also have the ability to filter traffic, either incoming or outgoing, based on the IP addresses of senders and receivers.Some routers allow the home networker to update the routing table from a Web browser interface. Broadband routers combine the functions of a router with those of a network switch and a firewall in a single unit.

State VoIP

Access to 911 and emergency services is an issue that affects us at all levels - national, state, and local. Therefore, the FCC and the National Association of Regulatory Utility Commissioners ("NARUC") formed the Joint Federal/State VoIP Enhanced 911 Enforcement Task Force to facilitate compliance with and enforcement of the FCC’s VoIP 911 rules. The Task Force, which consists of staff from the FCC and State Public Utility Commissions, will coordinate closely with the National Emergency Number Association, the Association of Public Safety Communications Officials, and state and local 911 authorities. The Task Force’s mission is to develop educational materials to ensure that consumers understand their rights and the requirements of the FCC’s VoIP 911 Order; develop appropriate compliance and enforcement strategies; compile data; and share best practices.

VoiP

Since Americans were first able to dial "9-1-1" to reach emergency services in 1965, the public increasingly has come to depend on 911 in times of crisis. The communications industry, the states, and the Federal Communications Commission ("FCC") have worked hard to ensure that 911 is almost universally available on traditional wireline and wireless phones so that the public has access to emergency services. Telecommunications capabilities have advanced considerably since 1965. Most wireline 911 service has been enhanced ("E911") with the ability to provide caller identification and location information to the call answering center ("E911") and the FCC has established a program to require wireless telephone carriers to provide E911 capability. Not long ago, however, the states and the FCC began to recognize that consumers may not always understand that E911 and basic 911 services may work differently - or not at all - over Voice over Internet Protocol ("VoIP") services. Because in many cases, VoIP services operate much like traditional telephone service, including the capability to make calls to and receive calls from users on the traditional telephone network, some customers assume that these services also offer comparable access to 911 services.

In May 2005, the FCC adopted rules that respond to the threat that such misunderstandings pose to public safety. The FCC adopted rules requiring providers of interconnected VoIP services to supply 911 emergency calling capabilities to their customers as a mandatory feature of the service by November 28, 2005. "Interconnected" VoIP services are VoIP services that allow a user generally to receive calls from and make calls to the traditional telephone network. Under the FCC rules, interconnected VoIP providers must:

  • Deliver all 911 calls to the local emergency call center;

  • Deliver the customer’s call back number and location information where the emergency call center is capable of receiving it; and

  • Inform their customers of the capabilities and limitations of their VoIP 911 service.

Frequently Asked Questions

How VoIP / Internet Voice Works
VoIP services convert your voice into a digital signal that travels over the Internet. If you are calling a regular phone number, the signal is converted to a regular telephone signal before it reaches the destination. VoIP can allow you to make a call directly from a computer, a special VoIP phone, or a traditional phone connected to a special adapter. In addition, wireless "hot spots" in locations such as airports, parks, and cafes allow you to connect to the Internet and may enable you to use VoIP service wirelessly.

What Kind of Equipment Do I Need?
A broadband (high speed Internet) connection is required. This can be through a cable modem, or high speed services such as DSL or a local area network. A computer, adaptor, or specialized phone is required. Some VoIP services only work over your computer or a special VoIP phone, while other services allow you to use a traditional phone connected to a VoIP adapter. If you use your computer, you will need some software and an inexpensive microphone. Special VoIP phones plug directly into your broadband connection and operate largely like a traditional telephone. If you use a telephone with a VoIP adapter, you'll be able to dial just as you always have, and the service provider may also provide a dial tone.

Is there a difference between making a Local Call and a Long Distance Call?

Some VoIP providers offer their services for free, normally only for calls to other subscribers to the service. Your VoIP provider may permit you to select an area code different from the area in which you live. It also means that people who call you may incur long distance charges depending on their area code and service.

Some VoIP providers charge for a long distance call to a number outside your calling area, similar to existing, traditional wireline telephone service. Other VoIP providers permit you to call anywhere at a flat rate for a fixed number of minutes.

If I have VoIP service, who can I call?
Depending upon your service, you might be limited only to other subscribers to the service, or you may be able to call anyone who has a telephone number - including local, long distance, mobile, and international numbers. If you are calling someone who has a regular analog phone, that person does not need any special equipment to talk to you. Some VoIP services may allow you to speak with more than one person at a time.

What Are Some Advantages of VoIP?
Some VoIP services offer features and services that are not available with a traditional phone, or are available but only for an additional fee. You may also be able to avoid paying for both a broadband connection and a traditional telephone line.

What Are Some disadvantages of VoIP?
If you're considering replacing your traditional telephone service with VoIP, there are some possible differences:

  • Some VoIP services don't work during power outages and the service provider may not offer backup power.

  • Not all VoIP services connect directly to emergency services through 9-1-1. For additional information, see www.voip911.gov.

  • VoIP providers may or may not offer directory assistance/white page listings.

Can I use my Computer While I talk on the Phone?
In most cases, yes.

Can I Take My Phone Adapter with me When I Travel?
Some VoIP service providers offer services that can be used wherever a high speed Internet connection available. Using a VoIP service from a new location may impact your ability to connect directly to emergency services through 9-1-1. For additional information, see www.voip911.gov.

Does my Computer Have to be Turned on?
Only if your service requires you to make calls using your computer. All VoIP services require your broadband Internet connection to be active.

How Do I Know If I have a VoIP phone Call?
If you have a special VoIP phone or a regular telephone connected to a VoIP adapter, the phone will ring like a traditional telephone. If your VoIP service requires you to make calls using your computer, the software supplied by your service provider will alert you when you have an incoming call.

Does the FCC Regulate VoIP?
In June 2005 the FCC imposed 911 obligations on providers of “interconnected” VoIP services – VoIP services that allow users generally to make calls to and receive calls from the regular telephone network. You should know, however, that 911 calls using VoIP are handled differently than 911 calls using your regular telephone service. Please see our consumer fact sheet on VoIP and 911 services at www.voip911.gov for complete information on these differences.

In addition, the FCC requires interconnected VoIP providers to comply with the Communications Assistance for Law Enforcement Act of 1994 (CALEA) and to contribute to the Universal Service Fund, which supports communications services in high-cost areas and for income-eligible telephone subscribers.

Aspects of these considerations may change with new developments in internet technology. You should always check with the VoIP service provider you choose to confirm any advantages and limitations to their service.

Area Network

One way to categorize the different types of computer network designs is by their scope or scale. For historical reasons, the networking industry refers to nearly every type of design as some kind of area network. Common examples of area network types are:

  • LAN - Local Area Network
  • WLAN - Wireless Local Area Network
  • WAN - Wide Area Network
  • MAN - Metropolitan Area Network
  • SAN - Storage Area Network, System Area Network, Server Area Network, or sometimes Small Area Network
  • CAN - Campus Area Network, Controller Area Network, or sometimes Cluster Area Network
  • PAN - Personal Area Network
  • DAN - Desk Area Network
LAN and WAN were the original categories of area networks, while the others have gradually emerged over many years of technology evolution.

Note that these network types are a separate concept from network topologies such as bus, ring and star.

LAN - Local Area Network

A LAN connects network devices over a relatively short distance.A networked office building, school, or home usually contains a single LAN, though sometimes one building will contain a few small LANs (perhaps one per room), and occasionally a LAN will span a group of nearby buildings. In TCP/IP networking, a LAN is often but not always implemented as a single IP subnet.

In addition to operating in a limited space, LANs are also typically owned, controlled, and managed by a single person or organization. They also tend to use certain connectivity technologies, primarily Ethernet and Token Ring.

WAN - Wide Area Network

As the term implies, a WAN spans a large physical distance. The Internet is the largest WAN, spanning the Earth.

A WAN is a geographically-dispersed collection of LANs. A network device called a router connects LANs to a WAN. In IP networking, the router maintains both a LAN address and a WAN address.

A WAN differs from a LAN in several important ways. Most WANs (like the Internet) are not owned by any one organization but rather exist under collective or distributed ownership and management. WANs tend to use technology like ATM, Frame Relay and X.25 for connectivity over the longer distances.

LAN, WAN and Home Networking

Residences typically employ one LAN and connect to the Internet WAN via an Internet Service Provider (ISP) using a broadband modem. The ISP provides a WAN IP address to the modem, and all of the computers on the home network use LAN (so-called private) IP addresses. All computers on the home LAN can communicate directly with each other but must go through a central gateway, typically a broadband router, to reach the ISP.

One way to categorize the different types of computer network designs is by their scope or scale. For historical reasons, the networking industry refers to nearly every type of design as some kind of area network. Common examples of area network types are:

  • LAN - Local Area Network
  • WLAN - Wireless Local Area Network
  • WAN - Wide Area Network
  • MAN - Metropolitan Area Network
  • SAN - Storage Area Network, System Area Network, Server Area Network, or sometimes Small Area Network
  • CAN - Campus Area Network, Controller Area Network, or sometimes Cluster Area Network
  • PAN - Personal Area Network
  • DAN - Desk Area Network
LAN and WAN were the original categories of area networks, while the others have gradually emerged over many years of technology evolution.

Note that these network types are a separate concept from network topologies such as bus, ring and star.

LAN - Local Area Network

A LAN connects network devices over a relatively short distance.A networked office building, school, or home usually contains a single LAN, though sometimes one building will contain a few small LANs (perhaps one per room), and occasionally a LAN will span a group of nearby buildings. In TCP/IP networking, a LAN is often but not always implemented as a single IP subnet.

In addition to operating in a limited space, LANs are also typically owned, controlled, and managed by a single person or organization. They also tend to use certain connectivity technologies, primarily Ethernet and Token Ring.

WAN - Wide Area Network

As the term implies, a WAN spans a large physical distance. The Internet is the largest WAN, spanning the Earth.

A WAN is a geographically-dispersed collection of LANs. A network device called a router connects LANs to a WAN. In IP networking, the router maintains both a LAN address and a WAN address.

A WAN differs from a LAN in several important ways. Most WANs (like the Internet) are not owned by any one organization but rather exist under collective or distributed ownership and management. WANs tend to use technology like ATM, Frame Relay and X.25 for connectivity over the longer distances.

LAN, WAN and Home Networking

Residences typically employ one LAN and connect to the Internet WAN via an Internet Service Provider (ISP) using a broadband modem. The ISP provides a WAN IP address to the modem, and all of the computers on the home network use LAN (so-called private) IP addresses. All computers on the home LAN can communicate directly with each other but must go through a central gateway, typically a broadband router, to reach the ISP.

1/29/2008

Computer network

By scale

Computer networks may be classified according to the scale: Personal area network (PAN), Local Area Network (LAN), Campus Area Network (CAN), Metropolitan area network (MAN), or Wide area network (WAN). As Ethernet increasingly is the standard interface to networks, these distinctions are more important to the network administrator than the end user. Network administrators may have to tune the network, based on delay that derives from distance, to achieve the desired Quality of Service (QoS). The primary difference in the networks is the size.

Controller Area Networks are a special niche, as in control of a vehicle's engine, a boat's electronics, or a set of factory robots.

[edit] By connection method

Computer networks may be classified according to the hardware technology that is used to connect the individual devices in the network such as Optical fiber, Ethernet, Wireless LAN, HomePNA, or Power line communication.

Ethernets use physical wiring to connect devices. Often, they employ the use of hubs, switches, bridges, and routers.

Wireless LAN technology is built to connect devices without wiring. These devices use a radio frequency to connect.

[edit] By functional relationship (Network Architectures)

Computer networks may be classified according to the functional relationships which exist between the elements of the network, for example Active Networking, Client-server and Peer-to-peer (workgroup) architectures.

[edit] By network topology

Main article: Network Topology

Computer networks may be classified according to the network topology upon which the network is based, such as Bus network, Star network, Ring network, Mesh network, Star-bus network, Tree or Hierarchical topology network, etc.

Network Topology signifies the way in which intelligent devices in the network see their logical relations to one another. The use of the term "logical" here is significant. That is, network topology is independent of the "physical" layout of the network. Even if networked computers are physically placed in a linear arrangement, if they are connected via a hub, the network has a Star topology, rather than a Bus Topology. In this regard the visual and operational characteristics of a network are distinct; the logical network topology is not necessarily the same as the physical layout.

[edit] By protocol

Computer networks may be classified according to the communications protocol that is being used on the network. See the articles on List of network protocol stacks and List of network protocols for more information. For a development of the foundations of protocol design see Srikant 2004 [1] and Meyn 2007 [2]

[edit] Types of networks:

Below is a list of the most common types of computer networks in order of scale.

[edit] Personal Area Network (PAN)

Main article: Personal area network

A personal area network (PAN) is a computer network used for communication among computer devices close to one person. Some examples of devices that may be used in a PAN are printers, fax machines, telephones, PDAs or scanners. The reach of a PAN is typically within about 20-30 feet (approximately 4-6 Meters). PANs can be used for communication among the individual devices (intrapersonal communication), or for connecting to a higher level network and the Internet (an uplink).

Personal area networks may be wired with computer buses such as USB and FireWire. A wireless personal area network (WPAN) can also be made possible with network technologies such as IrDA and Bluetooth.

[edit] Local Area Network (LAN)

Main article: Local Area Network

A network covering a small geographic area, like a home, office, or building. Current LANs are most likely to be based on Ethernet technology. For example, a library will have a wired or wireless LAN for users to interconnect local devices (e.g., printers and servers) connect to the internet. All of the PCs in the library are connected by category 5 (Cat5) cable, running the IEEE 802.3 protocol through a system of interconnection devices and eventually connect to the internet. The cables to the servers are on Cat 5e enhanced cable, which will support IEEE 802.3 at 1 Gbps.

The staff computers (bright green) can get to the color printer, checkout records, and the academic network and the Internet. All user computers can get to the Internet and the card catalog. Each workgroup can get to its local printer. Note that the printers are not accessible from outside their workgroup.

Typical library network, in a branching tree topology and controlled access to resources
Typical library network, in a branching tree topology and controlled access to resources

All interconnected devices must understand the network layer (layer 3), because they are handling multiple subnets (the different colors). Those inside the library, which have only 10/100 Mbps Ethernet connections to the user device and a Gigabit Ethernet connection to the central router, could be called "layer 3 switches" because they only have Ethernet interfaces and must understand IP. It would be more correct to call them access routers, where the router at the top is a distribution router that connects to the Internet and academic networks' customer access routers.

The staff have a VoIP network that also connects to both the Internet and the academic network. They could have paths to the central library system telephone switch, via the academic network. Since voice must have the highest priority, it is on the pink network. The VoIP protocols used, such as RSVP, are virtual circuits rather than connectionless forwarding paths.

Depending on the circumstance, the computers in the network might be connected using cables and hubs. Other networks might be connected strictly wirelessly. It depends on the number of PCs that you are trying to connect, the physical layout of your workspace, and the various needs of network. Not shown in this diagram, for example, is a wireless workstation used when shelving books.

The defining characteristics of LANs, in contrast to WANs (wide area networks), include their much higher data transfer rates, smaller geographic range, and lack of a need for leased telecommunication lines. Current Ethernet or other IEEE 802.3 LAN technologies operate at speeds up to 10 Gbit/s. This is the data transfer rate. IEEE has projects investigating the standardization of 100 Gbit/s, and possibly 40 Gbit/s. Inverse multiplexing is commonly used to build a faster aggregate from slower physical streams, such as bringing 4 Gbit/s aggregate stream into a computer or network element with four 1 Gbit/s interfaces.

[edit] Campus Area Network (CAN)

Main article: Campus Area Network

A network that connects two or more LANs but that is limited to a specific and contiguous geographical area such as a college campus, industrial complex, or a military base. A CAN, may be considered a type of MAN (metropolitan area network), but is generally limited to an area that is smaller than a typical MAN.

This term is most often used to discuss the implementation of networks for a contiguous area. For Ethernet based networks in the past, when layer 2 switching (i.e., bridging (networking) was cheaper than routing, campuses were good candidates for layer 2 networks, until they grew to very large size. Today, a campus may use a mixture of routing and bridging. The network elements used, called "campus switches", tend to be optimized to have many Ethernet-family (i.e., IEEE 802.3) interfaces rather than an arbitrary mixture of Ethernet and WAN interfaces.

[edit] Metropolitan Area Network (MAN)

A Metropolitan Area Network is a network that connects two or more Local Area Networks or Campus Area Networks together but does not extend beyond the boundaries of the immediate town, city, or metropolitan area. Multiple routers, switches & hubs are connected to create a MAN.

[edit] Wide Area Network (WAN)

Main article: Wide Area Network

A WAN is a data communications network that covers a relatively broad geographic area (i.e. one city to another and one country to another country) and that often uses transmission facilities provided by common carriers, such as telephone companies. WAN technologies generally function at the lower three layers of the OSI reference model: the physical layer, the data link layer, and the network layer.

[edit] Global Area Network (GAN)

Main article: Global Area Network

Global area networks (GAN) specifications are in development by several groups, and there is no common definition. In general, however, a GAN is a model for supporting mobile communications across an arbitrary number of wireless LANs, satellite coverage areas, etc. The key challenge in mobile communications is "handing off" the user communications from one local coverage area to the next. In IEEE Project 802, this involves a succession of terrestrial Wireless local area networks (WLAN) [3]. INMARSAT has defined a satellite-based Broadband Global Area Network (BGAN).

IEEE mobility efforts focus on the data link layer and make assumptions about the media. Mobile IP is a network layer technique, developed by the IETF, which is independent of the media type and can run over different media while still keeping the connection.

[edit] Internetwork

Main article: Internetwork

Two or more networks or network segments connected using devices that operate at layer 3 (the 'network' layer) of the OSI Basic Reference Model, such as a router. Any interconnection among or between public, private, commercial, industrial, or governmental networks may also be defined as an internetwork.

In modern practice, the interconnected networks use the Internet Protocol. There are at least three variants of internetwork, depending on who administers and who participates in them:

  • Intranet
  • Extranet
  • "The" Internet

Intranets and extranets may or may not have connections to the Internet. If connected to the Internet, the intranet or extranet is normally protected from being accessed from the Internet without proper authorization. The Internet itself is not considered to be a part of the intranet or extranet, although the Internet may serve as a portal for access to portions of an extranet.

[edit] Intranet

Main article: Intranet

An intranet is a set of interconnected networks, using the Internet Protocol and uses IP-based tools such as web browsers, that is under the control of a single administrative entity. That administrative entity closes the intranet to the rest of the world, and allows only specific users. Most commonly, an intranet is the internal network of a company or other enterprise.

[edit] Extranet

Main article: Extranet

An extranet is a network or internetwork that is limited in scope to a single organization or entity but which also has limited connections to the networks of one or more other usually, but not necessarily, trusted organizations or entities (e.g. a company's customers may be given access to some part of its intranet creating in this way an extranet, while at the same time the customers may not be considered 'trusted' from a security standpoint). Technically, an extranet may also be categorized as a CAN, MAN, WAN, or other type of network, although, by definition, an extranet cannot consist of a single LAN; it must have at least one connection with an external network.

[edit] Internet

Main article: Internet

A specific internetwork , consisting of a worldwide interconnection of governmental, academic, public, and private networks based upon the Advanced Research Projects Agency Network (ARPANET) developed by ARPA of the U.S. Department of Defense – also home to the World Wide Web (WWW) and referred to as the 'Internet' with a capital 'I' to distinguish it from other generic internetworks.

Participants in the Internet, or their service providers, use IP Addresses obtained from address registries that control assignments. Service providers and large enterprises also exchange information on the reachability of their address ranges through the BGP Border Gateway Protocol.

[edit] Basic Hardware Components

All networks are made up of basic hardware building blocks to interconnect network nodes, such as Network Interface Cards (NICs), Bridges, Hubs, Switches, and Routers. In addition, some method of connecting these building blocks is required, usually in the form of galvanic cable (most commonly Category 5 cable). Less common are microwave links (as in IEEE 802.11) or optical cable ("optical fiber").

[edit] Network Interface Cards

Main article: Network card

A network card, network adapter or NIC (network interface card) is a piece of computer hardware designed to allow computers to communicate over a computer network. It provides physical access to a networking medium and often provides a low-level addressing system through the use of MAC addresses. It allows users to connect to each other either by using cables or wirelessly.

[edit] Repeaters

Main article: Repeater

A repeater is an electronic device that receives a signal and retransmits it at a higher level or higher power, or onto the other side of an obstruction, so that the signal can cover longer distances without degradation.

Because repeaters work with the actual physical signal, and do not attempt to interpret the data being transmitted, they operate on the Physical layer, the first layer of the OSI model.

[edit] Hubs

Main article: Network hub

A hub contains multiple ports. When a packet arrives at one port, it is copied to all the ports of the hub. When the packets are copied, the destination address in the frame does not change to a broadcast address. It does this in a rudimentary way, it simply copies the data to all of the Nodes connected to the hub. [4]

[edit] Bridges

Main article: Network bridge

A network bridge connects multiple network segments at the data link layer (layer 2) of the OSI model. Bridges do not promiscuously copy traffic to all ports, as hubs do. but learns which MAC addresses are reachable through specific ports. Once the bridge associates a port and an address, it will send traffic for that address only to that port. Bridges do send broadcasts to all ports except the one on which the broadcast was received.

Bridges learn the association of ports and addresses by examining the source address of frames that it sees on various ports. Once a frame arrives through a port, its source address is stored and the bridge assumes that MAC address is associated with that port. The first time that a previously unknown destination address is seen, the bridge will forward the frame to all ports other than the one on which the frame arrived.

Bridges come in three basic types:

  1. Local bridges: Directly connect local area networks (LANs)
  2. Remote bridges: Can be used to create a wide area network (WAN) link between LANs. Remote bridges, where the connecting link is slower than the end networks, largely have been replaced by routers.
  3. Wireless bridges: Can be used to join LANs or connect remote stations to LANs.

[edit] Switches

Main article: Network switch

Switches are a marketing term that encompasses routers and bridges, as well as devices that may distribute traffic on load or by application content (e.g., a Web URL identifier). Switches may operate at one or more OSI layers, including physical, data link, network, or transport (i.e., end-to-end). A device that operates simultaneously at more than one of these layers is called a multilayer switch.

Overemphasizing the ill-defined term "switch" often leads to confusion when first trying to understand networking. Many experienced network designers and operators recommend starting with the logic of devices dealing with only one protocol level, not all of which are covered by OSI. Multilayer device selection is an advanced topic that may lead to selecting particular implementations, but multilayer switching is simply not a real-world design concept.

[edit] Routers

Main article: Router

Routers are the networking device that forward data packets along networks by using headers and forwarding tables to determine the best path to forward the packets. Routers work at the network layer of the TCP/IP model or layer 3 of the OSI model. Routers also provide interconnectivity between like and unlike media (RFC 1812) This is accomplished by examining the Header of a data packet, and making a decision on the next hop to which it should be sent (RFC 1812) They use preconfigured static routes, status of their hardware interfaces, and routing protocols to select the best route between any two subnets. A router is connected to at least two networks, commonly two LANs or WANs or a LAN and its ISP's network. Some DSL and cable modems, for home use, have been integrated with routers to allow multiple home computers to access the Internet.

[edit] Building a simple computer network

A simple computer network may be constructed from two computers by adding a network adapter (Network Interface Controller (NIC)) to each computer and then connecting them together with a special cable called a crossover cable. This type of network is useful for transferring information between two computers that are not normally connected to each other by a permanent network connection or for basic home networking applications. Alternatively, a network between two computers can be established without dedicated extra hardware by using a standard connection such as the RS-232 serial port on both computers, connecting them to each other via a special crosslinked null modem cable.

Practical networks generally consist of more than two interconnected computers and generally require special devices in addition to the Network Interface Controller that each computer needs to be equipped with. Examples of some of these special devices are hubs, switches and routers.

[edit] Ancillary equipment used by networks

To keep a network operating, to diagnose failures or degradation, and to circumvent problems, networks may have a wide-ranging amount of ancillary equipment.

[edit] Providing Electrical Power

Individual network components may have surge protectors - an appliance designed to protect electrical devices from voltage spikes. Surge protectors attempt to regulate the voltage supplied to an electric device by either blocking or shorting to ground voltage above a safe threshold.[5]

Beyond the surge protector, network elements may have uninterruptible power supplies (UPS), which can be anywhere from a line-charged battery to take the element through a brief power dropout, to an extensive network of generators and large battery banks that can protect the network for hours or days of commercial power outages.

A network as simple as two computers linked with a crossover cable has several points at which the network could fail: either network interface, and the cable. Large networks, without careful design, can have many points at which a single failure could disable the network.

When networks are critical the general rule is that they should have no single point of failure. The broad factors that can bring down networks, according to the Software Engineering Institute [6] at Carnegie-Mellon University:

  1. Attacks: these include software attacks by various miscreants (e.g., malicious hackers, computer criminals) as well as physical destruction of facilities.
  2. Failures: these are in no way deliberate, but range from human error in entering commands, bugs in network element executable code, failures of electronic components, and other things that involve deliberate human action or system design.
  3. Accidents: Ranging from spilling coffee into a network element to a natural disaster or war that destroys a data center, these are largely unpredictable events. Survivability from severe accidents will require physically diverse, redundant facilities. Among the extreme protections against both accidents and attacks are airborne command posts and communications relays[7], which either are continuously in the air, or take off on warning. In like manner, systems of communications satellites may have standby spares in space, which can be activated and brought into the constellation.

[edit] Dealing with Power Failures

One obvious form of failure is the loss of electrical power. Depending on the criticality and budget of the network, protection from power failures can range from simple filters against excessive voltage spikes, to consumer-grade Uninterruptible Power Supplies(UPS) that can protect against loss of commercial power for a few minutes, to independent generators with large battery banks. Critical installations may switch from commercial to internal power in the event of a brownout,where the voltage level is below the normal minimum level specified for the system. Systems supplied with three-phase electric power also suffer brownouts if one or more phases are absent, at reduced voltage, or incorrectly phased. Such malfunctions are particularly damaging to electric motors. Some brownouts, called voltage reductions, are made intentionally to prevent a full power outage.

Some network elements operate in a manner to protect themselves and shut down gracefully in the event of a loss of power. These might include noncritical application and network management servers, but not true network elements such as routers. UPS may provide a signal called the "Power-Good" signal. Its purpose is to tell the computer all is well with the power supply and that the computer can continue to operate normally. If the Power-Good signal is not present, the computer shuts down. The Power-Good signal prevents the computer from attempting to operate on improper voltages and damaging itself

To help standardize approaches to power failures, the Advanced Configuration and Power Interface (ACPI) specification is an open industry standard first released in December 1996 developed by HP, Intel, Microsoft, Phoenix and Toshiba that defines common interfaces for hardware recognition, motherboard and device configuration and power management.

[edit] Monitoring and Diagnostic Equipment

Networks, depending on their criticality and the skill set available among the operators, may have a variety of temporarily or permanently connected performance measurement and diagnostic equipment. Routers and bridges intended more for the enterprise or ISP market than home use, for example, usually record the amount of traffic and errors experienced on their interfaces.

Diagnostic equipment, to isolate failures, may be nothing more complicated than a spare piece of equipment. If the problem disappears when the spare is manually replaced, the problem has been diagnosed. More sophisticated and expensive installations will have spare elements that can automatically replace a failed unit. Failures can be made transparent to user computers with techniques such as the Virtual Router Redundancy Protocol (VRRP), as specified in RFC 3768

Internet Amazon

That old phone cord is tying Verizon down.

Verizon Communications said on Monday that its traditional telephone business remained a drag on the bottom line. But the company said it was not yet seeing the effect of a slowing economy, and its wireless business continued to show promising growth.

Verizon announced net income of $1.07 billion for the fourth quarter, ended Dec. 31, up from $1.03 billion in the period a year earlier, roughly in line with analysts’ estimates. Its operating revenue rose 5.6 percent, to $23.8 billion. For the year, revenue was up 6.1 percent, to $93.4 billion.

The company’s cellular unit, Verizon Wireless, which is a joint venture with Vodafone Group, was the brightest spot, adding two million new customers in the fourth quarter for a total of 65.7 million. The number of home broadband subscribers grew 17.9 percent in 2007 from the previous year.

The traditional telephone business was a different story. Verizon lost 10.6 percent of its residential lines in 2007. Over all, the total number of landlines, including business customers, fell to 41.4 million in 2007 from 45.1 million in 2006, a drop of 8.1 percent.

Craig Moffett, a senior telecommunications analyst at Sanford C. Bernstein & Company, wrote in a report discussing the earnings that Verizon’s traditional business is showing “more than a little strain.” He added: “If a principal appeal of Verizon’s shares is their presumed resilience in the face of economic weakness, their results must be judged as mixed. Wireless is a clear positive, but weakness in the consumer wireline business cannot be easily dismissed.”

Continued growth in the wireless business, of course, is the result of a continuing shift in consumer behavior as people turn to mobile phones not only to talk to friends and family, but also to listen to music, send text messages and use the Internet.

Dennis F. Strigl, Verizon’s president and chief operating officer, stressed in an interview that Verizon did not plan to lower its sales projections for this month because of the slowing economy, something other communications companies have done in recent weeks. He declined to give a forecast for future months.

Instead, he said, the biggest challenge for companies like Verizon is competition from cable companies and newer entrants. “I think the impact of the economy on the business is much less likely than competition,” said Mr. Strigl.

To retain more residential customers, Verizon is betting on its FiOS fiber-optic network, which allows the company to offer television, phone and Internet services in a bundled package. The company has more than a million FiOS TV customers, Mr. Strigl said. Over time, he said, Verizon expects to shift more spending from its core business to FiOS.

When asked if traditional landline service would ever go away, Mr. Strigl said that its definition would be expanded to include video and data as well as voice. “I think we are rapidly transforming into something other than a utility,” he said.

Verizon’s stock rose 0.9 percent to close at $38.11 a share after the earnings report.

Games Internet

GREAT NECK, N.Y. — The games had begun. In a darkened classroom at Great Neck South High School on a recent afternoon, the Advanced Placement physics students sped through a pop quiz, furiously pressing keys on hand-held clickers. A projection screen tracked their responses in real time, showing who knew what through an animated display of spaceships — individually numbered for each student — that blasted off or fell by the wayside with each right or wrong answer.

Skip to next paragraph
Joyce Dopkeen/The New York Times

As students in Matt Sckalor’s physics class at Great Neck South High School click their answers, the results go up on a screen. They can instantly see their progress, and how the class did.

The students were not competing for grades (it was only a practice quiz), but they certainly acted as if they were.

“Let’s go, let’s go!” yelled a boy from the back of the class. “What’s the next question?” The Great Neck district has been introducing the clickers in an effort to liven up traditional classroom teaching with a more interactive approach. After a successful test at one of its high schools, Great Neck expanded the technology to other schools.

The clickers are part of an increasingly popular technology known as an audience response system, which has been used for everything from surveying game show audiences to polling registered voters. That technology is now spreading to public and private schools across the country.

The Los Angeles school district has spent about $503,000 to buy clickers for more than two dozen middle schools since 2005, district officials said. Smaller districts in the Dallas and Atlanta suburbs have also invested in them, according to school officials and companies that manufacture the devices. In New York City, a dozen schools across the five boroughs have experimented with the devices. And in St. Paul, the clickers are routinely used to train teachers and administrators and to get reaction from parents at community meetings.

In a typical system, the clickers record data from individuals, and transmit that information, through wireless technology, to a computer program. The program can instantly display the results, tally them and present them in elaborate spreadsheets and eye-catching graphics like spaceships or “Jeopardy!”-style boards. It can track the percentage of correct answers received for each question as well as the participation rate among all users.

The growth of the clicker technology in schools has been “very big and fast paced,” said Jaci Hendricks, a spokeswoman for Qwizdom, one of several companies that manufacture the clickers. In the last five years alone, Qwizdom has supplied more than 750,000 clickers to schools nationwide, including those in Great Neck, New York City and Los Angeles.

In Great Neck, the district spent $18,000 to buy the clickers after its technology director, Marc Epstein, saw them at education conferences. He thought they presented an advance over earlier classroom technology, which he said had focused on providing hardware to students (desktop computers, laptops and printers, for example), or helping teachers deliver lessons (“smart boards” and projectors).

In contrast, he said, the clickers used technology to assess student learning.

Mr. Epstein found an ally in Randolph Ross, the principal of Great Neck South, who agreed to have the clickers tested at his school, which has 1,300 students, in 2006. Mr. Ross, who constructs crossword puzzles for a hobby, said that some teachers and students had already been requesting an electronic buzzer system to use for classroom “Jeopardy!” games and quiz bowls.

“I’m a big games person,” Mr. Ross said. “I’m very supportive of all these trivia contests because it’s good mental gymnastics and it’s fun.”

Mr. Ross had just the teacher to try out the new technology: Matt Sckalor, the Advanced Placement physics teacher, who had appeared as a contestant on “Who Wants to Be a Millionaire” in February 2000. (He did not win any money.)

Mr. Sckalor said that he was sold on the clickers because he could check on the progress of every student, not just the ones who frequently raised their hands and tended to dominate the discussions.

Freed From the Page, but a Book Nonetheless

PRINTED books provide pleasures no device created by an electrical engineer can match. The sweet smell of a brand-new book. The tactile pleasures of turning a page. The reassuring sight on one’s bookshelves of personal journeys.

Skip to next paragraph
Amazon.com

The Amazon Kindle uses E Ink technology to display images in four shades of gray.

But not one of these explains why books have resisted digitization. That’s simpler: Books are portable and easy to read.

Building a portable electronic reader was the easy part; matching the visual quality of ink on paper took longer. But display technology has advanced to the point where the digital page is easy on the eyes, too. At last, an e-reader performs well when placed in page-to-page competition with paper.

As a result, the digitization of personal book collections is certain to have its day soon.

Music shows the way. The digitization of personal music collections began, however, only after the right combination of software and hardware — iTunes Music Store and the iPod — arrived. And as Apple did for music lovers, some company will devise an irresistible combination of software and hardware for book buyers. That company may be Amazon.

Amazon’s first iteration of an electronic book reader is the Kindle. Introduced in November, it weighs about 10 ounces, holds more than 200 full-length books and can display newspapers, magazines and blogs. It uses E Ink technology, developed by the company of that name, that produces sharply defined text yet draws power only when a page is changed, not as it is displayed.

Sony uses E Ink in its e-book Reader, which it introduced in 2006, but the Kindle has a feature that neither Sony nor many e-reader predecessors ever possessed: books and other content can be loaded wirelessly, from just about anywhere in the United States, using the high-speed EVDO network from Sprint.

This may turn out to be a red-letter day in the history of convenience — our age’s equivalent of that magical moment FedEx introduced next-day delivery and people asked, “How was life possible before this?”

The Kindle is expensive — $399 — but it sold out in just six hours after its debut on Nov. 19. Since then, supplies have consistently lagged behind demand, and a waiting list remains in place.

The Kindle gets many things right, or at least I assume it does. I haven’t had much of a chance to test out my demonstration unit. My wife, skeptical that a digital screen could ever approach the readability of ink on paper, was so intrigued by the Kindle when it arrived last week that she snatched it from my grasp. I haven’t been able to pry it away from her since.

I can see that the text looks splendid. But when one presses a bar to “turn” a page, the image reverses in a way I found jarring: the light background turns black and the black text turns white, then the new page appears and everything returns to normal. My wife said she wasn’t bothered by this at all, and I didn’t have enough of a chance to see if I would soon get used to it.

Steven P. Jobs, the chief executive of Apple, has nothing to fear from the Kindle. No one would regard it as competition for the iPod. It displays text in four exciting shades of gray, and does that one thing very well. It can do a few other things: for instance, it has a headphone jack and can play MP3 files, but it is not well suited for navigating a large collection of music tracks.

Yet, when Mr. Jobs was asked two weeks ago at the Macworld Expo what he thought of the Kindle, he heaped scorn on the book industry. “It doesn’t matter how good or bad the product is; the fact is that people don’t read anymore,” he said. “Forty percent of the people in the U.S. read one book or less last year.”

To Mr. Jobs, this statistic dooms everyone in the book business to inevitable failure.

Only the business is not as ghostly as he suggests. In 2008, book publishing will bring in about $15 billion in revenue in the United States, according to the Book Industry Study Group, a trade association.

One can only wonder why, by the Study Group’s estimate, 408 million books will be bought this year if no one reads anymore?

A survey conducted in August 2007 by Ipsos Public Affairs for The Associated Press found that 27 percent of Americans had not read a book in the previous year. Not as bad as Mr. Jobs’s figure, but dismaying to be sure. Happily, however, the same share — 27 percent — read 15 or more books.

In fact, when we exclude Americans who had not read a single book in that year, the average number of books read was 20, raised by the 8 percent who read 51 books or more. In other words, a sizable minority does not read, but the overall distribution is balanced somewhat by those who read a lot.

If a piece of the book industry’s $15 billion seems too paltry for Mr. Jobs to bother with, he is forgetting that Apple reached its current size only recently. Last week, Apple reported that it posted revenue of $9.6 billion in the quarter that spanned October to December 2007, its best quarter ever, after $24 billion in revenue in the 2007 fiscal year, which ended in September.

But as recently as 2001, before the iPhone and the iPod, Apple was a niche computer company without a mass market hit. It was badly hurt by the 2001 recession and reported revenue of only $5.3 billion for the year. This is, by coincidence, almost exactly what Barnes & Noble reported in revenue for its 2007 fiscal year. In neither case did the company owners look at that number, decide to chain the doors permanently shut and call it quits.

Amazon does not release details about revenue for books, but books were its first business. And Andrew Herdener, a company spokesman, said that Amazon’s book sales “have increased every year since the company began.”

The book world has always had an invisible asset that makes up for what it lacks in outsize revenue and profits: the passionate attachment that its authors, editors and most frequent customers have to books themselves. Indeed, in this respect, avid book readers resemble avid Mac users.

The object we are accustomed to calling a book is undergoing a profound modification as it is stripped of its physical shell. Kindle’s long-term success is still unknown, but Amazon should be credited with imaginatively redefining its original product line, replacing the book business with the reading business.

Randall Stross is an author based in Silicon Valley and a professor of business at San Jose State University. E-mail: stross@nytimes.com.

Security Web

Security4Web offers a broad range of information on credit card fraud, identity theft, data mining components, viruses, trojans, backdoor viruses, spam prevention and protection, security related articles, surveys and reports from reputable sources, tips, fraud schemes, do's and don't's, and last but not least links to law enforcement authorities to whom people may address to if they become victims.

Security4Web addresses itself both to those experienced with the Internet and to those still experiencing it. From our point of view it doesn't really matter how much experience people gain browsing the Internet when it comes to online threats.
In a world flooded with information it is difficult to sort out the solution that fits you best. This is where Security4Web comes into picture, and this is what sets us apart from other websites: we provide the proper information and in the same time a wide range of tools to serve individuals' needs, to keep them secure from the dark side of the Internet. Our success recipe is: accurate information backed up with suitable tools to help Internet users detect, prevent, and protect themselves from online threats. All "ingredients" in the same place.

In our attempt to keep people informed we center upon a large area of threats that can be experienced online: malware, identity theft, charge backs, and upon the subjects that can be affected: PC users, email users, merchants, business managers, parents and children. In other words, we rely upon three main co-ordinates: online threats, consequences and solutions.
Now it is up to you to keep cyber threats away.

Internet security

In the computer industry, Internet security refers to techniques for ensuring that data stored in a computer cannot be read or compromised by any individuals without authorization. Most security measures involve data encryption and passwords. Data encryption is the translation of data into a form that is unintelligible without a deciphering mechanism. A password is a secret word or phrase that gives a user access to a particular program or system.

Internet security professionals should be fluent in the four major aspects:

Contents

[hide]

[edit] Routers

For more details on this topic, see Router.

Network Address Translation (NAT) typically has the effect of preventing connections from being established inbound into a computer, whilst permitting connections out. For a small home network, software NAT can be used on the computer with the Internet connection, providing similar behaviour to a router and similar levels of security, but for a lower cost and lower complexity.

[edit] Firewalls

For more details on this topic, see Firewall.

A firewall blocks all "roads and cars" through authorized ports on your computer, thus restricting unfettered access. A stateful firewall is a more secure form of firewall, and system administrators often combine a proxy firewall with a packet-filtering firewall to create a highly secure system. Most home users use a software firewall. These types of firewalls can create a log file where it records all the connection details (including connection attempts) with the PC.

[edit] Anti-virus

For more details on this topic, see Malware.

Some people or companies with malicious intentions write programs like computer viruses, worms, trojan horses and spyware. These programs are all characterised as being unwanted software that install themselves on your computer through deception.

Trojan horses are simply programs that conceal their true purpose or include a hidden functionality that a user would not want.

Worms are characterised by having the ability to replicate themselves and viruses are similar except that they achieve this by adding their code onto third party software. Once a virus or worm has infected a computer, it would typically infect other programs (in the case of viruses) and other computers.

Viruses also slow down system performance and cause strange system behavior and in many cases do serious harm to computers, either as deliberate, malicious damage or as unintentional side effects.

In order to prevent damage by viruses and worms, users typically install antivirus software, which runs in the background on the computer, detecting any suspicious software and preventing it from running.

Some malware that can be classified as trojans with a limited payload are not detected by most antivirus software and may require the use of other software designed to detect other classes of malware, including spyware.

[edit] Anti-spyware

For more details on this topic, see Malware.

There are several kinds of threats:

  • Spyware is software that runs on a computer without the explicit permission of its user. It often gathers private information from a users computer and sends this data over the Internet back to the software manufacturer.
  • Adware is software that runs on a computer without the owner's consent, much like spyware. However, instead of taking information, it typically runs in the background and displays random or targeted pop-up advertisements. In many cases, this slows the computer down and may also cause software conflicts.

[edit] Browser choice

Internet Explorer is currently the most widely used web browser in the world,[1] making it the prime target for phishing and many other possible attacks.

[edit] See also

[edit] External links

Computer

Look up computer in
Wiktionary, the free dictionary.
A computer in a wristwatch.
A computer in a wristwatch.

A computer is a machine that manipulates data according to a list of instructions.

Computers take numerous physical forms. The first devices that resemble modern computers date to the mid-20th century (around 1940 - 1945), although the computer concept and various machines similar to computers existed earlier. Early electronic computers were the size of a large room, consuming as much power as several hundred modern personal computers.[1] Modern computers are based on comparatively tiny integrated circuits and are millions to billions of times more capable while occupying a fraction of the space.[2] Today, simple computers may be made small enough to fit into a wristwatch and be powered from a watch battery. Personal computers in various forms are icons of the Information Age and are what most people think of as "a computer"; however, the most common form of computer in use today is the embedded computer. Embedded computers are small, simple devices that are used to control other devices — for example, they may be found in machines ranging from fighter aircraft to industrial robots, digital cameras, and children's toys.

The ability to store and execute lists of instructions called programs makes computers extremely versatile and distinguishes them from calculators. The Church–Turing thesis is a mathematical statement of this versatility: any computer with a certain minimum capability is, in principle, capable of performing the same tasks that any other computer can perform. Therefore, computers with capability and complexity ranging from that of a personal digital assistant to a supercomputer are all able to perform the same computational tasks given enough time and storage capacity.

Contents

[hide]

History of computing

The Jacquard loom was one of the first programmable devices.
The Jacquard loom was one of the first programmable devices.

It is difficult to identify any one device as the earliest computer, partly because the term "computer" has been subject to varying interpretations over time. Originally, the term "computer" referred to a person who performed numerical calculations (a human computer), often with the aid of a mechanical calculating device.

The history of the modern computer begins with two separate technologies - that of automated calculation and that of programmability.

Examples of early mechanical calculating devices included the abacus, the slide rule and arguably the astrolabe and the Antikythera mechanism (which dates from about 150-100 BC). The end of the Middle Ages saw a re-invigoration of European mathematics and engineering, and Wilhelm Schickard's 1623 device was the first of a number of mechanical calculators constructed by European engineers. However, none of those devices fit the modern definition of a computer because they could not be programmed.

Hero of Alexandria (c. 10 – 70 AD) built a mechanical theater which performed a play lasting 10 minutes and was operated by a complex system of ropes and drums that might be considered to be a means of deciding which parts of the mechanism performed which actions - and when.[3] This is the essence of programmability. In 1801, Joseph Marie Jacquard made an improvement to the textile loom that used a series of punched paper cards as a template to allow his loom to weave intricate patterns automatically. The resulting Jacquard loom was an important step in the development of computers because the use of punched cards to define woven patterns can be viewed as an early, albeit limited, form of programmability.

It was the fusion of automatic calculation with programmability that produced the first recognisable computers. In 1837, Charles Babbage was the first to conceptualize and design a fully programmable mechanical computer that he called "The Analytical Engine".[4] Due to limited finances, and an inability to resist tinkering with the design, Babbage never actually built his Analytical Engine.

Large-scale automated data processing of punched cards was performed for the U.S. Census in 1890 by tabulating machines designed by Herman Hollerith and manufactured by the Computing Tabulating Recording Corporation, which later became IBM. By the end of the 19th century a number of technologies that would later prove useful in the realization of practical computers had begun to appear: the punched card, Boolean algebra, the vacuum tube (thermionic valve) and the teleprinter.

During the first half of the 20th century, many scientific computing needs were met by increasingly sophisticated analog computers, which used a direct mechanical or electrical model of the problem as a basis for computation. However, these were not programmable and generally lacked the versatility and accuracy of modern digital computers.

Defining characteristics of five early digital computers
Computer First operation Place Decimal/Binary Electronic Programmable Turing complete
Zuse Z3 May 1941 Germany binary No By punched film stock Yes (1998)
Atanasoff–Berry Computer Summer 1941 USA binary Yes No No
Colossus December 1943 / January 1944 UK binary Yes Partially, by rewiring No
Harvard Mark I – IBM ASCC 1944 USA decimal No By punched paper tape Yes (1998)
ENIAC 1944 USA decimal Yes Partially, by rewiring Yes
1948 USA decimal Yes By Function Table ROM Yes


A succession of steadily more powerful and flexible computing devices were constructed in the 1930s and 1940s, gradually adding the key features that are seen in modern computers. The use of digital electronics (largely invented by Claude Shannon in 1937) and more flexible programmability were vitally important steps, but defining one point along this road as "the first digital electronic computer" is difficult (Shannon 1940). Notable achievements include:

EDSAC was one of the first computers to implement the stored program (von Neumann) architecture.
EDSAC was one of the first computers to implement the stored program (von Neumann) architecture.

Several developers of ENIAC, recognizing its flaws, came up with a far more flexible and elegant design, which came to be known as the stored program architecture or von Neumann architecture. This design was first formally described by John von Neumann in the paper "First Draft of a Report on the EDVAC", published in 1945. A number of projects to develop computers based on the stored program architecture commenced around this time, the first of these being completed in Great Britain. The first to be demonstrated working was the Manchester Small-Scale Experimental Machine (SSEM) or "Baby". However, the EDSAC, completed a year after SSEM, was perhaps the first practical implementation of the stored program design. Shortly thereafter, the machine originally described by von Neumann's paper—EDVAC—was completed but did not see full-time use for an additional two years.

Nearly all modern computers implement some form of the stored program architecture, making it the single trait by which the word "computer" is now defined. By this standard, many earlier devices would no longer be called computers by today's definition, but are usually referred to as such in their historical context. While the technologies used in computers have changed dramatically since the first electronic, general-purpose computers of the 1940s, most still use the von Neumann architecture. The design made the universal computer a practical reality.

Microprocessors are miniaturized devices that often implement stored program CPUs.
Microprocessors are miniaturized devices that often implement stored program CPUs.

Vacuum tube-based computers were in use throughout the 1950s, but were largely replaced in the 1960s by transistor-based devices, which were smaller, faster, cheaper, used less power and were more reliable. These factors allowed computers to be produced on an unprecedented commercial scale. By the 1970s, the adoption of integrated circuit technology and the subsequent creation of microprocessors such as the Intel 4004 caused another leap in size, speed, cost and reliability. By the 1980s, computers had become sufficiently small and cheap to replace simple mechanical controls in domestic appliances such as washing machines. Around the same time, computers became widely accessible for personal use by individuals in the form of home computers and the now ubiquitous personal computer. In conjunction with the widespread growth of the Internet since the 1990s, personal computers are becoming as common as the television and the telephone and almost all modern electronic devices contain a computer of some kind.

Stored program architecture

The defining feature of modern computers which distinguishes them from all other machines is that they can be programmed. That is to say that a list of instructions (the program) can be given to the computer and it will store them and carry them out at some time in the future.

In most cases, computer instructions are simple: add one number to another, move some data from one location to another, send a message to some external device, etc. These instructions are read from the computer's memory and are generally carried out (executed) in the order they were given. However, there are usually specialized instructions to tell the computer to jump ahead or backwards to some other place in the program and to carry on executing from there. These are called "jump" instructions (or branches). Furthermore, jump instructions may be made to happen conditionally so that different sequences of instructions may be used depending on the result of some previous calculation or some external event. Many computers directly support subroutines by providing a type of jump that "remembers" the location it jumped from and another instruction to return to the instruction following that jump instruction.

Program execution might be likened to reading a book. While a person will normally read each word and line in sequence, they may at times jump back to an earlier place in the text or skip sections that are not of interest. Similarly, a computer may sometimes go back and repeat the instructions in some section of the program over and over again until some internal condition is met. This is called the flow of control within the program and it is what allows the computer to perform tasks repeatedly without human intervention.

Comparatively, a person using a pocket calculator can perform a basic arithmetic operation such as adding two numbers with just a few button presses. But to add together all of the numbers from 1 to 1,000 would take thousands of button presses and a lot of time—with a near certainty of making a mistake. On the other hand, a computer may be programmed to do this with just a few simple instructions. For example:

        mov      #0,sum     ; set sum to 0
mov #1,num ; set num to 1
loop: add num,sum ; add num to sum
add #1,num ; add 1 to num
cmp num,#1000 ; compare num to 1000
ble loop ; if num <= 1000, go back to 'loop'
halt ; end of program. stop running

Once told to run this program, the computer will perform the repetitive addition task without further human intervention. It will almost never make a mistake and a modern PC can complete the task in about a millionth of a second.[5]

However, computers cannot "think" for themselves in the sense that they only solve problems in exactly the way they are programmed to. An intelligent human faced with the above addition task might soon realize that instead of actually adding up all the numbers one can simply use the equation

1+2+3+...+n = {{n(n+1)} \over 2}

and arrive at the correct answer (500,500) with little work.[6] In other words, a computer programmed to add up the numbers one by one as in the example above would do exactly that without regard to efficiency or alternative solutions.

Programs

A 1970s punched card containing one line from a FORTRAN program. The card reads: "Z(1) = Y + W(1)" and is labelled "PROJ039" for identification purposes.
A 1970s punched card containing one line from a FORTRAN program. The card reads: "Z(1) = Y + W(1)" and is labelled "PROJ039" for identification purposes.

In practical terms, a computer program might include anywhere from a dozen instructions to many millions of instructions for something like a word processor or a web browser. A typical modern computer can execute billions of instructions every second and nearly never make a mistake over years of operation.

Large computer programs may take teams of computer programmers years to write and the probability of the entire program having been written completely in the manner intended is unlikely. Errors in computer programs are called bugs. Sometimes bugs are benign and do not affect the usefulness of the program, in other cases they might cause the program to completely fail (crash), in yet other cases there may be subtle problems. Sometimes otherwise benign bugs may be used for malicious intent, creating a security exploit. Bugs are usually not the fault of the computer. Since computers merely execute the instructions they are given, bugs are nearly always the result of programmer error or an oversight made in the program's design.[7]

In most computers, individual instructions are stored as machine code with each instruction being given a unique number (its operation code or opcode for short). The command to add two numbers together would have one opcode, the command to multiply them would have a different opcode and so on. The simplest computers are able to perform any of a handful of different instructions, the more complex computers have several hundred to choose from—each with a unique numerical code. Since the computer's memory is able to store numbers, it can also store the instruction codes. This leads to the important fact that entire programs (which are just lists of instructions) can be represented as lists of numbers and can themselves be manipulated inside the computer just as if they were numeric data. The fundamental concept of storing programs in the computer's memory alongside the data they operate on is the crux of the von Neumann, or stored program, architecture. In some cases, a computer might store some or all of its program in memory that is kept separate from the data it operates on. This is called the Harvard architecture after the Harvard Mark I computer. Modern von Neumann computers display some traits of the Harvard architecture in their designs, such as in CPU caches.

While it is possible to write computer programs as long lists of numbers (machine language) and this technique was used with many early computers,[8] it is extremely tedious to do so in practice, especially for complicated programs. Instead, each basic instruction can be given a short name that is indicative of its function and easy to remember—a mnemonic such as ADD, SUB, MULT or JUMP. These mnemonics are collectively known as a computer's assembly language. Converting programs written in assembly language into something the computer can actually understand (machine language) is usually done by a computer program called an assembler. Machine languages and the assembly languages that represent them (collectively termed low-level programming languages) tend to be unique to a particular type of computer. For instance, an ARM architecture computer (such as may be found in a PDA or a hand-held videogame) cannot understand the machine language of an Intel Pentium or the AMD Athlon 64 computer that might be in a PC.[9]

Though considerably easier than in machine language, writing long programs in assembly language is often difficult and error prone. Therefore, most complicated programs are written in more abstract high-level programming languages that are able to express the needs of the computer programmer more conveniently (and thereby help reduce programmer error). High level languages are usually "compiled" into machine language (or sometimes into assembly language and then into machine language) using another computer program called a compiler.[10] Since high level languages are more abstract than assembly language, it is possible to use different compilers to translate the same high level language program into the machine language of many different types of computer. This is part of the means by which software like video games may be made available for different computer architectures such as personal computers and various video game consoles.

The task of developing large software systems is an immense intellectual effort. It has proven, historically, to be very difficult to produce software with an acceptably high reliability, on a predictable schedule and budget. The academic and professional discipline of software engineering concentrates specifically on this problem.

Example

A traffic light showing red.
A traffic light showing red.

Suppose a computer is being employed to drive a traffic light. A simple stored program might say:

  1. Turn off all of the lights
  2. Turn on the red light
  3. Wait for sixty seconds
  4. Turn off the red light
  5. Turn on the green light
  6. Wait for sixty seconds
  7. Turn off the green light
  8. Turn on the yellow light
  9. Wait for two seconds
  10. Turn off the yellow light
  11. Jump to instruction number (2)

With this set of instructions, the computer would cycle the light continually through red, green, yellow and back to red again until told to stop running the program.

However, suppose there is a simple on/off switch connected to the computer that is intended to be used to make the light flash red while some maintenance operation is being performed. The program might then instruct the computer to:

  1. Turn off all of the lights
  2. Turn on the red light
  3. Wait for sixty seconds
  4. Turn off the red light
  5. Turn on the green light
  6. Wait for sixty seconds
  7. Turn off the green light
  8. Turn on the yellow light
  9. Wait for two seconds
  10. Turn off the yellow light
  11. If the maintenance switch is NOT turned on then jump to instruction number 2
  12. Turn on the red light
  13. Wait for one second
  14. Turn off the red light
  15. Wait for one second
  16. Jump to instruction number 11

In this manner, the computer is either running the instructions from number (2) to (11) over and over or its running the instructions from (11) down to (16) over and over, depending on the position of the switch.[11]

How computers work

A general purpose computer has four main sections: the arithmetic and logic unit (ALU), the control unit, the memory, and the input and output devices (collectively termed I/O). These parts are interconnected by busses, often made of groups of wires.

The control unit, ALU, registers, and basic I/O (and often other hardware closely linked with these) are collectively known as a central processing unit (CPU). Early CPUs were composed of many separate components but since the mid-1970s CPUs have typically been constructed on a single integrated circuit called a microprocessor.

Control unit

Main articles: CPU design and Control unit

The control unit (often called a control system or central controller) directs the various components of a computer. It reads and interprets (decodes) instructions in the program one by one. The control system decodes each instruction and turns it into a series of control signals that operate the other parts of the computer.[12] Control systems in advanced computers may change the order of some instructions so as to improve performance.

A key component common to all CPUs is the program counter, a special memory cell (a register) that keeps track of which location in memory the next instruction is to be read from.[13]

Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.
Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.

The control system's function is as follows—note that this is a simplified description, and some of these steps may be performed concurrently or in a different order depending on the type of CPU:

  1. Read the code for the next instruction from the cell indicated by the program counter.
  2. Decode the numerical code for the instruction into a set of commands or signals for each of the other systems.
  3. Increment the program counter so it points to the next instruction.
  4. Read whatever data the instruction requires from cells in memory (or perhaps from an input device). The location of this required data is typically stored within the instruction code.
  5. Provide the necessary data to an ALU or register.
  6. If the instruction requires an ALU or specialized hardware to complete, instruct the hardware to perform the requested operation.
  7. Write the result from the ALU back to a memory location or to a register or perhaps an output device.
  8. Jump back to step (1).

Since the program counter is (conceptually) just another set of memory cells, it can be changed by calculations done in the ALU. Adding 100 to the program counter would cause the next instruction to be read from a place 100 locations further down the program. Instructions that modify the program counter are often known as "jumps" and allow for loops (instructions that are repeated by the computer) and often conditional instruction execution (both examples of control flow).

It is noticeable that the sequence of operations that the control unit goes through to process an instruction is in itself like a short computer program - and indeed, in some more complex CPU designs, there is another yet smaller computer called a microsequencer that runs a microcode program that causes all of these events to happen.

Arithmetic/logic unit (ALU)

Main article: Arithmetic logic unit

The ALU is capable of performing two classes of operations: arithmetic and logic.

The set of arithmetic operations that a particular ALU supports may be limited to adding and subtracting or might include multiplying or dividing, trigonometry functions (sine, cosine, etc) and square roots. Some can only operate on whole numbers (integers) whilst others use floating point to represent real numbers—albeit with limited precision. However, any computer that is capable of performing just the simplest operations can be programmed to break down the more complex operations into simple steps that it can perform. Therefore, any computer can be programmed to perform any arithmetic operation—although it will take more time to do so if its ALU does not directly support the operation. An ALU may also compare numbers and return boolean truth values (true or false) depending on whether one is equal to, greater than or less than the other ("is 64 greater than 65?").

Logic operations involve Boolean logic: AND, OR, XOR and NOT. These can be useful both for creating complicated conditional statements and processing boolean logic.

Superscalar computers contain multiple ALUs so that they can process several instructions at the same time. Graphics processors and computers with SIMD and MIMD features often provide ALUs that can perform arithmetic on vectors and matrices.

Memory

Main article: Computer storage
Magnetic core memory was popular main memory for computers through the 1960s until it was completely replaced by semiconductor memory.
Magnetic core memory was popular main memory for computers through the 1960s until it was completely replaced by semiconductor memory.

A computer's memory can be viewed as a list of cells into which numbers can be placed or read. Each cell has a numbered "address" and can store a single number. The computer can be instructed to "put the number 123 into the cell numbered 1357" or to "add the number that is in cell 1357 to the number that is in cell 2468 and put the answer into cell 1595". The information stored in memory may represent practically anything. Letters, numbers, even computer instructions can be placed into memory with equal ease. Since the CPU does not differentiate between different types of information, it is up to the software to give significance to what the memory sees as nothing but a series of numbers.

In almost all modern computers, each memory cell is set up to store binary numbers in groups of eight bits (called a byte). Each byte is able to represent 256 different numbers; either from 0 to 255 or -128 to +127. To store larger numbers, several consecutive bytes may be used (typically, two, four or eight). When negative numbers are required, they are usually stored in two's complement notation. Other arrangements are possible, but are usually not seen outside of specialized applications or historical contexts. A computer can store any kind of information in memory as long as it can be somehow represented in numerical form. Modern computers have billions or even trillions of bytes of memory.

The CPU contains a special set of memory cells called registers that can be read and written to much more rapidly than the main memory area. There are typically between two and one hundred registers depending on the type of CPU. Registers are used for the most frequently needed data items to avoid having to access main memory every time data is needed. Since data is constantly being worked on, reducing the need to access main memory (which is often slow compared to the ALU and control units) greatly increases the computer's speed.

Computer main memory comes in two principal varieties: random access memory or RAM and read-only memory or ROM. RAM can be read and written to anytime the CPU commands it, but ROM is pre-loaded with data and software that never changes, so the CPU can only read from it. ROM is typically used to store the computer's initial start-up instructions. In general, the contents of RAM is erased when the power to the computer is turned off while ROM retains its data indefinitely. In a PC, the ROM contains a specialized program called the BIOS that orchestrates loading the computer's operating system from the hard disk drive into RAM whenever the computer is turned on or reset. In embedded computers, which frequently do not have disk drives, all of the software required to perform the task may be stored in ROM. Software that is stored in ROM is often called firmware because it is notionally more like hardware than software. Flash memory blurs the distinction between ROM and RAM by retaining data when turned off but being rewritable like RAM. However, flash memory is typically much slower than conventional ROM and RAM so its use is restricted to applications where high speeds are not required.[14]

In more sophisticated computers there may be one or more RAM cache memories which are slower than registers but faster than main memory. Generally computers with this sort of cache are designed to move frequently needed data into the cache automatically, often without the need for any intervention on the programmer's part.

Input/output (I/O)

Main article: Input/output
Hard disks are common I/O devices used with computers.
Hard disks are common I/O devices used with computers.

I/O is the means by which a computer receives information from the outside world and sends results back. Devices that provide input or output to the computer are called peripherals. On a typical personal computer, peripherals include input devices like the keyboard and mouse, and output devices such as the display and printer. Hard disk drives, floppy disk drives and optical disc drives serve as both input and output devices. Computer networking is another form of I/O.

Often, I/O devices are complex computers in their own right with their own CPU and memory. A graphics processing unit might contain fifty or more tiny computers that perform the calculations necessary to display 3D graphics[citation needed]. Modern desktop computers contain many smaller computers that assist the main CPU in performing I/O.

Multitasking

Main article: Computer multitasking

While a computer may be viewed as running one gigantic program stored in its main memory, in some systems it is necessary to give the appearance of running several programs simultaneously. This is achieved by having the computer switch rapidly between running each program in turn. One means by which this is done is with a special signal called an interrupt which can periodically cause the computer to stop executing instructions where it was and do something else instead. By remembering where it was executing prior to the interrupt, the computer can return to that task later. If several programs are running "at the same time", then the interrupt generator might be causing several hundred interrupts per second, causing a program switch each time. Since modern computers typically execute instructions several orders of magnitude faster than human perception, it may appear that many programs are running at the same time even though only one is ever executing in any given instant. This method of multitasking is sometimes termed "time-sharing" since each program is allocated a "slice" of time in turn.

Before the era of cheap computers, the principle use for multitasking was to allow many people to share the same computer.

Seemingly, multitasking would cause a computer that is switching between several programs to run more slowly - in direct proportion to the number of programs it is running. However, most programs spend much of their time waiting for slow input/output devices to complete their tasks. If a program is waiting for the user to click on the mouse or press a key on the keyboard, then it will not take a "time slice" until the event it is waiting for has occurred. This frees up time for other programs to execute so that many programs may be run at the same time without unacceptable speed loss.

Multiprocessing

Main article: Multiprocessing
Cray designed many supercomputers that used multiprocessing heavily.
Cray designed many supercomputers that used multiprocessing heavily.

Some computers may divide their work between one or more separate CPUs, creating a multiprocessing configuration. Traditionally, this technique was utilized only in large and powerful computers such as supercomputers, mainframe computers and servers. However, multiprocessor and multi-core (multiple CPUs on a single integrated circuit) personal and laptop computers have become widely available and are beginning to see increased usage in lower-end markets as a result.

Supercomputers in particular often have highly unique architectures that differ significantly from the basic stored-program architecture and from general purpose computers.[15] They often feature thousands of CPUs, customized high-speed interconnects, and specialized computing hardware. Such designs tend to be useful only for specialized tasks due to the large scale of program organization required to successfully utilize most of a the available resources at once. Supercomputers usually see usage in large-scale simulation, graphics rendering, and cryptography applications, as well as with other so-called "embarrassingly parallel" tasks.

Networking and the Internet

Main articles: Computer networking and Internet
Visualization of a portion of the routes on the Internet.
Visualization of a portion of the routes on the Internet.

Computers have been used to coordinate information in multiple locations since the 1950s. The U.S. military's SAGE system was the first large-scale example of such a system, which led to a number of special-purpose commercial systems like Sabre.

In the 1970s, computer engineers at research institutions throughout the United States began to link their computers together using telecommunications technology. This effort was funded by ARPA (now DARPA), and the computer network that it produced was called the ARPANET. The technologies that made the Arpanet possible spread and evolved. In time, the network spread beyond academic and military institutions and became known as the Internet. The emergence of networking involved a redefinition of the nature and boundaries of the computer. Computer operating systems and applications were modified to include the ability to define and access the resources of other computers on the network, such as peripheral devices, stored information, and the like, as extensions of the resources of an individual computer. Initially these facilities were available primarily to people working in high-tech environments, but in the 1990s the spread of applications like e-mail and the World Wide Web, combined with the development of cheap, fast networking technologies like Ethernet and ADSL saw computer networking become almost ubiquitous. In fact, the number of computers that are networked is growing phenomenally. A very large proportion of personal computers regularly connect to the Internet to communicate and receive information. "Wireless" networking, often utilizing mobile phone networks, has meant networking is becoming increasingly ubiquitous even in mobile computing environments.

Further topics

Hardware

Main article: Computer hardware

The term hardware covers all of those parts of a computer that are tangible objects. Circuits, displays, power supplies, cables, keyboards, printers and mice are all hardware.

History of computing hardware
First Generation (Mechanical/Electromechanical) Calculators Antikythera mechanism, Difference Engine, Norden bombsight
Programmable Devices Jacquard loom, Analytical Engine, Harvard Mark I, Z3
Second Generation (Vacuum Tubes) Calculators Atanasoff–Berry Computer, IBM 604, UNIVAC 60, UNIVAC 120
Programmable Devices ENIAC, EDSAC, EDVAC, UNIVAC I, IBM 701, IBM 702, IBM 650, Z22
Third Generation (Discrete transistors and SSI, MSI, LSI Integrated circuits) Mainframes IBM 7090, IBM 7080, System/360, BUNCH
Minicomputer PDP-8, PDP-11, System/32, System/36
Fourth Generation (VLSI integrated circuits) Minicomputer VAX, IBM System i
4-bit microcomputer Intel 4004, Intel 4040
8-bit microcomputer Intel 8008, Intel 8080, Motorola 6800, Motorola 6809, MOS Technology 6502, Zilog Z80
16-bit microcomputer 8088, Zilog Z8000, WDC 65816/65802
32-bit microcomputer 80386, Pentium, 68000, ARM architecture
64-bit microcomputer[16] x86-64, PowerPC, MIPS, SPARC
Embedded computer 8048, 8051
Personal computer Desktop computer, Home computer, Laptop computer, Personal digital assistant (PDA), Portable computer, Tablet computer, Wearable computer
Theoretical/experimental Quantum computer, Chemical computer, DNA computing, Optical computer, Spintronics based computer
Other Hardware Topics
Peripheral device (Input/output) Input Mouse, Keyboard, Joystick, Image scanner
Output Monitor, Printer
Both Floppy disk drive, Hard disk, Optical disc drive, Teleprinter
Computer busses Short range RS-232, SCSI, PCI, USB
Long range (Computer networking) Ethernet, ATM, FDDI

Software

Main article: Computer software

Software refers to parts of the computer which do not have a material form, such as programs, data, protocols, etc. When software is stored in hardware that cannot easily be modified (such as BIOS ROM in an IBM PC compatible), it is sometimes called "firmware" to indicate that it falls into an uncertain area somewhere between hardware and software.

Computer software
Operating system Unix/BSD UNIX System V, AIX, HP-UX, Solaris (SunOS), IRIX, List of BSD operating systems
GNU/Linux List of Linux distributions, Comparison of Linux distributions
Microsoft Windows Windows 95, Windows 98, Windows NT, Windows XP, Windows Vista, Windows CE
DOS 86-DOS (QDOS), PC-DOS, MS-DOS, FreeDOS
Mac OS Mac OS classic, Mac OS X
Embedded and real-time List of embedded operating systems
Experimental Amoeba, Oberon/Bluebottle, Plan 9 from Bell Labs
Library Multimedia DirectX, OpenGL, OpenAL
Programming library C standard library, Standard template library
Data Protocol TCP/IP, Kermit, FTP, HTTP, SMTP
File format HTML, XML, JPEG, MPEG, PNG
User interface Graphical user interface (WIMP) Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM
Text user interface Command line interface, shells
Application Office suite Word processing, Desktop publishing, Presentation program, Database management system, Scheduling & Time management, Spreadsheet, Accounting software
Internet Access Browser, E-mail client, Web server, Mail transfer agent, Instant messaging
Design and manufacturing Computer-aided design, Computer-aided manufacturing, Plant management, Robotic manufacturing, Supply chain management
Graphics Raster graphics editor, Vector graphics editor, 3D modeler, Animation editor, 3D computer graphics, Video editing, Image processing
Audio Digital audio editor, Audio playback, Mixing, Audio synthesis, Computer music
Software Engineering Compiler, Assembler, Interpreter, Debugger, Text Editor, Integrated development environment, Performance analysis, Revision control, Software configuration management
Educational Edutainment, Educational game, Serious game, Flight simulator
Games Strategy, Arcade, Puzzle, Simulation, First-person shooter, Platform, Massively multiplayer, Interactive fiction
Misc Artificial intelligence, Antivirus software, Malware scanner, Installer/Package management systems, File manager

Programming languages

Programming languages provide various ways of specifying programs for computers to run. Unlike natural languages, programming languages are designed to permit no ambiguity and to be concise. They are purely written languages and are often difficult to read aloud. They are generally either translated into machine language by a compiler or an assembler before being run, or translated directly at run time by an interpreter. Sometimes programs are executed by a hybrid method of the two techniques. There are thousands of different programming languages—some intended to be general purpose, others useful only for highly specialized applications.

Programming Languages
Lists of programming languages Timeline of programming languages, Categorical list of programming languages, Generational list of programming languages, Alphabetical list of programming languages, Non-English-based programming languages
Commonly used Assembly languages ARM, MIPS, x86
Commonly used High level languages BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal
Commonly used Scripting languages Bourne script, JavaScript, Python, Ruby, PHP, Perl

Professions and organizations

As the use of computers has spread throughout society, there are an increasing number of careers involving computers. Following the theme of hardware, software and firmware, the brains of people who work in the industry are sometimes known irreverently as wetware or "meatware".

Computer-related professions
Hardware-related Electrical engineering, Electronics engineering, Computer engineering, Telecommunications engineering, Optical engineering, Nanoscale engineering
Software-related Computer science, Human-computer interaction, Information technology, Software engineering, Scientific computing, Web design, Desktop publishing

The need for computers to work well together and to be able to exchange information has spawned the need for many standards organizations, clubs and societies of both a formal and informal nature.

Organizations
Standards groups ANSI, IEC, IEEE, IETF, ISO, W3C
Professional Societies ACM, ACM Special Interest Groups, IET, IFIP
Free/Open source software groups Free Software Foundation, Mozilla Foundation, Apache Software Foundation