WO2008153416A1 - Mobile device dynamic update - Google Patents

Mobile device dynamic update Download PDF

Info

Publication number
WO2008153416A1
WO2008153416A1 PCT/NZ2007/000201 NZ2007000201W WO2008153416A1 WO 2008153416 A1 WO2008153416 A1 WO 2008153416A1 NZ 2007000201 W NZ2007000201 W NZ 2007000201W WO 2008153416 A1 WO2008153416 A1 WO 2008153416A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
mobile device
user
interface
server
Prior art date
Application number
PCT/NZ2007/000201
Other languages
French (fr)
Inventor
Murray Mcgovern
Original Assignee
Murray Mcgovern
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murray Mcgovern filed Critical Murray Mcgovern
Publication of WO2008153416A1 publication Critical patent/WO2008153416A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading

Definitions

  • the invention generally relates to interfaces for mobile devices.
  • the invention relates to providing an interface for mobile devices to various remote server applications which interface can be dynamically updated.
  • An example of the type of data normally requiring an application and interface is that from a remote apparatus which can be monitored by cellular phone, the apparatus having an embedded cellular phone interface and the ability to call a known cellular phone number or numbers to report one or more conditions of the apparatus or environment.
  • a remote apparatus which can be monitored by cellular phone, the apparatus having an embedded cellular phone interface and the ability to call a known cellular phone number or numbers to report one or more conditions of the apparatus or environment.
  • Such apparatus is typically used for security, remote level metering, temperature monitoring and other such conditions.
  • Such apparatus is referred to herein as a Remote Intelligent Mobile Device (RIMD).
  • Data from an RIMD may be presented in an interface forming part of an application loaded into the mobile device.
  • the present invention provides a solution to this and other problems which offers advantages over the prior art or which will at least provide the public with a useful choice.
  • the invention relates to remote device application maintenance system comprising a server retaining at least one application operable on a remote mobile device having a user display and means for user interaction with the display, an uploading facility uploading the application to the remote mobile device when initially required and, an updating facility within the server providing incremental updates to the application in the remote mobile device when portions of the application in the remote mobile device are detected as requiring updates.
  • each portion of the application contains a version identifier and the version identifier is reported before each use by the remote device to the server and a version comparison interface within the server compares current and reported version identifiers to prompt the updating facility to upload an incremental update containing application differences when the version identifiers differ.
  • the server retaining the remote mobile device operable application retains the interface data for each different screen in XML format and within each XML format includes a version identifier.
  • the at least one application is remotely editable and compileable into a compressed form on the server and each incremental portion is equally editable, compressible and compileable.
  • the invention relates to a user interactive mobile device having a user display and means for interacting with the display when provided with an application and application user interface downloaded from a server and stored in a storage memory within the user interactive mobile device wherein the application or interface is updated from the server by incremental update of portions of the application or application user interface held in the storage memory at each use of the application.
  • the user interactive device application is Java based.
  • the invention may be said to relate to a method of providing an updateable user application and interface for a user interactive device having a viewer display and means for interacting with the display comprising: uploading to the user interactive device user applications and interfaces viewable on the viewer display, retaining the application and interfaces within the user interactive device, receiving data to be viewed in the downloaded application and interfaces, determining whether the application or an interface retained within the interactive device is outdated, updating as necessary the application or interface retained within the user interactive device by incrementally updating changed portions of the application or interface, invoking the application and interface and displaying the data on the user viewable display in the user interface.
  • the invention relates to a method of updating a user interface for an application to a mobile device comprising : requesting from a mobile device application information from a remote server, the remote server storing the application user interface content at known historic configurations and a current user interface configuration; providing to the mobile device initial data containing at least a customer identification and login elements; requesting the mobile device user to provide valid login information for the application; transmitting to the remote server the login information, the customer identification, and an indication of the configuration of the application interface on the mobile device; validating the customer identification and the login information at the remote server; retrieving from a server store an update containing data to return the configuration data stored on the mobile device to the current configuration state by amendment; amending the application data in the mobile device by downloading and applying the update.
  • the server can provide an update for the differences between any historic configuration and the current configuration.
  • data for a full application interface is provided if none is present in the mobile device initially.
  • a binary script converting an update to amendments in the stored configuration is supplied with the login information.
  • the update data transferred between server and mobile device or vice versa is encoded.
  • the encoding is encrypted XML.
  • the data is transferred between mobile device and remote server by HTTP.
  • FIG. 1 is a diagrammatic view of the component parts of the apparatus.
  • FIG. 2 is a sequence diagram of the instantiation of the invention in a mobile phone.
  • FIG. 3 is a flow diagram of the complete process of invoking and updating a data displaying application at the mobile phone.
  • FIG. 4 is sequence diagram of recognising the receipt of an application message at a mobile phone and viewing the message.
  • FIG. 5 is a sequence diagram of issuing data or a message to a remote location.
  • FIG. 6 shows example display screens on mobile telephones for differing applications.
  • FIG. 1 the components of a typical system for providing an application to a remote device such as a mobile phone are shown. These consist of the mobile phone 101 and the connection of the mobile phone in a data transfer mode via the telecommunications network 102 to an application server 103.
  • An application is built on the application server 103, compiled and stored in a database 105 through a database server 104.
  • the mobile phone user requires the interface for the application it may be instantiated from the phone 101, if previously downloaded from the application server 103 and stored in the phone memory, or downloaded from the application server 103 on demand.
  • the application may be maintained remotely via internet 106 and a computer 107 connected to the internet.
  • the applications provided on the mobile phone may be used to receive data from or provide data to a remote device, for instance the application may be concerned with monitoring a video camera 109 via a telephone access point 108, the video camera providing an image to a specified phone address when movement is detected.
  • a command may be sent from the phone to the video camera control, for instance to rotate it or to turn an illuminating light on.
  • the application interface may be used in conjunction with an item ordering application, the application issuing HTTP packets from the phone to a web server 110 at a known URL or IP address to provide ordering information to such as a fast food outlet at 1 1 1.
  • Some such item ordering applications require the entry of keywords for an SMS response, and some of these keywords are lengthy and cryptic in the extreme.
  • Use of an appropriate menu structure overlay as part of a corresponding application can allow a user to navigate a sensible menu structure and make a choice which generates the appropriate keyword as a response.
  • the applications created are designed for devices which have little or no remotely accessible screen functionality, but which are capable of having a formatted screen placed on view and of interacting with that screen.
  • a mobile telephone having Java functionality meets these requirements, but devices with more functionality are capable of acting in the same manner.
  • Design of an application is then a question of designing the screens with which the user will interact, defining the actions which will take place when the user interacts with the screen, and defining the results of those actions.
  • each part of the application which is presented as or with a single user viewable screen is considered to be a separately versionable part of the application, and the version is tracked.
  • the screen data is presented as XML and the version data is merely a tag in the XML.
  • the invention includes ensuring that the application present on the mobile phone matches the current version present on the application server, and extends to providing uploads of only the data which has changed to bring the mobile phone application and server application into agreement.
  • the application produces a compilation of the interface configuration data with each compilation having a version or identification number embedded within it.
  • Each change to the output results in a new version number for the output, and the current version and all past versions are stored within the database.
  • a request is returned to the server with the version number of the stored interface (if present), and if the version number does not match the most current version the different part of the content is updated from the server.
  • While the message received at the receiving device may be in many forms FlG. 2 shows the process at a mobile phone of receiving an SMS or HTTP message at 201, detecting whether the message is directed to a the port used by a particular application at 202, and if it is not, passing it on to the user to view. If the message is directed to a port recognised as a known application, or has some other recognisable feature indicating it is an application message, the information in the message is detected at 204, the presence of the required application interface is checked at 205, and if the interface is not present it is downloaded from the relevant application server at 206. At 207 the application is checked for currency of the portion about to be viewed by the user and if this is not a current version the upgraded portion is downloaded at 208.
  • the data in the application interface is presented to the user and any user input awaited, If none is allowable or required the next message is awaited at 210. If some user output is required the output may be formatted into an SMS or HTTP message, or into some other data form at 21 1 , and sent at 212.
  • FIG. 3 shows a more system oriented view of the process sequence concerned with connecting the user to an application and creating or updating the interface in the phone as required.
  • a user viewing the phone interface 301 chooses to open an interface to a particular application which has either been initialised previously on that phone or for which a J2ME MIDIet has previously been downloaded to the phone but destroyed.
  • the interface initialises the required MIDIet in the application interface 303, and this in turn initiates a data connection at 304 to the remote application server 305.
  • the server in turn at 306 retrieves from database server 307 the current accompaniments to the login screen (typically advertising) and returns this to the application server at 308, which returns this and a customer identification to the phone at 309.
  • the MIDIet passes the customer ID to the login response subroutine at 31 1 , and places on the interface screen at 310 the login dialog and any accompaniments downloaded.
  • the user responds by entering a password at 312 which is passed back through the J2ME interface, retrieving the customer ID and the current version of the interface stored at 313, and on at 314 to the remote application server.
  • the application server retrieves data from the database via 315, 316 to validate the login request, and also retrieves the password for verification of the user login and the phone interface version for information on what data is historically held on the phone.
  • the login information is verified, at 318 the menu held on the phone is compared with the current menu and at 319 any changes between the stored version and the current version prepared for uploading to the phone.
  • the information transferred between mobile phone and application server is preferably in the form of XML files, and preferably the file is transmitted between application server and mobile phone as data on an HTTP port, though other ports may be used.
  • a request requires a partial update the portion or portions to be updated are identified within the version as held on the mobile phone and an XML file with the updates is created. This is ⁇ supplied to the mobile phone which, in conjunction with the application code it is running, excerpts the changed portions from the update supplied and applies them to the data already held in the phone before presenting this to the user. Since the downloaded-portion is much smaller than that required if the complete interface were supplied to the mobile phone the response time perceived by the user is correspondingly reduced.
  • a sample part of the interface as held by the phone might be:
  • This example shows an update at the lowest level normally allowed, that is, the replacement of the data within a single low level XML tag, although the menu version code within the XML will also require updating. Equally the update could be at any higher level within the interface, for instance the complete deletion of a " ⁇ menu>" entry and the replacement of it by a totally different menu entry.
  • the mobile device or phone may include a database of previous user responses, as well as the application, and may allow the user to select these rather than proceeding down what could be an extended menu navigation path.
  • the remote monitoring unit When the application is concerned with remote monitoring the remote monitoring unit is typically remotely or locally programmable if desired to set the basic parameters, such as the cellular phone number to call with the monitoring data, the format of the monitoring report, the type of monitoring report (SMS, MMS, or some other data format) and, for any of these, the port on which the report should be sent.
  • the unit may be remotely controlled for any additional parameters, such as the alarm level at which the measured parameters may trigger a call to the monitoring cellular phone, alternate cellular phone numbers to call if no response is received, and time out parameters for various situations.
  • Alarms may be audible alarms or they may equally be visible or vibration alarms or a combination of one or more of these.
  • FIG 4 shows an example of the processing required to handle information received from an RIMD, describing the application processing required to handle the incoming messages in a MIDlet, and includes at 401 the detection by a users cellular phone of an incoming message, and at 402 the detection of the port 5000 (for example) in the incoming message.
  • the standard phone software tests for an association with special software for that port and at 403 attempts to handover to the application denoted as serving that port. If the application is not present it is downloaded, if present but not running it forces the invocation of the application at 404 via Java MIDlet standard Push technology and the message is then handed over to the application. Similarly if the application Listener is already running the handover is made at 406.
  • a check is made which typically checks that the handler for the port matches the handler requested in the message header, and that the sender is one who is allowed to receive the message.
  • the application may specify a string such as "MIDlet-Push- l :sms://:5000, Sentinel, *" which may imply to the application that "MIDlet-Push-1" is expected to be invoked, that the URL (as used in a Sun Java implementation) of the calls to be handled by the application must be SMS with a port of 5000, that the
  • MIDlet class name to be invoked is "Sentinel" and that any caller (*) may provide a message which will be processed.
  • the message payload is processed at 408. This may include detecting at 309 that the message contains an image and invoking the cellular phone image handler in user application software at 410, though this step may vary depending on the operating system.
  • the type of message is checked at 411, and if an alarm the process diverts to trigger the phone alarm by directly accessing phone alarm resources which include audio, visual or vibrator, at 416.
  • the data contained in the message is then processed to the correct place in the menu for the application and presented in the correct context at 417 via application GUI for the user to view before exiting the application at 415.
  • Normal monitoring messages have data extracted at 412 to update the parameters for the particular RIMD sending the message at 412, the menu is then updated with the relevant values or images at 413 and presented to the user at 414 before opting out of the application.
  • a process such as that shown in the flow diagrams of FIG 5 is used.
  • the user initially selects at 501 the menus or templates relating to the particular type of RIMD, either on the basis of a list of types or on the basis of the location to be called.
  • the appropriate menu selection is enabled and the appropriate one of the possible RIMD's of the viewed type is chosen the menu for that particular RIMD is viewed at 502.
  • Some of the menus relate to updates to be sent to the RIMD and some to requests for information from the RIMD.
  • the processing for these two types of operation are different so a choice is made at 503 of which processing path to follow and the menu or input choices to be made by the user.
  • a value or menu choice to be sent to the RIMD as a control parameter value is selected or entered, while at 505 a choice is made of which type of response is to be returned from the RIMD as a monitored value.
  • a request may be for a list of a set of control values, or an image of the controlled area, or some other parameter related to the location or performance of the RIMD controlled equipment.
  • the available types of data connection to the RIMD are then automatically reviewed at 506, these being dependent on the type device the user is using, the facilities available from the provider between the users device and the RIMD device, and the capabilities of the RIMD itself.
  • the type of data connection chosen may be dictated by the availability of the connection type, and any particular application may have the ability to determine the preferred connection type based on cost, the fall back connection type if that is currently unavailable, and the emergency connection type if the application is considered urgent enough.
  • the selected or entered information is then assembled into either a message package at 507 or a data package at 508, a connection established with the provider at 509, and the message sent at 510.
  • the data handjing process of the invention may be used to serve RIMDs carrying out any kind of remote asset monitoring or management, for instance for remote or autonomous control, image capture, parameter alarms, etc.
  • the RIMD may be located anywhere within reach of a cellular phone network or of some other connection which will ultimately be connectable to the required monitoring device.
  • This may be a satellite phone network, a radio network, a landline, an Ethernet connection or some other data transfer method and may be used in a marine craft environment, a home security environment, a horticultural environment, for pump/irrigation control, in smart buildings, in security and surveillance operations, in industry and farming, in GPS asset location, meter reading, etc. While the description above implies that an alarm is presented instantly to the user it is possible to categorise alarms into urgent and non-urgent and to merely load non-urgent alarms into a database on the phone or user device for later action by the user. Similarly other data may be merely loaded in for later action without notifying the user that information has been received.
  • the appropriate related API to launch appropriate related menus is stored in the users cellular phone and called into use as required via headers embedded in the RIMD generated data communication payload.
  • the menus are held as part of the particular application software and are updateable with that software, but they may be stored in the cellular phone memory, or as a file in the cellular phone where it is not expected that the interface will change with time.
  • the values reported by an RIMD or sent to an RIMD may be held in temporary scratch memory, or they may be stored in the appropriate phone memory segment or as files within the phone.
  • this information is stored on the cellular phone it may be presented to the user as a history of the parameters recorded, preferably in a format in which it is easily intelligible to the user, as for instance by the use of graphing or charting functions applied to the particular application. Up to the available memory limit it is possible for the application to store a full transactional record of all information received and commands sent.
  • Interaction with multiple RIMDs may be provided by a single application with different available menus and reply templates or by multiple applications, each differing in menu and reply template structure and particularly adapted to the application.
  • the port on which the RIMD sends a message may be set at any value, preferably using one of the port values which is unallocated globally or a port which is dedicated to the service. Where the information is transferred by a data connection rather than as SMS text the data stream may itself identify the application and actual RIMD device, and pre-processing of the data stream can invoke the correct application or application module.
  • the cellular phone used as the interface for the applications must necessarily have sufficient facilities to at least allow it to process an incoming SMS message and present it to the user in a special manner.
  • the cellular phone is Java enabled and has sufficient processing power and graphics capability to support the software application and an appropriate user operation interface.
  • the cellular phone is capable of interfacing on a 2.5G plus system and cellular phones with a 3G interface and good GUI capabilities are recommended if a data stream is the preferred information transfer method. Where the available memory and processing power allow, data from previous interactions may be stored for user access.
  • the application processing the incoming and outgoing messages may be implemented in any form which is compatible with the users cellular phone or with any other device required to provide a user interface, though a preferred method is by using a cellular phone which includes the Mobile Information Device Profile (MIDP) APIs (Application Program Interfaces) running on a Java enabled operating system.
  • the application may then be provided as Java MIDlets (applications complying with the MIDP standards) to carry out the operations.
  • applications running on other systems may be provided, for instance, applications based on the .Net framework.
  • the applications may operate by transferring data via SMS, MMS or by any other available or usable protocol, such as TC/PIP, UDP or HTTP. The choice of protocol is dictated by the target device and its capabilities.
  • FIG. 6 shows four examples of application screens in use on cellular phones.
  • the upper two shown reporting screens which may also act as control screens where a radio button may be altered to a desired state.
  • the lower two screens show the use of a graphics capable cellular phone to display historic information from memory or file relating to the parameters as received from a specific RIMD.
  • the messages received from an RIMD may vary in complexity in dependence on the capabilities of the receiving cellular phone, for instance if the destination is available only by SMS the message may be such as "Hayes Farm Tempi 18.3 Wind 13 WDir NW Rain 3.2 SoilMoist 24 Irrig OFF". String recognition on the SMS message may be used to present the calling location, current temperature, wind strength, wind direction, rainfall over 24 hours, soil moisture and irrigation status, and from this to control whether to turn the irrigation on. If a more complex data medium is available the information may be more complex and may include attached images. Thus for instance sensors on board a vessel could report the vessels GPS location and provide an image of the surroundings from a digital camera.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A user interactive device such as a mobile telephone provides user interfaces for applications downloaded from remote servers which interfaces may be partially updated at each use to match the current state of the user interface as compiled at the remote server.

Description

Mobile Device Dynamic Update Technical Field
The invention generally relates to interfaces for mobile devices.
More particularly the invention relates to providing an interface for mobile devices to various remote server applications which interface can be dynamically updated.
Background Art
It is known to provide data to mobile telephones or other mobile devices which data includes an internet or WAP (Wireless Application Protocol) interface, however the bandwidth available to mobile telephones is such that the download speeds may be low and data download costs may be high. Furthermore even where the bandwidth is available the mobile telephone generally does not contain sufficient graphics and data handling facilities to provide an intelligent interface for users to view such data. This maybe provided by loading an application onto the mobile telephone or mobile device to provide both a data processing function and a data viewing interface, possibly with provision for user interaction.
An example of the type of data normally requiring an application and interface is that from a remote apparatus which can be monitored by cellular phone, the apparatus having an embedded cellular phone interface and the ability to call a known cellular phone number or numbers to report one or more conditions of the apparatus or environment. Such apparatus is typically used for security, remote level metering, temperature monitoring and other such conditions. Such apparatus is referred to herein as a Remote Intelligent Mobile Device (RIMD). Data from an RIMD may be presented in an interface forming part of an application loaded into the mobile device.
Typically such an application will be retained on the mobile device for as long as possible commensurate with whatever else is loaded into the device, but in doing so the application may become outdated, for instance where the application relates to purchasing items via an SMS interface, the prices may change. In situations where this may occur it is normal to force a download of the data for the whole application, resulting in a large amount of traffic over what may be a slow connection. It would be preferable to reduce the data download size as much as possible while retaining the flexibility to provide an acceptable user experience.
Hence a need exists for a solution to the problem of reducing the amount of data to be downloaded by a mobile telephone while still providing the required functions to the user.
The present invention provides a solution to this and other problems which offers advantages over the prior art or which will at least provide the public with a useful choice.
It is acknowledged that the term 'comprise' may, under varying jurisdictions, be attributed with either an exclusive or an inclusive meaning. For the purpose of this specification, and unless otherwise noted, the term 'comprise' shall have an inclusive meaning - i.e. that it will be taken to mean an inclusion of not only the listed components it directly references, but also other non-specified components or elements. This rationale will also be used when the term 'comprised' or 'comprising' is used in relation to one or more steps in a method or process.
Summary Of The Invention
In one exemplification the invention relates to remote device application maintenance system comprising a server retaining at least one application operable on a remote mobile device having a user display and means for user interaction with the display, an uploading facility uploading the application to the remote mobile device when initially required and, an updating facility within the server providing incremental updates to the application in the remote mobile device when portions of the application in the remote mobile device are detected as requiring updates.
Preferably each portion of the application contains a version identifier and the version identifier is reported before each use by the remote device to the server and a version comparison interface within the server compares current and reported version identifiers to prompt the updating facility to upload an incremental update containing application differences when the version identifiers differ. Preferably wherein the server retaining the remote mobile device operable application retains the interface data for each different screen in XML format and within each XML format includes a version identifier.
Preferably the at least one application is remotely editable and compileable into a compressed form on the server and each incremental portion is equally editable, compressible and compileable.
In an alternative embodiment the invention relates to a user interactive mobile device having a user display and means for interacting with the display when provided with an application and application user interface downloaded from a server and stored in a storage memory within the user interactive mobile device wherein the application or interface is updated from the server by incremental update of portions of the application or application user interface held in the storage memory at each use of the application.
Preferably the user interactive device application is Java based. Alternatively the invention may be said to relate to a method of providing an updateable user application and interface for a user interactive device having a viewer display and means for interacting with the display comprising: uploading to the user interactive device user applications and interfaces viewable on the viewer display, retaining the application and interfaces within the user interactive device, receiving data to be viewed in the downloaded application and interfaces, determining whether the application or an interface retained within the interactive device is outdated, updating as necessary the application or interface retained within the user interactive device by incrementally updating changed portions of the application or interface, invoking the application and interface and displaying the data on the user viewable display in the user interface.
In an alternative embodiment the invention relates to a method of updating a user interface for an application to a mobile device comprising : requesting from a mobile device application information from a remote server, the remote server storing the application user interface content at known historic configurations and a current user interface configuration; providing to the mobile device initial data containing at least a customer identification and login elements; requesting the mobile device user to provide valid login information for the application; transmitting to the remote server the login information, the customer identification, and an indication of the configuration of the application interface on the mobile device; validating the customer identification and the login information at the remote server; retrieving from a server store an update containing data to return the configuration data stored on the mobile device to the current configuration state by amendment; amending the application data in the mobile device by downloading and applying the update.
Preferably the server can provide an update for the differences between any historic configuration and the current configuration. Preferably data for a full application interface is provided if none is present in the mobile device initially.
Preferably a binary script converting an update to amendments in the stored configuration is supplied with the login information.
Preferably the update data transferred between server and mobile device or vice versa is encoded.
Preferably wherein the encoding is encrypted XML.
Preferably the data is transferred between mobile device and remote server by HTTP.
These and other features of as well as advantages which characterise the present invention will be apparent upon reading of the following detailed description and review of the associated drawings.
Brief Description of the Drawings
FIG. 1 is a diagrammatic view of the component parts of the apparatus.
FIG. 2 is a sequence diagram of the instantiation of the invention in a mobile phone. FIG. 3 is a flow diagram of the complete process of invoking and updating a data displaying application at the mobile phone.
FIG. 4 is sequence diagram of recognising the receipt of an application message at a mobile phone and viewing the message. FIG. 5 is a sequence diagram of issuing data or a message to a remote location.
FIG. 6 shows example display screens on mobile telephones for differing applications.
Description of the Invention
Referring now to FIG. 1 the components of a typical system for providing an application to a remote device such as a mobile phone are shown. These consist of the mobile phone 101 and the connection of the mobile phone in a data transfer mode via the telecommunications network 102 to an application server 103. An application is built on the application server 103, compiled and stored in a database 105 through a database server 104. When the mobile phone user requires the interface for the application it may be instantiated from the phone 101, if previously downloaded from the application server 103 and stored in the phone memory, or downloaded from the application server 103 on demand. The application may be maintained remotely via internet 106 and a computer 107 connected to the internet.
The applications provided on the mobile phone may be used to receive data from or provide data to a remote device, for instance the application may be concerned with monitoring a video camera 109 via a telephone access point 108, the video camera providing an image to a specified phone address when movement is detected. In response to receipt of the image in an application in the phone 101 a command may be sent from the phone to the video camera control, for instance to rotate it or to turn an illuminating light on. Equally the application interface may be used in conjunction with an item ordering application, the application issuing HTTP packets from the phone to a web server 110 at a known URL or IP address to provide ordering information to such as a fast food outlet at 1 1 1.
Some such item ordering applications require the entry of keywords for an SMS response, and some of these keywords are lengthy and cryptic in the extreme. Use of an appropriate menu structure overlay as part of a corresponding application can allow a user to navigate a sensible menu structure and make a choice which generates the appropriate keyword as a response.
Generally speaking the applications created are designed for devices which have little or no remotely accessible screen functionality, but which are capable of having a formatted screen placed on view and of interacting with that screen. Typically a mobile telephone having Java functionality meets these requirements, but devices with more functionality are capable of acting in the same manner.
Design of an application is then a question of designing the screens with which the user will interact, defining the actions which will take place when the user interacts with the screen, and defining the results of those actions.
Typically each part of the application which is presented as or with a single user viewable screen is considered to be a separately versionable part of the application, and the version is tracked. Typically the screen data is presented as XML and the version data is merely a tag in the XML. The invention includes ensuring that the application present on the mobile phone matches the current version present on the application server, and extends to providing uploads of only the data which has changed to bring the mobile phone application and server application into agreement. For this purpose the application produces a compilation of the interface configuration data with each compilation having a version or identification number embedded within it. Each change to the output results in a new version number for the output, and the current version and all past versions are stored within the database. At each attempt by a cell phone user to view the interface a request is returned to the server with the version number of the stored interface (if present), and if the version number does not match the most current version the different part of the content is updated from the server.
While the message received at the receiving device may be in many forms FlG. 2 shows the process at a mobile phone of receiving an SMS or HTTP message at 201, detecting whether the message is directed to a the port used by a particular application at 202, and if it is not, passing it on to the user to view. If the message is directed to a port recognised as a known application, or has some other recognisable feature indicating it is an application message, the information in the message is detected at 204, the presence of the required application interface is checked at 205, and if the interface is not present it is downloaded from the relevant application server at 206. At 207 the application is checked for currency of the portion about to be viewed by the user and if this is not a current version the upgraded portion is downloaded at 208. At 209 the data in the application interface is presented to the user and any user input awaited, If none is allowable or required the next message is awaited at 210. If some user output is required the output may be formatted into an SMS or HTTP message, or into some other data form at 21 1 , and sent at 212.
FIG. 3 shows a more system oriented view of the process sequence concerned with connecting the user to an application and creating or updating the interface in the phone as required. To this end a user viewing the phone interface 301 chooses to open an interface to a particular application which has either been initialised previously on that phone or for which a J2ME MIDIet has previously been downloaded to the phone but destroyed. At 302 the interface initialises the required MIDIet in the application interface 303, and this in turn initiates a data connection at 304 to the remote application server 305. The server in turn at 306 retrieves from database server 307 the current accompaniments to the login screen (typically advertising) and returns this to the application server at 308, which returns this and a customer identification to the phone at 309. The MIDIet passes the customer ID to the login response subroutine at 31 1 , and places on the interface screen at 310 the login dialog and any accompaniments downloaded.
The user responds by entering a password at 312 which is passed back through the J2ME interface, retrieving the customer ID and the current version of the interface stored at 313, and on at 314 to the remote application server. Here the application server retrieves data from the database via 315, 316 to validate the login request, and also retrieves the password for verification of the user login and the phone interface version for information on what data is historically held on the phone. At 317 the login information is verified, at 318 the menu held on the phone is compared with the current menu and at 319 any changes between the stored version and the current version prepared for uploading to the phone. At 320 other items relevant to the application are checked against the data currently held in the phone, for instance the sale specials if the application relates to an on-line store, and again prepares updates for these at 321. At 322 the full data for the response is assembled and the version numbers of the assembly stored in the database against the mobile phone ID. The full data is also issued to the phone at 323 for updating of the new information to the phone data store at 324 before the visible portion of the interface (menus, sale specials) is placed on the screen 326 at 325.
The information transferred between mobile phone and application server is preferably in the form of XML files, and preferably the file is transmitted between application server and mobile phone as data on an HTTP port, though other ports may be used. Where a request requires a partial update the portion or portions to be updated are identified within the version as held on the mobile phone and an XML file with the updates is created. This is^ supplied to the mobile phone which, in conjunction with the application code it is running, excerpts the changed portions from the update supplied and applies them to the data already held in the phone before presenting this to the user. Since the downloaded-portion is much smaller than that required if the complete interface were supplied to the mobile phone the response time perceived by the user is correspondingly reduced.
A sample part of the interface as held by the phone might be:
<?xml version="1.0" encoding="ut f-8" ?> <menu code="156aal56^-e39b-4d22-&523-b673f 48e7095"> <ingredientGroup>
<mgredient code="l" cost = "300" name="Chicken"x/ingredient> </ingredientGroup>
<productGroup name="Pizza" img="Pizza . png"> <product code="101" description="Chicken pizza with Apricot sauce" name="Apricot chicken" img="Pizza . png">
<option exclusivity=ntrue" name="Pizza base">
<ingredient code="l" isSelected="true"></mgredient> </option> </product>
</productGroup> </menu>
Where a price has changed, this would result in an update of the form:
<ingredient uθde="l" cost="300" name="Chicken"x/ingredient> To
< ingredi ent code=n l " cos C = " 350 " naine="Chicken"x / ingredien t >
This example shows an update at the lowest level normally allowed, that is, the replacement of the data within a single low level XML tag, although the menu version code within the XML will also require updating. Equally the update could be at any higher level within the interface, for instance the complete deletion of a "<menu>" entry and the replacement of it by a totally different menu entry.
Where memory space allows the mobile device or phone may include a database of previous user responses, as well as the application, and may allow the user to select these rather than proceeding down what could be an extended menu navigation path.
When the application is concerned with remote monitoring the remote monitoring unit is typically remotely or locally programmable if desired to set the basic parameters, such as the cellular phone number to call with the monitoring data, the format of the monitoring report, the type of monitoring report (SMS, MMS, or some other data format) and, for any of these, the port on which the report should be sent. Once these parameters are set the unit may be remotely controlled for any additional parameters, such as the alarm level at which the measured parameters may trigger a call to the monitoring cellular phone, alternate cellular phone numbers to call if no response is received, and time out parameters for various situations. Alarms may be audible alarms or they may equally be visible or vibration alarms or a combination of one or more of these.
While the invention is described using J2ME as the application foundation other code base origins are equally applicable and the code base chosen will depend on the device used. Fig 4 shows an example of the processing required to handle information received from an RIMD, describing the application processing required to handle the incoming messages in a MIDlet, and includes at 401 the detection by a users cellular phone of an incoming message, and at 402 the detection of the port 5000 (for example) in the incoming message. The standard phone software tests for an association with special software for that port and at 403 attempts to handover to the application denoted as serving that port. If the application is not present it is downloaded, if present but not running it forces the invocation of the application at 404 via Java MIDlet standard Push technology and the message is then handed over to the application. Similarly if the application Listener is already running the handover is made at 406.
Once received by the application a check is made which typically checks that the handler for the port matches the handler requested in the message header, and that the sender is one who is allowed to receive the message. To do this for an SMS implementation the application may specify a string such as "MIDlet-Push- l :sms://:5000, Sentinel, *" which may imply to the application that "MIDlet-Push-1" is expected to be invoked, that the URL (as used in a Sun Java implementation) of the calls to be handled by the application must be SMS with a port of 5000, that the
MIDlet class name to be invoked is "Sentinel" and that any caller (*) may provide a message which will be processed.
Once verified the message payload is processed at 408. This may include detecting at 309 that the message contains an image and invoking the cellular phone image handler in user application software at 410, though this step may vary depending on the operating system.
Following this the type of message is checked at 411, and if an alarm the process diverts to trigger the phone alarm by directly accessing phone alarm resources which include audio, visual or vibrator, at 416. The data contained in the message is then processed to the correct place in the menu for the application and presented in the correct context at 417 via application GUI for the user to view before exiting the application at 415.
Normal monitoring messages have data extracted at 412 to update the parameters for the particular RIMD sending the message at 412, the menu is then updated with the relevant values or images at 413 and presented to the user at 414 before opting out of the application.
To provide the outgoing messages or data a process such as that shown in the flow diagrams of FIG 5 is used. The user initially selects at 501 the menus or templates relating to the particular type of RIMD, either on the basis of a list of types or on the basis of the location to be called. When the appropriate menu selection is enabled and the appropriate one of the possible RIMD's of the viewed type is chosen the menu for that particular RIMD is viewed at 502. Some of the menus relate to updates to be sent to the RIMD and some to requests for information from the RIMD. The processing for these two types of operation are different so a choice is made at 503 of which processing path to follow and the menu or input choices to be made by the user. At 504 a value or menu choice to be sent to the RIMD as a control parameter value is selected or entered, while at 505 a choice is made of which type of response is to be returned from the RIMD as a monitored value. Such a request may be for a list of a set of control values, or an image of the controlled area, or some other parameter related to the location or performance of the RIMD controlled equipment. The available types of data connection to the RIMD are then automatically reviewed at 506, these being dependent on the type device the user is using, the facilities available from the provider between the users device and the RIMD device, and the capabilities of the RIMD itself. The type of data connection chosen may be dictated by the availability of the connection type, and any particular application may have the ability to determine the preferred connection type based on cost, the fall back connection type if that is currently unavailable, and the emergency connection type if the application is considered urgent enough. The selected or entered information is then assembled into either a message package at 507 or a data package at 508, a connection established with the provider at 509, and the message sent at 510. The data handjing process of the invention may be used to serve RIMDs carrying out any kind of remote asset monitoring or management, for instance for remote or autonomous control, image capture, parameter alarms, etc. The RIMD may be located anywhere within reach of a cellular phone network or of some other connection which will ultimately be connectable to the required monitoring device. This may be a satellite phone network, a radio network, a landline, an Ethernet connection or some other data transfer method and may be used in a marine craft environment, a home security environment, a horticultural environment, for pump/irrigation control, in smart buildings, in security and surveillance operations, in industry and farming, in GPS asset location, meter reading, etc. While the description above implies that an alarm is presented instantly to the user it is possible to categorise alarms into urgent and non-urgent and to merely load non-urgent alarms into a database on the phone or user device for later action by the user. Similarly other data may be merely loaded in for later action without notifying the user that information has been received.
Since the menus for interacting with the RIMDs are particular to the RIMD from which a message was received or to which a message is being sent the appropriate related API to launch appropriate related menus is stored in the users cellular phone and called into use as required via headers embedded in the RIMD generated data communication payload. Typically the menus are held as part of the particular application software and are updateable with that software, but they may be stored in the cellular phone memory, or as a file in the cellular phone where it is not expected that the interface will change with time. Similarly the values reported by an RIMD or sent to an RIMD may be held in temporary scratch memory, or they may be stored in the appropriate phone memory segment or as files within the phone. Where this information is stored on the cellular phone it may be presented to the user as a history of the parameters recorded, preferably in a format in which it is easily intelligible to the user, as for instance by the use of graphing or charting functions applied to the particular application. Up to the available memory limit it is possible for the application to store a full transactional record of all information received and commands sent.
Interaction with multiple RIMDs may be provided by a single application with different available menus and reply templates or by multiple applications, each differing in menu and reply template structure and particularly adapted to the application.
The port on which the RIMD sends a message may be set at any value, preferably using one of the port values which is unallocated globally or a port which is dedicated to the service. Where the information is transferred by a data connection rather than as SMS text the data stream may itself identify the application and actual RIMD device, and pre-processing of the data stream can invoke the correct application or application module.
The cellular phone used as the interface for the applications must necessarily have sufficient facilities to at least allow it to process an incoming SMS message and present it to the user in a special manner. Preferably the cellular phone is Java enabled and has sufficient processing power and graphics capability to support the software application and an appropriate user operation interface. For easy use it is preferred that the cellular phone is capable of interfacing on a 2.5G plus system and cellular phones with a 3G interface and good GUI capabilities are recommended if a data stream is the preferred information transfer method. Where the available memory and processing power allow, data from previous interactions may be stored for user access.
The application processing the incoming and outgoing messages may be implemented in any form which is compatible with the users cellular phone or with any other device required to provide a user interface, though a preferred method is by using a cellular phone which includes the Mobile Information Device Profile (MIDP) APIs (Application Program Interfaces) running on a Java enabled operating system. The application may then be provided as Java MIDlets (applications complying with the MIDP standards) to carry out the operations. Depending on the resources of the cellular phone applications running on other systems may be provided, for instance, applications based on the .Net framework. Similarly the applications may operate by transferring data via SMS, MMS or by any other available or usable protocol, such as TC/PIP, UDP or HTTP. The choice of protocol is dictated by the target device and its capabilities.
FIG. 6 shows four examples of application screens in use on cellular phones. The upper two shown reporting screens which may also act as control screens where a radio button may be altered to a desired state. The lower two screens show the use of a graphics capable cellular phone to display historic information from memory or file relating to the parameters as received from a specific RIMD.
The messages received from an RIMD may vary in complexity in dependence on the capabilities of the receiving cellular phone, for instance if the destination is available only by SMS the message may be such as "Hayes Farm Tempi 18.3 Wind 13 WDir NW Rain 3.2 SoilMoist 24 Irrig OFF". String recognition on the SMS message may be used to present the calling location, current temperature, wind strength, wind direction, rainfall over 24 hours, soil moisture and irrigation status, and from this to control whether to turn the irrigation on. If a more complex data medium is available the information may be more complex and may include attached images. Thus for instance sensors on board a vessel could report the vessels GPS location and provide an image of the surroundings from a digital camera.
It is to be understood that even though numerous characteristics and advantages of the various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and functioning of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail so long as the functioning of the invention is not adversely affected. For example the particular elements of the download creation sequence may vary dependent on the particular application for which it is used without variation in the spirit and scope of the present invention.
In addition, although the preferred embodiments described herein are directed to an application relating to a store front in a purchase system, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems such as general web sites, quizzes, educational applications, travel information, weather information, traffic information, etc without departing from the scope and spirit of the present invention.

Claims

Claims
1. A remote device application maintenance system comprising a server retaining at least one application operable on a remote mobile device having a user display .and means for user interaction with the display, an uploading facility uploading the application to the remote mobile device when initially required and, an updating facility within the server providing incremental updates to the application in the remote mobile device when portions of the application in the remote mobile device are detected as requiring updates.
2. A remote mobile device application maintenance system as claimed in claim 1 wherein each portion of the application contains a version identifier and the version identifier is reported before each use by the remote device to the server and a version comparison interface within the server compares current and reported version identifiers to prompt the updating facility to upload an incremental update containing application differences when the version identifiers differ.
3. A remote mobile device application maintenance system as claimed in claim 2 wherein the server retaining the remote mobile device operable application retains the interface data for each different screen in XML format and within each XML format includes a version identifier.
4. A remote mobile device application maintenance system as claimed in claim 1 wherein the at least one application is remotely editable and compileable into a compressed form on the server and each incremental portion is equally editable, compressible and compileable.
5. A user interactive mobile device having a user display and means for interacting with the display when provided with an application and application user interface downloaded from a server and stored in a storage memory within the user interactive mobile device wherein the application or interface is updated from the server by incremental update of portions of the application or application user interface held in the storage memory at each use of the application.
6. A user interactive mobile device as claimed in claim 5 wherein the application receives and processes data from a remote data source and presents it in the application interface.
7. A user interactive mobile device as claimed in claim 5 wherein the received datϊrcontains information indicating which application should be invoked.
8. A user interactive mobile device as claimed in claim 5 wherein the interface includes provision for user input and transmission of commands to the originating data source.
9. A user interactive mobile device as claimed in claim 5 wherein the user interactive device application is Java based.
10. A method of providing an updateable user application and interface for a user interactive device having a viewer display and means for interacting with the display comprising: uploading to the user interactive device user applications and interfaces viewable on the viewer display, retaining the application and interfaces within the user interactive device, receiving data to be viewed in the downloaded application and interfaces, determining whether the application or an interface retained within the interactive device is outdated, updating as necessary the application or interface retained within the user interactive device by incrementally updating changed portions of the application or interface, invoicing the application and interface and displaying the data on the user viewable display in the user interface.
1 1. A method of updating a user interface for an application to a mobile device comprising : requesting from a mobile device application information from a remote server, the remote server storing the application user interface content at known historic configurations and a current user interface configuration; providing to the mobile device initial data containing at least a customer identification and login elements; requesting the mobile device user to provide valid login information for the application; transmitting to the remote server the login information, the customer identification, and an indication of the configuration of the application interface on the mobile device; validating the customer identification and the login information at the remote ^server; retrieving from a server store an update containing data to return the configuration data stored on the mobile device to the current configuration state by amendment; amending the application data in the mobile device by downloading and applying the update.
12. A method of updating a user interface as claimed in claim 1 1 wherein the server can provide an update for the differences between any historic configuration and the current configuration.
13. A method of updating a user interface as claimed in claim 1 1 wherein data for a full application interface is provided if none is present in the mobile device initially.
14. A method of updating a user interface as claimed in claim 1 1 wherein a binary script converting an update to amendments in the stored configuration is supplied with the login information.
15. A method of updating a user interface as claimed in claim 1 1 wherein the update data transferred between server and mobile device or vice versa is encoded.
16. A method of updating a user interface as claimed in claim 11 wherein the encoding is encrypted XML.
17. A method of updating a user interface as claimed in claim 1 1 wherein the data is transferred between mobile device and remote server by HTTP.
PCT/NZ2007/000201 2007-06-15 2007-08-02 Mobile device dynamic update WO2008153416A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NZ55591307 2007-06-15
NZ555913 2007-07-30

Publications (1)

Publication Number Publication Date
WO2008153416A1 true WO2008153416A1 (en) 2008-12-18

Family

ID=40129904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NZ2007/000201 WO2008153416A1 (en) 2007-06-15 2007-08-02 Mobile device dynamic update

Country Status (1)

Country Link
WO (1) WO2008153416A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013026478A1 (en) * 2011-08-24 2013-02-28 Nokia Siemens Networks Oy Application program control
EP2372988A3 (en) * 2010-03-31 2013-06-05 Lg Electronics Inc. Mobile terminal and controlling method thereof
US8792934B2 (en) 2010-08-18 2014-07-29 Microsoft Corporation Selective update of core mobile device user interface through application marketplace

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005050441A1 (en) * 2003-11-19 2005-06-02 Telefonaktiebolaget L M Ericsson (Publ) Updating data in a mobile terminal
WO2005120092A1 (en) * 2004-06-02 2005-12-15 Ktfreetel Co., Ltd. System for providing application and management service and modifying user interface and method thereof
US20060190569A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Facilitating mobile device awareness of the availability of new or updated server-side applications
WO2006094117A2 (en) * 2005-03-01 2006-09-08 Mfoundry Application program update deployment to a mobile device
US20060235890A1 (en) * 2005-04-13 2006-10-19 Sharp Laboratories Of America, Inc. Systems and methods for updating an application on a mobile information device
WO2007014314A2 (en) * 2005-07-26 2007-02-01 Apple Computer, Inc. Secure software updates
US20070067373A1 (en) * 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
US20070118507A1 (en) * 2005-11-18 2007-05-24 Bruner John D Managing software configuration of a wireless device
US20070118530A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Scheduling of software updates
WO2007062673A1 (en) * 2005-11-30 2007-06-07 Telecom Italia S.P.A. Method and system for updating applications in mobile communications terminals

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070067373A1 (en) * 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
WO2005050441A1 (en) * 2003-11-19 2005-06-02 Telefonaktiebolaget L M Ericsson (Publ) Updating data in a mobile terminal
WO2005120092A1 (en) * 2004-06-02 2005-12-15 Ktfreetel Co., Ltd. System for providing application and management service and modifying user interface and method thereof
US20060190569A1 (en) * 2005-02-22 2006-08-24 Nextair Corporation Facilitating mobile device awareness of the availability of new or updated server-side applications
WO2006094117A2 (en) * 2005-03-01 2006-09-08 Mfoundry Application program update deployment to a mobile device
US20060235890A1 (en) * 2005-04-13 2006-10-19 Sharp Laboratories Of America, Inc. Systems and methods for updating an application on a mobile information device
WO2007014314A2 (en) * 2005-07-26 2007-02-01 Apple Computer, Inc. Secure software updates
US20070118507A1 (en) * 2005-11-18 2007-05-24 Bruner John D Managing software configuration of a wireless device
US20070118530A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Scheduling of software updates
WO2007062673A1 (en) * 2005-11-30 2007-06-07 Telecom Italia S.P.A. Method and system for updating applications in mobile communications terminals

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2372988A3 (en) * 2010-03-31 2013-06-05 Lg Electronics Inc. Mobile terminal and controlling method thereof
US9203948B2 (en) 2010-03-31 2015-12-01 Lg Electronics Inc. Mobile terminal and controlling method thereof
US8792934B2 (en) 2010-08-18 2014-07-29 Microsoft Corporation Selective update of core mobile device user interface through application marketplace
US9405527B2 (en) 2010-08-18 2016-08-02 Microsoft Technology Licensing, Llc Selective update of core mobile device user interface through application marketplace
US10235155B2 (en) 2010-08-18 2019-03-19 Microsoft Technology Licensing, Llc Selective update of core mobile device user interface through application marketplace
WO2013026478A1 (en) * 2011-08-24 2013-02-28 Nokia Siemens Networks Oy Application program control
CN103890756A (en) * 2011-08-24 2014-06-25 诺基亚通信公司 Application program control

Similar Documents

Publication Publication Date Title
US7809376B2 (en) Enhanced analogue of interactive voice response structures and functions for mobile phones and similar handheld communications devices
US20110113090A1 (en) Dynamic mobile client
US7555528B2 (en) Systems and methods for virtually representing devices at remote sites
US6901272B2 (en) Ergonomic system for control of devices through portable wireless terminals
US20070239833A1 (en) Device specific communication notifications
US7920852B2 (en) Compression of data transmitted between server and mobile device
US20230308504A9 (en) Method and system of application development for multiple device client platforms
US9015282B2 (en) Access to information on a mobile terminal from a remote terminal
CN101073053A (en) A method of providing content to a wireless computing device
US20090025011A1 (en) Inter-process communication at a mobile device
US20150113504A1 (en) Virtual hybrid application
US20230188482A1 (en) Systems and methods for facilitating chat-based application interactions
CN103152370A (en) Service gateway system of internet of things and application method
CN114168460A (en) Remote debugging method, device and storage medium for front-end code in hybrid development
WO2008153416A1 (en) Mobile device dynamic update
US8682983B2 (en) Systems, methods and computer program products for the delivery of email text messages and audio video attachments to an IPTV display device
US8762483B2 (en) System for and method of verifying packages
US20080132248A1 (en) Combined map and positioning service for a mobile terminal device and a server for implementing the same
CN101964742A (en) Method, system and device for using network open ability
KR20180007483A (en) A dynamic ui distributing system using terminal native ui and a method thereof
WO2009073310A1 (en) Systems, methods, and computer program products for the delivery of email text messages and image attachments to an iptv display device
NZ546871A (en) Mobile device dynamic update
Bisignano et al. An" intent-oriented" approach for multi-device user interface design
EP1665684B1 (en) System and method for transmitting a multimedia message
EP1215845A1 (en) System and method for accessing an application server

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07834815

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07834815

Country of ref document: EP

Kind code of ref document: A1