throbber
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
`US008989715B2
`
`(12) United States Patent
`Carion et al.
`
`(Io) Patent No. :
`(45) Date of Patent:
`
`US 8,989,715 B2
`*Mar. 24, 2015
`
`(54) METHOD AND SYSTEM FOR RENDERING
`CONTENT ON A WIRELESS DEVICE
`
`(71) Applicant: Phunware,
`
`Inc., Austin, TX (US)
`
`(72)
`
`Inventors:
`
`Pierre Carion, La Jolla, CA(US);
`Kevin Smith, San Diego, CA (US)
`
`Phunware,
`
`Inc., Austin, TX (US)
`
`(73) Assignee:
`( * ) Notice:
`
`the term of this
`Subject to any disclaimer,
`is extended or adjusted under 35
`patent
`U.S.C. 154(b) by 0 days.
`to a terminal
`
`This patent
`claimer.
`
`is subject
`
`dis-
`
`(21) Appl. No. : 13/S65, 9S7
`
`(22)
`
`Filed:
`
`Apr. 1S, 2013
`
`(65)
`
`Prior Publication Data
`
`US 2013/0339425 Al
`
`Dec. 19, 2013
`
`Related U.S.Application Data
`(63) Continuation of application No. 11/888, 803, filed on
`Aug. I, 2007, now Pat. No. 8,478,245.
`
`(51)
`
`Int. Cl.
`H04L 29/08
`G06F 9/44
`(52) U.S. Cl.
`CPC ..........
`
`(2006.01)
`(2006.01)
`
`.... H04L 67/10 (2013.01); G06F 9/4443
`(2013.01)
`455/414. 1; 709/203
`
`USPC
`(58) Field of ClassiTication Search
`USPC .................... 709/246; 455/414. 1—414.4, 566;
`715/200, 234—240, 744—747
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,060, 140
`5,430,836
`6,336,124
`6,343,318
`6,345,279
`
`A
`A *
`B1
`B1
`B1
`
`10/1991 Brown et al.
`7/1995 Wolf et al.
`1/2002 Alam et al.
`1/2002 Hawkins et al.
`2/2002 Li et al.
`
`(Continued)
`
`. .. 715/744
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`KR
`
`1571547 Al
`20070003418 A
`(Continued)
`OTHER PUBLICATIONS
`
`9/2005
`1/2007
`
`U.S. Appl. No. 12/001, 001, filed Dec. 7, 2011, Clavel et al.
`(Continued)
`
`Kashif Siddiqui
`Primary Examiner
`Wilson Sonsini Goodrich&
`(74) Attorney, Agent, orFirm
`Rosati
`
`ABSTRACT
`(57)
`A method of rendering
`content on a wireless device. The
`wireless device sends a message to a server
`an
`requesting
`application and identifies itself with its rendering capabilities.
`The wireless receives an identification of a custom configu-
`ration ofa plurality ofrendering blocks of the wireless device
`associated with the application. The custom configuration
`configures the plurality ofrendering blocks ofthe device. The
`wireless device receives compiled content
`from the applica-
`tion executing on the server that
`render commands
`includes
`expressed in a syntax that is device generic but has parameters
`specific to the rendering capabilities ofthe wireless device. A
`reader of the wireless device processes the compiled content
`blocks of a
`to individual
`and issues commands
`rendering
`graphical user interface based on the rendering commands of
`the compiled content and based on the custom configuration.
`20 Claims, 9 Drawing Sheets
`
`100B
`
`Device
`Genenc
`
`Device
`Specific
`
`Request/Identification
`Actions
`
`Compiled Content
`
`Server
`130
`
`108a
`
`Engine/Reader
`114
`
`Configuration Data
`112
`
`Graphical User Interface
`108
`
`Abstraction Layer
`106
`
`J2ME/BREW
`104
`
`Hardware
`102
`
`Netflix v. GoTV
`IPR2023-00757
`Netflix Ex. 1001
`
`

`

`US 8,989,715 B2
`Page 2
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6,401,085 Bl
`6,457,030 Bl
`6,490,627 Bl
`6,795,710 Bl
`6,884, 172 Bl
`6,996,537 B2
`7,222, 154 B2
`7,286, 562 Bl
`7,287,064 Bl
`7,506,070 B2
`7,568,201 B2
`7,580,703 Bl
`7,599,665 B2
`7,627,354 B2
`7,636,792 Bl
`7,647,076 Bl
`7,671,869 B2
`7,801,891 B2
`7,979,350 Bl
`8,009,619 Bl
`8, 103,865 B2
`8,478,245 B2
`2002/0018487 Al
`2002/0103881 Al
`2002/0109718 Al
`2002/0131404 Al
`2003/0009495 Al
`2003/0018521 Al
`2003/0106022 Al
`2003/0120637 Al
`2003/0151621 Al *
`2003/0182419 Al
`2004/0133848 Al
`2004/0210907 Al
`2004/0236860 Al
`2004/0252197 Al
`2005/0172295 Al
`2005/0223352 Al
`2006/0031387 Al
`2006/0123053 Al
`2006/0129632 Al
`2006/0236308 Al
`2007/0067373 Al
`2007/0078009 Al
`2007/0123229 Al
`2007/0124721 Al
`2007/0130156 Al
`2007/0130333 Al
`2008/0016176 Al
`2008/0072139 Al
`2008/0090513 Al
`2008/0134018 Al *
`2008/0201225 Al
`2009/0037329 Al
`2009/0037391 Al
`2009/0177663 Al
`2009/0220068 Al
`2009/0227274 Al
`2009/0259940 Al
`2010/0174974 Al
`
`6/2002
`9/2002
`12/2002
`9/2004
`4/2005
`2/2006
`5/2007
`10/2007
`10/2007
`3/2009
`7/2009
`8/2009
`10/2009
`12/2009
`12/2009
`I/2010
`3/2010
`9/2010
`7/2011
`8/2011
`I/2012
`7/2013
`2/2002
`8/2002
`8/2002
`9/2002
`I/2003
`I/2003
`6/2003
`6/2003
`8/2003
`9/2003
`7/2004
`10/2004
`11/2004
`12/2004
`8/2005
`10/2005
`2/2006
`6/2006
`6/2006
`10/2006
`3/2007
`4/2007
`5/2007
`5/2007
`6/2007
`6/2007
`I/2008
`3/2008
`4/2008
`6/2008
`8/2008
`2/2009
`2/2009
`7/2009
`9/2009
`9/2009
`10/2009
`7/2010
`
`et al.
`
`Gershman et al.
`Adams et al.
`Kalra et al.
`Creemer
`Lloyd et al.
`Minear et al.
`Dowling
`Vargo et al.
`Haldar et al.
`Tran et al.
`Suryanarayana
`Veselov et al.
`Sinivaara
`Khazaka et al.
`Ho
`Lavine et al.
`Arnold et al.
`Hu et al.
`Carion et al.
`Clavel et al.
`Carion et al.
`Carion et al.
`Chen et al.
`Granade et al.
`Mansour et al.
`Mehta et al.
`Adjaoute
`Kraft et al.
`Goodacre et al.
`Chithambaram et al.
`McEvilly et al.
`Barr et al.
`Hunt et al.
`Lau et al.
`Logston et al.
`Fraley et al.
`Goring et al.
`Nishida
`Hamzeh et al.
`Scannell
`Blume et al.
`Lamb et al.
`Higgins et al.
`Lockton et al.
`Pousti
`Cowing et al.
`et al.
`Tenhunen
`Bhalla et al.
`Leitner
`Salinas et al.
`Collins et al.
`Kembel et al.
`Maharajh et al
`Coppinger et al.
`Agrawal et al.
`Hulaj et al.
`Vialle et al.
`Adler et al.
`Moraes
`Brisebois et al.
`
`. ... ... ... ..
`
`. .. 345/744
`
`. .. 715/234
`
`FOREIGN PATENT DOCUMENTS
`
`KR
`WO
`
`20080022697 A
`WO 2002/103963 Al
`
`3/2008
`12/2002
`
`OTHER PUBLICATIONS
`U.S. Appl. No. 12/018, 141, filed Jan. 22, 2008, Clavel et al.
`et al. UIML; An XML Language
`for Building Device-
`Abrams,
`Independent User Interfaces. XML Conference Proceedings. Pro-
`ceedings of XML, XX, XX, Dec. I, 1999.
`
`Interfaces with UIML.
`Ali, et al. Building Multi-Platform User
`Retrieved from the Internet: May 17, 2004. URL; arxiv. org/ftp/cs/
`papers/0111/0111024. pdf.
`et al; "An Architecture
`for Building Multi-device Thin-
`Grundy,
`Client Web User Interfaces" Advanced Information Systems Engi-
`neering, vol. 234812002, Jan. I, 2002, pp. 728-732, XP002511217.
`search report and written opinion dated Feb. 17, 2009
`International
`for PCT/US2008/009302.
`International Search Report and Written Opinion mailed Oct. 6, 2009
`for International PCT Application No. PCT/US2009/001514, 6 pgs.
`International Search Report and Written Opinion mailed Oct. 6, 2009
`PCT Application No. PCT/US2009/001516,
`for
`International
`10 pgs.
`search report dated Jan. 30, 2009 for PCT Application
`International
`No. US2008/009303.
`Mir Farooq Ali et al: "Building Multi-Platform User Interfaces with
`UIML" Internet Citation,
`[online] XP002280476 Retrieved from the
`I I I/O I I 1024.pdf&
`Internet:
`URL:http;//arxiv.
`org/ftp/cs/papers/0
`[Retrieved on May 17, 2004].
`Office action dated Jan. 4, 2013 for U. S. Appl. No. 12/018, 141.
`Office action dated Jan. 7, 2010 for U. S. Appl. No. 12/098, 670.
`Office action dated Feb. 7, 2011 for U.S. Appl. No. 11/888,799.
`Office action dated Feb. 16, 2010 for U. S. Appl. No. 11/977, 186.
`Office action dated Mar. 9, 2012 for U.S. Appl. No. 12/018, 141.
`Office action dated Apr. 8, 2011 for U. S. Appl. No. 12/001, 001.
`Office action dated May 12, 2009 for U. S. Appl. No. 11/977, 186.
`Office action dated Jun. 14, 2012 for U.S. Appl. No. 11/888, 803.
`Office action dated Jun. 21, 2010 for U.S. Appl. No. 11/977, 212.
`Office action dated Jun. 25, 2010 for U.S. Appl. No. 11/888, 799.
`Office action dated Jun. 29, 2010 for U.S. Appl. No. 12/098, 670.
`Office action dated Jul. 7, 2011 for U.S. Appl. No. 12/018, 141.
`Office action dated Jul. 9, 2010 for U.S. Appl. No. 11/977, 186.
`Office action dated Jul. 30, 2010 for U.S. Appl. No. 11/977,229.
`Offirce action dated Aug. 19, 2010 for U. S. Appl. No. I I/977, 186.
`Office action dated Sep. 2, 2009 for U.S. Appl. No. 11/977, 186.
`Office action dated Sep. 17, 2009 for U.S. Appl. No. 11/977,212.
`Office action dated Oct. 31, 2011 for U.S. Appl. No. 12/001, 001.
`Office action dated Dec. 3, 2008 for U.S. Appl. No. 11/977, 186.
`for Device Indepen-
`Simon, et al. Tool-Supported Single Authority
`Proceedings of the 7th International Con-
`dence and Multimodality
`Interaction with Mobile Devices &
`ference on Human Computer
`[Online] Sep. 19, 2005, Sep. 22, 2005 pp. 91-98,
`Services.
`XP002511216 Retrieved from the Internet; URL; http//portal.
`acm.
`orgicitation. cfm?Id=1085777. 1085793& [Retrieved
`Jan. 19,
`on
`2009] abstract.
`et al. Synchronised Model-Based Design of Multiple
`Vanderdonckt,
`[online] Sep. 10, 2004,pp. 1-8,
`User
`Interfaces.
`Internet Article,
`XP0025 11218Retrieved from the Internet: URL: http: //web. archive.
`i sys. uc1.ca.be/bchi/mem-
`org/web/20040910043454/http;//www.
`on Jan. 20,
`bers/qli/pubNanderdonckt-IHM200I.
`pdf& [retrieved
`2009].
`Written Opinion mailed Feb. I, 2010 for International PCT Aplica-
`tion No. PCT/US2008/009302,
`8 pgs.
`Written Opinion mailed Feb. I, 2010 for International PCT Aplica-
`tion No. PCT/US2008/009303, 8 pgs.
`Xiegert, et al: "Device Independent Web Applications
`The Author
`[Lecture
`Once Display Everywhere Approach" Web Engineering;
`Science;. LNCS], Springer-Verlag,
`Notes
`in Computer
`Berlin/
`Heidelberg, vol. 3140, Jul. 7, 2004, pp. 244-255, XP019009054.
`Ziegert, et al. Device Independent Web Applications
`The Author
`[Lecture
`Once Display Everywhere Approach. Web Engineering;
`Science; LNCS], Springer-Verlag,
`Notes
`in Computer
`Berlin/
`Jul. 7, 2004; 3140;244-255.
`Heidelberg.
`Office action dated Oct. 23, 2013 for U.S. Appl. No. 12/018, 141.
`Notice of allowance
`dated Dec. 17, 2014 for U.S. Appl. No.
`12/018, 141.
`
`* cited by examiner
`
`

`

`U.S. Patent
`U.S. Patent
`
`Mar. 24, 2015
`Mar.24, 2015
`
`Sheet 1 of 9
`Sheet 1 of 9
`
`US 8,989,715 B2
`US 8,989,715 B2
`
`¥bSeno
`
`<<
`ey
`
`

`

`U.S. Patent
`U.S. Patent
`
`Mar. 24, 2015
`Mar.24, 2015
`
`Sheet 2 of 9
`Sheet 2 of 9
`
`US 8,989,715 B2
`US 8,989,715 B2
`
`BBol"]HORDESy
`
`
`
`Jake"]uOqOBS
`
`
`
`queuespepdwo5
`
`
`
`uOREOYHUapsanbap
`
`suey
`
`
`
`JepeayyauBuz
`
`PTE
`
`
`
`Beguojeinbyuoy
`
`ety
`
`
`
`BOBLeU]Jaspwoes
`
`Sor
`
`aoaed
`
`aoAad]ft'oUBUat)
`
`oyioads
`
`aa
`oS—|
`
`S-aYNDI4
`
`901
`
`Made/awer
`
`POF
`
`
`
`SEMPe}
`
`cor
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 24, 2015
`
`Sheet 3 of 9
`
`US 8,989,715 B2
`
`20QA
`
`Client and Application
`
`Identification Message
`
`identification
`Custom Configuration
`Identification
`
`and Application
`
`Request Custom Configuration
`AppIIcation
`
`Information
`
`and/or
`
`Download Custom Configuration
`
`Client
`
`210
`
`Request
`
`for first page
`
`Download Application Page
`
`220
`
`Send Acknowledgement
`
`224
`
`Push Content Update
`
`

`

`U.S. Patent
`
`Mar. 24, 2015
`
`Sheet 4 of 9
`
`IJS 8,989,715 B2
`
`User Interaction
`
`New Page
`na&
`
`21G
`
`230
`
`User Interaction
`
`New Page
`
`New Page
`
`FIGURE 28
`
`

`

`U.S. Patent
`U.S. Patent
`
`Mar. 24, 2015
`Mar.24, 2015
`
`Sheet 5 of 9
`Sheet 5 of 9
`
`US 8,989,715 B2
`US 8,989,715 B2
`
`
`
`
`
`sinduyuopng
`
`JONeosuel
`
`Ore
`
`oct
`
`BIRECA-UON
`
`Alcweyy
`
`O¢e
`
`BREA,
`
`Aroulayy
`
`ore
`
`
`
`Agjdsigy
`
`ose
`
`JOSS890i¢
`
`OSE
`
`
`
`JaeyeadsBUOYCOOH
`
`Oozeoge
`
`£SYN
`
`
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Mar. 24, 2015
`Mar. 24, 2015
`
`Sheet 6 of 9
`Sheet6 of 9
`
`US 8,989,715 B2
`US 8,989,715 B2
`
`BupepuayJeypUSp
`
`ye019
`
`32Pl
`
`palo
`
`JOANUSP]
`
`
`
`BuvspuayJoyunuap|
`
`Buepuery
`
`dalqUsp}
`
`vaeNnold
`
`
`
`
`
`
`
`FaBegpayduiog
`
`uoydusosac]
`
`aa
`+
`
`|
`
`
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Mar. 24, 2015
`Mar.24, 2015
`
`Sheet 7 of 9
`Sheet 7 of 9
`
`US 8,989,715 B2
`US 8,989,715 B2
`
`EIS
`
`ysyu0g
`
`
`
`JaAjOSgynoAe]
`
`oss
`
`40Auesqr]
`
`uanjemBbyuo9g
`
`Be
`
`O+s
`
`§Send
`
`
`
`
`
`ssoursng
`
`jofuziqry]
`
`suoneniddy
`
`oo
`
`D
`in
`
`joAveiqr]
`
`Sona]
`
`SOHO
`
`095
`
`ayejduiay
`
`auibuq
`
`OSS
`
`Bulpo2eg
`
`WalsAS
`
`02S
`
`
`
`
`
`

`

`U.S. Patent
`
`Mar. 24, 2015
`
`Sheet 8 of 9
`
`US 8,989,715 B2
`
`Sending a message to a server identifying
`the desired
`and the wireless cfevice capability
`application
`610
`
`of a custom configuration of a
`Receiving an identification
`plurality of rendering blocks of the wireless device
`62Q
`
`if the
`Requesting the identified custom configuration
`is not present on the wireless device
`custom configuration
`636
`
`content generated in part from
`Receiving compiled
`execution of the application
`by the server
`640
`
`Using a graphical user interface to generate renderable
`content based on the compiled content and the custom
`configuration
`650
`
`Rendering the renderabie
`
`content on the wireless device
`660
`
`

`

`U.S. Patent
`
`Mar. 24, 2015
`
`Sheet 9 of 9
`
`US 8,989,715 B2
`
`Receiving a message from a client requesting
`an application
`the client's capability
`identifying
`7'I 0
`
`and
`
`Identifying
`
`a custom configuration
`720
`
`for the requested application
`
`- Setup
`
`Sending a message to the client
`
`identifying
`ZK
`
`the custom configuration
`
`If requested by the client, sending the custom configuration
`~74
`
`Executing the requested application
`7M
`
`Dynamic ~~
`
`=~Application~V-
`
`YES
`
`Generating
`
`a template for the executed application
`760
`
`Translating
`
`received informatio~ into discrete lovv level basic commands
`776
`
`Sending the discrete Ion level basic commands
`780
`
`to the client
`
`FIGURE 7
`
`

`

`US 8,989,715 B2
`
`1
`METHOD AND SYSTEM FOR RENDERING
`CONTENT ON A WIRELESS DEVICE
`
`CROSS REFERENCE
`
`This application is a continuation of U.S. patent applica-
`tion Ser. No. 11/888, 803, filed Aug. I, 2007, now U.S. Pat.
`No. 8,478,245, which is incorporated herein by reference in
`its entirety.
`
`TECHNICAL FIELD
`
`invention relate to the field of
`Embodiments of the present
`systems. More particularly,
`embodi-
`wireless communication
`ments of the present
`invention relate to a method and system
`for rendering applications on a wireless device.
`
`BACKGROUND ART
`
`of wireless
`and increase
`The widespread
`in popularity
`devices have led to an increase in the number of wireless
`the use of cellular
`device types in the world. For example,
`(PDAs), PalmPilots,
`assistants
`phones,
`personal
`digital
`IPods, etc. , have become prevalent
`BlackBerrys,
`in
`laptops,
`the market. The increase in the number of wireless devices
`has also increased the demand for various applications
`to run
`on various wireless devices.
`The market
`is fractured among many manufacturers with
`types of wireless devices including brands, models,
`different
`etc. For example, each year new manufacturers
`generations,
`enter
`the market
`and existing manufacturers
`provide new
`models and new versions for existing wireless devices. Each
`wireless device is unique based on its brand, model, rendering
`capability, battery life, processing power, display resolution,
`size, etc. , collectively
`color capability,
`as
`known
`display
`wireless device attributes.
`since each wireless device is unique, each
`Unfortunately,
`application must be tailored in accordance with the wireless
`to fully utilize the capabilities ofthe wireless
`device attributes
`to utilize the entire display of the wire-
`device. For example,
`the application must be tailored to render
`less device,
`the
`application in accordance with the display size and resolution
`of the wireless device.
`the increase in the number of applications,
`Unfortunately,
`the types of wireless devices
`and the need to tailor each
`application to a given wireless device type has increased the
`cost of developing applications. With ever increasing number
`of models
`and brands of wireless devices,
`the number of
`required to accommo-
`and application versions
`applications
`date all of these different wireless devices has increased as
`well. Since each application must be specific to a given wire-
`less device type with a given brand and model, applications
`developed from the ground up for each wire-
`are substantially
`less device type. Unfortunately,
`from
`developing applications
`the ground up for each wireless device has increased the cost
`ofdeveloping and customizing each application to accommo-
`date each wireless device brand and model.
`the increase in cost of developing
`Moreover,
`applications
`due to the need to tailor each application to all the specific
`brands and models of wireless devices has hindered and lim-
`ited the number of titles that a software vendor can produce
`simply do not have the time or
`annually. Software developers
`to take even a single application
`the resources
`a
`through
`customized quality assurance and debugging process, much
`less each application for each type ofwireless device, thereby
`limiting the number of titles that a software vendor can pro-
`duce.
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`all the required versions of a
`the task of producing
`Also,
`title is not only time consuming and laborious but it also tends
`and patches to existing titles. In general, a
`to limit upgrades
`wireless device runs the application locally and renders
`the
`to
`requires a patch/update
`result. Thus, updating applications
`be specially developed
`for and provided
`to each wireless
`device individually. For example, updating/patching
`an appli-
`to access the
`cation may require
`the wireless device user
`application provider's website via the wireless device and to
`to determine
`in order
`navigate
`through multiple
`pages
`the user
`whether an update is ready. When an update is ready,
`actively initiates the update process. As a result, many users
`due to this laborious pro-
`may not update their applications
`cess.
`
`SUMMARY
`
`a need has arisen to enable software vendors
`Accordingly,
`regardless of the wireless
`to provide generic
`applications
`device type,
`from having
`thereby relieving software vendors
`for each given wireless device type.
`to tailor their applications
`a need has arisen to not only relieve
`Moreover,
`software
`for a given wireless
`from tailoring their applications
`vendors
`device type but to provide an output
`is device specific
`that
`based on the wireless device attributes where the output
`is
`is
`from a generic
`generated
`Furthermore,
`application.
`it
`to update and patch various applications with-
`advantageous
`out a need to access each wireless device individually.
`It will
`become apparent
`to those skilled in the art after reading the
`detailed description of the present
`invention that the embodi-
`ments of the present
`satisfy the above mentioned
`invention
`needs.
`of the present
`software
`Embodiments
`relieve
`invention
`from tailoring their applications based on each wire-
`vendors
`the output of a
`less device type because the server
`tailors
`generic application based on the wireless device capability.
`Moreover, embodiments of the present
`invention execute the
`requested application on the server. Thus providing software
`updates and patches for a generic application can be done by
`on the server,
`the generic
`application
`patching/updating
`thereby eliminating the need to update/patch
`each application
`on each wireless device.
`According to one embodiment of the present
`invention,
`wireless device includes an engine/reader. The engine/reader
`is operable to communicate with a server and receive a series
`of low level basic commands
`layout content, position,
`that
`etc. for rendering application content on the wireless device.
`commands of a generic syntax
`The engine/reader
`interprets
`that are device specific in their parameters.
`The wireless device may also include
`user
`a graphical
`interface including a plurality of rendering blocks. A custom
`the appearance of
`configuration may be used to customize
`content generated by a requested application rendered on the
`rendering blocks. In other words, a custom configuration may
`be a set of low level
`for preprogramming
`the
`instructions
`plurality of rendering
`blocks to operate and look a certain
`way. The graphical user interface is operable for rendering
`and for
`basic commands
`received from the engine/reader
`the operation and appearance of the requested
`customizing
`application based on the custom configuration. The wireless
`the embodi-
`device has software stored therein to implement
`ments of the present
`invention.
`In one embodiment,
`are provided by
`generic applications
`It is
`and are stored on a remote server.
`software vendors
`are not device specific.
`these applications
`appreciated that
`Once a wireless device in communication with the server
`is sent via the engine/
`a message
`an application,
`requests
`
`a
`
`

`

`US 8,989,715 B2
`
`reader of the wireless device to the server. The message may
`for a specific application as well as infor-
`include a request
`mation identifying the wireless device type and its capability.
`In response to the message from the wireless device,
`the
`server accesses the requested
`by accessing a
`application
`library of applications. The library of applications
`contains
`that on one level operate regardless ofthe
`generic applications
`device type. The requested
`is executed on the
`application
`the server may identify a custom configu-
`server. Moreover,
`ration to be used for the requested application and the device
`type. The custom configuration
`is the theme and determines
`certain graphical appearances ofthe requested application.
`In
`the custom configuration provides the "look and
`other words,
`feel" of the content of the requested application. The server
`may send a message to the wireless device identifying
`the
`to be used. If the identified
`custom configuration
`custom
`is present on the wireless device it
`is used
`configuration
`custom configuration
`is
`otherwise
`the identified
`locally,
`from the server to the wireless device. The cus-
`downloaded
`is specific to the display and audio capa-
`tom configuration
`bilities of the wireless device and is also specific to the wire-
`less device.
`(e.g.,
`The server may determine
`the device capabilities
`capability of the wireless device) based on the
`rendering
`received identification message and by accessing a library of
`device profiles. The library of device profiles includes
`infor-
`the specific wireless device capabilities.
`mation about
`During the execution of an application,
`the server deter-
`the executed application produces dynamic or
`mines whether
`static pages. Ifdynamic data is produced, a template engine of
`the server merges dynamic data provided by a business
`logic
`screens of the requested application pro-
`unit and template
`on the server. Business
`vided by executing the application
`logic facilitates dynamic
`exchange between the
`information
`application executing and the templates. Thus,
`the template
`engine provides a high level template (e.g., extensible markup
`language (XML) format) that includes the merged screens of
`the requested application and dynamic data provided by the
`logic. Accordingly,
`is a high
`business
`the resultant
`output
`level generic template or page description.
`communicates with a
`the template
`engine
`Additionally,
`device profile of the wireless device and may eliminate con-
`tent of the requested application that
`is not supported by the
`device based on the capabilities of the wireless
`wireless
`ifthe server determines
`device. For example,
`that the wireless
`related to audio
`device has no audio capability,
`the content
`may be eliminated from the template. On the other hand, if a
`the template engine is bypassed and
`static page is produced,
`the static page is supplied to a layout solver directly.
`solver of the server
`The layout
`then tailors the template
`based on the device profile and device capability.
`In one
`the layout solver also tailors static data based on the
`example,
`device profile and device capability. The layout solver trans-
`static page into a series of basic
`lates the template
`and/or
`commands based on the device profile and device capabili-
`ties. Basic commands
`are written in a device independent
`tailored based on the wireless device capability.
`syntax but
`the basic commands
`are low level compilation
`Accordingly,
`operable to render objects using the plurality of rendering
`blocks of the wireless device. For example, basic commands
`may be used to layout page content of the requested applica-
`solver receives a generic tem-
`tion. Accordingly,
`the layout
`plate and/or static data of the requested application and trans-
`based on the
`to application
`specific
`lates
`commands
`it
`device's capability. Basic commands
`to
`are then transmitted
`the wireless device for rendering.
`
`6
`
`10
`
`16
`
`20
`
`26
`
`30
`
`36
`
`40
`
`46
`
`60
`
`66
`
`60
`
`66
`
`The engine/reader ofthe wireless device receives the basic
`that are tailored and are specific to the wireless
`commands
`device based on device's attributes
`and capabilities. The syn-
`tax of these commands
`is device generic. The graphical user
`interface of the wireless device uses the received basic com-
`the received
`to render
`and the custom configuration
`mands
`page. Each command is typically associated with an opera-
`block of the wireless
`tion to be performed by a rendering
`content, etc., for operation of
`device and carries parameters,
`block. Basic commands
`are used to layout
`that
`rendering
`content, position and etc. of the application while the custom
`is used to customize the "look and feel" of the
`configuration
`requested application (e.g., background
`color). The engine/
`reader may receive messages
`from the server
`and content
`interaction by the user or it may send/receive
`without
`further
`in response to user interaction.
`messages
`software vendors do not need to tailor their
`As a result,
`application to each wireless device. In other words, software
`vendors can develop a generic application because the output
`of the generic application is tailored based on each wireless
`device type using the server. Moreover, since applications
`and
`for rendering
`basic commands
`are performed
`applications
`and generated on the server, providing patches and updates
`can be facilitated by updating the server,
`thereby eliminating
`the need to access each wireless device individually.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`in
`
`system in
`invention
`
`FIG. 1A shows an exemplary
`communication
`accordance with one embodiment of the present
`including wireless clients and a remote server.
`FIG. 1B shows
`device protocol
`an exemplary wireless
`of the present
`stack in accordance with one embodiment
`invention.
`FIGS. 2A and 2B show an exemplary
`communication
`sequence between a wireless device and a remote server
`accordance with one embodiment of the present
`invention.
`FIG. 3 shows an exemplary wireless device block diagram
`in accordance with one embodiment of the present
`invention.
`FIG. 4 shows
`received
`compiled
`an exemplary
`page
`of the
`in accordance with one embodiment
`description
`invention.
`present
`FIG. 5 shows an exemplary remote server block diagram in
`accordance with one embodiment of the present
`invention.
`FIG. 6 shows an exemplary computer controlled flow dia-
`gram for rendering content on a wireless device in accordance
`with one embodiment of the present
`invention.
`FIG. 7 shows an exemplary computer controlled flow dia-
`gram of a server implemented method for processing data for
`a wireless device in accordance with one embodiment of the
`invention.
`present
`
`DETAILED DESCRIPTION
`
`to embodiments of
`Reference will now be made in detail
`examples ofwhich are illustrated in the
`the present
`invention,
`be
`drawings. While
`the
`invention
`will
`accompanying
`it will be
`described in conjunction with these embodiments,
`understood that they are not intended to limit the invention to
`the invention is intended
`these embodiments. On the contrary,
`to cover alternative, modifications
`and equivalents, which
`may be included within the spirit and scope ofthe invention as
`in the follow-
`defined by the appended claims. Furthermore,
`ing detailed description of the present
`numerous
`invention,
`specific details are set forth in order to provide a thorough
`of the present
`it will be
`invention. However,
`understanding
`inven-
`to one ordinary skill
`in the art that the present
`evident
`
`

`

`US 8,989,715 B2
`
`tion may be practiced without
`these specific details. In other
`instances, well known methods,
`procedures,
`components,
`and circuits have not been described in detail as not to unnec-
`essarily obscure aspects of the invention.
`Notation and Nomenclature
`Some portions of the detailed descriptions which follow
`in terms of procedures,
`logic blocks,
`are presented
`steps,
`processing, and other symbolic representations of operations
`on data bits that can be performed
`on computer memory.
`These descriptions
`are the means used by
`and representations
`those skilled in the art to most effectively convey the sub-
`stance of their work to others skilled in the art. A procedure,
`computer executed step, logic block, process, etc., is here, and
`sequence of steps
`generally, conceived to be a self-consistent
`or instructions
`leading to a desired result. The steps are those
`of physical quantities.
`requiring physical manipulations
`though not necessarily,
`these quantities
`take the
`Usually,
`form ofelectrical or magnetic signals capable of being stored,
`combined, compared, and otherwise manipulated
`transferred,
`system. It has proven convenient
`in a computer
`at times prin-
`cipally for reasons of common usage,
`to refer to these signals
`terms, num-
`characters,
`as bits, values, elements,
`symbols,
`bers, or the like.
`that all of these and
`It should be borne in mind, however,
`similar terms are to be associated with the appropriate physi-
`labels applied to
`cal quantities
`and are merely convenient
`these quantities. Unless
`as
`stated otherwise
`specifically
`from following discussions,
`that
`it is appreciated
`apparent
`invention, discussions utilizing terms
`the present
`throughout
`such as "processing" or "creating" or "transferring"
`or
`"executing" or "determining" or "instructing" or "issuing" or
`"halting" or "clearing" or "accessing" or "aggregating" or
`"obtaining" or "selecting" or "initiating" or "receiving" or
`"analyzing" or "generating" or "constructing" or "output-
`ting" or "collecting" or "monitoring" or "outputting" or "stor-
`ing" or "sending" or "receiving" or "identifying" or using" or
`"rendering" or "translating" or "providing" or the like, refer
`to the action and processes of a computer
`system, or similar
`and trans-
`electronic
`device,
`that manipulates
`computing
`(electronic) quantities
`forms data represented
`as physical
`system's
`registers
`and memories
`within the computer
`into
`other data similarly represented as physical quantities within
`or registers or other
`system memories
`such
`the computer
`or display devices.
`information
`transmission
`storage,
`A Method and System for Rendering Content on a Wireless
`Device
`The increase in the number ofwireless devices has led to an
`increase in demand for different applications. However, each
`to be tailored to a given wireless
`needs
`given application
`device type based on the wireless device capability. Embodi-
`ments of the present
`invention relieve software vendors
`from
`tailoring their applications based on each wireless device type
`because the server tailors the output of a generic application
`based on the wireless device capability. Moreover, embodi-
`ments of the present
`invention execute the requested applica-
`tion on the server. Thus providing
`software updates
`and
`can be done by patching/
`for a generic application
`patches
`thereby elimi-
`updating the generic application on the server,
`each application
`on each
`nating the need to update/patch
`wireless device.
`Referring now to FIG. 1A, an exemplary communication
`of the
`system 100A in accordance with one embodiment
`and a remote
`including wireless
`clients
`present
`invention
`one or more wireless
`is shown.
`In one embodiment,
`server
`devices 110 are coupled to a server 130 through a network
`120. The wireless device 110 may be any mobile wireless
`electronic device, e.g., a cellular phone, a personal
`digital
`
`a BlackBerry,
`a
`(PDA), a pager, a smart phone,
`assistant
`laptop and the like. It is appreciated that the wireless device
`described herein is exemplary and is not intended to limit the
`scope ofthe present
`invention. Network 120 includes wireless
`communication
`capability.
`According to an embodiment of the present
`the
`invention,
`It is generic in
`remote server executes a generic application.
`is not specific to any device or any set of device
`that
`it
`capabilities. The server will eventually translate the output of
`to a device specific set of commands
`for
`the application
`to the device 110 for rendering. Likewise,
`the
`transmission
`device 110 sends user
`and other data to the remote
`input
`server 130 for processing.
`According to one embodiment of the present
`a
`invention,
`access to a
`wireless device initiates
`a message requesting
`given generic application stored on the server 130.It is appre-
`ciated that the wireless device in this embodiment
`has stored
`therein a software program or "client" that enables the wire-
`of the present
`less device to implement
`the embodiments
`to the wireless
`invention. This client may be downloaded
`device 110 using well known conventional methods.
`The server 130 in response to the received message may
`access the requested application that is generic regardless of
`the server 130 generates a
`the wireless device type. However,
`device specific result
`from the generic application,
`thereby
`tailoring the output of the generic application based on the
`in one example is a series of
`wireless device type. The result
`basic commands, precompiled and ready for audio and video
`rendering by the wireless device. During application execu-
`information is sent to the wireless device for
`tion, page layout
`display and audio rendering using the basic commands. Also,
`user input and other state information is

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket