Http www liquidlan net
1 / 21

liquidlan/ - PowerPoint PPT Presentation

  • Uploaded on What is it?. File sharing system for LANs extends the functionality of Windows(/Samba) networks Runs on top of Windows networks Client-server based Windows client (eMule framework) Linux server/search engine (Seek42 fork) Rotting away on my hard drive The GUI….

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' liquidlan/' - dougal

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

What is it
What is it?

  • File sharing system for LANs

  • extends the functionality of Windows(/Samba) networks

  • Runs on top of Windows networks

  • Client-server based

  • Windows client (eMule framework)

  • Linux server/search engine (Seek42 fork)

  • Rotting away on my hard drive

  • The GUI…

Is this p2p
Is this P2P?

  • Sorta… was Napster P2P?

  • My front-end requires centralized server.

  • Client-server approach better for LiquidLan

    • Instantaneous search results

    • No need for “Internet” scalability

    • Highly simplified implementation (more reliable too)

    • Less resilient to close-minded administrations 

  • However, underlying overlay network is P2P.

  • SMB/CIFS use client server approach

  • Network Neighborhood can be viewed as network of peers and ultrapeers (winners of master browser elections)

  • LiquidLan doesn’t care though.

Quick background
Quick background

  • Server Message Block (SMB)

    • Protocol used by Windows networks

    • Mainly file/printer sharing, IPC

    • MS extended it, renamed CIFS

    • Can run over NetBIOS or TCP/IP

    • Inefficient though (broadcasts to entire subnet)

  • Windows networks

    • SMB client and server, Network Neighborhood, etc.

    • free, open source implementation called Samba

The server1
The server

  • Seek42

  • GPL’d Windows network search engine

  • Scans LANs, indexes results, answers search queries (TCP/IP)

  • Uses modified smbclient (not for long though)

  • ~10,000 lines of code

  • Heavily extended

  • But new version just released, so I will need to merge my changes.

The server modifications
The server (modifications)

  • search returns more than just exact substring matches

  • search creates pretty-printed stats

  • smbclient patch filters junk file types

  • tse can expire an entire class C

  • new ipfile syntax

  • optimized (struct res_t).host… now long int

  • dynamic data structures for run-time reconfig

  • added comments, documentation

  • configuration file (no more defs.h)

  • easy installation

  • Numerous bug-fixes

The server todo
The server (TODO)

  • Merge seek42-1.0 with mine

  • Add opt-in support

  • Implement an XML-based configuration

  • Remove need for modified smbclient

  • Remove legacy code

  • Finish the config request handler

The client
The client

  • No restrictive webpage interface, UNC resource paths…

  • A fully-functional, specialized, application client

  • eMule application framework (threw out core logic)

  • Written in Visual C++, uses MFC heavily

  • Heavily relies on the Windows API

  • So in other words, not very portable 

  • Multi-threaded search client and download manager

  • Integrated Web browser (special purpose)

  • Highly configurable (needs work though)

  • Faaassssst!

The client1
The client

  • But perhaps the coolest feature of all…



  • Dynamic LiquidLan Configuration Protocol

  • Not to be confused with DHCP ;)

  • Conceptually very similar though

  • Zero-conf solution…

  • Dynamically resolve server address

  • Dependent on database-driven program that runs on

  • LiquidLan server operators can create an account and manage their config

  • Therefore, users can install, open, and connect automagically!

  • That is my ultimate goal… complete transparency of the underlying system (end-users don’t wanna know!)

The client todo
The client (TODO)

  • Implement the initial exchange of configuration between the client and server; this must run asynchronously (in a separate thread).

  • Isolate all the hard-coded policies and make them user options.

  • Add the “Search hard drive for media” feature which traverses the hard drive for media to share, respecting DRM when possible***

  • Add an auto-update mechanism (maybe)

  • Add iTunes, Windows Media Player, and Winamp integration.

  • MBCS support (TCHAR instead of char)

  • Eventually add IPv6 support (maybe)

  • Finish DLCP!

Current systems
Current systems

  • PySMBSearch

  • UntzUntz LAN Scan

  • Strangesearch

  • Netropolis

  • Phynd

  • None of them come equipped with a usable application front end.

Lit review quickly
Lit Review (quickly)

  • Incentives in BitTorrent Induce Free Riding

  • The Impact of DHT Routing Geometry on Resilience and Proximity

  • Tree-Based ALM using Proactive Route Maintenance

  • An XML-based Conversational Protocol for Web Services

  • Design Choices for Content Distribution in P2P Networks


  • Design Process Model similar to Waterfall

  • In general, good OOP design principles

  • Clean frameworks!

  • Loosely coupled (small interfaces)

  • Reusable/Extendable

  • The waterfall…


For more visit