SlideShare uma empresa Scribd logo
1 de 13
SWORD2 &
 BITTORRENT
A Network Admin’s Worst Nightmare
     Tim Brody, Damian Steer,
Sander van der Waal, Steve Welburn
WHAT IS SWORD2?

SWORD2 is a protocol for depositing stuff and its metadata
with a repository. It's implemented as a profile of the Atom
Publishing Protocol, which is roughly:

  Client GETs service document from server

  Client POSTs stuff for deposit and metadata to url
  mentioned in service document

  Server responds with 'created this at url'
Client can GET url

  Client edit url content with PUT

  Client can DELETE url

Atom originated in blogs, and SWORD2 essentially just
expands the metadata used.
THE PROBLEM WITH
BIG DEPOSITS
Big deposits take ages to transfer, which makes them
suseptible to interruptions due to error, or simply boredom
('Oops, I closed my laptop...'). In itself that ought to be
recoverable since HTTP supports partial uploads using the
range header. However if you look at steps 2 and 3 above
you may see a problem:

  Client POSTs stuff for deposit and metadata

  Server responds with 'created this at url'
THE IDEA

Send a reference to content via SWORD, rather than the
content itself.

We could use any number of schemes then, such as ftp,
rsync or http. (HTTP will work fine this way around because
the content has an identity and could be resumed)

(Aside: it's also interesting that a repository could chose not
to download, such as situations where the data is stored in a
national subject repository)
OR BITTORRENT

Unlike rsync, ftp, or http, there are many 'server'
implementations, with nice GUIs, for a variety of platforms
in a number of languages. ('server' and 'client' labels aren't
especially helpful with bittorrent)

Handles partial downloading with ease.

No packaging required: moving directories is as easy as
individual files.
WHAT DO YOU NEED?


A bittorrent client at the depositor's end. This is where the
files start.

A bittorrent client at the repository end. This is where the
files will appear.

A bittorrent tracker.
WHAT WE NOW KNOW

Bittorrent is a peer-to-peer network. The clients are peers, it
just happens that some have all the data ('seeders'), and
some are seeking data ('leechers'). Data is identified (very
roughly) using a hash of the content.

Clients need to find each other, and to do this they use
servers called 'trackers', the URLs of which are included in
torrent files. Trackers are pretty simple: you can contact
them to say 'I am interested in X', and find other clients
interested in X.
USING SWORD2 AND
BITTORRENT

Uploader opens bittorrent client, and creates a torrent file
for a file or directory.

The tracker used may be the repository itself.

SWORD deposit is made as usual, but the content is a
torrent file.

Content will be deposited.
IMPLEMENTATION

Tim has / is making EPrints a bittorrent tracker.

It will spot torrents uploaded via SWORD.

Uses transmission-cli to download.

Steve is making a deposit client.

Makes a torrent file, opens in torrent client, and uploads via
SWORD.
INTERESTING STUFF



This really helps with the other issue of large datasets:
downloading. I hope people will typically want individual
files, but this would allow full downloads without killing the
server.
MORE INTERESTING
STUFF


It's robust, and actually quite secure. You can't download
without the torrent file.

Can limit torrents to a particular tracker.

The tracker also provides basic usage information.
THE DISTRIBUTED
CONTENT STORE



The picture shifts from repositories holding data to data
being spread across the network.

Mais conteúdo relacionado

Semelhante a SWORD2 and Bittorrent

Assignment #2 Lab Exercise – HTTP INT6143, Enterpr.docx
Assignment #2 Lab Exercise – HTTP   INT6143, Enterpr.docxAssignment #2 Lab Exercise – HTTP   INT6143, Enterpr.docx
Assignment #2 Lab Exercise – HTTP INT6143, Enterpr.docx
davezstarr61655
 
Wifi Security, or Descending into Depression and Drink
Wifi Security, or Descending into Depression and DrinkWifi Security, or Descending into Depression and Drink
Wifi Security, or Descending into Depression and Drink
SecurityTube.Net
 
02 wireshark http-sept_15_2009
02   wireshark http-sept_15_200902   wireshark http-sept_15_2009
02 wireshark http-sept_15_2009
Vothe Dung
 
Unit8 java
Unit8 javaUnit8 java
Unit8 java
mrecedu
 

Semelhante a SWORD2 and Bittorrent (20)

Bittorrent
BittorrentBittorrent
Bittorrent
 
(130316) #fitalk bit torrent protocol
(130316) #fitalk   bit torrent protocol(130316) #fitalk   bit torrent protocol
(130316) #fitalk bit torrent protocol
 
Assignment #2 Lab Exercise – HTTP INT6143, Enterpr.docx
Assignment #2 Lab Exercise – HTTP   INT6143, Enterpr.docxAssignment #2 Lab Exercise – HTTP   INT6143, Enterpr.docx
Assignment #2 Lab Exercise – HTTP INT6143, Enterpr.docx
 
Bit torrent protocol by milan varia
Bit torrent protocol by milan variaBit torrent protocol by milan varia
Bit torrent protocol by milan varia
 
Wifi Security, or Descending into Depression and Drink
Wifi Security, or Descending into Depression and DrinkWifi Security, or Descending into Depression and Drink
Wifi Security, or Descending into Depression and Drink
 
BitTorrent
BitTorrentBitTorrent
BitTorrent
 
Lightweight Deposit using SWORD
Lightweight Deposit using SWORDLightweight Deposit using SWORD
Lightweight Deposit using SWORD
 
Module 3 - How SWORD Works
Module 3 - How SWORD WorksModule 3 - How SWORD Works
Module 3 - How SWORD Works
 
Bit torrent and tracker
Bit torrent and trackerBit torrent and tracker
Bit torrent and tracker
 
02 wireshark http-sept_15_2009
02   wireshark http-sept_15_200902   wireshark http-sept_15_2009
02 wireshark http-sept_15_2009
 
How does internet works
How does internet worksHow does internet works
How does internet works
 
Bit torrent protocol
Bit torrent protocolBit torrent protocol
Bit torrent protocol
 
Http_Protocol.pptx
Http_Protocol.pptxHttp_Protocol.pptx
Http_Protocol.pptx
 
Bittorrent
BittorrentBittorrent
Bittorrent
 
Web server
Web serverWeb server
Web server
 
Ftp servlet
Ftp servletFtp servlet
Ftp servlet
 
Unit8 java
Unit8 javaUnit8 java
Unit8 java
 
Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2Interoperability Fundamentals: SWORD 2
Interoperability Fundamentals: SWORD 2
 
Introduction to the Bittorrent Protocol
Introduction to the Bittorrent ProtocolIntroduction to the Bittorrent Protocol
Introduction to the Bittorrent Protocol
 
Will “web3://” Replace “http://”?– A Guide About Web 3.0 URL and ERC- 4804 To...
Will “web3://” Replace “http://”?– A Guide About Web 3.0 URL and ERC- 4804 To...Will “web3://” Replace “http://”?– A Guide About Web 3.0 URL and ERC- 4804 To...
Will “web3://” Replace “http://”?– A Guide About Web 3.0 URL and ERC- 4804 To...
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

SWORD2 and Bittorrent

  • 1. SWORD2 & BITTORRENT A Network Admin’s Worst Nightmare Tim Brody, Damian Steer, Sander van der Waal, Steve Welburn
  • 2. WHAT IS SWORD2? SWORD2 is a protocol for depositing stuff and its metadata with a repository. It's implemented as a profile of the Atom Publishing Protocol, which is roughly: Client GETs service document from server Client POSTs stuff for deposit and metadata to url mentioned in service document Server responds with 'created this at url'
  • 3. Client can GET url Client edit url content with PUT Client can DELETE url Atom originated in blogs, and SWORD2 essentially just expands the metadata used.
  • 4. THE PROBLEM WITH BIG DEPOSITS Big deposits take ages to transfer, which makes them suseptible to interruptions due to error, or simply boredom ('Oops, I closed my laptop...'). In itself that ought to be recoverable since HTTP supports partial uploads using the range header. However if you look at steps 2 and 3 above you may see a problem: Client POSTs stuff for deposit and metadata Server responds with 'created this at url'
  • 5. THE IDEA Send a reference to content via SWORD, rather than the content itself. We could use any number of schemes then, such as ftp, rsync or http. (HTTP will work fine this way around because the content has an identity and could be resumed) (Aside: it's also interesting that a repository could chose not to download, such as situations where the data is stored in a national subject repository)
  • 6. OR BITTORRENT Unlike rsync, ftp, or http, there are many 'server' implementations, with nice GUIs, for a variety of platforms in a number of languages. ('server' and 'client' labels aren't especially helpful with bittorrent) Handles partial downloading with ease. No packaging required: moving directories is as easy as individual files.
  • 7. WHAT DO YOU NEED? A bittorrent client at the depositor's end. This is where the files start. A bittorrent client at the repository end. This is where the files will appear. A bittorrent tracker.
  • 8. WHAT WE NOW KNOW Bittorrent is a peer-to-peer network. The clients are peers, it just happens that some have all the data ('seeders'), and some are seeking data ('leechers'). Data is identified (very roughly) using a hash of the content. Clients need to find each other, and to do this they use servers called 'trackers', the URLs of which are included in torrent files. Trackers are pretty simple: you can contact them to say 'I am interested in X', and find other clients interested in X.
  • 9. USING SWORD2 AND BITTORRENT Uploader opens bittorrent client, and creates a torrent file for a file or directory. The tracker used may be the repository itself. SWORD deposit is made as usual, but the content is a torrent file. Content will be deposited.
  • 10. IMPLEMENTATION Tim has / is making EPrints a bittorrent tracker. It will spot torrents uploaded via SWORD. Uses transmission-cli to download. Steve is making a deposit client. Makes a torrent file, opens in torrent client, and uploads via SWORD.
  • 11. INTERESTING STUFF This really helps with the other issue of large datasets: downloading. I hope people will typically want individual files, but this would allow full downloads without killing the server.
  • 12. MORE INTERESTING STUFF It's robust, and actually quite secure. You can't download without the torrent file. Can limit torrents to a particular tracker. The tracker also provides basic usage information.
  • 13. THE DISTRIBUTED CONTENT STORE The picture shifts from repositories holding data to data being spread across the network.

Notas do Editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n