Virtual File System for Streaming Video Developers: – Uri Goldenberg 039078191 – Henry Abravanel 310739693

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

System Integration Verification and Validation
Operating system services Program execution I/O operations File-system manipulation Communications Error detection Resource allocation Accounting Protection.
Operating-System Structures
Video Streaming in Flash CSCI 4220 – Network Programming Kacper Harabasz.
Phones OFF Please Operating System Introduction Parminder Singh Kang Home:
Background Background Problem domain Current situation Proposed solution System architecture Functional requirements Non-functional requirements Major.
2: OS Structures 1 Jerry Breecher OPERATING SYSTEMS STRUCTURES.
An Overlay Multicast Infrastructure for Live/Stored Video Streaming Visual Communication Laboratory Department of Computer Science National Tsing Hua University.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Academic Advisor: Dr. Yuval Elovici Professional Advisor: Yuri Granovsky Team: Yuri Manusov Yevgeny Fishman Boris Umansky.
Generic Simulator for Users' Movements and Behavior in Collaborative Systems.
CCNA 2 v3.1 Module 2.
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
Operating Systems.
1 Semester 2 Module 2 Introduction to Routers Yuda college of business James Chen
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
Motivation. Part of Deutsche Telekom project:
System Sequence Diagrams
1 Video traffic optimization in mobile wireless environments using adaptive applications Phd Forum UBICOMM 2008 David Esteban.
Operating Systems  A collection of programs that  Coordinates computer usage among users  Manages computer resources  Handle Common Tasks.
Module 7: Fundamentals of Administering Windows Server 2008.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
VISUAL STUDIO 2010 TEAM SYSTEM CAPABILITIES WITH DYNAMICS AX Advisor - Simanta Mitra Client - Shawn Hanson & Dave Froslie (Microsoft) Group - Dec10-08.
Technical Advisor - Mr. Roni Stern Academic Advisor - Dr. Meir Kelah Members: Shimrit Yacobi Yuval Binenboim Moran Lev Lehman Sharon Shabtai.
UNIX and Shell Programming (06CS36) Unit 1 Continued… Shrinivas R. Mangalwede Department of Computer Science and Engineering K.L.S. Gogte Institute of.
1 Interface Two most common types of interfaces –SCSI: Small Computer Systems Interface (servers and high-performance desktops) –IDE/ATA: Integrated Drive.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 6 System Calls OS System.
A Guide to Oracle9i1 Database Instance startup and shutdown.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
UML-1 3. Capturing Requirements and Use Case Model.
UML-1 8. Capturing Requirements and Use Case Model.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore USE CASES BY.
Manage Directories and Files in Linux. 2 Objectives Understand the Filesystem Hierarchy Standard (FHS) Identify File Types in the Linux System Change.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
The world leader in serving science Overview of Thermo 21 CFR Part 11 tools Overview of software used by multiple business units within the Spectroscopy.
SCSC 455 Computer Security Chapter 3 User Security.
Computer Studies (AL) I/O Management. Reference Silberschatz, Galvin, Gagne “Operating System Concepts 6 th edition”, 2003, Wiley Stallings, “Operating.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
CSC480 Software Engineering Lecture 7 September 16, 2002.
Company: Amdocs Academic advisor: Ehud Gudes Technical advisor :Gabby Shimony Team: Uzi Lewin Elina Shlangman.
CS628 - Object Oriented Analysis And Design. The Four Pillars of Successful Software Development -Avoid Classic Mistakes -Apply Development Fundamentals.
Application Design Document Developers: o Uri Goldenberg o Henry Abravanel o Academic.
Developments for tape CERN IT Department CH-1211 Genève 23 Switzerland t DSS Developments for tape CASTOR workshop 2012 Author: Steven Murray.
Event Management. EMU Graham Heyes April Overview Background Requirements Solution Status.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
IPEmotion License Management PM (V1.2).
PDF Recovery Tool Fix Portable Document File Format.
2. OPERATING SYSTEM 2.1 Operating System Function
ITEC 202 Operating Systems
Software testing
Chapter 2: System Structures
Operating System Structure
Mixed Reality Server under Robot Operating System
Chapter 2: Operating-System Structures
Introduction to Operating Systems
OPERATING SYSTEMS STRUCTURES
Chapter 2: Operating-System Structures
Presentation transcript:

Virtual File System for Streaming Video Developers: – Uri Goldenberg – Henry Abravanel Academic Advisor: – Prop. Michael Elhadad, Senior Lecturer at the Department of Computer Science, Ben-Gurion University of the Negev. Professional Advisor: – Barak Bar-Orion, Team Leader at Gefen Dekel Technologies LTD, Dalet

Problem Definition Various video editing or manipulation software systems require a certain combination of container + codec. When a customer wants to mix several applications on the same video material, we must store video in multiple formats. A trivial solution is to convert the source video essence to multiple formats. Another, less trivial, solution is to force all programs to use the same container + codec combination.

Our Solution Creating a VFS that given an input of target containers and source non-interleaved video files, it would list this source video files as if they existed in the target containers file format. Upon request of such a non existing file, the VFS would wrap the source files on-the-fly and serve them.

Software context Our system will consist of 2 parts: – Virtual file system over Linux file system – a file system that will allow to simulate file existence. This system will also allow to monitor and configure our application in terms of caching, quality control etc... – A transcoder - a module that will wrap\unwrap from each format to each format.

2. Functional requirements 2.1 Virtual File System – The VFS should list virtual video files according to pre- configured rules. – The VFS should serve virtual video files as if the they existed. Upon request to read such a file, the Transcoding module should wrap the source non- interleaved video files, and then the VFS should serve it. – The VFS should allow write operations on interleaved files. Upon such a request, the VFS should pass the video file to the Transcoding module for unwrapping and writing of non-interleaved files.

2. Functional requirements 2.2 Transcoder – Transcoder should wrap/unwrap non- interleaved/interleaved video files. Scope of target file formats (containers) are: MPEG4, MXF, MOV (Quicktime) ordered by priority. Scope of supporting codecs are: H264, DV, MPEG2 ordered by priority.

2. Functional requirements 2.3 Configuring – The system should allow configuration of these parameters: Source files directory Target files naming convention and container formats

3. Non-Functional Requirements 3.1 Performance constraints – Speed - The system must be able to serve several streams in real time. The least is 1 stream at a specific bit rate with standard hardware. – Capacity - The VFS should convert for many clients at the same time. – Security - The assumption is that the environment is already in a secured. Hence there is no security constraints. – Portability - The application must not be portable. The system is designed to work over Linux and will not be tested on other operating systems.

3. Non-Functional Requirements 3.1 Performance constraints – Reliability - It is essential that the system will work without errors and will not require reload especially assuming that it should work all the time. – Availability - The system should be available all the time. – Usability - Due to the fact that the system is essentially a VFS, its interface is as any other file system. Hence there is no usability considerations on this interface. The monitoring interface should be easy to understand and well documented. Moreover, the configuration file should be written in a format that is easily editable.

3. Non-Functional Requirements 3.2 Platform constraints – Operating System The system will only work under Linux with kernel version of 2.6.X. – Extra Dependencies ffmpeg Fuse

4 Usage Scenarios 4.1 User Profiles - The Actors – Reader - the reader is any entity that sends a request for reading a virtual file. For example: Adobe Flash Media Server or an editing software such as Avid video editor. The reader can also ask for meta-data and status on the file. – Writer - the writer is an entity that requests from the VFS to write a video file (interleaved). All interleaved files should be store in elementary non-interleaved file format.

4.2 Use-Cases Name of used case: Mount VFS system Main Actor: Admin Short description: Mount a Linux directory in which all media files are going to be available there Pre-Conditions: The configuration file is filled with at least the minimum required parameters: Source video files directory, Target mount directory, Wrapping rules Post-Conditions: VFS is mounted at the specified mount directory, ready for I/O operations Normal course of events: – 1.Admin: requests to mount the system – 2.The system: validates parameters from configuration. – 3.The system: tries to mount onto the defined directory Alternative course 1:Invalid parameters where found: – The system prints an "Invalid parameters" message with the corresponding invalid parameter(s) and exits. Alternative course 2:Unable to mount on the specified directory: – The system prints an "Unable to mount on the specified directory" message and exits

4.2 Use-Cases

Name of used case: Unmount VFS system Main Actor: Admin Short description: Unmount the VFS from a specified directory Pre-Conditions: There is a mounted VFS on the specified directory, No files are currently read or written in the mounted directory Post-Conditions: The VFS is no longer available at the configured mount directory Normal course of events: – Admin: requests to unmount the system – The system: sends a shut down signal to Dalet Server – The system: tries to unmount from the defined directory Alternative course 1:Cannot umount directory: The system prints a "Cannot unmount directory because files: are opened" message. Directory remains mounted.

4.2 Use-Cases

Name of used case: Directory Listing Main Actor: Reader Short description: The reader requests to list all available files for reading (virtual interleaved files) from the VFS Pre-Conditions: The VFS is mounted Post-Conditions: None Normal course of events: – Reader: requests to list the files in the virtual directory – The system: calculated on-the-fly any available files for reading – The system: returns the listing to the upper FS layer

4.2 Use-Cases

Name of used case: Open File Main Actor: Reader/Writer Short description: A file was asked to be opened from the VFS Pre-Conditions: The VFS is mounted. For reading: Virtual file exists and can be wrapped. For writing: Interleaved file can be unwrapped. Post-Conditions: File is opened Normal course of events: – Reader: requests to open file X – The system: "open it" and return. Alternative course 1:The virtual file does not exists: – return to the upper FS layer a "FILE_DOES_NOT_EXISTS_ERROR" Alternative course 2:The file is locked for reading (because of real or virtual file system): return to the upper FS layer a "FILE_IS_CURRENTLY_LOCKED_ERROR" Alternative course 3:Unknown file format: cannot wrap/unwrap to the required format. return to the upper FS layer a "WRAP_UNWRAP_ERROR"

4.2 Use-Cases

Name of used case: Read File Main Actor: Reader Short description: A file was asked to be read from offset OFFSET and for a buffer length of N Pre-Conditions: – The file is open – Valid OFFSET – The Transcoder can wrap the requested video data Post-Conditions: The Transcoder converts the requested video file to the correct format and returns to the VFS which in turn returns to the upper layer FS a buffer from offset OFFSET and a buffer length of at most N bytes. Normal course of events: – 1. Reader: requests to read data from a previously opened file. – 2. The system: wraps the required video file and returns a buffer of at most N bytes from offset OFFSET. Alternative course 1:Illegal offset: Illegal offset error will return from command. Alternative course 2:File not open: An file not open error will return. Alternative course 3:Wrapping error: cannot wrap buffer (input is corrupted). returns cannot convert data error.

4.2 Use-Cases

Name of used case: Write file Main Actor: Writer Short description: A file was asked to be written from offset OFFSET and for a buffer length of N Pre-Conditions: – The file is open. – Buffer contains interleaved video data – The Transcoder can unwrap the video data Post-Conditions: The file is written in Dalet's storage in elementary files format. Normal course of events: – 1. Writer: requests to write data to a previously opened file. – 2. The system: unwraps the given video file and stores it in the storage unit Alternative course 1:The file is locked(because of real or virtual file system): return to the upper FS layer a "FILE_IS_CURRENTLY_LOCKED_ERROR" Alternative course 2:File not open: An file not open error will return. Alternative course 3:Unwrapping error: cannot unwrap buffer (input is corrupted). returns cannot convert data error.

4.2 Use-Cases

Name of used case: Monitor system Main Actor: Admin Short description: An admin is asking to view to system state of resources. Including RAM,CPU, bit rate. The VFS is asking hardware for information. and return it to query asked. Pre-Conditions: The system is mounted and running. Post-Conditions: None. Normal course of events: – 1. Admin: requests VFS state information. – 2. The system: VFS returns an answer to to monitor about it's state.

4.2 Use-Cases

THE END