RS63807B1 - Postupak i uređaj za omogućavanje aplikaciji da detektuje specifične okolnosti - Google Patents

Postupak i uređaj za omogućavanje aplikaciji da detektuje specifične okolnosti

Info

Publication number
RS63807B1
RS63807B1 RS20221141A RSP20221141A RS63807B1 RS 63807 B1 RS63807 B1 RS 63807B1 RS 20221141 A RS20221141 A RS 20221141A RS P20221141 A RSP20221141 A RS P20221141A RS 63807 B1 RS63807 B1 RS 63807B1
Authority
RS
Serbia
Prior art keywords
mobile device
user
specific circumstances
circumstances
application
Prior art date
Application number
RS20221141A
Other languages
English (en)
Inventor
Bradley Geilfuss
Chris Bleakley
Arthur Wolf
Evan Gamble
Wesley Henderson
Chen Guo
Yajia Yang
Boris Shimanovsky
Original Assignee
Factual Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Factual Inc filed Critical Factual Inc
Publication of RS63807B1 publication Critical patent/RS63807B1/sr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Physics (AREA)
  • Telephonic Communication Services (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

Opis
POZADINA
1. Oblast
[0001] Predmet koji je ovde otkriven odnosi se na postupak, sistem ili uređaj koji omogućava aplikaciji da detektuje okolnosti za korisnika mobilnog uređaja.
2. Informacije
[0002] Postoji obilje informacija koje se prikupljaju od korisnika mobilnih uređaja, npr. na dnevnoj bazi. Na primer, mobilni uređaj, kao što je pametni telefon, može da ima mogućnost da periodično procenjuje svoju lokaciju ili poziciju, na primer putem prijema signala globalnog sistema pozicioniranja (engl. GPS – global positioning system). Mobilni uređaj može da bude u periodičnoj komunikaciji sa različitim entitetima kao što je bazna stanica za uslugu mobilne telefonije, ili preko nekog drugog tipa pristupne tačke ili servera, takvih da se dobije pristup internetu. Mobilni uređaj takođe može da sadrži akcelerometar iz kojeg mogu da se odrede informacije o kretanju koje se odnose na mobilni uređaj, kao i druge senzore koji mogu, na primer, da odrede orijentaciju, lokaciju, temperaturu, nadmorsku visinu ili barometarski pritisak.
[0003] Određeni uslovi koji se ponavljaju mogu da budu prisutni kada korisnik preduzme određene radnje, kao što je vožnja kući određenom putanjom nakon posla. Takvi uslovi koji se ponavljaju mogu da se uoče ili detektuju i mogu da se koriste da predvide ili da utiču na ponašanje korisnika.
[0004] US2014/0053260 se nalazi u Evropskom izveštaju o pretrazi i opisuje postupke, uređaje i sisteme za detektovanje sumnjivih ponašanja ili ponašanja mobilnih uređaja koja degradiraju performanse. Ne bavi se detektovanjem okolnosti za korisnika, već radije određivanjem da li je mobilni uređaj pogođen malicioznim softverom, softverskim konfliktima, hardverskim greškama ili drugim sličnim greškama ili fenomenima koji mogu dugoročno negativno da utiču na mobilni uređaj i na kontinuirane performanse i nivoe iskorišćenja energije. U tu svrhu, različita ponašanja mobilnih uređaja nadziru se kako bi se omogućilo da se sumnjivo ponašanje mobilnog uređaja identifikuje iz ograničenog skupa posmatranja.
Suština pronalaska
[0005] Prema jednom aspektu predmetnog pronalaska, obezbeđen je postupak u skladu sa nezavisnim patentnim zahtevom 1.
[0006] Još jedan aspekt pronalaska obezbeđuje mobilni uređaj u skladu sa nezavisnim patentnim zahtevom 8.
[0007] Dalji aspekt pronalaska obezbeđuje kao proizvod kompjuterski program u skladu sa nezavisnim patentnim zahtevom 12.
[0008] Dalje opcione karakteristike su navedene u zavisnim patentnim zahtevima.
KRATAK OPIS CRTEŽA
[0009] Predmet zahteva je posebno istaknut i jasno se zahteva u zaključnom delu specifikacije. Međutim, i po pitanju organizacije i/ili postupka rada, zajedno sa objektima, funkcijama i/ili prednostima istog, to se najbolje može razumeti pozivanjem na sledeći detaljan opis ako se čita sa pratećim crtežima u kojima:
SL. 1 ilustruje sistem za komunikaciju između mobilnog uređaja i prvog servera i drugog servera prema primeru izvođenja;
SL. 2 ilustruje proces za developera aplikacije da specificira okolnosti koje treba da budu detektovane na mobilnom uređaju korisnika prema primeru izvođenja;
SL. 3 ilustruje mobilni uređaj u skladu sa primerom izvođenja; i
SL. 4 ilustruje proces za endžin za opservaciju (engl. observation engine) za nadgledanje mobilnog uređaja kako bi detektovao pojavu jedne ili više specifičnih okolnosti u skladu sa primerom izvođenja.
[0010] U sledećem detaljnom opisu poziva se na prateće crteže, koji čine deo ovog dokumenta, pri čemu slični brojevi mogu da označavaju slične delove kroz celu prijavu da bi označili odgovarajuće i/ili analogne komponente. Ceniće se to što komponente ilustrovane na slikama nisu nužno nacrtane u pravoj razmeri, zarad jednostavnosti i/ili jasnoće ilustracije. Na primer, dimenzije nekih komponenti mogu da budu preuveličane u odnosu na druge komponente. Dalje, treba da se razume da mogu da se koriste i drugi primeri izvođenja. Štaviše, strukturalne i/ili druge promene mogu da budu načinjene bez skretanja sa predmeta zahteva. Treba takođe da se napomene da uputstva i/ili reference, na primer, kao što su gore, dole, gornji, donji i tako dalje, mogu da se koriste da olakšaju diskusiju o crtežima i/ili nemaju nameru da ograniče primenu predmeta zahteva.
DETALJAN OPIS
[0011] Referenca u ovoj specifikaciji na „jedan primer“, „jednu odliku“, „primer“ ili „odliku“ znači da je određena odlika, struktura ili karakteristika opisana u vezi sa odlikom ili primerom uključena u najmanje jednu odliku ili primer predmeta zahteva. Prema tome, pojavljivanja izraza „u jednom primeru“, „primer“, „u jednoj odlici“ ili „odlika“ na različitim mestima u ovoj specifikaciji ne moraju nužno sva da se odnose na istu odliku ili primer. Štaviše, određene odlike, strukture ili karakteristike mogu da budu kombinovane u jedan ili više primera ili odlika.
[0012] Postoji obilje informacija koje se prikuplja od korisnika mobilnih uređaja, npr. na dnevnoj bazi. Na primer, mobilni uređaj, kao što je pametni telefon, može da ima mogućnost da povremeno procenjuje svoju lokaciju ili poziciju, na primer putem prijema signala globalnog sistema pozicioniranja (GPS). Mobilni uređaj može da bude u periodičnoj komunikaciji sa različitim entitetima kao što je bazna stanica za uslugu mobilne telefonije, ili preko nekog drugog tipa pristupne tačke ili servera, takvih da se dobije pristup internetu. Mobilni uređaj može da održava evidenciju procena svoje trenutne ili prošlih lokacija ili može da prenosi takve informacije na umreženi uređaj, kao što je server.
[0013] Evidencija ili skladište trenutnih i/ili prošlih procena lokacije za mobilni uređaj može da se koristi da se napravi ili zaključi jedna ili više opservacija o korisniku mobilnog uređaja. Na primer, senzorski podaci akcelerometra ili žiroskopa za korisnika mogu da označavaju da li korisnik trči ili stoji. „Opservacija“, kako se ovde koristi, može da se odnosi na detektabilnu karakteristiku korisnika. Na primer, ako je mobilni uređaj korisnika pridružen sa određenom procenom lokacije u određeno doba dana, opservacija može da bude da je korisnik bio na određenoj proceni lokacije u određeno doba dana. Opservacija može da se odredi u periodičnim vremenskim intervalima, kao što je, na primer, na svakih 30 minuta. U primeru izvođenja, opservacija može dodatno ili alternativno da se odredi ukoliko je procena lokacije za korisnika prestala da se menja, kao kada je korisnik bio na određenoj lokaciji, kao što je lokacija kuće ili lokacija posla, određenu dužinu vremena. Opservacije mogu da se odrede na osnovu različitih aktivnosti koje korisnik obavlja, na primer preko mobilnog uređaja korisnika. Na primer, mogu da se posmatraju identiteti različitih aplikacija koje korisnik koristi, kao što su aplikacija za e-poštu, Facebook™ aplikacija ili aplikacija za budilnik, da se navede samo nekoliko primera među mnogima. Kategorija aplikacije koja se koristi može da čini dodatnu opservaciju. Slično tome, doba dana u koje su korišćene različite aplikacije i dužine vremena za koje su različite aplikacije korišćene mogu dodatno ili alternativno da se posmatraju. Mogu da se posmatraju merenja akcelerometra, tako da pokazuju na primer da li korisnik hoda ili je hodao, vozio se, vozio se u vozu ili skakao. Način na koji se posmatraju merenja akcelerometra, kao što je to da li merenja ukazuju na to da korisnik vozi ili je vozio posebno agresivno, brzo ili sporo, mogu da se posmatraju. Postoje potencijalno neograničene vrste opservacija koje mogu da se naprave, na primer, o korisniku mobilnog uređaja. U primeru izvođenja mogu dodatno ili alternativno da se naprave opservacije o korisniku koja nisu povezana ni sa jednim posebnim mobilnim uređajem koji korisnik koristi, kao što je spoljašnjost.
[0014] „Spoljašnost“ kako se ovde koristi, odnosi se na događaj, pojavu ili lokaciju spoljašnju u odnosu na računarski uređaj, kao što je mobilni uređaj ili korisnik mobilnog uređaja. Na primer, spoljašnjost može da bude nezavisna od radnje ili lokacije mobilnog uređaja ili korisnika mobilnog uređaja. Spoljašnjost, kako se ovde koristi, može da se odnosi na prisustvo koncertnog događaja, događaja u zatvorenom prostoru, vesti o vremenskim prilikama, saobraćaju ili o bilo kom drugom događaju, da se navede samo nekoliko primera.
[0015] Mobilni uređaj može da pokrene ili da izvršava jednu ili više aplikacija u datom trenutku. Određena aplikacija može da nadzire ili na drugi način prati različite opservacije o korisniku ili o korisnikovom mobilnom uređaju. Na primer, mobilni uređaj može da implementira aplikaciju koja sadrži endžin za opservaciju da bi nadgledala da li su određene okolnosti detektovane, postignute ili na drugi način ispunjene.
[0016] „Okolnost“, kako se ovde koristi, odnosi se na status ili stanje indikativno za detekciju određenog događaja, stanja ili radnje. Na primer, okolnost može da bude radnja koja je izvršena od strane korisnika ili u ime korisnika, kao što je putem mobilnog uređaja korisnika. Primeri okolnosti mogu da uključuju utvrđivanje da je korisnik koristio određenu aplikaciju za deljenje vožnje sada ili u prošlosti, da se korisnik trenutno nalazi u određenoj koncertnoj dvorani, da je korisnik upravo napustio određeni veliki maloprodajni centar ili da je korisnik posetio isti kafić tri dana uzastopno, na primer. Dodatni primeri okolnosti su razmatrani u nastavku.
[0017] „Endžin za opservaciju“, kako se ovde upotrebljava, odnosi se na komplet za razvoj softvera (engl. SDK – software developement kit) na samom uređaju koji detektuje pojavu određenih okolnosti. Na primer, endžin za opservaciju može da se doda u ili može da sačinjava deo programa aplikacije. U jednom naročitom primeru izvođenja, endžin za opservaciju može da sadrži izvršni kod ili instrukcije koje, ukoliko se izvrše, mogu da obaveste program aplikacije u koji je integrisan ili čiji na neki drugi način čini deo, da obavesti program aplikacije o postojanju specifičnih okolnosti ili uslova koji mogu biti unapred određeni, unapred definisani ili na drugi način specificirani pre izvršenja ili implementacije programa aplikacije. Na primer, po detekciji specifičnih okolnosti, može da se generiše signal ili stanje može na drugi način da se promeni kako bi se obavestila aplikacija o postojanju tih okolnosti.
[0018] „Komplet za razvoj softvera“, ili na engl. “SDK”, kako se ovde upotrebljava, odnosi se na biblioteku kodova koja je kompajlirana u program aplikacije. SDK može da se doda ili da se pridoda aplikaciji pre nego što se aplikacija kompajlira.
[0019] „Aplikacija“ ili „program aplikacije“, kako se ovde upotrebljava, odnosi se na program ili izvršni kod na primer za obavljanje grupe koordinisanih funkcija, zadataka ili aktivnosti. U jednom primeru izvođenja, aplikacija može inicijalno da bude programirana, a zatim SDK može da bude kompajliran u aplikaciju. Aplikacija može naknadno da se kompajlira sa SDK i može da se načini dostupnom za instalaciju ili preuzimanje od strane krajnjih korisnika. U jednom primeru izvođenja, aplikaciji može da se pristupi, da se preuzme ili na drugi način dobije, na primer, preko baze podataka aplikacija ili „prodavnice aplikacija“.
[0020] „Prodavnica aplikacija“, kako se ovde upotrebljava, odnosi se na skladište iz kog može da se pristupi jednoj ili brojnim aplikacijama, mogu da se preuzmu, ili na drugi način dobiju. U jednom primeru izvođenja, prodavnici aplikacija može da se pristupi putem mreže, kao što je internet, i aplikacija može da se preuzme od strane krajnjeg korisnika za instalaciju na uređaju krajnjeg korisnika, kao što je mobilni ili pametni telefon, računar, kao što je desktop ili laptop, ili bilo koji drugi tip računarskog uređaja, kao što je mobilni uređaj ili stacionarni uređaj.
[0021] U jednom naročitom primeru, endžin za opservaciju može da detektuje pojavu određenih okolnosti, kao što su to (a) da li uređaj ulazi u Starbucks peške tokom jutarnjeg puta do posla; (b) da li uređaj kolima napušta lokaciju posla svog vlasnika za vreme radnog vremena; ili (c) da li je uređaj transportovan na rok koncert na malom mestu održavanja u Holivudu, Kalifornija.
[0022] Okolnosti mogu da budu definisane od strane developera aplikacija korišćenjem autorskog alata (engl. authoring tool). Na primer, autorski alat može da bude odvojen od programa aplikacije koji sadrži SDK za implementaciju endžina za opservaciju. U jednom primeru izvođenja, okolnosti mogu biti učitane ili pušovane u endžin za opservaciju preko sistema „bežičnog“ tipa (engl. OTA - over the air).
[0023] Endžin za opservaciju se koristi da bi se omogućile radnje u slučaju specifičnih okolnosti. U primeru, endžin za opservaciju može da izvrši povratni poziv (engl. callback) ka developerovoj aplikaciji da bi prizvao određenu funkciju ako se detektuje ili na drugi način ispuni specifični skup okolnosti. Na primer, developerovu aplikaciju može da izvrši ili pokrene isti mobilni uređaj koji izvršava ili pokreće endžin za opservaciju. Developerova aplikacija može da izvrši neku vrstu radnje kao odgovor na prijem povratnog poziva od endžina za opservaciju. Na primer, ako developerova aplikacija sadrži aplikaciju za deljenje vožnje, endžin za opservaciju može da generiše i prenese povratni poziv aplikaciji za deljenje vožnje ako se otkriju ili ispune određene okolnosti, kao što je ona gde korisnik izlazi iz bioskopa nakon što je u bioskopu bio dva sata, verovatno na projekciji filma. Na primer, ako se detektuju okolnosti, aplikacija za deljenje vožnje može da napravi upit korisniku da li da se pošalje poruka za naručivanje vožnje automobilom do kuće.
[0024] U primeru izvođenja, developerova aplikacija može da odredi da li su korisnikove posete Starbucks-u uobičajene. Ukoliko jesu, developerova aplikacija može da napravi upit korisniku da bi odredila da li bi korisnik želeo da njegova ili njena kafa bude unapred poručena preko Starbucks™ aplikacijskog programskog interfejsa (engl. API - application programming interface) u budućnosti. U primeru u kojem okolnost obuhvata svaki put kada mobilni uređaj napusti lokaciju posla svog vlasnika automobilom tokom radnog vremena, developerova aplikacija može da proveri da li usput postoji interesantno lokalno mesto za hranu, ako se, na primer, izlazak dogodi u vreme ručka.
[0025] Aplikacija ili proizvod mogu da se upare sa endžinom za opservaciju kako bi se otkrila korelacija između željenih ishoda i okolnosti. Alternativno, endžin za opservaciju može samostalno da otkrije korelacije korisnika. U skladu sa tim, sekundarni zadatak za endžin za opservaciju može da bude da prikuplja atributivne podatke.
[0026] SDK interfejs za mobilni uređaj može da bude idiomatski konzistentan sa platformom na kojoj radi ili se nalazi, kao što su iOS™ ili Android™. Endžin za opservaciju može da koristi podrazumevane biblioteke operativnog sistema, koje su namenjene za rešavanje problema preklapanja, prema potrebi. Na primer, na iOS™-u, postojeći servisi Significant Changes i Standard Location mogu da se koriste umesto prilagođenih u primeru izvođenja. Jedan cilj je da se iskoristi prednost koda koji se relativno kontinuirano održava i poboljšava od strane developera za platformu, kao što je Apple™.
[0027] U skladu sa primerom izvođenja, može da bude relativno jednostavno i lako da se instalira i konfiguriše endžin za opservaciju. Takva instalacija može da prati najbolje prakse platforme, kao što je CocoaPods™.
[0028] Za lakšu instalaciju, otisak može da se održi malim. Na primer, određeni limit, kao što je 1MB koda ili manje, može da se koristi za implementaciju endžina za opservaciju.
[0029] Endžin za opservaciju može da koristi OTA ažuriranja kako bi osigurao da se na mobilnom uređaju koristi najnovija kompatibilna verzija endžina za opservaciju. Korišćenjem OTA ažuriranja, može da se obezbedi da se instance endžina za opservaciju na terenu konzistentno konfigurišu, kao na primer, u roku od približno 24 sata od bilo kog ažuriranja.
[0030] Autorsko ili programsko okruženje za opisivanje ili ukazivanje na okolnosti od interesa odvojeno je od SDK aplikacije instalirane na korisnikovom mobilnom uređaju. Na primer, programer može daljinski da opiše ili ukaže na okolnosti od interesa ili može daljinski da odredi određene direktive tako da naznači da li određena funkcija treba bar delimično da se prizove kao odgovor na detekciju jedne ili više specifičnih okolnosti.
[0031] OTA ažuriranje može da prenosi ili šalje pravila ili direktive „preko vazduha“, kao što je preko konekcije aplikacije na internet ili na drugu mrežu. Pravila ili direktive mogu da budu kreirane za mnoge različite okolnosti. Pravila ili direktive mogu da informišu host uređaj o tome da li i/ili kada da izvrši određenu radnju kao odgovor na otkrivanje specifične okolnosti.
[0032] SDK aplikacije može da skuplja ili prikuplja informacije ili podatke od interesa, može da skladišti ove informacije u evidenciji memorije i može da inicira prenos evidentiranih informacija u bazu podataka ili skladište podataka radi dalje analize, kao što je od strane developera aplikacije u kojoj se SDK koristi. SDK obaveštava host aplikaciju po detekciji specifičnih okolnosti, na osnovu različitih pravila ili direktiva koje se odnose na specifičnu okolnost, tako da npr. host aplikacija može da izvrši određenu radnju ili da prizove određenu funkciju.
[0033] U jednom primeru izvođenja, SDK može da odredi ili da napravi svoje sopstvene odluke kao odgovor na detekciju specifičnih okolnosti. Na primer, odluka može da se bazira, bar delimično, na procesu mašinskog učenja. Određene prednosti mogu da se ostvare, na primer, ukoliko se direktive periodično ažuriraju, a SDK ima mogućnost da donese svoje sopstvene odluke u pogledu odgovora na detekciju specifičnih okolnosti.
[0034] U jednom primeru izvođenja, direktive ili pravila koja se odnose na određene specifične okolnosti mogu periodično da se prenose ili šalju na mobilni uređaj kako bi se testiralo ili odredilo koje su radnje kao odgovor na detekciju specifičnih okolnosti rezultirale zanimljivim odgovorom od strane korisnika. Na primer, ako relativno visok procenat korisnika ostavi povratnu informaciju kao odgovor na upit zasnovan na otkrivanju određenih okolnosti, radnja pravljenja upita korisniku da ostavi povratne informacije može da se smatra zanimljivim odgovorom, koji na primer može da bude ugrađen u buduće direktive.
[0035] Na primer, specifične okolnosti mogu da se odnose na aplikaciju za pronalaženje restorana. Analiza evidentiranih odgovora korisnika na upite zasnovane na otkrivanja okolnosti može da se izvrši da bi se identifikovale okolnosti u kojima je veća verovatnoća da će korisnik odgovoriti na upit. Jedan primer okolnosti je da je korisnik u restoranu, da napušta restoran ili gde je korisnik bio kod kuće najmanje 20 minuta, ali da je bio u restoranu pre 3 sata. Primer odgovora na otkrivanje okolnosti korisnika može da bude iniciranje iskačuće poruke sa pitanjem da li bi korisnik želeo da recenzira restoran i analiziranje da li korisnik zaista i piše recenziju.
[0036] OTA ažuriranje može takođe ili alternativno da se izvede kako bi se ažurirao način na koji se okolnosti detektuju. Na primer, ukoliko korisnik hoda, korisnikov čin hodanja može da bude detektovan na osnovu frekvencije kojom se korisnikov telefon pomera gore-dole, kao kad je telefon u korisnikovom džepu i može da detektuje da li šablon senzorskog izlaza liči na ljudske pokrete kao što je pravilan periodičan način. Ukoliko, međutim, sličan ili isti senzorski izlaz može da se detektuje telefonom kada korisnik vozi bicikl, način na koji se okolnosti detektuju može da se ažurira kako bi se razlikovalo između korisnika koji hoda i korisnika koji vozi bicikl. Ažuriranje koje se tiče načina na koji se okolnosti detektuju može, npr. da bude pušovano na korisnikov mobilni uređaj putem OTA ažuriranja.
[0037] Radio pristup može nepoželjno da troši velike količine energije iz baterije i mogao bi da zahteva dostupan servis. Shodno tome, endžin za opservaciju, kako se ovde razmatra, mogao bi da se ponaša nezavisno od konekcije na mrežu. U primeru izvođenja gde bi mogla da bude potrebna konekcija na mrežu, endžin za opservaciju može da koristi pametne načine za upravljanje ili minimiziranje neuspeha.
[0038] Endžin za opservaciju može developerima aplikacija da pruži određeni stepen širine u pogledu podešavanja potrošnje baterije, tačnosti i kašnjenja, na primer. Ako developer želi da na prikladan način isporuči aplikaciju proždrljivu u pogledu energije (kao što je aplikacija sa skretanje-po-skretanje usmeravanjem), endžin za opservaciju bi mogao da bude konfigurisan tako da se prilagodi takvom profilu. Obrnuto, ako developer želi što je moguće manji profil potrošnje energije, taj cilj bi takođe mogao da se postigne.
[0039] Endžin za opservaciju može da pruži okolnosti na osnovu različitih stavki, kao što su (a) aktivnosti, kao što su dolazak ili odlazak; (b) lokacije, kao što je to da li je korisnik na određenoj kategoriji mesta; (c) događaje, kao što je tip događaja koji se dešava tamo gde se korisnik trenutno nalazi; (d) mobilnost, kao što je to da li korisnik hoda ili vozi; ili (e) vremenski odnosi, kao što je to da li korisnik dolazi, odlazi, koliko dugo je korisnik bio tamo, ili statistička verovatnoća da će korisnik da ode u narednih 5 minuta i tako dalje.
[0040] Komplet za razvoj softvera (SDK) za aplikaciju može da zahteva servise za: (a) mesto priključenja, kao što je da se tačno odredi gde se korisnik nalazi, sa niskom stopom lažnih pozitivnih rezultata; (b) detekcija aktivnosti, kao što je malo kašnjenje i visoka tačnost određivanja metoda tranzita (na primer, ovo takođe može da enkapsulira aktivnosti višeg nivoa kao što su „kupovina na malo“ ili „vežbanje“); (c) stanje, kao što je poslednje mesto gde je korisnik bio priključen i odgovarajuće vreme zadržavanja.
[0041] Interfejs može da bude zasnovan na povratnom pozivu, kao što je prethodno objašnjeno. Naročit model je detekcija aktivnosti (koja može da obuhvati i mesto priključenja i otkrivanje događaja). Prilikom pokretanja detekcije aktivnosti, može da se inicira nadzor određenih okolnosti. Ako postoji pozitivan rezultat takav da su okolnosti otkrivene, događaj može da se evidentira, a developerova aplikacija može da bude upozorena na činjenicu da evidencija događaja ima novi unos.
[0042] SL.1 ilustruje sistem 100 za komunikaciju između mobilnog uređaja 105 i prvog servera 110 i drugog servera 115 u skladu sa primerom izvođenja. Korisnik može da bude pridružen sa mobilnim uređajem 105. Mobilni uređaj 105 može da uključuje predajnik 120, prijemnik 125, procesor 130 i memoriju 135, da se navede samo nekoliko od mnogo mogućih komponenti ili elemenata mobilnog uređaja 105. Memorija 135 može da skladišti instrukcije koje procesor 130 može da izvrši i takođe može da skladišti druge informacije u vezi sa mobilnim uređajem 105, kao što je identifikator (ID) mobilnog uređaja 105, ili procenjena lokacija mobilnog uređaja 105. Na primer, procesor 130 može da proceni lokaciju mobilnog uređaja 105. Na primer, procenjena lokacija mobilnog uređaja 105 može da uključuje koordinate geografske širine/dužine za mobilni uređaj 105 ili koordinate zasnovane na nekom drugom koordinatnom sistemu ili konvenciji.
[0043] Aplikacija koja sadrži SDK može da proceni lokaciju mobilnog uređaja na kome se aplikacija pokreće sama od sebe (na strani klijenta). Imajući sposobnost da proceni lokaciju mobilnog uređaja, aplikacija može da bude razumno izolovana od ispada mreže, može da radi na način koji je efikasniji za bateriju (npr. ne pinguje lokacijske servere na periodičnoj ili redovnoj bazi), a takođe može da se ponaša inteligentno uz relativno visok nivo privatnosti (npr. zbog toga što procena lokacije za mobilni uređaj ne mora da se šalje serveru). Aplikacija može, međutim, da komunicira sa „serverom za popločavanje“ (engl. tiling server) ili „serverom za mape“, tako da podaci mogu da budu organizovani i isporučeni u odnosu na određenu geografsku oblast. Server za popločavanje može, na primer, da obezbedi pločice (engl. tiles) sa informacijama o mapi ili podacima za okolno područje, koje mogu da sadrže informacije ili podatke koje aplikacija može da koristi da proceni trenutnu lokaciju mobilnog uređaja koji pokreće ili izvršava aplikaciju. Pločice mape mogu da budu uskladištene u keš memoriji unutar aplikacije, koja sadrži prikaz podataka stvari ili stavki oko mobilnog uređaja u datom trenutku. Ako se utvrdi da će mobilni uređaj verovatno napustiti određenu oblast za koju ima dovoljno podataka na mapi da samostalno radi, aplikacija može da preuzme pločice mape za nove oblasti u koje će mobilni uređaj verovatno biti premešten.
[0044] Predajnik 120 može da prenosi jedan ili više signala. Na primer, predajnik 120 može da prenosi jedan ili više signala ka prvom serveru 110 ili drugom serveru 115. U primeru izvođenja, endžin za opservaciju aplikacije može da se preuzme od prvog servera 110, i developerova aplikacija može da bude preuzeta sa drugog servera 115. U nekim primerima izvođenja, mogu da se koriste više ili manje od dva servera. Prijemnik 125 može da prima jedan ili više signala, kao što su jedan ili više signala primljenih putem komunikacione mreže, od prvog servera 110 ili drugog servera 115.
[0045] SL.2 ilustruje proces 200 za developera aplikacije da konfiguriše ili specificira okolnosti koje SDK aplikacije mobilnog uređaja detektuje u skladu sa primerom izvođenja. Primeri izvođenja u skladu sa predmetnom materijom mogu da uključuju sve od, manje od, ili više od blokova 205-230. Takođe, redosled blokova 205-230 je samo primer redosleda.
[0046] U operaciji 205, developer softvera dodaje SDK biblioteku nekompajliranoj aplikaciji. U operaciji 210, developer softvera definiše podrazumevane okolnosti koje SDK treba da obradi, procesuira ili na drugi način detektuje. Operacija 210 može da se izvede preko programskog koda ili preko obezbeđenog API npr. od strane udaljenog servera ili korišćenjem korisničkog interfejsa sa pristupom API.
[0047] U operaciji 215, developer softvera pridružuje određene okolnosti sa različitim metodama povratnog poziva. Na primer, developer softvera može da naznači direktive za reagovanje na otkrivanje jedne ili više određenih okolnosti. Direktiva može, na primer, da naznači da funkcija povratnog poziva treba da se prizove nakon detekcije jedne ili više specifičnih okolnosti. „Povratni poziv“ (engl. callback) ili „funkcija povratnog poziva“ (engl. callback function), kako se ovde koriste, odnose se na deo izvršnog koda koji se prosleđuje kao argument drugom kodu. Na primer, povratni poziv može da se koristi za „povratni poziv“ ili prizivanje na izvršenje argumenta u određeno ili na drugi način prikladno vreme. U jednom primeru, povratni poziv može da prizove određenu funkciju. Na primer, ako se otkrije specifična okolnost koja označava to da je korisnik izašao sa koncerta, povratni poziv može da prizove funkciju za pozivanje taksija, kao što je preko aplikacije za taksi ili aplikacije za deljenje vožnje. Povratni poziv može da prizove funkciju u okviru iste aplikacije ili može da pokrene izvršenje druge aplikacije, kao što je aplikacija za deljenje vožnje kao što je objašnjeno gore. U drugom primeru, ako se detektuju određene okolnosti, kao što su one koje ukazuju na to da je korisnik bio u restoranu pre tri sata i da je sada kod kuće već 30 minuta, može da se prizove funkcija za pravljenje upita korisniku da napiše recenziju za restoran. U još jednom primeru, ako detektovane okolnosti ukazuju na to da je korisnik stigao u određeni restoran i ima rezervaciju za večeru, povratni poziv može da prizove funkciju da obavesti druge članove rezervacije za večeru, kao što je putem tekstualne poruke ili čekiranjem korisnika u restoran na aplikaciji društvene mreže, kako bi se označilo da je korisnik stigao u restoran.
[0048] Pozivajući se ponovo na SL. 2, developer softvera može da kompajlira aplikaciju u operaciji 220. Kompajlirana aplikacija može da se otpremi u prodavnicu aplikacija, server, bazu podataka ili neku drugu lokaciju sa koje kompajlirana aplikacija može da se preuzme, uzme ili joj na drugi način može pristupiti krajnji korisnik. U operaciji 225, krajnji korisnik može da preuzme i izvrši ili na drugi način pokrene kompajliranu aplikaciju. U operaciji 230, aplikacija može da preuzme nove ili ažurirane definicije okolnosti ili može da koristi podrazumevane okolnosti. Na primer, definicije okolnosti mogu da se ažuriraju tokom vremena, na primer periodično ili na drugi način, a aplikacija može da preuzme nove ili ažurirane definicije okolnosti.
[0049] Neke okolnosti su zavisne od korisnika, a neke nisu. Na primer, neke okolnosti mogu da budu određene na osnovu određenih aktivnosti korisnika, kao što su to da li je korisnik u okviru određene lokacije ili mesta od značaja, ili to da li korisnik izvršava određenu aktivnost, da se navede samo par primera. Neke okolnosti su nezavisne od korisnika, kao što su određeni vremenski uslovi, pojava određenih vesti ili sportskih događaja, ili detekcija određenih praznika, da se navede samo nekoliko primera. Neke okolnosti mogu da budu detektovane na osnovu informacija koje pruža operativni sistem izvršnog programskog koda za aplikaciju ili koji na neki drugi način pokreće aplikaciju. Na primer, operativni sistem može da obrađuje sirove senzorske podatke i načini svoje sopstvene opservacije. Na primer, operativni sistem može nezavisno da odredi da je korisnik stao negde na dovoljno dug vremenski period da bi bio razumno primetan, kao što je slučaj kada sirovi senzorski podaci sadrže očitavanja akcelerometra koja se uzimaju na svaku 1/10 sekunde. Slično tome, operativni sistem može da primeti da se mobilni uređaj korisnika pomerio u zonu servisa drugog tornja mobilne telefonije. Endžin za opservaciju, kako je ovde razmatrano, može da ima pristup različitim tipovima ulaznih podataka, koji mogu da se iskoriste za stvaranje sopstvenih opservacija.
[0050] U još jednom primeru, endžin za opservaciju može da povuče različite tipove informacija ili podataka ili svojstava iz operativnog sistema mobilnog uređaja. Na primer, ukoliko mobilni uređaj ima aplikaciju za vremensku prognozu, operativni sistem može da povuče ili na neki drugi način nabavi trenutne podatke ili prognozu o vremenskim uslovima, koji mogu da se proslede ka endžinu za opservaciju, kao što je ovde objašnjeno. Slično, operativni sistem može da odredi da li je korisnik poslao poruku ili pozvao određeni specifični broj, osobu, ili mesto ili mesto od značaja i može da prosledi ovu informaciju ka endžinu za opservaciju.
[0051] „Svojstvo operativnog sistema“, kako se ovde koristi, odnosi se na podatke ili informacije dostupne iz operativnog sistema. Na primer, jednom ili više senzora na mobilnom može da se pristupi kroz operativni sistem. U skladu sa tim, svojstvo operativnog sistema može da uključuje podatke ili informacije kojima može da se pristupi putem operativnog sistema, uključujući i (a) podatke ili izlazne informacije operativnog sistema, i (b) podatke ili informacije kojima može da se pristupi putem, čak i ukoliko nisu nužno izlaz iz, operativnog sistema. Svojstvo operativnog sistema može da uključuje npr. informacije dostupne iz ili kroz operativni sistem, uključujući informacije od različitih senzora kao i atribute operativnog sistema ili uređaja kao što su tip, verzija, memorija, ili raspoloživi kapacitet baterije, da se navede samo par među mnoštvom primera.
[0052] Primer informacija ili podataka koji mogu da se prosleđuju endžinu za opservaciju može da uključuje scenario u kojem operativni sistem utvrđuje da je korisnikov mobilni uređaj promenio tornjeve mobilne telefonije koji pružaju servis i da se to (Apple-ova terminologija) smatra „značajnom promenom“ (engl. Significant Change) u skladu sa Apple™ iPhone operativnim sistemom (IOS). Na primer, operativni sistem može da obavesti endžin za opservaciju da je došlo do promene servisnog tornja mobilne telefonije. Takvo obaveštenje može da sadrži novu procenu lokacije ili koordinate kao što su geografska širina i dužina. Endžin za opservaciju može da koristi ove informacije ili podatke (i takođe može da zahteva neke druge informacije ili podatke) da bi procenio trenutnu okolnost. Ovaj proces može, na primer, da obuhvata relativno kontinuirani sled događaja koji se prosleđuju u endžin za opservaciju.
[0053] Primer informacija ili podataka koje može da povuče endžin za opservaciju može da uključuje scenario u kojem je endžin za opservaciju pokrenuo tajmer i utvrdio da nije proverio da li se nešto promenilo u određenom vremenskom periodu, kao npr. u poslednjih pet minuta. Endžin za opservaciju može da povuče ili zahteva, iz operativnog sistema, trenutnu geografsku širinu/dužinu ili nadmorsku visinu, da se navede samo nekoliko primera, i može da koristi ove informacije ili podatke da proceni trenutnu okolnost.
[0054] Primeri različitih okolnosti i željenih odgovora ili radnji prikazani su ispod u Tabeli A.
Tabela A
Kao što je prikazano u Tabeli A, različiti primeri okolnosti i željenih odgovora ili radnje uključuju (a) ako je korisnik na parkingu velikog maloprodajnog centra, onda obaveštava korisnika o akcijama dostupnim na toj specifičnoj lokaciji velikog maloprodajnog centra; (b) ukoliko je korisnik upravo napustio veliki maloprodajni centar, onda pravi upit korisniku da popuni anketu o njegovom ili njenom iskustvu u kupovini; (c) ukoliko korisnik posećuje isti kafić tri dana za redom, onda pita da li korisnik želi unapred da poruči kafu za sutrašnji put do posla; (d) ukoliko je korisnik u saobraćaju i skrenuo je sa normalne putanje do posla, onda pita da li korisnik želi kafu iz alternativnog Starbucks-a pored kog će on ili ona uskoro da prođe; i (e) ukoliko korisnik uskoro napušta koncert na koji je on ili ona doputovao/la korišćenjem aplikacije za deljenje vožnje, onda pravi upit da se uputi poziv za vožnju do kuće. Developer može da izabere okolnosti i željene odgovore ili radnje u operaciji 210 putem, npr. prenošenja poruke koja treba da bude primljena ili otpremljena u endžin za opservaciju aplikacije na korisnikovom mobilnom uređaju u operaciji 215.
[0055] SL. 3 ilustruje mobilni uređaj 300 u skladu sa primerom izvođenja. Kao što je prikazano, mobilni uređaj 300 može da pokrene ili izvršava, kao što je putem procesora, developerovu aplikaciju 310. Developerova aplikacija 310 može da uključuje endžin 305 za opservaciju. Kao što je prethodno objašnjeno iznad, SDK koji sadrži endžin 305 za opservaciju može da bude prikačen, ili na neki drugi način dodat na developerovu aplikaciju 310.
[0056] SL. 4 ilustruje proces 400 za endžin za opservaciju da nadgleda mobilni uređaj da bi detektovao pojavu jedne ili više specifičnih okolnosti u skladu sa primerom izvođenja. Primeri izvođenja u skladu sa zahtevanom predmetom materijom mogu da uključuju sve, manje od ili više od blokova 405-425. Takođe, redosled blokova 405-425 je samo primer redosleda.
[0057] U operaciji 405, izlaz senzora, kao što su merenja ili drugi podaci, kao što su senzori koji ukazuju na kretanje mobilnog uređaja, i svojstva operativnog sistema nadgledaju se i obrađuju, kao što je prethodno razmotreno. Izlaz senzora može da uključuje, na primer, očitavanje ili merenje pomoću akcelerometra ili procenu lokacije kao što su geografske koordinate, koje mogu da uključuju koordinate geografske širine/dužine. Svojstva operativnog sistema mogu da uključuju informacije koje se guraju iz operativnog sistema u endžin za opservaciju, ili ih izvlači endžin za opservaciju iz operativnog sistema, kao što je prethodno razmotreno gore. U operaciji 410, opservacije se određuju na osnovu, barem delimično, obrađenog izlaza senzora i svojstava operativnog sistema. U operaciji 415, utvrđuje se da li su specifične ili definisane okolnosti detektovane, barem delimično, na osnovu opservacija. Kao što je razmotreno gore, okolnosti mogu da budu specificirane, definisane ili na drugi način identifikovane a priori od strane developera softvera. Ako okolnosti nisu otkrivene u operaciji 415, tada se obrada vraća na operaciju 405. Međutim, ako se okolnosti detektuju u operaciji 415, tada se otkrivene okolnosti skladište u evidenciji u memoriji ili na drugom skladištu uređaja zajedno sa vremenom detekcije tokom operacije 420. Informacije uskladištene u evidenciji mogu periodično da se prenose na server ili drugi uređaj radi analize, kao što je od strane developera aplikacije. Na primer, direktive koje ukazuju na to koji određeni povratni pozivi ili drugi odgovori da se izvode bar delimično kao odgovor na detekciju okolnosti mogu da budu modifikovane od strane developera aplikacije na osnovu, barem delimično, informacija iz evidencije.
[0058] U operaciji 425, povratni poziv se inicira kako bi prizvao određenu funkciju. Na primer, ukoliko developer ima aplikaciju za deljenje vožnje i detektovane okolnosti ili uslovi upućuju na to da korisnik napušta događaj i da može biti spreman za vožnju do kuće, povratni poziv može da bude iniciran ka developerovoj aplikaciji za deljenje vožnje.
[0059] Kao što je razmotreno iznad, okolnosti mogu da budu identifikovane ili selektovane od strane developera aplikacije, kao što je da developer koji otprema ili na drugi način pruža definicije okolnosti kao što je putem stringa. String napravljen za okolnosti može da sadrži proizvoljni identifikator, reč, tag ili drugi skup bajtova koje definiše developer kada se kreira pravilo okolnosti. Pravilo okolnosti ne mora da bude jedinstveno, tako da se više pravila može povezati da bi se dobio uniforman rezultat.
[0060] Kao što je ovde razmotreno, mobilni uređaj ili neki drugi tip uređaja može da izvršava ili pokreće neki operativni sistem. Endžin za opservaciju može da dobije podatke senzora iz operativnog sistema, a podaci senzora mogu da se obrade da bi se odredila jedna ili više „opservacija“. Takve opservacije mogu da se obrade da bi se utvrdilo da li je specifična okolnost ispunjena i, ako jeste, ova odluka može da bude zabeležena u istorijskoj evidenciji, kao što je u memoriji. U primeru izvođenju, može da postoji minimalni razlog za upozorenje korisnika, kao što je ako je utvrđeno da korisnik ima određene geografske koordinate geografske širine/dužine koje odgovaraju određenom mestu ili tački od interesa, kao što je određeni Starbucks™.
[0061] U primeru izvođenja, usluga može da bude obezbeđena pri čemu hosting aplikacija može da pošalje upit da odredi da li je korisnik mobilnog uređaja ispunio specifične okolnosti ili set okolnosti, na primer.
[0062] Tabele B-F, kao što je prikazano ispod, ilustruju različite informacije o okolnostima, kao što su kategorija, naslov ili ime, i definicije za okolnosti.
[0063] Tabela B ilustruje okolnosti zasnovane na aktivnosti korisnika. Kao što je prikazano ispod, „Stigao“ može da označava to da je korisnik na određenom mestu. „Otišao“ može da označava to da je korisnik napustio određeno mesto. „Verovatno stiže uskoro“ može da označava da se predviđa da će korisnik stići na mesto „uskoro“, pri čemu ovo predviđanje može da bude zasnovano na brzini, vremenu početka poznatog događaja, i time da se korisnik nalazi na određenom mestu. „Verovatno odlazi uskoro“ može da označava da se predviđa da će korisnik napustiti mesto „uskoro“, pri čemu ova predikcija može da bude zasnovana na stavkama kao što su prosečno vreme zadržavanja, brzina i vreme zatvaranja. „Blizu“ može da zahteva parametar podešavanja kao što je „dostižan pešaka“, „dostižan vožnjom“ ili 400 m. „Verovatno ubrzo prolazi“ može da bude zasnovano na brzini, pravcu i poznatoj putanji. „Odstupanje od uobičajene rute“ može da predstavlja odstupanje od uobičajene putanje korisnika na posao, na osnovu brzine i pravca.
Tabela B
[0064] Tabela C ilustruje okolnosti zasnovane na korisnikovoj lokaciji. Kao što je prikazano ispod, „Specifičan POI“ (engl. point of interest) može da označava da se korisnik nalazi na određenom mestu na osnovu ID-a. „POI po kategoriji“ može da označava da je korisnik na mestu koje se identifikuje na osnovu kategorije. „Lančani POI“ može da označava da se mesto identifikuje pomoću određenog lančanog ID-a. „U zajedničkom AOA“ može da označava da se korisnik nalazi na mestu, određenom na osnovu informacija od izvora informacija o korisniku uređaja (odavde nadalje „Izvor Publike“), kao što je npr. server, memorija, ili baza podataka koji mogu da skladište podatke o poznatoj ili predviđenoj publici od određenog korisnika. „Kuća“ može da označava da je korisnik na lokaciji određenoj na osnovu informacija iz Izvora Publike. „Posao“ može da označava da se korisnik nalazi na lokaciji određenoj na osnovu informacija iz Izvora Publike.
Tabela C
[0065] Tabela D ilustruje okolnosti na osnovu uslova lokacije (javljaju se uslovi koji se potencijalno preklapaju). Kao što je prikazano ispod, „Sada (nije) otvoreno“ može da označava da mesto ili tačka od interesa, kao što je neka poslovnica ili mesto održavanja nije otvoreno i može da se odredi na osnovu radnog vremena iz izvora informacija o ili mestima ili tačkama od interesa (u daljem tekstu „Izvor o Mestima od Interesa), kao što su npr. server, memorija, ili baza podataka koji mogu da skladište informacije o poznatim ili predviđenim informacijama o lokaciji, kao što je mesto održavanja ili struktura. „Trenutno se ovde održava događaj“ može da označava da se na mestu ili tački od interesa trenutno održava događaj, kao što je koncert ili sastanak, na primer, i može da se odredi na osnovu izvora informacija o događajima (u daljem tekstu „Izvor o Događajima“), kao što su npr. server, memorija, ili baza podataka koji mogu da skladište informacije o poznatim ili predviđenim informacijama o događaju. „Trenutno se održava događaj određene kategorije“ može da označava da li se na mestu ili tački od interesa trenutno održava neki događaj, kao što je privatna žurka, na primer, i može da se utvrdi na osnovu informacija o informacijama iz Izvora o Događajima. „Bilo koji uslov mesta (npr. ocena, rang, cena, itd.)“ može da označava prisustvo određene ocene, kao što je ocena od 5 zvezdica za restoran ili mesto od interesa, na primer, i može da se utvrdi iz informacija iz Izvora o Mestima od Interesa.
Tabela D
[0066] Tabela E ilustruje okolnosti zasnovane na uslovima mobilnosti (ovo može da sadrži niz uslova koji se potencijalno preklapaju). Kao što je prikazano ispod, „Hodanje“ može da se odredi na osnovu merenja senzora sa mobilnog uređaja korisnika. Merenja senzora mogu, na primer, da uključuju merenja koja mogu da ukažu na kretanje, kao što su merenja pomoću akcelerometra ili žiroskopa ili procene lokacije za mobilni uređaj i/ili korisnika mobilnog uređaja ili nekog drugog uređaja, kao što su koordinate globalnog sistema pozicioniranja (GPS). „U automobilu“ može da se odredi na osnovu merenja senzora. „Letenje“ može da se odredi na osnovu merenja senzora. „U autobusu“ može da se odredi na osnovu merenja senzora. „U metrou/vozu“ može da se odredi na osnovu merenja senzora. „Na biciklu“ može da se odredi na osnovu merenja senzora. „U saobraćaju“ može da se odredi na osnovu merenja senzora kao što su procene lokacije ili podaci akcelerometra za mobilni uređaj koji pokazuju naizmenično i sporadično kretanje. „Zaustavljeno“ može da se odredi na osnovu merenja senzora kao što su procene lokacije ili podaci akcelerometra. „Trčanje“ može da se odredi na osnovu merenja senzora. „U liftu“ može da se odredi na osnovu merenja senzora. „Krivudanje“ može da se odredi na osnovu naizmeničnog i sporadičnog hodanja bez cilja koje liči na kupovinu u maloprodajnom objektu.
Tabela E
[0067] Tabela F ilustruje okolnosti zasnovane na vremenskim uslovima (niz potencijalnih preklapanja). Kao što je prikazano ispod, „Opseg datuma/vremena“ može da znači da je vreme unutar određenog početnog/završnog datuma i/ili vremena. „Dan u nedelji koji se ponavlja“ može da znači da je taj dan određeni dan u nedelji, kao što je „sreda“. „Dan u mesecu koji se ponavlja“ može da znači da je taj dan određeni dan u mesecu, kao što je „svaki 1. u mesecu“. „Doba dana koje se ponavlja“ može značiti da je doba dana određeno doba dana, kao što je „13:00“. „Saobraćani špic“ može da znači da je doba dana u okvirima određene labave procene, kao što su 7-9 ujutru ili 4-6 popodne. „Dnevno svetlo“ može značiti da postoji dnevno svetlo i može da se odredi na osnovu lokalnih informacija na osnovu koordinata geografske širine/dužine. „Premašuje specifično vreme zadržavanja“ može da znači da je korisnik bio na istoj lokaciji duže od vremenskog praga.
Tabela F
[0068] Endžin za opservaciju aplikacije može da nadgleda ili održava trenutnu ili tekuću evidenciju aktivnosti, poseta i ukupnih okolnosti i odgovarajućih doba dana pri kojima se okolnosti posmatraju.
[0069] Kao što je razmotreno gore, okolnost može da označava da je korisnik blizu, stiže, ili odlazi sa određenog mesta ili događaja. Mesta mogu da uključuju specifična mesta (npr. Medison skver garden, LAX); kategorije mesta (npr. svi Starbucks lokali, sportski kafići, šoping centri); u odnosu na korisnika (npr. kuća, posao, uobičajeno posećivana mesta); ili mesta na kojima se održava događaj (npr. CES, utakmice Lejkersa, koncerti), da se navede samo nekoliko primera. Okolnost može takođe da označava da je korisnik promenio aktivnost, kao što je ići peške, krivudati, u automobilu, u avionu, u vozu, u autobusu, na biciklu, ili u gužvi, da se navede samo nekoliko primera.
[0070] Endžin za opservaciju može da primeti različite kombinacije svega iznad, kao što su (a) u kolima I odlazi s posla; (b) vozi ILI je u autobusu I u saobraćaju; (c) NIJE kod kuće, na primer.
[0071] Endžin za opservaciju može da koristi mašinsko učenje da obradi širok spektar signala i interpretira gde se korisnici nalaze i šta rade na najsmisleniji način. Dok endžin za opservaciju obrađuje više informacija ili podataka, model može da nastavi da se poboljšava. Ako geo-koordinata ukazuje na to da je korisnik u baru, endžin za opservaciju može da protumači da će korisnik uskoro da napusti bar i da će verovatno tražiti taksi.
[0072] Endžin za opservaciju može da ima relativno blisku integraciju sa mobilnim uređajem tako da signali mogu da se prime ili skupljaju na efikasan način. Endžin sa mašinskim učenjem sa klijentske strane, može da proceni lokaciju. Endžin za opservaciju može da koristi detekciju aktivnosti akcelerometrom. Bežična (OTA) ažuriranja mogu da pomognu endžinu za opservacije sa štednjom energije, podešavanjima privatnosti i modelima mašinskog učenja.
[0073] Ukoliko je okolnost pronađena ili detektovana, developerova aplikacija može da bude obaveštena pomoću povratnog poziva. Takav povratni poziv može da uključuje i string koji identifikuje detektovanu okolnost, kao i objekat koji sadrži sve razne informacije ili metapodatke (npr. aktivnost, lokacija, itd.) i vreme u kom je okolnost detektovana (kao što je epoha, ili sekunde ili vreme od uključenja, na primer).
[0074] Cilj developera aplikacije može biti da koristi OTA ažuriranja kako bi mogao da se prebacuje između strategija za detekciju. OTA sistem može da sadrži konfiguraciju koja sadrži: (a) podešavanja oko prikupljanja informacija (koliko često anketirati, kakve usluge lokacije koristiti, koje druge usluge anketirati, itd.); (b) podešavanje oko privatnosti (šta bi trebalo, a šta ne bi trebalo da se prikuplja, ili kada treba primeniti fleg „ne prati“ na podatke koji se prikupljaju.); (c) informacije o konfiguraciji ili podaci za merenja senzora koji ukazuju na određene vrste kretanja ili aktivnosti; (d) informacije o konfiguraciji ili podaci za mesto priključenja; i/ili (e) informacije o konfiguraciji ili podacima za endžin pravila o okolnostima.
[0075] Endžin za opservaciju može da ima podrazumevanu konfiguraciju koja je u paketu sa njim kada se ubacuje u aplikaciju. Ova podrazumevana konfiguracija može da bude definisana od strane developera. Podrazumevana konfiguracija može da sadrži blanket konfiguraciju, kao što je podešeno za aplikaciju i za operativni sistem.
[0076] Ukoliko se developerova aplikacija pokrene ili na neki drugi način počne da se izvršava ili pokreće po prvi put na mobilnom uređaju, developerova aplikacija može da zahteva informacije o konfiguraciji kao što je konfiguraciona datoteka preko konfiguracionog API-ja. Zahtev za konfiguracioni API može da obezbedi određene parametre kao što su operativni sistem (OS), broj verzije OS-a, naziv mobilnog operatera i pozivni broj zemlje, korisnički identifikator (Id), lokalitet, jezik i API ključ. Veb servis može, na primer, da vrati ili na drugi način obezbedi odgovarajući objekat konfiguracije, kao što je dobijen iz baze podataka ili servera. Prilikom narednih pokretanja, developerova aplikacija može da utvrdi da li je prošlo više od određene količine vremena, kao što je 24 sata, od kada je primljen prethodni objekat konfiguracije. Ako jeste, developerova aplikacija može da proveri da li je dostupna novija konfiguracija i, ako jeste, da je preuzme.
[0077] Trajni ID uređaja može da se koristi za zahteve baze podataka za informacijama kao što su informacije koje se odnose na bazu podataka publike. Ovaj ID može da se koristi za povezivanje zahteva tako da se dugoročni trendovi mogu posmatrati kako bi se poboljšao kvalitet endžina za opservaciju.
[0078] Neki delovi detaljnog opisa su ovde predstavljeni u smislu algoritama ili simboličkih reprezentacija operacija na binarnim digitalnim signalima uskladištenim u memoriji određenog aparata ili računarskog uređaja ili platforme sa posebnom namenom. U kontekstu ove naročite specifikacije, termin specifični aparat ili slično uključuje računar opšte namene kada je programiran da obavlja određene funkcije u skladu sa uputstvima iz programskog softvera. Algoritamski opisi ili simbolički prikazi su primeri tehnika koje koriste oni sa uobičajenim veštinama u obradi signala ili srodnim veštinama da prenesu suštinu svog rada drugima koji su stručni u ovoj oblasti. Algoritam se ovde, i generalno, smatra samokonzistentnom sekvencom operacija ili sličnom obradom signala koja vodi do željenog rezultata. U ovom kontekstu, operacije ili obrada podrazumevaju fizičku manipulaciju fizičkih količina. Obično, iako ne nužno, takve količine mogu da budu u obliku električnih ili magnetnih signala koji mogu da se skladište, prenesu, kombinuju, upoređuju ili da se njima na drugi način manipuliše.
[0079] Dokazalo se korisnim povremeno, naročito iz razloga uobičajene upotrebe, da se takvi signali pominju kao bitovi, podaci, vrednosti, elementi, simboli, karakteri, termini, brojevi, cifre ili slično. Treba da se razume da, međutim, svi od ovih ili sličnih termina treba da budu pridruženi sa odgovarajućim fizičkim količinama i da su samo zgodne oznake. Osim ukoliko nije specifično navedeno drugačije, kao što je očigledno iz sledeće diskusije, uvažava se da se u ovoj specifikaciji diskusije koje koriste termine kao što su „obrada“, „računanje“, „kalkulisanje“, „određivanje“ ili slično odnose na radnje ili procese određenog aparata, kao što je računar sa posebnom namenom ili sličan elektronski računarski uređaj sa posebnom namenom. U kontekstu ove specifikacije, dakle, računar sa posebnom namenom ili sličan elektronski računarski uređaj sa posebnom namenom je sposoban da manipuliše ili transformiše signale, obično predstavljene kao fizičke elektronske ili magnetne veličine unutar memorija, registara ili drugih uređaja za skladištenje informacija, uređaja za prenos, ili uređaja za prikaz od računara posebne namene ili sličnih elektronskih računarskih uređaja posebne namene.
[0080] Potrebno je da se razume da zbog lakšeg opisa, mrežni uređaj (takođe označen i kao uređaj za umrežavanje) može da bude izveden i/ili opisan u terminima računarskog uređaja. Međutim, dalje treba razumeti da ovaj opis ni na koji način ne treba tumačiti na taj način da je zahtevana predmetna materija ograničena na jedan primer izvođenja, kao što je računarski uređaj i/ili mrežni uređaj, i, umesto toga, može biti izvedena kao različiti uređaji ili njihove kombinacije, uključujući, na primer, jedan ili više ilustrativnih primera.
[0081] Slično, u ovom kontekstu, termini „skopčano“, „povezano“ i/ili slični termini koriste se generički. Treba razumeti da ovi termini nisu zamišljeni kao sinonimi. Umesto toga, „povezano“ se koristi generički da bi se označilo da su dve ili više komponenti, na primer, u direktnom fizičkom kontaktu, uključujući i električni; dok se „skopčano“ koristi generički što znači da su dve ili više komponenti potencijalno u direktnom fizičkom kontaktu, uključujući i električni; međutim, „skopčano“ se takođe koristi generički da takođe označi da dve ili više komponenti nisu nužno u direktnom kontaktu, ali su ipak u stanju da sarađuju i/ili interaguju. Termin skopčani se takođe generički shvata da znači indirektno povezan, na primer, u odgovarajućem kontekstu.
[0082] Termini „i“, „ili“, „i/ili“ i/ili slični termini, kako se ovde koriste, uključuju mnoštvo značenja za koja se takođe očekuje da zavise bar delom u određenom kontekstu u kom se takvi termini koriste. Tipično, „ili“ ukoliko se koristi za pridruživanje liste, kao što su A, B ili C, znači A, B i C, koji se ovde koristi u inkluzivnom smislu, kao i A, B ili C, koji se ovde koristi u ekskluzivnom smislu. Pored toga, termin „jedan ili više“ i/ili slični termini koriste se za opisivanje bilo koje odlike, strukture i/ili karakteristike u jednini i/ili se takođe koristi za opisivanje množine i/ili neke druge kombinacije odlike, strukture i/ili karakteristike. Isto tako, termin „zasnovano na“ i/ili slični termini shvataju se kao oni koji ne moraju nužno da prenesu ekskluzivni skup faktora, već da omoguće postojanje dodatnih faktora koji nisu nužno izričito opisani. Naravno, za sve prethodno navedeno, naročit kontekst opisa i/ili upotrebe pruža korisne smernice u vezi sa zaključcima koje treba izvući. Treba napomenuti da sledeći opis samo daje jedan ili više ilustrativnih primera i zahtevana predmetna materija nije ograničena na ovaj jedan ili više ilustrativnih primera; međutim, opet, naročiti kontekst opisa i/ili upotrebe pruža korisne smernice u vezi sa zaključcima koje treba izvući.
[0083] Mreža takođe može da uključuje sada poznate i/ili kasnije razvijene aranžmane, derivate i/ili poboljšanja, uključujući, na primer, prošlo, sadašnje i/ili buduće masovno skladištenje, kao što je mrežno zakačeno skladište (engl. NAS – network attached storage), mreža za skladištenje podataka (engl. SAN - storage area network) i/ili drugi oblici na primer računarima i/ili uređajima čitljivih medija. Mreža može da uključuje deo interneta, jednu ili više lokalnih mreža (engl. LAN – local area network), jednu ili više mreža šireg područja (engl. WAN – wide area network), veze žičnog tipa, veze bežičnog tipa, druge veze ili bilo koju njihovu kombinaciju. Dakle, mreža može da bude širom sveta po obimu i/ili opsegu. Slično tome, podmreže, koje mogu da koriste različite arhitekture i/ili mogu da budu suštinski usaglašene i/ili suštinski kompatibilne sa različitim protokolima, kao što su računarski i/ili komunikacioni protokoli (npr. mrežni protokoli), mogu da međusobno sarađuju u okviru veće mreže. U ovom kontekstu, termin podmreža i/ili slični termini, ako se koriste, na primer, u vezi sa mrežom, odnose se na mrežu i/ili njen deo. Podmreže mogu takođe da sadrže linkove, kao što su fizički linkovi, čvorove za povezivanje i/ili skopčavanje, tako da mogu da prenose pakete signala i/ili frejmove između uređaja određenih čvorova, uključujući žičane veze, bežične veze ili njihove kombinacije. Različiti tipovi uređaja, kao što su mrežni uređaji i/ili računarski uređaji, mogu biti dostupni tako da je omogućena interoperabilnost uređaja i/ili, barem u nekim slučajevima, može da bude transparentna za uređaje. U ovom kontekstu, termin transparentan odnosi se na uređaje, kao što su mrežni uređaji i/ili računarski uređaji, koji komuniciraju preko mreže u kojoj su uređaji u mogućnosti da komuniciraju preko posrednih uređaja čvora, ali bez da komunikacioni uređaji obavezno specificiraju jedan ili više posrednih uređaja jednog ili više čvorova i/ili mogu da uključuju komunikaciju kao da posredni uređaji posrednih čvorova nisu nužno uključeni u komunikacioni prenos. Na primer, ruter može da obezbedi link i/ili konekciju između inače odvojenih i/ili nezavisnih LAN-ova. U ovom kontekstu, privatna mreža odnosi se na naročiti, ograničen skup mrežnih uređaja koji mogu da komuniciraju sa drugim mrežnim uređajima u naročitom, ograničenom skupu, kao što je prenos paketa signala i/ili frejmova, na primer, bez potrebe za ponovnim rutiranjem i/ili preusmeravanjem prenosa. Privatna mreža može da sačinjava samostalnu mrežu; međutim, privatna mreža može takođe da sačinjava podskup veće mreže, kao što je, na primer, bez ograničenja, sav ili deo interneta. Tako, na primer, privatna mreža „u oblaku“ može da se odnosi na privatnu mrežu koja obuhvata podskup interneta, na primer. Iako prenos paketa signala i/ili frejmova može da koristi posredne uređaje posrednih čvorova za razmenu paketa signala i/ili prenosa frejmova, ti posredni uređaji ne moraju nužno da budu uključeni u privatnu mrežu jer nisu izvor ili odredište za jedan ili više prenosa paketa signala i/ili frejmova, na primer. U ovom kontekstu se razume da privatna mreža može da obezbedi odlaznu mrežnu komunikaciju uređajima koji nisu u privatnoj mreži, ali uređaji van privatne mreže ne moraju nužno biti u stanju da usmere dolaznu mrežnu komunikaciju ka uređajima uključenim u privatnu mrežu.
[0084] Kao što se ovde koristi, termin „reklama“ i/ili slični termini treba da se odnose na signale i/ili stanja u fizičkom formatu, kao što je digitalni signal i/ili format digitalnog stanja npr. da može biti vidljiv korisniku ukoliko je prikazan i pušten i/ili na drugi način izvršen od strane uređaja, kao što je digitalni uređaj, uključujući, na primer, računarski uređaj, ali koji inače ne mora nužno biti vidljiv ljudima (npr. u digitalnom formatu). Takođe, za jedan ili više primera izvođenja, komponente mogu da sadrže grafički objekat, kao što je, na primer, slika, kao što je digitalna slika, i/ili podobjekte, kao što su njegovi atributi, koji, opet, sadrže fizičke signale i/ili fizička stanja (npr.

Claims (15)

  1. mogu da budu fizički prikazani). U primeru izvođenja, sadržaj može da sadrži, na primer, tekst, slike, audio, video, i/ili druge tipove elektronskih dokumenata i/ili njihovih delova, na primer.
    [0085] Dok su određene primerne tehnike opisane i prikazane ovde upotrebom različitih postupaka i sistema, treba da se razume od stručnjaka iz oblasti da mogu da se naprave različite druge modifikacije, i ekvivalenti mogu da budu zamenjeni, bez skretanja sa zahtevane predmetne materije.
    Patentni zahtevi
    1. Postupak detektovanja okolnosti za korisnika mobilnog uređaja (105), gde postupak sadrži:
    izvođenje (225) od strane jednog ili više procesora (130) mobilnog uređaja (105), program aplikacije koji treba da koristi korisnik mobilnog uređaja (105), program aplikacije sadrži izvršni kod za izvršavanje funkcije, zadatka ili aktivnosti za korisnika, program aplikacije dalje sadrži komplet za razvoj softvera koji sadrži endžin za opservaciju,
    prijem od strane mobilnog uređaja (105) jedne ili više direktiva koje ukazuju da specifična funkcija treba da bude prizvana po detekciji specifičnih okolnosti koje se odnose na akcije korisnika, endžin za opservaciju obrađuje (405) barem jedno od:
    senzorski izlaz od jednog ili više senzora ili bar jedno svojstvo operativnog sistema od operativnog sistema uređaja (105);
    određivanje (410) jedne ili više opservacija sa bar jednog senzorskog izlaza ili bar jedno svojstvo operativnog sistema;
    određivanje (415) da li je jedna ili više specifičnih okolnosti detektovana u okviru jedne ili više opservacija;
    skladištenje (420), u memoriji (135), evidencije detekcije jedne ili više specifičnih okolnosti; i ukazivanje programu aplikacije na to da program aplikacije treba da prizove (425), na osnovu jedne ili više direktiva koje se odnose na specifične okolnosti, specifičnu funkciju mobilnog uređaja (105), bar delimično kao odgovor na detekciju jedne ili više specifičnih okolnosti.
  2. 2. Postupak iz zahteva 1, koji dalje sadrži prijem, od developera aplikacije, skupa jedne ili više specifičnih okolnosti.
  3. 3. Postupak iz zahteva 1, pri čemu je bar jedno svojstvo operativnog sistema pušovano iz operativnog sistema ka endžinu za opservaciju ili povučeno od strane endžina za opservaciju iz operativnog sistema.
  4. 4. Postupak iz zahteva 1, pri čemu bar jedan senzorski izlaz sadrži merenja akcelerometra ili procenu geografskih koordinata.
  5. 5. Postupak iz zahteva 1, pri čemu jedna ili više specifičnih okolnosti sadrži aktivnost, lokaciju, jedan ili više uslova lokacije, jedan ili više uslova mobilnosti, ili jedan ili više vremenskih uslova.
  6. 6. Postupak iz zahteva 1, koji dalje sadrži prijem bežične (OTA) poruke da ažurira jednu ili više direktiva jedne ili više specifičnih okolnosti koje treba da budu detektovane.
  7. 7. Postupak iz zahteva 2, dalje sadrži određivanje da li je korisnik mobilnog uređaja (105) ispunio specifičnu okolnost ili skup okolnosti kao odgovor na upit od aplikacije.
  8. 8. Mobilni uređaj (105), koji sadrži:
    prijemnik (125) da primi jedan ili više elektronskih signala od mreže za elektronsku komunikaciju, signali sadrže jednu ili više direktiva koje ukazuju na to da specifična funkcija treba da se prizove po detekciji specifičnih okolnosti koje se odnose na akcije korisnika;
    memoriju (135) za skladištenje informacije o stanju koja sadrži jednu ili više elektronskih signala; i procesor (130) da izvrši (225) program aplikacije koji treba da koristi korisnik mobilnog uređaja (105), program aplikacije koji sadrži izvršni kod za izvođenje funkcije, zadatka ili aktivnosti za korisnika, program aplikacije dalje sadrži komplet za razvoj softvera koji sadrži endžin za opservaciju konfigurisan da:
    obrađuje (405) bar jedan od: senzorskog izlaza sa jednog ili više senzora i bar jedno svojstvo operativnog sistema mobilnog uređaja (105);
    određuje (410) jednu ili više opservacija od bar jednog senzorskog izlaza ili bar jednog svojstva operativnog sistema;
    određuje (415) da li je jedna ili više specifičnih okolnosti detektovana u okviru jedne ili više opservacija; skladišti (420), u memoriji (135), evidenciju detekcija jedne ili više specifičnih okolnosti; i
    ukazuje programu aplikacije da program aplikacije treba da prizove (425), na osnovu jedne ili više direktiva koje se odnose na specifične okolnosti, specifičnu funkciju, mobilnog uređaja (105), barem delimično kao odgovor na detekciju jedne ili više specifičnih okolnosti.
  9. 9. Mobilni uređaj (105) iz zahteva 8, pri čemu procesor (130) treba da obradi skup jedne ili više specifičnih okolnosti primljenih od developera aplikacije.
  10. 10. Mobilni uređaj (105) iz zahteva 8, pri čemu jedna ili više specifičnih okolnosti sadrži aktivnost, lokaciju, jedan ili više uslova lokacije, jedan ili više uslova mobilnosti, ili jedan ili više vremenskih uslova.
  11. 11. Mobilni uređaj (105) iz zahteva 8, pri čemu procesor (130) dalje treba da obradi primljenu bežičnu (OTA) poruku da ažurira jednu ili više direktiva jedne ili više specifičnih okolnosti koje treba da se detektuju.
  12. 12. Proizvod računarski program, koji sadrži:
    medijum za skladištenje koji sadrži aplikacioni program koji sadrži mašinski čitljive instrukcije koje mogu da se izvršavaju pomoću računarskog aparata posebne namene mobilnog uređaja (105) da izvrši funkciju, zadatak ili aktivnost za korisnika mobilnog uređaja (105), aplikativni program dalje sadrži:
    komplet za razvoj softvera koji sadrži endžin za opservaciju koji ima mašinski čitljive instrukcije koje se mogu izvršiti za:
    obradu (405) bar jednog od: senzorskog izlaza od jednog ili više senzora i bar jednog svojstva operativnog sistema od operativnog sistema mobilnog uređaja (105);
    određivanje (410) jedne ili više opservacija od bar jednog od senzorskih izlaza ili bar jednog svojstva operativnog sistema;
    određivanje (415) da li jedna ili više specifičnih okolnosti detektovana u okviru jedne ili više opservacija;
    skladištenje (420), u memoriji (135), evidencije detekcije jedne ili više specifičnih okolnosti; i
    generisanje jednog ili više binarnih digitalnih signala da označe da program aplikacije treba da prizove (425), na osnovu jedne ili više direktiva koje označavaju da specifična funkcija treba da bude prizvana po detekciji specifičnih okolnosti koje se odnose na akcije korisnika, specifičnu funkciju, mobilnog uređaja, bar delimično kao odgovor na detekciju jedne ili više specifičnih okolnosti.
  13. 13. Proizvod iz zahteva 12, pri čemu mašinski čitljive instrukcije dalje mogu da se izvrše od strane računarskog aparata posebne namene za obradu skupa jedne ili više specifičnih okolnosti primljenih od strane developera aplikacije.
  14. 14. Proizvod iz zahteva 12, pri čemu jedna ili više specifičnih okolnosti sadrži aktivnost, lokaciju, jedan ili više uslova lokacije, jedan ili više uslova mobilnosti, jedan ili više vremenskih uslova.
  15. 15. Proizvod iz zahteva 12, pri čemu mašinski čitljive instrukcije dalje mogu da se izvrše od strane računarskog aparata posebne namene da obradi bežično (OTA) primljenu poruku da ažurira parametre ili direktive jedne ili više specifičnih okolnosti koje treba da se detektuju.
RS20221141A 2018-05-09 2018-05-09 Postupak i uređaj za omogućavanje aplikaciji da detektuje specifične okolnosti RS63807B1 (sr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP18171593.9A EP3567473B1 (en) 2018-05-09 2018-05-09 Method and apparatus for enabling an application to detect specified circumstances

Publications (1)

Publication Number Publication Date
RS63807B1 true RS63807B1 (sr) 2023-01-31

Family

ID=62148234

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20221141A RS63807B1 (sr) 2018-05-09 2018-05-09 Postupak i uređaj za omogućavanje aplikaciji da detektuje specifične okolnosti

Country Status (3)

Country Link
EP (1) EP3567473B1 (sr)
ES (1) ES2930361T3 (sr)
RS (1) RS63807B1 (sr)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495537B2 (en) * 2012-08-15 2016-11-15 Qualcomm Incorporated Adaptive observation of behavioral features on a mobile device

Also Published As

Publication number Publication date
ES2930361T3 (es) 2022-12-09
EP3567473A1 (en) 2019-11-13
EP3567473B1 (en) 2022-09-14

Similar Documents

Publication Publication Date Title
US12443404B2 (en) Method and apparatus for enabling an application to detect specified circumstances
US8892350B2 (en) Journey learning system
US9310518B2 (en) Weather forecasting system and methods
US20150087264A1 (en) Contextually Aware Mobile Device
US10892834B2 (en) Method and system for determining signal strength for a mobile device
US20130158854A1 (en) Navigation System
WO2017031856A1 (zh) 信息预测的方法和装置
US10775178B2 (en) Spatio-temporal re-routing of navigation
KR20210107745A (ko) 비집중형 네트워크에서의 검증
Wu et al. UrbanMobilitySense: A user-centric participatory sensing system for transportation activity surveys
Janabi et al. A new localization mechanism in IoT using grasshopper optimization algorithm and DVHOP algorithm
KR101867548B1 (ko) 무선 신호 특성들에 기초한 이동 기기를 사용하여 사용자의 컨텍스트를 검색하는 방법
US20130159230A1 (en) Data Forgetting System
de Assis et al. Dynamic sensor management: Extending sensor web for near real-time mobile sensor integration in dynamic scenarios
RS63807B1 (sr) Postupak i uređaj za omogućavanje aplikaciji da detektuje specifične okolnosti
HK40017413B (en) Method and apparatus for enabling an application to detect specified circumstances
HK40017413A (en) Method and apparatus for enabling an application to detect specified circumstances
Ha et al. Design and implementation of mobile vehicle monitoring system based on android smartphone
Ragavan et al. A general telematics framework for autonomous service robots
EP4439404A1 (en) Search path determining system and method
RU2769920C2 (ru) Способ и система для определения факта посещения пользователем точки интереса
Meghana et al. Design of an Integrated System for Monitoring Weather and Traffic Based on Internet of Things
Sundararaman et al. Customizable vehicle tracking with intelligent prediction system
Manoah et al. Route Optimisation with OSM & AI
Dou UniShuttle-a small-scale intelligent transport system in the connected mobility digital ecosystem