Sie sind auf Seite 1von 20

Project 1 ADAPTER AND ANALYZER FOR THE ATM NETWORK

Abstract

The goal of this project was to develop a high performance analyzing instrument to help in the development and maintenance of ATM (Asynchronous Transfer Mode) networks. The ATM protocol is considered to be the protocol of choice in future generations of high speed computer networks. In order to cope with high speed transfers between the PC and an ATM network, this project involves use of the PCI bus, the fastest parallel protocol yet developed for the PC. The hardware developed is capable of generating a long ATM cell burst (up to 500 Kbytes of data at a rate of 155 Mbit/sec) in order to simulate extensive use of the network bandwidth. In addition, it is capable of receiving a very long ATM cell burst, in order to analyze network performance. These capabilities make this project a powerful tool in developing and analyzing performance in cutting edge computer network design.
Introduction

ATM (Asynchronous Transfer Mode) is considered today to be the next generation in network communication protocols. As a result of it being a relatively new development, there is a great shortage of analyzing tools for the ATM network. In particular, there are virtually no existing tools that are capable of examining network performance under heavy data traffic. The demand for this kind of network analyzer, has grown in recent years due to the fact that ATM networks are becoming loaded down with more and more high data bandwidth users. The purpose of this project is to create a building block that can be incorporated into a larger testing system for an arbitrary ATM network. The following diagram shows a simplified ATM network under test.

There are two entities on the network directly connected to the testing system: 1. An end user nicknamed "Bomber". Its job is to simulate the network under heavy traffic conditions. It accomplishes this by sending high speed data over much of the network's bandwidth. 2. An analyzing station capable of receiving and analyzing a burst of test information. the aim in developing the project was to perform this two function in the best ability today's state of the art technologies can provide. In order to riche the full capability of this technologies ,a special hardware architecture was implemented. designated to achieve a high performance ,flexible tool for network analyzing. 1. Working environment The project was designed to work as a plug in card in a PC computer, while using the inner resources of the computer. He was billet to utilize the high data rate transfer of the PCI bus( Peripheral Component Interconnect ), considered by many as the next step in computers inner data connection. The PCI bus has two main advantages over earlier buses. First he is capable of a high data rate transfers ( 155 Mbytes/sec ). Second he is able to treat the plug in cards, as independent entity's. This qualities are useful to the card for fast data transfers form the network to PC main memory ( and vise verser ), without involving the computer's CPU. By using this working method, one can use the card in a beater way, on a multitasking operating system. The card is designed to hook into the ATM network by a fiberoptic. Data transfers through the fiber are in the SONET standard ( witch is commonly used by ATM network's ). Maximum data rate through this communication standard is 155 Mbps/sec. This rate limited the maximum data rate from the network to the card.

The hardware can be divided into three logical units : 1. A unit that handles the access into the ATM network. The unit deals with three major topics :
Converting data incoming and outgoing from the fiberoptic in SONET protocol into electrical signals in UTOPIA protocol (a parallel data transfer protocol usable by the card ). Managing the adaptation layer of the ATM protocol ( SAR - segmentation and reassemble and leaky bucket management ). Data transfer into data structures in the local memory.

2. A unit handling data transfers through the PCI bus. The unit deals with three major topics :
Functioning as a master on the PCI bus. For that prepuce it contains all the necessary resources necessary for a master. Electric compatibility, configuration register, and so on. Data transfer by a DMA system from the local memory into the main memory of the computer and vise verser.

3. A local memory unit. This 500 Kbytes fast memory function as a sheared memory between the two units discussed earlier. The unit includes beside a logical unit functioning as a arbitrator for memory accessibly between the two units. The switching time from one unit to another is very fast ( 30 nsec ). This unique architecture gives the hardware the ability to work white a fast long data burst, transferring the cord into a powerful analyzer 3. Hardware advantages The advantages of this card compared to existing analyzing tools can be summarized by this points :
Working with the PCI bus from the computer side and the ATM protocol ( on the SONET standard ), two of the most advanced protocol existing today. The combination between this two protocol into a very powerful analyzing tool. A fast onboard local memory. Capable of handling a long and fast data burst. Giving the card the ability to perform as a network analyzer. the card performs many managing functions of the ATM network in hardware. More over all data transfers to the card are done by a local DMA system. This abilities allows the card to work in a multitasking system ( for there is no high usage of CPU time or computer resources ). The card was designed and billet in a printed circuit format. By that allowing the billet of large number of unit for building a testing system for an ATM network. The main advantage of this project is combining all this elements in to one card. Combining two new and fast protocol together with a good hardware performance, place the card in a short and prestige line of products existing on the market today.

Summary

This project was designed to be a building block of a dynamic tasting system for the ATM network. It utilizes two of the most advanced data transfer protocol. The card work's in a PC environment, pioneering the utilization of this powerful platform. The card offers a high flexibility in performing various functions, enabling it to be a part of various testing programs for the ATM network. It is capable of dealing with fast and long data burst , resulting from its unique architecture.

Project 2 ATM - Phone in WEB


Purpose of the project This project was built to allow the option to use the ATM network for other purposes such as phone transfer, now when ATM is penetrating into the network all over the world it is important to implement all kind of communication in ATM. Our project make it possible to perform a phone conversation between three people over the ATM network.

ATM - Phone in WEB


The basic idea is to sample human voice with codec(Analog to Digital device with filters to human hearing frequencies 300Hz-3kHz), pack it into ATM cells, and send it through the WEB, the other part is receive it from the WEB for self hearing and add the two more sampled human voices (from two more stations) and mix the three sources to one output voice, which will be likewise in the other two stations which participate in the conversation.

ATM - Phone in WEB - More specific details


The ATM cells is built from 47 sampled bytes, cell counter byte and 8 bytes of the header (all together 56 bytes) according to ATM protocol. The header includes the specific VPI and VCI which goes with the specific board and for that the specific station. after the ATM cell is ready the board transfer it through AUX 0 (Every ATM WEB board include 4 AUX connectors 0-3) into the net. The same board accept thought AUX 1 the same cell that he sends (for synchronization) and get the two other stations through AUX 2 & 3, then the board mix all three sources to one output, the process of mixing is merging: Byte 0 AUX 1, Byte 0 AUX 2, Byte 0 AUX 3, Byte 1 AUX 1, Byte 1 AUX 2 etc. Using the codec the board transfer it from Digital back to Analog again and the output will be heard from the sound speakers. Remark : If case of missing source system mix silence for each missing source.

Project 3

User Interface Program for Atm card


Goal

Building an efficient user interface for data transfers over the ATM network using a PC based card.
Abstract

An Atm card had been developed in the Digital Lab. The card is connected to a PC machine through the PCI bus, and is able to transmit and receive packets over the ATM network. The User Interface Program (UIP) that was developed to this card, controls the operations needed to send and get data from the network to the user and vice versa. The UIP was written under Win95 using the new development software of Borland, the C++ Builder.
Features

Fully Windowed application. Writing a Win95 Vxd (mapping physical address to linear address). Automated card configuration. Sending & receiving messages Up to 240 chars. Lookup Messages option. Sending & receiving files bigger than 64KBytes ( 64Kbytes is the max packet length in AAL5 ). Automatic Receive option (Online card polling). Files Manager. Sending & receiving Video streams. Automatic Get and Send option (Mini Bridge - get data with one VC and send it to other VC ). Address Book (All the addresses are assocaited to a VC and VP parameters ). Using DataBase engines for storing message ( Tx & Rx ) and address book.

Project 4 As part of a research project, aimed at implementing video conferencing on an existing ATM network, we have designed and built a hardware of a Personal Computer (PC) card which can display up to 2 video streams received from the ATM network (termed shortly AVC).

Hardware Design: The AVC may be divided into 4 parts as follows


(see Figure 2): 1. Input: The ATM video receiver and the A/D converter. 2. Video processing: Three processing channels, independently resizing the video frames that they receive and store them in video FIFO buffers. 3. Output: Three D/A converters and an analog video MUX, embed them into the PC display received from the PC display card. 4. Control: Real-time control coordinate the data flow and communication with PC.

Unique Features:
1. Displaying video received from an ATM network. The high speed of the network make it impossible to cope with video that travels through it using available hardware or software devices for video processing. We demonstrate that it is possible to do so with especially developed hardware. 2. Simultaneous processing of 3 real-time video films. Available hardware for video processing usually copes with a single real-time video stream. Video conferencing demands simultaneous display of multiple video streams in real-time. The AVC copes with up to 2 video streams from an ATM network and one from an analog video source. All 3 films are processed, resized and displayed simultaneously in real-time. 3. Independence of system environment. Most commercial devices are developed for use in a single environment (usually MS-Windows). We developed a hardware device that is completely independent of system environment. This independence was achieved by minimizing the needed contact between the PC and the device and by use of an onboard screen map. The map allows embedding of the video into the PC display, independently of the information displayed.

Project 5

Automatic Meeting Coordinator


Purpose of the project

The purpose of the project was to design a mechanism that will enable a user to automatically coordinate a meeting with several participants via the Internet.
Description of the project

At the age of the Internet, there is a possibility to automatically coordinate a meeting between different users via the net. The user will supply all meeting details (including the meeting time and participants) to the Automatic Meeting Coordinator (AMC) mechanism and it will coordinate the meeting with all the participants by communication between the computer of the initiator and the computers of the participants.
Implementation of the project

The project is implemented in C under UNIX. The user-interface is implemented in TCL\TK, which is a high X-windows language. The meeting is coordinated by the initiator's computer, using the 2-phase-commit algorithm. In the first phase the initiator communicates everyone of the participants and checks who is available on the requested time. Every participant checks in his own database for the status of the requested time, and returns an answer to the initiator. In the second phase, after processing the data from all the participants, the initiator's computer notifies all the participants of his decision. The communication between the computers uses the client\server model. In every computer there is a server for incoming requests from diffrent clients (initiators). The communication is through sockets, a communication tool supplied by the operating system.

Project 6
Purpose of the Project:

Learning the Java programming language which is the most common language in internet applications today. Method Writing a Java application which will implement the following features:
o

Display the network transportation (HTTP protocol packets) between an Internet client (browser) and a proxy server, which is used as a gateway between a local network and the Internet. Perform an URL access statistics - As of all users www access can be chanelized throw our program, we can hold a database that counts the number of requests for each URL and display the most accessed ten URL's.

The application Our program can be used as a connecting bridge between a browser client and a proxy server. At startup it opens two windows for HTTP packets display, one for the client (the browser) side and the other to the server side (the proxy). Next it opens a socket and waits for a client requests. When a request arrives the main program creates a thread (which is a sub process) to handle the request. The threads open a socket to the proxy server and deliver the HTTP request while printing it to the client window.

The thread waits for the proxy's response and delivers it to the client while printing it to the server window. The program also manages a database of Internet sites access. Each client request for an HTML page is registered in a hash table entry (a standard data structure) further requests for a registered page will increase the counter associated with this page. Additionally we hold a ten-entry array which points to the most accessed pages entrees. This array is updated each time a page is accessed. Each fixed period of time the content of the array is summarized into an HTML page which itself is an Internet site. This enables users to view the statistics online. Problems and solutions
o

At first the same process in a FIFO manner handled each HTTP request. This approach cause the program to crash each time it faces communication problems like a server, which do not respond properly, or user, which interrupt the transfer of data. The solution we came up with is to create a new thread for each HTTP request this way when a communication problem accrue only one thread is destroyed and other requests served by other thread are not effected. This approach made the program faster since it uses the respond time of a server to serve other requests in a parallel manner. Handling requests in parallel cause another interesting problem. Since each thread is printing the HTTP message to the same window (client/server window) we got interleaving of HTTP messages, meaning each line belongs to different thread though to a different request/respond. This situation accrues when a thread is preempted from execution in a middle of printing. Our solution is to first print the HTTP message line by

line to a temporary buffer and once we got the whole message print it to the appropriate window. Possible extensions
o

This program can filter data coming from the WWW i.e. if one does not wish to load pictures (save time) . This can be done by looking at files extensions in the HTTP request header and decide whether to transfer the request to the proxy server or ignore it. This program can restrict access to certain web sites or web servers in the same manner it can filters data. This program can be used as a bridge between local net and the Internet. Meaning if the local net is not connected to the Internet it can be connected by having one computer connected (i.e. via modem) and runs our program which will make this computer a gateway to the net enabling all other computers controlled access to the Internet.

Conclusions
o

Java is an easy to learn (for C/C++ programmers) and provides efficient methods for handling TCP/IP communication. Thus developing network applications is fast and easy. Java also provides a good error handling mechanism, which make tracking error and handling them easy. During the developing process we tested our program on several platforms (UNIX: HPUX, AIX, SunOS; PC: NT, WIN95) without changing the source code. Java portability makes the platforms transparent to us meaning the code works the same on all platforms.

HTTP protocol is not efficient, due to the fact a new communication channel (socket) is established for each item in a HTML page i.e. a page, which contains two pictures, will cause three different sockets to be opened in a serial manner. This fact cause redounded data transportation, which load the network and a waist of time establishing those channels. This project demonstrates the fact that the data transfer on the Internet is insecure. Any user can write a simple program and captures data packets of other users.

Project 7

Local Area Network Interface Card Based on Buffer Insertion Ring Architecture
Abstract The purpose of the BIR project was to design and build NICs for PC stations. These cards implement the BIR access protocol. The packets transmitted are ATM cells padded with additional 3 bytes for internal use. The NIC can receive (transmit) input (output) from (to) two sources: its host computer (PC) and an auxiliary connector that can be connected directly to four I/O devices such as multimedia cards (video cameras, screens, etc). The links that connect the NICs operate at the speed of 100 Mbps and the total bandwidth of the ring is 200 Mbps on average due to destination removal mechanism implemented in the NICs. Extended Abstract ATM (Asynchronous Transfer Mode) is a set of international standards for sending large amounts of voice, data and video information simultaneously over a single network at speeds up to a thousand times faster than is commonplace today. It is aimed to transport virtually every electronic communications format from e-mail to phone calls to movies. The most common ATM network configuration is based on one or more fast switches interconnecting the subscribers. Such switches render the entire network distance independent, namely, the same bandwidth and service can be afforded to the communicating partners whether 1 meter or 100 kilometers apart. Unfortunately this

independence comes at a fairly high cost of the switch. It appears that when the communication parties span only a small locale, different configurations can be devised that rid them from reliance on the costly switch. TechLAN purpose is twofold; to provide a low cost solution to share an ATM switch connection among several ATM users, and to serve as a LAN which provides local interconnection between ATM users without interfering with the traffic of the ATM switch connection . The combination of these two goals, and especially the need to support Quality of Service (QOS) parameters associated with ATM connections within shared environment is particularly challenging. TechLAN achieves these two goals using Buffer Insertion Ring and Shared Bus Switch architectures to be described later. The purpose of the BIR project is to design and build Network Interface Cards (NICs) for PC stations. These cards implement the BIR access protocol described below. The cells transmitted are the ATM cells padded with additional 3 bytes for internal use. The structure of these data units is described below. The network is comprised of NICs that are connected with high-speed ring. The ring was built using buffer insertion ring architecture with cell removal by the destination. Such a ring allows spatial reuse, i.e., the ring can support simultaneous transmissions over different links. As a result, the total ring throughput can be significantly higher than the capacity of a single link. The principle of the BIR operation is as follows. On the receiving side of each link, there is an Insertion Buffer (IB), which can store at most one cell. A node may start a cell transmission at any time as long as its IB is empty and there is no ring traffic on the link. If ring traffic is arriving while the node is in the middle of a cell transmission, then this traffic is stored in the IB until the cell transmission is completed. The node cannot transmit anymore until the IB becomes empty and there is no ring traffic on the link, i. e. , non-preemptive priority is given to the ring traffic. If a node is idle, ring traffic not destined to that node cuts through the IB, without delay. Since ring traffic have priority, it is clear that without an access control mechanism heavily loaded nodes can prevent other nodes from accessing the ring. This situation is known as "starvation". To prevent this problem, mechanisms that guarantee fair ring access to all nodes have been proposed for BIRs. Some of these mechanisms are used in the driver attached to each NIC and resides in the corresponding PC station together with a bandwidth reservation scheme. The NIC can receive (transmit) input (output) from (to) two sources: the local bus of its host computer (ISA bus for PC) and an auxiliary connector that can be connected directly to four I/O devices such as multimedia cards (video cameras, screens, etc). The direct connection to the host is implemented using buffering FIFO due to the low bandwidth of the host bus. The auxiliary connection is not buffered, requiring the connected units to receive data at the network speed or supply internal buffering. The physical connection between the NICs is via differential coax cables that are driven by AMD TAXI chips. The TAXI chips can also drive fiber optics, and the selection of coax was due to low cost and simple implementation. The TAXI chips encode 3/4/5 bits

of data to 4/5/6 bits to make communication more immune to noises. This transformation enables the chip to support in-band control characters. These characters are used for the ring media access protocol.

Project 8 MULTIMEDIA VIDEO CONFERENCE SYSTEM FOR WINDOWS NT 4 Abstract The goal of the project was to develop a complete video conference software that will support the Multimedia video conference. This system is capable of displaying three video sources simultaneously, one from a local camera and the other two are video streams sent via ATM (Asynchronous Transfer Mode) networks. This project involves inserting the video sources and supporting their features in the Windows NT 4 operating system. The Windows NT 4 operating system is Microsoft's most advanced networks operating system that supports real time operation and can run on both workstations and PC's. The project also involves the construction of a Device driver that enables us to communicate with the hardware. A Device driver is a program compiled in the kernel level of the operating system. Extended abstract As the computerization process in the world advances, there is an increased need for transferring greater amounts of data for greater distances all at real time. Today lots of effort is put in attempt to define how the future 'data-highways' are going to be like. The ATM-Asynchronous Transfer Mode is the one supposed to connect the future datajunctions in the world and to be capable of transferring any kind of data for any kind of connection as: telephone, television, data structures etc.

One important data that is to be transferred by the ATM is visual data - real time video, for example, cable TV or a visual conversation by a number of components, so called videoconference, all on your computer. In order to support high-resolution video we have to be able to transfer data at high rates up to tens of millions of pixels per second. Given a framework which supports these features (as the Multimedia card for ATM) the main problem was to support this card and its utilities on an advanced operating system such as windows which enables us operations on the video sources like moving, sizing and combining video sources. Building the program in a Windows NT environment demanded us to build also a Device driver, which was not yet built in the Networks computers lab and dealing with the realtime complexities, and building a user-friendly interface. About the environment The full system is constructed of up to three multimedia cards, which are each, connected to two ATM channels and one local camera.

The environment includes:


ATM networks which receives digital data using a network card. A local video camera providing an analog video signal. The PC's screen card providing the normal operating system screen.

About the hardware This card that was built by Boaz Mizrahi and Gideon Kempner is a PC computable card able of presenting 2 real time digital video signals coming from the ATM and one analog video signal generated from any home video camera. The signals are presented at any

size and destination on the screen limited, of course, within the boundaries of the original signals. The processes done in the multimedia card are independent and do not interrupt the computer's other processes and threads, therefore don't slow the computer's work.

The hardware is constructed of four main parts: 1. Receiver unit - includes ATM interface and an A/D sampler. 2. The channel unit - includes three parallel data channels ,one for each source. 3. The output unit - includes an analog MUX switching between the video sources coming from the channel unit and the picture coming from the PC's screen card. 4. The control unit - includes a CPU that controls the entire hardware and is responsible of the communication with the PC. The user can communicate with the hardware's CPU through the PCI BUS. About the Software This program that has been developed in this project is event-driven based ,as demanded by Windows NT ,and therefore is capable of handling the outputs of three cards at a time. In other words one can see nine real time video signals simultaneously on the screen (but only one card is the dominant one and is connected to all of the program's utilities). This program's user interface was planned to give the user the capability of setting any of the hardware parameters. A hierarchical user interface was designed to allow access to any level of controls in the system. In addition, we added the opportunity of sending a manual command to every one of the connected cards. In order to combine the video sources in windows template we created special window frames (video sources frames), which the video sources, will appear in. The frames can be moved, sized, minimized etc. like any usual window frames. In order to link between the frames appearances and the video sources appearances on the screen, a message Hook was installed in the operating system to capture the events that

affect the video sources frames. An algorithm that emulates the Windows frames management was developed and along with the message Hook (creating a Video Frames Unit installed inside a DLL - Dynamic link library), results the video sources, combined with their frames, to perform as normal Windows' frames. All of the A/D sampler (connected to the camera) and the scalars features are supported by the software. A very powerful feature supported by the software is displaying a combination of video sources. The program is capable of mapping each pixel on the screen to another source when the screen can be used as the forth source. The program reads a bitmap; chosen by the user, and divides it's colors according to the user's specifications and displays it inside a frame. The transmissions to the hardware are done using a Device driver that was transplanted in the operating system. Another DLL was designed to control the Device driver and the communication with the hardware, creating the Transmitting Unit. All software units (including the Video Frames Unit) transmit data using the Transmitting Unit.

This system advantages In hi-technology market some PC videoconference products have appeared lately but none of them, to the best of our knowledge, have the capability of presenting a number of real time video. In most of the other video presenting cards the picture presentation is color switched - in any place on the screen a color appears the video appears there. On this card, there is an internal bitmap specifying the video origin of every pixel on the screen.

In idle operation the system can receive and display video sources on the screen without any interference to the computer's operation (approx. 0% - CPU usage). Some more advantages are:

The analog video resolution - presented by the highest standard there is today 24 bits per pixel. The digital video ( coming from the ATM ) - presented by 8 or 16 bits per pixel (depends on the coming signal). Advanced utilities and special video effects - the program enables the standards ,Composite NTSC and Composite PAL and enables the setting of many other parameters such as color, hue, contrast etc. Coming video signals - can be of any of the standards :

The future system The next stage is integrating the software and hardware of the transmitting card (in final stages of constructions) and video signals compressing system (in MPEG format) and adding a voice signal. All together forming a full advanced video conference kit.

Summary This project is particular in three main aspects: the displaying of three real time video sources on the PC screen, combining the sources into a real time operating

system and the construction of a device driver. The software providing special effects not existing in any product today implements many unique features

Das könnte Ihnen auch gefallen