40
Distributed Tuple-space Server for Ubiquitous Video Conferencing Faculty Advisors Dr. Charles Liu Dr. Helen Boussalis Student Assistants: Aleksander Milshteyn Neil Arellano Sergio Mendoza Evan Tsai Gabriel Nunez JohnPaul Adigwu Jorge Estrada Adrienne Lam Sergio Beltran Alexander Alegre NASA Grant URC NCC NNX08BA44A 1 03/27/22

Distributed Tuple-space Server for Ubiquitous Video Conferencing

Embed Size (px)

DESCRIPTION

S P A C E Structures, Propulsion, And Control Engineering C e n t e r. Distributed Tuple-space Server for Ubiquitous Video Conferencing. Student Assistants: Aleksander Milshteyn Neil Arellano Sergio Mendoza Evan Tsai Gabriel Nunez JohnPaul Adigwu Jorge Estrada - PowerPoint PPT Presentation

Citation preview

Distributed Tuple-space Server for Ubiquitous Video Conferencing

Faculty Advisors

Dr. Charles Liu

Dr. Helen Boussalis

Student Assistants:

Aleksander MilshteynNeil ArellanoSergio MendozaEvan TsaiGabriel NunezJohnPaul AdigwuJorge EstradaAdrienne LamSergio BeltranAlexander Alegre

NASA Grant URC NCC NNX08BA44A 104/20/23

Why ?

• Information and tools are scattered

• Traditional technologies have difficulty in meeting collaborative working environments

• Displaying objects in a 2-Dimensional space is not practical for concepts that exist in 3-Dimensional space

04/20/23 2NASA Grant URC NCC NNX08BA44A

Overview

NASA Grant URC NCC NNX08BA44A 3

Hardware Layout

•Distributed server network

•Multi-platform compatibility

Application Layout

Organizing and relating nodes of information based on their meaning

Connecting users across different platforms & network access capabilities

Synchronizing data across servers

04/20/23

Component Dependency Diagram

04/20/23 4NASA Grant URC NCC NNX08BA44A

Application Process Diagram

Server

TupleSpace

DatabaseQT

Fileserver

Active Directory

04/20/23 5NASA Grant URC NCC NNX08BA44A

<results><tablename=“uvc_users”><row=“1”><cname=“id”>23</cname><cname=“City”>Los Angeles</cname><cname=“Dept”>Aerospace</cname> </row><row=“2”><cname=“id”>24</cname><cname=“City”>Los Angeles</cname><cname=“Dept”>Electrical</cname> </row></results>

ID City Dept

23 Los Angeles

Aerospace

24 Los Angeles

Electrical

25 San Diego Chemical

“Select * from uvc_users where City = ‘Los Angeles’”;

QSqlQuery Query( QString Query)

XmlResultsWriter(QSqlQuery Result)

XML Code

(Sent via QTcpSocket using TupleSpace supplied parameters)

DatabaseDB API

DB API-Database Interaction: Queries

04/20/23 6NASA Grant URC NCC NNX08BA44A

Tuple SpaceQT

Tuple Space-DB API Interaction

•Qt interprets tuple parameters to carry out appropriate DB query (Tuple parser function)

•Tuple provides information to QT including: sql query, ipaddress, portQT

04/20/23 7NASA Grant URC NCC NNX08BA44A

DB API-Database Interaction: Status

Component % Completed Dependencies

XmlWriter 100% None

QSqlQuery 100% QSqlDriver Postgres

QTcp Client Comm. 100% Tuple ParametersQTcpSocket class methods for TCP transmission

Database

DB API PostGre SQL

04/20/23 8NASA Grant URC NCC NNX08BA44A

Tuple Space-Qt Interaction Status

Component % Completed Dependencies

TupleParser 15% Knowledge of Tuple- Space code (incoming hash tag)

Tuple Space

QT

04/20/23 9NASA Grant URC NCC NNX08BA44A

Semantic Network Component Update

Scraping Tool (Client Side)

Tuple Space Q

Key Features•Video playback of dragged video

•Thumbnail preview of dragged images

•Objects can be created without internet connection (locally)

04/20/23 10NASA Grant URC NCC NNX08BA44A

Semantic Network Component Update

(continued)Key Features•Basic Object Tables

Complete

•Allows table

inheritance

•Commutates with

Client (QT) application)

•Communication with

Tuple Space successful04/20/23 11NASA Grant URC NCC NNX08BA44A

Main Pending Tasks:

- Audio Transmission/Compression MP3

- FTP Client/Server Establishment

Ubiquitous Video Conferencing

Present Status:- Memory (RAM) Measurements (Completed)- Bandwidth Measurements(Completed)

Encoded Video/Audio Streams

01/13/2011 12NASA Grant URC NCC NNX08BA44A

Memory Tests on the Client System

• The experiment was conducted in order to calculate the memory utilization per single FFMPEG stream in the UVC Application.

• Several other non-UVC applications where left on purpose to simulate multi-tasking environment.

01/13/2011 NASA Grant URC NCC NNX08BA44A13

Number of Parallel

Decoded Video Files

RAM

(MB)

Exp. 1

RAM

(MB)

Exp. 2

RAM

(MB)

Exp. 3

Average

RAM

(MB)

2 28 30 31 22.8

3 54 42 42 46.0

4 64 67 60 63.7

5 71 73 74 72.0

Multiple Video Streaming

01/13/2011 NASA Grant URC NCC NNX08BA44A 14

Memory Tests on the Client System

01/13/2011 NASA Grant URC NCC NNX08BA44A 15

Bandwidth Tests on the Client System

• Network Utilization was used to determine the activity state of the network port on the client system.

• Three experiments have been performed in order to find the average ratio of the network usage to the maximum traffic for a LAN with 100Mbps.

• When Network Utilization exceeds threshold of 100%, it causes problems such as the drop in transmission speed, and increases the chances of intermittence and request delay.

01/13/2011 NASA Grant URC NCC NNX08BA44A 16

Bandwidth Experiment # 1 -100Mbps Network

01/13/2011 NASA Grant URC NCC NNX08BA44A 17

FPS

Net

wor

k U

tiliz

atio

n (M

bps)

Bandwidth Experiment # 2 – 25 fps

01/13/2011 NASA Grant URC NCC NNX08BA44A 18

Number of Parallel Video

Streams

Network Utilization

Exp. 1 (Mbps)

Network Utilization Exp.

2 (Mbps)

Network Utilization

Exp. 3(Mbps)

Average Network

Utilization (Mbps)

1 9.49 9.08 9.87 9.52 22.99 23.51 23.04 23.23 38.29 36.55 35.62 36.84 42.20 43.0 40.70 42.0

.

Average Network Utilization versus Number of Parallel Video Streams

01/13/2011 NASA Grant URC NCC NNX08BA44A 19

Audio

1) Audio Needs

2) FFMPEG

3) Phonon

4) QtMultimedia

2004/20/23 NASA Grant URC NCC NNX08BA44A

Audio Needs

2104/20/23 NASA Grant URC NCC NNX08BA44A

• Synchronization

• Quality

FFserver

2204/20/23 NASA Grant URC NCC NNX08BA44A

•  Multimedia streaming server for live broadcasts • Limited to conventional audio players• Limited sync window• Limited update time• Different behavior on different players and versions

Phonon

2304/20/23 NASA Grant URC NCC NNX08BA44A

• Multimedia framework class module (MediaSource)• “basic functions” • Limited but open for specific needs

QtMultimedia

2404/20/23 NASA Grant URC NCC NNX08BA44A

• Low-level multimedia function class module (QAudioInput, QAudioOutput)

• More options to expand on Phonon• Conflict with current version

Audio

2504/20/23 NASA Grant URC NCC NNX08BA44A

Audio

Key Goals• Phonon/Qt compatibility // Complete• Successfully record/play an analog signal using Phonon // Complete• Successfully open audio files // Complete• Transmit encoded audio stream // In Progress• Decode received streamed audio // In Progress• Negate/minimize sync problems // Future Implementation

2604/20/23 NASA Grant URC NCC NNX08BA44A

3D

2704/20/23 NASA Grant URC NCC NNX08BA44A

• Applications

• iTV Googles

• NVIDIA 3D Vision

Applications

2804/20/23 NASA Grant URC NCC NNX08BA44A

• Educational

• Visual

iTV Goggles

2904/20/23 NASA Grant URC NCC NNX08BA44A

• 80” Virtual Screen

• 3D Support

• Testing environments/applications

iTV Goggles

3004/20/23 NASA Grant URC NCC NNX08BA44A

NVIDIA 3D Vision

3104/20/23 NASA Grant URC NCC NNX08BA44A

• Shutter Glasses

• Panasonic HDC-SDT750 3D Camcorder

• MAGIX Movie Edit Pro 17 Plus

• Testing environments/applications

NVIDIA 3D Vision

3204/20/23 NASA Grant URC NCC NNX08BA44A

NVIDIA 3D Vision

3304/20/23 NASA Grant URC NCC NNX08BA44A

3D

Key Goals• NVIDIA operational // Complete• Successfully record/play 3D files using Panasonic

camera // Complete• iTV operational // In Progress• Initialize 3D applications/functions // Future Implementation

3404/20/23 NASA Grant URC NCC NNX08BA44A

What is OpenGL?

Open Graphics Library (OpenGL) is a cross platform, C based standard Application Programming Interface (API) for rendering 3D graphics.

OpenGL is used in CAD, virtual reality environments, and flight simulators.

Purpose: To implement a touch screen enabled Graphical User Interface (GUI) that facilitates the interaction amongst application components.

04/20/23 NASA Grant URC NCC NNX08BA44A 35

InvestigationFlash vs. OpenGL

• Flash is a multimedia platform that can render 3D graphics, audio, and video content.

• Our target audience is everyone connected to the web, even cell phone users. Qt allows us this flexibility. On the other hand not all phones use Flash as a means to render their graphics.

• We will be implementing OpenGL since it is a library that is part of the Qt platform and will allow easy integrate any 3D rendering that we will need.

04/20/23 NASA Grant URC NCC NNX08BA44A 36

Implementation and Future Work

04/20/23 NASA Grant URC NCC NNX08BA44A 37

2010-2011 Timeline

38NASA Grant URC NCC NNX08BA44A04/20/23

2011 Timeline

04/20/23 NASA Grant URC NCC NNX08BA44A 39

Questions?

04/20/23 NASA Grant URC NCC NNX08BA44A 40