| <Zacker> our distributed nature is very good news for media obviously
| <Zacker> the load gets balanced
| <Zacker> but say one puece of media is "hot"
| <Zacker> we could do some very cool hacks..
| <Zacker> like mirror it around nodes
| <Zacker> or invoke it to become a BitTorrent link

There are two fairly simple ways to deal with distribution; we will
probably want both:

    1.  I have a database schema that can accommodate multiple
        mirrors for the same file, currently up at sf4dean.com.
        The schema is attached to this message.  Basic concept:
          - One item can correspond to many files.
          - One file can correspond to many sources.

    2.  It may be a good idea to include an installation of
        BitTorrent with our software distribution, and add
        simple rules for media downloads (e.g. after three
        users attempt to download the same file from the
        same Site, the Site initiates a BitTorrent download
        and publishes the BitTorrent link automatically).


-- ?!ng
 Database sfadean_media  running on localhost

# phpMyAdmin MySQL-Dump
# version 2.3.1
# http://www.phpmyadmin.net/ (download page)
#
# Host: localhost
# Generation Time: Jul 18, 2003 at 03:16 AM
# Server version: 3.23.56
# PHP Version: 4.3.1
# Database : `sfadean_media`
# --------------------------------------------------------

#
# Table structure for table `file_sources`
#

CREATE TABLE file_sources (
  file int(11) default NULL,
  url varchar(200) NOT NULL default '',
  KEY file (file)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Table structure for table `files`
#

CREATE TABLE files (
  id int(11) NOT NULL auto_increment,
  item int(11) NOT NULL default '0',
  size int(11) default NULL,
  format 
enum('mpeg','avi','mov','asf','wm','rm','swf','wav','mp3','aiff','au','ogg','bmp','gif','jpeg','png','tiff','doc','pdf','ps','txt')
 default NULL,
  extra_codec enum('divx','wm') default NULL,
  kbits_per_sec int(11) default NULL,
  width int(11) default NULL,
  height int(11) default NULL,
  PRIMARY KEY  (id),
  KEY size (size),
  KEY format (format),
  KEY kbits_per_sec (kbits_per_sec),
  KEY item (item)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Table structure for table `items`
#

CREATE TABLE items (
  id int(11) NOT NULL auto_increment,
  title varchar(100) NOT NULL default '',
  contact_email varchar(50) NOT NULL default '',
  media_type enum('video','audio','image','document') NOT NULL default 'video',
  status enum('raw','in_progress','review','final') default NULL,
  duration time default NULL,
  capture_location varchar(100) default NULL,
  capture_date datetime default NULL,
  release_date datetime default NULL,
  description text,
  thumbnail_url varchar(200) default NULL,
  original_item int(11) default NULL,
  production_notes text,
  PRIMARY KEY  (id),
  FULLTEXT KEY description (description),
  FULLTEXT KEY title (title)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Table structure for table `project_items`
#

CREATE TABLE project_items (
  project int(11) NOT NULL default '0',
  item int(11) NOT NULL default '0',
  status enum('element','product') default NULL,
  KEY project (project),
  KEY item (item)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Table structure for table `project_notes`
#

CREATE TABLE project_notes (
  project int(11) NOT NULL default '0',
  author_email varchar(50) NOT NULL default '',
  author_name varchar(100) NOT NULL default '',
  note text NOT NULL,
  date timestamp(14) NOT NULL,
  KEY date (date),
  KEY project (project)
) TYPE=MyISAM;
# --------------------------------------------------------

#
# Table structure for table `projects`
#

CREATE TABLE projects (
  id int(11) NOT NULL auto_increment,
  title varchar(200) NOT NULL default '',
  contact_email varchar(50) NOT NULL default '',
  description text NOT NULL,
  last_activity timestamp(14) NOT NULL,
  PRIMARY KEY  (id),
  KEY title (title),
  FULLTEXT KEY description (description)
) TYPE=MyISAM;

    

Reply via email to