SlideShare uma empresa Scribd logo
1 de 183
Baixar para ler offline
Memento: Time Travel for the Web



                                      The Memento Team

                                    Herbert Van de Sompel
                                      Michael L. Nelson
                                      Robert Sanderson
                                     Lyudmila Balakireva
                                       Scott Ainsworth
                                       Harihar Shankar


                                Memento is partially funded by the
                                     Library of Congress

                                     

Updated Technical Details (March 2010)
         Memento: Time Travel for the Web
        Updated Technical Details (03/2010)
Memento wants to make navigating the Web’s Past Easy




               http://www.mementoweb.org
     http://groups.google.com/group/memento-dev
                 Memento: Time Travel for the Web
                                                      2
                Updated Technical Details (03/2010)
Recap of the Basics …




 Memento: Time Travel for the Web
                                      3
Updated Technical Details (03/2010)
W3C Web Architecture: Resource – URI - Representation


                              dereference

           URI

                 Identifies

                              Resource


                                        Represents


                                                       Representation




                  Memento: Time Travel for the Web
                                                         4
                 Updated Technical Details (03/2010)
W3C Web Architecture: Resource – URI - Representation


                 dereference      content negotiation

           URI

                 Identifies

                              Resource


                                        Represents


                                                       Representation 1


                                        Represents              Representation 2


                  Memento: Time Travel for the Web
                                                          5
                 Updated Technical Details (03/2010)
Problem Statement …




 Memento: Time Travel for the Web
                                      6
Updated Technical Details (03/2010)
Resources




 Memento: Time Travel for the Web
                                      7
Updated Technical Details (03/2010)
Resources have Representations




     Memento: Time Travel for the Web
                                          8
    Updated Technical Details (03/2010)
Resources have Representations that Change over Time




                 Memento: Time Travel for the Web
                                                      9
                Updated Technical Details (03/2010)
Only the Current Representation is Available from a Resource




                    Memento: Time Travel for the Web
                                                         10
                   Updated Technical Details (03/2010)
Old Representations are Lost Forever




        Memento: Time Travel for the Web
                                             11
       Updated Technical Details (03/2010)
Archived Resources Exist




  Memento: Time Travel for the Web
                                       12
 Updated Technical Details (03/2010)
Sep 11 2001, 20:36:10 UTC                                                Dec 20 2001, 4:51:00 UTC

                                    Archived Resources




                                                               http://en.wikipedia.org/w/index.php?
http://web.archive.org/web/20010911203610/http://     title=September_11_attacks&oldid=282333 archived
www.cnn.com/ archived resource for http://cnn.com            resource for http://en.wikipedia.org/wiki/
                                                                       September_11_attacks

                                   Memento: Time Travel for the Web
                                  Updated Technical Details (03/2010)     13
Finding Archived Resources




Go to http://www.archive.org/ and search          On http://web.archive.org/web/*/http://cnn.com, select
              http://cnn.com                                        desired datetime


                               Memento: Time Travel for the Web
                                                                        14
                              Updated Technical Details (03/2010)
Finding Archived Resources




                        Go to
http://en.wikipedia.org/wiki/September_11_attacks                        Browse History
                  and click History


                                    Memento: Time Travel for the Web
                                                                           15
                                   Updated Technical Details (03/2010)
Dec 20 2001, 4:51:00 UTC                                                                   current

                             Navigating Archived Resources




                                  Pentagon




         http://en.wikipedia.org/w/index.php?
title=September_11_attacks&oldid=282333 archived
                                                             http://en.wikipedia.org/wiki/The_Pentagon
       resource for http://en.wikipedia.org/wiki/
                September_11_attacks3

                                    Memento: Time Travel for the Web
                                                                            16
                                   Updated Technical Details (03/2010)
Sep 11 2001, 20:36:10 UTC                                                   Sep 11 2001, 21:38:55 UTC

                          Navigating Archived Resources



    SPACE




http://web.archive.org/web/20010911203610/http://         http://web.archive.org/web/20010911213855/
www.cnn.com/ archived resource for http://cnn.com                  www.cnn.com/TECH/space/


                                   Memento: Time Travel for the Web
                                                                          17
                                  Updated Technical Details (03/2010)
Current and Past Web are Not Integrated

                                               •  Current and Past Web
                                               based on same technology.

                                               •  But, going from Current to
                                               Past Web is a matter of
                                               (manual) discovery.

                                               •  Memento wants to make
                                               going from Current to Past
                                               Web a (HTTP) protocol
                                               matter.

                                               •  Memento wants to integrate
                                               Current And Past Web.




          Memento: Time Travel for the Web
                                                   18
         Updated Technical Details (03/2010)
The Memento Approach …




  Memento: Time Travel for the Web
                                       19
 Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/
Web_Archiving




                                    Memento: Time Travel for the Web
                                                                         20
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/
Web_Archiving
Oct 11 2009, 05:30:33 UTC




 Set browser time dial to …




                                    Memento: Time Travel for the Web
                                                                         21
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/                                             From Wikipedia History
Web_Archiving
Oct 11 2009, 05:30:33 UTC                                                 Oct 01 2009, 16:30:00 UTC




 Set browser time dial to …




                                    Memento: Time Travel for the Web
                                                                         22
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/                                                   From Wikipedia History
Web_Archiving
Oct 11 2009, 05:30:33 UTC                                                       Oct 01 2009, 16:30:00 UTC




 Set browser time dial to …




                                        Robots Exclusion Protocol        Oct 11 2009, 05:30:33 UTC




                                    Memento: Time Travel for the Web
                                                                               23
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/
Robots_exclusion_protocol
Oct 11 2009, 05:30:33 UTC




 Browser time dial still at …




                                    Memento: Time Travel for the Web
                                                                         24
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/                                             From Wikipedia History
Robots_exclusion_protocol
Oct 11 2009, 05:30:33 UTC                                                 Sep 15 2009, 20:49:00 UTC




 Browser time dial still at …




                                    Memento: Time Travel for the Web
                                                                         25
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://en.wikipedea.org/wiki/                                                   From Wikipedia History
Robots_exclusion_protocol
Oct 11 2009, 05:30:33 UTC                                                       Sep 15 2009, 20:49:00 UTC




 Browser time dial still at …




                                            Robots Exclusion             Oct 11 2009, 05:30:33 UTC




                                    Memento: Time Travel for the Web
                                                                               26
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://www.robotstxt.org/


Oct 11 2009, 05:30:33 UTC




 Browser time dial still at …




                                    Memento: Time Travel for the Web
                                                                         27
                                   Updated Technical Details (03/2010)
Navigate the Web of the Past

http://www.robotstxt.org/                                                 From Internet Archive


Oct 11 2009, 05:30:33 UTC                                                 Nov 09 2007, 06:21:04 UTC




 Browser time dial still at …




                                    Memento: Time Travel for the Web
                                                                         28
                                   Updated Technical Details (03/2010)
How does Memento achieve this?


There are two components to the Memento Solution:

•  Component 1: Navigation towards an archived
   resource via its original resource, by leveraging
   content negotiation.

•  Component 2: A discovery API for archives that
   allows requesting a list of all archived versions it
   holds for a resource with a given URI.



                   Memento: Time Travel for the Web
                                                        29
                  Updated Technical Details (03/2010)
How does Memento achieve this?




•  Component 1: Navigation towards an archived
   resource via its original resource, by leveraging
   content negotiation.




                  Memento: Time Travel for the Web
                                                       30
                 Updated Technical Details (03/2010)
The Web without a Time Dimension




       Memento: Time Travel for the Web
                                            31
      Updated Technical Details (03/2010)
The Web without a Time Dimension




       Memento: Time Travel for the Web
                                            32
      Updated Technical Details (03/2010)
The Web without a Time Dimension




Need to use a different URI to access archived versions of a resource and its current version

                               Memento: Time Travel for the Web
                                                                     33
                              Updated Technical Details (03/2010)
The Web with Time Dimension added by Memento




In Memento: use URI of the current version to access archived versions, but qualify it with datetime

                                  Memento: Time Travel for the Web
                                                                        34
                                 Updated Technical Details (03/2010)
The Web with Time Dimension added by Memento




        … and magically arrive at an archived version

               Memento: Time Travel for the Web
                                                    35
              Updated Technical Details (03/2010)
How does Memento achieve this?


In order to fully understand how Memento introduces
   a time dimension to the Web, we present a brief
   recap of Transparent Content Negotiation (conneg)
   in HTTP.

RFC 2295. Transparent Content Negotiation in HTTP,
  http://www.ietf.org/rfc/rfc2295.txt




                 Memento: Time Travel for the Web
                                                      36
                Updated Technical Details (03/2010)
HTTP GET on URI A




 Memento: Time Travel for the Web
                                      37
Updated Technical Details (03/2010)
GET with conneg on URI T – Server Choice – 302 Found – Step 1



                                                               transparently
                                                                 negotiable
                                                                  resource




                     Memento: Time Travel for the Web
                                                          38
                    Updated Technical Details (03/2010)
GET with conneg on URI T – Server Choice – 302 Found – Step 2




                     Memento: Time Travel for the Web
                                                          39
                    Updated Technical Details (03/2010)
GET with conneg on URI T – Server List – 406 Not Acceptable




                    Memento: Time Travel for the Web
                                                         40
                   Updated Technical Details (03/2010)
How does Memento do This?




•  Component 1: Navigation towards an archived
   resource via its original resource, by leveraging
   content negotiation.




                  Memento: Time Travel for the Web
                                                       41
                 Updated Technical Details (03/2010)
Terminology Intermission

We introduce the term Memento to refer to an
 archived version of a resource.



A Memento for a resource URI-R (as it existed)
   at time ti is a resource URI-Mi [URI-R@ti] for
   which the representation at any moment
   past its creation time tc is the same as the
   representation that was available from URI-
   R at time ti, with tc >= ti. Implicit in this
   definition is the notion that, once created, a
   Memento always keeps the same
   representation.



                          Memento: Time Travel for the Web
                                                               42
                         Updated Technical Details (03/2010)
DT-conneg: Content Negotiation in the datetime dimension

 •  RFC 2295 introduces conneg in the following dimensions: media type,
    language, compression, character set, e.g.:
         -  HTTP Request:
             o  Accept-Language: en-US

         o  HTTP Response:

             o  Content-Language: en-US




 •  Inspired by RFC 2295, Memento introduces datetime conneg:
         -  HTTP Request:
             o  Accept-Datetime: Mon, 12 Oct 2009 14:20:33

                GMT
        o    HTTP Response:
              o    Content-Datetime: Sun, 11 Oct 2009 11:18:05
                   GMT
                        Memento: Time Travel for the Web
                                                             43
                       Updated Technical Details (03/2010)
DT-conneg: Content Negotiation in the datetime dimension

 •  This means that somewhere, we will need transparently negotiable
    resources (cf. slides 38-40) that supports the datetime dimension to
    get to appropriate Mementos.

 •  This will be discussed for 2 classes of servers:
     o  Web servers without internal archival capabilities;

     o  Web servers with internal archival capabilities.




                       Memento: Time Travel for the Web
                                                            44
                      Updated Technical Details (03/2010)
Servers Without Internal Archival Capabilities

•  This type includes:
    o  Servers that are crawled by a web archive, such as the

       Internet Archive
    o  Servers with an associated transactional archive




•  These servers are not aware of the details of Mementos of their
   resources held by external archives.
•  These servers do not have the essential information (URI-Ms,
   and associated datetimes) to respond to a DT-conneg request.

•  But they can be constructive by pointing (HTTP Link) a client to
   an archive that can respond to the DT-conneg request.
    o  Unconditionally do this for resources for which Mementos are

       conceivably available in the archive.
                     Memento: Time Travel for the Web
                                                          45
                    Updated Technical Details (03/2010)
Oct 04 2009, 12:00:01 UTC




          current

                                                                          Oct 10 2009, 12:00:03 UTC




http://lanlsource.lanl.gov/
hello




                                                                          Oct 21 2009, 12:00:01 UTC
                                           http://mementoarchive.lanl.gov/store/ta/
                                           20091021120001/http://lanlsource.lanl.gov/hello


                               Memento: Time Travel for the Web
                                                                        46
                              Updated Technical Details (03/2010)
original
  resource                                                      Mementos




original server                          archival server

                   Memento: Time Travel for the Web
                                                           47
                  Updated Technical Details (03/2010)
DT-conneg with URI-G to get URI-M


   original
  resource                                                             Mementos

                  transparently                                          variant
                    negotiable                                         resources
                     resource




original server                              archival server

                       Memento: Time Travel for the Web
                                                               48
                      Updated Technical Details (03/2010)
HTTP
                                           DT-conneg with URI-G to get URI-M
                   Link

   original
  resource                                                                     Mementos

                          transparently                                          variant
                            negotiable                                         resources
                             resource




original server                                      archival server

                               Memento: Time Travel for the Web
                                                                       49
                              Updated Technical Details (03/2010)
Terminology Intermission

We introduce the term TimeGate to refer to a
 transparently negotiable resource that supports the
 datetime dimension.

A TimeGate for an original resource URI-R is a
   transparently negotiable resource URI-
   G[URI-R] for which all variant resources are
   Mementos URI-Mi[URI-R@ti] of the resource
   URI-R. Since multiple archives may host
   versions of URI-R, multiple TimeGates may
   exist for any given resource, i.e. one per
   archive.




                         Memento: Time Travel for the Web
                                                              50
                        Updated Technical Details (03/2010)
HTTP
                   Link                    DT-conneg with URI-G to get URI-M


   original
  resource                 TimeGate                                            Mementos

                          transparently                                          variant
                            negotiable                                         resources
                             resource




original server                                      archival server

                               Memento: Time Travel for the Web
                                                                       51
                              Updated Technical Details (03/2010)
How to redirect from Original Resource to its (external) TimeGate

    •  Q1: Which archive to HTTP Link to?

       o    The archive with the best coverage for the server at hand.
       o    Always redirect to an Aggregator (see slides 110-139)
       o    No redirection by server: client takes control, accessing its
            preferred TimeGate, bypassing Original Resource.

    •  Q2: What is the TimeGate URI-G for URI-R on the chosen
       archive?

       o    Convention for syntax of URI-G as function of URI-R.
             -  http://web.archive.org/web/timegate/http://cnn.com
       o    Always redirect to an Aggregator (see slides 110-139)

                           Memento: Time Travel for the Web
                                                                52
                          Updated Technical Details (03/2010)
Servers With Internal Archival Capabilities

•  This type includes:
    o  Content Management Systems

    o  Version Control Systems

    o  Servers that archive resource representations in the cloud

       and keep track of the URIs and datetimes of remotely
       archived resources.

•  These servers have all the essential information (URI-Ms, and
   associated datetimes) to respond to a DT-conneg request.

•  The previous architectural solution is maintained to enforce strict
   distinction between handling requests for current and past
   representations.


                      Memento: Time Travel for the Web
                                                           53
                     Updated Technical Details (03/2010)
Dec 20 2001, 4:51:00 UTC


                                                                         Dec 31 2004, 20:46:00 UTC
         current




http://en.wikipedia.org/wiki/
     September_11_attacks




                                                                         Dec 20 2008, 22:21:00 UTC

                                             http://en.wikipedia.org/w/index.php?
                                             title=September_11_attacks&oldid=259237305

                                 Memento: Time Travel for the Web
                                                                       54
                                Updated Technical Details (03/2010)
original
                                                       Mementos
resource




                       original server

             Memento: Time Travel for the Web
                                                  55
            Updated Technical Details (03/2010)
HTTP
             Link                     DT-conneg with URI-G to get URI-M


 original            TimeGate                                             Mementos
resource
                    transparently
                      negotiable
                       resource




                                                                            variant
                                                                          resources




                                    original server

                         Memento: Time Travel for the Web
                                                                56
                        Updated Technical Details (03/2010)
How to redirect from Original Resource to its (internal) TimeGate

    •  Q1: Which archive to HTTP Link to?

       o    No problem as the archive and the original server coincide:
            Original Resources, TimeGates, Mementos are on same server.

    •  Q2: What is the TimeGate URI-G for URI-R on the chosen archive?

       o    Can be internal convention for syntax of URI-G as function of
            URI-R.
             -  For example, MediaWiki:
             http://a.wiki.org/wiki/Special:TimeGate/http://a.wiki.org/wiki/the_title




                             Memento: Time Travel for the Web
                                                                  57
                            Updated Technical Details (03/2010)
HTTP Headers in Memento




   Memento: Time Travel for the Web
                                        58
  Updated Technical Details (03/2010)
The HTTP Headers used in Memento …

•  Define two new headers:
    –  request: Accept-Datetime:
    –  response: Content-Datetime:

•  Introduce new content for two existing headers:
    –  response: Vary: ; Link:

•  Use one existing headers without modification:
    –  response: Location:, TCN:




                     Memento: Time Travel for the Web
                                                          59
                    Updated Technical Details (03/2010)
HTTP Request Headers for DT-conneg

•  Accept-Datetime:
    o  Issued against TimeGate, (Original Resource), (Memento)

    o  Header content: desired datetime of Memento




  Accept-Datetime: Mon, 12 Oct 2009 14:20:33 GMT
                    Memento: Time Travel for the Web
                                                         60
                   Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

•  Content-Datetime:
    o  Returned by Mementos

         -  Even when not as a result of DT-conneg.
    o  Symmetrical with regular conneg e.g. Content-Type, Content-

       Language, …
    o  Header content: archival datetime of the Memento that is being

       returned.

•  Note: This header is crucial to allow a client to understand it has
   arrived at a Memento.




  Content-Datetime: Mon, 12 Oct 2009 14:20:33 GMT
                      Memento: Time Travel for the Web
                                                           61
                     Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

•  TCN:
    o  Returned by TimeGate

    o  Same use as in regular conneg

    o  Header content:

        -  Choice:
            –  302 response
            –  Chosen Memento in Location header
            –  Alternative Mementos listed in Link header
        -  List:
            –  406, 300 response
            –  Possible Mementos listed in Link header (and
               optionally in body as HTML)

                           TCN: choice
                    Memento: Time Travel for the Web
                                                         62
                   Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

•  Vary:
    o  Returned by TimeGate

    o  Similar to regular conneg

    o  Header content:

        -  negotiate, accept-datetime

•  Note: accept-datetime content in Vary header is crucial to
   allow a client to understand it has arrived at a TimeGate.




           Vary: negotiate, accept-datetime
                    Memento: Time Travel for the Web
                                                         63
                   Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

 •  Location:
     o  Returned by TimeGate

     o  Similar to regular conneg

     o  Header content: Location of Memento




Location: http://web.archive.org/web/20010911223004/
                   http://cnn.com
                     Memento: Time Travel for the Web
                                                          64
                    Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

•  Link:
    o  Returned by Original Resource, TimeGate and Mementos




                    Memento: Time Travel for the Web
                                                         65
                   Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

•  Link header content for Original Resource:
    o  Recommended: URI-G of TimeGate

        -  rel="timegate"




Link: <http://web.archive.org/web/timegate/http://
             cnn.com/>; rel="timegate"
                    Memento: Time Travel for the Web
                                                         66
                   Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

•  Link header content for TimeGate, Mementos:
    o  Required: URI-R of Original Resource

        -  rel="original" . Note: even when not as part of DT-conneg.
    o  Required: URI-M of first and last available Mementos; 

        -  rel="first-memento"; datetime="…" 
        -  rel="last-memento"; datetime="…"
    o  Recommended: URI-M of time-adjacent Mementos;

        -  rel="prev-memento"; datetime="…"
        -  rel="next-memento"; datetime="…"
    o  Recommended: URI-B of TimeBundle

        -  rel="timebundle"
    o  Optional: URI-M of other Mementos

        -  rel="memento"; datetime="…"

                     Memento: Time Travel for the Web
                                                          67
                    Updated Technical Details (03/2010)
HTTP Response Headers for DT-conneg

  •  Link header content for TimeGate, Mementos:

Link: <http://cnn.com/>; rel="original",
<http://web.archive.org/web/timebundle/http://cnn.com/>;
  rel="timebundle",
<http://web.archive.org/web/20000915112826/http://
www.cnn.com>; rel="first-memento"; datetime="Tue, 15 Sep 2000
11:28:26 GMT",
<http://web.archive.org/web/20080708093433/http://
www.cnn.com>; rel="last-memento"; datetime="Tue, 08 Jul 2008
09:34:33 GMT",
<http://web.archive.org/web/20010911203610/http://
www.cnn.com>; rel="prev-memento"; datetime="Tue, 11 Sep 2001
20:30:51 GMT",
<http://web.archive.org/web/20010911203610/http://
www.cnn.com>; rel="next-memento"; datetime="Tue, 11 Sep 2001
20:47:33 GMT"

                     Memento: Time Travel for the Web
                                                          68
                    Updated Technical Details (03/2010)
Two Memento HTTP Navigations




Details at http://www.mementoweb.org/guide/http/




            Memento: Time Travel for the Web
                                                 69
           Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Notes (1)




                    GET G, Accept-Datetime



•  Accept-Datetime header only essential when communication with
URI-G. Not necessary when communicating with URI-R, URI-M.

•  GET G can be optimized to HEAD G



                      Memento: Time Travel for the Web
                                                           71
                     Updated Technical Details (03/2010)
Memento HTTP Flow: Notes (2)




                                   LinkG



•  Link header pointing at URI-G only essential when server of URI-R has
its special-purpose of preferred archive(s) for its own resources.

•  If Link is missing, HTTP client can resort to its preferred TimeGates.



                         Memento: Time Travel for the Web
                                                              72
                        Updated Technical Details (03/2010)
Memento HTTP Flow: Notes (3)

Three aspects of the Memento HTTP flow ensure maximal leverage of
established Web caching infrastructure:

•  URI-R separate from URI-G: Coinciding URI-R and URI-G would cause
problems because caching regimes for regular resources and negotiable
resources are different.

•  Link header pointing from URI-R to URI-G (as opposed to HTTP 302
used in prior Memento design) allows for caching of responses from URI-R
(many thanks to Erik Hetzner of California Digital Library).

•  URI-G separate from URI-M: Allows for caching of Mementos.




                        Memento: Time Travel for the Web
                                                             73
                       Updated Technical Details (03/2010)
Two Memento HTTP Navigations




                            Scenario 1

•  cnn.com includes Link to TimeGate at Internet Archive
•  URI-R on one server, URI-G & URI-M on another




                   Memento: Time Travel for the Web
                                                        74
                  Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-R

                         HEAD R, Accept-Datetime


HEAD http://cnn.com/ HTTP/1.1
Host: cnn.com
Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  76
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-R

                                       LinkG


HTTP/1.1 200 OK
Date: Thu, 21 Jan 2010 00:02:12 GMT
Server: Apache
Link: <http://web.archive.org/web/timegate/http://cnn.com>; rel="timegate"
Content-Length: 255
Connection: close
Content-Type: text/html; charset=iso-8859-1




                             Memento: Time Travel for the Web
                                                                  78
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-G

                          GET G, Accept-Datetime


GET http://web.archive.org/web/timegate/http://cnn.com HTTP/1.1
Host: web.archive.org
Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  80
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-G

                        302M, Vary, LinkR,B,M

HTTP/1.1 302 Found
Date: Thu, 21 Jan 2010 00:06:50 GMT
Server: Apache
TCN: choice
Vary: negotiate, accept-datetime
Location: http://web.archive.org/web/20010911203610/http://www.cnn.com
Link: <http://cnn.com/>; rel="original",
 <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle",
 <http://web.archive.org/web/20000915112826/http://www.cnn.com>;
  rel="first- memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT",
 <http://web.archive.org/web/20080708093433/http://www.cnn.com>;
  rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT",
 <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
  rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT",
 <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
  rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT"
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=UTF-8

                                                            82
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-M

                          GET M, Accept-Datetime

GET http://web.archive.org/web/20010911203610/http://www.cnn.com HTTP/1.1
Host: web.archive.org
Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  84
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-M

                  200, Content-Datetime, LinkR,B,M

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Archive-Orig-Accept-Ranges: bytes
…
Content-Type: text/html;charset=utf-8
Content-Length: 23364
Date: Thu, 21 Jan 2010 00:09:40 GMT
Content-Datetime: Tue, 11 Sep 2001 20:36:10 GMT
Link: <http://cnn.com/>; rel="original",
  <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle",
  <http://web.archive.org/web/20000915112826/http://www.cnn.com>;
   rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT",
  <http://web.archive.org/web/20080708093433/http://www.cnn.com>;
   rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT",
  <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
   rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT",
  <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
   rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT"
Connection: close
Two Memento HTTP Navigations




                            Scenario 2

•  wikipedia.org natively supports Memento
•  URI-R, URI-G & URI-M on one server




                   Memento: Time Travel for the Web
                                                        87
                  Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-R

                         HEAD R, Accept-Datetime


HEAD /wiki/DJ_Shadow HTTP/1.1
Host: en.wikipedia.org
Accept-Datetime: Thu, 05 Nov 2009 00:00:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  89
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-R

                                       LinkG


HTTP/1.1 200 OK
Date: Thu, 21 Jan 2010 00:02:12 GMT
Server: Apache
Link:
 <http://en.wikipedia.org/Special:TimeGate/http://en.wikipedia.org/wiki/DJ_Shadow>;
  rel="timegate"
Content-Length: 1462
Connection: close
Content-Type: text/plain; charset=UTF-8




                             Memento: Time Travel for the Web
                                                                  91
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-G

                          GET G, Accept-Datetime


GET /Special:TimeGate/http://en.wikipedia.org/wiki/DJ_Shadow HTTP/1.1
Host: en.wikipedia.org
Accept-Datetime: Thu, 05 Nov 2009 00:00:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  93
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-G

                    302M, Vary, TCN, LinkR,B,M

HTTP/1.1 302 Found
Date: Thu, 21 Jan 2010 00:06:50 GMT
Server: Apache
TCN: choice
Vary: negotiate, accept-datetime
Location: http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=324178040
Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/
DJ_Shadow>; rel="timebundle",
 <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>;
  rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>;
  rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=322586071>;
  rel="prev-memento"; datetime="Wed, 28 Oct 2009 14:307:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=326164283> ;
  rel="next-memento"; datetime="Thu, 26 Nov 2009 23:50:00 GMT"
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=UTF-8
                                                            95
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-M

                          GET M, Accept-Datetime

GET /w/index.php?title=DJ_Shadow&oldid=324178040 HTTP/1.1
Host: en.wikipedia.org
Accept-Datetime: Thu, 05 Nov 2009 00:00:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  97
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


             LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-M

                  200, Content-Datetime, LinkR,B,M

HTTP/1.1 200 OK
Server: Apache
Content-Length: 82705
Content-Type: text/html; charset=utf-8
Date: Thu, 21 Jan 2010 00:09:40 GMT
Content-Datetime: Thu, 05 Nov 2009 23:41:00 GMT
Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/
DJ_Shadow>; rel="timebundle",
 <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>;
  rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>;
  rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=322586071>;
  rel="prev-memento"; datetime="Wed, 28 Oct 2009 14:307:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=326164283> ;
  rel="next-memento"; datetime="Thu, 26 Nov 2009 23:50:00 GMT"
Connection: close



                                                            99
Memento HTTP Navigations involving codes other than 200, 302




                    Memento: Time Travel for the Web
                                                         100
                   Updated Technical Details (03/2010)
300 Multiple Choices
•  Two scenarios that generate a 300 at the TimeGate:
    –  A client requests a 300 using the "Negotiate: 1.0" request header
    –  An archive has two or more Mementos with the same Datetime (HTTP
       only supports second-level granularity)
HTTP/1.1 300 Multiple Choices
Server: Apache
Content-Length: 705
Content-Type: text/html; charset=utf-8
Date: Thu, 21 Jan 2010 00:09:40 GMT
TCN: list
Vary: negotiate, accept-datetime
Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/
DJ_Shadow>; rel="timebundle",
 <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>;
  rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>;
  rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=322586071>;
  rel=”memento"; datetime="Sun, 31 May 2009 15:43:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=326164283> ;
  rel=”memento"; datetime="Sun, 31 May 2009 15:43:00 GMT"
Connection: close                                           101
406 Not Acceptable
•  A client request for a Memento with a datetime outside the first and
   last values will generate a 406
•  For example a request in Wikipedia with:
         Accept-DateTime: Mon, 31 May 1999 00:00:00 GMT




HTTP/1.1 406 Not Acceptable
Server: Apache
Content-Length: 709
Content-Type: text/html; charset=utf-8
Date: Thu, 21 Jan 2010 00:09:40 GMT
Vary: negotiate, accept-datetime
TCN: list
Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/
DJ_Shadow>; rel="timebundle",
 <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>;
  rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT",
 <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>;
  rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT",
Connection: close                                           102
The Web with Time Dimension added by Memento




             Memento: Time Travel for the Web
                                                  103
            Updated Technical Details (03/2010)
How does Memento do This?


There are two components to the Memento Solution:

•  Component 1: Navigation towards an archived
   resource via its original resource, by leveraging
                                               Done
   content negotiation.

•  Component 2: A discovery API for archives that
   allows requesting a list of all archived versions it
   holds for a resource with a given URI.



                   Memento: Time Travel for the Web
                                                        104
                  Updated Technical Details (03/2010)
How does Memento do This?




•  Component 2: A discovery API for archives that
   allows requesting a list of all archived versions it
   holds for a resource with a given URI.



                   Memento: Time Travel for the Web
                                                        105
                  Updated Technical Details (03/2010)
Why an API?

•  Mementos for any given
   URI-R are distributed
   across archives.

•  In order to get a correct
   perspective of available
   Mementos, different
   archives need to be
   consulted.

•  Can do so in distributed
   consultation mode
   (slooow), or by
   consulting an
   aggregator.
Terminology Intermission

We introduce the term TimeBundle to refer to a
 resource via which an overview of all Mementos for
 an original resource URI-R is available.

A TimeBundle for a resource URI-R, is a
   resource URI-B[URI-R] that is an
   aggregation of:

(a)  All Mementos URI-Mi [URI-R@ti] available
     from an archive,
(b)  The archive's TimeGate URI-G for URI-R,
(c)  The original resource URI-R itself.




                         Memento: Time Travel for the Web
                                                              107
                        Updated Technical Details (03/2010)
URI-
                             M1




                             URI-
  URI-R                      M2




                             URI-
                             M3




 Original
                         Memento
resource




             Memento: Time Travel for the Web
                                                  108
            Updated Technical Details (03/2010)
HTTP LINK HEADER
               timegate

                                                       URI-
                                                       M1



                                         DT-conneg     URI-
  URI-R                      URI-G                     M2




                                                       URI-
                                                       M3




 Original
                       TimeGate                      Memento
resource



  Memento DT-conneg component




                                      Memento: Time Travel for the Web
                                                                           109
                                     Updated Technical Details (03/2010)
See OAI-ORE: http://www.openarchives.org/ore/1.0/toc/




                                                       ore:aggregates
                                             URI-
                                             M1

                                                     ore:aggregates

                                             URI-
  URI-R            URI-G                     M2                         URI-B
                                                      ore:aggregates


                                             URI-
                       ore:aggregates        M3




                                    ore:aggregates

 Original
                TimeGate                 Memento                  TimeBundle
resource



  Memento DT-conneg component




                            Memento: Time Travel for the Web
                                                                                110
                           Updated Technical Details (03/2010)
HTTP LINK HEADER
                                      timebundle
                                                       ore:aggregates
                                                                                             TimeMap
                                             URI-
                                             M1

                                                     ore:aggregates
                                                                                      HTTP
                                             URI-                                      303
  URI-R            URI-G                     M2                         URI-B                    URI-T
                                                      ore:aggregates


                                             URI-
                       ore:aggregates        M3




                                    ore:aggregates

 Original
                TimeGate                 Memento                  TimeBundle                  TimeMap
resource



  Memento DT-conneg component                            Memento discovery component




                            Memento: Time Travel for the Web
                                                                                111
                           Updated Technical Details (03/2010)
The Aggregator: A Service using the TimeBundle API




               Memento: Time Travel for the Web
                                                    112
              Updated Technical Details (03/2010)
TimeBundle API: For Discovery, Cross-Archive Services

•  Archive uses common approaches to make TimeBundles/
   TimeMaps discoverable:
    o  SiteMaps,

    o  Atom Feeds,

    o  OAI-PMH.




•  Aggregator harvests and merges TimeMaps. Based on this
   information, the Aggregator exposes its own TimeGates.
    o  Cross-archive

    o  Finer datetime granularity

    o  Better chances of matching a client’s datetime preference.

    o  Can become a shared target for redirection for many web

       servers.


                     Memento: Time Travel for the Web
                                                          113
                    Updated Technical Details (03/2010)
Aggregatorusing TimeBundle API
               Aggregator Conceptualization


                Accept-Datetime

                                   Original           TimeMap
                       HTTP LINK
                    rel="timegate" server




                                                      TimeMap



                                    Aggregator
                       datetime
     browser            content                       TimeMap
                      negotiation



HTTP LINK rel="original"
HTTP Link rel="timegate"
    Content-Datetime
                                    Memento                           TimeMap
                                     server                            servers



                       Memento: Time Travel for the Web
                                                                114
                      Updated Technical Details (03/2010)
Two Memento HTTP Navigations involving an Aggregator




                 Memento: Time Travel for the Web
                                                      115
                Updated Technical Details (03/2010)
A Memento HTTP Navigation involving an Aggregator




                            Scenario 3

•  www.digitalpreservation.gov points at TimeGate provided by
an Aggregator
•  URI-R, URI-G, URI-M on different servers




                   Memento: Time Travel for the Web
                                                        116
                  Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


            LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-R

                         HEAD R, Accept-Datetime


HEAD / HTTP/1.1
Host: www.digitalpreservation.gov
Accept-Datetime: Sat, 10 Oct 2009 00:00:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  118
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


            LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-R

                                       LinkG


HTTP/1.1 200 OK
Date: Thu, 21 Jan 2010 00:02:12 GMT
Server: Apache
Link:
 <http://mementoproxy.lanl.gov/aggr/timegate/http://www.digitalpreservation.gov/> ;
   rel="timegate"
Content-Length: 255
Connection: close
Content-Type: text/html; charset=iso-8859-1




                             Memento: Time Travel for the Web
                                                                  120
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


            LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-G

                          GET G, Accept-Datetime


GET /aggr/timegate/http://www.digitalpreservation.gov/ HTTP/1.1
Host: mementoproxy.lanl.gov
Accept-Datetime: Sat, 10 Oct 2009 00:00:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  122
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


            LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-G

                        302M, Vary, LinkR,B,M

HTTP/1.1 302 Found
Date: Thu, 21 Jan 2010 00:06:50 GMT
Server: Apache
TCN: choice
Vary: negotiate, accept-datetime
Location: http://wayback.archive-it.org/1610/20090928171405/http://
 www.digitalpreservation.gov/
Link: <http://www.digitalpreservation.gov/>; rel="original",
 <http://mementoproxy.lanl.gov/aggr/timebundle/http://www.digitalpreservation.gov/>;
  rel="timebundle",
 <http://wayback.archive
 -it.org/256/20051108162921/http://www.digitalpreservation.gov/>;
  rel="first-memento"; datetime="Tue, 08 Nov 2005 00:00:00 GMT",
 <http://webcitation.org/query?id=1257028234035091>;
  rel="next-memento"; datetime="Sat, 31 Oct 2009 18:30:35 GMT",
 <http://webcitation.org/query?id=1213058061345794>;
  rel="prev-memento"; datetime="Mon, 09 Jun 2008 20:34:23 GMT",
 <http://wayback.archive
 -it.org/256/20100120102000/http://www.digitalpreservation.gov/>;
  rel="last-memento"; datetime="Wed, 20 Jan 2010 10:20:00 GMT"
Content-Length: 0
Connection: close
Memento HTTP Flow

     HEAD R, Accept-Datetime


            LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-M

                          GET M, Accept-Datetime

GET /1610/20090928171405/http://www.digitalpreservation.gov/ HTTP/1.1
Host: wayback.archive-it.org
Accept-Datetime: Sat, 10 Oct 2009 00:00:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  126
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


            LinkG


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-M

                  200, Content-Datetime, LinkR,B,M

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1                            Link header values are local
X-Archive-Orig-Accept-Ranges: bytes
…                                                    to wayback.archive-it.org
Content-Type: text/html;charset=utf-8                and different than those
Content-Length: 23364                                provided by URI-G
Date: Thu, 21 Jan 2010 00:09:40 GMT
Content-Datetime: Mon, 28 Sep 2009 17:14:05 GMT
Link: <http://www.digitalpreservation.gov/>; rel="original",
  <http://wayback.archive-it.org/web/timebundle/http://www.digitalpreservation.gov/>;
   rel="timebundle",
  <http://wayback.archive
  -it.org/256/20051108162921/http://www.digitalpreservation.gov/>;
   rel="first-memento"; datetime="Tue, 08 Nov 2005 00:00:00 GMT",
  <http://wayback.archive
  -it.org/256/20100120102000/http://www.digitalpreservation.gov/>;
   rel="last-memento"; datetime="Wed, 20 Jan 2010 10:20:00 GMT"
Connection: close


                             Memento: Time Travel for the Web
                                                                  128
                            Updated Technical Details (03/2010)
A Memento HTTP Navigation involving an Aggregator




                              Scenario 4

•  cnn.com does not include a Link to a TimeGate
•  client takes control by directly contacting its preferred
Aggregator
•  URI-R, URI-G, URI-M on different servers




                     Memento: Time Travel for the Web
                                                          129
                    Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


              200


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-R

                         HEAD R, Accept-Datetime


HEAD http://cnn.com/ HTTP/1.1
Host: cnn.com
Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  131
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


              200


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: No Success – URI-R

                                          200


HTTP/1.1 200 OK
Date: Thu, 21 Jan 2010 00:02:12 GMT
Server: Apache
Content-Length: 255
Connection: close
Content-Type: text/html; charset=iso-8859-1




                             Memento: Time Travel for the Web
                                                                  133
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


              200


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-G

                          GET G, Accept-Datetime


GET /aggr/timegate/http://cnn.com/ HTTP/1.1
Host: mementoproxy.lanl.gov
Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  135
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


              200


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-G

                        302M, Vary, LinkR,B,M

HTTP/1.1 302 Found
Date: Thu, 21 Jan 2010 00:06:50 GMT
Server: Apache
TCN: choice
Vary: negotiate, accept-datetime
Location: http://web.archive.org/web/20010911203610/http://www.cnn.com
Link: <http://cnn.com/>; rel="original",
 <http://mementoproxy.lanl.gov/aggr/timebundle/http://cnn.com/>; rel="timebundle",
 <http://web.archive.org/web/20000915112826/http://www.cnn.com>;
  rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT",
 <http://archive-it.org/2245/20100310102000/http://www.cnn.com>;
  rel="last-memento"; datetime="Wed, 10 Mar 2010 10:20:00 GMT",
 <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
  rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT",
 <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
  rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT"
Content-Length: 0
Connection: close
Content-Type: text/plain; charset=UTF-8

                                                            137
Memento HTTP Flow

     HEAD R, Accept-Datetime


              200


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: URI-M

                          GET M, Accept-Datetime

GET http://web.archive.org/web/20010911203610/http://www.cnn.com HTTP/1.1
Host: web.archive.org
Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT
Connection: close




                             Memento: Time Travel for the Web
                                                                  139
                            Updated Technical Details (03/2010)
Memento HTTP Flow

     HEAD R, Accept-Datetime


              200


     GET G, Accept-Datetime


 302M, Vary, TCN, LinkR,B,M


     GET M, Accept-Datetime


200, Content-Datetime, LinkR,B,M
Memento HTTP Flow: Success – URI-M

                  200, Content-Datetime, LinkR,B,M

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1                            note: Link header values   are
X-Archive-Orig-Accept-Ranges: bytes
…                                                    local to web.archive.org
Content-Type: text/html;charset=utf-8                and different than those
Content-Length: 23364                                provided by URI-G
Date: Thu, 21 Jan 2010 00:09:40 GMT
Content-Datetime: Tue, 11 Sep 2001 20:36:10 GMT
Link: <http://cnn.com/>; rel="original",
  <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle",
  <http://web.archive.org/web/20000915112826/http://www.cnn.com>;
   rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT",
  <http://web.archive.org/web/20080708093433/http://www.cnn.com>;
   rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT",
  <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
   rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT",
  <http://web.archive.org/web/20010911203610/http://www.cnn.com>;
   rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT"
Connection: close

                                                             141
The Memento Profile of OAI-ORE




      Memento: Time Travel for the Web
                                           142
     Updated Technical Details (03/2010)
Memento Profile of OAI-ORE



                                                     URI-G    TimeGate      ORE Aggregated Resource



                           ore:aggregates
                                                     URI-R
                                                                Original    ORE Aggregated Resource
                                  ore:aggregates               resource
         ore:describes
                                    ore:aggregates
                                                     URI-
 URI-T                    URI-B                      M1       Memento       ORE Aggregated Resource


                                   ore:aggregates

                                                     URI-
TimeMap                  TimeBundle                  M2       Memento       ORE Aggregated Resource


ORE Resource Map         ORE Aggregation




                                       Memento: Time Travel for the Web
                                                                              143
                                      Updated Technical Details (03/2010)
Information in the TimeMap about the TimeGate


•  Coverage Period the TimeGate has Mementos for
        Predicate:      mem:covers
        Object:         mem:TimeSpan

•  Which Original Resource it is a TimeGate for
        Predicate:      mem:timeGateFor
        Object:         mem:OriginalResource


•  TimeSpan Class:
     •  mem:start       datestamp
     •  mem:end         datestamp




                          Memento: Time Travel for the Web
                                                               144
                         Updated Technical Details (03/2010)
Information in the TimeMap about the TimeGate



                                                           mem:covers
                                                 URI-G

                                                                          mem:start
                                                  mem:timeGateFor                     datetime
                         ore:aggregates
                                                 URI-R

                                ore:aggregates
        ore:describes                                                                 datetime
                                                                           mem:end
                                                 URI-
URI-T                   URI-B                    M1

                                ore:aggregates




                                    Memento: Time Travel for the Web
                                                                         145
                                   Updated Technical Details (03/2010)
Information in the TimeMap about Mementos


•  The representation's mime-type:
                  dc:format
•  The representation's byte size:
                  dc:extent
•  Over what period was the representation observed as the current
representation of the Original Resource::
                  Predicate:        mem:observedOver
                  Object:           mem:TimeSpan
•  Or over what period was the representation known to be active as the
current representation of the Original Resource:
                  Predicate:        mem:validOver
                  Object:           mem:TimeSpan
•  The number of observations of the representation in the given time period:
                  mem:observations integer
•  Any further information that is available about Mementos

                          Memento: Time Travel for the Web
                                                               146
                         Updated Technical Details (03/2010)
Information in the TimeMap about Mementos



                                                                                                  integer
                                                 URI-G                       mem:observations


                                                                                      mem:start   datetime
                         ore:aggregates
                                                 URI-R

                                ore:aggregates
                                                           mem:
        ore:describes                                                                             datetime
                                                         mementoFor                    mem:end

                                                 URI-
URI-T                   URI-B                    M1
                                                               mem:
                                ore:aggregates             observedOver
                                                                                                  integer
                                                                          dc:extent


                                                                          dc:format
                                                                                                   string




                                    Memento: Time Travel for the Web
                                                                                 147
                                   Updated Technical Details (03/2010)
Memento Ontology: Classes



•  TimeMap              SubClassOf           ore:ResourceMap

•  TimeBundle           SubClassOf           ore:Aggregation

•  OriginalResource     SubClassOf           gen:TimeGenericResource

•  TimeGate             SubClassOf           irw:WebResource

•  Memento              SubClassOf           gen:TimeSpecificResource

•  TimeSpan             Typed Blank Node




                          Memento: Time Travel for the Web
                                                               148
                         Updated Technical Details (03/2010)
Memento Ontology: Relationships



•  timeGateFor        subject: TimeGate                      object: OriginalResource

•  hasTimeGate        subject: OriginalResource object: TimeGate

•  mementoFor         subject: Memento                       object: OriginalResource

•  covers             subject: TimeGate                      object: TimeSpan

•  observedOver       subject: Memento                       object: TimeSpan

•  validOver          subject: Memento                       object: TimeSpan




                        Memento: Time Travel for the Web
                                                                  149
                       Updated Technical Details (03/2010)
Memento Ontology: Properties



•  start             subject: TimeSpan                type: datestamp

•  end               subject: TimeSpan                type: datestamp

•  observations      subject: TimeSpan                type: integer




                       Memento: Time Travel for the Web
                                                              150
                      Updated Technical Details (03/2010)
Ontologies



Memento - mem: http://www.mementoweb.org/terms/tb/

Generic/Specific Resource – gen: http://www.w3.org/2006/gen/ont

Identity of Resource on the Web – irw:
http://ontologydesignpatterns.org/ont/web/irw.owl

Object Reuse & Exchange – ore: http://www.openarchives.org/ore/terms/

Dublin Core – dc: http://purl.org/dc/elements/1.1/




                           Memento: Time Travel for the Web
                                                                151
                          Updated Technical Details (03/2010)
Sample TimeMap in RDF/XML

<rdf:RDF>
  <mem:TimeMap
      rdf:about="http://mementoproxy.lanl.gov/ia/timemap/rdf/http://www.archive.org/">
  <ore:describes>
     <mem:TimeBundle
         rdf:about="http://mementoproxy.lanl.gov/ia/timebundle/http://www.archive.org/">
        <ore:aggregates>
           <mem:OriginalResource rdf:about="http://www.archive.org/"/>
        </ore:aggregates>
        <ore:aggregates>
           <mem:TimeGate
             rdf:about="http://mementoproxy.lanl.gov/ia/timegate/http://www.archive.org/">
              <mem:timeGateFor rdf:resource="http://www.archive.org/"/>
              <mem:covers>
                 <mem:TimeSpan>
                    <mem:start>1999-10-11T06:44:03 GMT</mem:start>
                    <mem:end>2008-07-19T08:52:28 GMT</mem:end>
                  </mem:TimeSpan>
               </mem:covers>
            </mem:TimeGate>
         </ore:aggregates>
        <ore:aggregates
           rdf:resource="http://web.archive.org/web/19971011064403/http://www.archive.org/"/>
                                                      …
                                                                                 152
How does Memento do This?


There are two components to the Memento Solution:

•  Component 1: Navigation towards an archived
   resource via its original resource, by leveraging
                                               Done
   content negotiation.

•  Component 2: A discovery API for archives that
   allows requesting a list of all archived versions it
                                                Done
   holds for a resource with a given URI.



                   Memento: Time Travel for the Web
                                                        153
                  Updated Technical Details (03/2010)
Memento in a non-Memento Web …




      Memento: Time Travel for the Web
                                           154
     Updated Technical Details (03/2010)
Memento and Client Development

•  Browser plug-in must use different HTTP request/response cycle
   when in time travel mode.

•  Browser plug-in needs to be more or less aware of its state in the
   chain Original Resource => TimeGate => Memento

•  Interesting user interface challenges, among others related to
   time-distribution of Mementos embedded in encompassing
   Memento, e.g. images in HTML page.




                      Memento: Time Travel for the Web
                                                           155
                     Updated Technical Details (03/2010)
Memento and Web Archives

•  Web Archives rewrite URLs in archived pages, in order to avoid:

    o    Serving current representations of embedded resources;
    o    Linking to current representations of resources

•  The upside: Archived pages are self-contained.

•  The downside:
    o  Cannot navigate beyond the archive’s content;

    o  Other servers (archives or original) may have appropriate

       version of (missing) embedded or linked resource.

•  Memento does not require URL-rewriting.

                       Memento: Time Travel for the Web
                                                            156
                      Updated Technical Details (03/2010)
BBC home page from Internet Archive; URL rewriting




               Memento: Time Travel for the Web
                                                    157
              Updated Technical Details (03/2010)
Embedded & linked resources still available at BBC site




                 Memento: Time Travel for the Web
                                                      158
                Updated Technical Details (03/2010)
BBC home page from Internet Archive; no URL-rewriting




                 Memento: Time Travel for the Web
                                                      159
                Updated Technical Details (03/2010)
Standardization

•  Link relationships original, timegate, timebundle,
   memento, first-memento, last-memento, prev-memento,
   next-memento will be registered as per upcoming HTTP Link
   header RFC.

•  Headers Accept-Datetime, Content-Datetime will be registered
   in the provisional registry for Message Header Fields as per RFC
   3864.

•  A process will be initiated aimed at publishing an RFC specifying the
   Memento solution.

•  TimeGate URI syntax convention for Web archives will be discussed
   in the context of International Internet Preservation Consortium.

                     Memento: Time Travel for the Web
                                                          160
                    Updated Technical Details (03/2010)
Towards Acceptance …




 Memento: Time Travel for the Web
                                      161
Updated Technical Details (03/2010)
Towards Acceptance: Hyping




    Memento: Time Travel for the Web
                                         162
   Updated Technical Details (03/2010)
Towards Acceptance: Discussing



                              http://efoundations.typepad.com/
                            efoundations/2009/11/memento-and-
                                   negotiating-on-time.html

                          Is the Memento proposal OK from the
                        perspective of the Architecture of the World
                                  Wide Web, and REST?

                            Resulted in some adjustments to the
                                   proposed framework.




      Memento: Time Travel for the Web
                                           163
     Updated Technical Details (03/2010)
Towards Acceptance: Discussing


                            http://www.mementoweb.org/events/
                                        IA201002/

                        Two day discussion with Internet Archive,
                        California Digital Library, LoCKSS, Library
                               of Congress about Memento.

                            Resulted in some adjustments to the
                                   proposed framework.

                        Resulted in commitment by all represented
                        archives to deploy experimental Memento
                                         support.




      Memento: Time Travel for the Web
                                           164
     Updated Technical Details (03/2010)
Towards Acceptance: Discussing




                        http://groups.google.com/group/memento-
                                           dev

                             Discussion list regarding Memento

                            Resulted in some adjustments to the
                                   proposed framework.




      Memento: Time Travel for the Web
                                           165
     Updated Technical Details (03/2010)
Towards Acceptance: Thinking




                            http://www.open.ac.uk/blogs/telstar/
                             2009/11/24/the-when-of-the-web/

                          Use Memento to go from formal citation
                             of Web page (URL, datetime) to
                          appropriate archival version of the Web
                                           page.




     Memento: Time Travel for the Web
                                          166
    Updated Technical Details (03/2010)
Towards Acceptance: Developing

•  Apache plug-in rule that adds Link header to TimeGate on HTTP
   HEAD/GET requests to Original Resources.
   •  http://mementoweb.org/tools/apache

•  Memento plug-in for the MediaWiki platform.
    o  http://www.mediawiki.org/wiki/Extension:Memento

    o  Working towards community acceptance.

    o  Started similar process for Drupal.




                    Memento: Time Travel for the Web
                                                         167
                   Updated Technical Details (03/2010)
Towards Acceptance: Developing

•  Created demonstration client:
    o  FireFox plug-in: http://www.mementoweb.org/tools/ (many

       thanks to Sam Adams, Cambridge University)
    o  Currently working on plug-in for Internet Explorer




                    Memento: Time Travel for the Web
                                                         168
                   Updated Technical Details (03/2010)
Towards Acceptance: Ongoing

•  JISC funded developer contest for the creation of Memento-
   based prototype demonstrators: http://wiki.2010.dev8d.org/w/
   Talk_5

•  The Memento Team will engage in a funded, collaborative
   agreement with the Library of Congress for:
    o  Standardization (I-D => RFC).

    o  Outreach.

    o  Research.

    o  Software development.




                     Memento: Time Travel for the Web
                                                          169
                    Updated Technical Details (03/2010)
Some Interesting Consequences of Memento …




            Memento: Time Travel for the Web
                                                 170
           Updated Technical Details (03/2010)
Memento and Resource Persistence (1)

•  URI-R vanishes, but the server that used to serve it is still
   operational:

    o    The server should still include a HTTP Link header with
         rel="timegate" pointing at a TimeGate for URI-R,
         irrespective of whether the client issues a DT-conneg request
         or not. This allows seamless access to a Memento of URI-R,
         even if the server no longer hosts the original.
    o    If the server does not include a HTTP Link header pointing
         at a TimeGate for URI-R, the client resorts to interaction with
         archives (or with an Aggregator) and arrives at the most
         recent Memento of the resource.




                        Memento: Time Travel for the Web
                                                             171
                       Updated Technical Details (03/2010)
Memento and Resource Persistence (2)

•  A domain vanishes:

   o    The client is looking for a current representation of URI-R that
        was hosted by the domain, but fails.
   o    The client resorts to interaction with archives (or with an
        Aggregator) and arrives at the most recent Memento of the
        resource.




                       Memento: Time Travel for the Web
                                                            172
                      Updated Technical Details (03/2010)
Memento and Resource Persistence (3)

•  A domain is taken over by a new custodian:

   o    The new custodian adheres to other policies regarding which
        archive to redirect a DT-conneg request.
   o    The client understands from the first-memento/last-
        memento HTTP Link header of that archive of choice, that
        it does not cover the time range in which the previous
        custodian operated the domain.
   o    The client resorts to interaction with other archives (or with an
        Aggregator) and arrives at an appropriate Memento.




                       Memento: Time Travel for the Web
                                                            173
                      Updated Technical Details (03/2010)
Memento and Resource Versioning (1)


Resource state may evolve over time. Requiring a
  URI owner to publish a new URI for each change in
  resource state would lead to a significant number
  of broken references. For robustness, Web
  architecture promotes independence between an
  identifier and the state of the identified resource.

From: The Architecture of the World Wide Web, http://
  www.w3.org/TR/webarch/



                  Memento: Time Travel for the Web
                                                       174
                 Updated Technical Details (03/2010)
Memento and Resource Versioning (2)


But there are many use cases that require resource
  versioning, including community-based content
  creation, scientific communication, open
  government, etc.

How does resource versioning work currently? How
  can it work in a Memento Web?




      Paper at http://arxiv.org/abs/1003.3661
                 Memento: Time Travel for the Web
                                                      175
                Updated Technical Details (03/2010)
Current Resource Versioning (3)



                                     •  Version Identification: HTTP
                                     URIs

                                     •  Versioning Strategy: new
                                     URI for new version

                                     •  Version Relationships: RDF
                                     or HTTP Links

                                     •  Version Datetime: RDF




      Memento: Time Travel for the Web
                                            176
     Updated Technical Details (03/2010)
Memento and Resource Versioning (4)

                                       •  Version Identification: HTTP
                                       URIs

                                       •  Versioning Strategy: stable ,
                                       cool URI for "current" version;
                                       new URI for old version

                                       •  Version Relationships:
                                       HTTP Links, HTTP datetime
                                       conneg

                                       •  Version Datetime: HTTP
                                       Content-Datetime response
                                       header


        Memento: Time Travel for the Web
                                              177
       Updated Technical Details (03/2010)
Memento and Non-Information Resources (1)


                                             Current
                                            description
                                             of URI-R


                                 HTTP
Non-Information       URI-R       303            URI-S
                                                          Information
   resource                                                resource




Paper at http://arxiv.org/abs/1003.3661
               Memento: Time Travel for the Web
                                                          178
              Updated Technical Details (03/2010)
Memento and Non-Information Resources (2)


                                             Current
                                            description
                                             of URI-R


                                 HTTP
Non-Information       URI-R       303            URI-S
                                                          Information
   resource                                                resource


         HTTP LINK HEADER                      Past
              timegate                      Description
                                             of URI-R




                                DT-conneg
  TimeGate            URI-G                      URI-M    Memento




               Memento: Time Travel for the Web
                                                          179
              Updated Technical Details (03/2010)
Memento and Non-Information Resources (3)

•  DBpedia subject URI e.g. http://dbpedia.org/resource/France
   leads to current description of the subject.
•  Archive of prior descriptions of DBpedia subject URIs
   implemented at LANL:
    o  Archive exposes a TimeGate per DBpedia subject URI e.g.

        http://mementoarchive.lanl.gov/dbpedia/timegate/http://
        dbpedia.org/resource/France
    o  These TimeGates support DT-conneg.

•  DBpedia provides HTTP Link header with rel="timegate"
   pointing at these TimeGates.
•  Result: Clients can access current and prior descriptions using
   "follow your nose" HTTP navigation.
•  Proof-of-Concept: "follow your nose" time-series analysis across
   DBpedia versions.

                     Memento: Time Travel for the Web
                                                          180
                    Updated Technical Details (03/2010)
Memento and Non-Information Resources (4)




   Time-Series analysis across DBpedia versions
             Memento: Time Travel for the Web
                                                  181
            Updated Technical Details (03/2010)
Memento and Time-Persistent Web Annotations




  Paper at http://arxiv.org/abs/1003.2643
            Memento: Time Travel for the Web
                                                 182
           Updated Technical Details (03/2010)
Memento wants to make navigating the Web’s Past Easy




               http://www.mementoweb.org
     http://groups.google.com/group/memento-dev
                 Memento: Time Travel for the Web
                                                      183
                Updated Technical Details (03/2010)

Mais conteúdo relacionado

Mais de Herbert Van de Sompel

The web is rotting and what to do about it
The web is rotting and what to do about itThe web is rotting and what to do about it
The web is rotting and what to do about itHerbert Van de Sompel
 
Researcher Pod: Scholarly Communication Using the Decentralized Web
Researcher Pod: Scholarly Communication Using the Decentralized WebResearcher Pod: Scholarly Communication Using the Decentralized Web
Researcher Pod: Scholarly Communication Using the Decentralized WebHerbert Van de Sompel
 
Persistent Identification: Easier Said than Done
Persistent Identification: Easier Said than DonePersistent Identification: Easier Said than Done
Persistent Identification: Easier Said than DoneHerbert Van de Sompel
 
FAIR Signposting: A KISS Approach to a Burning Issue
FAIR Signposting: A KISS Approach to a Burning IssueFAIR Signposting: A KISS Approach to a Burning Issue
FAIR Signposting: A KISS Approach to a Burning IssueHerbert Van de Sompel
 
Registration / Certification Interoperability Architecture (overlay peer-review)
Registration / Certification Interoperability Architecture (overlay peer-review)Registration / Certification Interoperability Architecture (overlay peer-review)
Registration / Certification Interoperability Architecture (overlay peer-review)Herbert Van de Sompel
 
Collecting the organizational scholarly record
Collecting the organizational scholarly recordCollecting the organizational scholarly record
Collecting the organizational scholarly recordHerbert Van de Sompel
 
Achieving Link Integrity for Managed Collections
Achieving Link Integrity for Managed CollectionsAchieving Link Integrity for Managed Collections
Achieving Link Integrity for Managed CollectionsHerbert Van de Sompel
 
Signposting Overview (Version November 2017)
Signposting Overview (Version November 2017)Signposting Overview (Version November 2017)
Signposting Overview (Version November 2017)Herbert Van de Sompel
 
DBpedia Archive using Memento, Triple Pattern Fragments, and HDT
DBpedia Archive using Memento, Triple Pattern Fragments, and HDTDBpedia Archive using Memento, Triple Pattern Fragments, and HDT
DBpedia Archive using Memento, Triple Pattern Fragments, and HDTHerbert Van de Sompel
 
Interoperability for web based scholarship
Interoperability for web based scholarshipInteroperability for web based scholarship
Interoperability for web based scholarshipHerbert Van de Sompel
 

Mais de Herbert Van de Sompel (20)

The web is rotting and what to do about it
The web is rotting and what to do about itThe web is rotting and what to do about it
The web is rotting and what to do about it
 
Researcher Pod: Scholarly Communication Using the Decentralized Web
Researcher Pod: Scholarly Communication Using the Decentralized WebResearcher Pod: Scholarly Communication Using the Decentralized Web
Researcher Pod: Scholarly Communication Using the Decentralized Web
 
Persistent Identification: Easier Said than Done
Persistent Identification: Easier Said than DonePersistent Identification: Easier Said than Done
Persistent Identification: Easier Said than Done
 
FAIR Signposting: A KISS Approach to a Burning Issue
FAIR Signposting: A KISS Approach to a Burning IssueFAIR Signposting: A KISS Approach to a Burning Issue
FAIR Signposting: A KISS Approach to a Burning Issue
 
Registration / Certification Interoperability Architecture (overlay peer-review)
Registration / Certification Interoperability Architecture (overlay peer-review)Registration / Certification Interoperability Architecture (overlay peer-review)
Registration / Certification Interoperability Architecture (overlay peer-review)
 
Collecting the organizational scholarly record
Collecting the organizational scholarly recordCollecting the organizational scholarly record
Collecting the organizational scholarly record
 
To the Rescue of Scholarly Orphans
To the Rescue of Scholarly OrphansTo the Rescue of Scholarly Orphans
To the Rescue of Scholarly Orphans
 
Almost two decades at LANL
Almost two decades at LANLAlmost two decades at LANL
Almost two decades at LANL
 
Perseverance on Persistence
Perseverance on PersistencePerseverance on Persistence
Perseverance on Persistence
 
Paul Evan Peters Lecture
Paul Evan Peters LecturePaul Evan Peters Lecture
Paul Evan Peters Lecture
 
Achieving Link Integrity for Managed Collections
Achieving Link Integrity for Managed CollectionsAchieving Link Integrity for Managed Collections
Achieving Link Integrity for Managed Collections
 
Signposting Overview (Version November 2017)
Signposting Overview (Version November 2017)Signposting Overview (Version November 2017)
Signposting Overview (Version November 2017)
 
Signposting Overview
Signposting OverviewSignposting Overview
Signposting Overview
 
PID Signposting Pattern
PID Signposting PatternPID Signposting Pattern
PID Signposting Pattern
 
DBpedia Archive using Memento, Triple Pattern Fragments, and HDT
DBpedia Archive using Memento, Triple Pattern Fragments, and HDTDBpedia Archive using Memento, Triple Pattern Fragments, and HDT
DBpedia Archive using Memento, Triple Pattern Fragments, and HDT
 
Interoperability for web based scholarship
Interoperability for web based scholarshipInteroperability for web based scholarship
Interoperability for web based scholarship
 
Reminiscing about interoperability
Reminiscing about interoperabilityReminiscing about interoperability
Reminiscing about interoperability
 
Creating Pockets of Persistence
Creating Pockets of PersistenceCreating Pockets of Persistence
Creating Pockets of Persistence
 
ResourceSync Quick Overview
ResourceSync Quick OverviewResourceSync Quick Overview
ResourceSync Quick Overview
 
Memento 101
Memento 101Memento 101
Memento 101
 

Último

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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 2024Rafal Los
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Memento: Updated Technical Details (March 2010)

  • 1. Memento: Time Travel for the Web
 The Memento Team Herbert Van de Sompel Michael L. Nelson Robert Sanderson Lyudmila Balakireva Scott Ainsworth Harihar Shankar Memento is partially funded by the Library of Congress 
 Updated Technical Details (March 2010) Memento: Time Travel for the Web Updated Technical Details (03/2010)
  • 2. Memento wants to make navigating the Web’s Past Easy http://www.mementoweb.org http://groups.google.com/group/memento-dev Memento: Time Travel for the Web 2 Updated Technical Details (03/2010)
  • 3. Recap of the Basics … Memento: Time Travel for the Web 3 Updated Technical Details (03/2010)
  • 4. W3C Web Architecture: Resource – URI - Representation dereference URI Identifies Resource Represents Representation Memento: Time Travel for the Web 4 Updated Technical Details (03/2010)
  • 5. W3C Web Architecture: Resource – URI - Representation dereference content negotiation URI Identifies Resource Represents Representation 1 Represents Representation 2 Memento: Time Travel for the Web 5 Updated Technical Details (03/2010)
  • 6. Problem Statement … Memento: Time Travel for the Web 6 Updated Technical Details (03/2010)
  • 7. Resources Memento: Time Travel for the Web 7 Updated Technical Details (03/2010)
  • 8. Resources have Representations Memento: Time Travel for the Web 8 Updated Technical Details (03/2010)
  • 9. Resources have Representations that Change over Time Memento: Time Travel for the Web 9 Updated Technical Details (03/2010)
  • 10. Only the Current Representation is Available from a Resource Memento: Time Travel for the Web 10 Updated Technical Details (03/2010)
  • 11. Old Representations are Lost Forever Memento: Time Travel for the Web 11 Updated Technical Details (03/2010)
  • 12. Archived Resources Exist Memento: Time Travel for the Web 12 Updated Technical Details (03/2010)
  • 13. Sep 11 2001, 20:36:10 UTC Dec 20 2001, 4:51:00 UTC Archived Resources http://en.wikipedia.org/w/index.php? http://web.archive.org/web/20010911203610/http:// title=September_11_attacks&oldid=282333 archived www.cnn.com/ archived resource for http://cnn.com resource for http://en.wikipedia.org/wiki/ September_11_attacks Memento: Time Travel for the Web Updated Technical Details (03/2010) 13
  • 14. Finding Archived Resources Go to http://www.archive.org/ and search On http://web.archive.org/web/*/http://cnn.com, select http://cnn.com desired datetime Memento: Time Travel for the Web 14 Updated Technical Details (03/2010)
  • 15. Finding Archived Resources Go to http://en.wikipedia.org/wiki/September_11_attacks Browse History and click History Memento: Time Travel for the Web 15 Updated Technical Details (03/2010)
  • 16. Dec 20 2001, 4:51:00 UTC current Navigating Archived Resources Pentagon http://en.wikipedia.org/w/index.php? title=September_11_attacks&oldid=282333 archived http://en.wikipedia.org/wiki/The_Pentagon resource for http://en.wikipedia.org/wiki/ September_11_attacks3 Memento: Time Travel for the Web 16 Updated Technical Details (03/2010)
  • 17. Sep 11 2001, 20:36:10 UTC Sep 11 2001, 21:38:55 UTC Navigating Archived Resources SPACE http://web.archive.org/web/20010911203610/http:// http://web.archive.org/web/20010911213855/ www.cnn.com/ archived resource for http://cnn.com www.cnn.com/TECH/space/ Memento: Time Travel for the Web 17 Updated Technical Details (03/2010)
  • 18. Current and Past Web are Not Integrated •  Current and Past Web based on same technology. •  But, going from Current to Past Web is a matter of (manual) discovery. •  Memento wants to make going from Current to Past Web a (HTTP) protocol matter. •  Memento wants to integrate Current And Past Web. Memento: Time Travel for the Web 18 Updated Technical Details (03/2010)
  • 19. The Memento Approach … Memento: Time Travel for the Web 19 Updated Technical Details (03/2010)
  • 20. Navigate the Web of the Past http://en.wikipedea.org/wiki/ Web_Archiving Memento: Time Travel for the Web 20 Updated Technical Details (03/2010)
  • 21. Navigate the Web of the Past http://en.wikipedea.org/wiki/ Web_Archiving Oct 11 2009, 05:30:33 UTC Set browser time dial to … Memento: Time Travel for the Web 21 Updated Technical Details (03/2010)
  • 22. Navigate the Web of the Past http://en.wikipedea.org/wiki/ From Wikipedia History Web_Archiving Oct 11 2009, 05:30:33 UTC Oct 01 2009, 16:30:00 UTC Set browser time dial to … Memento: Time Travel for the Web 22 Updated Technical Details (03/2010)
  • 23. Navigate the Web of the Past http://en.wikipedea.org/wiki/ From Wikipedia History Web_Archiving Oct 11 2009, 05:30:33 UTC Oct 01 2009, 16:30:00 UTC Set browser time dial to … Robots Exclusion Protocol Oct 11 2009, 05:30:33 UTC Memento: Time Travel for the Web 23 Updated Technical Details (03/2010)
  • 24. Navigate the Web of the Past http://en.wikipedea.org/wiki/ Robots_exclusion_protocol Oct 11 2009, 05:30:33 UTC Browser time dial still at … Memento: Time Travel for the Web 24 Updated Technical Details (03/2010)
  • 25. Navigate the Web of the Past http://en.wikipedea.org/wiki/ From Wikipedia History Robots_exclusion_protocol Oct 11 2009, 05:30:33 UTC Sep 15 2009, 20:49:00 UTC Browser time dial still at … Memento: Time Travel for the Web 25 Updated Technical Details (03/2010)
  • 26. Navigate the Web of the Past http://en.wikipedea.org/wiki/ From Wikipedia History Robots_exclusion_protocol Oct 11 2009, 05:30:33 UTC Sep 15 2009, 20:49:00 UTC Browser time dial still at … Robots Exclusion Oct 11 2009, 05:30:33 UTC Memento: Time Travel for the Web 26 Updated Technical Details (03/2010)
  • 27. Navigate the Web of the Past http://www.robotstxt.org/ Oct 11 2009, 05:30:33 UTC Browser time dial still at … Memento: Time Travel for the Web 27 Updated Technical Details (03/2010)
  • 28. Navigate the Web of the Past http://www.robotstxt.org/ From Internet Archive Oct 11 2009, 05:30:33 UTC Nov 09 2007, 06:21:04 UTC Browser time dial still at … Memento: Time Travel for the Web 28 Updated Technical Details (03/2010)
  • 29. How does Memento achieve this? There are two components to the Memento Solution: •  Component 1: Navigation towards an archived resource via its original resource, by leveraging content negotiation. •  Component 2: A discovery API for archives that allows requesting a list of all archived versions it holds for a resource with a given URI. Memento: Time Travel for the Web 29 Updated Technical Details (03/2010)
  • 30. How does Memento achieve this? •  Component 1: Navigation towards an archived resource via its original resource, by leveraging content negotiation. Memento: Time Travel for the Web 30 Updated Technical Details (03/2010)
  • 31. The Web without a Time Dimension Memento: Time Travel for the Web 31 Updated Technical Details (03/2010)
  • 32. The Web without a Time Dimension Memento: Time Travel for the Web 32 Updated Technical Details (03/2010)
  • 33. The Web without a Time Dimension Need to use a different URI to access archived versions of a resource and its current version Memento: Time Travel for the Web 33 Updated Technical Details (03/2010)
  • 34. The Web with Time Dimension added by Memento In Memento: use URI of the current version to access archived versions, but qualify it with datetime Memento: Time Travel for the Web 34 Updated Technical Details (03/2010)
  • 35. The Web with Time Dimension added by Memento … and magically arrive at an archived version Memento: Time Travel for the Web 35 Updated Technical Details (03/2010)
  • 36. How does Memento achieve this? In order to fully understand how Memento introduces a time dimension to the Web, we present a brief recap of Transparent Content Negotiation (conneg) in HTTP. RFC 2295. Transparent Content Negotiation in HTTP, http://www.ietf.org/rfc/rfc2295.txt Memento: Time Travel for the Web 36 Updated Technical Details (03/2010)
  • 37. HTTP GET on URI A Memento: Time Travel for the Web 37 Updated Technical Details (03/2010)
  • 38. GET with conneg on URI T – Server Choice – 302 Found – Step 1 transparently negotiable resource Memento: Time Travel for the Web 38 Updated Technical Details (03/2010)
  • 39. GET with conneg on URI T – Server Choice – 302 Found – Step 2 Memento: Time Travel for the Web 39 Updated Technical Details (03/2010)
  • 40. GET with conneg on URI T – Server List – 406 Not Acceptable Memento: Time Travel for the Web 40 Updated Technical Details (03/2010)
  • 41. How does Memento do This? •  Component 1: Navigation towards an archived resource via its original resource, by leveraging content negotiation. Memento: Time Travel for the Web 41 Updated Technical Details (03/2010)
  • 42. Terminology Intermission We introduce the term Memento to refer to an archived version of a resource. A Memento for a resource URI-R (as it existed) at time ti is a resource URI-Mi [URI-R@ti] for which the representation at any moment past its creation time tc is the same as the representation that was available from URI- R at time ti, with tc >= ti. Implicit in this definition is the notion that, once created, a Memento always keeps the same representation. Memento: Time Travel for the Web 42 Updated Technical Details (03/2010)
  • 43. DT-conneg: Content Negotiation in the datetime dimension •  RFC 2295 introduces conneg in the following dimensions: media type, language, compression, character set, e.g.: -  HTTP Request: o  Accept-Language: en-US o  HTTP Response: o  Content-Language: en-US •  Inspired by RFC 2295, Memento introduces datetime conneg: -  HTTP Request: o  Accept-Datetime: Mon, 12 Oct 2009 14:20:33 GMT o  HTTP Response: o  Content-Datetime: Sun, 11 Oct 2009 11:18:05 GMT Memento: Time Travel for the Web 43 Updated Technical Details (03/2010)
  • 44. DT-conneg: Content Negotiation in the datetime dimension •  This means that somewhere, we will need transparently negotiable resources (cf. slides 38-40) that supports the datetime dimension to get to appropriate Mementos. •  This will be discussed for 2 classes of servers: o  Web servers without internal archival capabilities; o  Web servers with internal archival capabilities. Memento: Time Travel for the Web 44 Updated Technical Details (03/2010)
  • 45. Servers Without Internal Archival Capabilities •  This type includes: o  Servers that are crawled by a web archive, such as the Internet Archive o  Servers with an associated transactional archive •  These servers are not aware of the details of Mementos of their resources held by external archives. •  These servers do not have the essential information (URI-Ms, and associated datetimes) to respond to a DT-conneg request. •  But they can be constructive by pointing (HTTP Link) a client to an archive that can respond to the DT-conneg request. o  Unconditionally do this for resources for which Mementos are conceivably available in the archive. Memento: Time Travel for the Web 45 Updated Technical Details (03/2010)
  • 46. Oct 04 2009, 12:00:01 UTC current Oct 10 2009, 12:00:03 UTC http://lanlsource.lanl.gov/ hello Oct 21 2009, 12:00:01 UTC http://mementoarchive.lanl.gov/store/ta/ 20091021120001/http://lanlsource.lanl.gov/hello Memento: Time Travel for the Web 46 Updated Technical Details (03/2010)
  • 47. original resource Mementos original server archival server Memento: Time Travel for the Web 47 Updated Technical Details (03/2010)
  • 48. DT-conneg with URI-G to get URI-M original resource Mementos transparently variant negotiable resources resource original server archival server Memento: Time Travel for the Web 48 Updated Technical Details (03/2010)
  • 49. HTTP DT-conneg with URI-G to get URI-M Link original resource Mementos transparently variant negotiable resources resource original server archival server Memento: Time Travel for the Web 49 Updated Technical Details (03/2010)
  • 50. Terminology Intermission We introduce the term TimeGate to refer to a transparently negotiable resource that supports the datetime dimension. A TimeGate for an original resource URI-R is a transparently negotiable resource URI- G[URI-R] for which all variant resources are Mementos URI-Mi[URI-R@ti] of the resource URI-R. Since multiple archives may host versions of URI-R, multiple TimeGates may exist for any given resource, i.e. one per archive. Memento: Time Travel for the Web 50 Updated Technical Details (03/2010)
  • 51. HTTP Link DT-conneg with URI-G to get URI-M original resource TimeGate Mementos transparently variant negotiable resources resource original server archival server Memento: Time Travel for the Web 51 Updated Technical Details (03/2010)
  • 52. How to redirect from Original Resource to its (external) TimeGate •  Q1: Which archive to HTTP Link to? o  The archive with the best coverage for the server at hand. o  Always redirect to an Aggregator (see slides 110-139) o  No redirection by server: client takes control, accessing its preferred TimeGate, bypassing Original Resource. •  Q2: What is the TimeGate URI-G for URI-R on the chosen archive? o  Convention for syntax of URI-G as function of URI-R. -  http://web.archive.org/web/timegate/http://cnn.com o  Always redirect to an Aggregator (see slides 110-139) Memento: Time Travel for the Web 52 Updated Technical Details (03/2010)
  • 53. Servers With Internal Archival Capabilities •  This type includes: o  Content Management Systems o  Version Control Systems o  Servers that archive resource representations in the cloud and keep track of the URIs and datetimes of remotely archived resources. •  These servers have all the essential information (URI-Ms, and associated datetimes) to respond to a DT-conneg request. •  The previous architectural solution is maintained to enforce strict distinction between handling requests for current and past representations. Memento: Time Travel for the Web 53 Updated Technical Details (03/2010)
  • 54. Dec 20 2001, 4:51:00 UTC Dec 31 2004, 20:46:00 UTC current http://en.wikipedia.org/wiki/ September_11_attacks Dec 20 2008, 22:21:00 UTC http://en.wikipedia.org/w/index.php? title=September_11_attacks&oldid=259237305 Memento: Time Travel for the Web 54 Updated Technical Details (03/2010)
  • 55. original Mementos resource original server Memento: Time Travel for the Web 55 Updated Technical Details (03/2010)
  • 56. HTTP Link DT-conneg with URI-G to get URI-M original TimeGate Mementos resource transparently negotiable resource variant resources original server Memento: Time Travel for the Web 56 Updated Technical Details (03/2010)
  • 57. How to redirect from Original Resource to its (internal) TimeGate •  Q1: Which archive to HTTP Link to? o  No problem as the archive and the original server coincide: Original Resources, TimeGates, Mementos are on same server. •  Q2: What is the TimeGate URI-G for URI-R on the chosen archive? o  Can be internal convention for syntax of URI-G as function of URI-R. -  For example, MediaWiki: http://a.wiki.org/wiki/Special:TimeGate/http://a.wiki.org/wiki/the_title Memento: Time Travel for the Web 57 Updated Technical Details (03/2010)
  • 58. HTTP Headers in Memento Memento: Time Travel for the Web 58 Updated Technical Details (03/2010)
  • 59. The HTTP Headers used in Memento … •  Define two new headers: –  request: Accept-Datetime: –  response: Content-Datetime: •  Introduce new content for two existing headers: –  response: Vary: ; Link: •  Use one existing headers without modification: –  response: Location:, TCN: Memento: Time Travel for the Web 59 Updated Technical Details (03/2010)
  • 60. HTTP Request Headers for DT-conneg •  Accept-Datetime: o  Issued against TimeGate, (Original Resource), (Memento) o  Header content: desired datetime of Memento Accept-Datetime: Mon, 12 Oct 2009 14:20:33 GMT Memento: Time Travel for the Web 60 Updated Technical Details (03/2010)
  • 61. HTTP Response Headers for DT-conneg •  Content-Datetime: o  Returned by Mementos -  Even when not as a result of DT-conneg. o  Symmetrical with regular conneg e.g. Content-Type, Content- Language, … o  Header content: archival datetime of the Memento that is being returned. •  Note: This header is crucial to allow a client to understand it has arrived at a Memento. Content-Datetime: Mon, 12 Oct 2009 14:20:33 GMT Memento: Time Travel for the Web 61 Updated Technical Details (03/2010)
  • 62. HTTP Response Headers for DT-conneg •  TCN: o  Returned by TimeGate o  Same use as in regular conneg o  Header content: -  Choice: –  302 response –  Chosen Memento in Location header –  Alternative Mementos listed in Link header -  List: –  406, 300 response –  Possible Mementos listed in Link header (and optionally in body as HTML) TCN: choice Memento: Time Travel for the Web 62 Updated Technical Details (03/2010)
  • 63. HTTP Response Headers for DT-conneg •  Vary: o  Returned by TimeGate o  Similar to regular conneg o  Header content: -  negotiate, accept-datetime •  Note: accept-datetime content in Vary header is crucial to allow a client to understand it has arrived at a TimeGate. Vary: negotiate, accept-datetime Memento: Time Travel for the Web 63 Updated Technical Details (03/2010)
  • 64. HTTP Response Headers for DT-conneg •  Location: o  Returned by TimeGate o  Similar to regular conneg o  Header content: Location of Memento Location: http://web.archive.org/web/20010911223004/ http://cnn.com Memento: Time Travel for the Web 64 Updated Technical Details (03/2010)
  • 65. HTTP Response Headers for DT-conneg •  Link: o  Returned by Original Resource, TimeGate and Mementos Memento: Time Travel for the Web 65 Updated Technical Details (03/2010)
  • 66. HTTP Response Headers for DT-conneg •  Link header content for Original Resource: o  Recommended: URI-G of TimeGate -  rel="timegate" Link: <http://web.archive.org/web/timegate/http:// cnn.com/>; rel="timegate" Memento: Time Travel for the Web 66 Updated Technical Details (03/2010)
  • 67. HTTP Response Headers for DT-conneg •  Link header content for TimeGate, Mementos: o  Required: URI-R of Original Resource -  rel="original" . Note: even when not as part of DT-conneg. o  Required: URI-M of first and last available Mementos; -  rel="first-memento"; datetime="…" -  rel="last-memento"; datetime="…" o  Recommended: URI-M of time-adjacent Mementos; -  rel="prev-memento"; datetime="…" -  rel="next-memento"; datetime="…" o  Recommended: URI-B of TimeBundle -  rel="timebundle" o  Optional: URI-M of other Mementos -  rel="memento"; datetime="…" Memento: Time Travel for the Web 67 Updated Technical Details (03/2010)
  • 68. HTTP Response Headers for DT-conneg •  Link header content for TimeGate, Mementos: Link: <http://cnn.com/>; rel="original", <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle", <http://web.archive.org/web/20000915112826/http:// www.cnn.com>; rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT", <http://web.archive.org/web/20080708093433/http:// www.cnn.com>; rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT", <http://web.archive.org/web/20010911203610/http:// www.cnn.com>; rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT", <http://web.archive.org/web/20010911203610/http:// www.cnn.com>; rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT" Memento: Time Travel for the Web 68 Updated Technical Details (03/2010)
  • 69. Two Memento HTTP Navigations Details at http://www.mementoweb.org/guide/http/ Memento: Time Travel for the Web 69 Updated Technical Details (03/2010)
  • 70. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 71. Memento HTTP Flow: Notes (1) GET G, Accept-Datetime •  Accept-Datetime header only essential when communication with URI-G. Not necessary when communicating with URI-R, URI-M. •  GET G can be optimized to HEAD G Memento: Time Travel for the Web 71 Updated Technical Details (03/2010)
  • 72. Memento HTTP Flow: Notes (2) LinkG •  Link header pointing at URI-G only essential when server of URI-R has its special-purpose of preferred archive(s) for its own resources. •  If Link is missing, HTTP client can resort to its preferred TimeGates. Memento: Time Travel for the Web 72 Updated Technical Details (03/2010)
  • 73. Memento HTTP Flow: Notes (3) Three aspects of the Memento HTTP flow ensure maximal leverage of established Web caching infrastructure: •  URI-R separate from URI-G: Coinciding URI-R and URI-G would cause problems because caching regimes for regular resources and negotiable resources are different. •  Link header pointing from URI-R to URI-G (as opposed to HTTP 302 used in prior Memento design) allows for caching of responses from URI-R (many thanks to Erik Hetzner of California Digital Library). •  URI-G separate from URI-M: Allows for caching of Mementos. Memento: Time Travel for the Web 73 Updated Technical Details (03/2010)
  • 74. Two Memento HTTP Navigations Scenario 1 •  cnn.com includes Link to TimeGate at Internet Archive •  URI-R on one server, URI-G & URI-M on another Memento: Time Travel for the Web 74 Updated Technical Details (03/2010)
  • 75. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 76. Memento HTTP Flow: URI-R HEAD R, Accept-Datetime HEAD http://cnn.com/ HTTP/1.1 Host: cnn.com Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT Connection: close Memento: Time Travel for the Web 76 Updated Technical Details (03/2010)
  • 77. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 78. Memento HTTP Flow: Success – URI-R LinkG HTTP/1.1 200 OK Date: Thu, 21 Jan 2010 00:02:12 GMT Server: Apache Link: <http://web.archive.org/web/timegate/http://cnn.com>; rel="timegate" Content-Length: 255 Connection: close Content-Type: text/html; charset=iso-8859-1 Memento: Time Travel for the Web 78 Updated Technical Details (03/2010)
  • 79. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 80. Memento HTTP Flow: URI-G GET G, Accept-Datetime GET http://web.archive.org/web/timegate/http://cnn.com HTTP/1.1 Host: web.archive.org Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT Connection: close Memento: Time Travel for the Web 80 Updated Technical Details (03/2010)
  • 81. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 82. Memento HTTP Flow: Success – URI-G 302M, Vary, LinkR,B,M HTTP/1.1 302 Found Date: Thu, 21 Jan 2010 00:06:50 GMT Server: Apache TCN: choice Vary: negotiate, accept-datetime Location: http://web.archive.org/web/20010911203610/http://www.cnn.com Link: <http://cnn.com/>; rel="original", <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle", <http://web.archive.org/web/20000915112826/http://www.cnn.com>; rel="first- memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT", <http://web.archive.org/web/20080708093433/http://www.cnn.com>; rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT" Content-Length: 0 Connection: close Content-Type: text/plain; charset=UTF-8 82
  • 83. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 84. Memento HTTP Flow: URI-M GET M, Accept-Datetime GET http://web.archive.org/web/20010911203610/http://www.cnn.com HTTP/1.1 Host: web.archive.org Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT Connection: close Memento: Time Travel for the Web 84 Updated Technical Details (03/2010)
  • 85. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 86. Memento HTTP Flow: Success – URI-M 200, Content-Datetime, LinkR,B,M HTTP/1.1 200 OK Server: Apache-Coyote/1.1 X-Archive-Orig-Accept-Ranges: bytes … Content-Type: text/html;charset=utf-8 Content-Length: 23364 Date: Thu, 21 Jan 2010 00:09:40 GMT Content-Datetime: Tue, 11 Sep 2001 20:36:10 GMT Link: <http://cnn.com/>; rel="original", <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle", <http://web.archive.org/web/20000915112826/http://www.cnn.com>; rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT", <http://web.archive.org/web/20080708093433/http://www.cnn.com>; rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT" Connection: close
  • 87. Two Memento HTTP Navigations Scenario 2 •  wikipedia.org natively supports Memento •  URI-R, URI-G & URI-M on one server Memento: Time Travel for the Web 87 Updated Technical Details (03/2010)
  • 88. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 89. Memento HTTP Flow: URI-R HEAD R, Accept-Datetime HEAD /wiki/DJ_Shadow HTTP/1.1 Host: en.wikipedia.org Accept-Datetime: Thu, 05 Nov 2009 00:00:00 GMT Connection: close Memento: Time Travel for the Web 89 Updated Technical Details (03/2010)
  • 90. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 91. Memento HTTP Flow: Success – URI-R LinkG HTTP/1.1 200 OK Date: Thu, 21 Jan 2010 00:02:12 GMT Server: Apache Link: <http://en.wikipedia.org/Special:TimeGate/http://en.wikipedia.org/wiki/DJ_Shadow>; rel="timegate" Content-Length: 1462 Connection: close Content-Type: text/plain; charset=UTF-8 Memento: Time Travel for the Web 91 Updated Technical Details (03/2010)
  • 92. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 93. Memento HTTP Flow: URI-G GET G, Accept-Datetime GET /Special:TimeGate/http://en.wikipedia.org/wiki/DJ_Shadow HTTP/1.1 Host: en.wikipedia.org Accept-Datetime: Thu, 05 Nov 2009 00:00:00 GMT Connection: close Memento: Time Travel for the Web 93 Updated Technical Details (03/2010)
  • 94. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 95. Memento HTTP Flow: Success – URI-G 302M, Vary, TCN, LinkR,B,M HTTP/1.1 302 Found Date: Thu, 21 Jan 2010 00:06:50 GMT Server: Apache TCN: choice Vary: negotiate, accept-datetime Location: http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=324178040 Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/ DJ_Shadow>; rel="timebundle", <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>; rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>; rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=322586071>; rel="prev-memento"; datetime="Wed, 28 Oct 2009 14:307:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=326164283> ; rel="next-memento"; datetime="Thu, 26 Nov 2009 23:50:00 GMT" Content-Length: 0 Connection: close Content-Type: text/plain; charset=UTF-8 95
  • 96. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 97. Memento HTTP Flow: URI-M GET M, Accept-Datetime GET /w/index.php?title=DJ_Shadow&oldid=324178040 HTTP/1.1 Host: en.wikipedia.org Accept-Datetime: Thu, 05 Nov 2009 00:00:00 GMT Connection: close Memento: Time Travel for the Web 97 Updated Technical Details (03/2010)
  • 98. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 99. Memento HTTP Flow: Success – URI-M 200, Content-Datetime, LinkR,B,M HTTP/1.1 200 OK Server: Apache Content-Length: 82705 Content-Type: text/html; charset=utf-8 Date: Thu, 21 Jan 2010 00:09:40 GMT Content-Datetime: Thu, 05 Nov 2009 23:41:00 GMT Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/ DJ_Shadow>; rel="timebundle", <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>; rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>; rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=322586071>; rel="prev-memento"; datetime="Wed, 28 Oct 2009 14:307:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=326164283> ; rel="next-memento"; datetime="Thu, 26 Nov 2009 23:50:00 GMT" Connection: close 99
  • 100. Memento HTTP Navigations involving codes other than 200, 302 Memento: Time Travel for the Web 100 Updated Technical Details (03/2010)
  • 101. 300 Multiple Choices •  Two scenarios that generate a 300 at the TimeGate: –  A client requests a 300 using the "Negotiate: 1.0" request header –  An archive has two or more Mementos with the same Datetime (HTTP only supports second-level granularity) HTTP/1.1 300 Multiple Choices Server: Apache Content-Length: 705 Content-Type: text/html; charset=utf-8 Date: Thu, 21 Jan 2010 00:09:40 GMT TCN: list Vary: negotiate, accept-datetime Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/ DJ_Shadow>; rel="timebundle", <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>; rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>; rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=322586071>; rel=”memento"; datetime="Sun, 31 May 2009 15:43:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=326164283> ; rel=”memento"; datetime="Sun, 31 May 2009 15:43:00 GMT" Connection: close 101
  • 102. 406 Not Acceptable •  A client request for a Memento with a datetime outside the first and last values will generate a 406 •  For example a request in Wikipedia with: Accept-DateTime: Mon, 31 May 1999 00:00:00 GMT HTTP/1.1 406 Not Acceptable Server: Apache Content-Length: 709 Content-Type: text/html; charset=utf-8 Date: Thu, 21 Jan 2010 00:09:40 GMT Vary: negotiate, accept-datetime TCN: list Link: <http://en.wikipedia.org/Special:TimeBundle/http://en.wikipedia.org/wiki/ DJ_Shadow>; rel="timebundle", <http://en.wikipedia.org/wiki/DJ_Shadow>; rel="original", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=1493688>; rel="first-memento"; datetime="Sun, 28 Sep 2003 01:42:00 GMT", <http://en.wikipedia.org/w/index.php?title=DJ_Shadow&oldid=337446696>; rel="last-memento"; datetime="Tue, 12 Jan 2010 19:55:00 GMT", Connection: close 102
  • 103. The Web with Time Dimension added by Memento Memento: Time Travel for the Web 103 Updated Technical Details (03/2010)
  • 104. How does Memento do This? There are two components to the Memento Solution: •  Component 1: Navigation towards an archived resource via its original resource, by leveraging Done content negotiation. •  Component 2: A discovery API for archives that allows requesting a list of all archived versions it holds for a resource with a given URI. Memento: Time Travel for the Web 104 Updated Technical Details (03/2010)
  • 105. How does Memento do This? •  Component 2: A discovery API for archives that allows requesting a list of all archived versions it holds for a resource with a given URI. Memento: Time Travel for the Web 105 Updated Technical Details (03/2010)
  • 106. Why an API? •  Mementos for any given URI-R are distributed across archives. •  In order to get a correct perspective of available Mementos, different archives need to be consulted. •  Can do so in distributed consultation mode (slooow), or by consulting an aggregator.
  • 107. Terminology Intermission We introduce the term TimeBundle to refer to a resource via which an overview of all Mementos for an original resource URI-R is available. A TimeBundle for a resource URI-R, is a resource URI-B[URI-R] that is an aggregation of: (a)  All Mementos URI-Mi [URI-R@ti] available from an archive, (b)  The archive's TimeGate URI-G for URI-R, (c)  The original resource URI-R itself. Memento: Time Travel for the Web 107 Updated Technical Details (03/2010)
  • 108. URI- M1 URI- URI-R M2 URI- M3 Original Memento resource Memento: Time Travel for the Web 108 Updated Technical Details (03/2010)
  • 109. HTTP LINK HEADER timegate URI- M1 DT-conneg URI- URI-R URI-G M2 URI- M3 Original TimeGate Memento resource Memento DT-conneg component Memento: Time Travel for the Web 109 Updated Technical Details (03/2010)
  • 110. See OAI-ORE: http://www.openarchives.org/ore/1.0/toc/ ore:aggregates URI- M1 ore:aggregates URI- URI-R URI-G M2 URI-B ore:aggregates URI- ore:aggregates M3 ore:aggregates Original TimeGate Memento TimeBundle resource Memento DT-conneg component Memento: Time Travel for the Web 110 Updated Technical Details (03/2010)
  • 111. HTTP LINK HEADER timebundle ore:aggregates TimeMap URI- M1 ore:aggregates HTTP URI- 303 URI-R URI-G M2 URI-B URI-T ore:aggregates URI- ore:aggregates M3 ore:aggregates Original TimeGate Memento TimeBundle TimeMap resource Memento DT-conneg component Memento discovery component Memento: Time Travel for the Web 111 Updated Technical Details (03/2010)
  • 112. The Aggregator: A Service using the TimeBundle API Memento: Time Travel for the Web 112 Updated Technical Details (03/2010)
  • 113. TimeBundle API: For Discovery, Cross-Archive Services •  Archive uses common approaches to make TimeBundles/ TimeMaps discoverable: o  SiteMaps, o  Atom Feeds, o  OAI-PMH. •  Aggregator harvests and merges TimeMaps. Based on this information, the Aggregator exposes its own TimeGates. o  Cross-archive o  Finer datetime granularity o  Better chances of matching a client’s datetime preference. o  Can become a shared target for redirection for many web servers. Memento: Time Travel for the Web 113 Updated Technical Details (03/2010)
  • 114. Aggregatorusing TimeBundle API Aggregator Conceptualization Accept-Datetime Original TimeMap HTTP LINK rel="timegate" server TimeMap Aggregator datetime browser content TimeMap negotiation HTTP LINK rel="original" HTTP Link rel="timegate" Content-Datetime Memento TimeMap server servers Memento: Time Travel for the Web 114 Updated Technical Details (03/2010)
  • 115. Two Memento HTTP Navigations involving an Aggregator Memento: Time Travel for the Web 115 Updated Technical Details (03/2010)
  • 116. A Memento HTTP Navigation involving an Aggregator Scenario 3 •  www.digitalpreservation.gov points at TimeGate provided by an Aggregator •  URI-R, URI-G, URI-M on different servers Memento: Time Travel for the Web 116 Updated Technical Details (03/2010)
  • 117. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 118. Memento HTTP Flow: URI-R HEAD R, Accept-Datetime HEAD / HTTP/1.1 Host: www.digitalpreservation.gov Accept-Datetime: Sat, 10 Oct 2009 00:00:00 GMT Connection: close Memento: Time Travel for the Web 118 Updated Technical Details (03/2010)
  • 119. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 120. Memento HTTP Flow: Success – URI-R LinkG HTTP/1.1 200 OK Date: Thu, 21 Jan 2010 00:02:12 GMT Server: Apache Link: <http://mementoproxy.lanl.gov/aggr/timegate/http://www.digitalpreservation.gov/> ; rel="timegate" Content-Length: 255 Connection: close Content-Type: text/html; charset=iso-8859-1 Memento: Time Travel for the Web 120 Updated Technical Details (03/2010)
  • 121. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 122. Memento HTTP Flow: URI-G GET G, Accept-Datetime GET /aggr/timegate/http://www.digitalpreservation.gov/ HTTP/1.1 Host: mementoproxy.lanl.gov Accept-Datetime: Sat, 10 Oct 2009 00:00:00 GMT Connection: close Memento: Time Travel for the Web 122 Updated Technical Details (03/2010)
  • 123. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 124. Memento HTTP Flow: Success – URI-G 302M, Vary, LinkR,B,M HTTP/1.1 302 Found Date: Thu, 21 Jan 2010 00:06:50 GMT Server: Apache TCN: choice Vary: negotiate, accept-datetime Location: http://wayback.archive-it.org/1610/20090928171405/http:// www.digitalpreservation.gov/ Link: <http://www.digitalpreservation.gov/>; rel="original", <http://mementoproxy.lanl.gov/aggr/timebundle/http://www.digitalpreservation.gov/>; rel="timebundle", <http://wayback.archive -it.org/256/20051108162921/http://www.digitalpreservation.gov/>; rel="first-memento"; datetime="Tue, 08 Nov 2005 00:00:00 GMT", <http://webcitation.org/query?id=1257028234035091>; rel="next-memento"; datetime="Sat, 31 Oct 2009 18:30:35 GMT", <http://webcitation.org/query?id=1213058061345794>; rel="prev-memento"; datetime="Mon, 09 Jun 2008 20:34:23 GMT", <http://wayback.archive -it.org/256/20100120102000/http://www.digitalpreservation.gov/>; rel="last-memento"; datetime="Wed, 20 Jan 2010 10:20:00 GMT" Content-Length: 0 Connection: close
  • 125. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 126. Memento HTTP Flow: URI-M GET M, Accept-Datetime GET /1610/20090928171405/http://www.digitalpreservation.gov/ HTTP/1.1 Host: wayback.archive-it.org Accept-Datetime: Sat, 10 Oct 2009 00:00:00 GMT Connection: close Memento: Time Travel for the Web 126 Updated Technical Details (03/2010)
  • 127. Memento HTTP Flow HEAD R, Accept-Datetime LinkG GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 128. Memento HTTP Flow: Success – URI-M 200, Content-Datetime, LinkR,B,M HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Link header values are local X-Archive-Orig-Accept-Ranges: bytes … to wayback.archive-it.org Content-Type: text/html;charset=utf-8 and different than those Content-Length: 23364 provided by URI-G Date: Thu, 21 Jan 2010 00:09:40 GMT Content-Datetime: Mon, 28 Sep 2009 17:14:05 GMT Link: <http://www.digitalpreservation.gov/>; rel="original", <http://wayback.archive-it.org/web/timebundle/http://www.digitalpreservation.gov/>; rel="timebundle", <http://wayback.archive -it.org/256/20051108162921/http://www.digitalpreservation.gov/>; rel="first-memento"; datetime="Tue, 08 Nov 2005 00:00:00 GMT", <http://wayback.archive -it.org/256/20100120102000/http://www.digitalpreservation.gov/>; rel="last-memento"; datetime="Wed, 20 Jan 2010 10:20:00 GMT" Connection: close Memento: Time Travel for the Web 128 Updated Technical Details (03/2010)
  • 129. A Memento HTTP Navigation involving an Aggregator Scenario 4 •  cnn.com does not include a Link to a TimeGate •  client takes control by directly contacting its preferred Aggregator •  URI-R, URI-G, URI-M on different servers Memento: Time Travel for the Web 129 Updated Technical Details (03/2010)
  • 130. Memento HTTP Flow HEAD R, Accept-Datetime 200 GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 131. Memento HTTP Flow: URI-R HEAD R, Accept-Datetime HEAD http://cnn.com/ HTTP/1.1 Host: cnn.com Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT Connection: close Memento: Time Travel for the Web 131 Updated Technical Details (03/2010)
  • 132. Memento HTTP Flow HEAD R, Accept-Datetime 200 GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 133. Memento HTTP Flow: No Success – URI-R 200 HTTP/1.1 200 OK Date: Thu, 21 Jan 2010 00:02:12 GMT Server: Apache Content-Length: 255 Connection: close Content-Type: text/html; charset=iso-8859-1 Memento: Time Travel for the Web 133 Updated Technical Details (03/2010)
  • 134. Memento HTTP Flow HEAD R, Accept-Datetime 200 GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 135. Memento HTTP Flow: URI-G GET G, Accept-Datetime GET /aggr/timegate/http://cnn.com/ HTTP/1.1 Host: mementoproxy.lanl.gov Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT Connection: close Memento: Time Travel for the Web 135 Updated Technical Details (03/2010)
  • 136. Memento HTTP Flow HEAD R, Accept-Datetime 200 GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 137. Memento HTTP Flow: Success – URI-G 302M, Vary, LinkR,B,M HTTP/1.1 302 Found Date: Thu, 21 Jan 2010 00:06:50 GMT Server: Apache TCN: choice Vary: negotiate, accept-datetime Location: http://web.archive.org/web/20010911203610/http://www.cnn.com Link: <http://cnn.com/>; rel="original", <http://mementoproxy.lanl.gov/aggr/timebundle/http://cnn.com/>; rel="timebundle", <http://web.archive.org/web/20000915112826/http://www.cnn.com>; rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT", <http://archive-it.org/2245/20100310102000/http://www.cnn.com>; rel="last-memento"; datetime="Wed, 10 Mar 2010 10:20:00 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT" Content-Length: 0 Connection: close Content-Type: text/plain; charset=UTF-8 137
  • 138. Memento HTTP Flow HEAD R, Accept-Datetime 200 GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 139. Memento HTTP Flow: URI-M GET M, Accept-Datetime GET http://web.archive.org/web/20010911203610/http://www.cnn.com HTTP/1.1 Host: web.archive.org Accept-Datetime: Tue, 11 Sep 2001 20:35:00 GMT Connection: close Memento: Time Travel for the Web 139 Updated Technical Details (03/2010)
  • 140. Memento HTTP Flow HEAD R, Accept-Datetime 200 GET G, Accept-Datetime 302M, Vary, TCN, LinkR,B,M GET M, Accept-Datetime 200, Content-Datetime, LinkR,B,M
  • 141. Memento HTTP Flow: Success – URI-M 200, Content-Datetime, LinkR,B,M HTTP/1.1 200 OK Server: Apache-Coyote/1.1 note: Link header values are X-Archive-Orig-Accept-Ranges: bytes … local to web.archive.org Content-Type: text/html;charset=utf-8 and different than those Content-Length: 23364 provided by URI-G Date: Thu, 21 Jan 2010 00:09:40 GMT Content-Datetime: Tue, 11 Sep 2001 20:36:10 GMT Link: <http://cnn.com/>; rel="original", <http://web.archive.org/web/timebundle/http://cnn.com/>; rel="timebundle", <http://web.archive.org/web/20000915112826/http://www.cnn.com>; rel="first-memento"; datetime="Tue, 15 Sep 2000 11:28:26 GMT", <http://web.archive.org/web/20080708093433/http://www.cnn.com>; rel="last-memento"; datetime="Tue, 08 Jul 2008 09:34:33 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="prev-memento"; datetime="Tue, 11 Sep 2001 20:30:51 GMT", <http://web.archive.org/web/20010911203610/http://www.cnn.com>; rel="next-memento"; datetime="Tue, 11 Sep 2001 20:47:33 GMT" Connection: close 141
  • 142. The Memento Profile of OAI-ORE Memento: Time Travel for the Web 142 Updated Technical Details (03/2010)
  • 143. Memento Profile of OAI-ORE
 URI-G TimeGate ORE Aggregated Resource ore:aggregates URI-R Original ORE Aggregated Resource ore:aggregates resource ore:describes ore:aggregates URI- URI-T URI-B M1 Memento ORE Aggregated Resource ore:aggregates URI- TimeMap TimeBundle M2 Memento ORE Aggregated Resource ORE Resource Map ORE Aggregation Memento: Time Travel for the Web 143 Updated Technical Details (03/2010)
  • 144. Information in the TimeMap about the TimeGate
 •  Coverage Period the TimeGate has Mementos for Predicate: mem:covers Object: mem:TimeSpan •  Which Original Resource it is a TimeGate for Predicate: mem:timeGateFor Object: mem:OriginalResource •  TimeSpan Class: •  mem:start datestamp •  mem:end datestamp Memento: Time Travel for the Web 144 Updated Technical Details (03/2010)
  • 145. Information in the TimeMap about the TimeGate
 mem:covers URI-G mem:start mem:timeGateFor datetime ore:aggregates URI-R ore:aggregates ore:describes datetime mem:end URI- URI-T URI-B M1 ore:aggregates Memento: Time Travel for the Web 145 Updated Technical Details (03/2010)
  • 146. Information in the TimeMap about Mementos
 •  The representation's mime-type: dc:format •  The representation's byte size: dc:extent •  Over what period was the representation observed as the current representation of the Original Resource:: Predicate: mem:observedOver Object: mem:TimeSpan •  Or over what period was the representation known to be active as the current representation of the Original Resource: Predicate: mem:validOver Object: mem:TimeSpan •  The number of observations of the representation in the given time period: mem:observations integer •  Any further information that is available about Mementos Memento: Time Travel for the Web 146 Updated Technical Details (03/2010)
  • 147. Information in the TimeMap about Mementos
 integer URI-G mem:observations mem:start datetime ore:aggregates URI-R ore:aggregates mem: ore:describes datetime mementoFor mem:end URI- URI-T URI-B M1 mem: ore:aggregates observedOver integer dc:extent dc:format string Memento: Time Travel for the Web 147 Updated Technical Details (03/2010)
  • 148. Memento Ontology: Classes
 •  TimeMap SubClassOf ore:ResourceMap •  TimeBundle SubClassOf ore:Aggregation •  OriginalResource SubClassOf gen:TimeGenericResource •  TimeGate SubClassOf irw:WebResource •  Memento SubClassOf gen:TimeSpecificResource •  TimeSpan Typed Blank Node Memento: Time Travel for the Web 148 Updated Technical Details (03/2010)
  • 149. Memento Ontology: Relationships
 •  timeGateFor subject: TimeGate object: OriginalResource •  hasTimeGate subject: OriginalResource object: TimeGate •  mementoFor subject: Memento object: OriginalResource •  covers subject: TimeGate object: TimeSpan •  observedOver subject: Memento object: TimeSpan •  validOver subject: Memento object: TimeSpan Memento: Time Travel for the Web 149 Updated Technical Details (03/2010)
  • 150. Memento Ontology: Properties
 •  start subject: TimeSpan type: datestamp •  end subject: TimeSpan type: datestamp •  observations subject: TimeSpan type: integer Memento: Time Travel for the Web 150 Updated Technical Details (03/2010)
  • 151. Ontologies
 Memento - mem: http://www.mementoweb.org/terms/tb/ Generic/Specific Resource – gen: http://www.w3.org/2006/gen/ont Identity of Resource on the Web – irw: http://ontologydesignpatterns.org/ont/web/irw.owl Object Reuse & Exchange – ore: http://www.openarchives.org/ore/terms/ Dublin Core – dc: http://purl.org/dc/elements/1.1/ Memento: Time Travel for the Web 151 Updated Technical Details (03/2010)
  • 152. Sample TimeMap in RDF/XML
 <rdf:RDF> <mem:TimeMap rdf:about="http://mementoproxy.lanl.gov/ia/timemap/rdf/http://www.archive.org/"> <ore:describes> <mem:TimeBundle rdf:about="http://mementoproxy.lanl.gov/ia/timebundle/http://www.archive.org/"> <ore:aggregates> <mem:OriginalResource rdf:about="http://www.archive.org/"/> </ore:aggregates> <ore:aggregates> <mem:TimeGate rdf:about="http://mementoproxy.lanl.gov/ia/timegate/http://www.archive.org/"> <mem:timeGateFor rdf:resource="http://www.archive.org/"/> <mem:covers> <mem:TimeSpan> <mem:start>1999-10-11T06:44:03 GMT</mem:start> <mem:end>2008-07-19T08:52:28 GMT</mem:end> </mem:TimeSpan> </mem:covers> </mem:TimeGate> </ore:aggregates> <ore:aggregates rdf:resource="http://web.archive.org/web/19971011064403/http://www.archive.org/"/> … 152
  • 153. How does Memento do This? There are two components to the Memento Solution: •  Component 1: Navigation towards an archived resource via its original resource, by leveraging Done content negotiation. •  Component 2: A discovery API for archives that allows requesting a list of all archived versions it Done holds for a resource with a given URI. Memento: Time Travel for the Web 153 Updated Technical Details (03/2010)
  • 154. Memento in a non-Memento Web … Memento: Time Travel for the Web 154 Updated Technical Details (03/2010)
  • 155. Memento and Client Development •  Browser plug-in must use different HTTP request/response cycle when in time travel mode. •  Browser plug-in needs to be more or less aware of its state in the chain Original Resource => TimeGate => Memento •  Interesting user interface challenges, among others related to time-distribution of Mementos embedded in encompassing Memento, e.g. images in HTML page. Memento: Time Travel for the Web 155 Updated Technical Details (03/2010)
  • 156. Memento and Web Archives •  Web Archives rewrite URLs in archived pages, in order to avoid: o  Serving current representations of embedded resources; o  Linking to current representations of resources •  The upside: Archived pages are self-contained. •  The downside: o  Cannot navigate beyond the archive’s content; o  Other servers (archives or original) may have appropriate version of (missing) embedded or linked resource. •  Memento does not require URL-rewriting. Memento: Time Travel for the Web 156 Updated Technical Details (03/2010)
  • 157. BBC home page from Internet Archive; URL rewriting Memento: Time Travel for the Web 157 Updated Technical Details (03/2010)
  • 158. Embedded & linked resources still available at BBC site Memento: Time Travel for the Web 158 Updated Technical Details (03/2010)
  • 159. BBC home page from Internet Archive; no URL-rewriting Memento: Time Travel for the Web 159 Updated Technical Details (03/2010)
  • 160. Standardization •  Link relationships original, timegate, timebundle, memento, first-memento, last-memento, prev-memento, next-memento will be registered as per upcoming HTTP Link header RFC. •  Headers Accept-Datetime, Content-Datetime will be registered in the provisional registry for Message Header Fields as per RFC 3864. •  A process will be initiated aimed at publishing an RFC specifying the Memento solution. •  TimeGate URI syntax convention for Web archives will be discussed in the context of International Internet Preservation Consortium. Memento: Time Travel for the Web 160 Updated Technical Details (03/2010)
  • 161. Towards Acceptance … Memento: Time Travel for the Web 161 Updated Technical Details (03/2010)
  • 162. Towards Acceptance: Hyping Memento: Time Travel for the Web 162 Updated Technical Details (03/2010)
  • 163. Towards Acceptance: Discussing http://efoundations.typepad.com/ efoundations/2009/11/memento-and- negotiating-on-time.html Is the Memento proposal OK from the perspective of the Architecture of the World Wide Web, and REST? Resulted in some adjustments to the proposed framework. Memento: Time Travel for the Web 163 Updated Technical Details (03/2010)
  • 164. Towards Acceptance: Discussing http://www.mementoweb.org/events/ IA201002/ Two day discussion with Internet Archive, California Digital Library, LoCKSS, Library of Congress about Memento. Resulted in some adjustments to the proposed framework. Resulted in commitment by all represented archives to deploy experimental Memento support. Memento: Time Travel for the Web 164 Updated Technical Details (03/2010)
  • 165. Towards Acceptance: Discussing http://groups.google.com/group/memento- dev Discussion list regarding Memento Resulted in some adjustments to the proposed framework. Memento: Time Travel for the Web 165 Updated Technical Details (03/2010)
  • 166. Towards Acceptance: Thinking http://www.open.ac.uk/blogs/telstar/ 2009/11/24/the-when-of-the-web/ Use Memento to go from formal citation of Web page (URL, datetime) to appropriate archival version of the Web page. Memento: Time Travel for the Web 166 Updated Technical Details (03/2010)
  • 167. Towards Acceptance: Developing •  Apache plug-in rule that adds Link header to TimeGate on HTTP HEAD/GET requests to Original Resources. •  http://mementoweb.org/tools/apache •  Memento plug-in for the MediaWiki platform. o  http://www.mediawiki.org/wiki/Extension:Memento o  Working towards community acceptance. o  Started similar process for Drupal. Memento: Time Travel for the Web 167 Updated Technical Details (03/2010)
  • 168. Towards Acceptance: Developing •  Created demonstration client: o  FireFox plug-in: http://www.mementoweb.org/tools/ (many thanks to Sam Adams, Cambridge University) o  Currently working on plug-in for Internet Explorer Memento: Time Travel for the Web 168 Updated Technical Details (03/2010)
  • 169. Towards Acceptance: Ongoing •  JISC funded developer contest for the creation of Memento- based prototype demonstrators: http://wiki.2010.dev8d.org/w/ Talk_5 •  The Memento Team will engage in a funded, collaborative agreement with the Library of Congress for: o  Standardization (I-D => RFC). o  Outreach. o  Research. o  Software development. Memento: Time Travel for the Web 169 Updated Technical Details (03/2010)
  • 170. Some Interesting Consequences of Memento … Memento: Time Travel for the Web 170 Updated Technical Details (03/2010)
  • 171. Memento and Resource Persistence (1) •  URI-R vanishes, but the server that used to serve it is still operational: o  The server should still include a HTTP Link header with rel="timegate" pointing at a TimeGate for URI-R, irrespective of whether the client issues a DT-conneg request or not. This allows seamless access to a Memento of URI-R, even if the server no longer hosts the original. o  If the server does not include a HTTP Link header pointing at a TimeGate for URI-R, the client resorts to interaction with archives (or with an Aggregator) and arrives at the most recent Memento of the resource. Memento: Time Travel for the Web 171 Updated Technical Details (03/2010)
  • 172. Memento and Resource Persistence (2) •  A domain vanishes: o  The client is looking for a current representation of URI-R that was hosted by the domain, but fails. o  The client resorts to interaction with archives (or with an Aggregator) and arrives at the most recent Memento of the resource. Memento: Time Travel for the Web 172 Updated Technical Details (03/2010)
  • 173. Memento and Resource Persistence (3) •  A domain is taken over by a new custodian: o  The new custodian adheres to other policies regarding which archive to redirect a DT-conneg request. o  The client understands from the first-memento/last- memento HTTP Link header of that archive of choice, that it does not cover the time range in which the previous custodian operated the domain. o  The client resorts to interaction with other archives (or with an Aggregator) and arrives at an appropriate Memento. Memento: Time Travel for the Web 173 Updated Technical Details (03/2010)
  • 174. Memento and Resource Versioning (1) Resource state may evolve over time. Requiring a URI owner to publish a new URI for each change in resource state would lead to a significant number of broken references. For robustness, Web architecture promotes independence between an identifier and the state of the identified resource. From: The Architecture of the World Wide Web, http:// www.w3.org/TR/webarch/ Memento: Time Travel for the Web 174 Updated Technical Details (03/2010)
  • 175. Memento and Resource Versioning (2) But there are many use cases that require resource versioning, including community-based content creation, scientific communication, open government, etc. How does resource versioning work currently? How can it work in a Memento Web? Paper at http://arxiv.org/abs/1003.3661 Memento: Time Travel for the Web 175 Updated Technical Details (03/2010)
  • 176. Current Resource Versioning (3) •  Version Identification: HTTP URIs •  Versioning Strategy: new URI for new version •  Version Relationships: RDF or HTTP Links •  Version Datetime: RDF Memento: Time Travel for the Web 176 Updated Technical Details (03/2010)
  • 177. Memento and Resource Versioning (4) •  Version Identification: HTTP URIs •  Versioning Strategy: stable , cool URI for "current" version; new URI for old version •  Version Relationships: HTTP Links, HTTP datetime conneg •  Version Datetime: HTTP Content-Datetime response header Memento: Time Travel for the Web 177 Updated Technical Details (03/2010)
  • 178. Memento and Non-Information Resources (1) Current description of URI-R HTTP Non-Information URI-R 303 URI-S Information resource resource Paper at http://arxiv.org/abs/1003.3661 Memento: Time Travel for the Web 178 Updated Technical Details (03/2010)
  • 179. Memento and Non-Information Resources (2) Current description of URI-R HTTP Non-Information URI-R 303 URI-S Information resource resource HTTP LINK HEADER Past timegate Description of URI-R DT-conneg TimeGate URI-G URI-M Memento Memento: Time Travel for the Web 179 Updated Technical Details (03/2010)
  • 180. Memento and Non-Information Resources (3) •  DBpedia subject URI e.g. http://dbpedia.org/resource/France leads to current description of the subject. •  Archive of prior descriptions of DBpedia subject URIs implemented at LANL: o  Archive exposes a TimeGate per DBpedia subject URI e.g. http://mementoarchive.lanl.gov/dbpedia/timegate/http:// dbpedia.org/resource/France o  These TimeGates support DT-conneg. •  DBpedia provides HTTP Link header with rel="timegate" pointing at these TimeGates. •  Result: Clients can access current and prior descriptions using "follow your nose" HTTP navigation. •  Proof-of-Concept: "follow your nose" time-series analysis across DBpedia versions. Memento: Time Travel for the Web 180 Updated Technical Details (03/2010)
  • 181. Memento and Non-Information Resources (4) Time-Series analysis across DBpedia versions Memento: Time Travel for the Web 181 Updated Technical Details (03/2010)
  • 182. Memento and Time-Persistent Web Annotations Paper at http://arxiv.org/abs/1003.2643 Memento: Time Travel for the Web 182 Updated Technical Details (03/2010)
  • 183. Memento wants to make navigating the Web’s Past Easy http://www.mementoweb.org http://groups.google.com/group/memento-dev Memento: Time Travel for the Web 183 Updated Technical Details (03/2010)