throbber

`
`
`
`11111111111111011111101011111111)111,110111111111171I1111111111111111111111111110111111
`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2006/0200749 Al
`Sep. 7, 2006
`Shenfield
`(43) Pub. Date:
`
`(54) SYSTEM AND METHOD FOR CONVERSION
`OF GENERIC SERVICES' APPLICATIONS
`INTO COMPONENT BASED APPLICATIONS
`FOR DEVICES
`
`(76)
`
`Inventor: Michael Shenfield, Milton (CA)
`
`Correspondence Address:
`Gowling Lafleur Henderson LLP
`Suite 4900
`Commerce Court West
`Toronto, ON M5L 1J3 (CA)
`
`(21) Appl. No.:
`
`11/069,971
`
`(22) Filed:
`
`Mar. 3, 2005
`
`Publication Classification
`
`(51) Int. Cl.
`G06F 17/00
`G06F 15/00
`(52) U.S. Cl.
`
`(2006.01)
`(2006.01)
`
`(57)
`
`ABSTRACT
`
` 715/501.1
`
`A system and method for converting a page-based applica-
`tion to a component based application configured for execu-
`
`tion on a device, the device configured for communication
`over a network with a schema-defined service of a data
`source, the page-based application expressed as a series of
`presentation pages having embedded data and messaging
`elements for interaction with a user interface. The system
`and method comprise an analyzer module for assembling a
`set of page metadata representing at least a portion of a
`selected page from the series of pages of the page-based
`application, the page metadata expressed in a first structured
`definition language. Also included is a data conversion
`module for converting the embedded data elements into a
`data component, the data component containing data
`descriptors expressed in a selected structured definition
`language of the component based application. Also included
`is a message conversion module for converting the embed-
`ded messaging elements into a message component, the
`message component containing message descriptors
`expressed in the selected structured definition language of
`the component based application, the message component
`operatively coupled to the data component. Also included is
`a dependency module for generating a dependency link
`associated with an event corresponding to the embedded
`elements, the dependency link for describing a workflow of
`the components in respect to operation of the component
`based application when executed on a user interface of the
`device.
`
`select
`application
`
`704
`
`702
`
`assemble
`metadata 706
`
`scale page
`metadata 708
`
`translate
`metadata 710
`
`store
`definitions
`716
`
`create links
`714
`
`V
`
`generate
`Components
`712
`
`optimize
`components
`718
`
`generate
`workflow 720
`
`assemble
`components
`722
`
`request
`application
`726
`
`I
`
`send
`application
`724
`
`Exhibit 1007
`Page 01 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 1 of 10
`
`US 2006/0200749 Al
`
`14
`
`coraral process
`
`tr:11
`
`126
`
`/12
`
`13
`
`100
`
`124
`
`Trrrrnrinn
`
`Web Application Converter
`
`ry
`
`retiese
`
`Component Analyzer
`
`store
`
`tie components
`
`120
`
`Workflow Builder
`
`download
`
`build application
`
`102
`
`XML Depot
`
`Bastion Builder
`
`105
`
`Admin User
`
`16
`
`e011V
`
`HTML Convener
`
`JSP Convener
`
`ASP Converter
`
`Page Analyzer
`
`retneve
`
`110
`
`128
`
`107
`
`Wcb Sever
`106
`
`deploy
`
`Publish 105
`C- 7 —)
`Application 112
`Repository
`
`
`105
`
`
`
`obil c Gatcvra
`
`WAN
`
`104
`
`106
`
`106
`
`122'
`
`114
`
`700
`
`Figure 1
`
`Exhibit 1007
`Page 02 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 2 of 10
`
`US 2006/0200749 Al
`
`To wireless
`network
`102
`
`200 --
`
`Network
`Connection
`Interface
`
`202 —
`
`User
`Interface
`
`/ 222
`
`208
`
`210
`
`
`
` vovv
`
`212
`
`device infrastructure
`A
`
`220
`
`214
`
`302
`
`304
`
`/16
`component framework
`
`218
`
`204
`
`206
`
`300
`
`Figure 2
`
`Exhibit 1007
`Page 03 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 3 of 10
`
`US 2006/0200749 Al
`
`204
`----16
`
`Device Infrastructure
`
`300
`1
`application container
`
`304
`1
`framework services
`
`302
`1
`component
`application
`
`I
`
`communication
`service
`
`screen service
`
`persistence
`service
`
`access service
`
`provisioning
`service
`
`utility service
`
`306
`
`308
`
`310
`
`312
`
`314
`
`316
`
`component framework
`
`Figure 3
`
`i
`206
`
`Exhibit 1007
`Page 04 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 4 of 10
`
`US 2006/0200749 Al
`
`302
`
`206
`
`Data
`
`400
`
`214
`
`406
`
`Workflow
`
`404 AZ
`
`I
`
`,k
`
`Message
`
`402
`
`Presentation
`
`Figure 4
`
`Exhibit 1007
`Page 05 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 5 of 10
`
`US 2006/0200749 Al
`
`02
`
`Script
`Interpreter
`
`interpre
`
`#3
`
`302
`
`00
`
`404
`
`Metadata
`
`402
`
`load
`#1
`
`2
`
`Client Runtime
`Environment
`
`406
`
`Script
`
`edirect
`
`#4
`
`/04
`
`Redirector
`
`Fill templates
`
`/ 500
`
`#5
`
`invoke
`
`invoke
`
`—506
`
`Native
`Runtime
`Engine
`
`Figure 4a
`
`Exhibit 1007
`Page 06 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 6 of 10
`
`US 2006/0200749 Al
`
`700
`
`Metadata
`Repository
`403
`
`400
`
`404
`
`Int7M
`
`40
`
`e
`
`sr
`
`403b
`
`100
`
`105
`
`105
`
`105
`
`105
`
`E
`
`I
`
`I I
`
`403c
`
`Figure 4b
`
`Exhibit 1007
`Page 07 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 7 of 10
`
`US 2006/0200749 Al
`
`To
`network
`104
`
`500 -
`
`Network
`Connection
`Interface
`______Ik
`
`502 —
`
`User
`Interface
`
`It
`/ 522
`
`518 --,,
`
`508
`
`510
`
`504
`
`i
`
`
`
` ....
`......._.21) ,.....„
`512
`
`device infrastructure
`
`
`
`520
`
`tool runtime environment 506
`
`1
`14
`
`Figure 5
`
`Exhibit 1007
`Page 08 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 8 of 10
`
`US 2006/0200749 Al
`
`/
`
`tools 12
`
`converter tool
`
`126
`
`component
`storage
`114
`
`10
`
`--►
`
`workflow
`
`tool 124
`
`600
`
`606
`
`602
`
`604
`
`builder
`
`tool
`
`122
`
`Figure 6
`
`Exhibit 1007
`Page 09 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 9 of 10
`
`US 2006/0200749 Al
`
`select
`application
`
`704
`
`assemble
`metadata 706
`
`store
`definitions
`716
`
`V
`optimize
`components
`718
`
` 0.1
`
`scale page
`metadata 708
`
`create links
`714
`
`702
`
`translate
`metadata 710
`
`V
`generate
`Components
`712
`
`generate
`workflow 720
`
`assemble
`components
`722
`
`request
`application
`726
`
`send
`application
`724
`
`Figure 7
`
`Exhibit 1007
`Page 10 of 27
`
`

`

`Patent Application Publication Sep. 7, 2006 Sheet 10 of 10
`
`US 2006/0200749 Al
`
`802
`
`202
`
`804
`
`800
`
`800
`
`800
`
`210
`
`Figure 8
`
`Exhibit 1007
`Page 11 of 27
`
`

`

`US 2006/0200749 Al
`
`Sep. 7, 2006
`
`1
`
`SYSTEM AND METHOD FOR CONVERSION OF
`GENERIC SERVICES' APPLICATIONS INTO
`COMPONENT BASED APPLICATIONS FOR
`DEVICES
`
`BACKGROUND
`
`[0001] This application relates generally to transformation
`of applications for communication of services over a net-
`work to a device.
`
`[0002] There is a continually increasing number of devices
`in use today, such as two-way devices, mobile telephones,
`PDAs with wireless communication capabilities, self service
`kiosks and two-way pagers. Software applications which run
`on these devices increase their utility. For example, a mobile
`phone may include an application which retrieves the
`weather for a range of cities, or a PDA may include an
`application that allows a user to shop for groceries. These
`software applications take advantage of the connectivity to
`a network in order to provide timely and useful services to
`users. However, due to the restricted resources of some
`devices, and the complexity of delivering large amounts of
`data to the devices, developing software applications for a
`variety of devices remains a difficult and time-consuming
`task.
`
`[0003] Currently, devices are configured to communicate
`with Web Services through Internet based Browsers and/or
`native applications. Browsers have the advantage of being
`adaptable to operate on a cross-platform basis for a variety
`of different devices, but have a disadvantage of requesting
`pages (screen definitions in HTML) from the Web Service,
`which hinders the persistence of data contained in the
`screens. A further disadvantage of Browsers is that the
`screens are rendered at runtime, which can be resource
`intensive. Native applications have the advantage of being
`developed specifically for the type of device platform,
`thereby providing a relatively optimized application pro-
`gram for each runtime environment. However, native appli-
`cations have disadvantages of not being platform indepen-
`dent,
`thereby necessitating the development multiple
`versions of the same application, as well as being relatively
`large in size, thereby taxing the memory resources of the
`device. Further, application developers need experience with
`programming languages such as Java and C++ to construct
`these hard coded native applications. There is a need for
`application programs, other than page-based applications,
`that can be run on client devices having a wide variety of
`runtime environments, as well as having a reduced con-
`sumption of device resources.
`
`[0004] The systems and methods disclosed herein provide
`a conversion capability to transform page-based applications
`to component based applications to obviate or mitigate at
`least some of the above presented disadvantages.
`
`SUMMARY
`
`[0005] Currently, devices are configured to communicate
`with Web Services and other data sources through Internet
`based Browsers and/or native applications. Browsers have
`the advantage of being adaptable to operate on a cross-
`platform basis for a variety of different devices, but have a
`disadvantage of requesting pages (screen definitions in
`HTML) from the Web Service, which hinders the persis-
`tence of data contained in the screens. A further disadvan-
`
`tage of Browsers is that the screens are rendered at runtime,
`which can be resource intensive. Native applications have
`the advantage of being developed specifically for the type of
`device platform, thereby providing a relatively optimized
`application program for each runtime environment. How-
`ever, native applications have disadvantages of not being
`platform independent, thereby necessitating the develop-
`ment multiple versions of the same application, as well as
`being relatively large in size, thereby taxing the memory
`resources of the device. There is a need for application
`programs, other than page-based applications, that can be
`run on client devices having a wide variety of runtime
`environments, as well as having a reduced consumption of
`device resources.
`
`[0006] Contrary to the current use of page-based applica-
`tions, there are disclosed systems and methods for providing
`a conversion capability to transform page-based applications
`to component based applications.
`
`[0007] Accordingly, a method is disclosed for converting
`a page-based application to a component based application
`configured for execution on a devices the device configured
`for communication over a network with a schema-defined
`service of a data source, the page-based application
`expressed as a series of presentation pages having embedded
`data and messaging elements for interaction with a user
`interface, the method comprising the steps of: assembling a
`set of page metadata representing at least a portion of a
`selected page from the series of pages of the page-based
`application, the page metadata expressed in a first structured
`definition language; converting the embedded data elements
`into a data component, the data component containing data
`descriptors expressed in a selected structured definition
`language of the component based application; converting the
`embedded messaging elements into a message component,
`the message component containing message descriptors
`expressed in the selected structured definition language of
`the component based application, the message component
`operatively coupled to the data component; and generating
`a dependency link associated with an event corresponding to
`the embedded elements, the dependency link for describing
`a workflow of the components in respect to operation of the
`component based application when executed on a user
`interface of the device.
`
`[0008] Also disclosed is a system for converting a page-
`based application to a component based application config-
`ured for execution on a device, the device configured for
`communication over a network with a schema-defined ser-
`vice of a data source, the page-based application expressed
`as a series of presentation pages having embedded data and
`messaging elements for interaction with a user interface, the
`system comprising: an analyzer module for assembling a set
`of page metadata representing at least a portion of a selected
`page from the series of pages of the page-based application,
`the page metadata expressed in a first structured definition
`language; a data conversion module for converting the
`embedded data elements into a data component, the data
`component containing data descriptors expressed in a
`selected structured definition language of the component
`based application; a message conversion module for con-
`verting the embedded messaging elements into a message
`component, the message component containing message
`descriptors expressed in the selected structured definition
`language of the component based application, the message
`
`Exhibit 1007
`Page 12 of 27
`
`

`

`US 2006/0200749 Al
`
`Sep. 7, 2006
`
`2
`
`component operatively coupled to the data component; and
`a dependency module for generating a dependency link
`associated with an event corresponding to the embedded
`elements, the dependency link for describing a workflow of
`the components in respect to operation of the component
`based application when executed on a user interface of the
`device.
`
`[0009] Also disclosed is a computer program product for
`converting a page-based application to a component based
`application configured for execution on a device, the device
`configured for communication over a network with a
`schema-defined service of a data source, the page-based
`application expressed as a series of presentation pages
`having embedded data and messaging elements for interac-
`tion with a user interface, the computer program product
`comprising: a computer readable medium; an analyzer mod-
`ule Stored on the computer readable medium for assembling
`a set of page metadata representing at least a portion of a
`selected page from the series of pages of the page-based
`application, the page metadata expressed in a first structured
`definition language; a data conversion module coupled to the
`analyzer module for converting the embedded data elements
`into a data component, the data component containing data
`descriptors expressed in a selected structured definition
`language of the component based application; a message
`conversion module coupled to the analyzer module for
`converting the embedded messaging elements into a mes-
`sage component, the message component containing mes-
`sage descriptors expressed in the selected structured defini-
`tion language of the component based application, the
`message component operatively coupled to the data com-
`ponent; and a dependency module coupled to the analyzer
`module for generating a dependency link associated with an
`event corresponding to the embedded elements, the depen-
`dency link for describing a workflow of the components in
`respect to operation of the component based application
`when executed on a user interface of the device.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0010] These and other features will become more appar-
`ent in the following detailed description in which reference
`is made to the appended drawings wherein:
`
`[0011] FIG. 1 is a block diagram of a network system with
`conversion tools;
`
`[0012] FIG. 2 is a block diagram of a generic device of
`FIG. 1;
`
`[0013] FIG. 3 is a block diagram of a runtime environ-
`ment of the device of FIG. 2;
`
`[0014] FIG. 4 is a block diagram of a component appli-
`cation of FIG. 2;
`
`[0015] FIG. 4a shows a representative application pack-
`aging and hosting model for the system of FIG. 1;
`
`[0016] FIG. 4b is a model of a client runtime of the device
`of FIG. 1;
`
`[0017] FIG. 5 is a block diagram of a computer for
`implementing the conversion tools of FIG. 1;
`
`[0018] FIG. 6 is an alternative embodiment of the tool of
`FIG. 1;
`
`[0019] FIG. 7 is an example operation of the tools of FIG.
`1; and
`
`[0020] FIG. 8 is an example of screen-data mappings for
`the applications of FIG. 4.
`
`DESCRIPTION
`
`[0021] Referring to FIG. 1, a network system 10 com-
`prises a plurality of generic devices 100 for interacting with
`one or more generic schema defined services provided by
`one or more data sources 106 (and associated data servers)
`via a coupled Wide Area Network (WAN) 104 such as but
`not limited to the Internet. These generic devices 100 can be
`wireless devices such as but not limited to two-way devices,
`mobile phones, PDAs, self-service kiosks and the like. The
`generic services provided by the data source 106 can be Web
`Services and/or other services such as but not limited to SQL
`Databases, IDL-based CORBA and RMI/IIOP systems,
`Legacy Databases, J2EE, SAP RFCs, and COM/DCOM
`components. It is recognized that each data source 106 can
`have an associated pre-compiled (e.g. executable) applica-
`tion 107, for downloading/uploading to the device 100,
`configured for executing on a specific device platform. The
`compiled application 107 is executed on the device 100 so
`as to establish a client-server relationship between the
`device 100 and the data source 106 respectively. Further, the
`system 10 has a gateway server 112 coupled to a wireless
`network 102 for connecting the devices 100 to the WAN
`104. It is recognized that other devices and computers (not
`shown) could be connected to the data sources 106 via the
`WAN 104 and associated networks other than as shown in
`FIG. 1. Web services are selected as an example data source
`106 for the following description of the system 10, for the
`sake of simplicity. However, it is recognized that other
`generic schema defined services could be substituted for the
`web services 106, if desired. Further, the networks 102, 104,
`of the system 10 will hereafter be referred to as the network
`104, for the sake of simplicity.
`
`[0022] Referring again to FIG. 1, a series of conversion
`tools 12 are used to convert the code (e.g. source code) of a
`compiled web application 107 into a series of descriptors
`using a selected structured definition language (e.g. XML).
`The page content of the application 107 have embedded data
`elements, embedded message elements and embedded pre-
`sentation elements. The application 107 is converted into a
`component application 105, as further described below. The
`tools 12 can be used to convert commonly used web
`applications 107 into XML-defined component applications
`105, organized as groups of XML descriptors in the form of
`a plurality of interactive components 400, 402, 404, 406 (see
`FIG. 4 as further described below). The conversion process
`of the tools 12 is based on structural code analysis of the
`original application 107 (e.g. web pages) of the web service
`106, and then on application of mapping patterns and
`associated conversion logic to convert these application 107
`pages into the set of structured language (e.g. A) defined
`components 400, 402, 404 augmented by scripting/com-
`mand language (e.g. Java Script) defined workflow compo-
`nents 406. The selected structured definition language and
`the selected scripting/command language are chosen or
`otherwise predefined for use by the tools 12 in expressing
`the descriptors and workflow of components 400, 402, 404,
`406 (see FIG. 4) that comprise the converted component
`application 105. It is noted that the selected structured
`
`Exhibit 1007
`Page 13 of 27
`
`

`

`US 2006/0200749 Al
`
`Sep. 7, 2006
`
`3
`
`definition language is hereafter referred to as XML for the
`sake of simplicity. Further, it is noted that the selected
`scripting/command language is hereafter referred to as Java
`Script for the sake of simplicity. However, it is recognized
`that other selected languages could be substituted for the
`XML and/or Java Script, if desired.
`
`Client-Server Interaction through Network Messaging
`[0023] Referring again to FIG. 1, the devices 100 transmit
`and receive requests/response messages, respectively, over
`the network 104 when in communication with the web
`services 106. The transmission and reception of the mes-
`sages is enabled through interaction with the component
`application 105 when first provisioned and then executed on
`the device 100. The devices 100 can operate as web clients
`of the web services 106 by using the requests/response
`messages are defined by the component application 105 in
`the form of message header information and associated data
`content, for example requesting and receiving product pric-
`ing and availability from an on-line merchant. It is recog-
`nized that the component application 105 is provided to the
`device 100 as a plurality of uncompiled components 400,
`402, 404, 406, each expressed in the selected XML and/or
`Java Script languages, for providing defined application data
`functions (i.e. data components 400), defined application
`message functions (i.e. message components 404), defined
`application presentation functions (i.e. presentation compo-
`nents 402) and defined application workflow functions (i.e.
`workflow components 406). The uncompiled component
`application 105 is received by the device 100 as the series of
`the interactively defined components 400, 402, 404, 406,
`which are subsequently provisioned in executable form on a
`device runtime 206 (see FIG. 2) to operate as the client
`application 105 for communication with the web service(s)
`through messaging, as further described below. The web
`service 106 is an example of a system with which compo-
`nent applications 105 interact via the network 104 in order
`to provide utility to users of the communication devices 100.
`The messages sent between the communication devices 100
`and the web service 106 could traverse a message-map
`service (not shown) of the server 112, which would convert
`the messages between any differing formats used by the
`devices 100 and the web services 106.
`
`[0024] For satisfying the appropriate requests/response
`messages, the web services 106 can communicate with the
`server 110 through various protocols (such as but not limited
`to HTTP and component API) for exposing relevant business
`logic (methods) of the web services 106 to the component
`application(s) 105 provisioned on the device 100. The
`provisioned component applications 105 can use the busi-
`ness logic of the web services 106 similarly to calling a
`method on an object (or a function). It is recognized that the
`component applications 105 can be downloaded/uploaded in
`relation to the server 112, through the messages via the
`network 104, directly to the devices 100. The web services
`106 provide information messages which are used by the
`component applications105 running on the devices 100.
`Alternatively, or in addition, the web services 106 may
`receive and use the information messages provided by the
`component applications 105, perform tasks on behalf of
`component applications 105, and/or enable asynchronous
`messaging for server 112 to device 100 notifications.
`[0025] The web service 106 can be defined as a software
`service, which can implement an interface such as expressed
`
`using Web Services Description Language (WSDL) regis-
`tered in a Universal Discovery Description and Integration
`(UDDI) services registry, and can communicate through
`messages with client devices 100 by being exposed over the
`network 104 through an appropriate protocol such as but not
`limited to the Simple Object Access Protocol (SOAP). In
`some implementations, SOAP is a specification that defines
`the XML format for the messages associated with the
`executing component application 105, including a well-
`formed XML fragment enclosed in SOAP elements. For
`example, the SOAP request message can contain a callable
`function, and the parameters to pass to the function, which
`is sent (according to the message and data format described
`in the components 400, 404 of the component application
`105) from the client device 100, and the service 106 then
`returns the response message (also according to the expected
`message and data format described in the components 400,
`404) with the results of the executed function. It is recog-
`nized that the messaging between the device 100 and web
`service 106 can include synchronous and/or asynchronous
`communication messages. Alternatively, the web service
`106 may use known communication protocols, message
`formats, and the interface may be expressed in web services
`languages other than described above.
`Device 100 and Runtime Environment 206
`[0026] Referring to FIG. 2, the devices 100 are devices
`such as but not limited to mobile telephones, PDAs, two-
`way pagers or dual-mode communication devices. The
`devices 100 include a network connection interface 200,
`such as a wireless transceiver or a wired network interface
`card or a modem, coupled via connection 218 to a device
`infrastructure 204. The connection interface 200 is connect-
`able during operation of the devices 100 to the network 104,
`such as to the wireless network 102 by wireless links (e.g.,
`RF, IR, etc.), which enables the devices 100 to communicate
`with each other and with external systems (such as the web
`service 106) via the network 104 and to coordinate the
`requests/response messages between the component appli-
`cations 105 and the service 106. The network 104 supports
`the transmission of data in the request/response messages
`between devices 100 and external systems (e.g. data sources
`106), which are connected to the network 104. The network
`104 may also support voice communication for telephone
`calls between the devices 100 and devices which are exter-
`nal to the network 104. A wireless data transmission protocol
`can be used by the wireless network 102, such as but not
`limited to DataTAC, GPRS or CDMA.
`[0027] Referring again to FIG. 2, the devices 100 also
`have a user interface 202, coupled to the device infrastruc-
`ture 204 by connection 222, to interact with a user (not
`shown). The user interface 202 includes one or more user
`input devices such as but not limited to a QWERTY key-
`board, a keypad, a trackwheel, a stylus, a mouse, a micro-
`phone and the user output device such as an LCD screen
`display and/or a speaker. If the screen is touch sensitive, then
`the display can also be used as the user input device as
`controlled by the device infrastructure 204. The user inter-
`face 202 is employed by the user of the device 100 to
`coordinate the requests/response message messages over the
`network 104 (see FIG. 1) as employed by component
`applications 105, further described below.
`[0028] Referring again to FIG. 2, operation of the device
`100 is enabled by the device infrastructure 204. The device
`
`Exhibit 1007
`Page 14 of 27
`
`

`

`US 2006/0200749 Al
`
`Sep. 7, 2006
`
`4
`
`infrastructure 204 includes the computer processor 208 and
`the associated memory module 210. The computer processor
`208 manipulates the operation of the network interface 200,
`the user interface 202 and the runtime environment 206 of
`the communication device 100 by executing related instruc-
`tions, which are provided by an operating system and
`component applications 105 located in the memory module
`210. Further, it is recognized that the device infrastructure
`204 can include a computer readable storage medium 212
`coupled to the processor 208 for providing instructions to
`the processor and/or to load/update client application pro-
`grams 302 in the memory module 210. The computer
`readable medium 212 can include hardware and/or software
`such as, by way of example only, magnetic disks, magnetic
`tape, optically readable medium such as CD/DVD ROMS,
`and memory cards. In each case, the computer readable
`medium 212 may take the form of a small disk, floppy
`diskette, cassette, hard disk drive, solid state memory cad, or
`RAM provided in the memory module 210. It should be
`noted that the above listed example computer readable
`mediums 212 can be used either alone or in combination.
`
`[0029] Referring again to FIG. 2, the component applica-
`tions 302 are transmitted via the network 104 and loaded
`into the memory module 210 of a device infrastructure 204
`of the device 100. Alternatively, the component applications
`105 may be loaded via a serial connection, a USB connec-
`tion, or a short-range wireless communication system such
`as IR, 802.11(x) BluetoothTM (not shown). Once loaded onto
`the device 100, the component applications 105 can be
`executed by a runtime environment 206 of the device 100,
`which provisions the component applications 105 into an
`executable form, which is then executed by the processor
`208 in the device infrastructure 204. For example, the
`component applications 105 may be executed as native code
`or interpreted by another software module or operating
`system on the device 100, as her described below with
`reference to FIG. 4b. In any event, the component applica-
`tions 105 are run in the terminal runtime environment 206
`provided by the device 100.
`
`[0030] Referring again to FIG. 1, the client runtime envi-
`ronment can be configured to make the devices 100 operate
`as web clients of the web services or any other generic
`schema-defined services supplied by the data sources 106.
`The client runtime environment 206 is preferably capable of
`generating, hosting and executing the component applica-
`tions 105 on the device 100. Therefore, the native runtime
`environment 206 is an interface to the device 100 function-
`ality of the processor 208 and associated operating system of
`the device infrastructure 204. Further, specific functions of
`the runtime environment 206 can include such as but not
`limited to support for language, coordinating memory allo-
`cation, networking, management of data during I/O opera-
`tions, coordinating graphics on an output device of the
`devices 100 and providing access to core object oriented
`classes and supporting files/libraries.
`
`[0031] The terminal runtime environment 206 can be
`referred to as a smart host container for the component
`application 105, and can be responsible for analyzing mes-
`sage meta-data (of the messages) and for updating the
`representation of the meta-data in the memory module 210.
`The terminal runtime environment 206 preferably supports
`
`the following basic functions for the resident executable
`versions of the component applications 105, functions such
`as but not limited to:
`
`[0032] provide a communications capability to send mes-
`sages to the Web Services 106 or messages to any other
`generic schema defined services connected via the network
`104 to the devices 100;
`
`[0033] provide data input capabilities by the user on an
`input device of the devices 100 to supply data parts for Web
`Services' 106 outgoing messages;
`
`[0034] provide data presentation or output capabilities for
`Web Services' 106 response messages (incoming messages)
`or uncorrelated notifications of the web service 106 on the
`output device;
`
`[0035] provide data storage services to maintain local
`client data in the memory module 210 (see FIG. 2) of the
`device 100; and
`
`[0036] provide an execution environment for the scripting
`language for coordinating operation of the application com-
`ponents 400, 402, 404, 406 (see FIG. 4) of the component
`applications 105.
`
`[0037] Referring to FIGS. 2, 4 and 4a, the client runtime
`environment 206 loads the raw metadata contained in the
`component 400, 402, 404, 406 definitions and the builds the
`executable version of the application program 302 on the
`device 100. For example, there can be two operational
`models/modes for client runtime: a template-based native
`execution mode and a metadata-based execution mode. With
`the template-based native execution model the runtime hosts
`data, message, and screen templates 500 pre-built on the
`device 100 using the native code. When the component
`application 105 definitions are loaded, the runtime environ-
`ment 206 fills the templates 500 with metadata-defined
`parameters from the components 400, 402, 404 and builds
`the executable component application 105 in the native
`format. The workflow script (for example Java Script) of the
`workflow component 406 could be either converted to native
`code or executed using an appropriate script interpreter 502
`to a native code redirector 504, where the redirector 504
`interprets calls to the scripting language into operations on
`native components through a native runtime engine 506.
`With the metadata-based execution, the runtime environ-
`ment 206 either keeps component 400, 402, 404, 406
`definitions in XML (for example), whi

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