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: 3, Create Wireless Quality Education Service and Content 2, Develop Software and System Infrastructure 1, Provide Wireless Technology and Architectural Evaluation
2, Wireless Technology and Architectural Evaluation 2.1 What is a Wireless LAN? 2.2 Why use 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. - 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 The use of directional antennas Use of an extension point Multiple access points and roaming A simple wireless peer-to-peer network
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
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 answers the need for short-range wireless connectivity within three areas: a, Data and Voice access points b, Cable replacement c, Ad hoc networking - It is interface between the communication devices.
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. Physical Network - 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 . WinSock Application WinSock API Hardware API
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) Direct X Structure of Direct X: HEL HAL Hardware Request Request Request
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
What is Colorkey? Foreground surface: Color Key: Background surface: 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) 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. 3 possible solutions for the Mixer problem: 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:
For handling the information of picture.
A. Class “Sprite”
For handling the information of Frame.
B. Class “Frame”
For handling the information of Region.
C. Class “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:
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. - Simplify the collision detections between pictures - Regions can represent buttons, different parts of a body or other interactive objects on the picture. The 2 main purposes: For example,
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: Frame1: Frame2: Frame3: Region 0,1 R0: 1 “open refrigerator” R1: 1 “open refrigerator” Region 0 R0: 3 “eat the cake” Region 1 R1: 0 “close refrigerator” Region 0 Region 0,1 Region 1 R0: 3 “cannot eat!” R1: 3 “close refrigerator” R0: 3 “open refrigerator” R1: 2 “open refrigerator”
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 2, Try to implement our FWLE to work with a database server. 1, Try to integrate Video Streaming Function into FWLE.
3, Try to extent our project to other thin client devices