You are on page 1of 59

1

CHAPTER 1 INTRODUCTION
Media content delivery over the Internet has been rapidly growing over the past few years. Content that is available spans a wide range, including software packages, music and video files for purchase, streamed music and video, and streamed real-time events. Different types of content require different kinds of quality-of-service (QoS) guarantees, and in turn, performance is dictated by investments into transit bandwidth and server capacity on the part of the content distributor. For example, YouTube, whose content consists of streaming stored video, acts as its own content distributor (through Google); prior to acquisition by Google, it was estimated that YouTube spent over $20 million per month for transit bandwidth. On the other hand, as the number of individuals possessing the file increases, the peer cloud grows and P2P dissemination becomes the preferred mode of operation. This suggests that by optimally combining the two schemes, one can reap the best of both worlds. Our main goal is to provide qualitative performance analysis that can help guide server provisioning decisions in such hybrid systems.It focus on stored content, i.e., content that is only used after downloading the entire file. Examples are those of software packages and of music or video files sold at online stores such as iTunes. The files do not have a hard delay constraint, and all that is needed is that, on average, the user does not experience a large waiting time.

1.1 SCOPE OF THE PROJECT


Our main goal is to provide qualitative performance analysis that can help guide server provisioning decisions in such hybrid systems.We use a fluid model to study the benefits of combining P2P and clientserver distribution in the case of files

that are popular and whose demand follows a word-of-mouth evolution. We offer several main insights. First, we characterize the relative performance of P2P, clientserver, and a hybrid scheme for dissemination of a single file in a scaling regime where the target population size grows large. Second, we characterize the capacity provisioning necessary to achieve a given average delay target when multiple files are served by the same provider. Finally, we use numerical experiments to illustrate the impact of departures and the efficiency of P2P dissemination on our results. It provide the flexibility for the internet users .It serves the content based on the users demand .So the user can view multiple files in a same webpage .It reduces the cost of the content distributor.Following these methodology helps to make the content distribution as in form of hybrid distribution.Which helps in the demand of users specification.

CHAPTER 2 SYSTEM STUDY 2.1 EXISTING SYSTEM


In Existing systtem , one possible solution is to leverage peer-to-peer (P2P) technology, which means that each user implicitly provides a fraction of the transit capacity required, hence reducing the cost to the content distributor. At the same time, P2P distribution can perform poorly if the number of peers available is insufficient to meet demand;thus, maintaining some central server capacity alongside P2P distribution seems desirable.

2.2 PROPOSED SYSTEM


In Proposed system, we study hybrid schemes that combine P2P and centralized clientserver mechanisms for file distribution. In contrast to most prior work on P2P mechanisms, we explicitly consider a word-of-mouth demand model for the evolution of interest in a piece of content. In such a model, interest in content grows as interested users contact others and make them interested. This is in contrast to the usual assumption that all demand for a piece of content arrives at once.The use of this demand model allows us to analyze a delicate tradeoff in the design of hybrid content distribution systems. In the early phases of interest in a piece of content, few individuals possess the content; thus, P2P distribution would perform poorly, so centralized clientserver distribution is preferred. On the other hand, as the number of individuals possessing the file increases, the peer cloud growsand P2P dissemination becomes the preferred mode of operation. This suggests that by optimally combining the two schemes, one can reap the best of both worlds.

CHAPTER 3 SYSTEM SPECIFICATION 3.1 HARDWARE SPECIFICATION


Processor Speed RAM Hard Disk General : Pentium-IV : 1.1GHz : 1 GB : 40GB : KeyBoard, Monitor , Mouse,Speaker

3.2 SOFTWARE SPECIFICATION


Operating system Coding Language Java Version Java Framework : Windows XP Professional. : Java, J2EE. : jdk1.6 : JMF2.1.1e

CHAPTER 4 SYSTEM DESIGN AND DEVELOPMENT


The most creative and challenging phase of the system development is system design. It provides the understanding and procedural details necessary for implementing the system recommended in the logical and physical stages of development. In designing a new system the system analyst must have a clear understanding of the objectives , which the design is aimed to fulfill.

4.1 INPUT DESIGN


I/O design is done with extensive care in order to make the product consistent and clear.The purpose of any form is to convey or collect information quickly and completely from the client to the server.A good format design is possiblyonly with a good system design.The goal of designing input data into mobile is to make data entry as easy and freefrom errors as possible.

Input Objectives
Controlling Amount of Input Whenever user input is required the amount of user key strokes is reduced by giving the length of the data in server capacity.This makes the request fast and error free.When the user opens the application ,the file dialog is opened,it will be very easy for the user to give input in the same format. Avoiding Delay A processing delay resulting from data preparation or data entry operation is called as Bottleneck.Such bottleneck is made absolute in these

project by breaking up the amount of data to be entered in each form into simpler and smaller forms.

Avoiding Errors in Data The rate at which error occurs depends on the quantity of

data.As told in the above objective these errors are reduced by making the number of data to be entered in each form is reduced. Avoiding Extra Steps To fulfill any operation the user have no need to do complex steps,instead any operation can be done with simple easy to use steps. Keeping the process simple It is easy to upload the contents to the web-server and is immediately displayed on the separate window.

4.2 OUTPUT DESIGN


It is the most important and direct source of information to the user. Efficient , intelligible output design improves the system relationships with the user through the window.

Output Objectives
It improves the interaction of the system with the user and it provides the required information.Display media contents (which is specified by the user)in the same window.

Broadcaster
The broadcaster passes raw audio and video input through a bank of MPEG-4 encoders to produce encoded streams in multiple resolutions. These are then passed through an encryption module which keeps all the necessary streaming headers in the clear and only encrypts the content in secure containers.

Video Store
This component uses standard ISMA MPEG-4 hinting to store the different stream resolutions under different hint tracks , each with metadata describing the stream characteristics such as encoding rate, packet-loss such content is MPEG-4 complaint streaming server. sensitivity, etc. The encryption module is then used to encrypt the content into secure containers. Since

Streaming Server
The Streaming Server receives data either from the broadcaster or form the video store. The encryption of the media data is transparent to the server since it only uses information in the hint-tracks or packet headers to stream the data. Data is received from the broadcaster in the form of RTP packets over one of many different transports: (i) multiplexed in one TCP channel in the RTSP-interleave format,(ii) over multiple independent UDP unicast channels or (iii) over multiple independent UDP multicast channels. In each case, a unique channel number identifies packets belonging to a particular encoding. The server measures the available bandwidth to each of its clients and forwards the most suitable channel to the client. For TCP based client connections, TCP-backpressure is used to estimate the available rate and for RTP/UDP connections, RTCP feedback is used to estimate the TCP-friendly rate. If the streamed bandwidth is well below the rate requested by the client, then the server periodically attempts to increase the bandwidth to the client by probing it with duplicate packets.

4.3 SYSTEM FLOW DIAGRAM

SERVER Enter the video file

Output

Assign the task CLIENT

Figure 4.1 System Flow Diagram

The System Flow diagram is described using the data flow diagram.The overview of the system process is described as for processing the system first requires the server logon to the system.After the system check the authentication of the server.If the authentication is correct the server starts the service.After that the client send request to server then the work has to be assigned by the client has to be send to the video player module.From that video player module the user has to select the media file to be play.The file has to be selected is played. Finally the user can see the media file.The user can see any number of video files at a time by using the same window.

4.4 DATA FLOW DIAGRAM

SERVE R HOME SERVER EVALUATE THE WORK

ASSIGN THE WORK

JMF: PROCESS THE WORK

CLIENT RECEIVED OUTPUT

Figure 4.2 Data Flow Diagram

10

CHAPTER 5 PROJECT DESCRIPTION


One possible solution is to leverage peer-to-peer (P2P) technology, which means that each user implicitly provides a fraction of the transit capacity required, hence reducing the cost to the content distributor. At the same time, P2P distribution can perform poorly if the number of peers available is insufficient to meet demand; thus, maintaining some central server capacity alongside P2P distribution seems desirable. The use of this demand model allows us to analyze a delicate tradeoff in the design of hybrid content distribution systems. In the early phases of interest in a piece of content, few individuals possess the content; thus, P2P distribution would perform poorly, so centralized clientserver distribution is preferred.

5.1 JAVA MEDIA FRAMEWORK


JMF is a framework for handling streaming media in Java programs. JMF is an optional package of Java 2 standard platform. JMF provides a unified architecture and messaging protocol for managing the acquisition, processing and delivery of time-based media. JMF enables Java programs to Present ( playback) multimedia contents, capture audio through microphone and video through Camera, do real-time streaming of media over the Internet, process media ( such as changing media format, adding special effects), store media into a file.

11

5.2 FEATURES OF JMF


JMF supports many popular media formats such as JPEG, MPEG-1, MPEG2, QuickTime, AVI, WAV, MP3, GSM, G723, H263, and MIDI. JMF supports popular media access protocols such as file, HTTP, HTTPS, FTP, RTP, and RTSP. JMF uses a well-defined event reporting mechanism that follows the Observer design pattern. JMF uses the Factory design pattern that simplifies the creation of JMF objects. The JMF support the reception and transmission of media streams using Real-time Transport Protocol (RTP) and JMF supports management of RTP sessions. JMF scales across different media data types, protocols and delivery mechanisms. JMF provides a plug-in architecture that allows JMF to be customized and extended. Technology providers can extend JMF to support additional media formats. High performance custom implementation of media players, or codecs possibly using hardware accelerators can be defined and integrated with the JMF.

Limitations of JMF
Multimedia processing and presentation is compute-intensive. Therefore most of the existing media players and processors for desktop computers are implemented using native code for performing computationally intensive tasks like media encoding, decoding, and rendering.The general criticism on Java-based applications and therefore on JMF is that they lack performance as compared to native codes. The answer to this criticism is as follows.

Need of JMF
The main drawback of native implementations of media players is that they are platform dependent. Hence they are not portable across platforms. This directly means applications using platform-dependent media players and processors are

12

unsuitable for web-deployment. JMF provides a platform-neutral framework for handling multimedia. The JMF API provides an abstraction that hides these implementation details from the developer. For example, a particular JMF Player implementation might choose to leverage an operating system's capabilities by using native methods. Indeed Suns implementation of JMF has different versions each one tailored for one platform.

5.3 THE JMF MODEL


JMF adopts the same model that is used by the consumer electronics industry in handling the media. According to the JMF model, the life cycle of the media starts from a media source, and ends in a media sink. In between the media is handled by media handlers. The media source can be a capture device, or a media file stored locally or remotely on the network or a real-time media stream available on the network. The media handlers process the media which may involve demultiplexing or multiplexing or encoding or decoding. The media processing can be implemented partly in hardware but mostly it is done by software. The media sink or destination can be rendering devices, or storage files or media streams. For audio the capture device is a microphone along with a sound card. For images and video the capture device is a PC add-on digital camera. We typically use CRT monitor for rendering images or video and speakers for rendering audio.

13

Figure 5.1 The JMF model The JMF Time model


Media is any form of data that changes meaningfully with respect to time. Therefore programs that handle multimedia contents should have a sense for time and its progression. To meet this requirement JMF defines the class Time, and interfaces Timebase, Clock and Duration. The time is represented in JMF using the class Time. A Time object represents a particular instant of time in the time axis. The interface TimeBase is an

14

uncontrolled source for time. The interface clock represents a controlled source of time.A clock can be stopped, started and its rate can be adjusted. The interface Duration represents time duration.

Representing media
All multimedia contents are invariably stored in a compressed form using one of the various standard formats. Each format basically defines the method used to encode the media. Therefore we need a class to define the format of the multimedia contents we are handling. To this end JMF defines the class Format that specifies the common attributes of the media Format. The class Format is further specialized into the classes AudioFormat and VideoFormat.

Specifying the source of media


The next most important support an API should offer is the ability to specify the media data source, and to control the access of data from it. We all know that Java provides us with the class java.net.URL to identify any resource in the Internet. Using an URL object we can indeed specify the media source. JMF provides another class called MediaLocator to locate a media source. You can construct a MediaLocator using a Locator string which identifies the source or using an URL. The source of the media can be of varying nature. The JMF class DataSource abstracts a source of media and offers a simple connect-protocol to access the media data.

Specifying the media destination


A DataSink abstracts the location of the media destination and provides a simple protocol for rendering media into destination. A DataSink can read the media from a DataSource and render the media to a file or a stream.

15

Media Playback
JMF supports playback of media by defining the Player interface The Player interface extends the interfaces Controller and MediaHandler. Player lifecycle .The Player ( Controller ) defines various states that represent different stages that are involved in the construction of a media player. When a Player is first constructed it has no knowledge of the media it has to handle. Therefore a Controller cannot identify the resources it needs to handle the media. This state of the Player is called as the Unrealized state. The Controller then enters into the Realizing state. In the Realizing state the Player identifies and locates all the resources it needs to handle the media. Once the process of realization is over the Player enters the Realized state. Next the Player gets into the Prefetching state wherein it prefetches the media needed for the presentation. A Player that has prefetched the media is in the Prefetched state. After that the Player can be started using the start() method. A started Player can be stopped and its resources can be deallocated. The Controller posts a number of ControllerEvents to advertise its state transitions and the error conditions. To listen to these events you can define a class implementing the ControllerListener interface. Then instantiate an object belonging to that class implementing the ControllerListener. The instantiated object should be registered with the Controller whose events we want to listen. The interface Player defines additional methods that are required for the playback of media. Player provides a GUI for the user to control the media playback. Player may also provide a visual component associated with the media presentation. Player provides a way to manage a group of Controllers. Managing multiple Controllers is important in the case of synchronized media presentation.

16

5.4 MEDIA PROCESSING


Typical stages that are involved in the media processing are (I) Demultiplexing, (ii) transcoding, (iii) multiplexing, and (iv) rendering. In the demultiplexing stage different streams (say audio and video) of the media are demultiplexed or extracted from a composite stream. Transcoding involves a change in the encoding format of the media. During multiplexing different streams of the media are multiplexed into a single stream. Rendering involves the presentation of the media.

PlugIn
JMF defines the interface PlugIn to represent a media-processing stage. PlugIns are of following types. They are MULTIPLEXER DEMULTIPLXER CODEC EFFECT RENDERER.

Processor
The interface Processor abstracts a media processing class. It extends Player and allows programmatic control over the media processing stages. Processor introduces a state called Configuring wherein you can set the Codec and renderer PlugIns. The output of a Processor can be taken and can be handed over to (i) another Processor for further processing or (ii) to a Player for playback or (iii) to a DataSink for media transmission or storage.

17

Manager
The class Manager acts as a factory for creating the JMF objects such as DataSource, DataSink, Player, Processor, cloneableDataSource, and Merged DataSource.

Media capture
Capture devices include cameras and sound cards. All capture devices should be registered with a registry called CaptureDeviceManager in order to use them with the JMF. You can query the CaptureDeviceManager for a list of all capture devices that support a given output format.

5.5 JMF CONTROLS


JMF Control provides a mechanism for setting and querying attributes of an object.A Control often provides access to a corresponding user interface component that enables user control over an object's attributes.Many JMF objects expose Controls, including Controller objects, DataSource objects, DataSink objects, and JMF plug-ins.Any JMF object that wants to provide access to its corresponding Control objects can implement the Controls interface.Controls defines methods for retrieving associated Control objects.DataSource and PlugIn use the Controls interface to provide access to their Control objects.CachingControl enables download progress to be monitored and displayed. If a Player or Processor can report its download progress, it implements this interface so that a progress bar can be displayed to the user.StreamWriterControl interface enables the user to limit the size of the stream that is created.

18

Media source capture device/ media files/ streams

URL

MediaLocator

Push/Pull Data Source

Demultiplexer Player (can be configured) PlugIn Codec & Effect PlugIn Multiplexer PlugIn Rendered PlugIn

Demultiplexer PlugIn Codec & Effect PlugIn Multiplexer PlugIn Renderer Plugin Data Source Processor (can be configured)

Rendering devices (monitor, speaker)

DataSink

Media files

Media stream

Figure 5.2 The Jmf Architecture

19

JMF Rtp Api


JMF supports a protocol called Real-time Transport Protocol (RTP) for media transmission and reception [rtp]. RTP is a transport layer protocol and is typically used above the UDP layer. RTP packets has (i) time stamping to indicate the time instant at which the media carried by the packet has to be played (ii) (iii) (iv) sequence number that can be used for the ordered delivery of the packets, identification of the media source payload media format identification.

A RTP session consists of a set of applications exchanging media using the RTP. Each of these applications is called a participant. Every participant uses an object called RTPManager to co-ordinate the RTP session on its behalf. Media streams exchanged in a RTP session are called RTPStreams. The RTPStreams can be of two types, sendStream and ReceiveStream. The JMF RTP API allows us to construct RTPManagers using which we can send and receive RTPStreams among the participating JMF applications.

5.6 JM STUDIO
JMStudio is an important tool that allows you to playback, capture, store, transmit or receive media. When JMF is installed a JMStudio icon is automatically created in the desktop. In Windows environment you can invoke it though the menus: programs Java Media FrameWork 2.1.1 JMStudio. We will introduce you JMStudio by going through some typical usage scenarios of JMStudio. Go to the File menu and its submenu Open File. This lets you to select a media file and play it. Note that the file chooser lists all files. Browse to select a media file and play it.

20

While playing you will see what is called as the control panel in the bottom of the JMStudio window.

Figure 5.3 The JMStudio open File options


Now let us capture and save media. If you have registered atleast one audio ( video) capture device with the JMF then you can capture audio ( and/or video ) using the option Capture. To look at the capture devices that are registered with your JMF go to the JMStudio ->file -> preferences option. It opens the

JMFRegistryEditor.
The JMFRegistry is a registry for the Codecs, capture devices that are used by the JMF. Open the capture device tabpane of JMFRegistryEditor to find the capture devices that you can use with JMF. Normally you would have audio capture devices. In case you have a JMF-compatible camera in your system that would have also been listed. First let us capture only audio. Go to the Capture option and check only the option Use audio device. As of now accept the default media formats details during the capture. The captured media will be played back by default.

21

Figure 5.4 The media capture options of JMStudio

You may now wish to store the captured media in a file. While the media capture is still under progress use the option Export to store media into a file. Choose a suitable format for the audio ( wav for example). See to that the Enable track is checked. Now press the save button.

22

Figure 6.5 JMStudio Export option for storing the media.


Now you will be given a file dialog to choose the file in which you want to save the media. You can give the name of an existing file or a new name. You can monitor the audio and possibly adjust the volume while the audio is getting stored. The time lapsed since the beginning of file storage is displayed. You can pause and restart or stop the storage.

23

Media transmission using JMStudio


To transmit media using JMStudio go to the menu file of JMStudio and use the transmit option. Now you will be given two options. You can either transmit a file or transmit a captured media. If you click the button file, a file dialog will let you choose the file you want to transmit. Similarly the button capture will let you choose a capture device(s) and the format of the captured media. After choosing the file/ capture device(s) press the Next button. You will be prompted to specify the content type and parameters for the output. There will be one tab pane for each track. For example in case you want to transmit a .mpg file there will be one track for audio and another track for video. You can enable/disable each of the tracks. For the video track you can set the following parameters Encoding format video size and frame rate.

For the audio track you can set the following parameters encoding format sample rate bits per sample number of channels big/little endian and signed /unsigned.

If you are not aware of what values of the parameters are desirable we advise you to accept the default values.Press the Next button after specifying the content type and parameters for the output. Now you will be prompted to enter the session address

24

and the port number for each track. The session address should be the IP address (in dotted decimal notation) of the machine which is supposed to receive the media. The port number should be an unused port number supported in the destination machine. You may try an integer in the range 7000 to 12,000. You may give the value of the TTL field as "1". Finally click the Finish button. The media will get transmitted. Figure below shows the GUI of the JMStudio for the media transmission.

Figure 6.6a Transmission of audio and video using JMStudio

25

Figure 6.6b Transmission of audio and video using JMStudio


If you transmit a file you would see a window entitled Transcoding Processor. If you transmit captured video and /or audio you might see two more windows entitled Capture Monitor, Capture Device Controls. The Capture Monitor allows you to monitor the video being captured. The Capture Device Controls is a control panel that lets you control the capture device.To test whether

26

the media is really getting transmitted receive the media at the destination computer as follows.

Advantages of JMF
JMF enables Java programs to playback, capture, transmit, receive and store real-time streaming media, JMF supports many popular media formats and access protocols. The JMF API provides an abstraction that hides these implementation details from the developer. JMF offers portability and at the same time does not loose performance. There are several multimedia libraries available under public licenses, that can provide stream decoding and processing. As the base multimedia library for this project, we have chosen Suns implementation of Java Media Framework. Just like other modules, JMF takes care about proper MPEG decoding, and provides basic display controls, demanding from the application developer only data supply, application logic control, and User Interface implementation. However, this library was chosen due to a few important advantages. The most important for this project, is the ability of JMF MPEG decoder, to playback MPEG stream starting from any point of the stream (i.e. to pick up playback in the middle of the stream transmission). Initial analysis have proved that most of other available libraries fall into trouble under such conditions (sometimes they need multiple restarting, or providing them with stored initial part of an MPEG stream). The second advantage of JMF, is the ability to playback a variety of multimedia audio and video streams, all under control of the same, unified programming interface (API). Thus application implemented for MPEG stream playback, could probably be used for many different kinds of multimedia streams without any modifications. JMF has also additional advantages over other considered libraries: synchronized handling of MPEG audio and video tracks (many other libraries process only video track, or output each track separately, causing synchronization problems) and multi-platform support, thanks to Java VM used

27

(however, there are several restrictions about JMF functionality, depending on the platform chosen, the all-Java implementation of JMF will work on every Java VM.

JMF Supported Formats


The JMF Supports the following formats Media Type JMF 2.1.1 Cross Platform Version read/write AIFF (.aiff) read/write AVI (.avi) read/write GSM (.gsm) MPEG-1 Video (.mpg) read only MPEG Layer II Audio (.mp2) read/write QuickTime (.mov) Wav(.wav) read/write read/write read/write read/write read/write read/write read/write read only read only read/write read/write read/write read/write JMF 2.1.1 Solaris/Linux Performance Pack read/write JMF 2.1.1 Windows Performance Pack read/write

Table A 5.1 JMF Supported Formats

CHAPTER 6

28

MODULE DESCRIPTION 6.1 SERVER MODULE


The server module is the main module of this software.The server module controls all the request made by the client.The server module has initiate the software process.The following diagram shows how was the server module has perform the actions. Administrator Authentication

Receive Request From Client

Evaluate the work

Send the Media File to JMF

Hybrid Distribution

Display multiple video in Client Side

Figure 6.1 Flowchart of Server module


When the server serves data in a commonly used manner, for example according to the HTTP or FTP protocols, users may have their choice of a number of

29

client programs (most modern web browsers can request and receive data using both of those protocols). In the case of more specialized applications, programmers may write their own server, client, and communications protocol, that can only be used with one another. Server-side refers to operations that are performed by the server in a client server relationship in computer networking.Typically, a server is a software program, such as a web server, that runs on a remote server, reachable from a user's local computer or workstation. Operations may be performed server-side because they require access to information or functionality that is not available on the client, or require typical behaviour that is unreliable when it is done client-side.Server-side operations also include processing and storage of data from a client to a server, which can be viewed by a group of clients. Advantage: This lightens the work of your client.

Administrator Authentication:
In the server module the administrator has to be login into the server module for starting the service of the server.The administrator first have to be enter the username and password in the login page.The entered login details has to checked by the system for authentication.If the username and password are correct then the server has starts it services.Otherwise the server says an error.The user has to enter the password and username again for check the authentication.

Receive Request Form Client

30

The server is waiting for the request from the client .It first checks whether the request is come from the corresponding client or not .Then it receives the input from the client.It checks the media file is selected by the client is valid or not If it is valid then it send the media file url to the video player module.

Evaluate The Work


The server module is received the work assigned by the client and it sends the result to the client.In this section the server has checked file format.And then it checks the type of the file to be displayed by the video player.From that video player it checks for authentication and it receives the service offered by the client.

Send The Media File To Jmf


After all the media process completion the video file to be send to the jmf.The jmf has checks the file format and it multiplexes the file to distribute to the client.It checks whether the file url is valid or not.and then it checks the format of the file.If the conditions are true then the JMF has store the file content to the JMStudio.The JMstudio has assign the media file to the processor.

Hybrid Distribution
The Hybrid distribution that combines both the peer to peer and centralized client server technology.Through this the server can send file based on the users demand.It can serve multiple video files to the client as they want.So it reduces the difficulty of content distribution to the client. Content distribution on the Internet uses many different service architectures, ranging from centralized client-server to fully distributed. The recent wide-spread use of peer-to-peer applications such as SETI, Napster, and Gnutella indicate that there are many potential benefits to fully distributed peer-to-peer systems. Peer-to-peer content distribution provides more

31

resilience and higher availability through wide-scale replication of content at large numbers of peers.

Display Multiple Video In Clientside


Using this technique normal players only playing the single file at a time but using this technique it can play a multiple video file to the client.From this way the user can see a multiple videos at a time.Normally if a user wants to see the file which was the client already loaded file then they have to load it again and play the file again but using this technique they can minimize the file what they already streamed.So the user can play multiple files at a time as the demand of the client.

6.2 CLIENT MODULE


Client-side refers to operations that are performed by the client in a client server relationship in a computer network.Typically, a client is a computer application, such as a web browser, that runs on a user's local computer or workstation and connects to a server as necessary. Operations may be performed client-side because they require access to information or functionality that is available on the client but not on the server, because the user needs to observe them or provide input, or because the server lacks the processing power to perform the operations in a timely manner for all of the clients it serves. Additionally, if operations can be performed by the client, without sending data over the network, they may take less time, use less bandwidth, and incur a lesser security risk.

Client

32

The client is the internet user they can select any of the files as they want to see.The client side it has two options like video on demand and demand distributor.The video on demand option is for the content distribution based on the users demand.and the second option for distributing the same media file which is fetched by different users in the same time.It provide the same content in any number of time based on the capacity of the browsers. Client

Video on Demand

Demand Distributor

Select the Media File

Assign the work

Send Request to the Server

Viewing the Media File

Figure 6.2 Flow Chart Of Client Module

Video On Demand

33

In the video on demand option when the user clicks the option the video player module has to be displayed.From that the user select the video file as they need .The user has select the video file url .That url has to be send to the server and then the server send file to the video player module .The server assign the media file to the JMF.The JMF select the file and assign the work to the JMF processor.The JMF processor evaluate all the works.

Demand Distribution
The demand distribution module whichshows how was the hybrid distribution has to be performed based on the bass diffusion model.The bass diffusion model which initiates the demand of the particular video file .In this option it distribute multiple files has to be distributed along the users based on the demand.It distribute media file to the many users in the same time without any delay which facilitates the users flexibility of using internet.

Select The Media File


The File dialog box is displayed from that file dialog box the user has to select the file they want to display.The user can select the mpeg1, mpeg2,mpeg3,avi,wav,midi etc format files from the video player module.

Assign the work


The selected file url has to be send to the video player module from that player the user can select the file and the selected file url has to be assigned to the server. The server assign the media file to the JMF.The JMF select the file and assign the work to the JMF processor.The JMF processor evaluate all the works.

34

Viewing the video file

VIDEO 1

VIDEO2

VIDEO N

Figure 6.3 Display Video


The user can see the multiple files in same window.In the existing system the user can see only one file at a time based on the dynamic model the content distributor can distribute any number of files to the same user so that the user can see multiple files in a same window .The user can minimize the window for future purpose.They can see the file they want in future.

6.3 VIDEO PLAYER MODULE


The video player module which displaying the whole contents to the users need.The video player module distribute the contents in the hybrid distribution. Online distribution, digital distribution, or electronic software distribution (ESD) is the practice of delivering content without the use of physical media, typically by downloading via the internet directly to a consumer's device. Online distribution bypasses conventional physical distribution media, such as paper orDVDs. The term online distribution is typically applied to freestanding products; downloadable addons for other products are more commonly known asdownloadable content. Content distributed online may be streamed or downloaded. Streaming involves downloading and using content "on-demand" as it is needed. Meanwhile, fully downloading the content to a hard drive or other form of storage media allows for quick access in the future.

35

RECEIVE INPUT FROM THE SERVER

CHEC K THE OPTIO N

VIDEO ON DEMAND

DEMAND DISTRIBUTION

JMF EVALUATE THE WORK

DISPLAY THE VIDEO

Figure 6.4 Video Player Flow Diagram


The above flow diagram explains how was the video player module has to be perform its operations.That all are explained as follows

Receive Input From The Client

36

The user specified input has to be send to the server .The server evaluate the input of the user . The server checks the input specified by the client.And then the server take the decision to process the work and it send the url to the Videoplayer module.

Check The Option


After that the video player module it checks whether the option is for video on demand or Demand distribution.It performs the response based on the users request.

Video On Demand
When the user selects the video on demand option it shows the video option .From the video player module the user selects the media file as they want to display.Through this option the user selects the file what they want to see.They can select any number of different files in the same time .And also the user can watch the video file again .If they want to see that again in a same window there is no necessity for loading the same file that already streamed.And then the work to be assigned to JMF.

Demand Distribution
In demand distribution it evaluates the Bass Diffusion Model. The Bass diffusion model was developed by Frank Bass and describes the process of how new products get adopted as an interaction between users and potential users. It has been described as one of the most famous empirical generalisations in marketing, along with the Dirichlet model of repeat buying and brand choice.[1] The model is widely used in forecasting, especially product forecasting and technology forecasting.

37

Mathematically, the basic Bass diffusion is a Riccati equationwith constant coefficients. If any natural disaster happened or any of the important incidents are happen in the world peoples are very interested to watch that video.For that the demand of the same file content has to be increased .So many of the users want to see the same file it makes network traffic.So particular amount of the people can only see the video when using this the content distributor concentrate on the particular video distribution.So more people can see the same video at a time.It also assign the work and send the request to the JMF.

JMF Evaluate the work


The work assigned by the process has to send to the JMStudio by JMF.The JMStudio evaluate the work . The JMStudio includes a viewer that displays a graphical overview of a Processor's tracks and plug-ins. This graph enables you to monitor of the media flow during playback, capturing, or transcoding. To open the Plug-In Viewer for the media currently being presented, select Plug-In Viewer from the Player menu. This opens the Plug-In Viewer window, which displays the plug-ins currently loaded and the connections between them. JMF uses this same basic model. A data source encapsulates the media stream much like a video tape and a player provides processing and control mechanisms similar to a VCR. Playing and capturing audio and video with JMF requires the appropriate input and output devices such as microphones, cameras, speakers, and monitors. Data sources and players are integral parts of JMF's high-level API for managing the capture, presentation, and processing of time-based media. JMF also provides a lower-level API that supports the seamless integration of custom processing components and extensions. This layering provides Java developers with

38

an easy-to-use API for incorporating time-based media into Java programs while maintaining the flexibility and extensibility required to support advanced media applications and future media technologies.

Figure 6.5 Plugin Viewer

The parameters of the Buffers that are passed between the plug-ins, position the mouse over the small boxes to the left or to the right of the plug-in. The Buffer parameters, including format and length, are displayed at the bottom of the Plug-In Viewer window.

39

CHAPTER 7 FEASIBILITY SPECIFICATION


The feasibility of the project is analyzed in this phase and business proposal is put forth with a very general plan for the project and some cost estimates. During system analysis the feasibility study of the proposed system is to be carried out. This is to ensure that the proposed system is not a burden to the company. For feasibility analysis, some understanding of the major requirements for the system is essential.All projects are feasible given unlimited resources and infinite time. It is both necessary and prudent to evaluate the feasibility of the project at the earliest possible time. Feasibility and risk analysis is related in many ways. If project risk is great , the feasibility listed below is equally important. Three key considerations involved in the feasibility analysis are ECONOMICAL FEASIBILITY TECHNICAL FEASIBILITY SOCIAL FEASIBILITY

7.1 ECONOMICAL FEASIBILITY


This study is carried out to check the economic impact that the system will have on the organization. The amount of fund that the company can pour into the research and development of the system is limited. The expenditures must be justified. Thus the developed system as well within the budget and this was achieved because most of the technologies used are freely available. Only the customized products had to be purchased. Proposed system is beneficial since it turned into information system analyzing the traffic that will meet the organizations operating requirements.IN

40

security, the file is transferred to the destination and the acknowledgement is given to the server. Bulk of data transfer is sent without traffic.

7.2 TECHNICAL FEASIBILITY


This study is carried out to check the technical feasibility, that is, the technical requirements of the system. Any system developed must not have a high demand on the available technical resources. This will lead to high demands on the available technical resources. This will lead to high demands being placed on the client. The developed system must have a modest requirement, as only minimal or null changes are required for implementing this system. Technical feasibility centers on the existing computer system (hardware , software, etc..) and to what extent it can support the proposed addition. For example, if the current computer is operating at 80% capacity. This involves, additional hardware (RAM and PROCESSOR) will increase the speed of the process. In software, Open Source language that is JAVA and is used. We can also use in Linux operating system. The technical requirement for this project are Java tool kit and Swing component as software and normal hardware configuration is enough , so the system is more feasible on this criteria.

7.3 SOCIAL FEASIBILITY


The aspect of study is to check the level of acceptance of the system by the user. This includes the process of training the user to use the system efficiently. The user must not feel threatened by the system, instead must accept it as a necessity. The level of acceptance by the users solely depends on the methods that are employed to educate the user about the system and to make him familiar with it. His level of

41

confidence must be raised so that he is also able to make some constructive criticism, which is welcomed, as he is the final user of the system. Economic feasibility is the most frequently used method for evaluating the effectiveness of a candidate system. More commonly known as cost / benefit analysis, the procedure is to determine the benefits and saving that are expected from a candidate and compare them with the costs. If the benefits outweigh cost. Then the decision is made to design and implement the system. Otherwise drop the system. This system has been implemented such that it can be used to analysis the traffic. So it does not requires any extra equipment or hardware to implement. So it is economically feasible to use.

42

CHAPTER 8 SYSTEM REPRESENTATION 8.1 USE CASE DIAGRAM


The functionality of the system can be represented by using usecase diagram as follows

Server

Recieves input from the client

Assign the work to JMF

View multiple videos in same window

... Multiple user can see same video without hard delay

Figure 8.1 Usecase diagram


This usecase diagram shows that the functionality starts from the server who is responsible for doing the process and assign the files to the video player and displaying the videos based on the demand to the users

43

8.2 UML DIAGRAM


The functionality of the system can be represented by using UML diagram as follows

Home

Enter the video CLIENT File SERVER

Assign the Task

Submit

Figure 8.2 UML DIAGRAM

44

8.3 CLASS DIAGRAM


The functionality of the diagram can be represented by using class diagram.

CLIENT

SERVER

Click to play video file

Display the video

Open to play

Send()

Figure 8.3 CLASS DIAGRAM

CHAPTER 9

45

CONCLUSION
The delay performance of a variety of mechanisms for distribution of stored content. The demand for a file as a function of time using the Bass diffusion model, representing the temporal evolution of popular files. That the model represents popular files, and unpopular ones would never do well in a P2P scenariothey must be handled almost entirely by the central server. It performs three distribution methods centralized, peer-to-peer, and hybrid distribution. It calculated the average per-user delay in each setting and explicitly characterized the extent to which the hybrid approach reduces the capacity required to achieve a target delay, in both a single-file model and a model with files arriving over time. It is possible to quantify the benefit of CDN-assisted P2P dissemination for large system scalings. In this Project it combines both the peer to peer and centralized distribution mechanism which is hybrid distribution .It reduces the time delay of content distribution on the internet .When Compared to other approaches this approach responses more clients than the previous approaches.The client can see more than one file in a single page request.It can provide a demand file for many number of users at the same time.so more no of users can view the same content without any delay.

CHAPTER 10

46

FUTURE ENHANCEMENT

Incentivise users to stay.Handling varied topology effects.Use the QoS expressions as input to algorithm design. Each ISP has an incentive to keep traffic within its infrastructure.Exist P2P algorithms that reveal only a subset of content instances to peers. Need to create long-links to other ISPs on a need basis. In other words, the navigability of the network needs to change based on demand.Have to design separate topology for Hybrid Distribution.Perform Streaming process for multiple files in same time. online algorithms are required to determine allocation of scarce server capacity across multiple pieces of content, without knowing the eventual total realized demand that can be achieved. The eventual goal is the practical design of such schemes, to achieve the performance.

SCREEN SHOTS

47

Server Page

48

Administrator Login Into Server

49

Server Starts Service

50

Video Player Module

51

Video on Demand Selecting Media File

52

Display Multiple Files in Same Window

53

Demand Distributor

54

Assign the work

55

Display same content to many user without hard delay

APPENDICES

56

INTEREST EVOLUTION ON GENERAL SOCIAL GRAPHS


The model assumes that the social graph of users is fully connected, which might not be accurate in reality. However, a similar evolution of interested users is observed even when the social graph is not fully connected. In this case, consider the following quantities: The population of users of degree ; The number of users of degree interested at time ; The rate at which an interested user contacts his neighbors.

57

The graph. is a a d-regular graph, would be a constant, and upon normalizing time, would look identical In the case of other graphs, might be decreasing with time resulting in a time stretched version of the logistic function. It restrict ourselves to demand that evolves according to the logistic function, which acts as an upper bound on all other viral demand that could arise on different graphs.

A NOTE ON STREAMING OF STORED CONTENT


Consider a single video or music file that is broken up into chunks. Let the user interest in the file as a whole follow a Bass diffusion. It is clear that since all users start with the first chunk, the demand for the first chunk is a Bass diffusion with potentially interested users. The second chunk arrives deterministically after the first. Assuming that, in an order sense, the number of interested users remains the same over all the chunks, the demand looks much like Fig. 6, only instead of files, we now have chunks and they all arrive deterministically at rate . Suppose we use the same hybrid approach to serving these users, and we have a per-user average delay target of . If the number of users served per chunk in the CD phase of each chunk is , then from Proposition It now check whether choosing a capacity of for the CD phase is sufficient to guarantee an average delay . An upper bound on the cumulative demand and service curves.

REFERENCES

58

[1] W. B. Norton, Internet video: The next wave of massive disruption to the U.S. peering ecosystem, Equinix, White Paper, 2007 [Online].Available: http://www.equinix.com [2] F. M. Bass, A new product growth model for consumer durables, Manage. Sci., vol. 15, pp. 215227, 1969. [3] G. Veciana and X. Yang, Fairness, incentives and performance in peer-to-peer networks, presented at the 41st Annu. Allerton Conf. Control, Commun., Monticello, IL, Oct. 2003. [4] D. Qiu and R. Srikant, Modeling and performance analysis of BitTorrent- like peer-to-peer networks, in Proc. ACM SIGCOMM, Portland, OR, Aug. 2004, pp. 367378. [5] M. Vojnovic and L. Massoulie, Coupon replication systems, IEEE/ACM Trans. Netw., vol. 16, no. 3, pp. 603616, Jun. 2008. [6] J. Wang, C. Yeo, V. Prabhakaran, and K. Ramchandran, On the role of helpers in peer-to-peer file download systems: Design, analysis and simulation, presented at the IPTPS, Bellevue, WA, Feb. 2007. [7] S. Sanghavi, B. Hajek, and L. Massoulie, Gossiping with multiple messages, in Proc. IEEE INFOCOM, May 2007, pp. 21352143. [8] K. Leibnitz, T. Hofeld, N. Wakamiya, and M. Murata, Peer-to-peer vs. client/server: Reliability and efficiency of a content distribution service, in Proc. 20th Int. Teletraffic Congress, Ottawa, ON, Canada, Jun. 2007, pp. 11611172. [9] V. N. Padmanabhan, H. J. Wang, P. A. Chou, and K. Sripanidkulchai, Distributing streaming media content using cooperative networking, in Proc. NOSSDAV, Miami, FL, May 2002, pp. 177186. [10] S. Shakkottai and R. Johari, Content distribution on the internet: Peer to peer vs. client-server, presented at the Allerton Conf. Control, Commun. Comput., 2007. [11] E. Setton and J. Apostolopoulos, Towards quality of service for peer-to-peer video multicast, in Proc. IEEE ICIP, San Antonio, TX, Sep. 2007, vol. 5, pp. 8184. [12] S. Liu, R. Zhang-Shen, W. Jiang, J. Rexford, and M. Chiang, Performance bounds for peer-assisted live streaming, in Proc. ACM Sigmetrics, Jun. 2008, pp. 313324.

59

[13] M. Chen, M. Ponec, S. Sengupta, J. Li, and P. A. Chou, Utility maximization in peer-to-peer Systems, in Proc. ACMSigmetrics, Jun. 2008, pp. 169180. [14] A. Griliches, Hybrid corn and the economics of innovation, Science, vol. 132, pp. 275280, 1960. [15] G. Moore, Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers, Rev. ed. New York: Harper- Business, 1999. [16] M. J. Freedman, E. Freudenthal, and D. Mazires, Democratizing content publication with Coral, in Proc. NSDI, Mar. 2004, vol. 1, p. 18. [17] M. Cha, H. Kwak, P. Rodriguez, Y.-Y. Ahn, and S. Moon, I tube, you tube, everybody tubes: Analyzing the worlds largest user generated content video system, in Proc. ACM Internet Meas. Conf., San Diego, CA, Oct. 2007, p. 114. [18] D. J. Daley and J. Gani, Epidemic Modelling: An Introduction. Cambridge, UK: Cambridge Univ. Press, 1999. [19] D. Bertsekas and R. Gallager, Data Networks. Boston, MA: Longman Higher Education, 1987. [20] M. Harrison, Brownian Motion and Stochastic Flow Systems. New York: Wiley, 1985. [21] R. Egorova, B. Zwart, and O. Boxma, Sojourn time tails in the M/D/1 processor sharing queue, Probab. Eng. Inf. Sci., vol. 20, no. 3, pp. 429446, 2006. [22] C. Aperjis and R. Johari, A peer-to-peer system as an exchange economy, in Proc. Workshop Game Theory Netw., Pisa, Italy, Oct. 2006, Article no. 10.

You might also like