RDF Site Summary 1.0 Modules: Service Status

Authors

Matthew J. Dovey, Oxford University
Katherine Ferguson, Oxford University
Sebastian Rahtz, Oxford University

Version 1.0

Latest Version:DRAFT 4 2002-06-07
DRAFT 3 2002-06-02
DRAFT 2 2002-05-20
DRAFT 1 2002-05-10

Status

Proposed

Rights

Copyright © 2002 by the Authors.

Permission to use, copy, modify and distribute this RDF Site Summary 1.0 Module Specification and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the specification for any purpose. It is provided "as is" without expressed or implied warranty.

This copyright applies to this RDF Site Summary 1.0 Module Specification and accompanying documentation and does not extend to the RSS Module's format itself.

Description

This module extends RSS to include elements which allow the description of the status and current availability of services and servers.

Some data, such as whether a server is up or not, would normally be generated automatically, whilst other data, such as explanatory text for humans, might be the result of further processing or direct human input. A service as seen from a user's point of view might not be a one-to-one mapping to a service as seen from a system point of view. If, for example, a user service is dependent on more than one system service being available then the user service is available if and only if all those system services are available. This can easily be calculated with both input and output conforming to this specification.

ss:lastChecked gives the most recent time that the service was tried. lastSeen gives the most recent time that the service responded. ss:responding is true or false, depending on whether the service responded at the last check. In the case that the service is responding the two times should be equal. If the service is not responding then it is useful to have an approximation of how long it has been down, by comparing the two times.

ss:availability and averageResponseTime are statistics which may be calculated as you wish. ss:aboutStats should give access to a description of how these have been calculated so that the statistics are meaningful.

ss:statusMessage allows for a message about the service and its status. Often this will not be needed. However messages such as "This service will be rebooted over lunchtime", "We know this is unavailable - we're all working on the problem so please stop phoning us" or "There is an intermittent problem which we are monitoring" could at times be appropriate. A message may be included independent of whether the service is currently responding or not.

Namespace Declarations

Model

<channel> Elements:

<item> Elements:

Example

<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:ss="http://purl.org/rss/1.0/modules/servicestatus/"
  xmlns="http://purl.org/rss/1.0/"
>

  <channel rdf:about="http://my.organisation.com">
    <title>An Example</title>
    <description>Just an example of system statuses</description>
    <link>http://my.organisation.com</link>
    <ss:aboutStats>http://my.organisation.com/availabilitycalculations.html</ss:aboutStats>
    <items>
      <rdf:Seq>
        <rdf:li resource="http://my.organisation.com/website" />
        <rdf:li resource="http://my.organisation.com/database" />
        <rdf:li resource="http://my.organisation.com/searchinterface" />
      </rdf:Seq>
    </items>

  </channel>

  <item rdf:about="http://my.organisation.com/website">
    <title>Website</title>
    <link>http://my.organisation.com/website</link>
    <ss:responding>true</ss:responding>
    <ss:lastChecked>2002-05-10T19:20:30.45+01:00</ss:lastChecked>
    <ss:lastSeen>2002-05-10T19:20:30.45+01:00</ss:lastSeen>
    <ss:availability>85</ss:availability>
    <ss:averageResponseTime>5.2</ss:averageResponseTime>
  </item>

  <item rdf:about="http://my.organisation.com/database">
    <title>Database server</title>
    <link>http://my.organisation.com/database</link>
    <ss:responding>false</ss:responding>
    <ss:lastChecked>2002-05-10T19:20:30.45+01:00</ss:lastChecked>
    <ss:lastSeen>2002-05-09T13:43:56.24+01:00</ss:lastSeen>
    <ss:availability>77</ss:availability>
    <ss:averageResponseTime>12.2</ss:averageResponseTime>
    <ss:statusMessage>Engineers are investigating.</ss:statusMessage>
  </item>

  <item rdf:about="http://my.organisation.com/searchinterface">
    <title>Search Interface</title>
    <link>http://my.organisation.com/searchinterface</link>
    <description>This is a web interface to search a database and is only
    usable if both the database server and the website are responding.</description>
    <ss:responding>false</ss:responding>
    <ss:lastChecked>2002-05-10T19:20:30.45+01:00</ss:lastChecked>
    <ss:lastSeen>2002-05-09T13:43:56.24+01:00</ss:lastSeen>
    <ss:statusMessage>Engineers are investigating</ss:statusMessage>
  </item>

</rdf:RDF>