1.계획서

                      종합설계 프로젝트 계획서 요약

팀명


프랜드 드라이브

제출일

2012 3 8

프로젝트 제목

Utilizing BitTorrent Between Friends Trust And 

Non-public File Sharing System In Android

팀원

성명

학번

SNS 주소

황우현

20073266 www.facebook.com/woohyun07

김상현

20073180 www.facebook.com/mbc5730

문병천

20073194  www.facebook.com/qudcjs7

박경준

20073195  www.facebook.com/pkj0808

박귀남

20073196

www.facebook.com/ParkKwiNam

김용구

20093271  www.facebook.com/h2on5555

설계 프로젝트 개

프로젝트 개요

  •   국내의 통신사 서비스에 대하여 데이터 무제한 요금제의 보편화와, WIFI-ZONE의 확대로 인하여 데이터 전송에 대한 제약이 적어져 공유의 더욱 적합한 환경이 되었다. 그러나 공유방식은 이에 맞춰가지 못하고 있기에 사용자들을 만족시키지는 못하고 있다. 예를들어, 기존 스마트 단말기들 간의 공유는 블루투스(bluetooth) 및 메일전송을 통하여 이루어 졌다. 현재 해외 시장에서는 토렌트(torrent)를 스마트 단말기 버전으로 제작하여 공개적인 공유가 이루어 졌다. 게다가 최근에는 이런 모바일 버전의 토렌트에 클라우드 서비스를 접목시켜 일반적인 p2p방법의 공유에 제한되지 않은 더 넓은 범위의 공유 서비스를 지원 하고 있다. 국내 서비스의 경우에는 이러한 토렌트 서비스를 제외하고는 메신저(카카오톡)를 통한 간단한 파일 전송 외에는 실질적인 공유 애플리케이션이 존재 하지 않는다.
  •   기존의 공유 전송방식인 블루투스 공유의 경우 거리의 제한과 느린 속도로 이용에 제한이 있다. 그리고 메일 전송 방식은 쌍방향이 아닌 단방향 전송에 불가하며 이 또한 이용자가 많지 않은 편이다. 마지막으로 메신저를 통한 전송의 경우 사진이나 동영상과 같이 전송하는 데이터 타입에 제약이 있을 뿐만 아니라 한번에 여러 개의 파일을 전송 하는 데는 적합하지 않다.
  •   현재 존재하는 토렌트의 경우 공개적인 공유의 방법이다. 여기서 공개적인 공유라는 것은 검색을 통하여 원하는 시드(seed)를 찾고 이를 누군지도 모르는 익명의 누군가에게서 공유를 받는 것이다. 익명의 전송은 악성코드나 해당 파일에 대한 신뢰성에 대하여 문제점이 있다. 또한 자신이 받은 파일을 익명의 다수에게 무분별한 공유가 된다는 문제점은 모바일 단말기인 업로더에게 데이터 사용량과 배터리 사용의 큰 영향을 미칠 수 있다.
  •   이러한 기존 공유 방식을 모바일에서 이용하는 데는 많은 문제점들이 존재하게 된다. 파일을 공유하는데 들어가는 전송량을 사용자가 속해있는 소셜 네트워크로 한정하여 제어하므로 가까운 사람간에 파일 공유를 할 수 있는 어플리케이션이 설계하게 되었다.


장점

  • 모바일 네트워크에서(안드로이드 단말기) 파일의 종류에 제한없이 지인들간의 자유로운 공유가 가능하다.
  • 공개적인 방식의 공유방식이 아닌 비공개적 방식이기 때문에 전송되는 파일에 대한 신뢰도가 높다.
  • 다운로드 및 업로드를 제공하는 쌍방향 공유를 제공한다.
  • 비트토렌트의 정크단위 전송을 응용하여 지인들로 부터의 다운로드 속도를 향상 시킨다.


현실적 제한요소

  1.  하드웨어
    1. 서버  
      •   서버의 경우 원활한 서비스를 위하여 각 국가별지역별로 프록시 서버를 제공하여야 하겠지만현재 개발 및 테스트 단계이므로 우선 제한적인 자원으로(각 팀 별로 제공되는 서버 지원용 컴퓨터서버를 충당한다.
    2. 네트워크 트래픽
      •   현재 서비스중인 타 애플리케이션의 경우 많은 사용자들로 하여금 엄청난 양의 트래픽 제어에 대하여 해결하는 과제를 갖고 있다. 이러한 트래픽 제어에 대해 아직은 개발 및 테스트 단계이므로 추후의 해결 과제로 남겨 놓는다.
  2. 소프트웨어
    •   안드로이드 플랫폼의 발전에 따라 여러 버전이 존재 한다각 버전에 따라 호환되는 기능이나 추가되는 내용이 다르므로 특정한 버전의 선택이 필요하다우리는 이에 대해 우선 안드로이드2.2(프로요)를 개발 플랫폼으로 지정한다.
  3. 기타
    1. 법적 책임이 가중되고 있는 현실
      •   토렌트 파일 자체는 컨텐츠의 정보만을 담고 있는 단순한 정보파일이며실제 컨텐츠가 없기 때문에 저작권과 아무런 관련이 없다토렌트 파일을 통해 연결되는 개인이 공유하는 컨텐츠의 내용이 문제인데콘텐츠 내용에 대해서는 개인끼리라고 하더라도 법적인 문제가 없는 컨텐츠를 공유하여야 한다.
      •   P2P는 기본적으로 개인대 개인간의 파일전송을 통해 이루어지는 것이므로모든 법적인 문제는문제순간의 해당 개인과 개인이 책임져야 한다저작권법 위배시 처벌은 5천만원 이하의 벌금형이었던 저작권법이 걸린다.
    2. 유사 대형 사이트들의 연쇄적 폐쇄
      • 당분간 P2P는 기존 BM과 충돌하는 것은 불가피하겠지만기술의 진화와 시장의 비지니즈에 힘입어 차세대 인터넷의 유력 기술 대안으로 등장하는 것을 막을 순 없을 듯 하다이미 파일 불법 공유로 악명을 떨치던 P2P 서비스는 진화를 거듭하고 있으며콘텐츠 제공업체들과 정식으로 제휴를 맺고 합법적인 콘텐츠 채널로 다시 태어나려는 시도를 하고 있다.


비교대상

  1. 비트토렌트 애플리케이션(aTorrent, aDownloader 등)
    • 안드로이드 버전으로 개발된 비트토렌트 애플리케이션이다.
    • 비트토렌트 프로토콜을 그대로 사용하므로 기존의 비트토렌트와 사용법이 동일하다.
    • 파일 검색 기능을 포함한다.
    • 공개적인 방식의 공유 방법이다.
    • 주로 다운로드 기능만 제공한다.
  2. 공유 애플리케이션 Share!
    • 자신의 안드로이드 단말기에 저장된 응용프로그램을 선택하여 공유 할 수 있는 프로그램이다.
    • 공유 방법은 메일, 구글+, 페이스북, 트위터, 블루투스 등을 통하여 가능하다.
    • 즉, 개별적인 인프라를 구축하지 않고 다른 서비스를 통하여 공유하는 방법이다.
    • 원하는 사람에게 보내는 형식이므로 비공개적 공유 방식이다.
    • 다운로드가 아닌 업로드 기능만 제공한다.
    • 공유할수 있는 파일이 애플리케이션으로만 한정 되어있다.
  3. 웹하드 계열 애플리케이션(예스파일, 슈퍼파일 등)
    • 각 웹하드 제공사의 안드로이드 버전이다.
    • 웹하드 방식으로 서비스를 제공한다.
    • 웹하드 방식이므로 다운로드 서비스만 제공한다. 즉, 타인에게 전송기능은 제공하지 않는다. 
  4. 카카오톡의 사진 및 동영상 전송 기능
    • 카카오톡(메신저)에서 제공되는 기능이다.
    • 원하는 사람에게 전송이 가능하므로 비공개적 공유 방식이다.
    • 공유 가능한 파일이 사진과 동영상으로 제한된다.
    • 전송 용량이 20MB로 제한된다.


마일스톤 일정

  • 마일스톤

    개요

    시작일

    종료일

    계획서 발표

    개발 환경 완성 (JDK 설치, android SDK 설치, 기본 응용 작성 및 테스트 완료)

    산출물 :

    1.     프로젝트 수행 계획서

    2.     프로젝트 기능 일람표

    3.     발표 자료

    ~

    2012-03-08

    설계 완료

    시스템 설계 완료

    산출물 :

    1.     시스템 설계 사양서

    2012-03-09

    2012-03-20

    1차 중간 보고

    서버, 클라이언트 기초 구현 완료

    산출물 :

    1.     프로젝트 1차 중간 보고서

    2.     프로젝트 진도 점검표

    3.     1차분 구현 소스 코드

    2012-03-21

    2012-04-05

    2차 중간 보고

    유저DB 관리, 해시 및 정크 처리, 쿼리 플러딩 구현 완료

    산출물 :

    1.     프로젝트 2차 중간 보고서

    2.     2차분 구현 소스 코드

    3.     알파 수준의 트래커 서버

    4.     알파 수준의 SecretShare(호스트 프로그램)

    2012-04-05

    2012-05-03

    구현 완료

    시스템 구현 완료

    산출물:

    1.      트래커 서버

    2.      SecretShare

    2012-05-03

    2012-05-11

    테스트

    시스템 통합 테스트

    산출물:

    1.      수정된 트래커 서버

    2.      수정된 SecretShare

    2012-05-03

    2012-05-11

    최종 보고서

    최종 보고

    산출물

    1.      최종보고서

    2.      트래커 서버(final ver)

    3.      SecretShare(final ver)

    2012-05-03

     2012-05-31

결론

  •   본 프로젝트에서는 파일 공유 기술의 두 가지 방법인 비트토렌트와 쿼리 플러딩을 연구하여 해당 공유 방법 들에 대한 지식과 기술력을 습득한다
  •   기존 수업시간에 학습하였던 내용과 획득한 두 가지 공유 방법을 응용하여 신뢰적이며 비공개적인 스마트 단말기 간의 p2p 파일 공유 프로그램을 개발한다.

      Ċ
      markers@cs.kookmin.ac.kr,
      2012. 3. 21. 오후 11:03
      ć
      markers@cs.kookmin.ac.kr,
      2012. 3. 7. 오후 10:41