RS65164B1 - Sistem i postupak za generisanje gui-ja na osnovu predviđanja da bi se poboljšala vremena odziva gui-ja - Google Patents

Sistem i postupak za generisanje gui-ja na osnovu predviđanja da bi se poboljšala vremena odziva gui-ja

Info

Publication number
RS65164B1
RS65164B1 RS20240187A RSP20240187A RS65164B1 RS 65164 B1 RS65164 B1 RS 65164B1 RS 20240187 A RS20240187 A RS 20240187A RS P20240187 A RSP20240187 A RS P20240187A RS 65164 B1 RS65164 B1 RS 65164B1
Authority
RS
Serbia
Prior art keywords
gui
transition
model
navigation
screen
Prior art date
Application number
RS20240187A
Other languages
English (en)
Inventor
Rostislav Koryakin
Original Assignee
Cloudblue Llc
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 Cloudblue Llc filed Critical Cloudblue Llc
Publication of RS65164B1 publication Critical patent/RS65164B1/sr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Electronic shopping [e-shopping] utilising user interfaces specially adapted for shopping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Description

Opis
TEHNIČKA OBLAST
[0001] Ovo otkriće se odnosi na sistem i postupak za dinamičko kreiranje korisničkih navigacionih interfejsa na osnovu predviđanja, da bi se poboljšala vremena odziva navigacionog interfejsa.
POZADINA PRONALASKA
[0002] Grafički korisnički interfejs (engl. GUI – graphic user interface) ili koji se alternativno naziva korisničkim navigacionim interfejsom, uobičajena je karakteristika računarskih sistema i primena dobro poznata onima koji imaju uobičajene veštine u ovoj oblasti. Tradicionalni GUI funkcionišu da bi korisniku predstavili navigacioni interfejs prednjeg kraja (engl. front-end) koji komunicira sa zadnjim krajem (engl. back-end) da bi izvukao podatke i informacije ili izvršio akcije. U takvim tradicionalnim primerima izvođenja, GUI se može smatrati da obezbeđuje određeni kontekst koji uključuje navigacione ili kontrolne stavke kao što su dugme na koje se može kliknuti, link, slajder ili slično. Svrha takvih navigacionih ili kontrolnih stavki je da se omogući korisniku da upravlja GUI-jem kako bi izvršio željenu radnju. Nakon upravljanja GUI-jem koristeći navigacijske ili kontrolne stavke, GUI generiše akciju odgovora koja zahteva da GUI komunicira sa zadnjim krajem. Na primer, ako korisnik želi da preuzme informacije preko GUI-ja, GUI može da uključuje kontrolnu stavku kao što je kontrolna stavka „OTVORI“, koja kada se odradi, pokreće akciju odgovora koja zahteva da GUI preuzme podatke sa operativno povezanog zadnjeg kraja i prikaže takve podatke korisniku preko GUI-ja. U takvim tradicionalnim primerima izvođenja, akcija odgovora zavisi od određene operacije koju je izvršio korisnik (tj. ako korisnik ne odradi kontrolnu stavku „OTVORI“, GUI možda neće morati da preuzima podatke iz zadnjeg kraja kao akciju odgovora).
[0003] Pored preuzimanja podataka sa zadnjeg kraja, kontekst GUI-ja će možda takođe morati da se promeni. Na primer, kontrolne stavke unutar GUI-ja će možda morati da se promene pri čemu prethodno prikazane kontrolne stavke GUI-ja više nisu relevantne. Nastavljajući sa gornjim primerom, nakon što korisnik odradi kontrolnu stavku „OTVORI“ i GUI preuzme podatke sa zadnjeg kraja i prikaže iste, kontrolna stavka „OTVORI“ možda više nije relevantna jer su informacije sada preuzete. U takvom primeru, kontrolna stavka „OTVORI“ može biti zamenjena kontrolnom stavkom „ZATVORI“ koja omogućava korisniku da zatvori ili na drugi način prekine radnju unutar GUI-ja.
[0004] U takvom tradicionalnom primeru izvođenja, buduće stanje GUI-ja (tj. promena na novu kontrolnu stavku) zavisi od akcija korisnika u sadašnjem stanju GUI-ja. Odnosno, kada se akcije izvode u GUI-ju u sadašnjem stanju, GUI će preći u novo/buduće stanje koje može uključivati komunikaciju sa zadnjim krajem da bi se izvršila akcija i u skladu s tim predstavio odgovor korisniku. U takvim primerima izvođenja, odgovor iz zadnjeg kraja može biti odložen ili na neki drugi način uključuje kašnjenje, pri čemu prelazak GUI-ja iz sadašnjeg stanja u novo/buduće stanje takođe može biti odložen. Korisničko iskustvo u takvim slučajevima nije idealno jer korisnik mora da čeka dok GUI čeka odgovor od zadnjeg kraja. Prekomerno vreme čekanja ili kašnjenje uobičajeni su, posebno u situacijama kada je zadnji kraj pod velikim operativnim opterećenjem (tj. GUI-ju je potrebno duže da odgovori na korisničku akciju, jer GUI nije dobio odgovor od zadnjeg kraja i čeka). Dodatno vreme čekanja neizbežno dovodi do lošeg korisničkog iskustva jer korisnik sada kasni u obavljanju svoje operacije ili transakcije.
[0005] Publikacija EP2221719A1 otkriva postupak predviđanja sledećeg koraka za pomoć korisniku za korišćenje mobilnog telefona, koji uključuje određivanje sledećeg ekrana od trenutno prikazanog ekrana u skladu sa verovatnoćama prenosa u modelu za predviđanje korisnika koji je instaliran u određenim uređajima.
[0006] Publikacija US2016/360382A1 otkriva sisteme i postupke za proaktivnu identifikaciju i pojavljivanje relevantnog sadržaja na uređaju osetljivom na dodir.
[0007] Štaviše, bezbednosna razmatranja dodaju dodatne troškove u upravljanju GUI prelazom. Na primer, korisnik koji pokušava da koristi GUI takođe može to da čini i unutar okvira korisničkog ovlašćenja (tj. korisnik ne može da izvrši akciju za koju korisnik nije ovlašćen). Zbog toga, uračunavanje bezbednosnih kontrola dodaje dodatno vreme obrade pri čemu se kašnjenje dodatno povećava.
[0008] U okruženjima brokera servisa u oblaku (engl. CSB – cloud service broker), renderovanje GUI-ja može biti komplikovanije. Funkcionisanje CSB-a je otkriveno u prijavi malog patenta US No. 15/142,256, za POSTUPAK I STANDARD ZA INTEGRACIJU APLIKACIJA U OBLAK. Standard za pakovanje aplikacija (engl. APS – application packaging standard) je postupak za nezavisne prodavce softvera (engl. ISV – independent software vendors) da distribuiraju aplikacije u oblaku (servise u oblaku) kroz CSB-ove i omogućavaju različitim aplikacijama u oblaku da sarađuju preko standardizovanih aplikacionih programskih interfejsa (engl. API – application program interface) koje odlikuje reprezentativni transfer stanja (engl. RESTful). Ovo pomaže ISV-ovima da integrišu svoje aplikacije sa CSB-ovima kod kojih je omogućen APS tako što kreiraju paket konektora (napravljen u skladu sa APS-om) za svaku aplikaciju.
[0009] U nekim tradicionalnim primerima izvođenja, paket konektora može da uključuje arhivski fajl koji sadrži metapodatke, opise metoda kontrole i fajlove sadržaja, koji mogu da se koriste za deklarisanje i definisanje aplikativnih resursa, servisa, komponenti korisničkog interfejsa i logike metode kontrole neophodnih za upravljanje resursima (tj. šema resursa koja se može da se kreira i koja je primenljiva na svaku pojedinačnu aplikaciju). Paket konektora dalje uključuje informacije o GUI-ju aplikacije, kao što su, na primer, raspored ekrana, kontrole za navigaciju, obrasce i slično. Paket konektora može dalje da sadrži deklarativne fajlove koji se koriste za definisanje resursa aplikacije ISV-a i „konektora prednjeg kraja“ – veb-interfejsa koji klijenti CSB-ova vide kada pristupaju CSB interfejsu. U takvim CSB okruženjima, veb-interfejs razvijaju developeri paketa konektora koristeći posebne radne okvire (engl. framework), koji mogu da uključuju vidžete, unapred definisanu strukturu stranice, metode navigacije i mehanizam za umetanje ekrana. Na primer, tipičan konektor prednjeg kraja sastoji se od ekrana umetnutih u unapred definisane prikaze, prilagođene logike za prikazivanje vidžeta i prilagođene navigacione strukture. Vidžeti mogu da prikazuju informacije za koje developer konektora smatra da su vredne za mušteriju odgovarajuće aplikacije u oblaku, npr. izveštavanje o korišćenju, informacije o pretplati i servisima, instrukcije i tako dalje.
[0010] Ova integracija omogućava upravljanje integrisanim aplikacijama u oblaku preko jednog veb panela sa zajedničkim stilom i kolekcijom kontrola (tj. integrisani GUI). Na primer, Dropbox® može da bude jedna od aplikacija dostupnih od ISV-a. Kada korisnik pristupi Dropbox®-u, konektorska aplikacija od Dropbox®-a olakšava aktivnost korisnika tako što predstavlja odgovarajuće ekrane/GUI interfejse (tj. konektorska aplikacija od Dropbox®-a upravlja GUI aktivnošću korisnika). Nastavljajući sa ovim primerom, ako postoji više aplikacija koje su integrisane, GUI može da uključuje brojne interfejse posebno prilagođene svakoj od konkretnih aplikacija. U takvom primeru, svi mogući ekrani moraju biti određeni da bi se integracija između brojnih aplikacija odvijala neprimetno (gledajući iz pozicije korisnika). Međutim, priprema svih kombinacija ekrana zahteva opsežan razvoj, koji se povećava kako se sve više aplikacija integriše. Štaviše, preuzimanje GUI ekrana u realnom vremenu (tj. kada korisnik koristi aplikaciju) stvara sporost jer će CSB okruženje možda morati da izračuna odgovarajući GUI ekran za renderovanje, iz ogromnog broja mogućih kombinacija GUI ekrana.
[0011] Zbog toga postoji potreba za sistemom i postupkom za generisanje GUI na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja.
SUŠTINA PRONALASKA
[0012] Pronalazak je definisan priloženim skupom patentnih zahteva.
Predmetno otkriće se odnosi na sistem i postupak za dinamičko kreiranje korisničkih navigacionih interfejsa na osnovu predviđanja, da bi se poboljšala vremena odziva navigacionog interfejsa. U najmanje jednom primeru izvođenja, pružen je postupak za generisanje ekrana grafičkog korisničkog interfejsa (GUI) na osnovu predviđanja da bi se poboljšala vremena odziva GUI ekrana. Postupak uključuje primanje, na krajnjoj tački, zahteva za prikazom GUI ekrana, gde se GUI ekran sastoji od integrisanog korisničkog interfejsa konstruisanog od mnoštva paketa konektora, validiranje, u prediktoru, validnosti modela za GUI prelaz, gde model za GUI prelaz odgovara svakom od mnoštva paketa konektora, pri čemu validiranje modela za GUI prelaz sadrži proveravanje datuma poslednje modifikacije bezbednosnog opsega, pravljenje, u graditelju modela ponašanja, novog modela za GUI prelaz, gde novi model za GUI prelaz sadrži mnoštvo verovatnoća prelaza za svaki mogući prelaz sa GUI ekrana, gde mnoštvo verovatnoća prelaza bar delimično zavisi od atributa resursa dostupnih svakom od mnoštva paketa konektora, biranje, u graditelju modela ponašanja, verovatnog prelaza iz mnoštva verovatnoća prelaza, gde je verovatni prelaz onaj prelaz na novi GUI ekran koji će najverovatnije biti zatražen, kreiranje u navigacionom modulu, navigacionog stabla barem delimično na osnovu verovatnog prelaza i vraćanje odgovora do krajnje tačke, gde odgovor sadrži navigaciono stablo, i dalje sadrži navigacioni odgovor za novi GUI ekran.
[0013] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak uključuje modele prelaza izabrane iz grupe koja se sastoji od Ngram modela, skrivenog Markovljevog modela i Markovljevog modela maksimalne entropije.
[0014] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak uključuje modele prelaza koji dalje uključuju bustovane klasifikatore izabrane iz grupe koja se sastoji od metode potpornih vektora (engl. SVM – support vector machine), stabla odlučivanja, slučajne šume i K-najbližih suseda.
[0015] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak uključuje zahtev za GUI ekran koji se prima od klijenta i model za GUI prelaz koji uključuje datum modifikacije bezbednosnog opsega.
[0016] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak uključuje proveravanje u prediktoru, da li ima dovoljno podataka za preračunavanje mnoštva verovatnoća prelaza za svaki mogući prelaz sa GUI ekrana, preračunavajući, u prediktoru, mnoštvo verovatnoća prelaza za svaki mogući prelaz sa GUI ekrana, i kreiranje novog modela za GUI prelaz, barem delimično na osnovu podataka, postavljanje, u prediktoru, datuma kreiranja novog modela za GUI prelaz, i upravljanje punjačem keš memorije, gde je punjač keš memorije konfigurisan da zameni originalni model za GUI prelaz u keš memoriji novim modelom za GUI prelaz.
[0017] U najmanje jednom primeru izvođenja predmetnog otkrića, podaci uključuju prelaze GUI ekrana i bustovane klasifikatore. Verovatnoće prelaza dalje uključuju izračunavanje niza verovatnoća, barem delimično na osnovu bustovanim klasifikatorima.
[0018] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak uključuje primanje, na REST krajnjoj tački, navigacionog zahteva za prvi GUI ekran, proveravanje, u prediktoru, datuma modifikacije bezbednosnog opsega, gde datum modifikacije bezbednosnog opsega sadrži skup resursa dostupnih korisniku za koga se i zahteva navigacioni zahtev za prvi GUI ekran, preuzimanje, u prediktoru, modela za GUI prelaz, gde model za GUI prelaz identifikuje novi GUI ekran za prelaz sa prvog GUI ekrana, proveravanje u prediktoru, ako je model verovatnoće prelaza noviji od datuma modifikacije bezbednosnog opsega, i preuzimanje, u prediktoru, odgovora, gde odgovor sadrži navigaciono stablo sa vezom do novog izvornog koda GUI ekrana i trenutnog stanja resursa korisnika neophodnog za izvršavanje izvornog koda GUI ekrana.
[0019] U najmanje jednom primeru izvođenja predmetnog otkrića, navigaciono stablo je navigacioni graf koji prikazuje GUI prelaze. U najmanje jednom primeru izvođenja predmetnog otkrića, postupak uključuje proveru prediktora što uključuje korak čišćenja modela za GUI prelaz i zahtevanje kreiranja novog modela za GUI prelaz, ako je model verovatnoće prelaza stariji.
[0020] U najmanje jednom primeru izvođenja predmetnog otkrića, sistem uključuje platformu brokera servisa u oblaku uključujući prediktor, pri čemu je prediktor konfigurisan da validira model za GUI prelaz proverom datuma poslednjeg modifikacije bezbednosnog opsega, bazu podataka, graditelj modela ponašanja konfigurisan da kreira model za GUI prelaz, punjač keš memorije konfigurisan da preuzme najverovatnije GUI prikaze koje bi korisnik posetio, barem delimično na osnovu modela za GUI prelaz, navigacioni modul konfigurisan da kreira navigacione odgovore, čistač keš memorije konfigurisan za čišćenje keš memorije za odgovore, i REST krajnju tačku konfigurisanu da simulira krajnju tačku GUI navigacionog servisa.
[0021] U najmanje jednom primeru izvođenja predmetnog otkrića, sistem uključuje klijenta koji je operativno povezan sa platformom brokera servisa u oblaku, i konfigurisan da zahteva novi GUI ekran i primi navigacioni odgovor za novi GUI ekran.
[0022] U najmanje jednom primeru izvođenja predmetnog otkrića, kontroler brokera servisa u oblaku sadrži mnoštvo konektorskih aplikacija, gde je svaka od mnoštva konektorskih aplikacija konfigurisana za svaku aplikaciju za integraciju preko platforme brokera servisa u oblaku i pri čemu paketi konektora uključuju module korisničkog interfejsa za konstruisanje navigacionih elemenata, i bezbednosni opseg za svaki od navigacionih elemenata.
KRATAK OPIS CRTEŽA
[0023] Primeri izvođenja i druge karakteristike, prednosti i otkrića obuhvaćena ovde, kao i način njihovog postizanja, postaće očigledni i ovo otkriće će biti bolje shvaćeno pozivanjem na sledeće opise različitih uzornih primera izvođenja predmetnog otkrića uzetih zajedno sa pratećim crtežima, u kojima:
SL. 1A prikazuje primeran dijagram stanja navigacione putanje sa svim mogućim navigacionim prelazima.
SL. 1B prikazuje primeran dijagram stanja jednostavne navigacione putanje.
SL. 1C prikazuje primerno stablo navigacije sastavljeno preko čuvara mesta (engl. placeholder) (prethodno stanje tehnike).
SL. 2 prikazuje šematski crtež sistema za generisanje GUI-ja na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja.
SL. 3 prikazuje šematski crtež sistema za generisanje GUI na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja.
SL. 4 prikazuje šematski crtež postupka za generisanje GUI na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja.
SL. 5 prikazuje šematski crtež postupka za generisanje GUI na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja.
SL. 6 prikazuje šematski crtež postupka za generisanje GUI na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja.
DETALJAN OPIS
[0024] U svrhu unapređenja razumevanja principa predmetnog otkrića, sada će se pozvati na primere izvođenja ilustrovane na crtežima, a za opisivanje istih će se koristiti naročit jezik. Ipak, biće shvaćeno da se time ne namerava da ograničavanje obima predmetnog otkrića.
[0025] Ovaj detaljni opis je predstavljen u smislu programa, struktura podataka ili procedura koje se izvršavaju na računaru ili mreži računara. Softverski programi koje sistem implementira mogu biti napisani na bilo kom programskom jeziku - interpretirani, kompajlirani ili na neki drugi način. Ovi jezici mogu da uključuju, ali nisu ograničeni na, Xcode, iOS, cocoa, cocoa touch, MacRuby, PHP, ASP.net, HTML, HTML5, Ruby, Perl, Java, Python, C++, C#, JavaScript, i/ili Go programski jezik. Trebalo bi razumeti, naravno, da će stručnjak u ovoj oblasti razumeti da drugi jezici mogu da se koriste umesto njih, ili u kombinaciji sa gorepomenutim, i da takođe mogu da se koriste radni okviri za veb i/ili mobilne aplikacije, kao što su npr. Ruby on Rails, System.js, Zend, Symfony, Revel, Django, Struts, Spring, Play, Jo, Twitter Bootstrap i drugi. Dalje bi trebalo da bude shvaćeno da sistemi i postupci koji su ovde otkriveni mogu da budu otelotvoreni u softveru-kao-servisu dostupnom preko računarske mreže, kao što je, na primer, Internet. Dalje, predmetno otkriće može da omogući veb servise, aplikacione programske interfejse i/ili servisno orijentisanu arhitekturu kroz jedan ili više aplikacionih programskih interfejsa ili na drugi način.
[0026] Pozivajući se na Sl.1A, prikazan je primeran dijagrama stanja navigacione putanje sa svim mogućim navigacionim prelazima, generalno označen sa 100. Dijagram 100 stanja uključuje mnoštvo GUI stanja (tj.102, 104, 106, 108, 110 i 112). U najmanje jednom primeru izvođenja predmetnog otkrića, svako GUI stanje indikativno je za sadašnje GUI stanje. Na primer, kada korisnik prvi put koristi GUI, GUI može da bude inicijalizovan na GUI stanje 102 (Početno) i GUI može da se odlikuje pratećim informacijama ili kontrolnim stavkama u sebi, odgovarajućim za GUI stanje 102. Za svako od GUI stanja, postoji bar jedan prelaz u drugo GUI stanje. Kao primer, GUI stanje 102 (Početno) ima samo jedan prelaz 102A u GUI stanje 104 (Lista Korisnika); GUI stanje 112 (Dodela Servisa) uključuje prelaz 112A u GUI stanje 102, i prelaz 112B u GUI stanje 104. Trebalo bi da se razume da prelaz GUI stanja ukazuje na akciju ili operaciju (npr. koju korisnik obavlja operacijom nad GUI kontrolnom stavkom), koja vrši prelaz za GUI iz sadašnjeg stanja u sledeće/buduće stanje. Nastavljajući sa gornjim primerom, ako je GUI inicijalizovan na GUI stanje 102, operacija(e) dostupne unutar GUI stanja 102 će prizvati prelaz 102A tako da GUI pređe u GUI stanje 104. Slično, ako je GUI stanje trenutno u GUI stanju 112, korisniku mogu da budu predstavljene GUI funkcije koje mogu operativno da budu izabrane da puste GUI u GUI stanje 102 (preko prelaza 112A), ili u GUI stanje 104 (preko prelaza 112B). Dalje će se razumeti da dijagram stanja prikazuje sve moguće navigacione prelaze s obzirom na sadašnje GUI stanje. Razumeće se da svako od GUI stanja može nezavisno da se kreira od strane ISV-a za svoje respektivne aplikacije.
[0027] Pozivajući se sada na SL. 1B, prikazan je primeran dijagram 150 stanja, jednostavne navigacione putanje, prema najmanje jednom primeru izvođenja predmetnog otkrića. U dijagramu 150 stanja, GUI stanje 102 je inicijalno stanje (tj. korisnik je inicijalizovan da vidi GUI kao što je predstavljeno u GUI stanju 102). Kao primer, nakon operacije GUI-ja, GUI prelazi u GUI stanje 104 preko prelaza 102A; u GUI stanju 104, GUI prelazi operacijom u GUI stanje 110, preko prelaza 104A; u GUI stanju 110, GUI prelazi operacijom u GUI stanje 112, preko prelaza 11A; u GUI stanju 112, GUI prelazi operacijom u GUI stanje 108, preko prelaza 112B; u GUI stanju 108, GUI prelazi operacijom u GUI stanje 106, preko prelaza 108A; i konačno, u GUI stanju 106, GUI prelazi u GUI stanje 104, preko prelaza 106A.
[0028] Nastavljajući sa ovim prikazanim primerom izvođenja, biće shvaćeno da dijagram 150 stanja pokazuje navigacionu putanju pri čemu korisnik vrši operacije duž ove navigacione putanje da bi postigao određeni zadatak. Na primer, da bi se obezbedio korisnik na platformi brokera servisa u oblaku (CSB) (kao što je nadalje otkriveno ovde), administrator će biti inicijalizovan da počne na ekranu Početno (GUI stanje 102), gde ekran Početno ekran može da bude početna tačka koja je dostupna na kontrolnoj tabli CSB platforme. Na ekranu Početno (GUI stanje 102), administratoru se može prikazati meni koji uključuje najmanje jednu kontrolnu stavku, kao što je link do liste korisnika. Po vršenju operacije nad kontrolnom stavkom (tj. klika na vezu ka korisničkoj listi), GUI prelazi na ekran Lista Korisnika (GUI stanje 104). Biće shvaćeno da se na svakom GUI ekranu (tj. GUI stanju) može pružiti lista dostupnih kontrolnih stavki. Biće shvaćeno da kontrolne stavke dozvoljavaju administratoru da navigira od jednog GUI ekrana do sledećeg. Dalje će biti shvaćeno da postoje dve vrste navigacionih prelaza: dinamički i statički. U najmanje jednom primeru izvođenja predmetnog otkrića, statički prelaz je prelaz koji je deklarisan u navigacionom opisu GUI ekrana. To jest, statički prelazi su unapred definisani za prelazak sa jednog GUI ekrana na sledeći GUI ekran. Biće shvaćeno da ovo stvara „krutu“ vezu između dva GUI ekrana.
[0029] Nastavljajući sa gornjim primerom, na ekranu Lista Korisnika (GUI stanje 104), administratoru ponovo može da se pruži meni koji uključuje kontrolne stavke, gde kontrolne stavke mogu da sadrže vezu da bi bio u mogućnosti da doda novog korisnika. Nakon upravljanja vezom za dodavanje novog korisnika, GUI prelazi na ekran Novi Korisnik (GUI stanje 110) pri čemu je administratoru dozvoljeno da doda novog korisnika u sistem. Na ekranu Novi Korisnik (GUI stanje 110) administrator može da upravlja GUI-jem da bi dodao novog korisnika, a takođe može da mu se pruži meni koji uključuje kontrolne stavke za prelaz na sledeći GUI ekran (tj. Dodela Servisa (GUI stanje 112)). Nastavljajući sa gornjim primerom, administrator može da upravlja kontrolnom stavkom kako bi omogućio dodelu servisa CSB platforme korisniku na ekranu Dodela Servisa (GUI stanje 112). Po završetku tog dodeljivanja, administrator može da upravlja GUI-jem da bi prešao na ekran novog virtuelnog privatnog servera (engl. VPS – virtual private server) (gde se VPS servis dodeljuje u koraku 112) (GUI stanje 108), nakon čega administrator može da pređe na Prikaz Korisnika (GUI stanje 106), i konačno nazad na ekran Lista Korisnika (GUI stanje 104). Biće shvaćeno da su prethodni navigacioni prelazi uzoran primer izvođenja vršenja radnje od strane administratora na CSB platformi.
[0030] Pozivajući se sada na SL.1C, prikazano je primerno stablo navigacije, sastavljeno preko čuvara mesta, generalno označenog sa 175. U najmanje jednom primeru izvođenja predmetnog otkrića, stablo 175 navigacije uključuje aplikaciju 180 i aplikaciju 182. Biće shvaćeno da aplikacije 180 i 182 mogu da budu bilo koje aplikacije dostupne preko CSB platforme. Aplikacija 180 dalje uključuje navigacioni koren 184 i stavku 186 menija. Stavka 186 menija dalje uključuje prikaz 188 i desni prikaz 190. U najmanje jednom primeru izvođenja predmetnog otkrića, čuvari mesta koriste se da integrišu GUI od aplikacije 180 i aplikacije 182. Na primer, aplikacija 180 i aplikacija 182 mogu da svaka sadrže paket konektora povezan sa konektorskom aplikacijom. Da bi konektorska aplikacija 182 mogla operativno da se poveže sa aplikacijom 180, GUI ekrani respektivnih aplikacija moraju da budu operativno povezani preko čuvara mesta. U najmanje jednom primeru izvođenja predmetnog otkrića, aplikacija 180 je konfigurisana da ugradi desni prikaz 190 u čuvar 194 mesta aplikacije 192. Biće shvaćeno da tokom generisanja GUI ekrana za rad određene aplikacije (tj. bilo aplikacije 180 ili aplikacije 182), statičke veze izgrađene su između navigacionih stabala od aplikacije 180 i aplikacije 182, tako da desni prikaz 190 ima dva nadređena čvora (tj. prikaz 188 i čuvar 194 mesta) i obrnuto, dva nadređena čvora (prikaz 188 i čuvar 194 mesta) imaju jedan zajednički podređeni čvor (tj. desni prikaz 190). Dalje će biti shvaćeno da takva upotreba čuvara mesta može da pretvori navigaciono stablo u navigacioni graf. Takođe će biti shvaćeno da desni prikaz 190 takođe služi kao tačka integracije između aplikacije 180 i aplikacije 182. Na primer, desni prikaz 190 je tačka u kojoj korisnik može da pređe iz aplikacije 180 u aplikaciju 182 (ili obrnuto, ukoliko je primenljivo). Slično, desni prikaz 190 takođe može da se smatra račvom za umetanje jednog podstabla (tj. onog za aplikaciju 182) u podstablo za aplikaciju 180.
[0031] Pozivajući se sada na SL.2, prikazan je uzorni primer izvođenja sistema za generisanje GUI-ja na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja, generalno označen sa 200. U najmanje jednom aspektu predmetnog otkrića, sistem 200 uključuje klijenta 202, CSB platformu 204, prediktor 206, navigacioni modul 208, CSB kontroler 210 i mrežu 216. U najmanje jednom primeru izvođenja predmetnog otkrića, sistem 200 može da uključuje jedan ili više serverskih računara, računarskih uređaja ili sistema tipa poznatog u oblasti. Sistem 200 dalje uključuje softver, hardver i komponente na kakve bi i pomislio stručnjak u ovoj oblasti, kao što su, na primer, mikroprocesori, memorijski sistemi, ulazno/izlazni uređaji, host bus adapteri, optički kanal, konektori interfejsa malog računarskog sistema, magistrale paralelnog interfejsa visokih performansi, uređaji za skladištenje (npr. hard disk, SSD uređaj, fleš memorijski uređaji), kontroleri uređaja, sistemi za prikaz i slično. Sistem 200 može da uključuje jedan od mnogih dobro poznatih servera, kao što je, na primer, IBM®-ov AS/400® Server, IBM®-ov AIX UNIX® Server ili MICROSOFT®-ov WINDOWS NT® Server.
[0032] U najmanje jednom primeru izvođenja predmetnog otkrića, klijent 202 može da uključuje kombinaciju GUI radnih okvira i modula specifičnih za konektorske aplikacije sa veb pretraživačem kako bi se klijentu 202 omogućio da preuzme JavaScript fajlove sa kodom specifičnim za konektor i kod CSB platforme za GUI iz CSB kontrolera 210. Biće shvaćeno da korisnik može da koristi klijenta 202 da poseti GUI stranice CSB platforme 204 integrisane sa GUI-jem specifičnim za aplikaciju koji je pridružen sa konektorskim aplikacijama 212. Klijent 202 takođe rukuje GUI poslovnom logikom, izvršava zahteve za CSB kontroler 210 da dobije, izbriše ili modifikuje bilo koje resurse i izvršava navigacione zahteve za promenu aktivnog prikaza.
[0033] U najmanje jednom primeru izvođenja predmetnog otkrića, svaki klijent 202 uključuje veb aplikaciju na jednoj stranici koja se sastoji od JavaScript radnog okvira i JavaScript modula integrisanih aplikacija. Biće shvaćeno da klijent 202 uključuje veb pretraživač sa radnim okvirom i modulima koji se unutra izvršavaju. U najmanje jednom primeru izvođenja predmetnog otkrića, klijent 202 sadrži module korisničkog interfejsa (engl. UI – user interface) konektorske aplikacije koji su skladište za opseg sesije za UI module specifične za konektor (GUI kod) integrisanih aplikacija u oblaku koje koristi korisnik ovog klijenta 202 (npr. korisnik ima pretplate na ove aplikacije, koristi neke resurse koji odgovaraju ovim aplikacijama i tako dalje, sve veze između korisnika i aplikacija u oblaku koje mogu da zahtevaju da se prikažu prikazi koji se odnose na ove aplikacije). U početku su ovi moduli (GUI kod) koji su specifični za aplikacije u oblaku smešteni u pakete konektora u formi fajlova sa izvornim kodom ili UI modulima. Metapodaci ovih paketa konektora opisuju hijerarhiju (direktne veze), priključenje i potrebne promenljive (bezbednosni uslovi) za prikazivanje prikaza koji se odnose na ove delove izvornog koda.
[0034] U najmanje jednom primeru izvođenja predmetnog otkrića, radni okvir klijenta 202 je operativno povezan sa CSB kontrolerom 210 i prediktorom 206. U najmanje jednom primeru izvođenja predmetnog otkrića, CSB kontroler 210 poziva se da izvrši RESTful operacije sa resursima, dok se prediktor 206 poziva da pređe na drugi prikaz na GUI ekranu. Kao primer, radni okvir je odgovoran za preuzimanje integrisanih UI modula specifičnih za aplikaciju sa CSB platforme 204 preko CSB kontrolera 210. UI moduli specifični za aplikaciju su fajlovi izvornog koda neophodni za prikazivanje prikaza specifičnih za aplikaciju. Prikaz se može sastojati od nekoliko UI modula povezanih jedan sa drugim. Obično postoji glavni modul koji predstavlja određeni prikaz. Tamo gde glavni UI modul ne može sam da funkcioniše, on deklariše zavisne UI module u odeljku zavisnosti na osnovu kojih radni okvir može da preuzme zavisne UI module za prikazivanje prikaza.
[0035] U najmanje jednom primeru izvođenja predmetnog otkrića, mreža 216 može da uključuje jedan od različitih tipova mreža, kao što su, na primer, Internet, intranet, lokalnu mrežu (LAN), mrežu šireg područja (WAN), gradsku mrežu (MAN), telefonsku mrežu (kao što je javna komutirana telefonska mreža), internet, mrežu zasnovana na optičkim vlaknima, mrežu kablovske televizije, mrežu satelitske televizije ili kombinaciju mreža i slično. Mreža 216 može da bude ili namenska mreža ili deljena mreža. Deljena mreža predstavlja asocijaciju različitih tipova mreža koje koriste različite protokole, na primer, protokol za prenos hiperteksta (HTTP), protokol za kontrolu prenosa/internet protokol (TCP/IP), protokol za bežične aplikacije (WAP) i slično, da komuniciraju jedna sa drugom. Dalje će biti shvaćeno da mreža 216 može da uključuje jedan ili više uređaja za obradu i/ili prenos podataka, uključujući rutere, bridževe, servere, računarske uređaje, uređaje za skladištenje, modem, svič, zaštitni zid, mrežnu karticu (NIC), hab, bridž, proksi server, optički add-drop multiplekser (OADM) ili neki drugi tip uređaja koji obrađuje i/ili prenosi podatke, kao što bi bilo dobro poznato onome ko ima uobičajene veštine u ovoj oblasti. Treba razumeti da su u raznim drugim primerima izvođenja moguće razne druge konfiguracije. Druge računarske mreže, kao što su Ethernet mreže, kablovski zasnovane mreže i mreže satelitskih komunikacija, koje su dobro poznate onome ko ima uobičajene veštine u ovoj oblasti, i/ili bilo koja kombinacija mreža su u okviru obima otkrića.
[0036] U najmanje jednom primeru izvođenja predmetnog otkrića, CSB platforma 204 dalje uključuje prediktor 206. Prediktor 206 dalje uključuje softver, hardver i komponente na kakve bi i pomislio stručnjak u ovoj oblasti, kao što su za na primer, mikroprocesori, memorijski sistemi, ulazno/izlazni uređaji, kontroleri uređaja, sistemi za prikaz i slično, koji su kolektivno operativni da vrše funkcije dodeljene prediktoru 206 u skladu sa predmetnim otkrićem. Radi jasnoće, prediktor 206 prikazan je kao komponenta CSB platforme 204. Međutim, unutar obima predmetnog otkrića je, a i stručnjaci sa uobičajenim iskustvom u tehnici će razumeti da prediktor 206 može biti različit i udaljen od CSB platforme 204. Dalje će se razumeti da je udaljeni server ili računarski uređaj na kome se nalazi prediktor 206, elektronski povezan sa CSB platformom 204, navigacionim modulom 208, CSB kontrolerom 210 i mrežom 216 tako da je prediktor 206 sposoban za kontinuirani dvosmerni prenos podataka sa svakom od komponenti sistema 200.
[0037] U najmanje jednom primeru izvođenja predmetnog otkrića, CSB platforma 204 dalje uključuje CSB kontroler 210. CSB kontroler 210 uključuje najmanje jednu konektorsku aplikaciju 212. Biće shvaćeno da CSB kontroler 210 može da uključuje više konektorskih aplikacija.
[0038] U najmanje jednom primeru izvođenja predmetnog otkrića, CSB platforma 204 takođe uključuje bazu 214 podataka. Baza 214 podataka sadrži i statičke i dinamičke podatke. Statički podaci su metapodaci paketa konektora kao što su ime paketa, verzija paketa, šema tipova resursa, navigaciona šema i izvorni kod za sve UI module konektora. Dinamički podaci su stanje svih instanci resursa u CSB platformi 204 kao što su korisnici, domeni, internet protokol (IP) adrese i bilo koje instance resursa specifične za konektor (npr. VPS server za VPS paket konektora). Stručnjaci sa uobičajenim iskustvom u tehnici će razumeti da baza 214 podataka može da sadrži mnoštvo baza podataka povezanih softverskim sistemima tipa dobro poznatog u tehnici, koji zajedno mogu da obavljaju funkcije delegirane bazi 214 podataka prema predmetnom otkriću. Baza 214 podataka takođe može da bude deo arhitekture distribuiranih podataka, kao što je, na primer, Hadoop arhitektura, za servise velikih podataka (engl. big data). Baza 214 podataka može da sadrži arhitekturu relacione baze podataka, noSQL, OLAP ili drugu arhitekturu baze podataka tipa poznatog iz tehnike baza podataka. Baza 214 podataka može da sadrži jedan od mnogih dobro poznatih sistema za upravljanje bazama podataka, kao što su, na primer, SQL baze podataka, NoSQL baze podataka, Majkrosoftov SQL Server, Majkrosoftov ACCESS, MongoDB, Redis. Hadoop, ili IBM-ovi DB2 sistemi za upravljanje bazama podataka, ili sistemi za upravljanje bazom podataka dostupni od ORACLE ili SYBASE, i bilo koji drugi servis potreban za aplikaciju kao što bi bilo poznato nekome sa uobičajenim veštinama u tehnici. Baza 214 podataka skladišti informacije, tako da mogu da se povrate, koje se bazi 214 podataka prenose iz CSB platforme 204.
[0039] U najmanje jednom primeru izvođenja predmetnog otkrića, sistem 200 uključuje klijenta 202. Klijent 202 je udaljen od CSB platforme 204 i povezan je sa CSB platformom 204 preko mreže 216. Klijent 202 može da bude konfigurisan da prenosi informacije i generalno da stupa u interakciju sa CSB platformom 204, preko mreže 216. Klijent 202 može da uključuje veb pretraživač, mobilnu aplikaciju, soket ili tunel ili drugi softver povezan na mrežu tako da je komunikacija sa CSB platformom 204 moguća preko mreže 216.
[0040] Biće shvaćeno da klijent 202 uključuje jedan ili više računara, pametnih telefona, tableta, nosive tehnologije, računarskih uređaja ili sistema tipa dobro poznatog u tehnici, kao što je mejnfrejm računar, radna stanica, personalni računar, laptop računar, ručni računar, mobilni telefon, MP3 plejer ili lični digitalni asistent. Klijent 202 sadrži takav softver, hardver i komponente na kakve bi i pomislio stručnjak u ovoj oblasti, kao što su, na primer, jedan ili više mikroprocesora, memorijski sistemi, ulazno/izlazni uređaji, kontroleri uređaja i slično. Klijent 202 takođe sadrži jedno ili više sredstava za unos podataka (nije prikazano na SL. 1) koji su upravljivi od strane korisnika klijenta 202 za unos podataka, kao što je, na primer, glasovna ili audio kontrola, pokazivački uređaj (kao što je miš), tastatura, ekran osetljiv na dodir, mikrofon, prepoznavanje glasa i/ili druga sredstva za unos podataka poznata u tehnici. Klijent 202 takođe sadrži sredstvo za prikaz (nije prikazano na SL.1) koje može da sadrži različite tipove poznatih displeja kao što su displeji sa tečnim kristalima, displej svetlećih dioda i slično na kojima informacije mogu da budu prikazane na način koji je uočljiv za korisnika. Biće shvaćeno da klijent 202 može dalje da sadrži takav softver, hardver i komponente, na kakve bi i pomislio stručnjak u ovoj oblasti, da operativno obavljaju funkcije dodeljene klijentu 202 u skladu sa predmetnim otkrićem. Dalje će biti shvaćeno da sistem 200, iako se odnosi samo na jednog klijenta, može takođe da uključuje mnoštvo klijenata.
[0041] U najmanje jednom primeru izvođenja predmetnog otkrića, klijent 202 uključuje kombinaciju GUI radnih okvira i modula specifičnih za aplikaciju, dobro poznatih onima koji imaju uobičajene veštine u tehnici. GUI radni okvir upravlja GUI poslovnom logikom i izvršava zahteve prema CSB kontroleru 210, gde je CSB kontroler 210 konfigurisan da izvodi radnje kao što su kreiranje, čitanje/pribavljanje, brisanje ili modifikovanje resursa. Dalje će biti shvaćeno da je GUI od klijenta 202 operativno konfigurisan da izvodi navigacione zahteve za promenu sadašnjeg GUI prikaza.
[0042] Pozivajući se sada na SL.3, prikazan je alternativni pogled na prediktor 206, u najmanje jednom primeru izvođenja predmetnog otkrića. Prediktor 206 uključuje graditelj 302 modela ponašanja, punjač 304 keš memorije, čistač 306 keš memorije, bazu 308 podataka i REST krajnju tačku 310. U najmanje jednom primeru izvođenja predmetnog otkrića, graditelj 302 modela ponašanja konfigurisan je da ponovo izgradi model predviđanja sa novim podacima iz istorije, kao što je dalje otkriveno ovde. Graditelj 302 modela ponašanja gradi model predviđanja sa verovatnoćama prelaza i konfigurisan je da skladišti takve modele predviđanja u bazu 308 podataka.
[0043] U najmanje jednom primeru izvođenja predmetnog otkrića, punjač 304 keš memorije konfigurisan je da preuzme navigacione odgovore za najverovatnije prikaze koje bi posetio korisnik koji upravlja GUI-jem, kao što je dalje otkriveno ovde. Navigacioni odgovori mogu da uključuju odgovore u formi JavaScript notacije objekata (JSON), koji sadrže informacije podgrafa o ciljnom prikazu, kontekstu dostupnosti resursa, putanji unazad i primenljivim nadređenim elementima. Biće shvaćeno da punjač 304 keš memorije neće svaki put preuzimati navigacione odgovore za verovatnije prikaze od unapred definisanog iznosa kako ne bi prepunio keš memoriju prediktora 206. Punjač 304 keš memorije dalje je konfigurisan da sačuva navigacione odgovore (npr. navigaciono stablo) primljene od navigacionog modula 208, u keš memoriju za zahtev-odgovor (koja se skladišti unutar baze 308 podataka). U najmanje jednom primeru izvođenja predmetnog otkrića, baza 308 podataka skladišti istoriju posećenih GUI prikaza, modele predviđanja, identifikatore verovatnih prikaza, navigacione odgovore GUI ekrana i slično, kao što je dalje otkriveno ovde.
[0044] Kao primer, sledi primerna lista mogućih navigacionih transakcija:
[0045] U najmanje jednom primeru izvođenja predmetnog otkrića, čistač 306 keš memorije konfigurisan je da zahteva od CSB kontrolera 210 vremensku oznaku poslednje modifikacije bezbednosnog opsega, kao što je dalje otkriveno ovde. Na primer, mogu da postoje brojni bezbednosni uslovi koji mogu da budu primenjivi na korisnikov GUI prelaz. Ovi uslovi mogu da utiču na resurse dostupne takvom korisniku (i posledično na dostupne prikaze koji se odnose na pakete konektora čiji metapodaci postavljaju resurse kojima upravlja pomenuta konektorska aplikacija konektora), i gde uslovi (ili resursi) mogu da se promene tokom vremena. Nastavljajući sa ovim primerom, ako zahtevani navigacioni element zahteva zabranjene ili nepostojeće resurse za rešavanje bezbednosnih uslova, navigacioni element neće biti uključen u navigacioni odgovor i stoga je prikaz nedostupan za korisnika (tj. korisnik možda neće moći da pristupi svim dostupnim resursima jer on/ona nema pristup takvim resursima.). Kao još jedan primer, pretpostavimo da je korisnik pretplatnik na servisni plan brokera servisa u oblaku, koji pokriva prodavanje pretplate samo na Dropbox® i Office 365®, korisniku ne bi trebalo da se prikazuju prikazi koji se odnose na druge aplikacije integrisane na CSB platformu 204 i pridružene sa pomenutim resursima (npr. „VPS server“). Kao još jedan primer, ograničavanje GUI prelaza ili zamena jednog prikaza drugim je to da su bezbednosni uslovi izraženi kroz mehanizam varijabli. Navigacioni metapodaci uključuju jezik specifičan za domen za opisivanje bezbednosnih uslova na osnovu resursa dostupnih u bezbednosnom opsegu korisnika. Primeri neograničavajućih uslova uključuju: oba resursa su dostupna, nijedan od resursa nije dostupan, resurs je dostupan i sadrži atribut sa određenom vrednošću i slično. U jednom primeru izvođenja predmetnog otkrića, ovaj jezik specifičan za domen zasnovan je na Resource Query jeziku (RQL).
[0046] Biće shvaćeno da vremenska oznaka poslednje modifikacije određuje poslednji datum bilo kakve modifikacije/pružanja ili brisanja resursa u opsegu trenutnog modela predviđanja. Ako je opseg modifikovan nakon što je keš memorija kreirana, čistač 306 keš memorije čisti keš memoriju za zahtev-odgovor (keš može da bude uskladišten u bazi 308 podataka). U najmanje jednom primeru izvođenja predmetnog otkrića, svaki korisnik je pridružen sa tokenom koji se koristi za obavljanje svih transakcija unutar sistema. Na primer, token je povezan sa korisničkim bezbednosnim opsegom, gde takav bezbednosni opseg može da da bude preuzet (npr. iz baze 308 podataka) na osnovu tokena. Baza 308 podataka je konfigurisana da čuva odgovore prikaza pridružene za svaki korisnički token, čime predstavlja prilagođeni odgovor prikaza koji je primenljiv na svakog korisnika i zasnovan bar delimično na korisničkom bezbednosnom opsegu.
[0047] U najmanje jednom primeru izvođenja predmetnog otkrića, čistač 306 keš memorije konfigurisan je da pristupi svakom od korisničkih tokena i periodično zahteva promene u bezbednosnom opsegu pridruženom sa tokenom, od CSB kontrolera 210. Biće shvaćeno da ako se bezbednosni opseg pridružen sa tokenom menja, čistač 306 keš memorije „čisti“ (tj. modifikuje ili briše) odgovore spremnog prikaza u bazi 308 podataka, pridruženih sa takvim tokenom.
[0048] U najmanje jednom primeru izvođenja predmetnog otkrića, navigacioni modul 208 konfigurisan je da pravi navigacione grafove i odgovor koji se koriste za konstrukciju GUI ekrana, kao što je dalje otkriveno ovde. U najmanje jednom primeru izvođenja predmetnog otkrića, navigacioni modul 208 konfigurisan je da se integriše sa svakom od mnoštva konektorskih aplikacija 212 preko CSB kontrolera 210 (gde takve konektorske aplikacije 212 mogu da budu pružene od strane ISV-ova ili od trećih strana developera konektora). Navigacioni modul 208 je konfigurisan da generiše navigaciono stablo (npr. kao što je prikazano na SL.1C), kao što je dalje otkriveno ovde.
[0049] U najmanje jednom primeru izvođenja predmetnog otkrića, REST krajnja tačka 310 simulira navigacionu krajnju tačku i konfigurisana je da prima zahteve i pruža validne navigacione odgovore, kao što je dalje otkriveno ovde. Na primer, tokom GUI operacije koja je zahtev za dodavanje, stavka operacije dodaje se na listu istorije navigacije. REST krajnja tačka 310 dalje je konfigurisana da izračuna broj novih stavki i da periodično (npr. za svaki 100. zahtev) pozove graditelja 302 modela ponašanja da ponovo izgradi model sa novim podacima na osnovu liste istorije navigacije. Biće shvaćeno da je REST krajnja tačka 310 konfigurisana da na svaki zahtev komunicira sa keš memorijom uskladištenom u bazi 308 podataka zahtevajući unapred izračunate odgovore ako ih ima. Ako nema odgovora, REST krajnja tačka 310 konfigurisana je da postavi direktni upit navigacionom servisu i vrati odgovor. Biće dalje shvaćeno da se pri svakom pozivu zahteva od strane REST krajnje tačke 310, istorija keš memorije rotira kako bi se sprečila prekomerna potrošnja prostora na disku i memorije. Takođe će biti shvaćeno da čistač 306 keš memorije radi tako da invalidira keš memoriju ako je potrebno.
[0050] U najmanje jednom primeru izvođenja predmetnog otkrića, REST krajnja tačka 310 konfigurisana je da skladišti istoriju posećenih prikaza u bazu 308 podataka, kao što je dalje otkriveno ovde. Na primer, ako korisnik koristi GUI ekran, istorija posećenih prikaza GUI ekrana sačuvaće se u bazu 308 podataka. U najmanje jednom primeru izvođenja predmetnog otkrića, REST krajnja tačka 310 konfigurisana je da preuzme određeni odgovor prikaza (navigacioni odgovor za određeni prikaz) GUI ekrana iz baze 308 podataka. Ukoliko odgovor nije primljen (tj. odgovor određenog prikaza nije dostupan), REST krajnja tačka 310 konfigurisana je da zahteva odgovor prikaza od navigacije 208. Biće shvaćeno da kada prediktor 206 prikuplja informacije o aktivnosti korisnika, takve informacije o aktivnostima sačuvaće se u bazu 308 podataka. Dalje će biti shvaćeno da graditelj 302 modela ponašanja može da koristi ove informacije u bazi 308 podataka da razvije modele predviđanja prelaza GUI ekrana, kao što je dalje otkriveno ovde.
[0051] U najmanje jednom primeru izvođenja predmetnog otkrića, GUI prelazi prikaza, GUI koraci, korisničko iskustvo, može da bude preuzeto iz baza podataka trećih strana (nije prikazano), kao što su sistemi poslovne inteligencije/analitike (engl. BI – business intelligence), sistemi za upravljanje odnosima sa klijentima (engl. CRM - customer relationship management) i slično. Takve informacije mogu da budu uskladištene u bazi 308 podataka.
[0052] Pozivajući se sada na SL. 4, prikazan je postupak za generisanje GUI-ja na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja, što je generalno označeno sa 400. U najmanje jednom primeru izvođenja predmetnog otkrića, postupak 400 uključuje start od strane tajmera u koraku 402, učitavanje sekvenci prikaza u koraku 404, proveravanje za podacima u koraku 406, preračunavanje verovatnoća u koraku 408, postavljanje datuma kreiranja modela u koraku 410 i zahtevanje za punjačem keš memorije u koraku 412.
[0053] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak 400 opisuje sekvencu upravljanja GUI ekranom i prelazima. Biće shvaćeno da na bilo kom GUI ekranu, prelaz iz sadašnjeg stanja u buduće stanje (novi GUI ekran) uključuje izvesnu verovatnoću događanja takve aktivnosti. Na primer, ako GUI ekran jeste ekran za prijavu u aplikaciju (npr. aplikaciju 182), trenutno stanje takvog GUI ekrana može da uključuje oblasti za unos kredencijala za prijavu i podnošenje takvih kredencijala. U takvom uzornom primeru izvođenja, buduće stanje (tj. sledeći GUI ekran) bi verovatno mogao biti: 1) uspešna prijava; ili 2) neuspešna prijava. Nastavljajući sa ovim primerom, verovatnoća uspešne prijave (koja zavisi od bezbednosnih ograničenja) ili neuspešne prijave primer je izračunavanja verovatnoće GUI prelaza. To jest, prelazak sa GUI ekrana za prijavu može u suštini da bude ograničen na dve opcije: GUI ekran za uspešnu prijavu ili GUI ekran za neuspešnu prijavu.
[0054] Biće shvaćeno da korisnik koji izvodi GUI korake u suštini sekvencijalno pristupa nizu GUI ekrana (ili prikaza). U najmanje jednom primeru izvođenja predmetnog otkrića, GUI ekran je unapred definisan skup prikaza koji može da se postavi kao deo aplikacije (npr. aplikacije 182). Biće shvaćeno da su mogući GUI ekrani ograničeni kada korisnik koristi aplikaciju (npr. aplikaciju 182). Na primer, pozivajući se na SL. 1, moguće je da se ode na GUI stanje 110 (Novi Korisnik) iz GUI stanja 102 (Početno), ali je malo verovatno da će ovaj scenario biti implementiran ako to nije logičan tok i ako nema poslovnog slučaja koji zahteva takvu podršku funkcionalnosti. Međutim, drugi GUI prelazi i ekranske veze će se skoro isključivo koristiti skoro u unapred definisanom redosledu. Na primer, pozivajući se na SL.1B, dodavanje novog korisnika implicira prolazak ekrana GUI stanja 106 (Prikaz Korisnika), jer je ova veza između prikaza statička i razvijena je kao glavna logična putanja. Tada će biti shvaćeno da navigacioni model, kreiran na osnovu dijagrama 150 stanja, pretpostavlja da često postoje najverovatnija sledeća ili prethodna GUI stanja (ili GUI ekrani) kojima se pristupa ili se gledaju u određenom redosledu (tj. korisnikova GUI aktivnost je linearna). U najmanje jednom primeru izvođenja predmetnog otkrića, moguće je da se koriste algoritmi mašinskog učenja da bi se pronašli obrasci i predvidi sledeći najverovatniji GUI ekran (ili GUI stanje) u lancu korisnikove aktivnosti.
[0055] U najmanje jednom primeru izvođenja predmetnog otkrića, navigaciono stablo može da se izgradi korišćenjem velikog statičkog modela, pri čemu se upravlja glavnim scenarijima upotrebe za većinu upotrebljivih GUI ekrana ili aplikacija. Kao primer, skoro svaki korisnik popunjava kontakt podatke prilikom ažuriranja svog profila; svaki administrator otvara listu korisnika radi upravljanja; svaki administrator se preusmerava na listu korisnika nakon kreiranja novog korisnika. Biće shvaćeno da ova unapred definisana ponašanja mogu da se predvide na osnovu sadašnjeg stanja GUI ekrana. Dalje će biti shvaćeno da navigaciono stablo za korisnika može da se razvije na osnovu prethodnog ponašanja korisnika. Pozivajući se na dijagram 150 stanja kao primer, korisnik koji je administrator pristupa GUI stanju 120 (Početno) i onda može prvo da proverava obaveštenja. Administrator takođe može da obavlja i druge radnje kao što su da pruži pristup, zaključa/otključa korisnike i slično. Nastavljajući sa ovim primerom, prediktivni model može da se izgradi na osnovu najverovatnijih navigacionih sekvenci.
[0056] Biće shvaćeno da može da se koristi nekoliko mehanizama za predikciju sekvence, kao što su Ngram model, skriveni Markovljev model, Markovljev model maksimalne entropije (kombinacija klasifikacije na bazi entropije i skriveni Markovljev model), skriveni klasifikatori uključujući, ali ne ograničeno na, SVM (metodu potpornih vektora), klasifikatore stabla odluka, klasifikatore slučajnih šuma, K najbližih suseda i bilo koju neuralnu mrežu koja može da izvede predviđanje sekvence, da se navede nekoliko neograničavajućih primera.
[0057] Pozivajući se ponovo na postupak 400, proces počinje od strane tajmera u koraku 402. U najmanje jednom primeru izvođenja predmetnog otkrića, tajmer se koristi za zakazivanje izračunavanja verovatnoća GUI prelaza i modela ponašanja. Prediktor 206 proverava da li ima dovoljno podataka (tj. u keš memoriji u bazi 308 podataka) za izračunavanje verovatnoća prelaza na osnovu sačuvanih sekvenci prikaza. Ako nema dovoljno podataka, postupak 400 se vraća na korak 402, a u suprotnom se procesira na korak 408.
[0058] U koraku 408 se izračunavaju verovatnoće prelaza i kreira se model verovatnoće prelaza, a datum kreiranja modela postavlja se u koraku 410. Na primer, ulaz za klasifikator je skup karakteristika, a izlaz je niz verovatnoća da će se zbog datog skupa karakteristika desiti određeni ishod (tj. GUI događaj). Na primer, graditelj 302 modela ponašanja izračunava verovatnoće najverovatnijih GUI prelaza. Biće shvaćeno da su izračunate verovatnoće indikativne za verovatnoću prelaska korisnika sa sadašnjeg GUI prikaza na budući GUI prikaz. Kao primer, GUI ekran može da prikaže kontrole za administraciju korisnika (npr. kreiranje/ažuriranje uloge korisnika). Korisnik koji je administrator sistema koji upravlja GUI ekranom za administraciju korisnika da bi kreirao „novog korisnika“ prvo će početi na glavnom ekranu za administraciju korisnika. Sledeći ekran (tj. sledeći korak) verovatno je ekran obrasca za popunjavanje demografskih informacija o novom korisniku, kao što su, na primer, puno ime korisnika, kontakt informacije i slično. Nastavljajući sa ovim primerom, najverovatniji budući prikaz za korisnika koji je sistem administrator koji se trenutno nalazi na ekranu za kreiranje novog korisnika, verovatno će biti ekran obrasca. Manja verovatnoća je da će korisnik koji je sistem administrator da se vrati na prethodni ekran, bez pristupanja ekranu obrasca.
[0059] U najmanje jednom primeru izvođenja predmetnog otkrića, zatim se poziva punjač 304 keš memorije da sačuva model verovatnoća prelaza u keš memoriju i bazu 308 podataka.
[0060] Pozivajući se sada na SL. 5, prikazan je postupak za generisanje GUI-ja na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja, generalno označen sa 500. U najmanje jednom primeru izvođenja predmetnog otkrića, postupak 500 upravlja rukovanjem zahtevima proveravanjem da li je zahtev primljen od strane graditelja 302 modela ponašanja u koraku 502, pribavljanjem ID-jeva prikaza sa verovatnoćom većom od praga da budu zahtevani na osnovu predviđanja modela ponašanja u koraku 504, zahtevanjem navigacije 208 u koraku 506 i skladištenje primljenih odgovora prikaza (tj. navigacionih odgovora) u koraku 508.
[0061] U najmanje jednom primeru izvođenja predmetnog otkrića, svaki primljeni zahtev za GUI ekran (ili prikaz) sačuvaće se u bazu 308 podataka kao sekvenca zahteva.
[0062] U najmanje jednom primeru izvođenja predmetnog otkrića, ID-ovi GUI prikaza sa verovatnoćama većim od praga preuzimaju se u koraku 504. Kao primer, pragovi mogu da budu različiti i zavise od tipa korišćenog modela verovatnoće - skriveni Markovljev model (engl. HMM – Hidden Markov Model) imaće drugačiji prag u poređenju sa klasifikatorom slučajnih šuma. U najmanje jednom primeru izvođenja predmetnog otkrića, podaci koji se koriste za izračunavanje takvih verovatnoća su podaci akumulirani za prethodne korisničke prelaze (i uskladišteni u bazi 308 podataka). Biće shvaćeno da podaci mogu da uključuju lance GUI prelaza. Nastavljajući sa gornjim primerom, u modeliranju klasifikatorom slučajnih šuma (engl. RFC - Random Forest Classifier), RFC model uklapa se sa podacima i daje kao izlaz niz verovatnoća. Imajući distribuciju verovatnoća, broj korisnika koji istovremeno rade i ograničenje memorije, može da se definiše optimalni prag koji zadovoljava sve zahteve: maksimalnu količinu podataka u keš memoriji, za ograničenu veličinu keš memorije. Biće shvaćeno da iako sve verovatnoće prelaza mogu da se izračunaju, izračunavaju se samo najverovatnije verovatnoće prelaza da bi se osigurala efikasna upotreba ograničene memorije/keša za skladištenje takvih modela.
[0063] Dalje će biti shvaćeno da ovo otkriće pruža jedinstveni servis za predviđanje za prikupljanje podataka o klijentima, što može da bude korisno u svrhe testiranja ili analize ponašanja korisnika što dalje može da se koristi za optimizaciju GUI prikaza i navigacije.
[0064] Ako model sadrži sledeće ID-jeve GUI prikaza sa verovatnoćama prelaza većom od praga, navigacioni odgovori za te GUI prikaze pripremaju se kao mogući odgovori, u koraku 506. Odgovori se skladište u bazi 308 podataka.
[0065] Pozivajući se sada na SL. 6, prikazan je postupak za generisanje GUI-ja na osnovu predviđanja da bi se poboljšala vremena odziva GUI-ja, generalno označen sa 600. Postupak 600 uključuje proveravanje da li je zahtev za GUI prikaz primljen u koraku 602, dobijanje datuma poslednje modifikacije bezbednosnog opsega u koraku 604, proveravanje da li je model verovatnoće prelaza noviji od datuma modifikacije bezbednosnog opsega u koraku 606, i ako jeste, onda produžavanje na korak 608, u suprotnom produžavanje na korak 612.
[0066] U najmanje jednom primeru izvođenja predmetnog otkrića, postupak 600 dalje uključuje proveravanje da li model sadrži pripremljene navigacione odgovore za zahtevani GUI prikaz u koraku 608, i dobijanje odgovora GUI prikaza (navigacionog odgovora) iz baze 308 podataka u koraku 610. U najmanje jednom primeru izvođenja predmetnog otkrića, postupak 600 dalje uključuje korak 614 zahtevanja navigacije u koraku 614, skladištenje odgovora GUI prikaza u bazi 308 podataka u koraku 616, i vraćanje odgovora u koraku 618.

Claims (15)

Patentni zahtevi
1. Postupak za generisanje ekrana grafičkog korisničkog interfejsa, GUI-ja, na osnovu predviđanja da bi se poboljšala vremena odziva GUI ekrana, gde postupak sadrži korake:
primanje, na krajnjoj tački, zahteva za pregled GUI ekrana, gde GUI ekran sadrži integrisani korisnički interfejs konstruisan od mnoštva paketa konektora; validiranje u prediktoru (206), validnosti modela za GUI prelaz, gde model za GUI prelaz odgovara svakom od mnoštva paketa konektora, pri čemu validiranje modela za GUI prelaz sadrži proveravanje datuma poslednje modifikacije bezbednosnog opsega; pravljenje, u graditelju (302) modela ponašanja, novog modela za GUI prelaz, gde novi model za GUI prelaz sadrži mnoštvo verovatnoća prelaza za svaki mogući prelaz sa GUI ekrana, gde mnoštvo verovatnoća prelaza zavisi bar delimično od atributa resursa dostupnih svakom od mnoštva paketa konektora;
biranje, u graditelju (302) modela ponašanja, verovatnog prelaza od mnoštva verovatnoća prelaza, gde verovatan prelaz jeste prelaz na novi GUI ekran koji će najverovatnije da bude zahtevan;
kreiranje, u navigacionom modulu (208), navigacionog stabla barem delimično na osnovu verovatnog prelaza; i vraćanje odgovora krajnjoj tački, gde odgovor sadrži navigaciono stablo, i dalje sadrži navigacioni odgovor za novi GUI ekran.
2. Postupak prema zahtevu 1, naznačen time da se svaki od mnoštva modela za prelaz bira iz grupe koja se sastoji od Ngram modela, skrivenog Markovljevog modela i Markovljevog modela maksimalne entropije.
3. Postupak prema zahtevu 2, naznačen time da svaki od mnoštva modela za prelaz dalje sadrži bustovane klasifikatore izabrane iz grupe koja se sastoji od metode potpornih vektora (SVM), stabla odlučivanja, slučajne šume i K najbližih suseda.
4. Postupak prema zahtevu 1, naznačen time da se zahtev za GUI ekran prima od klijenta.
5. Postupak prema zahtevu 1, naznačen time da model za GUI prelaz sadrži datum modifikacije bezbednosnog opsega.
6. Postupak prema bilo kom od prethodnih zahteva, naznačen time da datum poslednje modifikacije bezbednosnog opsega sadrži datum kada je model za GUI prelaz poslednji put modifikovan.
7. Postupak prema zahtevu 1, koji dalje sadrži korak skladištenja odgovora u bazu (308) podataka.
8. Postupak prema zahtevu 7, koji dalje sadrži korak skladištenja novog modela za GUI prelaz.
9. Postupak prema zahtevu 8, koji dalje sadrži skladištenje datuma kreiranja modela za novi model za GUI prelaze.
10. Sistem (200) za generisanje ekrana grafičkog korisničkog interfejsa, GUI-ja, na osnovu predviđanja da bi se poboljšalo vreme odziva GUI ekrana, gde sistem (200) sadrži: platformu (204) brokera servisa u oblaku koja sadrži:
prediktor (206), pri čemu je prediktor (206) konfigurisan da validira model za GUI prelaz proveravanjem datuma poslednje modifikacije bezbednosnog opsega; bazu (308) podataka;
graditelj (302) modela ponašanja konfigurisan da kreira model za GUI prelaz, gde je model za GUI prelaz verovatnoća prelaza GUI sa prvog GUI ekrana na novi GUI ekran, pri čemu novi GUI ekran sadrži integrisani korisnički interfejs konstruisan od mnoštva paketa konektora;
punjač (304) keš memorije konfigurisan da preuzme najverovatnije GUI ekrane koje bi korisnik posetio, zasnovano bar delimično na modelu za GUI prelaz; navigacioni modul (208) konfigurisan da kreira navigacione odgovore za novi GUI ekran bar delimično na osnovu najmanje jednog stanja resursa bezbednosnog opsega primenljivog na korisnika koji zahteva novi GUI ekran;
čistač (306) keš memorije konfigurisan da očisti keš memoriju za odgovore bar delimično na osnovu toga da li je datum poslednje modifikacije bezbednosnog opsega noviji od modela za GUI prelaz; i
REST krajnju tačku (310) konfigurisanu da simulira krajnju tačku GUI navigacionog servisa.
11. Sistem (200) prema zahtevu 10 koji dalje sadrži klijenta koji je operativno povezan sa platformom (204) brokera servisa u oblaku i konfigurisan da zahteva novi GUI ekran i primi navigacioni odgovor za novi GUI ekran.
12. Sistem (200) prema zahtevu 10, naznačen time da platforma (204) brokera servisa u oblaku dalje sadrži kontroler (210) brokera servisa u oblaku.
13. Sistem (200) prema zahtevu 12, naznačen time da kontroler (210) brokera servisa u oblaku sadrži mnoštvo konektorskih aplikacija, gde je svaka od mnoštva konektorskih aplikacija (212) konfigurisana za svaku aplikaciju za integraciju preko platforme (204) brokera servisa u oblaku.
14. Sistem (200) prema zahtevu 10, naznačen time da mnoštvo paketa konektora sadrži module korisničkog interfejsa za konstruisanje navigacionih elemenata.
15. Sistem (200) prema zahtevu 14, naznačen time da mnoštvo paketa konektora dalje sadrži bezbednosni opseg za svaki od navigacionih elemenata.
RS20240187A 2018-03-13 2019-03-12 Sistem i postupak za generisanje gui-ja na osnovu predviđanja da bi se poboljšala vremena odziva gui-ja RS65164B1 (sr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/920,319 US11669345B2 (en) 2018-03-13 2018-03-13 System and method for generating prediction based GUIs to improve GUI response times
PCT/US2019/021874 WO2019178115A1 (en) 2018-03-13 2019-03-12 SYSTEM AND METHOD FOR GENERATING PREDICTION BASED GUIs TO IMPROVE GUI RESPONSE TIMES
EP19767139.9A EP3765992B1 (en) 2018-03-13 2019-03-12 System and method for generating prediction based guis to improve gui response times

Publications (1)

Publication Number Publication Date
RS65164B1 true RS65164B1 (sr) 2024-02-29

Family

ID=67904659

Family Applications (1)

Application Number Title Priority Date Filing Date
RS20240187A RS65164B1 (sr) 2018-03-13 2019-03-12 Sistem i postupak za generisanje gui-ja na osnovu predviđanja da bi se poboljšala vremena odziva gui-ja

Country Status (19)

Country Link
US (1) US11669345B2 (sr)
EP (1) EP3765992B1 (sr)
JP (2) JP7087098B2 (sr)
CN (1) CN111868733B (sr)
AU (1) AU2019234656B2 (sr)
CA (2) CA3093831C (sr)
DK (1) DK3765992T3 (sr)
ES (1) ES2972147T3 (sr)
FI (1) FI3765992T3 (sr)
HR (1) HRP20240207T1 (sr)
HU (1) HUE064893T2 (sr)
LT (1) LT3765992T (sr)
MX (1) MX2020009518A (sr)
PL (1) PL3765992T3 (sr)
PT (1) PT3765992T (sr)
RS (1) RS65164B1 (sr)
SI (1) SI3765992T1 (sr)
SM (1) SMT202400049T1 (sr)
WO (1) WO2019178115A1 (sr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108171783A (zh) * 2018-03-20 2018-06-15 联想(北京)有限公司 图像渲染方法、系统以及电子设备
US10915221B2 (en) * 2018-08-03 2021-02-09 International Business Machines Corporation Predictive facsimile cursor
US11269600B2 (en) * 2018-08-30 2022-03-08 Cloudblue Llc System and method of analysis and generation of navigation schema

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249795B1 (en) * 1995-10-27 2001-06-19 At&T Corp. Personalizing the display of changes to records in an on-line repository
ATE235774T1 (de) * 1998-09-25 2003-04-15 Soma Networks Inc System und verfahren zur durchführung einer auktion über ein kommunikationsnetzwerk
EP1292884A2 (en) 2000-06-12 2003-03-19 Preworx ( Proprietary) Limited System for controlling a display of the user interface of a software application
US20020129006A1 (en) * 2001-02-16 2002-09-12 David Emmett System and method for modifying a document format
US20080010534A1 (en) 2006-05-08 2008-01-10 Motorola, Inc. Method and apparatus for enhancing graphical user interface applications
JP2008071092A (ja) 2006-09-13 2008-03-27 Casio Comput Co Ltd サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
US9952673B2 (en) 2009-04-02 2018-04-24 Oblong Industries, Inc. Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control
JP5391619B2 (ja) 2008-09-24 2014-01-15 富士ゼロックス株式会社 処理装置、処理システム及び処理制御プログラム
JP2010165249A (ja) 2009-01-16 2010-07-29 Sony Corp 情報処理装置、情報処理方法およびプログラム
IL197196A0 (en) * 2009-02-23 2009-12-24 Univ Ben Gurion Intention prediction using hidden markov models and user profile
JP2010211483A (ja) 2009-03-10 2010-09-24 Mitsubishi Electric Corp 操作性改善方法および画面制御装置
JP5340774B2 (ja) 2009-03-19 2013-11-13 株式会社トヨタIt開発センター ユーザインタフェース装置
US8468110B1 (en) 2010-07-22 2013-06-18 Intuit Inc. Real-time user behavior prediction
US8386966B1 (en) 2010-07-22 2013-02-26 Intuit Inc. Real-time tracking of user-application interaction
US8600921B2 (en) 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US9495702B2 (en) 2011-09-20 2016-11-15 Oracle International Corporation Dynamic auction monitor with graphic interpretive data change indicators
US8984448B2 (en) 2011-10-18 2015-03-17 Blackberry Limited Method of rendering a user interface
JP5903276B2 (ja) * 2012-01-04 2016-04-13 富士通株式会社 表示制御プログラム及び該装置
CN102707944A (zh) * 2012-04-13 2012-10-03 华为技术有限公司 用户界面的生成显示方法及用户界面设备
US9170667B2 (en) * 2012-06-01 2015-10-27 Microsoft Technology Licensing, Llc Contextual user interface
US20140180752A1 (en) 2012-12-21 2014-06-26 International Business Machines Corporation Interface to select application based on state transition models of work
US20140280964A1 (en) 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
US10084650B2 (en) * 2013-07-09 2018-09-25 Tail-f Systems AB Graphical user interface for customizing graphical representations based on registry data
USD773496S1 (en) * 2013-09-17 2016-12-06 Oracle International Corporation Display screen or portion thereof with graphical user interface
GB2520488A (en) * 2013-11-20 2015-05-27 Ibm Visually modeling screen-flows in component-oriented web-based system
US9652360B2 (en) * 2014-04-04 2017-05-16 Fujitsu Limited Crawling for extracting a model of a GUI-based application
EP3296944A4 (en) * 2015-05-11 2018-11-07 Sony Corporation Information processing device, information processing method, and program
US10200824B2 (en) * 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
WO2017074398A1 (en) * 2015-10-29 2017-05-04 Hewlett Packard Enterprise Development Lp Models based on data augmented with conceivable transitions
US11461689B2 (en) * 2017-01-06 2022-10-04 Sigurdur Runar Petursson Techniques for automatically testing/learning the behavior of a system under test (SUT)
US10733754B2 (en) * 2017-01-18 2020-08-04 Oracle International Corporation Generating a graphical user interface model from an image
US10467029B1 (en) * 2017-02-21 2019-11-05 Amazon Technologies, Inc. Predictive graphical user interfaces
US10417114B2 (en) * 2017-07-18 2019-09-17 Apple Inc. Testing tool for testing applications while executing without human interaction

Also Published As

Publication number Publication date
WO2019178115A1 (en) 2019-09-19
PT3765992T (pt) 2024-01-26
US11669345B2 (en) 2023-06-06
DK3765992T3 (da) 2024-01-15
JP2022095655A (ja) 2022-06-28
EP3765992A4 (en) 2021-12-22
JP7087098B2 (ja) 2022-06-20
LT3765992T (lt) 2024-01-25
CA3221208A1 (en) 2019-09-19
US20190286458A1 (en) 2019-09-19
MX2020009518A (es) 2020-10-22
AU2019234656A1 (en) 2020-09-24
EP3765992A1 (en) 2021-01-20
FI3765992T3 (fi) 2024-02-15
CN111868733A (zh) 2020-10-30
CN111868733B (zh) 2024-06-11
JP2021515949A (ja) 2021-06-24
CA3093831C (en) 2024-01-09
AU2019234656B2 (en) 2023-03-30
SI3765992T1 (sl) 2024-03-29
EP3765992B1 (en) 2023-11-22
ES2972147T3 (es) 2024-06-11
SMT202400049T1 (it) 2024-03-13
CA3093831A1 (en) 2019-09-19
PL3765992T3 (pl) 2024-04-15
HUE064893T2 (hu) 2024-04-28
HRP20240207T1 (hr) 2024-04-26
JP7416845B2 (ja) 2024-01-17

Similar Documents

Publication Publication Date Title
US20210342725A1 (en) Systems And Methods For Tracking And Representing Data Science Model Runs
US11204840B2 (en) Efficient container based application recovery
US20180107525A1 (en) Methods and systems that share resources among multiple, interdependent release pipelines
CN114793454A (zh) 用于托管、监控和重训练机器学习模型的机器人流程自动化架构和流程
JP7416845B2 (ja) Gui応答時間を改善するために予測ベースのguiを生成するシステム及び方法
Goetz et al. Storm blueprints: patterns for distributed real-time computation
CN112698921A (zh) 一种逻辑代码运行方法、装置、计算机设备和存储介质
US10216513B2 (en) Plugin for multi-module web applications
US11640307B2 (en) Process initiation
CN120356555A (zh) 一种小分子药物设计方法及系统
US20180074663A1 (en) Dynamic process model palette
Nakagawa et al. Dripcast--Server-less Java Programming Framework for Billions of IoT Devices
Dettori et al. Blueprint for business middleware as a managed cloud service
Lertpongrujikorn Object Abstraction To Streamline Edge-Cloud-Native Application Development
Košťál Complex experiment support through the IVIS framework
Rahman Serverless AI Architectures: The Future of Scalable and CostEffective Cloud AI Services
Wong Architecture and Coding
Khan et al. Role of contextual properties in enterprise service migration to cloud computing
Alhamdawi A Dynamic Scaling Methodology for Improving Performance of Big Data Systems
CN120356556A (zh) 一种用于小分子药物设计的模块融合集成方法及装置
Quintela-Pumares et al. Automatic classification of domain constraints for rich client development
Simonet Active Data-Enabling Smart Data Life Cycle Management for Large Distributed Scientific Data Sets
Leonini Splay: A toolkit for the design and evaluation of Large Scale Distributed Systems
Vychuzhanin et al. Mobile application for remote monitoring and predicting risk of damage of the technical system’s components
Wilkinson Web Computing for Bioinformatics Applications