`Carion et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8.478,245 B2
`Jul. 2, 2013
`
`USOO8478245B2
`
`(54) METHOD AND SYSTEM FOR RENDERING
`CONTENT ON A WIRELESS DEVICE
`
`(75) Inventors: Pierre Carion, La Jolla, CA (US);
`Kevin Smith, San Diego, CA (US)
`(73) Assignee: Phunware, Inc., Austin, TX (US)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1638 days.
`
`(21) Appl. No.: 11/888,803
`(22) Filed:
`Aug. 1, 2007
`
`(65)
`
`Prior Publication Data
`US 2009/OO36105 A1
`Feb. 5, 2009
`
`(2006.01)
`(2006.01)
`
`(51) Int. Cl.
`H04M 3/42
`H04M I/00
`(52) U.S. Cl.
`USPC ......................... 455/414.1; 715/234; 715/744
`(58) Field of Classification Search
`USPC ..... 709/246; 455/414.1-4144,566; 715/200,
`715/234 240, 744. 747
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,060,140 A 10, 1991 Brown et al.
`5,430,836 A * 7/1995 Wolfetal. .................... 715,744
`6,336,124 B1
`1/2002 Alam et al.
`6,343,318 B1
`1/2002 Hawkins et al.
`6,345,279 B1
`2/2002 Li et al.
`6,457,030 B1
`9/2002 Adams et al.
`6,490,627 B1
`12/2002 Kalra et al.
`6,795,710 B1
`9, 2004 Creemer
`6,884, 172 B1
`4/2005 Lloyd et al. ..................... 463/42
`6,996,537 B2
`2/2006 Minear et al.
`
`1OOA
`
`
`
`EP
`KR
`KR
`WO
`
`7,222,154 B2
`7,286,562 B1
`7,506,070 B2
`7,568,201 B2
`7,580,703 B1
`7,599,665 B2
`
`5/2007 Dowling
`10/2007 Vargo et al.
`3/2009 Tran et al.
`7/2009 Suryanarayana et al.
`8, 2009 Veselov et al.
`10/2009 Sinivaara
`(Continued)
`FOREIGN PATENT DOCUMENTS
`1571547 A1
`9, 2005
`102007OOO3418 A
`1, 2007
`102O080O22697 A
`3, 2008
`O2103963
`12/2002
`OTHER PUBLICATIONS
`Grundy, John etal; "An Architecture for Building Multi-device Thin
`Client Web User Interfaces' Advanced Information Systems Engi
`neering, vol. 2348/2002, Jan. 1, 2002, pp. 728-732, XP00251 1217.
`(Continued)
`Primary Examiner — Kashif Siddiqui
`(74) Attorney, Agent, or Firm — Wilson Sonsini Goodrich &
`Rosati
`
`ABSTRACT
`(57)
`A method of rendering content on a wireless device. The
`wireless device sends a message to a server requesting an
`application and identifies itself with its rendering capabilities.
`The wireless receives an identification of a custom configu
`ration of a plurality of rendering blocks of the wireless device
`associated with the application. The custom configuration
`configures the plurality of rendering blocks of the device. The
`wireless device receives compiled content from the applica
`tion executing on the server that includes render commands
`expressed in a syntax that is device generic but has parameters
`specific to the rendering capabilities of the wireless device. A
`reader of the wireless device processes the compiled content
`and issues commands to individual rendering blocks of a
`graphical user interface based on the rendering commands of
`the compiled content and based on the custom configuration.
`
`33 Claims, 9 Drawing Sheets
`
`Server
`
`130
`
`Netflix v. GoTV
`IPR2023-00758
`Netflix Ex. 1001
`
`
`
`US 8,478,245 B2
`US 8,478,245 B2
`Page 2
`
`Page 2
`
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`7.627,354 B2 12/2009 Khazaka et al.
`7,627,354 B2
`12/2009 Khazakaetal.
`7,636,792 B1
`12/2009 Ho
`7,636,792 Bl
`12/2009 Ho
`7,671,869 B2
`3/2010 Arnold et al.
`7,671,869 B2
`3/2010 Arnold et al.
`7,979,350 B1
`7, 2011 Carion et al.
`7,979,350 Bl
`7/2011 Carionetal.
`8,009,619 B1
`8, 2011 Clavel et al.
`8,009,619 Bl
`8/2011 Clavel et al.
`2002/0018487 Al
`2/2002 Chenet al.
`2002fOO18487 A1
`2/2002 Chen et al.
`2002/0103881 Al
`8/2002 Granadeetal.
`2002/0103881 A1
`8/2002 Granade et al.
`2002/0109718 Al
`8/2002 Mansour et al.
`2002/0109718 A1
`8/2002 Mansour et al.
`2002/0131404 Al
`9/2002 Mehtaet al.
`2002/0131404 A1
`9, 2002 Mehta et al.
`2003/0018521 Al
`1/2003 Kraft et al.
`2003, OO18521 A1
`1/2003 Kraft et al.
`2003/0106022 Al
`6/2003 Goodacreet al.
`2003/0106022 A1
`6/2003 Goodacre et al.
`2003/0120637 Al
`6/2003 Chithambaram etal.
`2003/O120637 A1
`6/2003 Chithambaram et al.
`2003/0151621 Al*
`8/2003 McEvilly et al. ............. 345,744
`2003/O151621 A1*
`8/2003 McEvilly etal. oo... 345/744
`2003/0182419 Al
`9/2003 Barretal.
`2003/0182419 A1
`9, 2003 Barr et al.
`2004/0133848 Al
`7/2004 Huntet al.
`2004/O133848 A1
`7/2004 Hunt et al.
`2004/0210907 Al
`10/2004 Lau etal.
`2004/0210907 A1
`10, 2004 Lau et al.
`2004/0236860 Al
`11/2004 Logston et al.
`2004/023686.0 A1
`11/2004 Logstonet al.
`2004/0252197 Al
`12/2004 Fraley et al.
`2004/O252197 A1
`12/2004 Fraley etal.
`2005/0223352 Al
`10/2005 Nishida
`2005/0223352 A1
`10/2005 Nishida
`2006/0031387 Al
`2/2006 Hamzehet al.
`2006, OO31387 A1
`2/2006 Hamzeh et al.
`2006/0123053 Al
`6/2006 Scannell
`2006, O123053 A1
`6, 2006 Scannell
`2006/0129632 Al
`6/2006 Blumeetal.
`2006/0129632 A1
`6, 2006 Blume et al.
`2006/0236308 Al
`10/2006 Lambetal.
`2006/0236308 A1
`10, 2006 Lamb et al.
`2007/0067373 Al
`3/2007 Higgins et al.
`2007, OO67373 A1
`3/2007 Higginsetal.
`2007/0078009 Al
`4/2007 Locktonetal.
`2007/0078009 A1
`4/2007 Lockton et al.
`2007/0123229 Al
`5/2007 Pousti
`2007/O123229 A1
`5, 2007 Pousti
`2007/0130156 Al
`6/2007 Tenhunenetal.
`2007/O13015.6 A1
`6, 2007 Tenhunen et al.
`2007/0130333 Al
`6/2007 Bhallaet al.
`2007/013O333 A1
`6, 2007 Bhalla et al.
`2008/0016176 Al
`1/2008 Leitner
`2008, OO16176 A1
`1/2008 Leitner
`2008/0072139 Al
`3/2008 Salinas etal.
`2008.OO72139 A1
`3/2008 Salinas et al.
`2008/0134018 Al*
`6/2008 Kembel etal. oc. 715/234
`2008/0134018 A1*
`6/2008 Kembel et al. ................ T15,234
`2009/0037329 Al
`2/2009 Coppinger et al.
`2009, OO37329 A1
`2/2009 Coppinger etal.
`2009/0037391 Al
`2/2009 Agrawal et al.
`2009, OO37391 A1
`2/2009 Agrawaletal.
`2009/0037724 Al
`2/2009 Carionet al.
`2009, OO37724 A1
`2/2009 Carion et al.
`2009/0177663 Al
`7/2009 Hulajetal.
`2009/0177663 A1
`7/2009 Hulaj et al.
`2009/0220068 Al
`9/2009 Vialle et al.
`2009, 0220068 A1
`9, 2009 Vialle et al.
`2009/0227274 Al
`9/2009 Adler etal.
`2009/0227274 A1
`9, 2009 Adler et al.
`2009/0259940 Al
`10/2009 Moraes
`2009,025994.0 A1
`10/2009 Moraes
`2010/0174974 Al
`7/2010 Briseboiset al.
`2010/0174974 A1
`7, 2010 Brisebois et al.
`
`OTHER PUBLICATIONS
`OTHER PUBLICATIONS
`Mir Farooq Ali et al: “Building Multi-Platform User Interfaces with
`Mir Farooq Ali et al: “Building Multi-Platform User Interfaces with
`UIML” Internet Citation, online XP00228.0476 Retrieved from the
`UIML.”Internet Citation, [online] XP002280476 Retrieved from the
`Internet:
`URL:http://arxiv.org/ftp/cs/papers/011 1701 11024.pdf>
`Internet:
`URL :http://arxiv.org/ftp/cs/papers/0111/0111024.pdf>
`Retrieved on May 17, 2004).
`[Retrieved on May 17, 2004].
`Simon, Rainer et al: “Tool-Supported Single Authority for Device
`Simon, Rainer et al: “Tool-Supported Single Authority for Device
`Independence and Multimodality” Proceedings of the 7th Interna
`Independence and Multimodality” Proceedings of the 7th Interna-
`tional Conference on Human Computer Interaction with Mobile
`tional Conference on Human Computer Interaction with Mobile
`Devices & Services. Online Sep.19, 2005, Sep. 22, 2005 pp. 91-98,
`Devices & Services, [Online] Sep. 19, 2005, Sep. 22, 2005 pp. 91-98,
`XP00251 1216 Retrieved from the Internet: URL: http://portal.acm.
`XP002511216 Retrieved from the Internet: URL: http//portal.acm.
`org/citation.cfm?id=1085777.1085793> Retrieved on Jan. 19,
`org/citation.cfm?id=1085777.1085793> [Retrieved on Jan.
`19,
`2009 abstract.
`2009] abstract.
`Thomas Ziegert et al: “Device Independent Web Applications—The
`ThomasZiegert et al: “Device Independent Web Applications—The
`Author Once-Display Everywhere Approach” Web Engineering:
`Author Once-Display Everywhere Approach” Web Engineering;
`Lecture Notes in Computer Science; LNCS), Springer-Verlag, Ber
`[Lecture Notes in Computer Science; LNCS], Springer-Verlag, Ber-
`lin/Heidelberg, vol. 3140, Jul. 7, 2004, pp. 244-255, XPO19009054.
`lin/Heidelberg, vol. 3140, Jul. 7, 2004, pp. 244-255, XP019009054.
`VanderDonckt, Jean et al: "Synchronised Model-Based Design of
`VanderDonckt, Jean et al: “Synchronised Model-Based Design of
`MultipleUser Interfaces' Internet Article, online Sep. 10, 2004, pp.
`Multiple User Interfaces”Internet Article, [online] Sep. 10, 2004,pp.
`1-8, XP00251 1218 Retrieved from the Internet: URL: http://web.
`1-8, XP002511218 Retrieved from the Internet: URL: http://web.
`
`archive.org/web/2004.0910043454 http://www.isys.ucl.ca.be/bchi,
`archive.org/web/200409 10043454/http://www.isys.ucl.ca.be/bchi/
`members qli/pub/Vanderdonckt-IHM2001.pdf> retrieved on Jan.
`members/qli/pub/Vanderdonckt-IHM2001.pdf> [retrieved on Jan.
`20, 2009.
`20, 2009].
`U.S. Appl. No. 12/001,001, filed Dec. 7, 2007, Clavel.
`US'S. Appl. No. 12/001,001, filed Dec. 7, 2007, Clavel.
`U.S. Appl. No. 12/018,141, filed Jan. 22, 2008, Clavel.
`U.S. Appl. No. 12/018,141, filed Jan. 22, 2008, Clavel.
`Abrams, et al. UIML: An XML Language for Building Device
`Abrams, et al. UIML: An XML Language for Building Device-
`Independent User Interfaces. XML Conference Proceedings. Pro
`Independent User Interfaces. XML Conference Proceedings. Pro-
`ceedings of XML, XX, XX, Dec. 1, 1999.
`ceedings of XML, XX, XX, Dec. 1, 1999.
`Ali, et al. Building Multi-Platform User Interfaces with UIML.
`Ali, et al. Building Multi-Platform User Interfaces with UIML.
`Retrieved from the Internet: May 17, 2004. URL: arxiv.org/ftp/cs/
`Retrieved. from the Internet: May 17, 2004. URL: arxiv.org/ftp/cs/
`papers/011 1/011 1024.pdf.
`papers/0111/0111024 pdf.
`Final Office Action mailed Jun. 29, 2010 for U.S. Appl. No.
`Final Office Action mailed Jun. 29, 2010 for U.S. Appl. No.
`12/098,670, filed Apr. 7, 2008.
`12/098,670, filed Apr. 7, 2008.
`Final Office Action mailed May 12, 2009 for U.S. Appl. No.
`Final Office Action mailed May 12, 2009 for U.S. Appl. No.
`11/977, 186, filed Oct. 23, 2007.
`11/977, 186, filed Oct. 23, 2007.
`International search report and written opinion dated Feb. 17, 2009
`International search report and written opinion dated Feb. 17, 2009
`for PCT/US2008/009302.
`for PCT/US 2008/OO93O2.
`International Search Report and Written Opinion mailed Oct. 6, 2009
`International Search Report and Written Opinion mailed Oct. 6, 2009
`for International PCT Application No. PCT/US2009/001514, 6 pgs.
`for International PCT Application No. PCT/US2009/001514, 6 pgs.
`International Search Report and Written Opinion mailed Oct. 6, 2009
`International Search Report and Written Opinion mailed Oct. 6, 2009
`for International PCT Application No. PCT/US2009/001516, 10 pgs.
`for International PCT Application No. PCT/US2009/001516, 10 pgs.
`International search report dated Jan. 30, 2009 for PCT Application
`International search report dated Jan. 30, 2009 for PCT Application
`No. US2008/009303.
`No. US2008/0093.03.
`Office action dated Feb. 7, 2011 for U.S. Appl. No. 1 1/888,799.
`Office action dated. Feb. 7, 2011 for U.S. Appl. No. 11/888,799.
`Office action dated Jun. 25, 2010 for U.S. Appl. No. 1 1/888,799.
`Office action dated Jun. 25, 2010 for U.S. Appl. No. 11/888,799.
`Office Action mailed Mar. 9, 2012 for U.S. Appl. No. 12/018,141.
`Office Action mailed Mar. 9, 2012 for U.S. Appl. No. 12/018,141.
`Office Action mailed Apr. 8, 2011 for U.S. Appl. No. 12/001,001.
`Office Action mailed Apr. 8, 2011 for U.S. Appl. No. 12/001,001.
`Office Action mailed Jul. 7, 2011 for U.S. Appl. No. 12/018,141.
`Office Action mailed Jul. 7, 2011 for U.S. Appl. No. 12/018,141.
`Office Action mailed Oct. 31, 2011 for U.S. Appl. No. 12/001,001.
`Office Action mailed Oct. 31, 2011 for U.S. Appl. No. 12/001,001.
`Office Action mailed Aug. 19, 2010 for U.S. Appl. No. 1 1/977,319,
`Office Action mailed Aug. 19, 2010 for U.S. Appl. No. 11/977,319,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Office Action mailed Dec. 3, 2008 for U.S. Appl. No. 1 1/977, 186,
`Office Action mailed Dec. 3, 2008 for U.S. Appl. No. 11/977,186,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Office Action mailed Feb. 16, 2010 for U.S. Appl. No. 1 1/977, 186,
`Office Action mailed Feb. 16, 2010 for U.S. Appl. No. 11/977,186,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Office Action mailed Jan. 7, 2010 for U.S. Appl. No. 12/098,670,
`Office Action mailed Jan. 7, 2010 for U.S. Appl. No. 12/098,670,
`filed Apr. 7, 2008.
`filed Apr. 7, 2008.
`Office Action mailed Jul. 30, 2010 for U.S. Appl. No. 1 1/977,229,
`Office Action mailed Jul. 30, 2010 for U.S. Appl. No. 11/977,229,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Office Action mailed Jul.9, 2010 for U.S. Appl. No. 1 1/977, 186, filed
`Office Action mailed Jul. 9, 2010 for U.S. Appl. No. 11/977,186, filed.
`Oct. 23, 2007.
`Oct. 23, 2007.
`Office Action mailed Jun. 21, 2010 for U.S. Appl. No. 1 1/977,212,
`Office Action mailed Jun. 21, 2010 for U.S. Appl. No. 11/977,212,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Office Action mailed Sep. 17, 2009 for U.S. Appl. No. 1 1/977.212,
`Office Action mailed Sep. 17, 2009 for U.S. Appl. No. 11/977,212,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Office Action mailed Sep. 2, 2009 for U.S. Appl. No. 1 1/977, 186,
`Office Action mailed Sep. 2, 2009 for U.S. Appl. No. 11/977,186,
`filed Oct. 23, 2007.
`filed Oct. 23, 2007.
`Written Opinion mailed Feb. 1, 2010 for International PCT Aplica
`Written Opinion mailed Feb. 1, 2010 for International PCT Aplica-
`tion No. PCT/US2008/009302, 8 pgs.
`tion No. PCT/US2008/009302, 8 pgs.
`Written Opinion mailed Feb. 1, 2010 for International PCT Aplica
`Written Opinion mailed Feb. 1, 2010 for International PCT Aplica-
`tion No. PCT/US2008/009303, 8 pgs.
`tion No. PCT/US2008/009303, 8 pgs.
`Ziegert, et al. Device Independent Web Applications—The Author
`Ziegert, et al. Device Independent Web Applications—The Author
`Once-Display Everywhere Approach. Web Engineering; Lecture
`Once-Display Everywhere Approach. Web Engineering; [Lecture
`Notes in Computer Science; LNCS), Springer-Verlag, Berlin/
`Notes in Computer Science; LNCS], Springer-Verlag, Berlin/
`Heidelberg. Jul. 7, 2004; 3140:244-255.
`Heidelberg. Jul. 7, 2004; 3140:244-255.
`Office Action mailed Jan. 4, 2013 for U.S. Appl. No. 12/018,141.
`Office Action mailed Jan. 4, 2013 for U.S. Appl. No. 12/018,141.
`* cited by examiner
`* cited by examiner
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 1 of 9
`Sheet 1 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`JaNaS
`
`zº.
`p
`
`
`
`ViAYNDIS
`
`CC
`
`f —
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 2 of 9
`Sheet 2 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`uoneoyijuapyAsenboy
`
`SUOIpPY
`
`
`
`juajuoypajidwoy
`
`
`
`
`
`abAYNNSId
`
`Bg0L]uoloRBsqy
`
`901
`
`yOL
`
`Ž?T
`COL
`
`
`
`
`
`
`
`PEL
`
`CIE
`
`gor
`
`
`
`aoepayu]JOS/Fjeal1ydeig
`
`eyequojeinbyu0g
`JaAe7]uoNoes
`?ueMpueH
`Japeoy/eulbug
`Maida/AWer
`aJeMpleH
`
`
`
`
`
`
`
`
`
`
`
`
`
`ao1naq
`
`solAeqa’oueuss)
`
`|
`
`oyloads
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 3 of 9
`Sheet 3 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`r 212
`
`
`212
`
`Client and Application dentification Message
`Client and Application Identification Message
`
`
`
`Custom Configuration ldentification and Application
`Custom Configuration Identification and Application
`identification
`Identification
`24
` 214
`
` 216
`r 216
`
`Request Custom Configuration Information and/or
`Request Custom Configuration Information and/or
`Application
`Application
` Download Custom Configuration
`
`Download Custom Configuration
`2e -
`
`as
`
`
`
`Client
`
`Request for first page
`Requestforfirst page
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`210
`210
`
`
`
`
`
`
`
`
`
`
`
`Server
`
`Server N
`230
`230
`
`
`
`
`220
`
`
`
`FIGURE 2A
`FIGURE 2A
`
` Download Application Page
`Download Application Page
`
`220 u/ r 222
`(i 222
`
`
`Send Acknowledgement
`Send Acknowledgement
`
` 224
`r 224
` Push Content Update
`
`Push Content Update
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 4 of 9
`Sheet 4 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`226
`
`226 r
`
`User Interaction
`User Interaction
`
`
`
`( Client
`
`210
`210
`
`New Page
`
`New Page
`New Page
`228 /
`228 -/
`
`r 232
`(O 232
`User Interaction
`User Interaction
`
`New Page
`
`New Page
`236 -/
`
`FIGURE 2B
`FIGURE 2B
`
`230
`230
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 5 Of 9
`Sheet 5 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`
`
`JOAIBOSUBI
`
`
`s}ndu|uoyng
`Oredee
`
`a|HE|OA-UONSIHE|OA
`
`Ajoway)Aioweyy
`OozeOle
`
`sng
`
`ZOE
`
`So
`OQ
`ise)
`
`OSE09€Oozeose
`
`€aYNSl4d
`
`
`
`AejdsigJOSSO001qJeyeadsauoydoJolw
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 6 of 9
`Sheet 6 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`aldo
`
`
`
`GBuuapueyalan
`
`soynuap|
`
`Buyapuay
`
`Joynuap|
`
`
`
`a v
`
`t
`
`067
`
`*aYdNDId
`
`6Buuepuay
`
`yaIGO
`
`Jaynusp|
`
`
`
`Buuepusyoa!a0
`
`JOynUSap]
`
`
`
`
`
`abepajidwog
`
`uonduoseq
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`
`Sheet 7 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`onels Ors
`
`ssouisngjoAreiqry
`
`suonjesiddy
`
`
`
`Q L
`
`e
`
`yuayu0g
`
`SAYN
`
`joAvesqry
`
`eo1neg
`
`SOYOld
`
`095
`
`
`
`ajyejdweayBulposeq
`
`
`
`eulbuywajsks
`
`ossoes
`
`
`
`JBAOSynoAe7uojeinByuey
`
`08seyeq
`
`joAresqr)
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 8 of 9
`Sheet 8 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`OD
`
`iO
`
`Sending a message to a server identifying the desired
`Sending a messageto a serveridentifying the desired
`application and the wireless device capability
`application and the wireless device capability
`610
`610
`
`Receiving an identification of a custom configuration of a
`Receiving an identification of a custom configuration of a
`plurality of rendering blocks of the wireless device
`plurality of rendering blocks of the wireless device
`620
`
`> Setup
`> Setup
`
`620
`
`
`
`630
`
`Requesting the identified custom configuration if the
`Requesting the identified custom configuration if the
`custom configuration is not present on the wireless device
`custom configuration is not present on the wireless device
`630
`
`
`
`
`
`Receiving compiled content generated in part from
`Receiving compiled content generated in part from
`execution of the application by the server
`execution of the application by the server
`640
`640
`
`
`
`
`
`
`
`Using a graphical user interface to generate renderable
`Using a graphicaluser interface to generate renderable
`content based on the compiled content and the custom
`content based on the compiled content and the custom
`
`configuration
`configuration
`650
`650
`
`
`
`
`
`
`
`
`Rendering the renderable content on the wireless device
`Rendering the renderable content on the wireless device
`660
`660
`
`FIGURE 6
`FIGURE 6
`
`
`
`U.S. Patent
`U.S. Patent
`
`Jul. 2, 2013
`Jul. 2, 2013
`
`Sheet 9 of 9
`Sheet 9 of 9
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`J iC =]
`
`710
`
`Receiving a message from a client requesting an application and
`Receiving a message from a client requesting an application and
`identifying the client's capability
`identifying the client’s capability
`710
`
`Identifying a custom configuration for the requested application
`identifying a custom configuration for the requested application
`720
`£20
`
`Setup
`Setup
`
`Sending a message to the client identifying the custom configuration
`Sending a messageto theclient identifying the custom configuration
`730
`£30
`
`lfrequested by the client, sending the custom configuration
`If requested by the client, sending the custom configuration
`740
`£40
`
`Executing the requested application
`Executing the requested application
`750
`£50
`
`
`
`
`
`Dynamic
`Dynamic
`Application?
`Application?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Generating a template for the executed application
`Generating a template for the executed application
`760
`£60
`
`Translating received information into discrete low level basic commands
`Translating received information into discrete low level basic commands
`770
`770
`
`Sending the discrete low level basic commands to the client
`Sending the discrete low level basic commandsto the client
`780
`£80
`
`FIGURE 7
`FIGURE 7
`
`
`
`
`
`1.
`1
`METHOD AND SYSTEM FOR RENDERING
`METHOD AND SYSTEM FOR RENDERING
`CONTENT ON A WIRELESS DEVICE
`CONTENT ON A WIRELESS DEVICE
`
`US 8,478,245 B2
`US 8,478,245 B2
`
`2
`2
`less each application for each type of wireless device, thereby
`less each application for each type ofwireless device, thereby
`limiting the number of titles that a software vendor can pro
`limiting the numberoftitles that a software vendor can pro-
`duce.
`duce.
`Also, the task of producing all the required versions of a
`Also, the task of producing all the required versions of a
`title is not only time consuming and laborious but it also tends
`title is not only time consuming and laboriousbutit also tends
`to limit upgrades and patches to existing titles. In general, a
`to limit upgrades and patchesto existing titles. In general, a
`wireless device runs the application locally and renders the
`wireless device runs the application locally and renders the
`result. Thus, updating applications requires a patch/update to
`result. Thus, updating applications requires a patch/update to
`be specially developed for and provided to each wireless
`be specially developed for and provided to each wireless
`device individually. For example, updating/patching an appli
`device individually. For example, updating/patching an appli-
`cation may require the wireless device user to access the
`cation may require the wireless device user to access the
`application providers website via the wireless device and to
`application provider’s website via the wireless device and to
`navigate through multiple pages in order to determine
`navigate through multiple pages in order to determine
`whether an update is ready. When an update is ready, the user
`whether an update is ready. When an updateis ready, the user
`actively initiates the update process. As a result, many users
`actively initiates the update process. As a result, many users
`may not update their applications due to this laborious pro
`maynot update their applications due to this laborious pro-
`cess.
`CCSS,
`
`SUMMARY
`SUMMARY
`
`Accordingly, a need has arisen to enable software vendors
`Accordingly, a need has arisen to enable software vendors
`to provide generic applications regardless of the wireless
`to provide generic applications regardless of the wireless
`device type, thereby relieving software vendors from having
`device type, thereby relieving software vendors from having
`to tailor their applications for each given wireless device type.
`to tailor their applications for each given wireless device type.
`Moreover, a need has arisen to not only relieve software
`Moreover, a need has arisen to not only relieve software
`Vendors from tailoring their applications for a given wireless
`vendors from tailoring their applications for a given wireless
`device type but to provide an output that is device specific
`device type but to provide an output that is device specific
`based on the wireless device attributes where the output is
`based on the wireless device attributes where the output is
`generated from a generic application. Furthermore, it is
`generated from a generic application. Furthermore,
`it
`is
`advantageous to update and patch various applications with
`advantageousto update and patch various applications with-
`out a need to access each wireless device individually. It will
`out a need to access each wireless device individually. It will
`become apparent to those skilled in the art after reading the
`becomeapparent to those skilled in the art after reading the
`detailed description of the present invention that the embodi
`detailed description of the present invention that the embodi-
`ments of the present invention satisfy the above mentioned
`ments of the present invention satisfy the above mentioned
`needs.
`needs.
`Embodiments of the present invention relieve software
`Embodiments of the present invention relieve software
`Vendors from tailoring their applications based on each wire
`vendors from tailoring their applications based on each wire-
`less device type because the server tailors the output of a
`less device type because the server tailors the output of a
`generic application based on the wireless device capability.
`generic application based on the wireless device capability.
`Moreover, embodiments of the present invention execute the
`Moreover, embodiments of the present invention execute the
`requested application on the server. Thus providing Software
`requested application on the server. Thus providing software
`updates and patches for a generic application can be done by
`updates and patches for a generic application can be done by
`patching/updating the generic application on the server,
`patching/updating the generic application on the server,
`thereby eliminating the need to update?patch each application
`thereby eliminating the need to update/patch each application
`on each wireless device.
`on each wireless device.
`According to one embodiment of the present invention, a
`According to one embodimentof the present invention, a
`wireless device includes an engine/reader. The engine/reader
`wireless device includes an engine/reader. The engine/reader
`is operable to communicate with a server and receive a series
`is operable to communicate with a server and receive a series
`of low level basic commands that layout content, position,
`of low level basic commands that layout content, position,
`etc. for rendering application content on the wireless device.
`etc. for rendering application content on the wireless device.
`The engine/reader interprets commands of a generic syntax
`The engine/reader interprets commandsofa generic syntax
`that are device specific in their parameters.
`that are device specific in their parameters.
`The wireless device may also include a graphical user
`The wireless device may also include a graphical user
`interface including a plurality of rendering blocks. A custom
`interface including a plurality of rendering blocks. A custom
`configuration may be used to customize the appearance of
`configuration may be used to customize the appearance of
`content generated by a requested application rendered on the
`content generated by a requested application rendered on the
`rendering blocks. In other words, a custom configuration may
`rendering blocks. In other words, a custom configuration may
`be a set of low level instructions for preprogramming the
`be a set of low level instructions for preprogramming the
`plurality of rendering blocks to operate and look a certain
`plurality of rendering blocks to operate and look a certain
`way. The graphical user interface is operable for rendering
`way. The graphical user interface is operable for rendering
`basic commands received from the engine/reader and for
`basic commands received from the engine/reader and for
`customizing the operation and appearance of the requested
`customizing the operation and appearance of the requested
`application based on the custom configuration. The wireless
`application based on the custom configuration. The wireless
`device has software stored therein to implement the embodi
`device has software stored therein to implement the embodi-
`ments of the present invention.
`ments of the present invention.
`In one embodiment, generic applications are provided by
`In one embodiment, generic applications are provided by
`software vendors and are stored on a remote server. It is
`software vendors and are stored on a remote server. It is
`
`RELATED U.S. PATENT APPLICATION
`RELATED U.S. PATENT APPLICATION
`
`This Application is related to U.S. patent application Ser.
`This Application is related to U.S. patent application Ser.
`No. 1 1/888,799 filed on Aug. 1, 2007, by Carion et al., and
`No. 11/888,799 filed on Aug. 1, 2007, by Carion et al., and
`entitled “A SERVER METHOD AND SYSTEM FOR REN-
`entitled A SERVER METHOD AND SYSTEM FORREN
`DERING CONTENT ON A WIRELESS DEVICE”and
`DERING CONTENT ON A WIRELESS DEVICE and
`assigned to the assignee of the present invention.
`assigned to the assignee of the present invention.
`
`10
`
`TECHNICAL FIELD
`TECHNICAL FIELD
`
`Embodiments of the present invention relate to the field of
`Embodiments of the present invention relate to the field of
`wireless communication systems. More particularly, embodi
`wireless communication systems. Moreparticularly, embodi-
`ments of the present invention relate to a method and system
`ments of the present invention relate to a method and system
`for rendering applications on a wireless device.
`for rendering applications on a wireless device.
`
`15
`
`BACKGROUND ART
`BACKGROUND ART
`
`The widespread and increase in popularity of wireless
`The widespread and increase in popularity of wireless
`devices have led to an increase in the numberof wireless
`devices have led to an increase in the number of wireless
`device types in the world. For example, the use of cellular
`device types in the world. For example, the use of cellular
`phones, personal digital assistants (PDAs), PalmPilots,
`phones, personal digital assistants
`(PDAs), PalmPilots,
`BlackBerrys, laptops, IPods, etc., have become prevalent in
`BlackBerrys, laptops, IPods, etc., have become prevalent in
`the market. The increase in the numberof wireless devices
`the market. The increase in the number of wireless devices
`has also increased the demand for various applications to run
`has also increased the demandfor various applications to run
`on various wireless devices.
`on various wireless devices.
`The market is fractured among many manufacturers with
`The market is fractured among many manufacturers with
`different types of wireless devices including brands, models,
`different types of wireless devices including brands, models,
`generations, etc. For example, each year new manufacturers
`generations, etc. For example, each year new manufacturers
`enter the market and existing manufacturers provide new
`enter the market and existing manufacturers provide new
`models and new versions for existing wireless devices. Each
`models and new versions for existing wireless devices. Each
`wireless device is unique based on its brand, model, rendering
`wireless device is unique based on its brand, model, rendering
`capability, battery life, processing power, display resolution,
`capability, battery life, processing power, display resolution,
`color capability, display size, etc., collectively known as
`color capability, display size, etc., collectively known as
`wireless device attributes.
`wireless device attributes.
`Unfortunately, since each wireless device is unique, each
`Unfortunately, since each wireless device is unique, each
`application must be tailored in accordance with the wireless
`application must be tailored in accordance with the wireless
`device attributes to fully utilize the capabilities of the wireless
`deviceattributes to fully utilize the capabilities ofthe wireless
`device. For example, to utilize the entire display of the wire
`device. For example, to utilize the entire display of the wire-
`less device, the application must be tailored to render the
`less device, the application must be tailored to render the
`application in accordance with the display size and resolution
`application in accordance with the display size and resolution
`of the wireless device.
`of the wireless device.
`Unfortunately, the increase in the number of applications,
`Unfortunately, the increase in the numberofapplications,
`the types of wireless devices and the need to tailor each
`the types of wireless devices and the need to tailor each
`application to a given wireless device type has increased the
`application to a given wireless device type has increased the
`cost of developing applications. With ever increasing number
`cost of developing applications. With ever increasing number
`of models and brands of wireless devices, the number of
`of models and brands of wireless devices, the number of
`applications and application versions required to accommo
`applications and application versions required to accommo-
`date all of these different wireless devices has increased as
`date all of these different wireless devices has increased as
`well. Since each application must be specific to a given wire
`well. Since each application must be specific to a given wire-
`less device type with a given brand and model, applications
`less device type with a given brand and model, applications
`are substantially developed from the ground up for each wire
`are substantially developed from the groundup for each wire-
`less device type. Unfortunately, developing applications from
`less device type. Unfortunately, developing applications from
`the ground up for each wireless device has increased the cost
`the groundup for each wireless device has increased the cost
`of developing and customizing each application to accommo
`ofdeveloping and customizing each application to accommo-
`date each wireless device brand and model.
`date each wireless device brand and model.
`Moreover, the increase in cost of developing applications
`Moreover, t