`
`PATENT OWNER
`EXHIBIT 2031
`
`EXHIBIT 2031
`
`
`
`(19) United States
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2005/0076327 A1
`(12) Patent Application Publication (10) Pub. No.: US 2005/0076327 A1
`
` Helal et al. (43) Pub. Date: Apr. 7, 2005
`(43) Pub. Date:
`Apr. 7, 2005
`Helal et al.
`
`
`US 20050076327A1
`US 20050076327A1
`
`(54) SERVER-SIDE WIRELESS DEVELOPMENT
`(54) SERVER-SIDE WIRELESS DEVELOPMENT
`TOOL
`TOOL
`
`(75) Inventors: Abdelsalam G. Helal, Gainesville, FL
`(75)
`Inventors: Abdelsalam G. Helal, Gainesville, FL
`(US); Dushiant Kochhar, Bellevue,
`(US); Dushiant Kochhar, Bellevue,
`WA (US)
`WA (US)
`
`Correspondence Address:
`Correspondence Address:
`AKERMAN SENTERFITT
`AKERMAN SENTERFITT
`PO. BOX 3188
`PO. BOX 3188
`WEST PALM BEACH, FL 33402-3188 (US)
`WEST PALM BEACH, FL 33402-3188 (US)
`
`(73)
`Assignee: University of Florida, Gainesville, FL
`(73) Assignee: University of Florida, Gainesville, FL
`(21)
`Appl. No.:
`(21) Appl. No.:
`(22)
`(22)
`
`Filed:
`Filed:
`
`Jan. 15, 2004
`Jan. 15, 2004
`
`10/758,180
`10/758,180
`
`Related US. Application Data
`Related US. Application Data
`
`(60) Provisional application No. 60/440,156, filed on Jan.
`(60) Provisional application No. 60/440,156, ?led on Jan.
`15, 2003.
`15, 2003.
`
`Publication Classi?cation
`Publication Classification
`
`(51)
`Int. Cl.7 ....................................................... G06F 9/44
`(51) Int. Cl? ..................................................... .. G06F 9/44
`(52) US. Cl.
`............................................ 717/100; 717/106
`(52) Us. 01. .......................................... .. 717/100; 717/106
`(57)
`ABSTRACT
`(57).
`ABSTRACT
`.
`An mtegrated development tool for constructmg a server-
`An integrated development tool for constructing a server
`side proxy for interacting With a Wireless, mobile device can
`side proxy for interacting With a Wireless, mobile device can
`include at least one module. The module can be configured
`include at least one module. The module can be con?gured
`to generate program code to perform a speci?c function of
`to generate program code to perform a specific function of
`the server-side proxy. The integrated development tool also
`the server-side proxy. The integrated development tool also
`can include means for accessing the at least one module.
`can include means for accessing the at least one module.
`
`1.0.0
`
`_‘LO_Q
`9
`e0‘x
`Sewer
`Client
`
`
`
`Client
`_
`Server /
`Interface
`Interface
`Interface
`
`
`Mobile Device
`Interface __H-|--|-P
`webs'tesl
`Mobile Device
`
`
`120
`125
`105
`120
`125
`105 @ Adaptation Module
`
`
`
`
`\ 804p
`
`
`Adaptation Module
`130
`130
`
`,,
`
`135
`
`140
`140
`
`
`
`Patent Application Publication Apr. 7, 2005 Sheet 1 0f 3
`Patent Application Publication Apr. 7, 2005 Sheet 1 0f 3
`
`US 2005/0076327 A1
`US 2005/0076327 A1
`
`140
`140
`
`J_0_Q
`1.0.0
`115"'\v
` 115"\v
`
`Server
`Client
`
`
`Client
`Server
`Interface
`Interface
`Mobile Device
`120
`Interface
`Interface
`Mobile Device
`
`
`
`125
`105
`105
`120
`125
`
`
`
`
`@ Adaptation Module
`
` Adaptation Module
`130
`130
`
`V
`
`FIG. 1
`
`FIG-1
`200'\
`200'\
`
`
`mmmwa
`225
`220
`215
`m 210
`Datagram Send/Receive
`’
`Datagram Send/Receive
`
`Extract text from HTML
`Extract text from HTML
`) f230
`Generate HTTP Request
`}
`Generate HTTP Request
`
`()
`Convert to .png format
`TOPng()
`- .... .
`I
`
`P ToPng(LPCTSTR source, LPCTSTR destination)
`String Manipulation
`
`String Manipulation
`} ToPng(LPCTSTR source, LPCTSTR destination)
`> void MakeTransparent(int red, int blue, int green)
`User Profile Manipulation
`> void MakeTransparent(int red, int blue, int green)
`User Profile Manipulation
`
`
`
`Browse UDD'
`’ void Change!mageResqution(int, vertical, int horizontal)
`Browse UDD'
`’ void ChangelmageResolution(int, vertical, int horizontal)
`
`
`void ChangelmageSize(int width, int height)
` void ChangelmageSize(int width, int height)
`
`void Rotatelmage(int angle)
` void Rotatelmage(int angle)
`
`void filterlmage(int value)
` void filterlmage(int value)
`
`void convertlmage()
` void convertlmage()
`
`
`2%5
`
`FIG. 2
`2
`
`. .
`
`I
`
`Airline
`
`
`
`
`
`
`
`emeewsoe >—
`Remote WSDL
`P Weather
`
`366
`Movies
`300
`Movies
`Stock
`Stock
`
`305
`
`
` 305
`
`
`
`
`
`Travel
`
`News
`Yellow Pages
`Yellow Pages
`Sports
`Banking
`Bidding
`Shopping
`Shopping
`Medical
`Medical
`
`BankingEEE
`
`
`
`
`FIG 3
`FIG. 3
`
`
`
`Patent Application Publication Apr. 7, 2005 Sheet 2 0f 3
`Patent Application Publication Apr. 7, 2005 Sheet 2 0f 3
`
`US 2005/0076327 A1
`US 2005/0076327 A1
`
`All!)
`
`405_\
`
`Keyword
`
`
`
`g] WSDL Spec
`
`
`
`41°’
`
`OK
`
`Cancel
`
`5.0.0
`
`Filename
`Ftename
`
`505
`
`OK
`
`Attttttt “
`Attribute
`510
`
`Cance|
`
`“
`
`Element
`
`515
`
`~ 5.011
`
`51
`
`
`Mobile Proxy AppWizard - Step 1 of 4
`60
`605
`
`I Datagram Packet support
`m Datagram Packet support
` 61
`610
`I Conversion to .png format
`m Conversion to .png format
`615 \EI String Manipulation
`
`I String Manipulation
`62
`620
`
`
`\D Text extraction from HTML format
`I Text extraction from HTML format
`62
`625
`
`\E] XML Parsing
`
`
`FIG. 4
`FIG. 4
`
`FIG. 5
`
`FIG. '6
`FIG. .6
`
` I XML Parsing
`
`Back
`
`Next
`
`Finish
`
`Cancel
`
`Help
`
`
`
`Patent Application Publication Apr. 7, 2005 Sheet 3 0f 3
`Patent Application Publication Apr. 7, 2005 Sheet 3 0f 3
`
`US 2005/007 6327 A1
`US 2005/0076327 A1
`
`10.0
`10.0
`
`FIG. 7
`
`80.0
`
`FIG. 8
`
`9110
`
`FIG. 9
`FIG. 9
`
`Mobile Proxy AppWizard - Step 2 of 4
`Mobile Prox AopWizard - Step 2 of 4
`
`705
`
`710
`
`\E] HTTP Access to a Website
`I HTTP Access to a Website
`
`-\|:] Web Services Access
`I Web Services Access
`
`
`
`Back
`
`Next
`
`Finish
`
`Cancel
`
`Help
`
`
`Mobile Proxy AppWizard - Step 3 of 4
`Mobile Proxy AppWizard - Step 3 of 4
`80
`805
`
`\II Your own Datasource
`I Your own Datasource
`
`
`(810
`Database
`Database l:l’8‘°
`Object
`Object
`815
`815
`DSN
`F
`
`
`
`Back
`
`Next
`
`Finish
`
`Cancel
`
`Help
`
`820
`.
`82
`m User Profile Datasource
`I User Profile Datasource
`DSN "Profile" is needed in this case.
`DSN "Profile" is needed in this case.
`
`Mobile Proxy AppWizard - Step 4 of 4
`Mobile Proxy AppWizard - Step 4 of 4
`
`E] Palm m515
`E]
`
`[1 HP Jornada 560 Series/sh
`[1
`HP Jornada 560 Series/sh
`
`
`Palm m515 [:1 Hitachi C452H
`Hitachi C452H
`[:1
`
`
` [3 Nokia 7650
`[I] Nokia 7650
`
`
`[1 Siemens SL45i
`El Nokia Communicator 9210
`E]
`Nokia Communicator 9210
`E] Siemens SL45i
`
`
`
`Back
`
`Next
`
`Finish
`
`Cancel
`
`Help
`
`
`
`US 2005/0076327 A1
`US 2005/0076327 A1
`
`Apr. 7, 2005
`Apr. 7, 2005
`
`SERVER-SIDE WIRELESS DEVELOPMENT TOOL
`SERVER-SIDE WIRELESS DEVELOPMENT TOOL
`
`CROSS-REFERENCE TO RELATED
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`APPLICATIONS
`
`[0001] This application claims the benefit of US. Provi-
`[0001] This application claims the bene?t of US. Provi
`sional Application No. 60/440,156, filed in the United States
`sional Application No. 60/440,156, ?led in the United States
`Patent and Trademark Office on Jan. 15, 2003, the entirety
`Patent and Trademark Of?ce on Jan. 15, 2003, the entirety
`of which is incorporated herein by reference.
`of Which is incorporated herein by reference.
`
`BACKGROUND
`BACKGROUND
`
`[0002]
`1. Field of the Invention
`[0002] 1. Field of the Invention
`[0003] The present invention relates to the field of appli-
`[0003] The present invention relates to the ?eld of appli
`cation development for wireless mobile devices and, more
`cation development for Wireless mobile devices and, more
`particularly,
`to developing the server-side components
`particularly, to developing the server-side components
`which interact with wireless mobile devices and mobile
`Which interact With Wireless mobile devices and mobile
`clients.
`clients.
`[0004]
`2. Description of the Related Art
`[0004] 2. Description of the Related Art
`[0005] Mobile Devices have characteristics that differ
`[0005] Mobile Devices have characteristics that differ
`significantly from the desktop environment. For example,
`signi?cantly from the desktop environment. For example,
`mobile devices often are characterized by small displays,
`mobile devices often are characteriZed by small displays,
`low processor power,
`less memory, and low bandwidth
`loW processor poWer, less memory, and loW bandWidth
`communications links. Further complicating matters, char-
`communications links. Further complicating matters, char
`acteristics such as display size and bandwidth can vary not
`acteristics such as display siZe and bandWidth can vary not
`only among devices, but also among communications pro-
`only among devices, but also among communications pro
`tocols.
`tocols.
`[0006] Accordingly, mobile applications tend to be small
`[0006] Accordingly, mobile applications tend to be small
`and have a relatively small memory footprint. The mobile
`and have a relatively small memory footprint. The mobile
`applications must be able to operate in a low bandwidth
`applications must be able to operate in a loW bandWidth
`environment. Still, such applications must be able to adapt
`environment. Still, such applications must be able to adapt
`to changing user interfaces and bandwidth availability. In
`to changing user interfaces and bandWidth availability. In
`consequence, most mobile applications make use of a proxy.
`consequence, most mobile applications make use of a proxy.
`The proxy acts as an interface between the mobile applica-
`The proxy acts as an interface betWeen the mobile applica
`tion or client and one or more other servers. The proxy can
`tion or client and one or more other servers. The proxy can
`perform a variety of processing functions to aid the mobile
`perform a variety of processing functions to aid the mobile
`application.
`application.
`[0007] FIG. 1 is a schematic diagram illustrating an
`[0007] FIG. 1 is a schematic diagram illustrating an
`exemplary communications system 100 having a mobile
`exemplary communications system 100 having a mobile
`device 105, a mobile application (or client) 110 disposed
`device 105, a mobile application (or client) 110 disposed
`therein, and a proxy 115 which can communicate with a
`therein, and a proxy 115 Which can communicate With a
`Universal Description, Discovery, and Integration (UDDI)
`Universal Description, Discovery, and Integration (UDDI)
`registry 135, one or more Web sites and/or servers 140, and
`registry 135, one or more Web sites and/or servers 140, and
`one or more Web Services 145. Generally, the proxy 115 has
`one or more Web Services 145. Generally, the proxy 115 has
`two interfaces, a client interface 120 and a server interface
`tWo interfaces, a client interface 120 and a server interface
`125. The client interface 120 interacts with the mobile client
`125. The client interface 120 interacts With the mobile client
`110 and receives requests as well as sends responses. The
`110 and receives requests as Well as sends responses. The
`client interface 120 can use a limited number of protocols
`client interface 120 can use a limited number of protocols
`due to limitations of the client. The server interface 125 can
`due to limitations of the client. The server interface 125 can
`communicate with a variety of different servers to fetch data.
`communicate With a variety of different servers to fetch data.
`The server interface 125 can use a number of protocols such
`The server interface 125 can use a number of protocols such
`as Transmission Control Protocol (TCP), User Datagram
`as Transmission Control Protocol (TCP), User Datagram
`Protocol (UDP), Simple Object Access Protocol (SOAP),
`Protocol (UDP), Simple Object Access Protocol (SOAP),
`and the like. The proxy 115 can include a third component
`and the like. The proxy 115 can include a third component
`referred to as an adaptation module 130 which can transform
`referred to as an adaptation module 130 Which can transform
`data according to the needs of the mobile client 110. The
`data according to the needs of the mobile client 110. The
`adaptation module 130 helps reduce the processing burden
`adaptation module 130 helps reduce the processing burden
`not only on the mobile client 110, but also on the servers.
`not only on the mobile client 110, but also on the servers.
`Notably, the servers, for example Web sites 140, provide
`Notably, the servers, for example Web sites 140, provide
`information to both mobile clients and desktop clients.
`information to both mobile clients and desktop clients.
`[0008] At a fundamental level, proxies forward data from
`[0008] At a fundamental level, proxies forWard data from
`servers to mobile clients. More complex proxy functionality
`servers to mobile clients. More complex proxy functionality
`
`can include the adaptation of a server output stream to a
`can include the adaptation of a server output stream to a
`format and bandwidth that is suitable for use by the mobile
`format and bandWidth that is suitable for use by the mobile
`client. Proxies also can be configured to track the position of
`client. Proxies also can be con?gured to track the position of
`the mobile client.
`the mobile client.
`
`[0009] Consumer demand for wireless services and net-
`[0009] Consumer demand for Wireless services and net
`work-aware applications has fueled a trend to release more
`Work-aWare applications has fueled a trend to release more
`applications with ever decreasing design cycles and reduced
`applications With ever decreasing design cycles and reduced
`time to market. Still, the development of wireless applica-
`time to market. Still, the development of Wireless applica
`tions requires a significant amount of effort not only with
`tions requires a signi?cant amount of effort not only With
`respect to developing the mobile client, but also with regard
`respect to developing the mobile client, but also With regard
`to developing the necessary proxy counterpart to the mobile
`to developing the necessary proxy counterpart to the mobile
`application client. That
`is, often,
`the release of a new
`application client. That is, often, the release of a neW
`application or service requires the development of a new
`application or service requires the development of a neW
`proxy for that application, thereby potentially doubling the
`proxy for that application, thereby potentially doubling the
`necessary design time. The development of a proxy can
`necessary design time. The development of a proxy can
`demand the same commitment of resources as is required for
`demand the same commitment of resources as is required for
`the development of the mobile client. Moreover, the devel-
`the development of the mobile client. Moreover, the devel
`opment of a robust proxy is essential if the mobile client is
`opment of a robust proxy is essential if the mobile client is
`to provide significant services to the user.
`to provide signi?cant services to the user.
`
`[0010] Client
`side development has been addressed
`[0010] Client side development has been addressed
`through tools and platforms such as Java 2 Micro Edition
`through tools and platforms such as Java 2 Micro Edition
`(J2ME), which provides a minimal configuration of a Java
`(J2ME), Which provides a minimal con?guration of a Java
`virtual machine and application programming interfaces
`virtual machine and application programming interfaces
`(API’s) that embody essential capabilities for a mobile
`(API’s) that embody essential capabilities for a mobile
`device. Although a number of different
`tools exist
`for
`device. Although a number of different tools exist for
`client-side development, for example the J2ME Wireless
`client-side development, for example the J2ME Wireless
`Toolkit available from Sun Microsystems of Santa Clara,
`Toolkit available from Sun Microsystems of Santa Clara,
`Calif., and CODEWARRIOR from Metrowerks, of Austin,
`Calif., and CODEWARRIOR from MetroWerks, of Austin,
`Tex., a need exists for an integrated development environ-
`Tex., a need exists for an integrated development environ
`ment for the development of proxies for use with network
`ment for the development of proxies for use With netWork
`aware applications and other applications
`for mobile
`aWare applications and other applications for mobile
`devices.
`devices.
`
`SUMMARY OF THE INVENTION
`SUMMARY OF THE INVENTION
`
`[0011] The inventive arrangements disclosed herein pro-
`[0011] The inventive arrangements disclosed herein pro
`vide an interactive development environment (IDE) and
`vide an interactive development environment (IDE) and
`toolkit for the development of a server-side proxy for use
`toolkit for the development of a server-side proxy for use
`with wireless, mobile clients. Accordingly,
`the present
`With Wireless, mobile clients. Accordingly, the present
`invention provides a complete infrastructure allowing a
`invention provides a complete infrastructure alloWing a
`developer to efficiently develop a server-side application or
`developer to ef?ciently develop a server-side application or
`proxy to compliment a client side development kit.
`proxy to compliment a client side development kit.
`
`[0012] The present
`invention provides a complete and
`[0012] The present invention provides a complete and
`integrated development environment
`for
`the developer
`integrated development environment for the developer
`which can include an editor and a debugger. Additional
`Which can include an editor and a debugger. Additional
`features can be provided by incorporating aspects of the
`features can be provided by incorporating aspects of the
`present invention within an existing development environ-
`present invention Within an existing development environ
`ment as is commercially available from third party devel-
`ment as is commercially available from third party devel
`opers. For example, a toolbar can be provided within an
`opers. For example, a toolbar can be provided Within an
`existing IDE. The toolbar can provide information about the
`existing IDE. The toolbar can provide information about the
`API as well as automatically generate code in accordance
`API as Well as automatically generate code in accordance
`with developer
`specified parameters.
`In consequence,
`With developer speci?ed parameters. In consequence,
`manual coding of the proxy is minimized as several code
`manual coding of the proxy is minimiZed as several code
`generators are provided for developing a proxy shell.
`generators are provided for developing a proxy shell.
`
`[0013] One aspect of the present invention can include an
`[0013] One aspect of the present invention can include an
`integrated development tool for constructing a server-side
`integrated development tool for constructing a server-side
`proxy for interacting with a wireless, mobile device. The
`proxy for interacting With a Wireless, mobile device. The
`integrated development tool can include at least one module
`integrated development tool can include at least one module
`configured to generate program code to perform a specific
`con?gured to generate program code to perform a speci?c
`function of the server-side proxy. The integrated develop-
`function of the server-side proxy. The integrated develop
`ment
`tool further can include means for accessing the
`ment tool further can include means for accessing the
`module(s).
`module(s).
`
`
`
`US 2005/0076327 A1
`US 2005/0076327 A1
`
`Apr. 7, 2005
`Apr. 7, 2005
`
`[0014]
`In one embodiment of the present invention, the
`[0014] In one embodiment of the present invention, the
`means for accessing functions can include a wizard module
`means for accessing functions can include a WiZard module
`for receiving user specified attributes of the server-side
`for receiving user speci?ed attributes of the server-side
`proxy. The wizard module can control operation of the
`proxy. The WiZard module can control operation of the
`module(s) to automatically generate program code specify-
`module(s) to automatically generate program code specify
`ing a programmatic architecture for the server-side proxy
`ing a programmatic architecture for the server-side proxy
`according to the user specified attributes. In another arrange-
`according to the user speci?ed attributes. In another arrange
`ment,
`the means for accessing functions can include a
`ment, the means for accessing functions can include a
`toolbar having at least one icon that can be activated via user
`toolbar having at least one icon that can be activated via user
`input.
`input.
`[0015]
`In another embodiment,
`the integrated develop-
`[0015] In another embodiment, the integrated develop
`ment
`tool can include a module configured to generate
`ment tool can include a module con?gured to generate
`program code to extract
`text from a markup language
`program code to extract text from a markup language
`document. The integrated development tool also can include
`document. The integrated development tool also can include
`a module configured to generate program code to packetize
`a module con?gured to generate program code to packetiZe
`data according to a type of wireless communications link
`data according to a type of Wireless communications link
`over which the data is to be sent. Other exemplary modules
`over Which the data is to be sent. Other exemplary modules
`that can be included within the integrated development tool
`that can be included Within the integrated development tool
`can include, but are not limited to, a module configure to
`can include, but are not limited to, a module con?gure to
`generate program code to convert
`images from a first
`generate program code to convert images from a ?rst
`graphics format to a second graphics format, wherein the
`graphics format to a second graphics format, Wherein the
`second graphics format is suitable for transmission over a
`second graphics format is suitable for transmission over a
`wireless communications link to a mobile device, a module
`Wireless communications link to a mobile device, a module
`configured to generate program code to receive a request
`con?gured to generate program code to receive a request
`originating from the mobile device and generate a hypertext
`originating from the mobile device and generate a hypertext
`transfer protocol request to an appropriate target, and a
`transfer protocol request to an appropriate target, and a
`module configured to generate program code to maintain
`module con?gured to generate program code to maintain
`user profiles within a data source accessible to the server-
`user pro?les Within a data source accessible to the server
`side proxy.
`side proxy.
`[0016] The integrated development tool also can include a
`[0016] The integrated development tool also can include a
`module configured to generate program code to manipulate
`module con?gured to generate program code to manipulate
`data strings for encoding and decoding data and a module
`data strings for encoding and decoding data and a module
`configured to generate program code to measure a quality of
`con?gured to generate program code to measure a quality of
`a communications link to the wireless, mobile device. Still,
`a communications link to the Wireless, mobile device. Still,
`the integrated development tool can include a module con-
`the integrated development tool can include a module con
`figured to search a Universal Description, Discovery, and
`?gured to search a Universal Description, Discovery, and
`Integration registry.
`Integration registry.
`[0017] The
`integrated development
`tool
`further can
`[0017] The integrated development tool further can
`include one or more standardized Web Services Description
`include one or more standardiZed Web Services Description
`Language documents, wherein each Web Services Descrip-
`Language documents, Wherein each Web Services Descrip
`tion Language Document corresponds
`to a particular
`tion Language Document corresponds to a particular
`domain.
`domain.
`[0018] Another aspect of the present invention can include
`[0018] Another aspect of the present invention can include
`a method of constructing a server-side proxy for interacting
`a method of constructing a server-side proxy for interacting
`with a wireless, mobile device. The method can include
`With a Wireless, mobile device. The method can include
`receiving user input specifying attributes of the server-side
`receiving user input specifying attributes of the server-side
`proxy and automatically generating program code specify-
`proxy and automatically generating program code specify
`ing an architecture for the server-side proxy according to the
`ing an architecture for the server-side proxy according to the
`user specified attributes. The program code can be generated
`user speci?ed attributes. The program code can be generated
`by a plurality of modules, each module configured to gen-
`by a plurality of modules, each module con?gured to gen
`erate code to perform a particular function of the server-side
`erate code to perform a particular function of the server-side
`proxy.
`proxy.
`[0019]
`In one embodiment of the present invention, the
`[0019] In one embodiment of the present invention, the
`automatic generating step can include generating program
`automatic generating step can include generating program
`code to extract text from a markup language document,
`code to extract text from a markup language document,
`generating program code to packetize data according to a
`generating program code to packetiZe data according to a
`type of wireless communications link over which the data is
`type of Wireless communications link over Which the data is
`to be sent, or generating program code to convert images
`to be sent, or generating program code to convert images
`from a first graphics format to a second graphics format,
`from a ?rst graphics format to a second graphics format,
`wherein the second graphics format is suitable for transmis-
`Wherein the second graphics format is suitable for transmis
`sion over a wireless communications link to a mobile device.
`sion over a Wireless communications link to a mobile device.
`[0020] Still,
`the automatic generating step can include
`[0020] Still, the automatic generating step can include
`generating program code to receive a request originating
`generating program code to receive a request originating
`
`from the mobile device and generate a hypertext transfer
`from the mobile device and generate a hypertext transfer
`protocol request to an appropriate target, generating pro-
`protocol request to an appropriate target, generating pro
`gram code to maintain user profiles within a data source
`gram code to maintain user pro?les Within a data source
`accessible to the server-side proxy, generating program code
`accessible to the server-side proxy, generating program code
`to manipulate data strings for encoding and decoding data,
`to manipulate data strings for encoding and decoding data,
`or generating program code to measure a quality of a
`or generating program code to measure a quality of a
`communications link to the wireless, mobile. device. The
`communications link to the Wireless, mobile. device. The
`integrated development tool also can include searching a
`integrated development tool also can include searching a
`Universal Description, Discovery, and Integration registry.
`Universal Description, Discovery, and Integration registry.
`[0021] Other embodiments of the present invention can
`[0021] Other embodiments of the present invention can
`include a system for constructing a server-side proxy for
`include a system for constructing a server-side proxy for
`interacting with a wireless, mobile device having means for
`interacting With a Wireless, mobile device having means for
`performing the various functions described herein as well as
`performing the various functions described herein as Well as
`a machine readable storage configured to cause a machine to
`a machine readable storage con?gured to cause a machine to
`perform the various steps disclosed herein.
`perform the various steps disclosed herein.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0022] There are shown in the drawings embodiments
`[0022] There are shoWn in the draWings embodiments
`which are presently preferred, it being understood, however,
`Which are presently preferred, it being understood, hoWever,
`that the invention is not limited to the precise arrangements
`that the invention is not limited to the precise arrangements
`and instrumentalities shown.
`and instrumentalities shoWn.
`[0023] FIG. 1 is a schematic diagram illustrating an
`[0023] FIG. 1 is a schematic diagram illustrating an
`exemplary communications system having a mobile client
`exemplary communications system having a mobile client
`and a proxy.
`and a proxy.
`[0024] FIG. 2 is a schematic diagram illustrating an
`[0024] FIG. 2 is a schematic diagram illustrating an
`exemplary mobile toolbar in accordance with the inventive
`exemplary mobile toolbar in accordance With the inventive
`arrangements disclosed herein.
`arrangements disclosed herein.
`[0025] FIG. 3 is a schematic diagram illustrating exem-
`[0025] FIG. 3 is a schematic diagram illustrating exem
`plary selection lists which can be presented upon activation
`plary selection lists Which can be presented upon activation
`of a button within the mobile toolbar of FIG. 2.
`of a button Within the mobile toolbar of FIG. 2.
`[0026] FIG. 4 is a schematic diagram illustrating an
`[0026] FIG. 4 is a schematic diagram illustrating an
`exemplary graphical user interface (GUI) which can be
`exemplary graphical user interface (GUI) Which can be
`presented upon activation of a button within the mobile
`presented upon activation of a button Within the mobile
`toolbar of FIG. 2.
`toolbar of FIG. 2.
`[0027] FIG. 5 is a schematic diagram illustrating another
`[0027] FIG. 5 is a schematic diagram illustrating another
`exemplary GUI which can be presented upon activation of
`exemplary GUI Which can be presented upon activation of
`a button within the mobile toolbar of FIG. 2.
`a button Within the mobile toolbar of FIG. 2.
`
`[0028] FIG. 6 is a schematic diagram illustrating an
`[0028] FIG. 6 is a schematic diagram illustrating an
`exemplary GUI for use with the mobile proxy component of
`exemplary GUI for use With the mobile proxy component of
`the present invention.
`the present invention.
`[0029] FIG. 7 is a schematic diagram illustrating another
`[0029] FIG. 7 is a schematic diagram illustrating another
`exemplary GUI for use with the mobile proxy component of
`exemplary GUI for use With the mobile proxy component of
`the present invention.
`the present invention.
`[0030] FIG. 8 is a schematic diagram illustrating another
`[0030] FIG. 8 is a schematic diagram illustrating another
`exemplary GUI for use with the mobile proxy component of
`exemplary GUI for use With the mobile proxy component of
`the present invention.
`the present invention.
`[0031] FIG. 9 is a schematic diagram illustrating yet
`[0031] FIG. 9 is a schematic diagram illustrating yet
`another exemplary GUI for use with the mobile proxy
`another exemplary GUI for use With the mobile proxy
`component of the present invention.
`component of the present invention.
`
`DETAILED DESCRIPTION OF THE
`DETAILED DESCRIPTION OF THE
`INVENTION
`INVENTION
`
`[0032] The present
`invention provides an interactive
`[0032] The present invention provides an interactive
`development environment and accompanying tools (hereaf
`development environment and accompanying tools (hereaf-
`ter collectively the “proxy IDE”) for developing a server-
`ter collectively the “proxy IDE”) for developing a server
`side proxy which can interact with a network aware, wire-
`side proxy Which can interact With a netWork aWare, Wire
`less, mobile client application. The proxy IDE can provide
`less, mobile client application. The proxy IDE can provide
`a variety of functions and code generation tools which
`a variety of functions and code generation tools Which
`
`
`
`US 2005/0076327 A1
`US 2005/0076327 A1
`
`Apr. 7, 2005
`Apr. 7, 2005
`
`expedite the development of a proxy for a wireless appli-
`expedite the development of a proxy for a Wireless appli
`cation. For example, the proxy IDE can provide a range of
`cation. For example, the proxy IDE can provide a range of
`functions including, but not limited to, text extraction from
`functions including, but not limited to, text extraction from
`Hypertext Markup Language (HTML) and Extensible
`Hypertext Markup Language (HTML) and Extensible
`Markup Language (XML) data, datagram packetiZation,
`Markup Language (XML) data, datagram packetization,
`image format conversion, Hypertext Transfer Protocol
`image format conversion, Hypertext Transfer Protocol
`(HTTP) request support, user profile management, as well as
`(HTTP) request support, user pro?le management, as Well as
`string manipulation.
`string manipulation.
`
`[0033] The functions disclosed herein can be provided
`[0033] The functions disclosed herein can be provided
`through an application programming interface
`Within
`through an application programming interface (API). Within
`the development environment, a t