java network project doc
TRANSCRIPT
-
8/3/2019 Java Network Project Doc
1/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 helpin 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 highspeed 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 extensiveuse 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 computernetwork 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 arevirtually 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 morehigh 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.
-
8/3/2019 Java Network Project Doc
2/20
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 heavytraffic 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 abilitytoday'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 theinner 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 earlierbuses. 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 abeater way, on a multitasking operating system.
The card is designed to hook into the ATM network by a fiberoptic. Data transfersthrough 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.
-
8/3/2019 Java Network Project Doc
3/20
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 majortopics :
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 andleaky 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 andvise 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 switchingtime 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 bythis 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 twoprotocol 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 datatransfers 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 largenumber 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 andprestige line of products existing on the market today.
Summary
-
8/3/2019 Java Network Project Doc
4/20
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. Thecard 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.
-
8/3/2019 Java Network Project Doc
5/20
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 allkind of communication in ATM. Our project make it possible to perform a phone conversation betweenthree 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 theconversation.
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 VPIand 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 cellthat 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 thecodec the board transfer it from Digital back to Analog again and the output will be heardfrom the sound speakers.
Remark : If case of missing source system mix silence for each missing source.
http://www.cse.ucsc.edu/~rom/projects/projects-list.html -
8/3/2019 Java Network Project Doc
6/20
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.
-
8/3/2019 Java Network Project Doc
7/20
Project 4
As part of a research project, aimed at implementing video conferencing on an existingATM 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 shortlyAVC).
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.
-
8/3/2019 Java Network Project Doc
8/20
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 conferencingdemands 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 achievedby minimizing the needed contact between the PC and the device and by use of an on-
board screen map. The map allows embedding of the video into the PC display,independently of the information displayed.
-
8/3/2019 Java Network Project Doc
9/20
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 meetingbetween 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 initiatorcommunicates 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 fromall 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). Thecommunication is through sockets, a communication tool supplied by the operating
system.
-
8/3/2019 Java Network Project Doc
10/20
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.
o 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 tenURL'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 itopens 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 whileprinting it to the client window.
-
8/3/2019 Java Network Project Doc
11/20
The thread waits for the proxy's response and delivers it to the client whileprinting 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 increasethe 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 summarizedinto 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, oruser, 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 otherrequests 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.
o 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
-
8/3/2019 Java Network Project Doc
12/20
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 filesextensions in the HTTP request header and decide whether to transfer the
request to the proxy server or ignore it.
o This program can restrict access to certain web sites or web servers in the
same manner it can filters data.
o 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 runsour 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 handlingmechanism, which make tracking error and handling them easy.
o 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 usmeaning the code works the same on all platforms.
-
8/3/2019 Java Network Project Doc
13/20
o 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 beopened in a serial manner. This fact cause redounded data transportation,
which load the network and a waist of time establishing those channels.
o 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 cardsimplement 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 connecteddirectly 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 inthe 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 atspeeds 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 switchesinterconnecting 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
-
8/3/2019 Java Network Project Doc
14/20
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 providea 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 twogoals, 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 Switcharchitectures 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 cellstransmitted 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 aring allows spatial reuse, i.e., the ring can support simultaneous transmissions overdifferent 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 atmost 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 celltransmission 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 mechanismheavily 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 witha bandwidth reservation scheme.
The NIC can receive (transmit) input (output) from (to) two sources: the local bus of itshost 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 directconnection to the host is implemented using buffering FIFO due to the low bandwidth ofthe 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 drivenby 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
-
8/3/2019 Java Network Project Doc
15/20
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 willsupport 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 fortransferring 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 data-
junctions in the world and to be capable of transferring any kind of data for any kind ofconnection as: telephone, television, data structures etc.
http://www.cse.ucsc.edu/~rom/projects/projects-list.html -
8/3/2019 Java Network Project Doc
16/20
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 real-
time 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 Kempneris a PC computable cardable 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
-
8/3/2019 Java Network Project Doc
17/20
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 thecomputer'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 (butonly 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 ofthe 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 amanual 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
-
8/3/2019 Java Network Project Doc
18/20
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 Unitinstalled inside a DLL - Dynamiclink 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 softw
A very powerful feature supported by the software is displaying a combination of videosources. 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 thecommunication with the hardware, creating the Transmitting Unit.
All software units (including the Video Frames Unit) transmit data using theTransmitting Unit.
This system advantages
In hi-technology market some PC videoconference products have appeared lately butnone 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 - inany 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.
-
8/3/2019 Java Network Project Doc
19/20
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 NTSCand Composite PAL and enables the setting of manyother 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
-
8/3/2019 Java Network Project Doc
20/20
system and the construction of a device driver.
The software providing special effects not existing in any product today
implements many unique features
.