Outline of this Presentation - Department of Computer Science and

Outline of this Presentation
1, Introduction to our FYP
2, Wireless Technology and Architectural Evaluation
3, Hardware Evaluation
4, Introduction to WinSock
5, Introduction to DirectX
6, Introduction to our Own Libraries
7, Our Testing Program
8, Future Plan
1, Introduction to our FYP
There are three main Objective for our FYP:
1, Provide Wireless Technology and Architectural Evaluation
2, Develop Software and System Infrastructure
3, Create Wireless Quality Education Service and Content
2, Wireless Technology and
Architectural Evaluation
2.1 What is a Wireless LAN?
A wireless local area network (LAN) is a flexible data
communications system. Using radio frequency (RF)
technology, wireless LANs transmit and receive data over
the air.
2.2 Why use Wireless LAN?
- Mobility
- Installation Speed and Simplicity
- Installation Flexibility
- Reduced Cost-of-Ownership
- Scalability
2, Wireless Technology and
Architectural Evaluation (Cont’d)
2.3 Some Examples uses of Wireless LAN
- Doctors and nurses in hospitals use PDA or HPC with wireless LAN
capability deliver patient information instantly
- Warehouse workers use wireless LANs to exchange information with
central databases, thereby increasing productivity.
- Training sites at corporations and students at universities use wireless
connectivity to ease access to information, information exchanges, and learning
2.4 Security in Wireless LAN
- Many people thin that Wireless LAN should be less secure than traditional wired LAN.
- It is not true !
- It is extremely difficult for unintended receivers (eavesdroppers) to listen in on wireless
LAN traffic
- Complex encryption techniques make it impossible for all but the most
sophisticated to gain unauthorized access to network traffic.
2, Wireless Technology and
Architectural Evaluation (Cont’d)
2.5 Some Wireless LAN Configurations
A simple wireless peer-to-peer network
Multiple access points and roaming
Use of an extension point
The use of directional antennas
3, Hardware Evaluation
3.1 Proxim RangeLan2
Specifications
Radio Data Rate
Range
Support Roaming
OS need
Frequency Band
1.6 Mbps per channel,
800 Kbps fallback rate for extended range
~400 feet (~122 m) in typical office environments
~700 feet (~213 m) in open spaces
Yes
Win95/98, Windows NT, Windows CE 2.0,
NetWare, DOS, Windows for Workgroups
2.4 GHz band
3, Hardware Evaluation(Cont’d)
3.1 Proxim RangeLan2 (Cont’d)
RangeLAN2 7401/02 PC Card
RangeLAN2 Ethernet and Token Ring Access Points
3, Hardware Evaluation(Cont’d)
3.2 Lucnet Technologies WaveLAN
Specifications
Radio Data Rate
Range
Support Roaming
OS need
Frequency Band
11 Mbit/s,5.5 Mbit/s, 2 Mbit/s or 1 Mbit/s
(depend on range of cover)
Open Office: 525 to 1750 feet
Semi Open Office: 165 to 375 feet
Closed Office: 80 to 165 feet
(depend on communication bandwidth also)
Yes
Novel Client 3.x & 4.x, Windows 95/98/2000,
Windows NT (NDIS Miniport driver),
Apple, Windows/CE
2.400-2.4835 GHz band
3, Hardware Evaluation(Cont’d)
3.2 Lucnet Technologies WaveLAN (Cont’d)
WaveLAN IEEE PC Card
WavePOINT-II Access Point
3, Hardware Evaluation(Cont’d)
3.3 Apple iBook Airport
Specifications
(As Apple haven’t release detail specifications about this product, we can’t get too
much information about it)
Radio Data Rate
Range
Support Roaming
OS need
Frequency Band
Up to 11 Mbit/s
Open Office: 150 feet
unknown
Mac OS 8
IEE 802.11 DSSS compliant
unknown
3, Hardware Evaluation(Cont’d)
3.3 Apple iBook Airport (Cont’d)
Apple iBook and the Airport station
3, Hardware Evaluation(Cont’d)
3.4 BlueTooth
- It is not a Wireless device.
- It is a standard for future Wireless communication.
- It is interface between the communication devices.
- It answers the need for short-range wireless connectivity
within three areas:
a, Data and Voice access points
b, Cable replacement
c, Ad hoc networking
4, Introduction to WinSock
- WinSock is the network application-programming interface (API) for
Microsoft Windows Operating System.
- It shields the programmers from the details of low-level network protocol.
WinSock
Application
WinSock
API
Hardware
API
- It includes the most Berkeley sockets API.
- It use client/server approach to communicate.
- Two fundamental types of client/server application pair exist in
WinSock also: connection-oriented and connectionless application.
Physical
Network
4, Introduction to WinSock (Cont’d)
Why we use WinSock ?
- Multi-protocol support
- Asynchronous I/O and event objects
- Quality of Service
5, Introduction to DirectX
What is Direct X?
- Direct X is an API for microsoft windows.
- Provide a standard way of accessing many different hardware devices
- Consists of five main sections:
- DirectDraw (2 dimensional graphics capabilities, surfaces, double buffering, etc)
- Direct3D (A relatively extensively functional 3D graphics programming API.)
- DirectSound (Sound; 3D sound)
- DirectPlay (Simplifies network game development)
- DirectInput
5, Introduction to DirectX (Cont’d)
Structure of Direct X:
Request
Direct X
Request
HAL
Hardware
Request
HEL
5, Introduction to DirectX (Cont’d)
Advantages:
1. It provides the lowest possible level access to hardware.
2. Developers no need to concern about the implementation
details of that hardware.
3. After installing the newer version of direct x and the computer
will support the new hardware automatically.
Why use Direct X in our project?
1. We want to write a fancy and interactive application.
2. The generic APIs provided by visual C for sound and graphics are too weak.
6, Introduction to our Own Libraries
What we have done?
A. Direct Draw libraries
Encapsulate the implementation details of the Direct Draw.
B. Direct Sound libraries
Encapsulate the implementation details of the Direct Sound.
C. Our Own Class
Manipulate the graphical data.
6, Introduction to our Own Libraries(Cont’d)
A. Direct Draw libraries we created
Functions for initialization:
DDStartup();
CreateDesktopWindow( Window_handler, Direct_X_object );
DDFullConfigure( Direct_X_Object );
DDWinConfigure( Direct_X_Object );
Functions for handling bmp file:
DDLoadPalette( Bmp_file, Palette_object );
DDLoadBitmap( Bmp_file, Surface_object);
DDSetColorKey( Surface_object, Key_color );
Functions for double buffering:
DDMakeOffscreenSurface();
DDCreateFlipper( Flipper_Object);
DDCreateFakeFlipper( Flipper_Object );
DDFlipping();
DDFillSurface( coordinates, color );
DDTextOut ( Surface_object );
6, Introduction to our Own Libraries(Cont’d)
What is Palette?
DDLoadPalette( Bmp_file, Palette_object );
Picture:
Content of the picture file:
6, Introduction to our Own Libraries(Cont’d)
What is Colorkey?
DDSetColorKey( Surface_object, Key_color );
Background surface:
Foreground surface:
Color Key:
Without color key:
Using color key:
6, Introduction to our Own Libraries(Cont’d)
B. Direct Sound libraries we created
The features of our audio library:
1. Support Wav file with different sample rate.
2. Different sounds can be overlap at the same time.
Mixer problem in Direct Sound:
The same sound buffer cannot be overlapped itself!
6, Introduction to our Own Libraries(Cont’d)
3 possible solutions for the Mixer problem:
1. Create duplicate buffers for the same sound file
2. Create a constant number of buffers, load the sound file into the buffer
only when it needs to play.
3. When play a sound buffer, check whether it is being played. If yes, stop
the sound and play again from the beginning.
We have used method 3 for the solving the problem.
6, Introduction to our Own Libraries(Cont’d)
C. Our Own Class
We have written 3 class for manipulating the graphical data:
A. Class “Sprite”
For handling the information of picture.
B. Class “Frame”
For handling the information of Frame.
C. Class “Region”
For handling the information of Region.
6, Introduction to our Own Libraries(Cont’d)
Class “Sprite”:
We have defined a file type called spt file. Class “sprite”
is use to handle the data of a spt file.
Sometimes, we will create some objects such as a robot,
a man or a dog in our application.
Spt file can store the information of those objects.
Spt file can link up the information of the object and
the pictures of the object together.
6, Introduction to our Own Libraries(Cont’d)
Class “Sprite”:
For example,
Content of the spt file:
Sprite_name: “Walking Man”
No_of_frame: 8
Size_of_Picture: 150 x 100
Picture_filetype: bmp
Picture_filename: walk0, walk1, walk2, walk3, walk4, walk5, walk6, walk7
Walking_speed: 30
6, Introduction to our Own Libraries(Cont’d)
Class “Frame”:
In the previous example, the spt file only store the general
information of the pictures.
It is not enough!
Sometimes, there are interactions between frames.
We need to find a systematic approach for storing the interactions.
“Frame” is a class for storing the information and interaction for
each frame.
6, Introduction to our Own Libraries(Cont’d)
Class “Region”:
Region is an attribute of Frame. It stores the coordinates of
a rectangle in the action picture.
For example,
The 2 main purposes:
- Simplify the collision detections between pictures
- Regions can represent buttons, different parts of a body or other
interactive objects on the picture.
6, Introduction to our Own Libraries(Cont’d)
Example of using our classes:
Specification for the refrigerator:
The user can open and close the refrigerator by clicking on the handle of the doors.
There is a cake inside the refrigerator.
The user can eat the cake when click on it.
But if the cake can only be eaten once.
6, Introduction to our Own Libraries(Cont’d)
Example of using our own class:
Define the region for each frame:
6, Introduction to our Own Libraries(Cont’d)
Example of using our own class:
DFA for the refrigerator:
Content of the spt file:
Frame0:
R0: 1 “open refrigerator”
R1: 1 “open refrigerator”
Region 0,1
Region 1
Frame1:
R0: 3 “eat the cake”
R1: 0 “close refrigerator”
Region 0
Region 0,1
Region 1
Region 0
Frame2:
R0: 3 “cannot eat!”
R1: 3 “close refrigerator”
Frame3:
R0: 3 “open refrigerator”
R1: 2 “open refrigerator”
7, Our Testing Program
Program 1 (WinTalk)
7, Our Testing Program
Program 1 (WinTalk)
Aim for writing this program:
1. Try to use Visual C ++ and Microsoft Foundation Class (MFC).
2. Try to use Winsock.
3. .Try to use Asynchronous mode of communication with event-driven
programming paradigm
Outcome:
Finally, we have achieved all the goals.
7, Our Testing Program
Program 2 (Reversi)
7, Our Testing Program
Program 2 (Reversi)
Aim for writing this program:
1.Try to get more experience with Visual C ++ and MFC
2. Try to use MFC to display bitmap (bmp) files
Outcome:
Finally, we have achieved all the goals.
However, we find that the performance for using MFC to display
bitmap is extremely poor
7, Our Testing Program
Program 3 (Plane)
7, Our Testing Program
Program 3 (Plane)
Frame pictures:
Frame Engine:
7, Our Testing Program
Program 3 (Plane)
Aim for writing this program:
1. Try to use our Graphical and Audio Libraries.
2. Try to use Winsock, Direct Draw and Direct Sound together in
the same program.
3. Try to implement the synchronous connection (1 to 1).
Outcome:
Finally, we have achieved all the goals.
We have faced some problems when combining Winsock and Direct X
libraries together.
7, Our Testing Program
Program 4 (Ball)
7, Our Testing Program
Program 4 (Ball)
Aim for writing this program:
1. Try to combine Winsock and Direct X libraries together
2. Try to implement the synchronous connection (1 to 1).
3. Evaluate the differences between the wire and wireless network
Outcome:
Finally, we have achieved all the goals.
7, Our Testing Program
Program 5 (ChatRoom)
7, Our Testing Program
Program 5 (ChatRoom)
Aim for writing this program:
1. Try
to use write a multi-client program
2. Try
to write a generic server
3. Try
to design a protocol for a application
Outcome:
Finally, we have achieved all the goals.
Our Generic Server
Registration of Client
Client
Registration
Accept/Error
Registered
Client
Server
Registered
Client
Updated
Registered
Client
database
Our Generic Server
Sending data from Client
Client
Send To Server
Send From Server
Server
Send From Server
Client
Get all Client info.
database
Send From Server
Client
Client
8, Fun with Learning English
8, Fun with Learning English
8, Fun with Learning English
Aims of writing Fun with Learning English:
I. Integrate all of the components and libraries we developed
A. Direct Draw
B. Direct Sound
C. WinSock
D. Use of spt files
E. Frame Engine
F. Chat room
G. Generic server
8, Fun with Learning English
Aims of writing Fun with Learning English:
II. Design a education software for wireless environment
A. Fancy and User friendly interface
B. Suitable for a wireless environment
C. Use of Multi-media
D. Allow teacher to design some Interactive Teaching material
E. Provide a good Interaction between teacher and students
F. Maximize the potential use of our software
9, Future Plan
Here is some of our future plan:
1, Try to integrate Video Streaming Function into FWLE.
2, Try to implement our FWLE to work with a database server.
3, Try to extent our project to other thin client devices
such as PDA and HPC.
The End