Other System Issues - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Other System Issues

Description:

Other System Issues. Software & some hardware issues. Sources. Chapter 4 main text ' ... video1. Presentation file1. sound2. video2. Presentation file2 ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 37
Provided by: dUmn
Category:
Tags: issues | system | video1

less

Transcript and Presenter's Notes

Title: Other System Issues


1
Other System Issues
  • Software some hardware issues
  • Sources
  • Chapter 4 main text
  • Software that Enables Multimedia
  • HTTP
  • http//www.ectag.org/ec/stds/http.htm
  • http//www.jmarshall.com/easy/http/
  • http//www.w3.org/Protocols/
  • Chapter 6 main text
  • Computer Science Fundamentals
  • Chapter 8 main text
  • Software Engineering
  • Vaughan, T. (2002). Multimedia Making It Work
    (Fifth Edition). Osborne/McGraw-Hill.

2
Topics
  • Client/server
  • Operating systems
  • System requirements
  • Quality of service
  • Platform hardware software
  • Testing
  • Multimedia delivery

3
Client/Server Computing
  • Server
  • A process providing access to software and/or
    hardware resources
  • Process A program that runs independently on a
    computer
  • Sometimes associated with one computer
  • Client
  • Other process needing access to the resources
  • Communicate with the server to access the
    resources
  • Examples
  • Network printing
  • HTTP (hyper text transfer protocol)
  • telnet/ssh remote connections
  • scp/ftp network file transfers
  • Databases
  • Software license server (metering)
  • Why?

4
Some Reasons for Using a Client/Server Style
  • Synchronizing hardware access
  • Printer example
  • Want jobs to appear in some sequence, and not
    interleaved
  • Synchronizing data access
  • Database example
  • Database server can ensure integrity of changes
    to database
  • Goal multiple processes accessing same data
    should leave data in consistent state
  • Mechanism for remote file access HTTP
  • Web files (e.g., HTML documents) exist on
    multiple remote computers
  • Need a mechanism to provide network access to
    files on those remote computer
  • Client/server access is one such mechanism
  • Licensing
  • some maximum number of people to be using a
    software resource at a given time

5
Asymmetric Distributed Processing
  • With server and client(s) processes running on
    different computers we have

Distributed Multiple processes running on
different computers, communicating across a
network Asymmetric Different software in client
and server
Network communications

6
Client/Server Mechanism
  • 1) Server process is initialized
  • Starts on some remote computer
  • 2) Client process sends request to the server
  • Client must know server name
  • Client typically waits while request being
    processed, and until response is received
  • 3) Server process receives request
  • Remote requests from a client process on
    different computer or local requests from a
    client process on same computer
  • Server attempts to satisfy request
  • Sends response back to client process
  • 4) Client receives response for the request

7
HTTP Protocol
  • Stateless protocol
  • After client sends one message, gets a reply,
    server does not maintain record of the connection
  • Request format
  • ltmethod-namegt ltresource-URIgt ltHTTP versiongt
  • ltoptional request headersgt
  • E.g., Host, From, User-Agent
  • Headers end with a blank line
  • ltoptional request message bodygt
  • Response format
  • ltHTTP versiongt ltresponse-codegt ltresponse
    descriptiongt
  • ltresponse headersgt
  • E.g., Date, Content-Type
  • Headers end with a blank line
  • ltresponse message bodygt
  • For an HTTP protocol description, see
    http//www.jmarshall.com/easy/http/

8
Example HTTP Requests
  • GET /cprince/personal/index.html HTTP/1.0
  • Method GET
  • URI /cprince/personal/index.html
  • Version HTTP/1.0
  • Purpose Gets a resource (e.g., a file) from a
    remote system
  • HEAD /cprince/personal/index.html HTTP/1.0
  • Method HEAD
  • URI /cprince/personal/index.html
  • Version HTTP/1.0
  • Purpose Gets only the headers for a resource
    (e.g., a file) from a remote system i.e., a
    description of the resource
  • POST ltURIgt ltHTTP versiongt
  • Method POST
  • Purpose Send data to the server to be processed
    (e.g., by a program running on the same computer
    that the server runs on, say a CGI script)

9
A HTTP Server ConnectionUsing Telnet
  • telnet
  • Standard program (e.g., on UNIX)
  • Enables communication with remote hosts
  • The UNIX command
  • telnet www.somehost.com 80
  • Opens a connection to a web server
  • HTTP servers by default listen on port 80

10
GET Example
  • cprince_at_rattus cprince telnet www.d.umn.edu 80
  • Trying 131.212.109.39...
  • Connected to www.d.umn.edu.
  • Escape character is ''.
  • GET /cprince/personal/index.html HTTP/1.0
  • HTTP/1.1 200 OK
  • Date Tue, 22 Oct 2002 181117 GMT
  • Server Apache/1.3.26 (Unix) PHP/4.2.2
  • Connection close
  • Content-Type text/html
  • lthtmlgt
  • ltpgtlta href"soaring.html"gtltfont
    size"7"gtltemgtSoaring!lt/emgtlt/fontgtlt/agtlt/pgt
  • lthrgt
  • ltpgtlta href"recipes.html"gtRecipeslt/agtlt/pgt
  • ltpgtlta href"http//www.eskimo.com/cetacea
    n/"gtProfessional and personal use hydrophones
  • (underwater microphones) and related
    equipment and serviceslt/agtlt/pgt

11
GET Example
  • cprince_at_rattus cprince telnet www.d.umn.edu 80
  • Trying 131.212.109.39...
  • Connected to www.d.umn.edu.
  • Escape character is ''.
  • GET /cprince/personal/index.html HTTP/1.0
  • HTTP/1.1 200 OK
  • Date Tue, 22 Oct 2002 181117 GMT
  • Server Apache/1.3.26 (Unix) PHP/4.2.2
  • Connection close
  • Content-Type text/html
  • lthtmlgt
  • ltpgtlta href"soaring.html"gtltfont
    size"7"gtltemgtSoaring!lt/emgtlt/fontgtlt/agtlt/pgt
  • lthrgt
  • ltpgtlta href"recipes.html"gtRecipeslt/agtlt/pgt
  • ltpgtlta href"http//www.eskimo.com/cetacea
    n/"gtProfessional and personal use hydrophones
  • (underwater microphones) and related
    equipment and serviceslt/agtlt/pgt

Request
Blank line ends request
Blank line ends response headers
Response
12
HEAD Example
  • cprince_at_rattus cprince telnet www.d.umn.edu 80
  • Trying 131.212.109.39...
  • Connected to www.d.umn.edu.
  • Escape character is ''.
  • HEAD /cprince/index.html HTTP/1.0
  • HTTP/1.1 200 OK
  • Date Wed, 23 Oct 2002 142526 GMT
  • Server Apache/1.3.26 (Unix) PHP/4.2.2
  • Connection close
  • Content-Type text/html
  • Connection closed by foreign host.
  • cprince_at_rattus cprince

Request
Response
13
Web Browsers
  • Examples
  • NCSA Mosaic
  • Internet Explorer, Netscape
  • Konqueror, Lynx, Opera
  • Two main functions of web browsers
  • HTTP clients
  • Interpretation of various data (media) formats
  • Formats including images, sounds, movies
  • E.g., HTML, JPEG, GIF, PNG, WAV, AVI, Quicktime,
    MPEG, PDF
  • Extensibility issues Data formats change

14
Data Format Extensibility
  • Requirement
  • As a media formats change, or new media formats
    become available, need mechanisms to interpret
    (e.g., display) these new media formats
  • E.g., Shockwave or PDF or MPEG4 files
  • How can this requirement be provided?
  • One mechanism Plugins
  • Provide interpretation of some media formats
  • One method of extending browser media formats

15
What is a plugin?
  • A collection of program code data
  • Often contained in a single file
  • Dynamically loaded into a running program (e.g.,
    web browser)
  • E.g., DLL in Windows or .SO mechanisms in Linux
  • Running program can then execute program code
  • E.g., to enable viewing of PDF file in browser
    window
  • Plugins adhere to a pre-defined software
    interfacing standard
  • E.g., application programming interface or API
  • Note that this is analogous in some ways to a
    media codec but a separate concept

16
MultimediaPlatform Requirements
  • Some main issues
  • Development or presentation?
  • Quality of Service (QoS) needs?
  • Existing hardware and software
  • Lead to platform specifications

17
Development or Presentation?
  • Will the computer platform (hardware, software,
    networking)
  • Be used for development?
  • Will it be used for presentation?
  • Developers have different requirements than
    users
  • Examples
  • Rendering video requires a lot of disk space, and
    computer performance
  • Software tools for editing media may not be
    needed by end user of multimedia application
  • DVD burner may be useful for development, but not
    a requirement for end-user system

18
Quality of Service (QoS)
  • Idea
  • Configurable quality requirements for media
    streams for specific multimedia applications
  • Some applications may have higher requirements
    than others
  • E.g., some people may just like higher quality,
    and be willing to pay for that
  • E.g., Broadcast situations may demand higher
    quality
  • Goal to provide guarantees about
    quality/quantity of media
  • Some aspects of QoS
  • Perceptual quality of media
  • Error control
  • E.g., Video is tolerant of some errors, while
    audio is less tolerant
  • Layers User, Application, System, Network
  • E.g., a user requirement quality of perception
    of multimedia data
  • E.g., at system or network layer Maximum bit
    rate, task processing time, bit error rate
  • Resources
  • http//citeseer.nj.nec.com/campbell92integrated.ht
    ml
  • Steinmetz, R. Nahrsted, K. (1995). Multimedia
    Computing, Communications, Applications.
    Prentice Hall, PTR.

19
Platform Issues
  • Computer system
  • Hardware interfaces for media
  • E.g., A/D conversion including frame grabbers
  • Disk availability and performance
  • e.g., data transfer rates for CD-ROM, DVD, Hard
    disk
  • Networking
  • e.g., modem, Ethernet
  • What communication speeds are expected?
  • Software
  • Operating system
  • Software interfaces e.g., Quicktime plugin
  • Device drivers e.g., Digital camera drivers
  • Applications
  • E.g., For authoring and/or presentation of
    multimedia

20
Operating Systems Sources
  • Steinmetz, R. (1995). Analyzing the multimedia
    operating system. IEEE Multimedia, 2(1), pp.
    68-84.
  • IEEE Multimedia web site
  • Regehr, J., Jones, M. B., Stankovic, J. A.
    (2000). Operating system support for multimedia
    The programming model matters. Microsoft Tech
    Report.
  • http//research.microsoft.com/mbj/papers/tr-2000-
    89_abstract.html

21
Operating System Software
  • User level software
  • User level applications
  • E.g., Macromedia Director, Power Point, Web
    browser
  • Operating system applications
  • E.g., format or partition a disk, change process
    priority
  • Window management
  • Servers
  • e.g., printing, email, web, telnet, ssh
  • Process management
  • Multi-tasking, multi-threading
  • Device management scheduling
  • Memory, discs, CPU
  • Device drivers
  • E.g., display adapter, firewire card, network
    card, video camera driver, microphone

22
Operating System Multimedia Requirements
  • What makes an operating system able to handle
    multmedia? (Steinmetz, 1995, p. 68)
  • Soft real-time requirements
  • vs. Hard real-time systems
  • Something bad happens if deadlines are not met
  • In soft-real time
  • User expectations are at stake
  • Scheduling use of resources
  • Goal
  • Execute critical workload within some deadline
  • E.g., 1 frame of video every 1/30th of a second
  • Errors
  • Some errors are acceptable
  • E.g., dropping a video frame now and then
  • Other errors less acceptable
  • Dropping audio data is more perceivable

23
Software Engineering
  • When and Why?
  • Software Engineering starts
  • Where large programs start
  • Constructing small applications
  • Often different than constructing large
    applications
  • Techniques dont always scale up
  • Example
  • Early BASIC programming language
  • limited functions (e.g., no parameters)
  • Only global variables
  • Small program in early BASIC
  • Large program in early BASIC
  • Difficult to reason about a large set of
    interacting variables

24
Software Life Cycle
  • Software exists over a span of time
  • From identification of a problem
  • Until the program is finally phased out, or
    replaced by another
  • Life cycle
  • Problem identification
  • Requirements
  • Design of solution
  • Creation of software
  • Ongoing use
  • Maintenance

25
Problem Identification Requirements
Specification
  • Answering question
  • What problem is being solved?
  • 10-25 of life cycle should be spent here
  • Techniques
  • Partitioning Divide and conquer
  • Parts relationships
  • Abstraction Defining in general terms
  • Leaving out details
  • Projection Viewing problem from different
    perspectives
  • Many other techniques
  • E.g., data flow diagrams

26
Installation Maintenance
  • Perhaps 80 of investment in the maintenance
    phase!
  • What does this imply about
  • Requirements specification?

27
Risk Management
  • Risk in software
  • Those aspects that are most likely to cause
    problems, failure of project, influence
    development
  • An example of risk
  • Multimedia presentation on snow boarding in
    Duluth
  • Project to be completed by December
  • Unknowns can be sources of risk
  • Identify unknowns
  • Act on unknowns before known factors

28
Multimedia Delivery Software
  • Compiled
  • Machine code generated for a computer CPU (e.g.,
    Intel-based) and operating system (O/S)
  • E.g., Macromedia Director Projector
  • Pros/Cons
  • Faster
  • Limited to computer type O/S
  • Stand-alone
  • Interpreted
  • Instructions created that can be interpreted by a
    program
  • E.g., Macromedia Shockwave
  • Pros/Cons
  • Slower
  • More portable
  • Need interpreter (e.g., player) software

29
Connecting Media Components
  • Media components can be

(1) Statically linked Contained in presentation
file
(2) Dynamically linked Contained in external
auxiliary files
Presentation file2
Examples?
Examples?
30
Connecting Media Components
(1) Statically linked Contained in presentation
file
(2) Dynamically linked Contained in external
auxiliary files
Presentation file2
Examples 1) HTML A HREF (anchor) tags 2)
External style sheets in HTML
Examples 1) Projector files (for sound, and
sometimes video) 2) Internal style sheets in HTML
31
Dynamically Linked Style Sheets
  • lt!-- start of file --gt
  • lthtmlgt
  • lttitlegtwww.cprince.com/courses/cs3121fall02/lectur
    es/media/fifth.htmllt/titlegt
  • ltheadgt
  • ltlink href"special.css" rel"stylesheet"
    type"text/css"gt
  • lt/headgt
  • ltbodygt
  • ltp class"special"gt This paragraph should have
    special blue text. lt/pgt
  • lt!-- class name specifies style sheet --gt
  • lt/bodygt
  • lt/htmlgt
  • lt!-- end of file --gt

lt!-- style sheet special.css --gt P.special
color blue border solid red
www.cprince.com/courses/cs3121fall02/lectures/medi
a/special.css
www.cprince.com/courses/cs3121fall02/lectures/medi
a/fifth.html
32
Dynamically Linked Style Sheets
  • lthtmlgt
  • ltheadgt
  • lttitlegtwww.cprince.com/courses/cs3121/media/fift
    h-b.htmllt/titlegt
  • ltstyle type "text/css"gt
  • lt!-- style information previously contained in
    file special.css --gt
  • P.special color blue border solid red
  • lt/stylegt
  • lt/headgt
  • ltbodygt
  • ltp class"special"gt This paragraph should also
    have special blue text. lt/pgt
  • lt/bodygt
  • lt/htmlgt

33
Example ofStatically Linked Audio Video
  • Projector file from Lab 2
  • When downloaded and executed on a Windows system,
    but plays sound, video and shows an image
  • (Does dynamically link to another web page on
    the Internet)
  • http//www.cprince.com/courses/cs3121fall02/labs/l
    ab5/Projector.exe

34
Linking Multimedia Objects
  • Data objects or program code objects
  • Can be statically or dynamically linked into a
    multimedia presentation
  • Is the data contained in the presentation file or
    elsewhere?
  • Statically linking
  • Compilation stage objects (data or code) is
    incorporated as part of the runtime code
  • E.g., Director Standard Import option
  • Dynamic linking
  • File to be viewed, played, executed etc. is not
    contained in presentation file
  • Might be on same computer as presentation
  • E.g., Director Link to External File in import

35
Pros and Cons
  • Static linking
  • Slower downloads (-)
  • No file location issues ()
  • Updates issues (but see publish subscribe
    DDE/OLE)
  • No subsequent latency issues ()
  • Dynamic linking
  • Faster downloads () User may not want to
    view/hear all media
  • Specific locations of files (-) Files need to be
    in their designated locations
  • Updates apply ()
  • May have subsequent latency issues (-)

36
Techniques to Increase Performance with
Dynamically Linked Components
  • Preloading
  • Some authoring tools enable media components to
    be loaded prior to their use
  • Can pay the price of media loading during
    presentation startup, or some inactive time of
    the presentation
  • Suitable for large objects to reduce latency
  • Caching
  • Once a media component is accessed it is
    temporarily stored for future access
  • Useful for components accessed across a network
  • In a short time period, if same component is
    accessed, it can be accessed from cache buffer,
    and not from a network acccess
  • Cache buffer is limited
Write a Comment
User Comments (0)
About PowerShow.com