Student Assistants: Sergio Beltran Alexander Alegre Jorge Estrada Aleksander Milshteyn S P A C E Structures, Propulsion, And Control Engineering C e n t e r NASA Grant URC NCC NASA Grant URC NCC NNX08BA44A August 20, 2009 Computer Team Progress Report Faculty Advisors: Dr. Helen Boussalis - Director Dr. Charles Liu- Assistant Director
Distributed tuple space system Utilizes the capabilities of different serving computers at various processing levels Screen-scraping utility “Computer-friendly” tagging system Development of video conferencing software
Server Hierarchy
Objectives Current Tuple Architecture Ubiquitous Aerospace Server Screen Scraping Ubiquitous Video Conferencing Conclusion
Client Request Tuple DepositWorker ExtractionImage RetrievalImage Transmission Hashing Algorithms Wavelet-based Transmission
Supports One Server Multiple Clients Multiple Workers One Database Not Platform Independent
Supports Multiple Server Supports Multiple Clients Transparent to the Client Fault tolerant Capability
Listing of information which provides details about an object. For our case Semantic Web Objects. Example Phone Book Domain Controller
A specialized database that stores typed and ordered information about objects Directories allow users or applications to find resources that have the characteristics needed for a particular task.
Will hold information pertaining to objects in the Database For Example Files Objects ( images, text excerpts, …) Semantic Tagged objects Location of data
Semantic Web
Text editing Capability Scrape data from Web Browser Image scrapping or cut and paste Capability to upload and Download from a Server Ability to modify an create new Tags Written in Java (Platform Independent)
Ubiquitous Video Conferencing
Ubicomp - Human-computer interaction that goes beyond desktop environment and is used in everyday life Video Conferencing – Visual collaboration between two or more locations. Transmits audio and video information cohesively in a real time, over the specified network. Ubiquitous Computing Video Conferencing Ubiquitous Computing
Objectives Server Configuration Video Encoding Selection Bandwidth Security UDP
Ring Configuration Peer-to-Peer Configuration Hybrid Configuration (globally decentralized, locally centralized)
Node connects EXACTLY to two other nodes Data travels from node to node Single failure in any node will disrupt the whole network, making it unreliable
Distributed Network Architecture Formed by Ad-hoc, addition of nodes Not ideal for ubiquitous videoconferencing (E.G. Multiple connections)
Globally decentralized, locally centralized
Model without handshaking - dropping packets preferable of delayed packets - error checking is not necessary - widely used in multicasting
- Use datagram sockets to establish host to host communication - Sockets bind the application to service ports, that function as the endpoints of data transmission - Ports from 30,000 through 65,535 - used as temporary ports by clients connecting to servers
Server C1 TP: [40000] C2 RP: [40000] C4 RP: [40000] RP: RP: RP: 60000
Proposed Hybrid Setup Infinite amount of nodes (cameras) on a distributed video server
Proposed Hybrid Setup Infinite amount of nodes (cameras) on a distributed video server
Previous Setup Three nodes connected to the one centralized Internet server
Intra-Group Connection Four nodes connected to one centralized SPACE Center Video server, including one user from a different network.
Motion JPEG - Encodes similarly to MPEG-1, MPEG-2 - Maximum compression rate – 1:20 - Low computational complexity - Low group delay MPEG-4 - Encodes mixed media-data (video/audio) - Real world compression – 1:50 - Transforms into other types of signals - Scalable to deliver content at any data rate
- At low bandwidth availability, priority is given to image resolution - Minimum latency in image processing - Images have a constant file size - Still the most widespread picture compression format used today - Captures at maximum rate of 30 frames per second
Each frame is of the similar size, despite the position difference in the person’s hands
- Uses key-frames and object oriented differential compression format - At low bandwidth availability, priority is given to frame rate - Bandwidth is directly affected by amount of motion in the frame (since frames may differ in size) - Some proprietary implementations and licensing is required
I-frames least compressible, don't require other frames to decode P-frames use data from previous I-frames to decompress B-frames use both previous and forward frames for data reference to get the highest amount of data compression
Applying MPEG-4 video compression results in lesser amount of data transmitted over the network, than of the Motion JPEG.
Proposed Settings: - 50 text-only users - 5 to 16 video users (determined by bandwidth/memory calculations and real-time testing) Existing programs - Skype: 50 text-only users, 5 video users - MegaMeeting: text-only users, 16 video users
Channel delivers at a lower rate than its nominal transmission rate C L = Capacity of channel H L = Total layer-2 overhead P L = Packet size C L2 = New capacity Example : For a 10BaseT Ethernet, C L = 10Mps, H L = 18bytes and a 100-byte packets the capacity is 7.24Mbps
Calculating server bandwidth(BWs): BWs = (P × N) × S P = number of senders N = number of receivers S = average stream bit-rate of encoded A/V content
Calculating client bandwidth needs (BWc): BWc = P × S P = number of senders S = average stream bit rate of encoded A/V content
Server bandwidth needed for a four-person webcam chat using 100 Kbps streams: - (4 × 4) × 300 Kbps = 4.8 Mbps Client bandwidth needed for a four-person webcam chat using 100 Kbps streams: - 3 × 300 Kbps = 900 Kbps downstream - 1 × 300 Kbps = 300 Kbps upstream
Reserve about 20% of Client’s bandwidth for other simultaneous applications during videoconferencing - , internet browser, other downloading Upload speed varies from download speed on different networks
User Adjustments: 1) Lower Resolution 2) Video Window Resizing 3) Close video portion. Keep audio/text intact Automatic Adjustment: 1) Change compression algorithms based on the need E.G. MPEG-4 Motion JPEG
Intra-group: requires each member of the group to have user name and valid password
Inter-group: Administrators of two or more groups established connection with each other, allow their members to see every client involved
User who has a simultaneous access to more than one group will NOT be able to distribute the video/audio/text data between members of different groups
Set-up and integrate server communication with real-time video transmission Integrate security protocols (SSL) Development of screen-scraping and hierarchical protocol structures
MARAPRMAYJUNJULAUGSEPOCTNOVDECJANFEBMAR Alex AlegreResearch on screen scraping utilities Development of hirearchical object- oriented structure Development of Screen Scrapper Tool Screen Scrapper Integration Development of Screen Scrapping GUI Sergio Beltran Research on Ubiquitous Server Development of Ubiquitous Tuple Space Server Protocol Development of Ubiquitous Tuple Space Server Achitecture Integration and Debugging of Ubiquitous Server Jorge Estrada Research of video conferencing mediums and protocols Implementation of Audio/Video protocols Security Implementation Thread/Processor task assigning for AV protocols (Host) Integration of client-server algorithms and debugging Aleks Milshteyn Research of video conferencing mediums and protocols Implementation of Audio/Video protocols Establishing Server Protocols User Bandwidth Refinement Thread/Processor task assigning for AV protocols (Host) Integration of client-server algorithms and debugging