Professional Documents
Culture Documents
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.
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.
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.
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.
Output
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.
10
11
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.
13
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.
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
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.
18
URL
MediaLocator
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)
DataSink
Media files
Media stream
19
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.
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
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
23
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.
25
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.
CHAPTER 6
28
Hybrid Distribution
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.
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.
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.
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
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.
34
VIDEO 1
VIDEO2
VIDEO N
35
VIDEO ON DEMAND
DEMAND DISTRIBUTION
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.
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.
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.
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
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.
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
Server
... Multiple user can see same video without hard delay
43
Home
Submit
44
CLIENT
SERVER
Open to play
Send()
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
49
50
51
52
53
Demand Distributor
54
55
APPENDICES
56
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.
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.