Archive

Archive for the ‘Programming’ Category

Apollo 11 and the Forgotten Art of Software Engineering

July 11th, 2009 GµårÐïåñ No comments

The Apollo lunar landing programme, which culminated in Neil Armstrong and Buzz Aldrin’s moon walk on 20 July 1969, represents a technical achievement that has yet to be surpassed. The computer systems that helped them get there were among the most advanced of the time. Certainly, no more complex public software project
had been undertaken before the Apollo programme.

The Apollo Guidance Computer, developed at MIT for the lunar landings, was the first embedded system. It was also the first example of a fly-by-wire system. Such systems are used today on modern aircraft such as the airbus A-380. The pilots relied on computers controlled by safety-critical software to keep them alive and enable them to navigate the 384,400km to the moon, control the descent and launch of the lunar lander, and return safely back to Earth. Thousands of computer technicians and programmers were involved in the Apollo programme. The software development process Nasa used to co-ordinate these people is often cited as an example of software engineering, although the term was coined midway through the lunar project.

As the world celebrates the 40th anniversary of one of man’s greatest achievements this week, the idea of software projects being engineering projects has somehow been forgotten. Businesses are keen to gain a competitive edge by churning out software. Apart from in aerospace and some safety-critical -applications, speed of application development has become more important than quality. End-users accept computer bugs as a way of life. The British Computer Society is keen to raise the bar, with training, accreditation and certification, which it hopes will turn computer programming into a profession, with professional standards.

Microsoft’s Trustworthy Computing initiative shows that commercial software can be made less buggy. But will users accept the price of higher quality software, the longer development time and the potentially higher licence fee? They need to. As computer technology becomes embedded in human society, the effects of buggy code will become more obvious and damaging. Software must be engineered to a high quality.

Cliff Saran


Tags: , ,

Opinion: Chrome OS Buffs Up the Google Brand

July 9th, 2009 GµårÐïåñ No comments

Google’s announcement that it is working on a lightweight operating system is as much about marketing as it is about technology.

After all, the technology is hardly new: at the heart of Google’s Chrome OS lies the Linux kernel; on top of that is Google’s existing Chrome browser, running in a new windowing system.  But to this lash-up of mostly pre-existing code, Google brings one, invaluable extra: its brand.

Google’s name means that people won’t need to think twice before buying first netbooks and, later, entry-level PCs, running Chrome OS; they won’t need to worry about whether it will be compatible with their files or easy to use.

They will just assume that Google has sorted everything out, because they trust the brand.  Some, of course, will be disappointed with details, but the majority will be content with the simplicity of the solution.  Google will be aided in this shift because the basic environment in which everything is run is the browser – and anyone can use a browser.

But the long-term consequences of this move are much greater than this relative ease might suggest.  With its Chrome OS, Google will make the operating system not just invisible, but irrelevant: the browser becomes the platform.

Netscape tried this a decade ago and failed; Google might succeed because of two important shifts in computing that it has been driving for a while, and which Chrome OS both depends on and will help propagate even more widely.

The first is cloud computing.  Already, Google can meet almost all the needs of average users through Web apps like Gmail and Google Docs; others are doubtless under development.  Low-cost and easy-to-use Chrome OS netbooks and PCs will offer people more reasons to move their computing into the cloud – and help Google to make more money from the ads they will encounter there.

The second shift is free software, which is now sufficiently mature that Google can use it to do most of the heavy lifting, and without trying to become a full-on operating system company.

The potential loser here is clearly Microsoft, which faces an invasion of its desktop heartland by a challenger that is already well known and totally dominant online.  Its loss of market share is unlikely to be dramatic, especially at the high end, but will add to the continuing erosion of Microsoft’s power and profits.

Apple, by contrast, will probably be little affected, because brand loyalty is higher – people love their Mac desktops in a way that Windows users do not.

In the world of GNU/Linux, distributions like Ubuntu that are aimed at the general user will find that they have to compete against the powerful Google brand, so life may well get harder for them.

But in one sense, whether it’s an existing distro or Chrome OS that achieves a greater market share among general users is irrelevant: either way, Google’s latest move is likely to provide a significant boost for open source on the desktop once Chrome OS moves from its current state of vapourware to the inevitable semi-eternal beta.

Link


Tags: , ,

Network Design and Management

June 21st, 2009 GµårÐïåñ No comments

The systems development life cycle (SDLC) is a structured approach to the development of a business system. This approach often includes planning, analysis, design, implementation, and support. Although virtually every company that uses SDLC and every textbook that teaches SDLC has its own slightly different variation of the methodology, most agree that the SDLC includes the following phases:

  • Planning—Identify problems, opportunities, and objectives.
  • Analysis—Determine information requirements, analyze system needs, and prepare a written systems proposal.
  • Design—Design and build the system recommended at the end of the analysis phase and create the documentation to accompany the system.
  • Implementation—Install the system and prepare to move from the old system to the new system; train the users.
  • Maintenance—Correct and update the installed system as necessary.

The idea of phases is critical to the SDLC concept. The intent of SDLC is for phases not to be disjointed steps in a big plan, but overlapping layers of activity. A second critical concept is that of the cycle. After a system has been maintained for a period of time, it is relatively common to restart the planning phase— hence, another cycle—in an attempt to seek a better solution to the problem.

One technique used to model a corporation’s network environment is to create connectivity maps. More precisely, three different modeling techniques can be used, depending on what type of network you are modeling: wide area connectivity maps, metropolitan area connectivity maps, and local area connectivity maps.

In order to create a wide area connectivity map, the modeler begins by identifying each site or location in which the company has an office. Each fixed site is denoted by a circle; mobile or wireless sites are indicated by circles containing the letter M; and external sites, such as suppliers or external agents, are denoted by circles containing the letter E. A solid line between two sites indicates a desired path for data (or voice) transmission. If a company desires a metropolitan area network connection between one of its offices and another business, such as an Internet service provider (ISP), it can use a metropolitan area connectivity map to outline this connection and define the desired network characteristics. To examine the nodes in a wide area connectivity map in more detail, an analyst can expand each individual site into a local area connectivity map. The local area network design can then be performed in one or two stages, depending upon the level of detail desired. If only an overview of a local network is desired, then the analyst can create a local area overview connectivity map. If more detail is desired, the analyst can create a local area detailed connectivity map.

Analyzing and designing a new computer system can be time-consuming and expensive. While the project is in the analysis phase, and before a system is designed and installed, a feasible solution must be found. The term “feasible” has several meanings when it’s applied to computer-based projects. The technical feasibility of a system is the extent to which the system can be created and implemented using currently existing technology. A system’s financial feasibility is the extent to which the system can be created, given the company’s current finances. When a system demonstrates operational feasibility, it operates as designed and implemented. A system’s time feasibility is the extent to which the system can be installed in a timely fashion and meets organizational needs.

To determine the cost of a system, it is necessary to include all possible costs. But to get a comprehensive understanding of the cost of the system, you must also calculate the recurring costs of the proposed system. Once the one-time and recurring costs have been established, it is time to determine the benefits that will result from the proposed system. When calculating benefits, you will need to include both tangible benefits and intangible benefits. Now that the costs and benefits have been determined, you can apply them to a payback analysis. When performing a payback analysis calculation, you should show all dollar amounts using the time value of money. This means that if something is going to cost one dollar one year from now, you need to put away less than a dollar today to pay for it. This also means that if something is going to cost one dollar one year from now, you need to put away less than a dollar today to pay for it. A payback analysis helps you to determine the approximate time for a project payback, or return on investment (ROI), to occur.

If you design a system for a company, and the system is not capable of supporting the traffic generated within the company, response times will be sluggish, and users may not be able to complete their work on time. Capacity planning involves trying to determine the amount of network bandwidth necessary to support an application or a set of applications. Capacity planning is a fairly difficult and time-consuming operation. A number of techniques exist for performing capacity planning, including linear projection, computer simulation, benchmarking, and analytical modeling.

Linear projection involves predicting one or more network capacities based on the current network parameters and multiplying those capacities by some constant. Some systems, however, do not follow a linear projection. If you apply a linear projection to these systems, you may produce inaccurate predictions. In these cases, an alternate strategy is required. A computer simulation involves modeling an existing system or a proposed system using a computer-based simulation tool and subjecting the model to varying degrees of user demand (called load). Computer simulations are difficult to create, mainly because it is easy to make mistakes in the modeling process and difficult to discover them. Benchmarking involves generating system statistics under a controlled environment and then comparing those statistics against known measurements. Unfortunately, like simulation, this process can also suffer from possible errors. Analytical modeling involves the creation of mathematical equations to calculate various network values.

Creating a baseline for an existing computer network involves measuring and recording a network’s state of operation over a given period of time. Creating a baseline actually involves capturing many network measurements over all segments of a network, including numerous measurements on workstations, user applications, bridges, routers, and switches. Baseline studies can be started at any time but are most effective when they are initiated during a time when the network is not experiencing severe problems, such as a node failure or a jabber. Therefore, before you begin a baseline study, you must extinguish all immediate fires and try to get the network into fairly normal operation. Because you will be generating a large number of statistics, you will want to have access to a good database or spreadsheet application to keep the data organized. Once the database or spreadsheet has been set up, you are ready to begin your baseline study.

The next question is, on what items are you going to collect baseline information? You may find it useful to collect information on items such as system users, system nodes, operational protocols, network applications, and network utilization levels. Once you have collected and analyzed network utilization data, you can make several important observations. First, you can detect when a network may be reaching saturation. A second observation you can make is when peak periods of network use occur. Making observations about peak periods of network use is easiest when you graph network activity data. Examining the amount of traffic on each node also yields valuable information about network performance. Once you have performed the baseline study, don’t stop observing the network. For a baseline study to be really effective, you need to maintain it.

Once the analysis and design phases of network development are completed and the computer network is in place and operating, it is the network administrator’s responsibility to keep it running. Keeping a network running involves making repairs on failed components, installing new applications and updating the existing ones, keeping the system’s existing users up to date, and looking for new ways to improve the overall system and service level.

Because many network administrators are dealing with both computers and people, they need the skills necessary to work with both. A checklist of skills for the network administrator would include a wide platform of technology skills, including, but not limited to, knowledge of local area networks, wide area networks, voice telecommunications systems, data transmission systems, video transmission, basic hardware concepts, and basic software skills. A network administrator should also have interpersonal skills, including the ability to talk to users in order to service problems and explore new applications. Along with interpersonal skills, a network administrator also needs training skills, which involve the ability to train users or other network support personnel. To make effective use of limited resources, a network administrator should also possess a number of common management skills, including budget management, statistical, time management, project management, and policy creation and enforcement skills. To learn new skills and demonstrate proficiency within a particular area, the network administrator can obtain certification.

Computer networks are in a constant state of change. To support changes to a network, a network administrator needs funding. If properly generated, statistics can be used to support the request for a new system or modifications to an existing system. Four statistics, or measures, that are useful in evaluating networks are mean time between failures, mean time to repair, availability, and reliability. Mean time between failures (MTBF) is the average time a device or system will operate before it will fail. Mean time to repair (MTTR) is the average time necessary to repair a failure within the computer network. This time includes the time necessary to isolate the failure. The third statistic, availability, is the probability that a particular component or system will be available during a fixed time period. A component or network with a high availability (near 1.0) is almost always operational. For simplicity, however, you can calculate availability by simply subtracting the downtime from the total available time and then dividing by the total available time. The fourth statistic, reliability, calculates the probability that a component or system will be operational for the duration of a transaction of time t. Reliability is defined by the equation: R(t) = e^(–bt). A reliability of exactly 1.0 means the network or device is reliable 100 percent of the time.

The two categories of diagnostic tools are the tools that test and debug the network hardware, and the tools that analyze the data transmitted over the network. Finally, the command center and the help desk should be considered.

Tools that test and debug network hardware range from very simple devices to more elaborate, complex devices. Three common testing devices are electrical testers (the simplest), cable testers, and local area network testers (the most elaborate). An electrical tester will show if voltage is on a line, and if so, how much voltage. Cable testers are slightly more elaborate devices. They can verify connectivity and test for line faults, such as open circuits, short circuits, reversed circuits, and crossed circuits. Local area network testers can operate on Ethernet and token ring networks, whether they have switches or not. Some local area network testers have a display that graphically shows a network segment and all of the devices attached to it.

The second category of diagnostic tools covers tools that analyze data transmitted over the network. These tools include protocol analyzers and devices or software that emulate protocols and applications. One of the most common of these tools is the traffic analyzer or protocol analyzer. Each packet’s protocol is analyzed, and statistics are generated that show which devices are talking to each other and which applications are being used. This information can then be used to update the network, so that it operates more effectively.

To assist network administrators and information technologists in doing their jobs, businesses have control centers for their computing services. It contains, in one easily accessible place, all the network documentation, including network resource manuals, training manuals, baseline studies, all equipment documentation, user manuals, vendor names and telephone numbers, procedure manuals, and forms necessary to request services or equipment. The control center can also contain a training center to assist users and other information technologists.

One of the more important elements of a control center is the help desk. Whether it’s called upon to address hardware problems, answer questions about running a particular software package, or introduce the company’s users to new computing services, the help desk is the gateway between the user and computing and network services. When users know a friendly person is available to turn to for any computing problems, much less computer system and computer user friction exists.

A network management protocol facilitates the exchange of management information between network devices. This information can be used to monitor network performance, find network problems, and then solve those problems—all without having any network personnel physically touch the affected device. Simple Network Management Protocol (SNMP) is an industry standard designed originally to manage Internet components; it is now also used to manage wide area network and telecommunications systems.

SNMP is based on the following set of principles. Network objects consist of network elements such as servers, mainframe computers, printers, hubs, bridges, routers, and switches. Each of these elements can be classified as either managed or unmanaged. A managed element has management software, called an agent, running in it and is more elaborate and expensive than an unmanaged element. A second type of object—the SNMP manager software—controls the operations of a managed element and maintains a database of information about all managed elements. The database that holds the information about all managed devices is called the Management Information Base (MIB). The information stored in the MIB can be used to repair or manage the network, or simply to observe the operation of the network. Managed elements are monitored and controlled using three basic SNMP commands: read, write, and trap. The read command is issued by a manager to retrieve information from the agent in a managed element. The write command is also issued by a manager but is used to control the agent in a managed element. By using the write command, a manager can change the settings in an agent, thus making the managed element perform differently.

More often than not, the SNMP manager requests information directly from a managed element on the same network. But what if a manager wants to collect information from a remote network? Remote Network Monitoring (RMON) is a protocol that allows a network administrator to monitor, analyze, and troubleshoot a group of remotely managed elements. RMON is defined as an extension of SNMP. RMON can be supported by hardware monitoring devices, through software, or through a combination of hardware and software. RMON can collect several basic kinds of information, such as number of packets sent, number of bytes sent, number of packets dropped, host statistics, and certain kinds of events that have occurred. A network administrator can find out how much bandwidth or traffic each user is imposing on the network and can set alarms in order to be alerted of impending problems.


Tags: , , , ,

Voice and Data Delivery Networks

June 17th, 2009 GµårÐïåñ No comments

The basic telephone system, or plain old telephone service (POTS), has been in existence since the early 1900s. During most of those years, POTS was an analog system capable of supporting a voice conversation. It wasn’t until the 1970s that POTS began carrying computer data signals as well as voice signals.

The local loop is the telephone line that leaves your house or business and consists of either four or eight wires. The central office (CO) contains the equipment that generates a dial tone, interprets the telephone number dialed, checks for special services, and connects the incoming call to the next point. A local access transport area (LATA) is a geographic area such as a large metropolitan area or part of a large state. A subscriber loop, such as the wire that runs between a house and the central office, has a unique telephone number associated with it. A trunk does not have a telephone number associated with it, because the trunk can carry hundreds of voice and data channels. A telephone number consists of three parts: the area code, the exchange, and the subscriber extension.

Telephone systems were originally designed to transmit the human voice. In practice, the telephone system actually allocates 4000 Hz to a channel and uses filters to remove frequencies that fall above and below each 4000-Hz channel. Any data transmission that is performed over a standard telephone line must fit within the fairly narrow band of 4000 Hz, which means the data transmission rate will also be limited.

Prior to 1984, AT&T (American Telephone and Telegraph) owned all the long-distance telephone lines in the United States, a majority of local telephone systems, and Bell Laboratories. In the 1970s, the federal government took AT&T to court, citing antitrust violations. AT&T lost the case, and in 1984 the court’s ultimate ruling, known as the Modified Final Judgment, required the divestiture, or breakup, of AT&T into separate companies. This breakup allowed AT&T to keep the long-distance lines and Bell Labs, but the company had to divest itself of all local telephone companies. At the time, AT&T consisted of 23 Bell Operating Companies (BOCs), which provided local telephone service across the country. As part of the divestiture, the 23 BOCs were separated from AT&T and were reorganized into 7 Regional Bell Operating Companies (RBOCs).

A number of other outcomes of the 1984 divestiture completely changed the landscape of the U.S. telephone system. For one, the United States was divided into the local access transport areas (LATAs) we just learned about. These LATAs determined when a telephone call was local or long distance. The breakup also allowed long-distance telephone companies other than Bell Telephone, such as MCI and Sprint, to offer competing long-distance services.

After the 1984 Modified Final Judgment the local telephone companies became known as local exchange carriers (LECs), and the long-distance telephone companies became known as interexchange carriers (IECs or IXCs).

A local exchange carrier offers a number of services, including Centrex, private and tie lines, and many other telecommunications services such as call waiting and conference calls. With Centrex, Businesses are spared the expense of having to keep up with fast-moving technology changes, because the telephone company is providing the hardware and the services, and the business is simply paying a monthly fee. An alternative to Centrex is the Private Branch Exchange (PBX). A PBX handles all in-house calls and places calls onto outside telephone lines. A PBX can also offer many telephone services such as voice mail, call forwarding, and dialing plans that use the least expensive local and long-distance telephone circuits. Private lines and tie lines are leased telephone lines that require no dialing.

An interexchange carrier, or long-distance telephone company, can also offer a large number of services, including credit card and calling card dialing; 700, 800, 888, and 900 access; international access; and operator and directory assistance.

A second major event in the recent history of the telecommunications industry occurred in 1996, with the passing of the Telecommunications Act of 1996. New providers of local telephone services were called competitive local exchange carriers (CLECs), and they could include interexchange carriers, cable television operators, small companies with virtually no equipment, and even the electric power company. The reasoning behind the development of CLECs was fairly straightforward and meant to better accommodate the way phone services were already being delivered.

Unfortunately, allowing all of these new local telephone providers into a market causes problems for the telephone lines. It is prohibitively expensive for a new telephone provider to install new telephone lines into each home and business. To solve this problem, ILECs must give CLECs access to their telephone lines. Furthermore, the ILECs must give competitors access to telephone numbers, operator services, and directory listings; access to poles, ducts, and rights-of-way; and physical co-location of equipment within ILEC buildings—and they must give these services at wholesale prices. Another interesting provision of the 1996 Telecommunications Act is that an ILEC must sell the CLECs access to the local dial tone at 17 to 28 percent less than the standard price.

When they were originally introduced many years ago, dial-up modems were capable of data transfer speeds of merely 150 to 300 bits per second. Fortunately, modem technology improved quickly, and soon data transfer speeds jumped to 1200 bps, then 2400 bps, and eventually reached what was thought to be a peak speed of 33,600 bps. Approximately two years after the 33,600-bps modem became available, the 56,000-bps, or 56k, modem was introduced.

The new 56k modems are a hybrid design, combining analog signaling and digital signaling. The upstream connection from modem to remote end still uses conventional analog signaling and modulation techniques, and thus is limited to a maximum transmission speed of 33,600 bps. The downstream link, however, is where the 56k modem really stands out. Instead of using analog signaling, the 56k modem employs digital signaling. When the telephone company transmits a digital 64-kbps telephone signal, the signal is transmitted digitally from one switching center to another. But when a telephone signal is transmitted into our homes and small businesses, it must be adjusted so that it can traverse the local loop. Before the telephone signal is transmitted over the local loop, the central office converts the digital signal to an analog signal. When the analog signal enters your house, your computer’s 56k modem converts the analog signal back to digital data, because computers manipulate digital data. When an analog signal is converted to digital data, quantizing noise is introduced. The presence of this noise is the reason it is not possible to transmit a 64-kbps data stream into the local loop. But a smaller data stream, of approximately 56 kbps, is possible. As it turns out, receiving a 56,000-bps signal is not possible either. Because noise is a bigger factor, the signal slows down more, to approximately 53,000 bps.

Private lines and tie lines are leased telephone lines that require no dialing. They are permanent direct connections between two specified points. Consider a company that has two offices in the same city that are always transferring data back and forth. To connect these offices, the company could use a dial-up telephone line with two modems, but because many telephone companies charge for all calls made, a dial-up line would be very expensive. A leased line might offer a less expensive alternative, and it will always be connected—which means an employee in one office never has to dial a telephone number to contact an employee in the other office.

The most popular example of a leased line service was the T-1. A T-1 service is an all-digital connection that can transfer either voice or data at speeds up to 1.544 Mbps (1,544,000 bits per second). Depending on the user’s wishes, the T-1 line can support up to 24 individual telephone circuits, 24 individual data lines at 56,000 bits per second each, or various combinations of these options. Like all leased line services, a T-1 connection is a point-to-point service and is always active. IntraLATA T-1 lines typically cost approximately $350 to $400 per month, while interLATA T-1 lines can cost as much as $1200 per month plus $2.50 per mile for the connection.

Digital subscriber line (DSL) is a technology that allows existing twisted pair telephone lines to transmit multimedia materials and high-speed data. The transfer speed of a particular line depends on one or more of the following factors: the carrier providing the service, the distance of your house or business from the central office of the local telephone company, and whether the DSL service is a symmetric connection or an asymmetric connection. The first of these factors, the carrier, determines the particular form of DSL technology and the supporting transmission formats, which are chosen by each carrier individually. The effect of the second factor, distance, on the transfer speed of a line is relatively straightforward: the closer your house or business is to the central office, the faster the possible transmission speed. The third factor affecting transfer speed is the type of connection: symmetric or asymmetric. A symmetric connection is one in which the transfer speeds in both directions are equal. An asymmetric connection has a faster downstream transmission speed than its upstream speed. An asymmetric service is useful for an Internet connection in which the bulk of the traffic (in the form of Web pages) comes down from the Internet to the workstation. Most residential DSL services are asymmetric.

Digital subscriber line comes in a variety of formats. Often collectively referred to as xDSL, six DSL formats are in use today:

  • Asymmetric digital subscriber line (ADSL)—A popular format that transmits the downstream data at a faster rate than the upstream rate.
  • Consumer DSL (CDSL)—A trademarked version of DSL with speeds that are a little slower than typical ADSL speeds.
  • DSL Lite—A slower format compared to ADSL; also known as Universal DSL, G.Lite, and splitterless DSL
  • High bit-rate DSL (HDSL)—The earliest form of DSL, this format provides a symmetric service with speeds usually equivalent to a T-1 service (1.544 Mbps).
  • Very high data rate DSL (VDSL)—Also known as very high-speed DSL and very high bit-rate DSL, this is a very fast format (between 51 and 55 Mbps) over very short distances (less than 300 meters).
  • Rate-adaptive DSL (RADSL)—RADSL is a format in which the transfer rate can vary, depending on noise levels within the telephone line’s local loop.

A cable modem is a high-speed communications service that allows high-speed access to wide area networks such as the Internet via a cable television connection. Technically speaking, a cable modem is a physical device that separates the computer data from the cable television video signal. Most cable modems are external devices that connect to the personal computer through a common Ethernet network interface card, which is either provided by the cable company or purchased at most stores that sell computer equipment. Cable modems provide high-speed connections to the World Wide Web and other Internet services, and the demand for them is growing rapidly.

A disadvantage of cable modems—quite possibly their only disadvantage—is related to a new trend. As traffic on Ethernet-based local area networks increases, overall throughput decreases (the ability to send or receive a complete message). Thus, as more customers within a local geographic area, such as a small number of neighborhood blocks, subscribe to cable modem service, traffic will increase to the point where throughput may suffer noticeably.

Frame relay is a packet-switched network that was designed for transmitting data over fixed lines (not dial-up lines). The frame relay service can be either a local service or a long-distance service. Once the service is established, the customer needs only to transmit his or her data over a local link to a nearby frame relay station. The frame relay network is then responsible for transmitting the user’s data across the network and delivering it to the intended destination site. A frame relay service provides many attractive alternatives to leased lines. One of the first noticeable characteristics of a frame relay network is its very high transfer speeds. The data transfer speeds can be very fast, up to 45 Mbps and sometimes even higher. Another advantage associated with frame relay is that their error rates during transmission are low. Last, frame relay networks are reasonably priced.

The permanent connection that is necessary to transfer data between two endpoints is called a permanent virtual circuit (PVC). When a customer establishes a permanent virtual circuit with a frame relay carrier, both customer and carrier agree on a data transfer rate called the committed information rate (CIR). Both frame relay and the Internet are packet-switched networks with widespread availability. Unlike the Internet, frame relay guarantees throughput and minimum delay. Frame relay was originally designed and used to transfer packets of data between two sites more cost effectively than leased lines could. Voice over Frame Relay (VoFR), as defined in the published standard FRF.11, allows the internal telephone systems of companies to be connected using frame relay PVCs. One of the latest developments in frame relay networks eliminates the disadvantage that a frame relay connection is not, like the Internet, dynamic in nature. A switched virtual circuit (SVC) enables frame relay users to dynamically expand their current PVC networks and establish logical network connections, on an as-needed basis, to endpoints on the same network or through gateways to endpoints on other networks.

Asynchronous Transfer Mode (ATM), like frame relay, is a very high-speed, packet-switched service that is offered by the telephone companies. ATM has several unique features that set it apart from frame relay and other packet services. In ATM, all data is sent in small 53-byte packages called cells. ATM networks were designed to simultaneously support voice, video, and data. Before ATM can transfer any data, you must first create a logical connection called a virtual channel connection (VCC). This VCC must be created over a virtual path connection. A virtual path connection (VPC) is a bundle of VCCs that have the same endpoints. When a VCC transmits user-to-network control signaling, the connection is called the user-network interface. When a VCC transmits network management and routing signals, it is called the network-network interface.

With ATM, the customer specifies a desired class of service for every VCC that is set up. ATM has defined four classes of service:

  • Constant bit rate (CBR)—CBR is the most expensive class of service and is similar to a current telephone system leased line.
  • Variable bit rate (VBR)—VBR is used for real-time applications and is similar to frame relay service.
  • Available bit rate (ABR)—ABR is also used for traffic that may experience bursts of data, called “bursty” traffic, and whose bandwidth range is roughly known, such as that of a corporate collection of leased lines.
  • Unspecified bit rate (UBR)—UBR is also capable of sending traffic that might experience bursts of data, but there are no promises as to when the data may be sent— and if congestion problems occur, congestion feedback is not provided (as is provided with ABR).

ATM has a number of significant advantages. ATM can support a wide range of applications with varying bandwidths, at a wide range of transmission speeds. Cell switching, which is performed by ATM’s high-speed, hardware-based switches that route cells down the appropriate path, is so fast that it provides short delays and high bandwidths. ATM’s different classes of service allow customers to choose service type and pricing individually for each data connection (VCC). Finally, ATM is extremely versatile. It can carry voice, packet data, and video over the same facilities. ATM also has a number of disadvantages. It is often more expensive than other data transmission options. Due to the complexity of ATM, the learning curve for setting up and managing the network is high. Lastly, compatible hardware and software may not be widely available.

Although convergence is an important trend in many areas of data communications and computer networks, it has had a particularly noticeable impact on the telecommunications market. We are seeing a number of telephone companies merging into single entities. Another important convergence issue is the speculation that data services such as frame relay and ATM may eventually give way to Ethernet.

Computer-telephony integration (CTI) is an emerging field that combines more traditional voice networks with modern computer networks. CTI integrates the PBX phone switch with computer services to create modern voice and data applications that run on computer systems. Using CTI has three advantages. First, it creates new voice/data business applications that can save companies time. Second, it makes optimal use of current resources. Third, it saves money. These advantages mean that businesses can realize many benefits from CTI applications. For example:

  • Unified messaging
  • Interactive voice response
  • Integrated voice recognition and response
  • Fax processing and fax-back
  • Text-to-speech and speech-to-text conversion
  • Third-party call control
  • PBX graphic user interface
  • Call filtering
  • Customized menuing systems

Tags: , , , ,

The Internet

June 13th, 2009 GµårÐïåñ No comments

The Internet Protocol (IP) provides a connectionless data transfer service over heterogeneous networks by passing and routing IP datagrams. To be passed and routed on the Internet, all IP datagrams or packets that are passed down from the transport layer to the network layer are encapsulated with an IP header that contains the information necessary to transmit the packet from one network to another.

Consider the example of a workstation performing a network operation such as sending an e-mail message to a distant workstation. Suppose both workstations are on local area networks, and the two local area networks are connected via a wide area network. As the local workstation sends the e-mail packet down through the layers of the first internal network, the IP header is encapsulated over the transport layer packet, creating the IP datagram. The appropriate MAC layer headers are encapsulated over the IP datagram, creating a frame, and this frame is sent through LAN 1 to the first router. Because the router interfaces LAN 1 to a wide area network, the MAC layer information is stripped off, leaving the IP datagram. At this time, the router may use any or all of the IP information to perform the necessary internetworking functions. The necessary wide area network level information is applied, and the packet is sent over the WAN to Router 2. When the packet arrives at the second router, the wide area network information is stripped off, once again leaving the IP datagram. The appropriate MAC layer information is then applied for transfer of the frame over LAN 2, and the frame is transmitted. Upon arrival at the remote workstation, all header information is removed, leaving the original data.

The primary function of Transmission Control Protocol (TCP) is to turn an unreliable network (such as the one created by IP) into a reliable network that is free from lost and duplicate packets. To make a network more reliable, TCP (as well as most transport layer protocols) performs the following six functions:

  • Create a connection—The TCP header includes a port address that indicates a particular application on a machine. Used in conjunction, the port address and the IP address identify a particular application of a particular machine. When TCP creates a connection between a sender and a receiver, the two ends of the connection use a port number to identify the particular application’s connection.
  • Release a connection—The TCP software can also dissolve a connection after all the data has been sent and received.
  • Implement flow control—To make sure the sending station does not overwhelm the receiving station with too much data, the TCP header includes a field, called the Window value, that allows the receiver to tell the sender to slow down. This Window value is similar in operation to the sliding window used at the data link layer.
  • Establish multiplexing—Because the TCP header includes a port number instead of an IP address, it is possible to multiplex multiple connections over a single IP connection. This multiplexing can be done by creating a different connection that has a port number different from a previous connection.
  • Perform error recovery—TCP numbers each packet for transmission with a sequence number. As the packets arrive at the destination site, the receiving TCP software checks these sequence numbers for continuity. If a loss of continuity occurs, the receiving TCP software uses an acknowledgment number to inform the sending TCP software of a possible error condition.
  • Establish priority—If the sender has to transmit data of a higher priority, such as an error condition, TCP can set a value in a field (the Urgent Pointer) that indicates that all or a portion of the enclosed data is of an urgent nature.

The Internet Control Message Protocol (ICMP), which is used by routers and nodes, performs error reporting for the Internet Protocol. All ICMP messages contain at least three fields: a type, a code, and the first eight bytes of the IP datagram that caused the ICMP message to be generated.

User Datagram Protocol (UDP) is a no-frills transport protocol that does not establish connections, does not attempt to keep data packets in sequence, and does not watch for datagrams that have existed for too long. Its header contains only four fields—Source Port, Destination Port, Length, and Checksum—and it is used by a small number of network services, such as DNS that do not need to establish a connection before sending data.

Address Resolution Protocol (ARP) takes an IP address in an IP datagram and translates it into the appropriate medium access control layer address for delivery on a local area network.

The most popular protocol that handles dynamic assignment is Dynamic Host Configuration Protocol (DHCP). When a workstation running the DHCP client software needs to connect to the Internet, the protocol issues an IP request, which prompts the DHCP server to look in a static table of IP addresses. If this particular workstation has an entry, then that IP address is assigned to that workstation. But if the static table has no entry, the DHCP server selects an IP address from an available pool of addresses and assigns it to the workstation.

Network Address Translation (NAT) lets a router represent an entire local area network to the Internet as a single IP address. When a user workstation on a company local area network sends a packet out to the Internet, NAT replaces the IP address of the user workstation with a corporate global IP address.

A virtual private network (VPN) is a data network connection that makes use of the public telecommunications infrastructure but maintains privacy through the use of a tunneling protocol and security procedures. A tunneling protocol, such as the Point-to- Point Tunneling Protocol (PPTP), is the command set that allows an organization to create secure connections using public resources such as the Internet. It is an extension of the Internet’s Point-to-Point Protocol (PPP), which is used for communication between two computers using a serial connection.

The World Wide Web is a vast collection of electronic documents containing text and images that can be accessed by simply clicking a link within a browser’s Web page. The browser uses HTTP to transmit and receive Web pages and HTML to display those Web pages.

Hypertext Markup Language (HTML) is a set of codes inserted into a document that is intended for display on a Web browser. The codes, or markup symbols, instruct the browser how to display a Web page’s text, images, and other elements. The individual markup codes are often referred to as tags and are surrounded by angle brackets (< >). Most HTML tags consist of an opening tag, followed by one or more attributes, and a closing tag. Closing tags are preceded by a forward slash (/). Attributes are parameters that specify various qualities that an HTML tag can take on.

Rather than functioning as a single specification, dynamic HTML (DHTML) is a collection of newer markup tags and techniques that can be used to create more flexible and more powerful Web pages. HTML pages are simple, static text documents that browsers read, interpret, and display on the screen. In contrast, dynamic HTML pages have additional functionality that allows them to be, among other things, interactive.

eXtensible Markup Language (XML) is a subset of SGML and is a specification for how to create a document—the specification covers both the definition of the document and the contents of the document. That is, whereas HTML determines only how the content of a document is to be displayed by a Web browser, XML also defines the content of the document. The syntax of XML is fairly similar to that of HTML; however, a number of very important differences exist. First, XML is extensible, which means a user can define his or her own tags. Second, XML is much less forgiving than HTML. XML documents have many more precise rules for the creation of tags and the elements within a document.

When referencing an Internet site, we often refer to its domain name. Computers, however, do not use domain names. They use 32-bit binary addresses called IP addresses. To make IP addresses a little easier to understand, these 32-bit binary addresses are represented by dotted decimal notation. This dotted decimal notation is created by converting each 8-bit string in the 32-bit IP address into its decimal equivalent. But even the decimal equivalent to the IP address is not convenient for us. The Domain Name System (DNS) is used to convert the binary forms into English-based domain names, and vice versa.

DNS is a large distributed database of Internet addresses and domain names. This distributed database consists of a network of local DNS servers, mid-level DNS servers, and higher-level DNS servers. To keep the system manageable, the DNS database is distributed according to the top-level domains: edu, gov, com, mil, and so on. Converting a domain name into a binary IP address can be simple or complicated. The level of complexity depends on whether or not a local network server on the originating local area network recognizes the domain name. If a network server cannot resolve an address locally, it will call upon a higher authority. A local DNS server will send a DNS message to the next higher DNS server until the address is found, or it is determined that the address does not exist. If the address does not exist, an appropriate message is returned.

The Internet consists of many commonly used network applications. Electronic mail, or e-mail, is a standard requirement for most business operations and can transfer standard text messages and include MIME-encoded attachments. Protocols such as Simple Mail Transfer Protocol (SMTP), Post Office Protocol version 3 (POP3), and Internet Message Access Protocol (IMAP) support the operations of e-mail.

File Transfer Protocol (FTP) is useful for uploading or downloading files across the Internet. FTP was one of the first services offered on the Internet. Remote login using Telnet allows an individual to log in to a remote computer site and perform operations as if the user were physically located at the remote site. VoIP (Internet telephony) offers an inexpensive alternative to long-distance calling, but with questionable quality. The Internet was not designed to transfer realtime data, which is a capability that is necessary to support interactive voice. Nevertheless, many businesses are embracing VoIP internally as a way to deliver combined voice and data applications. The VoIP gateway can perform the digitization, compression, and encapsulation required, and it controls the setup of VoIP calls between the calling device and the called device.

A listserv is a popular software program used to create and manage Internet mailing lists. Listserv software maintains a table of e-mail addresses that reflects the current members of the listserv. When an individual sends an e-mail to the listserv address, the listserv sends a copy of this e-mail message to every e-mail address stored in the listserv table. Streaming audio and video are the continuous downloading of a compressed audio or video file, which is then heard or displayed on the user’s workstation. Streaming audio and video require support protocols such as Real-Time Protocol (RTP) and Real-Time Streaming Protocol (RTSP). Finally, instant messaging is growing in popularity as a way to maintain real-time communications between multiple users. instant messaging (IM) allows a user to see if people are currently logged in on the network and, if they are, to send them short messages in real time.

The term that has come to represent a business’s commercial dealings over the Internet is e-commerce. To understand the important issues and trends associated with this intersection between technology and business, let’s subdivide e-commerce into the following four areas:

  • E-retailing—the electronic selling and buying of merchandise using the Web.
  • Electronic data interchange (EDI)— the electronic commercial transaction between two or more companies.
  • Micro-marketing—the gathering and use of the browsing habits of potential and current customers, which is important data for many companies.
  • Internet security—The security systems that support all Internet transactions are also considered an important part of e-commerce.

One feature of the Web that many businesses use and that has received a good deal of negative publicity is the cookie. A cookie is data created by a Web server that is stored on the hard drive of a user’s workstation. This data, called state information, provides a way for the Web site that stored the cookie to track a user’s Web-browsing patterns and preferences.

An intranet is a TCP/IP network inside a company that allows employees to access the company’s information resources through an Internet-like interface. Using a Web browser on a workstation, an employee can perform browsing operations, but the applications that can be accessed through the browser are available only to employees within the company. When an intranet is extended outside the corporate walls to include suppliers, customers, or other external agents, it becomes an extranet.

The Internet is not a static entity. It continues to grow by adding new networks and new users every day. One of the biggest changes to affect the Internet will be the adoption of a new version of the Internet Protocol, version IPv6. Several notable differences exist between IPv6 and the current IPv4. The first concerns addressing. IPv4 uses 32-bit addresses, IPv6 calls for addresses to be 128 bits long. Significant changes were also made to the IP header between version 4 and IPv6. In IPv6, the IP header contains eight fields, plus the payload (data) and optional extension headers. IPv6 offers better security, with two extension headers devoted entirely to security. Finally, IPv6 provides more choices in type of service. This last improvement to the IP protocol relates to quality of service (QoS), which is an important part of modern networks. It is a very useful tool if a user can specify a particular level of service, and the network can support that level.

In addition to the transition from IPv4 to IPv6, a plan is in the works to implement a newer, very high-speed network that will cover the United States, interconnecting universities and research centers at transmission rates up to a gigabit per second (1000 Mbps). The new high-speed network is called Internet2. Internet2 has targeted a number of primary application areas, including digital libraries, tele-immersion, and virtual laboratories. A digital library is an electronic representation of books, periodicals, papers, art, video, and music. With Internet2’s virtual laboratories, it is possible to create realistic lab surroundings without the expense of brick-and-mortar facilities.


Tags: , , , ,