• Keine Ergebnisse gefunden

Aktiver Zwischenspeicher zur Einhaltung von Zeitbeschränkungen

4.6.3 Verborgene Sensoren in Abhängigkeits-Ketten

Eine weitere Herausforderung sind Sensoren, deren Abhängigkeit über Sensoren führt, die nicht relevant für die Suche sind. Ein solcher Fall ist in der Abbildung 4.11 beim rechten dunkel eingefärbten Sensor D dargestellt. Das Problem solcheverborgenenSensoren automatisch zu finden beruht auf mehreren Aspekten:

• Eine solche Kette von Abhängigkeiten kann möglicherweise sehr lang sein.

• Die Kette kann komplexe Abhängigkeiten aufweisen.

• Von den Sensoren in der Kette ist nur der (mögliche) Typ des Ergebnisses bekannt.

• Der Wert des Ergebnisses ist jedoch nicht vorab bekannt, kann also nur bei Anfrage ermittelt werden.

• Je nach Wert des Ergebnisses entstehen andere Zusammenhänge oder Ketten.

Daher können zwar mögliche Abhängigkeits-Ketten anhand der Sensorbeschreibungen ermittelt werden (bei-spielsweise über graphentheoretische Verfahren), jedoch wäre die Menge der gefunden möglichen Ketten in der Re-gel ungleich größer, als die Menge, die letztlich zielführend wäre. Letztlich müsst jede der möglichen Abhängigkeits-Ketten auf deren Zielführung hin getestet werden (durch Anfragen der Sensoren in der Kette), um alle verborgenen Sensoren zu bestimmen. Je nach Struktur der Ontologie und der Suchanfrage, könnte sich der Aufwand einer sol-che Verarbeitung aller möglisol-chen Abhängigkeits-Ketten an den Aufwand der iterativen Susol-che annähern und somit den Vorteil der ontologiebasierten Suche zunichte machen.

Die Menge der gefundenen, möglichen Ketten muss also auf eine Mengesinnvoller Ketten reduziert werden.

Dies kann über eine Heuristik durchgeführt werden, die Parameter wie Pfadlänge, Anfragegeschwindigkeit und Ergebniswerte aus der Vergangenheit zur Auswertung heranzieht. Auf diese Weise könnten zumindest Teile der verborgenen Sensoren aufgefunden werden.

4.6.4 Zusammenfassung des Ansatzes

Um QoI-Anforderungen zu erfüllen, muss die Suche aus einer potentiell großen Anzahl von Sensoren diejenigen identifizieren, die für die Suchanfrage relevant sind. Durch QoS-Anforderungen ist in den meisten Fällen jedoch nur eine begrenzte Anzahl von Anfragen möglich. Daher ist eine gezielte Suche nach relevanten Sensoren not-wendig. Zur Bestimmung der Relevanz in einem offenen, dynamischen System ist Hintergrundwissen in Form von beispielsweise semantischen Beschreibungselementen und Ontologien notwendig. Die Relevanz von Sensoren lässt sich häufig erst nach der Anfrage anderer Sensoren bestimmen. VerborgeneSensoren können nur bedingt ermit-telt werden. Unter begrenzter Anzahl von Anfragen alle relevanten Sensoren zu bestimmen ist nicht in jedem Fall möglich.

Bei dem ontologiebasierten Ansatz ist die Suche einerseits darauf ausgelegt, solange in die Tiefe zu gehen, wie weitere relevante Sensoren aufgefunden werden können und andererseits ist die Suche auf die Sensoren be-schränkt, welche relevante Informationen liefern. Bei den angeführten Beispielen auf dem vorherigen Abschnitt ist zu erkennen, dass der ontologiebasierte Ansatz mit wenigen Anfragen umfassend die relevanten Sensoren erfassen kann, welche nicht verborgen sind. Der ontologiebasierte iterative Ansatz bietet damit eine Annäherung an die optimale Suche.

Qualitätsanforderung auch bei vielen Iterationen und längeren Verzögerungen (bei der Verarbeitung von Anfragen an die einzelnen Sensoren) möglich.

Ohne das Wissen über die für die Suche verfügbaren Sensoren und deren Verzögerung ist eine Bestimmung kritischer Sensoren nicht möglich. Daher wird erst zur Laufzeit ermittelt, welche Sensoren vorgehalten werden sollten, da erst dann Aussagen über die Latenz und die Relevanz eines Sensors gemacht werden können. Ist es nicht möglich den Suchbaum in der geforderten Zeit zu durchlaufen, so entsteht eine Überschreitung der Zeitvorgabe.

In einem solchen Fall werden diejenigen Sensoren ausgewählt, welche den größten Einfluss auf die Einhaltung der Anforderungen haben.

Prinzipiell haben diejenigen Sensoren den größten Einfluss auf das Endergebnis, welche:

• als Eingabeparameter für andere Sensoren benötigt werden. Je mehr Sensoren von einem Ausgabeparameter abhängig sind, desto wichtiger ist dessen zeitnahe Bestimmung.

• eine große Verzögerung aufweisen.

In Abbildung 4.11 wurde das Beispiel eines Suchbaumes dargestellt. In der praktischen Anwendung kommen jedoch auch komplexere Zusammenhänge vor. Durch mehrere Eingabeparameter entstehen Knoten mit mehreren Eingangsknoten, so dass sich auch Wälder bilden (ein Graph ohne Zyklus). Ein solcher Suchwald ist in Abbil-dung 4.12 dargestellt.

t=2

t=5 t=2

t=5

t=3 t=1

t=4 t=3

t=4

t=3

Abbildung 4.12:Die Abhängigkeiten der Suche beschreiben einenSuchwald

Er beschreibt die Abhängigkeiten der Sensoren zueinander, wie sie bei der Durchführung der Suche bestanden haben. Ein Sensor, welcher in der Abbildung als Knoten dargestellt wurde, kann erst angefragt werden wenn die Bedingungen aus Abschnitt 4.6.1 erfüllt worden sind. Angenommen dies ist der Fall wenn alle Knoten angefragt wurden, die in der Abbildung als Vaterknoten dargestellt worden sind. Die Darstellung zeigt zudem den dabei gemessenen Zeitaufwand t. Die Bestimmung der kritischen Sensoren erfolgt, wie es in der Tabelle 4.4 dargestellt wurde, über eine Gewichtung des Zeitaufwandes mit der Anzahl der Kindknoten.

Sensor t w t∗w

A 2 1 2

B 3 1 3

C 4 2 8

D 3 1 3

E 4 3 12

F 5 2 10

G 1 1 1

h 2 1 2

I 3 1 3

J 5 1 5

Tabelle 4.4:Bestimmung kritischer Sensoren

Im Rahmen des aktiven Zwischenspeichers wurde ein Ansatz zu BestimmungkritischerSensoren entwickelt. Der Ablauf der Auswahl kritischer Sensoren erfolgt in den folgenden Schritten:

68 4.7 Aktiver Zwischenspeicher zur Einhaltung von Zeitbeschränkungen

1. Bestimme alle Gewichte.

2. Markiere denjenigen Sensor mit dem höchsten Gewicht alskritisch.

3. Setze dessen Verzögerung auf 0.

4. Berechne die Gesamtlaufzeit.

5. Ist die Gesamtlaufzeit größer als die Zeitvorgabe, starte bei Schritt 1.

Wird der Wald des Beispiels durchlaufen und summiert man dabei alle Verzögerungen (unter Berücksichtigung möglicher paralleler Anfragen) auf, so erfordert eine Suchet=3+4+3+4+5+3+5=27. Ausgehend von einer Zeitvorgabe vontma x=20, überschreitet die Suchanfrage diese Zeitvorgabe. In diesem Beispiel wird zu Beginn der Sensor E als kritisch markiert, was zu einer Gesamtdauer von t =3+4+3+5+3+5=23führt. Da dies noch immer oberhalb des Limits liegt, wird als nächstes auch Sensor F als kritisch markiert. Dies führt schließlich zu einer Gesamtdauer von t= 3+4+3+1+3+5=19, womit die Anforderung für eine gleichartige, zukünftige Anfrage erfüllt wäre.

Kritische Sensoren werden aktiv angefragt, um jederzeit einen Wert mit ausreichender Qualität bereitzustellen.

Hierzu wird das Intervall entsprechend an der Qualitätsanforderung des Interesses eingestellt. Wird ein Sensor auf-grund mehrerer Interessen als kritisch markiert, so wird das Intervall entsprechend dem Interesse mit der höchsten Anforderung ausgerichtet.

Es wird regelmäßig überprüft, ob ein kritischer Sensor weiterhin regelmäßig angefragt werden muss. Wird ein kritischer Sensor über einen längeren Zeitraum nicht benötigt oder ist die Gesamtdauer der dazugehörigen Suche im Durchschnitt deutlich unterhalb der Zeitvorgabe, wird ein Sensor wieder als normal eingestuft.

4.7.1 Diskussion des Ansatzes

In den Abbildungen 4.13 wurde ein Testszenario zur Verdeutlichung der Auswirkung aufgebaut. Hierzu wurde eine Reihe von Sensoren mit semantischen Abhängigkeiten zueinander definiert. In diesem Fall bilden die Abhängig-keiten eine einfache Folge, in der jeder Sensor den Datentyp (A bis O) liefert, welchen der nächste Sensor zur Ausführung benötigt. Zudem wurde bei dem Sensor, welcher den DatentypGaufHabbildet, eine erhöhte Verzö-gerung in die Bearbeitung einer Anfrage künstlich integriert.

(a)Ohne aktive Zwischenspeicherung (b)Mit aktiver Zwischenspeicherung markierter Sensoren

Abbildung 4.13:Auswirkungen von aktivem Zwischenspeicher

Unter der Annahme, dass dieexpirationTimegeringer als die Anfrageperiode ist, kann anhand der Abbildung 4.13 a) abgelesen werden, dass jede der drei periodisch stattfindenden Durchführungen einer Suchanfrage, durch eine Überschreitung der Zeitvorgabe von tma x =7500ms, an der Abfrage der verbliebenen Sensoren gehindert wird.

Wird das aktive Zwischenspeichern genutzt, so lässt sich das Verhalten anhand der Darstellung 4.13 b) erkennen.

Nach der ersten Überschreitung der Zeitvorgabe wird der Sensor GtoH aktiv angefragt, so dass der Wert zum

4 Informationsgewinnung 69

Zeitpunkt der nächsten Anfrage bereits vorliegt. Dies hat zur Folge, dass nun auch die restlichen Sensoren innerhalb der Zeitvorgabe angefragt werden können.

Sensoren, die kritisch sind, jedoch regelmäßig benötigt werden, können mit Hilfe des aktiven Zwischenspeichers aktiv angefragt und so jederzeit mit ausreichender Aktualität bereitgestellt werden. Das Problem liegt weiterhin in der Dynamik der Abhängigkeiten. Sensoren, die nur kurzzeitig relevant werden, sind zwar für zukünftige Suchen als aktiv markiert, haben jedoch keinen Einfluss auf das Ergebnis der Suche, welche initial zu der Zeitüberschreitung geführt hatte. Zudem werden solche Anfragen nur auf den jeweiligen Eingabeparameter bezogen durchgeführt, was zu keinen Vorteilen bei Anfragen über andere Eingabeparameter führt. Für viele Anwendungsszenarien ist zu erwarten, dass die Anfragen in regelmäßigen Abständen durchgeführt werden und somit häufiger die gleichen Eingabeparameter in den Suchanfragen genutzt werden.

Ein Sensor, welcher statische Informationen, statische Abbildungen oder Informationen mit langer Gültigkeit aufweist, könnte im Voraus alle seine Informationen in den Cache transferieren, wodurch eine Anfrage zur Laufzeit eingespart wird.