Backtracker Status Report

Reading Time: 4 minutes

About Backtracker

As mentioned in the previous article our main project at the moment is Backtracker. The project aims to be a anti theft system. More in detail means that if you loose your mobile device it would be possible to gain it. This goal we achieve with a lot of information that we receive from the mobile device.

Status

The problem until now was that our developing platform is not stable enough to be able to develop constantly on our project. This fact wouldn’t be that big problem, because we need only to transfer somehow the data from the device to our server. The bigger problem was that we aren’t sure how to implement the data reasoning. This problem should be now fixed by the use of structured semantic data such as RDF/OWL files. The well structured data as backend gives as the possibility to visualize and classify the data for different clients. For example on a desktop client we could visualize more data as on a mobile device. If you want to track our lost mobile device in real time it’s also useful to visualize other information as if you are at the home and want to see what the theft is doing with our device. On the other hand the server could easily extend the information received from the stolen device.

Listing 1: Description of the mobile device in RDF.

<rdf:RDF
    xml:lang="en"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
    xmlns:bt="http://backtracker.networld.to/bt#">
    <!--
       - The RDF file about a mobile device. The IMSI identifies the
       - mobile device uniquely! Please feel free to add informations or
       - delete informations in your mobile device file.
      -->
    <bt:MobileDevice rdf:ID="IMEI_12345678901234">
        <bt:owner rdf:resource="http://devnull.networld.to/foaf.rdf#obale" />
        <bt:isStolen>false</bt:isStolen>
        <bt:manufacturer>OpenMoko, Inc</bt:manufacturer>
        <bt:model>Freerunner</bt:model>
        <bt:developerName>GTA02</bt:developerName>
        <bt:os>Linux</bt:os>
        <bt:kernel>2.6.24</bt:kernel>
        <bt:distribution>SHR</bt:distribution>
        <bt:cpu rdf:parseType="Resource">
            <bt:model>Samsung 2442B</bt:model>
                <bt:family>ARM920T/ARMv4T</bt:family>
                <bt:speed>400 MHZ</bt:speed>
            </bt:cpu>
            <bt:display rdf:parseType="Resource">
                <bt:type>VGA</bt:type>
                <bt:size>480x640</bt:size>
                <bt:colorDepth>24 Bit</bt:colorDepth>
            </bt:display>
            <bt:ram>128 SDRAM</bt:ram>
            <bt:internStorage>256 MB</bt:internStorage>
            <bt:storage>
                <rdf:Bag>
                    <rdf:li rdf:parseType="Resource">
                        <bt:flashCardType>microSD</bt:flashCardType>
                        <bt:currentFlashCard rdf:parseType="Resource">
                            <bt:model>SanDisk</bt:model>
                            <bt:type>microSDHC</bt:type>
                            <bt:capacity>8 GB</bt:capacity>
                        </bt:currentFlashCard>
                    </rdf:li>
                </rdf:Bag>
            </bt:storage>
            <bt:connectionMethods>
                <rdf:Bag>
                <rdf:li rdf:parseType="Resource">
                    <bt:gsm rdf:parseType="Resource">
                        <bt:status>online</bt:status>
                        <bt:chip>Calypso D751992AZHH</bt:chip>
                    </bt:gsm>
                </rdf:li>
                <rdf:li rdf:parseType="Resource">
                    <bt:bluetooth rdf:parseType="Resource">
                        <bt:status>offline</bt:status>
                        <bt:version>2.0</bt:version>
                    </bt:bluetooth>
                </rdf:li>
                <rdf:li rdf:parseType="Resource">
                    <!-- offline/local/online -->
                    <bt:wlan rdf:parseType="Resource">
                        <bt:status>local</bt:status>
                        <bt:chip>Atheros chipset AR6001 Flash version</bt:chip>
                        <bt:type>802.11 b/g</bt:type>
                        <bt:ip>10.0.0.23</bt:ip>
                        <bt:router>10.0.0.1</bt:router>
                    </bt:wlan>
                </rdf:li>
                <rdf:li rdf:parseType="Resource">
                    <!-- offline/local/online -->
                    <bt:usb rdf:parseType="Resource">
                        <bt:status>local</bt:status>
                        <bt:type>1.1</bt:type>
                        <bt:mode>slave</bt:mode>
                        <bt:ip>192.168.0.202</bt:ip>
                        <bt:router>192.168.0.200</bt:router>
                    </bt:usb>
                </rdf:li>
            </rdf:Bag>
        </bt:connectionMethods>
        <bt:components>
            <rdf:Bag>
                <rdf:li rdf:parseType="Resource">
                    <bt:gps rdf:parseType="Resource">
                        <bt:status>inactive</bt:status>
                        <bt:chip>u-blox ANTARIS 4</bt:chip>
                        <bt:type>AGPS</bt:type>
                    </bt:gps>
                </rdf:li>
                    <rdf:li rdf:parseType="Resource">
                        <bt:accelerometer rdf:parseType="Resource">
                            <bt:status>inactive</bt:status>
                            <bt:number>2</bt:number>
                        </bt:accelerometer>
                    </rdf:li>
                </rdf:Bag>
            </bt:components>
            <bt:lastKnown rdf:parseType="Resource">
                <bt:imsi rdf:resource="sim_1234567890123456.rdf" />
                <bt:position rdf:parseType="Resource">
                    <geo:Point rdf:parseType="Resource">
                        <geo:lat>42.26022</geo:lat>
                        <geo:long>10.34396</geo:long>
                    </geo:Point>
                    <dc:date>2010-02-03T12:15:47</dc:date>
                </bt:position>
            </bt:lastKnown>
        </bt:MobileDevice>
</rdf:RDF>
Backtracker ControlUnit Mainscreen
Backtracker ControlUnit

Maybe it’s good to mention that the real time tracking works very well with a Server/Client infrastructure. The server is needed to have a reachable point at every time, because we don’t know when the stolen device is able to transfer the data, so the client hasn’t to be switch on 24/7. If the server receives the GPS coordinates from a mobile device and a client is connected the server saves the data and forwards it to the client. The client you could see at the left.

The Backtracker Ontology

As you can see in the listing 1 we use a own ontology to describe the device. Unfortunately the ontology is not specified until now. If our team has more time we would specify the language.