400 likes | 556 Views
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
E N D
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 Adrienne Lam Sergio Beltran Alexander Alegre Faculty Advisors Dr. Charles Liu Dr. HelenBoussalis NASA Grant URC NCC NNX08BA44A
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 NASA Grant URC NCC NNX08BA44A
Overview • Hardware Layout • Distributed server network • Multi-platform compatibility Application Layout Synchronizing data across servers Ubiquitous Video Conferencing Tuple Space Technology Organizing and relating nodes of information based on their meaning Semantic Network Active Directory Connecting users across different platforms & network access capabilities NASA Grant URC NCC NNX08BA44A
Component Dependency Diagram NASA Grant URC NCC NNX08BA44A
Application Process Diagram Server Fileserver TupleSpace QT Active Directory Database NASA Grant URC NCC NNX08BA44A
DB API-Database Interaction: Queries DB API Database “Select * from uvc_users where City = ‘Los Angeles’”; XML Code <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> QSqlQuery Query( QString Query) XmlResultsWriter(QSqlQuery Result) (Sent via QTcpSocket using Tuple Space supplied parameters) NASA Grant URC NCC NNX08BA44A
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, port QT Tuple Space QT NASA Grant URC NCC NNX08BA44A
DB API-Database Interaction: Status Database DB API PostGre SQL NASA Grant URC NCC NNX08BA44A
Tuple Space-Qt Interaction Status Tuple Space QT NASA 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) NASA 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 successful NASA Grant URC NCC NNX08BA44A
Ubiquitous Video Conferencing • Present Status: • Memory (RAM) Measurements (Completed) • Bandwidth Measurements(Completed) Main Pending Tasks: Audio Transmission/Compression MP3 FTP Client/Server Establishment NASA 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. NASA Grant URC NCC NNX08BA44A
Multiple Video Streaming NASA Grant URC NCC NNX08BA44A
Memory Tests on the Client System NASA Grant URC NCC NNX08BA44A
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. NASA Grant URC NCC NNX08BA44A
Bandwidth Experiment # 1 -100Mbps Network Network Utilization (Mbps) FPS NASA Grant URC NCC NNX08BA44A
Bandwidth Experiment # 2 – 25 fps . NASA Grant URC NCC NNX08BA44A
Average Network Utilization versus Number of Parallel Video Streams NASA Grant URC NCC NNX08BA44A
Audio • Audio Needs • FFMPEG • Phonon • QtMultimedia NASA Grant URC NCC NNX08BA44A
Audio Needs • Synchronization • Quality NASA Grant URC NCC NNX08BA44A
FFserver • Multimedia streaming server for live broadcasts • Limited to conventional audio players • Limited sync window • Limited update time • Different behavior on different players and versions NASA Grant URC NCC NNX08BA44A
Phonon • Multimedia framework class module (MediaSource) • “basic functions” • Limited but open for specific needs NASA Grant URC NCC NNX08BA44A
QtMultimedia • Low-level multimedia function class module (QAudioInput, QAudioOutput) • More options to expand on Phonon • Conflict with current version NASA Grant URC NCC NNX08BA44A
Audio 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 NASA Grant URC NCC NNX08BA44A
3D • Applications • iTV Googles • NVIDIA 3D Vision NASA Grant URC NCC NNX08BA44A
Applications • Educational • Visual NASA Grant URC NCC NNX08BA44A
iTV Goggles • 80” Virtual Screen • 3D Support • Testing environments/applications NASA Grant URC NCC NNX08BA44A
iTV Goggles NASA Grant URC NCC NNX08BA44A
NVIDIA 3D Vision • Shutter Glasses • Panasonic HDC-SDT750 3D Camcorder • MAGIX Movie Edit Pro 17 Plus • Testing environments/applications NASA Grant URC NCC NNX08BA44A
NVIDIA 3D Vision NASA Grant URC NCC NNX08BA44A
NVIDIA 3D Vision 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 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. NASA Grant URC NCC NNX08BA44A
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. NASA Grant URC NCC NNX08BA44A
Implementation and Future Work NASA Grant URC NCC NNX08BA44A
2010-2011 Timeline NASA Grant URC NCC NNX08BA44A
2011 Timeline NASA Grant URC NCC NNX08BA44A
Questions? NASA Grant URC NCC NNX08BA44A