`
`\..
`
`PTO/SB/05 (08-08)
`Approved for use through 09/30/2010. 0MB 0651-0032
`U.S. Patent and Trademark Office. U.S. DEPARTMENT OF COMMERCE
`Under the Paperwork Reduction Act of 1995 no Persons are reauired to resPond to a collection of information unless it disPlavs a valid 0MB control number.
`
`UTILITY
`PATENT APPLICATION
`TRANSMITTAL
`
`Attorney Docket No.
`
`XPR.002USOC1
`
`First Inventor
`
`Title
`
`Steven H. Rempell
`
`SYSTEMS AND METHODS FOR PRESENT
`
`"
`
`(Only for new nonprovisional applications under 37 CFR 1.53(b))
`
`Express Mail Label No.
`
`_)
`
`APPLICATION ELEMENTS
`See MPEP chapter 600 concerning utility patent application contents.
`
`ADDRESS TO:
`
`Commissioner for Patents
`P.O. Box 1450
`Alexandria VA 22313-1450
`
`1.0 Fee Transmittal Form (e.g., PTO/SB/17)
`2.0 Applicant claims small entity status.
`See 37 CFR 1.27.
`3.0 Specification
`[Total Pages
`55
`Both the claims and abstract must start on a new page
`(For information on the preferred arrangement, see MPEP 608.0t(a))
`4.0 Drawing(s) (35 U.S.C. 113)
`[Total Sheets
`18
`
`5. Oath or Declaration
`
`[Total Sheets
`
`3
`
`a. 53 Newly executed (original or copy)
`
`b.
`
`i.
`
`A copy from a prior application (37 CFR 1.63(d))
`[]or continuation/divisional with Box 18 completed)
`DELETION OF INVENTOR(S)
`Signed statement attached deleting inventor(s)
`name in the prior application, see 37 CFR
`1.63(d)(2) and 1.33(b).
`
`6.0 Application Data Sheet. See 37 CFR 1. 76
`
`7.(cid:143)
`
`CD-ROM or CD-R in duplicate, large table or
`caputer Program (Appendix)
`Landscape Table on CD
`
`8. Nucleotide and/or Amino Acid Sequence Submission
`(if applicable, items a. - c. are required)
`a.
`Computer Readable Form (CRF)
`b.
`Specification Sequence Listing on:
`
`(cid:143)
`
`l
`
`I
`
`l
`
`10. 0
`
`ACCOMPANYING APPLICATION PARTS
`9. D Assignment Papers (cover sheet & document(s))
`
`Name of Assignee
`
`37 CFR 3.73(b) Statement
`(when there is an assignee)
`
`0Powerof
`Attorney
`
`11.(cid:143) English Translation Document (if applicable)
`12. 0 lnfoEj'tion Disclosure Statement (PTO/SB/08 or PT0-1449)
`Copies of citations attached
`
`13. 0
`Preliminary Amendment
`14. D Return Receipt Postcard (MPEP 503)
`(Should be specifically itemized)
`15. D Certified Copy of Priority Document(s)
`(if foreign priority is claimed)
`16. D Nonpublication Request under 35 U.S.C. 122(b)(2)(B)(i).
`
`Applicant must attach form PTO/SB/35 or equivalent.
`
`CD-ROM or CD-R (2 copies); or
`Paper
`
`17. D Other:
`
`(cid:143)
`(cid:143)
`
`i.
`ii.
`
`(cid:143)
`
`Statements verifying identity of above copies
`C.
`18. If a CONTINUING APPLICATION, check appropriate box, and supply the requisite information below and in the first sentence of the
`specification following the title, or in an Application Data Sheet under 37 CFR 1. 76:
`D Continuation-in-part (CIP)
`0 Continuation
`Prior application information:
`
`(cid:143)
`
`Divisional
`
`of prior application No.: .12!!:13o.,39.5 ................
`
`Examiner Xuiang Xia
`
`Art Unit: 2143
`
`0 The address associated with Customer Number: I
`
`40280
`
`I OR D Correspondence address below
`
`19. CORRESPONDENCE ADDRESS
`
`Name
`
`Address
`
`City
`
`Country
`
`Signature
`
`Name
`(Print/Type)
`
`I State
`I Telephone
`
`/Steven R. Vosen/
`
`Steven R. Vosen
`
`Zip Code
`
`I Date May 8, 2015
`Registration No. I
`(Attorney/ Aqent) 45,186
`
`This collection of information is required by 37 CFR 1.53(b). The information is required to obtain or retain a benefit by the public which is to file (and by the
`USPTO to process) an application. Confidentiality is governed by 35 U.S.C. 122 and 37 CFR 1.11 and 1.14. This collection is estimated to take 12 minutes to
`complete, including gathering, preparing, and submitting the completed application form to the USPTO. Time will vary depending upon the individual case. Any
`comments on the amount of time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer,
`U.S. Patent and Trademark Office, U.S. Department of Commerce, P.O. Box 1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED
`FORMS TO THIS ADDRESS. SEND TO: Commissioner for Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`If you need assistance in completing the form, ca/11-800-PTO-9199 and select option 2.
`
`SAP Exhibit 1002
`SAP v. Express Mobile, Inc.
`IPR2021-01145
`Page 00001
`
`
`
`SYSTEMS AND METHODS FOR PROGRAMMING MOBILE DEVICES
`
`TECHNICAL FIELD
`
`[0001]
`
`The present invention generally relates to providing software for mobile devices, and
`
`more particularly to a method and system for authoring Applications for devices.
`
`BACKGROUND ART
`
`[0002]
`
`Internet-connected mobile devices are becoming ever more popular. While these
`
`devices provide portability to the Internet, they generally do not have the capabilities of non(cid:173)
`
`mobile devices including computing, input and output capabilities.
`
`[0003]
`
`In addition, the mobility of the user while using such devices provides challenges and
`
`opportunities for the use of the Internet. Further, unlike non-mobile devices, there are a large
`
`number of types of devices and they tend to have a shorter lifetime in the marketplace. The
`
`programming of the myriad of mobile devices is a time-consuming and expensive proposition,
`
`thus limiting the ability of service providers to update the capabilities of mobile devices.
`
`[0004]
`
`Thus there is a need in the art for a method and apparatus that permits for the efficient
`
`programming of mobile devices. Such a method and apparatus should be easy to use and provide
`
`output for a variety of devices.
`
`DISCLOSURE OF INVENTION
`
`[0005]
`
`In certain embodiments, a system is provided to generate code to provide content on a
`
`display of a platform. The system includes a database of web services obtainable over a network
`
`and an authoring tool. The authoring tool is configured to define an object for presentation on the
`
`display, select a component of a web service included in said database, associate said object with
`
`said selected component, and produce code that, when executed on the platform, provides said
`
`selected component on the display of the platform.
`
`[0006]
`
`In certain other embodiments, a method is provided for providing information to
`
`platforms on a network. The method includes accepting a first code over the network, where said
`
`first code is platform-dependent; providing a second code over the network, where said second
`
`code is platform-independent; and executing said first code and said second code on the platform
`
`to provide web components obtained over the network.
`
`[0007]
`
`In certain embodiments, a method for displaying content on a platform utilizing a
`
`database of web services obtainable over a network is provided. The method includes: defining
`
`an object for presentation on the display; selecting a component of a web service included in said
`
`docket number: XPR.002WO0
`
`1
`
`IPR2021-01145 Page 00002
`
`
`
`database; associating said object with said selected component; and producing code that, when
`
`executed on the platform, provides said selected component on the display of the platform.
`
`[0008]
`
`In one embodiment, one of the codes is a Player, which is a thin client architecture that
`
`operates in a language that manages resources efficiently, is extensible, supports a robust
`
`application model, and has no device specific dependencies. In another embodiment, Player P is
`
`light weight and extends the operating system and/or virtual machine of the device to: Manage all
`
`applications and application upgrades, and resolve device, operating system, VM and language
`
`fragmentation.
`
`[0009]
`
`In another embodiment, one of the codes is an Application that is a device independent
`
`code that interpreted by the Player.
`
`[0010]
`
`These features together with the various ancillary provisions and features which will
`
`become apparent to those skilled in the art from the following detailed description, are attained
`
`by the system and method of the present invention, preferred embodiments thereof being shown
`
`with reference to the accompanying drawings, by way of example only, wherein:
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`[0011]
`
`FIG. IA is an illustrative schematic of one embodiment of a system including an
`
`authoring platform and a server for providing programming instructions to a device over a
`
`network;
`
`[0012]
`
`FIG. 1B is schematic of an alternative embodiment system for providing programming
`
`instructions to device over a network;
`
`[0013]
`
`FIG. 2A is a schematic of an embodiment of system illustrating the communications
`
`between different system components;
`
`[0014]
`
`FIG.2B is a schematic of one embodiment of a device illustrating an embodiment of
`
`the programming generated by authoring platform;
`
`[0015]
`
`FIGS. 3A and 3B illustrate one embodiment of a publisher interface as it appears, for
`
`example and without limitation, on a screen while executing an authoring tool;
`
`[0016]
`
`FIG. 3C illustrates an embodiment of the Events Tab'
`
`[0017]
`
`FIG. 3D illustrates one embodiment of an Animation Tab;
`
`Docket Number XPR.002WO0
`
`2
`
`IPR2021-01145 Page 00003
`
`
`
`[0018]
`
`FIG. 3E illustrates one embodiment of Bindings Tab;
`
`[0019]
`
`FIG. 3F illustrates one embodiment of a pop-up menu for adding web components;
`
`[0020]
`
`FIG. 4A shows a publisher interface having a layout on a canvas; and FIG. 4B shows a
`
`device having the resulting layout on a device screen;
`
`[0021]
`
`FIG. 5 shows a display of launch strips;
`
`[0022]
`
`FIG. 6A is a display of a Channel Selection List;
`
`[0023]
`
`FIG. 6B is a display of a Widget Selection List;
`
`[0024]
`
`FIG. 6C is a display of a Phone List;
`
`[0025]
`
`FIG. 7 shows a display of a mash-up;
`
`[0026]
`
`FIG. 8 is a schematic of an embodiment of a push capable system;
`
`[0027]
`
`FIG. 9 is a schematic of an alternative embodiment of a push capable system;
`
`[0028]
`
`FIG. 10 is a schematic of one embodiment of a feed collector;
`
`[0029]
`
`FIG. 11 is a schematic of an embodiment of a Mobile Content Gateway;
`
`[0030]
`
`FIG. 12 is a schematic of one embodiment of a system that includes a response
`
`director, a user agent database, an IP address database, and a file database; and
`
`[0031]
`
`FIG. 13 is a schematic of another embodiment of a system that includes a response
`
`director, a user agent database, an IP address database, and a file database.
`
`[0032] Reference symbols are used in the Figures to indicate certain components, aspects or
`
`features shown therein, with reference symbols common to more than one Figure indicating like
`
`components, aspects or features shown therein.
`
`MODE(S) FOR CARRYING OUT THE INVENTION
`
`[0033]
`
`Figure IA is an illustrative schematic of one embodiment of a system 100 including an
`
`authoring platform 110 and a server 120 for providing programming instructions to a device 130
`
`over a network N. In one embodiment, device 130 is a wireless device, and network N includes
`
`wireless communication to the device. Alternatively, system 100 may provide access over
`
`network N to other information, data, or content, such as obtainable as a web service over the
`
`Docket Number XPR.002WO0
`
`3
`
`IPR2021-01145 Page 00004
`
`
`
`Internet. In general, a user of authoring platform 110 may produce programming instructions or
`
`files that may be transmitted over network N to operate device 130, including instructions or files
`
`that are sent to device 130 and/or server 120. The result of the authoring process is also referred
`
`to herein, and without limitation, as publishing an Application.
`
`[0034]
`
`Embodiments include one or more databases that store information related to one or
`
`more devices 130 and/or the content provided to the devices. It is understood that such databases
`
`may reside on any computer or computer system on network N, and that, in particular, the
`
`location is not limited to any particular server, for example.
`
`[0035] Device 130 may be, for example and without limitation, a cellular telephone or a
`
`portable digital assistant, includes a network interface 131, a memory 133, a processor 135, a
`
`screen 137, and an input device 139. Network interface 131 is used by device 130 to
`
`communication over a wireless network, such as a cellular telephone network, a WiFi network or
`
`a WiMax network, and then to other telephones through a public switched telephone network
`
`(PSTN) or to a satellite, or over the Internet. Memory 133 includes programming required to
`
`operate device 130 (such as an operating system or virtual machine instructions), and may
`
`include portions that store information or programming instructions obtained over network
`
`interface 131, or that are input by the user (such as telephone numbers or images from a device
`
`camera (not shown). In one embodiment screen 137 is a touch screen, providing the functions of
`
`the screen and input device 139.
`
`[0036] Authoring platform 110 includes a computer or computer system having a memory
`
`111, a processor 113, a screen 115, and an input device 117. It is to be understood that memory
`
`111, processor 113, screen 115, and input device 117 are configured such a program stored in the
`
`memory may be executed by the processor to accept input from the input device and display
`
`information on the screen. Further, the program stored in memory 111 may also instruct
`
`authoring platform 110 to provide programming or information, as indicated by the line labeled
`
`"A" and to receive information, as indicated by the line labeled "B."
`
`[0037] Memory 111 is shown schematically as including a stored program referred to herein,
`
`and without limitation, as an authoring tool 112. In one embodiment, authoring tool 112 is a
`
`graphical system for designing the layout of features as a display that is to appear on screen 137.
`
`One example of authoring tool 112 is the CDERâ„¢ publishing platform (Express Mobile, Inc.,
`
`Novato, CA).
`
`Docket Number XPR.002WO0
`
`4
`
`IPR2021-01145 Page 00005
`
`
`
`[0038]
`
`In another embodiment, which is not meant to limit the scope of the present invention,
`
`device 130 may include an operating system having a platform that can interpret certain routines.
`
`Memory 111 may optionally include programming referred to herein, and without limitation, as
`
`routines 114 that are executable on device 130.
`
`[0039]
`
`Routines 114 may include device-specific routines - that is, codes that are specific to
`
`the operating system, programming language, or platform of specific devices 130, and may
`
`include, but are not limited to, Java, Windows Mobile, Brew, Symbian OS, or Open Handset
`
`Alliance (OHA). Several examples and embodiments herein are described with reference to the
`
`use of Java. It is to be understood that the invention is not so limited, except as provided in the
`
`claims, and that one skilled in the art could provide Players for devices using routines provided
`
`on a platform. Thus as an example, routines 114 may include Java API's and an authoring tool
`
`System Development Kit (SDK) for specific devices 130.
`
`[0040]
`
`Server 120 is a computer or computer system that includes a network interface 121, a
`
`memory 123.and a processor 125. Is to be understood that network interface 121, memory 123,
`
`and processor 125 are configured such that a program stored in the memory may be executed by
`
`the processor to: accept input and/or provide output to authoring platform 110; accept input
`
`and/or provide output through network interface 121 over network N to network interface 131; or
`
`store information from authoring platform 110 or from device 130 for transmission to another
`
`device or system at a later time.
`
`[0041]
`
`In one embodiment, authoring platform 110 permits a user to design desired displays
`
`for screen 137 and actions of device 130. In other words, authoring platform 110 is used to
`
`program the operation of device 130. In another embodiment, authoring platform 110 allows a
`
`user to provide input for the design of one or more device displays and may further allow the user
`
`to save the designs as device specific Applications. The Applications may be stored in memory
`
`123 and may then be sent, when requested by device 130 or when the device is otherwise
`
`accessible, over network N, through network interface 130 for storage in memory 133.
`
`[0042]
`
`In an alternative embodiment, analytics information from devices 130 may be returned
`
`from device 130, through network N and server 120, back to authoring platform 110, as indicated
`
`by line B, for later analysis. Analytics information includes, but is not limited to, user
`
`demographics, time of day, and location. The type of analytic content is only limited by which
`
`listeners have been activated for which objects and for which pages. Analytic content may
`
`include, but is not limited to, player-side page view, player-side forms-based content, player-side
`
`user interactions, and player-side object status.
`Docket Number XPR.002WO0
`
`5
`
`IPR2021-01145 Page 00006
`
`
`
`[0043]
`
`Content server 140 is a computer or computer system that includes a network interface
`
`141, a memory 143.and a processor 145. It is to be understood that network interface 141,
`
`memory 143, and processor 145 are configured such that a stored program in the memory may be
`
`executed by the processor to accepts requests R from device 130 and provide content C over a
`
`network, such as web server content the Internet, to device 130.
`
`[0044]
`
`Figure 1 B is schematic of an alternative embodiment system 100 for providing
`
`programming instructions to device 130 over a network N that is generally similar to the system
`
`of FIG. IA. The embodiment of FIG. 1B illustrates that system 100 may include multiple servers
`
`120 and/or multiple devices 130.
`
`[0045]
`
`In the embodiment of FIG. 1B, system 100 is shown as including two or more servers
`
`120, shown illustratively and without limitation as servers 120a and 120b. Thus some of the
`
`programming or information between authoring platform 110 and one or more devices 130 may
`
`be stored, routed, updated, or controlled by more than one server 120. In particular, the systems
`
`and methods described herein may be executed on one or more server 120.
`
`[0046] Also shown in FIG. 1B are a plurality of devices 130, shown illustratively and without
`
`limitation as device 130-1, 130-1, ... 130-N. System 100 may thus direct communication between
`
`individual server(s) 120 and specific device(s) 130.
`
`[0047] As described subsequently, individual devices 130 may be provided with program
`
`instructions which may be stored in each device's memory 133 and where the instructions are
`
`executed by each device's processor 135. Thus, for example, server(s) 120 may provide device(s)
`
`130 with programming in response to the input of the uses of the individual devices. Further,
`
`different devices 130 may be operable using different sets of instructions, that is having one of a
`
`variety of different "device platforms." Differing device platforms may result, for example and
`
`without limitation, to different operating systems, different versions of an operating system, or
`
`different versions of virtual machines on the same operating system. In some embodiments,
`
`devices 130 are provided with some programming from authoring system 100 that is particular to
`
`the device.
`
`[0048]
`
`In one embodiment, system 100 provides permits a user of authoring platform 110 to
`
`provide instructions to each of the plurality of devices 130 in the form of a device- or device(cid:173)
`
`platform specific instructions for processor 135 of the device, referred to herein and without
`
`limitation as a "Player," and a device-independent program, referred to herein and without
`
`limitation as an "Application" Thus, for example, authoring platform 110 may be used to
`
`Docket Number XPR.002WO0
`
`6
`
`IPR2021-01145 Page 00007
`
`
`
`generate programming for a plurality of devices 130 having one of several different device
`
`platforms. The programming is parsed into instructions used by different device platforms and
`
`instructions that are independent of device platform. Thus in one embodiment, device 130
`
`utilizes a Player and an Application to execute programming from authoring platform 110. A
`
`device having the correct Player is then able to interpret and be programmed according to the
`
`Application.
`
`[0049]
`
`In one alternative embodiment, the Player is executed the first time by device 130
`
`("activated") through an Application directory. In another alternative embodiment, the Player is
`
`activated by a web browser or other software on device 130. In yet another alternative
`
`embodiment, Player is activated through a signal to device 130 by a special telephone numbers,
`
`such as a short code.
`
`[0050] When the Application and the Player are provided to memory 133, the functioning of
`
`device 130 may occur in accordance with the desired programming. Thus in one embodiment, the
`
`Application and Player includes programming instructions which may be stored in memory 133
`
`and which, when executed by processor 135, generate the designed displays on screen 137. The
`
`Application and Player may also include programming instructions which may be stored in
`
`memory 133 and which provide instructions to processor 135 to accept input from input device
`
`139.
`
`[0051] Authoring tool 112 may, for example, produce and store within memory 111 a
`
`plurality of Players (for different devices 130) and a plurality of Applications for displaying
`
`pages on all devices. The Players and Applications are then stored on one or more servers 120
`
`and then provided to individual devices 130. In general, Applications are provided to device 130
`
`for each page of display or a some number of pages. A Player need be provided once or updated
`
`as necessary, and thus may be used to display a large number of Applications. This is
`
`advantageous for the authoring process, since all of the device-dependent programming is
`
`provided to a device only once ( or possibly for some small number of upgrades), permitting a
`
`smaller Application, which is the same for each device 130.
`
`[0052]
`
`Thus, for example and without limitation, in one embodiment, the Player transforms
`
`device-independent instructions of the Application into device-specific instructions that are
`
`executable by device 130. Thus, by way of example and without limitation, the Application may
`
`include Java programming for generating a display on screen 137, and the Player may interpret
`
`the Java and instruct processor 135 to produce the display according to the Application for
`
`execution on a specific device 130 according to the device platform. The Application may in
`Docket Number XPR.002WO0
`7
`
`IPR2021-01145 Page 00008
`
`
`
`general include, without limitation, instructions for generating a display on screen 137,
`
`instructions for accepting input from input device 139, instructions for interacting with a user of
`
`device 130, and/or instructions for otherwise operating the device, such as to place a telephone
`
`call.
`
`[0053]
`
`The Application is preferably code in a device-independent format, referred to herein
`
`and without limitation as a Portable Description Language (PDL). The device's Player interprets
`
`or executes the Application to generate one or more "pages" ("Applications Pages") on a display
`
`as defined by the PDL. The Player may include code that is device-specific - that it, each device
`
`is provided with a Player that is used in the interpretation and execution of Applications.
`
`Authoring tool 112 may thus be used to design one or more device-independent Applications and
`
`may also include information on one or more different devices 130 that can be used to generate a
`
`Player that specific devices may use to generate displays from the Application.
`
`[0054]
`
`In one embodiment, system 100 provides Players and Applications to one server 120,
`
`as in FIG. IA. In another embodiment, system 100 provides Players to a first server 120a and
`
`Applications to a second server 120b, as in FIG. 1B.
`
`[0055]
`
`In one embodiment, authoring tool 112 may be used to program a plurality of different
`
`devices 130, and routines 114 may include device-specific routines. In another embodiment, the
`
`Player is of the type that is commonly referred to as a "thin client" - that is, software for running
`
`on the device as a client in client-server architecture with a device network which depends
`
`primarily on a central server for processing activities, and mainly focuses on conveying input and
`
`output between the user and the server.
`
`[0056]
`
`In one embodiment, authoring platform 110 allows user to arrange objects for display
`
`on screen. A graphical user interface ("GUI," or "UI") is particularly well suited to arranging
`
`objects, but is not necessary. The objects may correspond to one or more of an input object, an
`
`output object, an action object, or may be a decorative display, such as a logo, or background
`
`color or pattern, such as a solid or gradient fill. In another embodiment, authoring platform 110
`
`also permits a user to assign actions to one or more of an input object, an output object, or an
`
`action object. In yet another embodiment, authoring platform 110 also permits a user to bind one
`
`or more of an input object, an output object, or an action object with web services or web
`
`components, or permits a user to provide instructions to processor 135 to store or modify
`
`information in memory 133, to navigate to another display or service, or to perform other actions,
`
`such as dialing a telephone number.
`
`Docket Number XPR.002WO0
`
`8
`
`IPR2021-01145 Page 00009
`
`
`
`[0057]
`
`In certain embodiments, the applicant model used in developing and providing
`
`Applications is a PDL. The PDL can be conceptually viewed as a device, operating system and
`
`virtual machine agnostic representation of Java serialized objects. In certain embodiments, the
`
`PDL is the common language for authoring tool 112, the Application, and Player. Thus while
`
`either designing the Application with the authoring tool 112, or programming with the SDK, the
`
`internal representation of the programming logic is in Java. In one embodiment the SDK is used
`
`within a multi-language software development platform comprising an IDE and a plug-in system
`
`to extend it, such as the Eclipse Integrated Development Environment (see, for example,
`
`http://www.eclipse.org/). At publish time the Java code is translated into a PDL. This translation
`
`may also occur in real-time during the execution of any Web Services or backend business logic
`
`that interacts with the user.
`
`[0058] One embodiment for compacting data that may be used is described in co-pending U.S.
`
`Patent No. 6,546,397 to Rempell ("Rempell"), the contents of which are incorporated herein by
`
`reference. In that patent the compressed data is described as being a database. The terminology
`
`used here is a PDL, that is the "internal database" of Rempell is equivalent to the PDL of the
`
`present Application.
`
`[0059]
`
`The use of a PDL, as described in Rempell, permits for efficient code and data
`
`compaction. Code, as well as vector, integer and Boolean data may be compacted and then
`
`compressed resulting in a size reduction of 40 to 80 times that of the original Java serialized
`
`objects. This is important not only for performance over the network but for utilizing the virtual
`
`memory manager of the Player more efficiently. As an example, the reassembled primitives of
`
`the Java objects may first undergo logical compression, followed by LZ encoding.
`
`[0060]
`
`The use of a PDL also provides virtual machine and operating system independence.
`
`Since the reassembled primitives of the Application no longer have any dependencies from the
`
`original programming language (Java) that they were defined in. The PDL architecture takes full
`
`advantage of this by abstracting all the virtual machine and/or operating system interfaces from
`
`the code that processes the PDL.
`
`[0061]
`
`In one embodiment, the PDL is defined by the means of nested arrays of primitives.
`
`Accordingly, the use of a PDL provides extensibility and compatibility, with a minimal amount
`
`of constraints in extending the Player seamlessly as market demands and device capabilities
`
`continue to grow. Compatibility with other languages is inherent based on the various Player
`
`abstraction implementations, which may be, for example and without limitation, Java CDC, J2SE
`
`or MIDP2 implementations.
`Docket Number XPR.002WO0
`
`9
`
`IPR2021-01145 Page 00010
`
`
`
`[0062]
`
`In one embodiment, the architecture of Player P includes an abstraction interface that
`
`separates all device, operating system and virtual machine dependencies from the Player's
`
`Application model business logic (that is, the logic of the server-side facilities) that extend the
`
`Application on the Player so that it is efficiently integrated into a comprehensive client/server
`
`Application. The use of an abstraction interface permits the more efficient porting to other
`
`operating systems and virtual machines and adding of extensions to the Application model so that
`
`a PDL can be implemented once and then seamlessly propagated across all platform
`
`implementations. The Application model includes all the currently supported UI objects and their
`
`attributes and well as all of the various events that are supported in the default Player. Further,
`
`less robust platforms can be augmented by extending higher end capabilities inside that
`
`platform's abstraction interface implementation.
`
`[0063]
`
`In one embodiment, authoring platform 110 provides one or more pages, which may be
`
`provided in one Application, or a plurality of Applications, which are stored in memory 123 and
`
`subsequently provided to memory 133. In certain embodiments, the Application includes
`
`instructions R to request content or web services C from content server 140. Thus, for example
`
`and without limitation, the request is for information over the network via a web service, and the
`
`request R is responded to with the appropriate information for display on device 130. Thus, for
`
`example, a user may request a news report. The Application may include the layout of the
`
`display, including a space for the news, which is downloaded form content server 140 for
`
`inclusion on the display. Other information that may be provided by content server 140 may
`
`include, but is not limited to, pages, Applications, multimedia, and audio.
`
`[0064]
`
`Figure 2A is a schematic of a system 200 of an embodiment of system 100 illustrating
`
`the communications between different system components. System includes a response director
`
`210, a web component registry 220, and a web service 230. System 200 further includes
`
`authoring platform 110, server 120, device 130 and content server 140 are which are generally
`
`similar to those of the embodiments of FIGS. IA and 1B, except as explicitly noted.
`
`[0065]
`
`Response director 210 is a computer or computer system that may be generally similar
`
`to server 120 including the ability to communicate with authoring platform 110 and one or more
`
`devices 130. In particular, authoring platform 110 generates one or more Players (each usable by
`
`certain devices 130) which are provided to response director 210. Devices 130 may be operated
`
`to provide response director 210 with a request for a Player and to receive and install the Player.
`
`In one embodiment, device 130 provides response director 210 with device-specific information
`
`including but not limited to make, model, and/or software version of the device. Response
`
`Docket Number XPR.002WO0
`
`10
`
`IPR2021-01145 Page 00011
`
`
`
`director 210 then determines the appropriate Player for the device, and provides the device with
`
`the Player over the network.
`
`[0066] Web service 230 is a plurality of services obtainable over the Internet. Each web
`
`service is identified and/or defined as an entry in web component registry 230, which is a
`
`database, XML file, or PDL that exists on a computer that may be a server previously described
`
`or another server 120. Web component registry 230 is provided through server 120 to authoring
`
`platform 110 so that a user of the authoring platform may bind web services 230 to elements to
`
`be displayed on device 130, as described subsequently.
`
`[0067]
`
`In one embodiment, authoring platform 110 is used in conjunction with a display that
`
`provides a WYSIWYG environment in which a user of the authoring platform can produce an
`
`Application and Player that produces the same display and the desired programming on device
`
`130. Thus, for example, authorin