Professional Documents
Culture Documents
1 Requirement Analysis
Requirement Analysis
1.1 Scope:
The project should consider following points as a scope: Cluster of mini VODServers for Real Time Media delivery: This is main module of project, which offers highest cost/performance, bandwidth availability, manage load by distributing the data and finally manages the scalability. Streaming of Real-Time Media at Server Side: Content delivery networks (CDN) represent a server-side solution to streaming that is proactive in nature. If time or experience is an issue, PlayStream can capture and encode your media for you in any format we deliver at a competitive rate. After uploading your content to PlayStreams Content Delivery Network, your content is available to embed or link-to within your website, allowing complete flexibility over how you integrate media into your web presence. Supported Formats: MPEG, MOV, CODEC Independent distribution and delivery supports multiple media formats concurrently for mixed media deployments. Project can try to support above formats of Real-Time data at the time of Streaming and Content Delivery. Load Balancing using Round-Robin Algorithm in the Cluster: To balance the load of cluster project can use Round-Robin Method of load balancing in cluster because this method is easy to implement and effective where all the nodes in the cluster are identical in capacity and performance. Managed Delivery of Media to Clients by considering QOS factors: Media Server can send data via UDP or TCP protocol. In this project implements protocol rollover concept by changing the protocol from UDP to TCP or viceversa. Based on connection speed returned to the server from the player the server will send the highest play supported stream from a multiple-bit-rate streaming file, the whole file in the case of a single-bit-rate streaming file, or just the audio portion of an audio/video streaming file if the player connection speed is not fast enough to accept all video data.
Splitter and Mirroring: Splitter splits real-time data on cluster of servers in efficient manner so that accessibility of data manages properly. Software architecture for continuously mirroring streaming data received by one node of a cluster-based server to other cluster nodes. The intent is to distribute the load on the server generated by the data's processing and distribution to many clients. This is particularly important when the server not only processes streaming data, but also performs additional processing tasks that heavily depend on current application state. This feature is important if any one server goes fail in the cluster then mirroring of data of another server can easily handle the clients request.
Definitions and Acronyms: Bit stream Content Delivery Network Cluster Ethernet FPS Frame Data that is transmitted between systems carrying audio, video, data and signaling. Multiple-bit-rate-stream and Single-bit-rate-stream. Proactive approach of streaming can capture and encode media in PlayStream which can directly play on web presence. Group of servers that work together to provide Real-Time Data to scalable clients by managing bandwidth. The most widely used form of local-area network (LAN). In the original form, signals are broadcast on coaxial cables, analogous to radio transmission. Frames Per Second One complete video picture. A frame may be composed of two fields (interlaced video) or may be whole (progressive
or non interlaced video) It is simultaneous bi-directional transmission, as opposed to alternating bi-directional transmission (half duplex). It is bi-directional transmission in alternating (not simultaneous) directions. Distributes the traffic load of network across cluster to maintain high availability and high performance. Resending of data via TCP if some attempts fails by UDP or vice-versa. Local Area Network. A measure of detail in a digital visual image, measured either in number of pixels in the horizontal and vertical directions, or in pixels per unit of physical measure of the display device. Real Time Protocol. Real Time Control Protocol. Real Time Streaming Protocol. Streaming sends packets of data to the viewers computer, which then plays as it receives the packets of data. Copy of streaming data received by one node of a clusterbased server to other cluster nodes.
Partner
Representative Type Responsibilities Success Criteria Involvement Deliverables Project Incharge and Developer Good experience in s/w analysis, design, developments, implementation, testing. Carrying out all software engineering tasks such as analysis, implementation, testing. Completion of the project with proper testing and functionality within the stipulated time As a project manager, Developer The system and documentation
Behavioral Description:
In consideration of behavior of project Authenticated Users request Real-Time data to Load Balancer Server i.e. Database Server via LAN or WAN. Database Server that works as a middleware sends the request to the Cluster of Media Servers. Media Servers contains all Streamed Real-Time Data in proper splitting manner. Middleware checks the request and send it to proper Media Server in the Cluster. Media Server directly sends the response to User directly so that the load of Database Server is managed efficiently. The cluster of the Media Servers provides solution on server failure by mirroring of data from one node to another node. This feature is probably increases the performance of the response. By using the feature of Clustering project can manage the load of network traffic as well as increases high availability and scalability.
Microsoft Windows 98, NT Server 4.0, SP3 and above Windows 2000 Professional HP-UX 11i
Programming Languages The Java 2 Platform, Enterprise Edition (J2EE) defines the standard for
developing multitier enterprise applications. The J2EE platform simplifies enterprise applications by basing them on standardized, modular components, by providing a complete set of services to those components, and by handling many details of application behavior automatically, without complex programming. The J2EE platform takes advantage of many features of the Java 2 Platform, Standard Edition (J2SE), such as "Write Once, Run Anywhere" portability, JDBC API for database access, CORBA technology for interaction with existing enterprise resources, and a security model that protects data even in internet applications. The Java Media Framework (JMF) API enables audio, video and other timebased media to be added J2EE web applications. This optional package can capture, playback, stream and trans code multiple media formats, extends the multimedia capabilities on the J2EE platform, and gives multimedia developers a powerful toolkit to develop scalable, cross-platform technology. We have to use JMF because: JMF2.1.1, the latest release simplifies RTP usage, adds significant performance enhancements when using HotSpot in J2SE and J2EE, adds a Direct-Audio-Rendered for reduced latency, extends the JMF customizer to work on performance pack, adds greater RTP/RTSP support to interoperate with standards-based, third party video streaming servers.
2. H/W Requirements: Microsoft Windows NT or 2000 or 98 compatible hardware platform with CPU speed over 400 MHz. HP-UX compatible hardware platform with CPU speed over 440 MHz. Contact Streaming21 for list of certified platforms. Graphics Card
At least 30 MB free hard disk space for program Supported Disk Subsystems:
installation
IDE SCSI Ultra SCSI Ultra Wide SCSI, disk array H/W RAID Controller, Ultra Wide SCSI
Memory
function of the number of streams supported. Contact Streaming21 for configuration information for your specific application. 3. Networking Protocols: Protocols
including:
TCP/IP, RTP, RTSP, RTCP, HTTP Streaming RTSP/UDP, RTSP/TCP, HTTP RTP/RTSP UDP-IP Multicast Support RTP Multicast Support (RTSP/UDP/IP)
Interface
UML Design
2.1 Use Case Diagram:
<<Include>>
<<Inc lude>>
Streaming ClientSide
<<Include>>
Mirroring
Login Module
U r se
A m istrato d in r
:d L g b o in
U rN m a d P D se a e n W
2.
Main System:
User Authentication Administrator ClientSide :dbServer :VODServer
Pass Request Establish c onnection wit h VO DServer Pass request of client to VODServer Chec k Reques ted Informati on
If invalid request not able to provide any info Display error responce
3.
Client Side:
User ClientSide :dbServer
Get Authentication Request for Infomation Pass Request Get requested data from VODServer Show Server Status, requested Media files and applicatin information
4.
Server Side:
Media container
Encoding station
:VODServerClu ster
Raw Media Files Stream Media Data Upload Media Data on CDN Split Streamed Media Data Store Media data on cluster of Servers
1. Login Module:
4: Authenticate
1: St art Session 3: UserName and PWD User 7: Show Main Window 9: Show Login Form Authenticati on Form
14: Show Main Window 16: Access deined 2: 10: AdminName and PWD
11: Authenticate
Administ rator
2. Main System:
2: Authenticate 5: Authenticate
1: UserAuthentication User 3: If valid show main page 7: Request for Media Data 13: Display requested data as streaming media 15: Display error responce Authenti cation
ClientSid e 12: If valid request send responce info 14: If invalid reques t not able to provide any info 8: Pass Request 9: Establish connection with V ODServer 10: Pass request of client to V ODServer
:VODSer ver
:dbServe r
3. Client Side:
6: Show Server Status, requested Media files and applicat in information 5: 4: Get requested data from VODServer 3: Pass Request
:dbServe r
4. Server Side
3: Upload Media Data on CDN 1: Raw Media Files Media container 4: Split Streamed Media Data Encoding station
5: Store Media data on cluster of Servers Content Delivery N/W :VODServer Cluster
VODServer 1
VODServer 3
dbServer Connections
LAN/WAN
Client 1
Client 2
Client 3
Number of Clients
Check authentication from Login database If not Valid If Valid Request informatin from Authenticated User
Check R equested info in VO DServ erClu ster Info not av ailable Info av ialble a Send Responce information to User