USŁUGI TELEKOMUNIKACYJNE EWOLUCJA

Transkrypt

USŁUGI TELEKOMUNIKACYJNE EWOLUCJA
Tadeusz Dec [email protected]
Robert Strulak [email protected]
USŁUGI TELEKOMUNIKACYJNE EWOLUCJA
„Find Location”
Kontekstowa dystrybucja wiadomości wg ustalonego kryterium
Warszawa 2011
Wstęp:
Kontekstowa dystrybucja wiadomości może odbywać się według wielu różnych kryteriów.
Użytkownik może uzyskiwać informacje zależnie od swojego profilu lub otoczenia. Pełna analiza
kontekstu użytkownika wymaga określenia lokalizacji czasu zwyczajów oraz preferencji.
Przykładowo użytkownik który pragnie coś zjeść i żąda dostarczenia mu takich informacji może
uzyskać inne informacje w zależności od pory dnia, swojej lokalizacji, czy referencji dotychczas
odwiedzanych miejsc.
W naszym projekcie rozważamy za wybrane kryterium przyjmujemy lokalizację użytkownika.
Drugi kryterium podziału usług polegających na kontekstowym dostarczeniu wiadomości jest
strona inicjująca zdarzenie. Zarówno użytkownik może sobie życzyć dostarczenia pewnych
wiadomości, jak i system może automatycznie inicjować wysłanie reklamy gdy użytkownik
znajdzie się w pobliżu punktu usługowego.
Ze względu na ogólną społeczną niechęć w stosunku do niechcianych reklam rozsyłanych za
pomocą środków komunikacji elektronicznej zajmować się będziemy pierwszym scenariuszem.
Realizujemy system informacji o punktach usługowych. Użytkownik wysyła hasło – informację o
typie puntu usługowego jaki go interesuje, a w zamian uzyskuje informację o najbliższym jego
położeniu. System taki może być przydatny zarówno dla mieszkańców jak i dla turystów.
Aktorzy:
Dostawca Treści:
Działanie aplikacji opiera się na treści dostarczonej przez dostawcę – przykładowo informację
turystyczna miasta lub inny podmiot odpowiedzialny za spis lokali usługowych. Lokale są zapisane
w pliku konfiguracyjnym i wczytywane do systemu. Wpis jest oznaczony słowem kluczowym jak
„Hotel” czy „food”, oraz określa współrzędne geograficzne.
#Plik konfiguracyjny do aplikacji
#hotel1
hotelx1=0.5883
hotely1=0.4352
#food
foodx1=0.4455
foody1=0.0986
(...)
Abonent:
Abonent zleca uruchomienie usługi z numerem numer informacyjny [przyjęto numer 6666] pod
którym użytkownik może uzyskać informację poprzez wysłanie wiadomości SMS w treści wpisując
słowo klucz.
Użytkownik:
Przez użytkownika rozumiemy każdego posiadacza terminala mobilnego danej sieci. Nie jest
konieczna żadna aktywacja usługi- system jest w pełni dostępny.
Użytkownik wysyła żądanie na ogólnodostępny numer 6666 poprzez wiadomość SMS w treści
wpisując słowo klucz np „hotel”. W odpowiedzi otrzymuje wiadomość MMS z mapką okolicy i
zaznaczonym najbliższym jego położeniu lokalem usługowym o profili zdefiniowanym w żądaniu.
W przypadku nierozpoznania klucza wartością domyślną jest 'hotel'.
Operator:
Uruchamia usługę oraz umożliwia wykorzystanie wiadomości o lokalizacji użytkownika.
Scenariusz działania:
Użytkownik wysyła SMS o treści „Hotel” na numer informacji – 6666.
Numer jest rozpoznany jako specjalny numer usługi.
Analizowana jest treść wiadomości pod kontem wyszukania słów kluczowych.
Wysyłane jest żądanie określenia lokalizacji użytkownika.
Na podstawie położenie wyznaczany jest najbliższy z puli punktów usługowych o
odpowiadających lokalizacji użytkownika.
Przygotowywana i wysyłana jest odpowiedź MMS z naniesionym położeniem żądanego
punktu usługowego.
Użytkownik otrzymuję MMS z mapką do celu.
Realizacja:
Kod usługi napisany został języku Java. Usługa zrealizowana i przetestowana została za pomocą
środowiska Ericsson NRG (NETWORK RESOURCE GATEWAY 4.1 ).
Klasa Point Location reprezentuje punkt obiektu usługowego.
Klasa Configure wczytuje podstawowe informacje takie jak numer usługi sposób taryfikacji etc.
Logika usługi została zapisana w klasie Feature
Do realizacji wykorzystujemy moduły SMSProcessor, MMSProcessor, lokalizacji LocationProcessor oraz monitor zgłoszeń, i w klasie Feature są tworzone ich instancje..
HOSAMonitor pozwala nam monitorować zgłoszenia
na numer "serviceNumber" – na numer 6666
w sieci. Dzięki temu uzbrajamy punkt detekcji
Gdy SMSprocessor odbierze powiadomienie o wykrytym zgłoszeniu na numer service rozkazuje
analizować treść wiadomości , oraz określić lokalizację.
Po otrzymanej lokalizacji funkcja:
public void locationReceived(String user, float latitude, float longitude)
Dzięki lokalizacji zwróconej z LocationProcessor oraz zawartości wiadomości
określa położenie punktu szukanego wołając jedną z dwóch dostępnych metod:
public PointLocation getNearestPointF(float x, float y)
public PointLocation getNearestPointH(float x, float y)
Po zlokalizowaniu punktu - obiekt klasy: PointLocation tworzona jest za pomocą metod klasy
MMSMessageContent odpowiedź i wysyłana jest do użytkownika.