The CRAVE Model
From CRAVEwiki
Our proposal is organized around the layered design that was created by us. It provides a solid theoretical basis for the engineering that will go into the CRAVE project. It is inspired from ISO OSI layers for Networking (which are unrelated to Multimedia).
Contents |
Pictorial Respresentation
The CRAVE Model in the bottom-up approach looks like this ...
LAYERS
Here's an explanation of the layers.
Firstly: Each Layer provides SERVICES to the layer above it. These services are INDEPENDENT of the technology used to implement that layer.
Secondly: Some Layers are optional. Also, the layers are not exactly always pass through, as can be seen in the above diagram. This may reflect actual fact, or a design flaw. Please let me know what you think.
LAYER 0: HARDWARE
Services: *Unit* CPU, non-volatile Storage, RAM and Network I/O; Data Acquisition (USB2/Firewire/Scanner/Camera, etc.); Data Output;
- Services :
- CPU
- RAM
- Network I/O
- Data Acquisition (USB2/Firewire/Scanner/Camera, etc.)
- Data Output
- CRAVE Realization :
- CPU :
- Clients : AMD Athlon 64 3GHz
- Server : Xeon Core Duo (64 each)
- RAM: 1GB DDR4
- Network I/O : Traditional Ethernet 10Mbps LAN CAT6 Cabling.
- Data Acquisition :
- Clients : 2 Front USB 2.0 ports and 2 Back USB 2.0 ports, 3 CDROM Drives, 1 DVDCombo
- Server : 4 USB Slots, DVD Writer, Firewire 6pin Port.
- Data Output :
- Speakers : Creative Inspire 5.1 on server. Headphones on each client.
- CPU :
LAYER 1: OPERATING SYSTEM
Services: Basic Multiuser OS, with explicit support for Multimedia such as (near/soft) Real-time performance, low latency, good support for drivers and applications.
LAYER 2: CLUSTERING
Services: Aggregates L0/L1 services at network level across multiple computers. Two such aggregates are required of this layer, others may be defined later and are optional.
1. CPU Aggregate: Provides transparent (OpenMosix) or explicit (Condor/Globus) access to CPU power across networked computers.
2. Storage Aggregate: Clustered access to HDD storage. (e.g. GFS, Lustre, Inter-mezzo/Coda?)
3. Compilation Aggregate: Ability to spread compilation tasks across many machines using distcc.
LAYER 3: TRANSCODING
Services: Provides tools and facilities to efficiently and accurately convert between multiple file formats and codecs. These tools may use the clustering services (L2) as part of their operation.
LAYER 4: PUBLICATION & ARCHIVAL
Archival Services: Long-term (> 5 years) storage of multimedia materials, for use as collections and repositories.
Publication Services: Widespread, industrial-strength publication mechanisms, e.g. Websites, CD/DVD/Tape, Video Walls, Streaming Servers, Torrents, P2P networks, etc.
LAYER 5: CONTENT CREATION AND MANIPULATION
Services: Tools, applications and utilities to create and manipulate content in the PRINT, AURAL, VISUAL and VIRTUAL worlds.
ORGANIZATION
The project is split up into sub-parts, each of which are largely independent of each other and are based on the layered design. A small team of students shall handle each sub-part. By and large, these teams shall not overlap. Each team shall consist of no more than 3--4 students. By design, these students shall be from the TE and SE. BE students will only be asked to guide these teams. A "crack" team will oversee the entire process.
The Crack Team
The implementation will be led by and supervised by a "Crack" team consisting of Savio Monteiro, Rohan Nogueira and Sreepathi Pai. Their roles are as follows:
1) Savio Monteiro: Project Leader & Multimedia Novice and Specialist
2) Rohan Nogueira: Senior Advisor & Project Co-Leader
3) Sreepathi Pai: GNU/Linux specialist, Project Visionary & Sole Administrator.
The major responsibility of the Crack team is to assemble a team of students, train them and get them to execute sub-parts of the project.
Overall Process
1. A large team of volunteers is requested. This is the MultiDUCS team.
2. The team is shown the proposal, and is asked to chose a sub-project. Sub-teams are now formed.
3. Each subteam is then assigned a "mentor" who will:
a) Introduce their tasks b) Guide them to carry out any research necessary c) Assist them in drafting a plan of action d) Supervise the execution of their project e) Help them test it f) Require them to document it g) Handoff the sub-project to them for ultimate maintenance h) Require them to conduct a seminar on their project
We believe this process will be slow, though it should produce a team and process that is more sustainable in the long term.
MILESTONES
We define milestones for major tasks accomplished, and a single level of detail for each milestone. Read more...
DELIVERABLES
1. CRAVE Lab S/W Infrastructure
To setup the lab across all 5 layers. Involves looking for, developing where necessary, testing, evaluating and deploying software.
2. User Documentation
User documentation will be made available online for the users of the lab. This will complement existing documentation, and will be CRAVE-specific.
3. Website and Newsletter
A separate Website for the CRAVE project aimed at both insiders and outsiders. A Newsletter containing information about activities in the lab.
4. Introductory Videos
A 2 to 3-minute video about the CRAVE lab. A longer, about 20 minutes, video detailing the CRAVE lab and its facilities. To be used for promotional purposes, and made entirely using the facilities in the CRAVE lab.
5. External Projects
We will invite interested people to use our facilities to work on their own projects. This will familiarize external people with our facilities and help us evaluate it.
6. Maintenance Teams
Designated teams to maintain the lab, along with a process to handle the inevitable churn of students.
7. Courses and Training
Online, Moodle-based courses on "Copyright and IP in Multimedia", and "Multimedia File Formats". Others may be added later on.

