This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Ad hoc mode, which is also known as Independent Basic Service Set (IBSS) or peer-to-peer mode, is defined by the 802.11 specification. (Wireless LAN Networking White Paper, 2002) The wireless ad hoc network is relatively simple and does not have any established infrastructure or centralized administration. A mobile node may acts as a host as well as a router. (Toh, Delwar, & Allen, 2002) The computers connected in ad hoc mode communicate directly with each other using a wireless network interface card (NIC) through radio waves without the use of an access point. (Wireless LAN Networking White Paper, 2002)
Although ad hoc network exists for quite a long time, scalability is still one of the most important problems. Scalability can be generally defined as the ability of the network to provide an acceptable level of service when there are a large number of nodes and link changes. (Ramanathan & Redi, 2002) The performance of ad hoc network will be affected when the number of connected devices increases. It will be a difficulty to manage a large ad hoc network. In proactive networks, scalability problem can be solved by introducing routing or location hierarchy in the network. In reactive ad hoc networks, solutions such as dynamically limiting the scope of route requests and attempting local repairs to broken routes can be introduced. (Ramanathan & Redi, 2002)
For information or data exchange, ad hoc network rely on Transmission Control Protocol (TCP) and assume stable connections. When connections break, the ad hoc nodes assume that their communication partners have left the network and change to other randomly chosen nodes. (Schollmeier, Gruber, & Niethammer, 2003) However, there is a security issue for data exchange in ad hoc network. The ad hoc nodes face a high risk of denial of service (DoS) attack since a shared radio medium is used. This kind of security attack will cause a node to use its battery so much that it depletes its battery. (Ramanathan & Redi, 2002)
2.2 Socket Programming
A port is a 16-bit number used by the transport layer protocol, which are User Datagram Protocol (UDP) and Transmission Control Protocol (TCP), to identify the destination of the incoming messages. (Parziale, et al., 2006) There are some well-known port numbers that are reserved for standard servers. For example, Telnet uses port 23. Ephemeral port numbers are client port numbers which lies between 1024 and 5000. The port numbers above 5000 are available for other servers that are not familiar across the Internet. What port number to be used by a client on its end usually is not bothered. The main concern of the client is that whatever port number it uses be unique on its host. (Stevens, 2002)
A socket is referred to as the combination of an IP address and a port number. A socket, which is a special type of file handle, enables a process to request network services from the operating system. A socket can be identified by the socket address, which is the triple <TCP, IP address, port number>. The socket pair or 4-tuple which consists of <client IP address, client port number, server IP address, and server port number> specifies the two end points that identify every TCP connection in an internet uniquely. (Parziale, et al., 2006)
To write applications that can make use of TCP/IP services, an application programming interface (API) is very useful. One of the APIs to the communication protocols is the socket interface. (Parziale, et al., 2006)
In network communications with the Ethernet data collection device, a "socket" connection needs to be established. A "socket" is a logical communications channel with the two end points of the connection being specified. The configuration of a unique IP address and port number is required for each Ethernet device. Once the "socket" connection is established, the data stream can be sent to and from the target device. The contents of the actual data stream will depend on the target device. (Network Applications with the WINSOCK Control)
2.3 Transmission Control Protocol (TCP)
Transmission control protocol (TCP) is a connection-oriented protocol which was standardized in September 1981 in RFC 793. (Parziale, et al., 2006) The term "connection-oriented" implies that a TCP connection must be established between the two applications using TCP, which normally considered as a client and a server, before they can exchange data.
For TCP applications, there is no master/slave relationship. Instead, a client/server model is used for communications. In such a model, the server is responsible to offer a service to users. The user will access the offered service from an interface which also known as the client. Both the client and the server must be active during the operation of the application protocol. (Parziale, et al., 2006)
TCP is usually used with IP and provides a reliable connection. In a TCP connection, data is resubmitted when there is an error in transmission results (end-to-end error detection and correction). TCP provides error recovery, flow control and sequencing. In addition, TCP enables hosts to maintain multiple connections simultaneously. (Understanding TCP/IP, 2002)
A TCP connection is done between a client and a server with a 3-way handshake. In brief, a TCP connection can be summarized by the following processes: (An Introduction to TCP/IP For Embedded System Designers, 2006)
1. The client sends a SYN control bit set to request for a connection.
2. The server replies with its own SYN segment which also identifies the information that was sent by the client in the initial SYN segment.
3. The client acknowledges the server's SYN segment.
4. Then, a connection is established and is uniquely identified by the socket pair.
Data can be delivered from a server to multiple clients by using unicast, broadcast or multicast. In unicast, the sender can only deliver one copy of the data separately to each receiver. This causes a waste of resources if the data is required to be sent to multiple receivers. For broadcasting, data is transmitted to all hosts in a network. The hosts that do not require the data will just drop it and waste the use of network capacity. (Chapter 10: IP Multicast)
Multicast can be considered as the combination of unicast and broadcast. Multicast allows the server to send a single copy of data to multiple clients using a single address for the entire group. Only User Datagram Protocol (UDP) can be used as transport protocol for multicast applications. Transmission control protocol (TCP) is not available for multicasting. (Chapter 10: IP Multicast)
In multicast, data will only be transmitted to the hosts that are interested to receive the data, referred to as a multicast group or host group. A multicast group is open and dynamic where every host can join and leave any multicast group. No separate mechanism is required for creating a multicast group. The size of a multicast group is not limited. A multicast packet is sent to all members of the multicast group. (Chapter 10: IP Multicast) (Hardwick, 2004)
Multicast uses class D IP address which starts with the bit pattern 1110. The first four bits in multicast address are fixed and followed by the multicast address in the range from 126.96.36.199 to 188.8.131.52. (Cisco AVVID Network Infrastructure, 2003) (IP Multicast Configuration, 2000) A multicast address will specify a multicast group. Any interested host that wish to join a multicast group will start by listening to the packets sent to the IP address related to the multicast group. A host is not required to join a multicast group in order to send multicast packets to that group. Multiple hosts can send to a multicast group simultaneously. (Hardwick, 2004)
2.5 Related Commercial Products
Currently, there are several commercial products for seamless presentation in the market. One of the most popular approaches used is the automatic lecture capture. In this approach, fixed recording equipments have to be installed in all classrooms. Although the solution is "automatic", there are some start/stop sequences required for the recording of lectures. (Kannan & Andres)
The ProjectorBox system is one of the examples which automatically captures, indexes and manages presentation multimedia. It seamlessly records RGB information that is sent from display devices such as a projector. Then a web-based user interface is created to allow authorized users to browse, search, replay and export captured presentations. The ProjectorBox system consists of two main components: the capture component and the server. The capture component consists of a software application that transmits data to the server from time to time for further analysis and storage besides having the video and audio capture hardware. (Denoue, Hilbert, Adcock, Billsus, & Cooper, 2005)
Another example of automatic lecture capture is the Enhance your Conference Audience (EYA) system. EYA system is a hardware solution that records the presenter and audiences who are present during a presentation in one-hour interval and stores them on a web server for later delivery (Zennaro, Fonda, & Canessa, 2007). However, this system has a disadvantage of not storing the details about the content except its title.
As discussed in Chapter 1, another current solution for seamless presentation is by replacing the legacy projector with wireless projector. "AirProjector" is an example of an 802.11a/g-compatible wireless presentation system. The images displayed on the computer monitor screen are received through a wireless Local Area Network (LAN) and then being displayed through an RGB interface. The Windows software is used to obtain and transfer image data from the computer. (Shiwaku, Nakayama, & Yamane, 2003)