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.