US20070300217A1 - Data Container for User Interface Content Data - Google Patents

Data Container for User Interface Content Data Download PDF

Info

Publication number
US20070300217A1
US20070300217A1 US10/598,167 US59816705A US2007300217A1 US 20070300217 A1 US20070300217 A1 US 20070300217A1 US 59816705 A US59816705 A US 59816705A US 2007300217 A1 US2007300217 A1 US 2007300217A1
Authority
US
United States
Prior art keywords
user interface
container
executable code
content
metadata
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10/598,167
Inventor
Michael Tunmer
Martin Dickens
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Cambridge Ltd
Qualcomm Inc
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 Qualcomm Cambridge Ltd, Qualcomm Inc filed Critical Qualcomm Cambridge Ltd
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DICKENS, MARTIN C., TUNMER, MICHAEL LUKE
Publication of US20070300217A1 publication Critical patent/US20070300217A1/en
Assigned to QUALCOMM CAMBRIDGE LIMITED reassignment QUALCOMM CAMBRIDGE LIMITED CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019306 FRAME 0516. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS QUALCOMM CAMBRIDGE LIMITED. Assignors: DICKENS, MARTIN C., TUNMER, MICHAEL LUKE
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: QUALCOMM CAMBRIDGE LIMITED
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1616Error detection by comparing the output signals of redundant hardware where the redundant component is an I/O device or an adapter therefor
    • G06F11/162Displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
    • G06F15/0225User interface arrangements, e.g. keyboard, display; Interfaces to other computer systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a data container and in particular to data containers for use with user interface content data for mobile devices for use with a mobile communications network.
  • a method of provisioning a user interface to a device comprising the steps of a) creating a container, the container comprising: executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the container; b) transmitting the container to one or more devices; c) extracting the contents of the container at the or each device; and d) executing the code to generate a user interface for the device.
  • a data carrier comprising computer executable code for performing the above described method
  • a server for provisioning a user interface to one or more devices comprising: storage means to receive a data container; editing means to enable the data container to be edited, in use the data container comprising executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the data container; and transmission means for transmitting a data container to one or more devices.
  • a method of installing a user interface in a device comprising the steps of: a) receiving at a device a container over a communications network, the container comprising: executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the container; b) extracting the contents of the container at the device; and c) executing the code to generate a user interface for the device.
  • FIG. 1 shows a schematic depiction of a system incorporating the present invention
  • FIG. 2 depicts in greater detail the structure and operation of server
  • FIG. 3 shows a schematic depiction of the software 400 for the mobile devices
  • FIG. 4 shows a schematic depiction of the content toolset
  • FIG. 5 shows a schematic depiction of a device that comprises a user interface according to an embodiment of the present invention.
  • FIG. 1 shows a schematic depiction of a system incorporating the present invention.
  • the system comprises server 100 , content toolset 200 , mobile devices 300 , operational support systems (OSSs) 700 , content feeds 500 and user interface (UI) sources 600 .
  • the server 100 communicates content data and UI data to the mobile devices 300 , 301 , . . . , each of which comprise software package 400 .
  • the server 100 interfaces with OSSs 700 , with the OSSs being those conventionally used to operate mobile networks, for example billing, account management, etc.
  • the server 100 further interfaces with the content toolset 200 : the content toolset receives data from UI sources 600 , 601 , . . . , and packages the UI data such that the server can transmit the packaged UI data to the software packages 400 comprised within the mobile devices 300 .
  • the server receives data from a plurality of content feeds, and this data is processed and packaged such that it can be sent to the software packages 400 or so that the mobile devices 300 can access the data using the software package 400 .
  • FIG. 2 depicts in greater detail the structure and operation of server 100 .
  • Server 100 comprises publishing component 110 and content server component 150 .
  • Publishing component comprises database 111 , import queue 112 , content toolset interface 113 , user interface 114 & catalogue 115 .
  • the publishing component receives content from the content toolset at the content toolset interface.
  • the content is presented in the form of a parcel 210 a , 210 b , . . . , (see below) comprising one or more Trigs and one or more Triglets.
  • a trig is a user interface for a mobile device, such as a mobile telephone and a triglet is a data file that can be used to extend or alter a trig. If a parcel comprises more than one trig then one of the Trigs may be a master trig from which the other Trigs are derived.
  • the publishing component user interface 114 can be used to import a parcel into the database 111 , and this process causes references to each trig and triglet to be loaded into the import queue 114 , which may comprise references to a plurality of parcels 210 a , 210 b , . . . .
  • the contents of the parcel may be examined using the user interface and the contents of the parcel can be passed to the catalogue.
  • the MNO may have several publishing domains, for example one for each target server in a number of countries or regions. Each domain is treated in isolation from other domains and has its own publishing scheme describing how objects are to be published onto content servers in both live and staging environments.
  • the publishing component GUI provides several different views to each domain, enabling operators to completely manage the publishing of content.
  • the catalogue comprises references to the Trigs stored in the catalogue and the update channels and feed channels used to transfer content to the various domains.
  • the operator uses the publishing component GUI to set up the domain structure and allocate trigs from the catalogue to each domain node. To aid the operator in selecting trigs efficiently, a filter is provided in the catalogue so that only relevant items are shown.
  • a trig may be allocated to several nodes within a domain.
  • the packaging of the trig on the target server may need to be different e.g. a SIS or CAB file, dependent on the handsets that will be accessing the trigs.
  • the packaging can be controlled using the publishing component GUI.
  • the update channels may be referenced by trigs to control the delivery of the content.
  • An update channel comprises a URL which is a link to a resource on the associated domain that comprises a triglet update package.
  • the URL can be polled at predefined intervals and the HTTP GET function used to access the package (it will be readily appreciated that other transport schemes may be used, for example SyncML or SMS or cell broadcast for small updates).
  • the triglet update package describes how the trig can be modified, e.g. replacing one or more images or text files used by the trig.
  • the publishing component GUI enables an operator to define and control the update channels that exist for a domain, the URLs associated with each triglet on the update channel and the association of triglets with the update channels for a domain. As each triglet is associated with an update channel, an operator may enter the date and time that the update should be published, enabling a schedule to be set.
  • a content feed is similar to an update channel for which the content updates are automatically generated on a regular basis.
  • a content feed is accessed by polling a URL, retrieving the update packet and applying it to the trig.
  • update channels and content feeds are managed separately.
  • other transport schemes may be used such as SyncML or OMA-DM (Open Mobile Alliance Device Management).
  • the content server component 150 is a standard implementation of a web server and as such the scaling model is well understood.
  • the capabilities of a server can be rated using a “SPECweb99” number indicating the number of concurrent sessions that the web server can handle under benchmark conditions.
  • Published SPECweb99 numbers range from 404 to 21,000 with typical commercial web servers having SPECweb99 numbers in the order of 5,000.
  • a typical deployment scenario for 1 m subscribers with hourly updating content requires a web server with a SPECweb99 rating of only 1,112.
  • a successful deployment will lead to increased service use which can be provided for by enabling additional servers to create an infrastructure that can be both scalable and highly resilient to failure.
  • a connection may be made to the server from a mobile device via a WAP Gateway.
  • the web server session exists between the WAP gateway and the web server, rather than the mobile phone and web server.
  • the session with the web server lasts only as long as it takes to transfer the file from the web server to the WAP gateway—i.e. the session is extremely short since the connection bandwidth will be very high and latency extremely low.
  • a direct connection may be established between the mobile phone and the web server.
  • the web server will need to keep the session open for as long as it takes to download the data to the phone.
  • trigs typically of the order of 100 KB
  • regularly updating triglets typically of the order of 1 KB.
  • the traffic created by trig downloads is very similar to the traffic generated by existing content downloads. And thus the related issues are well understood. Downloads of regular triglet updates are a new feature in an MNO's traffic model but because of the small size of the updates, which typically fit within one data packet, it is possible to show that the traffic can still be handled by typical web servers.
  • FIG. 3 shows a schematic depiction of the software 400 for the mobile devices 300 , which comprises a mark-up language renderer 410 , update manager 420 , network communication agent 425 , resource manager 430 , virtual file system 435 , actor manager 440 , a plurality of actors 445 a , 445 , . . . , native UI renderer 450 , support manager 460 , trig manager 465 and mark-up language parser 470 .
  • a mark-up language renderer 410 the software 400 for the mobile devices 300 , which comprises a mark-up language renderer 410 , update manager 420 , network communication agent 425 , resource manager 430 , virtual file system 435 , actor manager 440 , a plurality of actors 445 a , 445 , . . . , native UI renderer 450 , support manager 460 , trig manager 465 and mark-up language parser 470 .
  • the software operates using TrigML, which is an XML application and that mark-up language renderer 410 renders the TrigXML code for display on the mobile device 300 .
  • the mark-up language renderer also uses the TrigML Parser to parse TrigML resources, display content on the device screen and controlling the replacement and viewing of content on the handset.
  • the native UI renderer is used to display UI components that can be displayed without the use of TrigML, and for displaying error messages.
  • the trig manager 465 presents an interface to the resource manager 430 and the mark-up language renderer. It is responsible for trig management in general. This includes: persisting knowledge of the trig in use, changing the current trig, selection of a trig on start-up, selection of a further trig as a fall back for a corrupt trig, maintaining the set of installed trigs, identifying where a particular trig is installed to the resource manager and reading the update channel definitions of a trig and configuring the update manager appropriately.
  • the resource manager provides an abstraction of the persistent store on device, i.e. storing the files as real files, or as records in a database.
  • the resource manager presents a file system interface to the mark-up language renderer and the update manager. It is responsible for handling file path logic, distinguishing between real resource files and actor attributes, mapping trig-relative paths onto absolute paths, interfacing with the trig manager and providing a modification interface to the update manager.
  • the Update Manager handles the reception and application of Trigs and Triglets.
  • the Update Manager presents an interface to the Renderer and the trig Manager and is responsible for: the initiation of manual updates when instructed to by the Renderer; controlling and implementing the automatic update channel when so configured by the trig manager; indicating the progress of a manual update and recovering an Update following unexpected loss of network connection and/or device power.
  • the update packet format may be defined as a binary serialisation of an XML schema.
  • XML is a convenient data formatting language that is used to define the update packet format as well as TrigML content. For bandwidth and storage efficiency reasons, text XML is serialised into a binary representation. Both update packets and TrigML fragments are parsed by the same component, the MARK-UP LANGUAGE PARSER parser. Any further use of XML in the software must use the binary XML encoding and therefore re-use the parser.
  • the software preferably comprises a multi-threaded application running a minimum of two threads, with more possible depending on how many and what sort of actors are included.
  • the software runs mostly in one thread, referred to as the main thread.
  • the main thread is used to run the renderer which communicates synchronously with other components. Actors always have a synchronous interface to the Renderer. If an actor requires additional threads for its functionality, then it is the responsibility of the Actor to manage the inter-thread communication. It is preferred that a light messaging framework is used to avoid unnecessary code duplication where many actors require inter-thread communication.
  • the update manager runs a network thread.
  • the network thread is used to download update packets and is separate from the main thread to allow the renderer to continue unaffected until the packet has arrived.
  • the Update Manager is responsible for handling inter-thread messaging such that the Update Manager communicates synchronously with the Renderer and Resource Manager when applying the changes defined in an Update Packet.
  • the software 400 is provisioned to mobile devices in a device specific method.
  • One or more Trigs can be provisioned as part of the installation, for example, stored as an uncompressed update packet. On start-up, the packet can be expanded and installed to the file-system.
  • the Actors 445 are components that publish attribute values and handle and emit events. Actors communicate with the Renderer synchronously. If an actor needs asynchronous behaviour, then it is the responsibility of the actor to manage and communicate with a thread external to the main thread of the Renderer.
  • Actor attributes may be read as file references. Attributes are one of four types: a single simple value; a vector of simple values; a single structure of fields, each field having a simple value; or a vector of structures. Attributes may be referenced by an expression using an object.member notation similar to many object-orientated programming languages:
  • An Actor can be messaged by sending it an event with the ⁇ throw> element. Events emitted by actors can be delivered to the content tree as content events: these can be targeted at an element Id or ‘top’.
  • the interface to an actor is defined by an Actor Interface Definition file. This is an XML document that defines the attributes, types, fieldnames, events-in and parameters, and events out. The set of actors is configurable at build-time for the software. Appendix A gives an exemplary listing of some actors that may be used, along with the associated functions or variables.
  • Updates comprise a new trig (a new or replacement UI) or a triglet (a modification to an existing trig) and may be regarded as modifications to the software file-system.
  • the Update Manager to determine what needs changing in the file-system by reading a packet.
  • Update Packets may be downloaded over the air by the software 400 using HTTP, or other suitable transport mechanisms, wrapped in a device-specific package format or pre-provisioned with the installation of the software itself.
  • the content format is common across all platforms implementing the software.
  • the Content Compiler is a content authoring tool to transform a collection of raw resources (text TrigML, PNG images, text string definitions) into an over the air Update Packet that can be written to the file system of the device.
  • the trig Definition file points at a list of real files on the host file-system and the resources are copied to the outputs.
  • TrigML can use constant variables instead of attribute values.
  • Constant variables are accessed with the same syntax as ⁇ include> parameters, e.g. $background_colour.
  • Constants are treated as global variables in a trig and are defined in the reserved folder, constants/.
  • the variable definitions contained in the files in the constants/ folder may be resolved at compile time with direct substitution of their values.
  • the variable definitions in constants/ are compiled as global variables and resolved at content parse time by the software. This allows the trig to be updated by a simple replacement of one or all of its constants files.
  • the mark-up language In order to successfully render the user interface of a mobile device, the mark-up language must have the following qualities: concise page definitions, consistent layout rules, be implementable in a compact renderer, provide multiple layering and arbitrary overlapping content, event model, require the repaint of only the areas of the display that have to change between pages of the UI, include hooks to the platform for reading property values receiving events and sending events, extensible, and be graphically flexible. TrigML provides these features and an overview of the elements and attributes that provide the desired functionality is given in our co-pending application GB0403709.9, filed Feb. 19, 2004.
  • the parcel process comprise five processing stages:
  • the scripting environment 220 provides the means to design the template for one or more UIs and the update strategy for UIs based on that template.
  • the maintenance environment 240 provides for rapid UI and update production in a well-controlled and guided environment that can be outsourced to content providers.
  • the maintenance environment 240 ‘pre-flight’ functionality allows the deployment administrator to check and tune the UIs and updates that they receive from 3rd parties.
  • the publishing component 110 provides management of UIs and updates at the deployment point, including the staging of new releases.
  • the publishing component 110 enables the automatic generation of updates from live content feeds.
  • maintenance environment 240 is used to import the parcel, re-brand and reconfigure the content and create a new parcel for submission to the publishing component 110 .
  • the following issues should be considered: which part of the UI can be re-banded; which features of a UI need to be reconfigured at re-branding or remotely; which part of the UI content may be updated; and if the UI is re-branded then can user select content feeds in use.
  • the scripting environment 220 allows these strategies to be defined, and enables the maintenance environment 240 as the implementer of each instance of each strategy.
  • the purpose of the maintenance environment 240 is to provide a designer and administrator's UI for the re-branding and maintenance of skins and updates, with the main functions comprising:
  • a parcel is generated by the scripting environment 220 which comprises a template UI or update for editing. Once editing is complete the parcel is saved in an ‘outbox’ ready for despatch to the maintenance environment 240 for publishing to the content server.
  • the following ‘parcel’ functions are provided.
  • the maintenance environment 240 can be used to edit/replace resources held within the parcel. Parcels can be exported to the simulation environment to test the performance of the UI or UI update on a mobile device.
  • a parcel entry may be double clicked to launch an appropriate editor.
  • an appropriate editor for example, an image resource would launch an image editor.
  • All resources may have a text description/note inserted in the maintenance environment and displayed in the appropriate context in the maintenance environment.
  • Lists of menu entries are handled as a special resource type with each entry presenting its own sub-catalogue of resources (for example—title, help string, image, roll-over image, URL and ringtone preview).
  • Trigs can be derived from a common base.
  • the common base would implement most of the interface itself, and Trigs derived from it would implement small variations on it, such as branding.
  • a Triglet can be derived from a Trig, and it can override any of the resources from the parent Trig that it chooses to (optionally it may introduce its own resources).
  • resources here also refers to TrigML, so the behaviour and layout of a Trig can be modified by a Triglet just as easily as it replacing a single image or piece of text.
  • a Parcel may comprise one or more base Trigs (i.e. a Trig that is not derived from any other trig), one or more multiple Trigs derived from a base Trig, a plurality of triglets derived from any of the trigs and a plurality of triglets derived from other triglets.
  • the parcel format is an opaque binary format that stores all this information as serialized objects.
  • the parcel may comprise a number of resources, such as images, text, URLs, update channels, ringtone files, wallpapers, native applications, etc.
  • Each resource contains permission information as to how to view, edit, or delete the resource.
  • Each resource furthermore contains meta information such as documentation and instructions that are relevant to that resource.
  • Each Parcel tool either assumes a relevant role, or requires users to login as a particular role.
  • Trig The nature of developing trigs is such that a number of people and/or groups of people could be involved in contributing to the final design and implementation of a Trig. Furthermore, the skill sets of these people require that a very simplified and controlled scheme be used to minimize the risk of unwitting damage to the Trig.
  • a typical development workflow for a reasonably complex Trig could comprise:
  • Parcels assist in the workflow described above because they contain the entire project in the single file, and this makes it easy to pass from one member of the team to the next.
  • the Parcel can be re-targeted for the next stage of development by adding comments and instructions on the resources that need to be modified, and even setting the editability of other resources to restrict what can be changed.
  • More complicated workflows can be supported by allowing Parcels to be forked, and separate development to happen in each fork of the Parcel.
  • Merge tools allow the individual changes to be combined back into a single Parcel.
  • a parcel may be implemented using the pickle module for the Python programming language.
  • the parcels may be used to develop trigs and/or triglets for mobile devices having different capabilities such as display size, RAM capacity.
  • a number of hierarchies may be defined and the data resource or TrigML element classified within the hierarchies.
  • the most appropriate resources or TrigML elements can be selected and complied for a particular device.
  • FIG. 5 shows a schematic depiction of a device 800 that comprises a user interface according to an embodiment of the present invention.
  • the device comprises a display 810 that displays the user interface 815 and user interface means 820 , that enable the user to interact with the user interface 815 .
  • a processor 830 executes the software that is stored within one or more storage means 840 and there may be provided one or more wireless communication interfaces 850 , to enable communication with other devices and/or communication networks.
  • One or more batteries 860 may be received to power the device, which may also comprise interfaces to receive electrical power and/or communication cables.
  • a user interface can be implemented within a mobile or cellular telephone handset, but it is also applicable to other portable devices such as digital cameras, personal digital organisers, digital music players, GPS navigators, portable gaming consoles, etc. Furthermore, it is also applicable to other devices that comprise a user interface, such as laptop or desktop computers.
  • the user interface means may comprise a plurality of buttons, such as a numerical or alpha-numerical keyboard, or a touch screen or similar.
  • One or more storage devices may comprise a form of non-volatile memory, such as a memory card, so that the stored data is not lost if power is lost.
  • ROM storage means may be provided to store data which does not need updating or changing. Some RAM may be provided for temporary storage as the faster response times support the caching of frequently accessed data.
  • the device may also accept user removable memory cards and optionally hard disk drives may be used as a storage means. The storage means used will be determined by balancing the different requirements of device size, power consumption, the volume of storage required, etc.
  • Such a device may be implemented in conjunction with virtually any wireless communications network, for example second generation digital mobile telephone networks (i.e. GSM, D-AMPS), so-called 2.5G networks (i.e. GPRS, HSCSD, EDGE), third generation WCDMA or CDMA-2000 networks and improvements to and derivatives of these and similar networks.
  • GSM digital mobile telephone
  • D-AMPS digital mobile telephone networks
  • 2.5G networks i.e. GPRS, HSCSD, EDGE
  • WCDMA or CDMA-2000 networks improvements to and derivatives of these and similar networks.
  • Bluetooth IrDa or wireless LANs (whether based on radio or optical systems) may also be used.
  • USB and/or FireWire connectivity may be supplied for data synchronisation with other devices and/or for battery charging.
  • Computer software for implementing the methods and/or for configuring a device as described above may be provided on data carriers such as floppy disks, CD-ROMS. DVDs, non-volatile memory cards, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Digital Computer Display Output (AREA)
  • Telephone Function (AREA)
  • Absorbent Articles And Supports Therefor (AREA)
  • Devices For Medical Bathing And Washing (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)

Abstract

A data container is provided for use in provisioning content data fore the user interface of a device, such as mobile telephone. The container comprises content data and metadata relating to the content data, the metadata limiting access to the content data and/or providing a contest for the use of the content data within the user interface.

Description

    FIELD OF THE INVENTION
  • The present invention relates to a data container and in particular to data containers for use with user interface content data for mobile devices for use with a mobile communications network.
  • BACKGROUND OF THE INVENTION
  • One of the growth areas for mobile network operators and content providers is the provision of ringtones, wallpapers and other multimedia content for mobile telephones and devices. There is a tension between the needs of mobile network operators and device manufacturers to retain control over some aspects of the device user interfaces for branding purposes and the needs of users to customise and modify the appearance of their devices to suit their own needs. The sophisticated software required to provide the desired flexibility and customisation is also in tension with the limited processing power and data storage capacity of typical mobile devices. The present invention seeks to mitigate these problems.
  • SUMMARY OF THE INVENTION
  • According to a first aspect of the present invention there is provided a method of provisioning a user interface to a device, the method comprising the steps of a) creating a container, the container comprising: executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the container; b) transmitting the container to one or more devices; c) extracting the contents of the container at the or each device; and d) executing the code to generate a user interface for the device.
  • According to a second aspect of the present invention there is provided a data carrier comprising computer executable code for performing the above described method
  • According to a third aspect of the present invention there is provided a server for provisioning a user interface to one or more devices, the server comprising: storage means to receive a data container; editing means to enable the data container to be edited, in use the data container comprising executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the data container; and transmission means for transmitting a data container to one or more devices.
  • According to a fourth aspect of the present invention there is provided a method of installing a user interface in a device, the method comprising the steps of: a) receiving at a device a container over a communications network, the container comprising: executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the container; b) extracting the contents of the container at the device; and c) executing the code to generate a user interface for the device.
  • According to a fifth aspect of the present invention there is provided a data carrier comprising computer executable code for performing the above described method.
  • According to a sixth aspect of the present invention there is provided device comprising a display, a user interface, storage means, processing means and a communication interface, the device being configured, in use, to receive a data container from a communications network via the communications interface; store the data container in the storage means; process the data container using the processing means to extract the contents of the data container, the data container comprising executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the data container; form a user interface in accordance with the extracted contents of the data container; and display the user interface in the device display.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a schematic depiction of a system incorporating the present invention;
  • FIG. 2 depicts in greater detail the structure and operation of server;
  • FIG. 3 shows a schematic depiction of the software 400 for the mobile devices;
  • FIG. 4 shows a schematic depiction of the content toolset; and
  • FIG. 5 shows a schematic depiction of a device that comprises a user interface according to an embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The invention will now be described by way of illustration only and with respect to the accompanying drawings, in which FIG. 1 shows a schematic depiction of a system incorporating the present invention. The system comprises server 100, content toolset 200, mobile devices 300, operational support systems (OSSs) 700, content feeds 500 and user interface (UI) sources 600. In use, the server 100 communicates content data and UI data to the mobile devices 300, 301, . . . , each of which comprise software package 400. The server 100 interfaces with OSSs 700, with the OSSs being those conventionally used to operate mobile networks, for example billing, account management, etc. The server 100 further interfaces with the content toolset 200: the content toolset receives data from UI sources 600, 601, . . . , and packages the UI data such that the server can transmit the packaged UI data to the software packages 400 comprised within the mobile devices 300. The server receives data from a plurality of content feeds, and this data is processed and packaged such that it can be sent to the software packages 400 or so that the mobile devices 300 can access the data using the software package 400.
  • The system can be envisaged as being divided into three separate domains: operator domain 50 comprises the systems and equipment operated by the mobile network operator (MNO); user domain 60 comprises a plurality of mobile devices and third-party domain 70 comprises the content feeds and UI feeds that may be controlled or operated by a number of different entities.
  • FIG. 2 depicts in greater detail the structure and operation of server 100. Server 100 comprises publishing component 110 and content server component 150. Publishing component comprises database 111, import queue 112, content toolset interface 113, user interface 114 & catalogue 115. In operation, the publishing component receives content from the content toolset at the content toolset interface. The content is presented in the form of a parcel 210 a, 210 b, . . . , (see below) comprising one or more Trigs and one or more Triglets. A trig is a user interface for a mobile device, such as a mobile telephone and a triglet is a data file that can be used to extend or alter a trig. If a parcel comprises more than one trig then one of the Trigs may be a master trig from which the other Trigs are derived.
  • The publishing component user interface 114 can be used to import a parcel into the database 111, and this process causes references to each trig and triglet to be loaded into the import queue 114, which may comprise references to a plurality of parcels 210 a, 210 b, . . . . The contents of the parcel may be examined using the user interface and the contents of the parcel can be passed to the catalogue.
  • The MNO may have several publishing domains, for example one for each target server in a number of countries or regions. Each domain is treated in isolation from other domains and has its own publishing scheme describing how objects are to be published onto content servers in both live and staging environments. The publishing component GUI provides several different views to each domain, enabling operators to completely manage the publishing of content. The catalogue comprises references to the Trigs stored in the catalogue and the update channels and feed channels used to transfer content to the various domains. For each domain, the operator uses the publishing component GUI to set up the domain structure and allocate trigs from the catalogue to each domain node. To aid the operator in selecting trigs efficiently, a filter is provided in the catalogue so that only relevant items are shown.
  • A trig may be allocated to several nodes within a domain. In each case the packaging of the trig on the target server may need to be different e.g. a SIS or CAB file, dependent on the handsets that will be accessing the trigs. The packaging can be controlled using the publishing component GUI.
  • The update channels may be referenced by trigs to control the delivery of the content. An update channel comprises a URL which is a link to a resource on the associated domain that comprises a triglet update package. The URL can be polled at predefined intervals and the HTTP GET function used to access the package (it will be readily appreciated that other transport schemes may be used, for example SyncML or SMS or cell broadcast for small updates). The triglet update package describes how the trig can be modified, e.g. replacing one or more images or text files used by the trig. The publishing component GUI enables an operator to define and control the update channels that exist for a domain, the URLs associated with each triglet on the update channel and the association of triglets with the update channels for a domain. As each triglet is associated with an update channel, an operator may enter the date and time that the update should be published, enabling a schedule to be set.
  • A content feed is similar to an update channel for which the content updates are automatically generated on a regular basis. A content feed is accessed by polling a URL, retrieving the update packet and applying it to the trig. However because of the different nature of manually constructed triglet updates and automatically generated content, update channels and content feeds are managed separately. Again, other transport schemes may be used such as SyncML or OMA-DM (Open Mobile Alliance Device Management).
  • The content server component 150 is a standard implementation of a web server and as such the scaling model is well understood. The capabilities of a server can be rated using a “SPECweb99” number indicating the number of concurrent sessions that the web server can handle under benchmark conditions. Published SPECweb99 numbers range from 404 to 21,000 with typical commercial web servers having SPECweb99 numbers in the order of 5,000. A typical deployment scenario for 1 m subscribers with hourly updating content requires a web server with a SPECweb99 rating of only 1,112. A successful deployment will lead to increased service use which can be provided for by enabling additional servers to create an infrastructure that can be both scalable and highly resilient to failure.
  • A connection may be made to the server from a mobile device via a WAP Gateway. In this case the web server session exists between the WAP gateway and the web server, rather than the mobile phone and web server. When a request is made for a file via the WAP gateway, the session with the web server lasts only as long as it takes to transfer the file from the web server to the WAP gateway—i.e. the session is extremely short since the connection bandwidth will be very high and latency extremely low.
  • Alternatively a direct connection may be established between the mobile phone and the web server. In this case, the web server will need to keep the session open for as long as it takes to download the data to the phone.
  • There are two types of content that are delivered by the content server component: trigs, typically of the order of 100 KB and regularly updating triglets which are typically of the order of 1 KB. The traffic created by trig downloads is very similar to the traffic generated by existing content downloads. And thus the related issues are well understood. Downloads of regular triglet updates are a new feature in an MNO's traffic model but because of the small size of the updates, which typically fit within one data packet, it is possible to show that the traffic can still be handled by typical web servers.
  • FIG. 3 shows a schematic depiction of the software 400 for the mobile devices 300, which comprises a mark-up language renderer 410, update manager 420, network communication agent 425, resource manager 430, virtual file system 435, actor manager 440, a plurality of actors 445 a, 445, . . . , native UI renderer 450, support manager 460, trig manager 465 and mark-up language parser 470.
  • It is preferred that the software operates using TrigML, which is an XML application and that mark-up language renderer 410 renders the TrigXML code for display on the mobile device 300. The mark-up language renderer also uses the TrigML Parser to parse TrigML resources, display content on the device screen and controlling the replacement and viewing of content on the handset. The native UI renderer is used to display UI components that can be displayed without the use of TrigML, and for displaying error messages.
  • The software 400 is provisioned and installed in a device specific manner. For example for a Nokia Series 60 device the software is installed using a SIS file, whereas for a MS Smartphone device the software is installed using a CAB file. Similarly, software upgrades are handled in a device specific manner. The software may be provisioned in a more limited format, as a self-contained application that renders its built in content only: i.e. the software is provisioned with a built-in trig but additional trigs cannot be added later. The supplied trig may be upgraded over the air.
  • The trig manager 465 presents an interface to the resource manager 430 and the mark-up language renderer. It is responsible for trig management in general. This includes: persisting knowledge of the trig in use, changing the current trig, selection of a trig on start-up, selection of a further trig as a fall back for a corrupt trig, maintaining the set of installed trigs, identifying where a particular trig is installed to the resource manager and reading the update channel definitions of a trig and configuring the update manager appropriately.
  • The resource manager provides an abstraction of the persistent store on device, i.e. storing the files as real files, or as records in a database. The resource manager presents a file system interface to the mark-up language renderer and the update manager. It is responsible for handling file path logic, distinguishing between real resource files and actor attributes, mapping trig-relative paths onto absolute paths, interfacing with the trig manager and providing a modification interface to the update manager.
  • The Update Manager handles the reception and application of Trigs and Triglets. The Update Manager presents an interface to the Renderer and the trig Manager and is responsible for: the initiation of manual updates when instructed to by the Renderer; controlling and implementing the automatic update channel when so configured by the trig manager; indicating the progress of a manual update and recovering an Update following unexpected loss of network connection and/or device power. The update packet format may be defined as a binary serialisation of an XML schema.
  • XML is a convenient data formatting language that is used to define the update packet format as well as TrigML content. For bandwidth and storage efficiency reasons, text XML is serialised into a binary representation. Both update packets and TrigML fragments are parsed by the same component, the MARK-UP LANGUAGE PARSER parser. Any further use of XML in the software must use the binary XML encoding and therefore re-use the parser.
  • The Actor Manager 440 looks after the set of actors 445 present in the software. It is used by: the renderer when content is sending events to an actor; actors that want to notify that an attribute value has changed and actors that want to emit an event (see below).
  • The software preferably comprises a multi-threaded application running a minimum of two threads, with more possible depending on how many and what sort of actors are included. The software runs mostly in one thread, referred to as the main thread. The main thread is used to run the renderer which communicates synchronously with other components. Actors always have a synchronous interface to the Renderer. If an actor requires additional threads for its functionality, then it is the responsibility of the Actor to manage the inter-thread communication. It is preferred that a light messaging framework is used to avoid unnecessary code duplication where many actors require inter-thread communication.
  • In addition to the main thread, the update manager runs a network thread. The network thread is used to download update packets and is separate from the main thread to allow the renderer to continue unaffected until the packet has arrived. The Update Manager is responsible for handling inter-thread messaging such that the Update Manager communicates synchronously with the Renderer and Resource Manager when applying the changes defined in an Update Packet.
  • The software 400 is provisioned to mobile devices in a device specific method. One or more Trigs can be provisioned as part of the installation, for example, stored as an uncompressed update packet. On start-up, the packet can be expanded and installed to the file-system.
  • The Actors 445 are components that publish attribute values and handle and emit events. Actors communicate with the Renderer synchronously. If an actor needs asynchronous behaviour, then it is the responsibility of the actor to manage and communicate with a thread external to the main thread of the Renderer.
  • Actor attributes may be read as file references. Attributes are one of four types: a single simple value; a vector of simple values; a single structure of fields, each field having a simple value; or a vector of structures. Attributes may be referenced by an expression using an object.member notation similar to many object-orientated programming languages:
      • <image res=“signallevels/{protocol.signalstrength}”/>
  • When needed as a file, an attribute is accessed via the /attrs folder.
      • <text res=“/attr/network/name”>
  • An Actor can be messaged by sending it an event with the <throw> element. Events emitted by actors can be delivered to the content tree as content events: these can be targeted at an element Id or ‘top’. The interface to an actor is defined by an Actor Interface Definition file. This is an XML document that defines the attributes, types, fieldnames, events-in and parameters, and events out. The set of actors is configurable at build-time for the software. Appendix A gives an exemplary listing of some actors that may be used, along with the associated functions or variables.
  • Updates comprise a new trig (a new or replacement UI) or a triglet (a modification to an existing trig) and may be regarded as modifications to the software file-system. The Update Manager to determine what needs changing in the file-system by reading a packet. Update Packets may be downloaded over the air by the software 400 using HTTP, or other suitable transport mechanisms, wrapped in a device-specific package format or pre-provisioned with the installation of the software itself.
  • There are other failure modes to consider: if an HTTP-GET cannot be initiated, or is met with an HTTP error response code, then this attempt at an Update is abandoned and the retry strategy is used to begin a new update attempt at a later date. Where an HTTP response is interrupted by loss of network signal, any temporary files are deleted and the retry strategy is used to restart the Update attempt at a later date. If an update header indicates that the update payload size may be too great to fit on the device, if the update requires an incompatible version of the software or if the Update already resides on the device then the header data file is deleted and the Update attempt and any subsequent retries are cancelled.
  • The content format is common across all platforms implementing the software. The Content Compiler is a content authoring tool to transform a collection of raw resources (text TrigML, PNG images, text string definitions) into an over the air Update Packet that can be written to the file system of the device.
  • TrigML fragments are files containing text TrigML and resource references inside these fragments are virtual file paths. The mapping of these virtual file paths to real file paths is defined by a TrigDefinition file. This file also defines other properties of the trig. When used for compiling a triglet, this file also defines how the input TrigML/PNG/Text resources map onto modifications of the virtual file-system of a trig.
  • For PNG and Text Resources the trig Definition file points at a list of real files on the host file-system and the resources are copied to the outputs.
  • TrigML can use constant variables instead of attribute values. Constant variables are accessed with the same syntax as <include> parameters, e.g. $background_colour. Constants are treated as global variables in a trig and are defined in the reserved folder, constants/. The variable definitions contained in the files in the constants/ folder may be resolved at compile time with direct substitution of their values. In an alternative embodiment the variable definitions in constants/ are compiled as global variables and resolved at content parse time by the software. This allows the trig to be updated by a simple replacement of one or all of its constants files.
  • In order to successfully render the user interface of a mobile device, the mark-up language must have the following qualities: concise page definitions, consistent layout rules, be implementable in a compact renderer, provide multiple layering and arbitrary overlapping content, event model, require the repaint of only the areas of the display that have to change between pages of the UI, include hooks to the platform for reading property values receiving events and sending events, extensible, and be graphically flexible. TrigML provides these features and an overview of the elements and attributes that provide the desired functionality is given in our co-pending application GB0403709.9, filed Feb. 19, 2004.
  • It is desirable that the cost of re-branding UIs and producing a continual stream of updates is minimal. This is enabled this by providing an efficient flow of information from the creative process through to the transmission of data to users.
  • A container, referred to as a parcel, is used for UIs, UI updates, and templates for 3rd party involvement. Parcels contain all the information necessary for a 3rd party to produce, test and deliver branded UIs and updates.
  • FIG. 4 shows a schematic depiction of the content toolset 200, which comprises scripting environment 220, test and simulation environment 230 and maintenance environment 240
  • The parcel process comprise five processing stages:
  • 1) The scripting environment 220 provides the means to design the template for one or more UIs and the update strategy for UIs based on that template.
  • 2) The maintenance environment 240 provides for rapid UI and update production in a well-controlled and guided environment that can be outsourced to content providers.
  • 3) The maintenance environment 240 ‘pre-flight’ functionality allows the deployment administrator to check and tune the UIs and updates that they receive from 3rd parties.
  • 4) The publishing component 110 provides management of UIs and updates at the deployment point, including the staging of new releases.
  • 5) The publishing component 110 enables the automatic generation of updates from live content feeds.
  • In a typical project, parcels are created within the scripting environment 220 for: a content provider to create re-branded UIs from a template, incorporating the same ‘feel’ but a different ‘look’; a content provider to create updates from a template, that provide a periodic, or user selected variation to UI content; or an ad agency to create updates from a template that promote new services on a periodic basis.
  • For all of these use cases, maintenance environment 240 is used to import the parcel, re-brand and reconfigure the content and create a new parcel for submission to the publishing component 110. In the design of the UI template, the following issues should be considered: which part of the UI can be re-banded; which features of a UI need to be reconfigured at re-branding or remotely; which part of the UI content may be updated; and if the UI is re-branded then can user select content feeds in use. The scripting environment 220 allows these strategies to be defined, and enables the maintenance environment 240 as the implementer of each instance of each strategy.
  • The main functions of the scripting environment 220 may comprise:
      • Defines menu structure and page map.
      • Defines the framework into which branding content is placed.
      • Defines the parts of the UI that are updateable.
      • Defines the parts of updates that are replaceable for re-branding.
      • Provides an interactive preview to assist editors
      • Provides a graphical code view of each UI layer
      • Allows drag and drop of resources into the interactive preview and code view.
      • Exports templates for specific re-branding or update construction tasks
      • Simulates UIs and updates on handset simulator.
      • Builds UIs and updates for testing on the real device.
      • Provides extended debugging tools to aid development.
  • Furthermore, the purpose of the maintenance environment 240 is to provide a designer and administrator's UI for the re-branding and maintenance of skins and updates, with the main functions comprising:
      • Re-branding UI templates
      • Populate updates with new content
      • Manage UI menu entries via updates
      • Translate UIs and updates for additional languages
      • Purpose strings and content for additional devices
      • Simulation of UIs deployed on handset simulator.
      • Build of UIs and updates for testing on a real device Rebranded UI
  • A parcel is generated by the scripting environment 220 which comprises a template UI or update for editing. Once editing is complete the parcel is saved in an ‘outbox’ ready for despatch to the maintenance environment 240 for publishing to the content server. The following ‘parcel’ functions are provided. The maintenance environment 240 can be used to edit/replace resources held within the parcel. Parcels can be exported to the simulation environment to test the performance of the UI or UI update on a mobile device.
  • An explorer is provided for the user to access these categories, with the user being able to change: any UIs or updates marked as visible or the resources within a UI or update that are marked as ‘replaceable’. When saved, a thumbnail of the ‘visible’ object is saved in the parcel, for identification use in the maintenance environment and for other services.
  • A parcel entry may be double clicked to launch an appropriate editor. (for example, an image resource would launch an image editor). All resources may have a text description/note inserted in the maintenance environment and displayed in the appropriate context in the maintenance environment. Lists of menu entries are handled as a special resource type with each entry presenting its own sub-catalogue of resources (for example—title, help string, image, roll-over image, URL and ringtone preview).
  • Many different UIs can be derived from a common base. Typically the common base would implement most of the interface itself, and Trigs derived from it would implement small variations on it, such as branding. A Triglet can be derived from a Trig, and it can override any of the resources from the parent Trig that it chooses to (optionally it may introduce its own resources). Note that “resources” here also refers to TrigML, so the behaviour and layout of a Trig can be modified by a Triglet just as easily as it replacing a single image or piece of text.
  • A Parcel may comprise one or more base Trigs (i.e. a Trig that is not derived from any other trig), one or more multiple Trigs derived from a base Trig, a plurality of triglets derived from any of the trigs and a plurality of triglets derived from other triglets.
  • The parcel format is an opaque binary format that stores all this information as serialized objects. The parcel may comprise a number of resources, such as images, text, URLs, update channels, ringtone files, wallpapers, native applications, etc. Each resource contains permission information as to how to view, edit, or delete the resource. Each resource furthermore contains meta information such as documentation and instructions that are relevant to that resource. Each Parcel tool either assumes a relevant role, or requires users to login as a particular role.
  • The nature of developing trigs is such that a number of people and/or groups of people could be involved in contributing to the final design and implementation of a Trig. Furthermore, the skill sets of these people require that a very simplified and controlled scheme be used to minimize the risk of unwitting damage to the Trig. A typical development workflow for a reasonably complex Trig could comprise:
      • UI Designers create the original UI structure. This design may be built using the maintenance environment to create the first versions of this UI.
      • A graphics designer creates the final graphics, and adds them to the design.
      • The areas of the UI dedicated to dynamic content that were identified in the original design need to be fleshed out.
      • Graphics for the dynamic update need to be finalised by a graphics designer.
      • Personalisation areas of the UI are then designed and implemented. This might be handled by a number of third-party content providers.
  • Parcels assist in the workflow described above because they contain the entire project in the single file, and this makes it easy to pass from one member of the team to the next. The Parcel can be re-targeted for the next stage of development by adding comments and instructions on the resources that need to be modified, and even setting the editability of other resources to restrict what can be changed. More complicated workflows can be supported by allowing Parcels to be forked, and separate development to happen in each fork of the Parcel. Merge tools allow the individual changes to be combined back into a single Parcel. A parcel may be implemented using the pickle module for the Python programming language.
  • The parcels may be used to develop trigs and/or triglets for mobile devices having different capabilities such as display size, RAM capacity. To simplify this, a number of hierarchies may be defined and the data resource or TrigML element classified within the hierarchies. When a trig or triglet is compiled from a parcel, the most appropriate resources or TrigML elements can be selected and complied for a particular device.
  • FIG. 5 shows a schematic depiction of a device 800 that comprises a user interface according to an embodiment of the present invention. The device comprises a display 810 that displays the user interface 815 and user interface means 820, that enable the user to interact with the user interface 815. A processor 830 executes the software that is stored within one or more storage means 840 and there may be provided one or more wireless communication interfaces 850, to enable communication with other devices and/or communication networks. One or more batteries 860 may be received to power the device, which may also comprise interfaces to receive electrical power and/or communication cables.
  • The nature of these components and interfaces will depend upon the nature of the device. It will be understood that such a user interface can be implemented within a mobile or cellular telephone handset, but it is also applicable to other portable devices such as digital cameras, personal digital organisers, digital music players, GPS navigators, portable gaming consoles, etc. Furthermore, it is also applicable to other devices that comprise a user interface, such as laptop or desktop computers.
  • The user interface means may comprise a plurality of buttons, such as a numerical or alpha-numerical keyboard, or a touch screen or similar. One or more storage devices may comprise a form of non-volatile memory, such as a memory card, so that the stored data is not lost if power is lost. ROM storage means may be provided to store data which does not need updating or changing. Some RAM may be provided for temporary storage as the faster response times support the caching of frequently accessed data. The device may also accept user removable memory cards and optionally hard disk drives may be used as a storage means. The storage means used will be determined by balancing the different requirements of device size, power consumption, the volume of storage required, etc.
  • Such a device may be implemented in conjunction with virtually any wireless communications network, for example second generation digital mobile telephone networks (i.e. GSM, D-AMPS), so-called 2.5G networks (i.e. GPRS, HSCSD, EDGE), third generation WCDMA or CDMA-2000 networks and improvements to and derivatives of these and similar networks. Within buildings and campuses other technologies such as Bluetooth, IrDa or wireless LANs (whether based on radio or optical systems) may also be used. USB and/or FireWire connectivity may be supplied for data synchronisation with other devices and/or for battery charging.
  • Computer software for implementing the methods and/or for configuring a device as described above may be provided on data carriers such as floppy disks, CD-ROMS. DVDs, non-volatile memory cards, etc.
  • This application claims the benefit of UK Patent Application number 0403709.9, filed Feb. 19, 2004, the contents of which are incorporated herein by reference.
    APPENDIX A
    Trigplayer Attributes UpdateState
    Actor Messages exit
    predial_mode on/off
    Events idle
    Launch Actor Attributes
    Messages browser url
    SMS Number
    message
    Camera
    Inbox
    Profiles
    missed_calls
    dialer number
    . . .
    native_app app_id
    url
    Events
    Install Actor Attributes
    Messages ringtone resource_path
    wallpaper resource_path
    Events
    Phone Actor Attributes Bluetooth
    IrDA
    Call
    GPRS
    UnreadSMS
    UnreadVoiceMail
    UnreadMsgs
    BatteryLevel
    SignalStrength
    Messages
    Events missed_call
    message_arrived
    voice_mail_arrived

Claims (15)

1. A method of provisioning a user interface to a device, the method comprising the steps of
a) creating a container, the container comprising: executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the container;
b) transmitting the container to one or more devices;
c) extracting the contents of the container at the or each device; and
d) executing the code to generate a user interface for the device.
2. A method according to claim 1, wherein the metadata comprise data determining access to the executable code and/or the or each content resource to prevent unauthorised access to the executable code and/or the or each content resource during step (a).
3. A method according to claim 1 or claim 2, wherein if during step a) the executable code and/or a content resource is altered, the metadata is updated accordingly.
4. A method according to any preceding claim wherein, the metadata relating to the or each content resources relates to one or more hierarchical classifications, the hierarchical classification(s) relating to the capabilities of a device.
5. A method according to any preceding claim, further comprising the step of
e) processing the container contents into a format for transmission to a device, step e) being performed subsequent to step a) and prior to step b).
6. A server for provisioning a user interface to one or more devices, the server comprising:
storage means to receive a data container;
editing means to enable the data container to be edited, in use the data container comprising executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the data container; and
transmission means for transmitting a data container to one or more devices.
7. A server according to claim 6, wherein the server further comprises a processing means configure, in use, to process a data container prior to transmission of a data container to one or more devices.
8. A data container comprising computer executable code for performing the method of any of claims 1 to 5.
9. A method of installing a user interface in a device, the method comprising the steps of:
a) receiving at a device a container over a communications network, the container comprising: executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the container;
b) extracting the contents of the container at the device; and
c) executing the code to generate a user interface for the device.
10. A method according to claim 9, wherein the metadata comprises data determining access to the executable code and/or the or each content resource to control access to the executable code and/or the or each content resource during step (b).
11. A method according to claim 10, wherein the access-determining metadata can be updated in response to receiving a control message from the communications network.
12. A data container comprising computer executable code for performing the method of any of claims 9 to 11.
13. A device comprising a display, a user interface, storage means, processing means and a communication interface, the device being configured, in use, to
receive a data container from a communications network via the communications interface;
store the data container in the storage means;
process the data container using the processing means to extract the contents of the data container, the data container comprising executable code for a user interface; one or more content resources for use in the user interface; and metadata relating to the or each content resource, the executable code, the or each content resource and the metadata being stored as serialised objects within the data container;
form a user interface in accordance with the extracted contents of the data container; and
display the user interface in the device display.
14. A device according to claim 13, wherein the metadata stored in the storage means comprises data determining access to the executable code and/or the or each content resource to control access to the executable code and/or the or each content resource.
15. A device according to claim 14, wherein the device is further configure, in use, to receive control commands from the communications network via the communications interface, the control commands updating the metadata that determines access to the code and/or content resource(s).
US10/598,167 2004-02-19 2005-02-18 Data Container for User Interface Content Data Abandoned US20070300217A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0403709A GB2411331A (en) 2004-02-19 2004-02-19 Rendering user interface using actor attributes
GB0403709.9 2004-02-19
PCT/GB2005/000610 WO2005081101A2 (en) 2004-02-19 2005-02-18 Data container for user interface content data

Publications (1)

Publication Number Publication Date
US20070300217A1 true US20070300217A1 (en) 2007-12-27

Family

ID=32040027

Family Applications (7)

Application Number Title Priority Date Filing Date
US10/598,167 Abandoned US20070300217A1 (en) 2004-02-19 2005-02-18 Data Container for User Interface Content Data
US10/598,172 Expired - Fee Related US8327289B2 (en) 2004-02-19 2005-02-21 Layered user interface
US10/598,171 Abandoned US20070266316A1 (en) 2004-02-19 2005-02-21 Display of Menu Items In a User Interface
US10/598,168 Active 2029-04-19 US8434016B2 (en) 2004-02-19 2005-02-21 Virtual file system
US10/598,169 Abandoned US20080037452A1 (en) 2004-02-19 2005-02-21 Method Supplying Content to a Device
US10/598,163 Abandoned US20080282142A1 (en) 2004-02-19 2005-02-21 Rendering a User Interface
US13/618,650 Expired - Fee Related US9454619B2 (en) 2004-02-19 2012-09-14 Layered user interface

Family Applications After (6)

Application Number Title Priority Date Filing Date
US10/598,172 Expired - Fee Related US8327289B2 (en) 2004-02-19 2005-02-21 Layered user interface
US10/598,171 Abandoned US20070266316A1 (en) 2004-02-19 2005-02-21 Display of Menu Items In a User Interface
US10/598,168 Active 2029-04-19 US8434016B2 (en) 2004-02-19 2005-02-21 Virtual file system
US10/598,169 Abandoned US20080037452A1 (en) 2004-02-19 2005-02-21 Method Supplying Content to a Device
US10/598,163 Abandoned US20080282142A1 (en) 2004-02-19 2005-02-21 Rendering a User Interface
US13/618,650 Expired - Fee Related US9454619B2 (en) 2004-02-19 2012-09-14 Layered user interface

Country Status (15)

Country Link
US (7) US20070300217A1 (en)
EP (7) EP1723520A2 (en)
JP (8) JP5282324B2 (en)
KR (6) KR101105177B1 (en)
CN (6) CN100462917C (en)
AR (6) AR048022A1 (en)
AU (6) AU2005215457A1 (en)
BR (6) BRPI0507701A (en)
CA (6) CA2555557A1 (en)
GB (1) GB2411331A (en)
IL (6) IL177208A0 (en)
PE (6) PE20060089A1 (en)
RU (6) RU2363039C2 (en)
TW (6) TW200622902A (en)
WO (7) WO2005081101A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070260674A1 (en) * 2006-05-02 2007-11-08 Research In Motion Limited Push framework for delivery of dynamic mobile content
US20070283280A1 (en) * 2004-02-19 2007-12-06 Butlin Stefan G Virtual File System
US20080010631A1 (en) * 2006-06-29 2008-01-10 Augusta Systems, Inc. System and Method for Deploying and Managing Intelligent Nodes in a Distributed Network
US20090094363A1 (en) * 2006-08-07 2009-04-09 Huawei Technologies Co., Ltd. Method, system, client and server for locating operation nodes in communication system
US20100251084A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Input content to application via web browser
US20110086697A1 (en) * 2009-10-14 2011-04-14 Colin Fong Gaming system and a method of gaming
US20120159308A1 (en) * 2010-12-17 2012-06-21 Erick Tseng Customization of Mobile Applications Using Web-Based Technology
US20140033198A1 (en) * 2009-04-08 2014-01-30 Adobe Systems Incorporated Extensible distribution/update architecture
US8996487B1 (en) * 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US9706006B2 (en) * 2011-07-19 2017-07-11 Infosys Limited System and method of context aware adaption of content for a mobile device
US9830307B1 (en) * 2014-12-11 2017-11-28 Amazon Technologies, Inc. Ahead of time compilation of content pages
US11487766B2 (en) * 2020-12-18 2022-11-01 Microsoft Technology Licensing, Llc Operation fragmentation with metadata serialization in query processing pushdowns
US11797523B2 (en) 2020-12-18 2023-10-24 Microsoft Technology Licensing, Llc Schema and data modification concurrency in query processing pushdown

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE412480B (en) * 1977-08-09 1980-03-03 Tornqvist Peter Johan Torsten DEVICE FOR VIEWING A NUMBER OF PICTURES, NOTIFY THE NOTICE
IL134035A0 (en) 2000-01-13 2001-04-30 Ronen Daniel A device, system and method for remote push-publishing of content onto display screens of mobile devices including a screen saver application
US7487444B2 (en) 2002-03-19 2009-02-03 Aol Llc Reformatting columns of content for display
US7610561B2 (en) 2005-05-31 2009-10-27 Qualcomm Incorporated Fine-grained control of z-order elements in a presentation
US20070027971A1 (en) * 2005-07-26 2007-02-01 Sunil Marolia Device management network with notifications comprising multiple choice prompts
GB0516763D0 (en) * 2005-08-16 2005-09-21 Ibm A method,system and computer program product for rendering a graphical user interface
US9998585B2 (en) * 2005-10-05 2018-06-12 SITO Mobile R&D IP, LLC Content selection and delivery of complementary information
US8081955B2 (en) 2005-10-20 2011-12-20 Research In Motion Limited Managing content to constrained devices
IL173663A0 (en) 2006-02-12 2006-08-01 Celltick Technologies Ltd System and method for displaying personalized content on personal cellular telecommunication devices
US20070195105A1 (en) * 2006-02-17 2007-08-23 Anu Koberg Dynamic wallpaper on mobile communication device
GB0702599D0 (en) 2006-05-05 2007-03-21 Omnifone Ltd Data synchronization
IL176274A0 (en) 2006-06-13 2007-05-15 Celltick Technologies Ltd Web content distribution to personal cellular telecommunications devices
JP4761553B2 (en) * 2006-08-03 2011-08-31 キヤノン株式会社 Presentation device and control method
US8433729B2 (en) 2006-09-29 2013-04-30 Sap Ag Method and system for automatically generating a communication interface
US7853691B2 (en) * 2006-11-29 2010-12-14 Broadcom Corporation Method and system for securing a network utilizing IPsec and MACsec protocols
IL180168A0 (en) 2006-12-19 2007-06-03 Celltick Technologies Ltd Mobile advertising packages for displaying advertisement display messages on personal cellular telecommunications devices
IL180542A0 (en) 2007-01-04 2007-07-04 Celltick Technologies Ltd Mobile advertising on personal cellular telecommunications devices
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US8656311B1 (en) * 2007-01-07 2014-02-18 Apple Inc. Method and apparatus for compositing various types of content
US8813100B1 (en) 2007-01-07 2014-08-19 Apple Inc. Memory management
US7872652B2 (en) * 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US8225227B2 (en) 2007-01-19 2012-07-17 Microsoft Corporation Managing display of user interfaces
CN101291402B (en) * 2007-04-18 2011-06-15 深圳Tcl新技术有限公司 Method and device for combined using functional interface images
US8762984B2 (en) * 2007-05-31 2014-06-24 Microsoft Corporation Content distribution infrastructure
IL184963A0 (en) 2007-07-31 2008-01-06 Celltick Technologies Ltd Data collection and reporting of user activity of users of personal cellular telecommunications devices
EP2188734A4 (en) * 2007-08-08 2014-09-24 Innopath Software Inc Push and clone configuration management for mobile devices
US8884981B2 (en) * 2007-09-04 2014-11-11 Apple Inc. Dynamically reconfigurable graphics layer system and method
US20090119375A1 (en) * 2007-11-05 2009-05-07 Research In Motion Limited Method and system for optimizing delivery of mobile content using differential metadata updates
US20090150481A1 (en) * 2007-12-08 2009-06-11 David Garcia Organizing And Publishing Assets In UPnP Networks
US20090150570A1 (en) * 2007-12-07 2009-06-11 Bo Tao Sharing Assets Between UPnP Networks
US20090150520A1 (en) * 2007-12-07 2009-06-11 David Garcia Transmitting Assets In UPnP Networks To Remote Servers
US20090150480A1 (en) * 2007-12-08 2009-06-11 Xiyuan Xia Publishing Assets Of Dynamic Nature In UPnP Networks
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8365203B2 (en) * 2008-03-20 2013-01-29 Willflow Limited Method for creating a native application for mobile communications device in real-time
JP2009267526A (en) * 2008-04-22 2009-11-12 Sharp Corp Method and device for displaying a lot of content as list
US8250477B1 (en) * 2008-11-04 2012-08-21 Sensei, Inc. Mobile client application for managing user interface components
US20100011135A1 (en) * 2008-07-10 2010-01-14 Apple Inc. Synchronization of real-time media playback status
KR101297519B1 (en) * 2008-08-08 2013-08-16 삼성전자주식회사 Method and system for submiting user content in dynamic contents delivery service
US8893035B2 (en) * 2008-09-17 2014-11-18 Accenture Global Services Limited Method, system and graphical user interface for configuring a simulator to simulate a plurality of devices
US8825462B2 (en) 2008-09-17 2014-09-02 Accenture Global Services Limited Method and system for simulating a plurality of devices
US20100131513A1 (en) 2008-10-23 2010-05-27 Lundberg Steven W Patent mapping
US8677198B2 (en) 2009-03-04 2014-03-18 Alcatel Lucent Method and apparatus for system testing using multiple processors
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8566044B2 (en) * 2009-03-16 2013-10-22 Apple Inc. Event recognition
KR101053568B1 (en) * 2009-04-17 2011-08-03 가락전자 주식회사 How to operate PAS button
US8595236B2 (en) * 2009-11-05 2013-11-26 International Business Machines Corporation Searching existing user interfaces to enable design, development and provisioning of user interfaces
EP2333628B1 (en) * 2009-12-04 2013-12-04 Umicore AG & Co. KG A system and method for system automation based on interpreting a tree sequence of operations
TWI410867B (en) * 2010-03-24 2013-10-01 Acer Inc Method for installing application software
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US20120036494A1 (en) * 2010-08-06 2012-02-09 Genwi, Inc. Web-based cross-platform wireless device application creation and management systems, and methods therefor
US8881056B2 (en) * 2010-08-30 2014-11-04 Sap Se Dynamic view computation and display
US9521174B2 (en) * 2010-10-19 2016-12-13 Paul Matthew Davidge Video script interpreter platform with cooperating client and server
KR101864333B1 (en) * 2011-03-21 2018-07-05 삼성전자 주식회사 Supporting Method For Icon Change Function And Portable Device thereof
US8713056B1 (en) 2011-03-30 2014-04-29 Open Text S.A. System, method and computer program product for efficient caching of hierarchical items
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9904726B2 (en) 2011-05-04 2018-02-27 Black Hills IP Holdings, LLC. Apparatus and method for automated and assisted patent claim mapping and expense planning
US9319406B2 (en) 2011-07-12 2016-04-19 Apple Inc. System and method for linking pre-installed software to a user account on an online store
US20130019237A1 (en) * 2011-07-12 2013-01-17 Apple Inc. System and method for linking pre-installed software to a user account on an online store
AU2012302021B2 (en) 2011-08-29 2016-05-19 Aibuy, Inc. Containerized software for virally copying from one endpoint to another
US20130085946A1 (en) 2011-10-03 2013-04-04 Steven W. Lundberg Systems, methods and user interfaces in a patent management system
US8711116B2 (en) * 2011-10-17 2014-04-29 Facebook, Inc. Navigating applications using side-mounted touchpad
US10051289B2 (en) 2011-11-04 2018-08-14 Qualcomm Incorporated Adaptive center band offset filter for video coding
US20130132302A1 (en) * 2011-11-18 2013-05-23 Black Hills Ip Holdings, Llc Systems, methods and interfaces in a patent portfolio management system
US8856729B2 (en) 2011-12-23 2014-10-07 Airstrip Ip Holdings, Llc Systems and methods for developing multi-platform applications for computing devices
JP5230827B1 (en) * 2012-01-25 2013-07-10 キヤノン株式会社 Information processing apparatus, method thereof, and program
US10255121B1 (en) * 2012-02-21 2019-04-09 EMC IP Holding Company LLC Stackable system event clearinghouse for cloud computing
US8924799B2 (en) * 2012-04-16 2014-12-30 Yahoo! Inc. Method and system for providing a predefined content to a user
US20130286042A1 (en) * 2012-04-26 2013-10-31 Akihiko Ikeda Tile icon display
CN103455475B (en) * 2012-06-01 2016-12-14 腾讯科技(深圳)有限公司 Composition method, equipment and system
US20140035945A1 (en) * 2012-08-03 2014-02-06 Todd Anglin Computing device applications with an automatically adapting user interface
US11461862B2 (en) 2012-08-20 2022-10-04 Black Hills Ip Holdings, Llc Analytics generation for patent portfolio management
US9754560B2 (en) * 2012-08-20 2017-09-05 Open Invention Network, Llc Pooling and tiling data images from memory to draw windows on a display device
US20150293938A1 (en) * 2012-09-27 2015-10-15 Hewlett-Packard Development Company, L.P. Replacing virtual file system data structures deleted by a forced unmount
US9229632B2 (en) 2012-10-29 2016-01-05 Facebook, Inc. Animation sequence associated with image
US9910833B2 (en) 2012-11-13 2018-03-06 International Business Machines Corporation Automatically rendering web and/or hybrid applications natively in parallel
US9507483B2 (en) * 2012-11-14 2016-11-29 Facebook, Inc. Photographs with location or time information
US9245312B2 (en) 2012-11-14 2016-01-26 Facebook, Inc. Image panning and zooming effect
US9684935B2 (en) 2012-11-14 2017-06-20 Facebook, Inc. Content composer for third-party applications
US9235321B2 (en) 2012-11-14 2016-01-12 Facebook, Inc. Animation sequence associated with content item
US9547627B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Comment presentation
US9081410B2 (en) 2012-11-14 2015-07-14 Facebook, Inc. Loading content on electronic device
US9606695B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Event notification
US9218188B2 (en) 2012-11-14 2015-12-22 Facebook, Inc. Animation sequence associated with feedback user-interface element
US9507757B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Generating multiple versions of a content item for multiple platforms
US9696898B2 (en) 2012-11-14 2017-07-04 Facebook, Inc. Scrolling through a series of content items
US9547416B2 (en) 2012-11-14 2017-01-17 Facebook, Inc. Image presentation
US9607289B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content type filter
US9606717B2 (en) 2012-11-14 2017-03-28 Facebook, Inc. Content composer
CN102932483B (en) * 2012-11-19 2014-08-13 西北大学 Lightweight dynamic resource definition method
KR20140080216A (en) * 2012-12-20 2014-06-30 에스케이하이닉스 주식회사 Semiconductor memory system and operation method thereof
US20140282143A1 (en) * 2013-03-14 2014-09-18 Michael Matas Modifying Content of Components in a User Interface
US10229258B2 (en) 2013-03-27 2019-03-12 Samsung Electronics Co., Ltd. Method and device for providing security content
WO2014157893A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing a private page
WO2014157885A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for providing menu interface
WO2014157894A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Display apparatus displaying user interface and method of providing the user interface
US9996246B2 (en) 2013-03-27 2018-06-12 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
KR102164454B1 (en) * 2013-03-27 2020-10-13 삼성전자주식회사 Method and device for providing a private page
WO2014157897A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for switching tasks
WO2014157908A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Device and method for displaying execution result of application
WO2014157886A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for executing application
US9767190B2 (en) 2013-04-23 2017-09-19 Black Hills Ip Holdings, Llc Patent claim scope evaluator
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9710440B2 (en) * 2013-08-21 2017-07-18 Microsoft Technology Licensing, Llc Presenting fixed format documents in reflowed format
KR102184269B1 (en) * 2013-09-02 2020-11-30 삼성전자 주식회사 Display apparatus, portable apparatus and method for displaying a screen thereof
US9792354B2 (en) * 2013-09-30 2017-10-17 Microsoft Technology Licensing, Llc Context aware user interface parts
CN103530338B (en) * 2013-10-01 2017-02-15 北界创想(北京)软件有限公司 Frame for carrying out page rendering on calculation equipment and page generation method
WO2015061758A1 (en) * 2013-10-24 2015-04-30 Ryan Alexander Symbol matrix engine
US9537903B2 (en) 2013-10-29 2017-01-03 At&T Mobility Ii Llc Method and apparatus for communicating between communication devices
CN103616992B (en) 2013-11-13 2017-10-17 华为技术有限公司 Application control method and device
CN103914223B (en) * 2014-03-21 2018-02-09 海尔集团公司 The generation method and device at terminal applies interface
CN105095216A (en) * 2014-04-22 2015-11-25 深圳市志友企业发展促进中心 Data assembling method and device and resource communication system
US11514228B2 (en) 2014-05-23 2022-11-29 Microsoft Technology Licensing, Llc Guides on a content generation system
CN104090787A (en) * 2014-06-25 2014-10-08 可牛网络技术(北京)有限公司 Starting method and starting device for home page of application software
CN104123376B (en) * 2014-07-29 2018-05-01 广东能龙教育股份有限公司 A kind of intelligent text collecting method and system based on row template
US9591120B2 (en) 2014-08-15 2017-03-07 Xiaomi Inc. Method and device for adding application badge
CN104238875B (en) * 2014-08-15 2018-07-24 小米科技有限责任公司 Application program footmark adding method and device
US9626336B2 (en) * 2014-08-22 2017-04-18 Microsoft Technology Licensing, Llc Remote management of a graphical user interface
US9965452B2 (en) * 2014-09-04 2018-05-08 Home Box Office, Inc. Pre-children in a user interface tree
US10007493B1 (en) * 2014-12-30 2018-06-26 EMC IP Holding Company LLC Event based validation
WO2016141016A1 (en) * 2015-03-03 2016-09-09 Olio Devices, Inc. System and method for automatic third party user interface
US10747511B2 (en) * 2015-04-28 2020-08-18 Microsoft Technology Licensing, Llc Compiler optimization of coroutines
US20170043459A1 (en) * 2015-08-13 2017-02-16 Raytheon Company Compliant fastener starter for simultaneous hardware installation
US10270671B2 (en) 2015-09-22 2019-04-23 Microsoft Technology Licensing, Llc External process user interface isolation and monitoring
US10497079B2 (en) * 2015-10-08 2019-12-03 Toshiba Client Solutions CO., LTD. Electronic device and method for managing image
CN106611581A (en) * 2015-10-22 2017-05-03 小米科技有限责任公司 A content display method and apparatus
CN106708495B (en) * 2015-11-18 2021-05-07 优信拍(北京)信息科技有限公司 Page display method and device based on mobile terminal
US10321167B1 (en) 2016-01-21 2019-06-11 GrayMeta, Inc. Method and system for determining media file identifiers and likelihood of media file relationships
US10176080B2 (en) * 2016-09-19 2019-01-08 Grand Rounds, Inc. Methods and systems for content management and testing
CN106648743B (en) * 2016-10-19 2021-03-02 广州视源电子科技股份有限公司 Terminal initialization method and device
US10719492B1 (en) 2016-12-07 2020-07-21 GrayMeta, Inc. Automatic reconciliation and consolidation of disparate repositories
US10769679B2 (en) * 2017-01-25 2020-09-08 Crackle, Inc. System and method for interactive units within virtual reality environments
JP6975536B2 (en) * 2017-01-26 2021-12-01 株式会社平和 Pachinko machine
EP3399411A1 (en) * 2017-05-04 2018-11-07 Volvo Car Corporation Method and system for fault handling during remote installation of software in a vehicle
CN107479982B (en) * 2017-07-03 2020-01-31 福建网龙计算机网络信息技术有限公司 data synchronization method and terminal
CN109254807A (en) * 2018-09-26 2019-01-22 四川长虹电器股份有限公司 The method of two-page separation function is realized in a kind of ios system
CN109324792B (en) * 2018-10-09 2022-03-11 深圳点猫科技有限公司 Automatic route construction method based on programming language and electronic equipment
CN109558323B (en) * 2018-11-30 2022-04-12 百度在线网络技术(北京)有限公司 System, method and apparatus for debugging pages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030120667A1 (en) * 2001-12-20 2003-06-26 Yeon Jeong Jeong Apparatus for processing method-embedded content and method thereof
US7496645B2 (en) * 2001-10-18 2009-02-24 Hewlett-Packard Development Company, L.P. Deployment of business logic software and data content onto network servers

Family Cites Families (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2157623C (en) 1994-09-20 1999-12-21 Lars Stig Sorensen Method and apparatus for dynamic radio communication menu
US5694561A (en) 1994-12-12 1997-12-02 Microsoft Corporation Method and system for grouping and manipulating windows
US6392640B1 (en) 1995-04-18 2002-05-21 Cognitive Research & Design Corp. Entry of words with thumbwheel by disambiguation
US6829368B2 (en) 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
JPH09223062A (en) * 1996-02-16 1997-08-26 Fuji Xerox Co Ltd Customization method for service offering form and server device applicable to execution of the customization method
JPH09222974A (en) * 1996-02-16 1997-08-26 Fuji Xerox Co Ltd Language interpretation display method, device and system using the same
EP0794647A1 (en) * 1996-03-06 1997-09-10 Koninklijke Philips Electronics N.V. Telephone with a display and menu management method for the same
US7685426B2 (en) * 1996-05-07 2010-03-23 Digimarc Corporation Managing and indexing content on a network with image bookmarks and digital watermarks
JP3977910B2 (en) * 1997-12-19 2007-09-19 松下電器産業株式会社 User interface screen display device and user interface screen display method
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6300947B1 (en) 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
EP0984631A1 (en) 1998-09-04 2000-03-08 THOMSON multimedia Apparatus and method for executing interactive TV applications on set top units
US6678891B1 (en) 1998-11-19 2004-01-13 Prasara Technologies, Inc. Navigational user interface for interactive television
SE521472C2 (en) * 1999-03-16 2003-11-04 Ericsson Telefon Ab L M Portable communication device with dynamic menu
JP2000299718A (en) 1999-04-13 2000-10-24 Matsushita Electric Ind Co Ltd Portable telephone and audio apparatus
CN1282313C (en) * 1999-05-13 2006-10-25 松下电器产业株式会社 Information terminal device
EP1069500A1 (en) * 1999-07-12 2001-01-17 International Business Machines Corporation Downloadable user-interface
JP2001027944A (en) * 1999-07-14 2001-01-30 Fujitsu Ltd Device having menu interface and program recording medium
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
ATE243334T1 (en) * 1999-12-08 2003-07-15 Sun Microsystems Inc METHOD AND SYSTEM FOR CONFIGURATION OF COMPONENTS ISSUEABLE IN A NETWORK
JP2001188702A (en) 1999-12-28 2001-07-10 Hitachi Ltd Distributed file system and file operating method
US6757291B1 (en) 2000-02-10 2004-06-29 Simpletech, Inc. System for bypassing a server to achieve higher throughput between data network and data storage system
AU2001237017A1 (en) 2000-02-17 2001-08-27 Digimarc Corporation Watermark encoder and decoder enabled software and devices
GB2360429A (en) * 2000-03-16 2001-09-19 Ibm Navigation manager for navigating a hierarchical user interface represenation
US6763382B1 (en) * 2000-03-17 2004-07-13 Sun Microsystems, Inc. Method and apparatus for demand based paging algorithm
US20050091576A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Programming interface for a computer platform
US6834312B2 (en) 2000-05-02 2004-12-21 Cadopener.Com 11C Method and apparatus for delivery of data over a network
AUPQ808700A0 (en) 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
GB0017023D0 (en) * 2000-07-12 2000-08-30 Ibm Knowledge sharing between heterogeneous devices
JP2002032331A (en) * 2000-07-13 2002-01-31 Cross Head Kk System and method for contents distribution, copying machine having compound functions for contents distribution and user interface for copying machine having compound functions and portable information terminal, etc., used for the system
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
US7190976B2 (en) 2000-10-02 2007-03-13 Microsoft Corporation Customizing the display of a mobile computing device
KR100354780B1 (en) 2000-10-06 2002-10-05 엘지전자주식회사 Menu embodiment method for mobile phone
US6753892B2 (en) * 2000-11-29 2004-06-22 International Business Machines Corporation Method and data processing system for presenting items in a menu
US6996800B2 (en) * 2000-12-04 2006-02-07 International Business Machines Corporation MVC (model-view-controller) based multi-modal authoring tool and development environment
US7596791B2 (en) * 2000-12-19 2009-09-29 Emc Corporation Methods and techniques for delivering rich Java applications over thin-wire connections with high performance and scalability
US20020151327A1 (en) * 2000-12-22 2002-10-17 David Levitt Program selector and guide system and method
GB0100753D0 (en) 2001-01-11 2001-02-21 Bate Matthew Data system
US7073130B2 (en) * 2001-01-31 2006-07-04 Microsoft Corporation Methods and systems for creating skins
GB2377784B (en) 2001-02-12 2003-11-05 Altio Ltd A presentation server which enables a client device to run a network based application
JP3881179B2 (en) * 2001-02-14 2007-02-14 三菱電機株式会社 User interface design device
US7155681B2 (en) * 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020165999A1 (en) 2001-03-07 2002-11-07 Ajile Systems, Inc. Apparatus and method for interfacing hardware events with software events
DE20104839U1 (en) * 2001-03-20 2002-08-22 Agere Systems Guardian Corp., Orlando, Fla. Mobile phone with a device for storing downloaded data
JP4187948B2 (en) * 2001-04-27 2008-11-26 大日本印刷株式会社 Data input screen design method and its support system
JP2002342148A (en) * 2001-05-11 2002-11-29 Sony Corp Server and method for providing virtual file system, file registering method, file registration program and program storage medium
JP3638884B2 (en) 2001-05-15 2005-04-13 株式会社スーパーインデックス Individual information management system, individual information management method, and individual information management program
US6714778B2 (en) * 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
US7010758B2 (en) 2001-05-21 2006-03-07 Leap Wireless International, Inc. Dynamically defined context sensitive jump menu
EP1262939B1 (en) 2001-05-31 2012-02-01 Nokia Corporation Method and apparatus for updating a frame buffer with reduced power consumption
KR20010070863A (en) 2001-06-14 2001-07-27 유선진 A computr network system and method for supplying a fitness education contents using portable information terminal
US6690395B2 (en) * 2001-06-25 2004-02-10 Dbtel Incorporated Progressively rolling animation display method on cellular phones
JP3818091B2 (en) * 2001-06-29 2006-09-06 東陶機器株式会社 Construction structure of water supply pipe for seat-type toilet
US20030013483A1 (en) * 2001-07-06 2003-01-16 Ausems Michiel R. User interface for handheld communication device
JP2003032654A (en) 2001-07-16 2003-01-31 Jisedai Joho Hoso System Kenkyusho:Kk Method and device for generating and presenting program associated contents
US8418065B2 (en) * 2001-07-16 2013-04-09 Nuance Communications, Inc. Method of and system for dynamically controlling during run time a multifunction peripheral (MFP) touch panel user interface (UI) from an external remote network-connected computer
US7234111B2 (en) * 2001-09-28 2007-06-19 Ntt Docomo, Inc. Dynamic adaptation of GUI presentations to heterogeneous device platforms
US6957392B2 (en) * 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
JP4558255B2 (en) * 2002-01-28 2010-10-06 三菱電機インフォメーションテクノロジー株式会社 How to download display data to the emulator terminal
EP1333646A1 (en) 2002-01-30 2003-08-06 Koninklijke KPN N.V. Access provider and server for offering an internet portal having a menu
GB2384878A (en) * 2002-01-31 2003-08-06 Hewlett Packard Co Authoring media content for dissemination over a network accessible by a variety of device types
KR100861161B1 (en) 2002-02-06 2008-09-30 디지털 프로세스 가부시끼가이샤 Computer-readable record medium for storing a three-dimensional displaying program, three-dimensional displaying device, and three-dimensional displaying method
US7363035B2 (en) * 2002-02-07 2008-04-22 Qualcomm Incorporated Method and apparatus for providing content to a mobile terminal
WO2003067427A2 (en) * 2002-02-07 2003-08-14 British Telecommunications Public Limited Company Graphical user interface
JP2003303152A (en) * 2002-02-08 2003-10-24 Matsushita Electric Ind Co Ltd Content transmission system
US7822806B2 (en) 2002-02-15 2010-10-26 Honeywell International Inc. Real-time data interface and method for browsers and the like
KR100475432B1 (en) * 2002-02-26 2005-03-10 삼성전자주식회사 method for design modification of Graphic User Interface and recorded media thereof
US6850255B2 (en) * 2002-02-28 2005-02-01 James Edward Muschetto Method and apparatus for accessing information, computer programs and electronic communications across multiple computing devices using a graphical user interface
WO2003077140A1 (en) * 2002-03-04 2003-09-18 Peter Thacker A method and system for publishing and accessing rich content via a wireless device
JP2003271508A (en) * 2002-03-14 2003-09-26 Ntt Comware Corp Contents conversion system for portable terminal and contents conversion method
US20030182626A1 (en) * 2002-03-22 2003-09-25 Eran Davidov On-demand creation of MIDlets
GB2402781A (en) * 2002-03-22 2004-12-15 Sun Microsystems Inc Mobile download system
AU2003223090A1 (en) 2002-04-30 2003-11-17 Telmap Ltd. Template-based map distribution system
DK1369842T3 (en) * 2002-05-08 2009-05-11 Ipoc Technologies Ag Wireless device for viewing multimedia
US6973457B1 (en) * 2002-05-10 2005-12-06 Oracle International Corporation Method and system for scrollable cursors
JP2004005143A (en) * 2002-05-31 2004-01-08 D M L:Kk User interface system
DE10225316A1 (en) * 2002-06-06 2003-12-18 Philips Intellectual Property User interface display optimization method in which display window sizes or objects are optimized according to the their content, available space and selected preference rules
US7441047B2 (en) * 2002-06-17 2008-10-21 Microsoft Corporation Device specific pagination of dynamically rendered data
JP2004021893A (en) * 2002-06-20 2004-01-22 Sony Corp Portable information communication terminal, program and recording medium recording program
US20040046789A1 (en) * 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
US20040075693A1 (en) * 2002-10-21 2004-04-22 Moyer Timothy A. Compact method of navigating hierarchical menus on an electronic device having a small display screen
US7457822B1 (en) * 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US7412658B2 (en) 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US20040158638A1 (en) * 2003-02-06 2004-08-12 Peters Jay R. St. Providing static and dynamic event data
US20050028105A1 (en) * 2003-02-28 2005-02-03 Scott Musson Method for entitling a user interface
US8285727B2 (en) * 2003-03-06 2012-10-09 Thomson Licensing S.A. Simplified searching for media services using a control device
US7500198B2 (en) * 2003-04-25 2009-03-03 Motorola, Inc. Method and apparatus for modifying skin and theme screens on a communication product
US20050021935A1 (en) * 2003-06-18 2005-01-27 Openwave Systems Inc. Method and system for downloading configurable user interface elements over a data network
US20040261031A1 (en) 2003-06-23 2004-12-23 Nokia Corporation Context dependent auxiliary menu elements
EP1660985A4 (en) * 2003-09-02 2008-01-02 Research In Motion Ltd Method and data structure for user interface customization
CA2539465C (en) * 2003-09-17 2012-12-04 Research In Motion Limited System and method for management of mutating applications
US7480869B2 (en) 2003-10-31 2009-01-20 International Business Machines Corporation Method and apparatus for displaying status of hierarchical operations
KR100617827B1 (en) * 2003-11-14 2006-08-28 삼성전자주식회사 Apparatus and method for displaying menu of hierarchy structures in mobile terminal equipment
US20050277432A1 (en) * 2003-11-26 2005-12-15 Viana Rodrigo B D Dynamic display generation for mobile communication devices
US7113981B2 (en) * 2003-12-29 2006-09-26 Mixxer, Inc. Cellular telephone download locker
GB2411331A (en) * 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US7480135B2 (en) * 2005-12-29 2009-01-20 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Computer enclosure with simple drive bracket
WO2007082190A2 (en) 2006-01-06 2007-07-19 Qualcomm Incorporated Apparatus and methods of selective collection and selective presentation of content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496645B2 (en) * 2001-10-18 2009-02-24 Hewlett-Packard Development Company, L.P. Deployment of business logic software and data content onto network servers
US20030120667A1 (en) * 2001-12-20 2003-06-26 Yeon Jeong Jeong Apparatus for processing method-embedded content and method thereof

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327289B2 (en) 2004-02-19 2012-12-04 Qualcomm Incorporated Layered user interface
US9454619B2 (en) 2004-02-19 2016-09-27 Qualcomm Incorporated Layered user interface
US20070288856A1 (en) * 2004-02-19 2007-12-13 Butlin Stefan G Layered User Interface
US8434016B2 (en) 2004-02-19 2013-04-30 Qualcomm Incorporated Virtual file system
US20070283280A1 (en) * 2004-02-19 2007-12-06 Butlin Stefan G Virtual File System
US20070260674A1 (en) * 2006-05-02 2007-11-08 Research In Motion Limited Push framework for delivery of dynamic mobile content
US20080010631A1 (en) * 2006-06-29 2008-01-10 Augusta Systems, Inc. System and Method for Deploying and Managing Intelligent Nodes in a Distributed Network
US8095923B2 (en) * 2006-06-29 2012-01-10 Augusta Systems, Inc. System and method for deploying and managing intelligent nodes in a distributed network
US8356094B2 (en) * 2006-08-07 2013-01-15 Huawei Technologies Co., Ltd. Method, system, client and server for locating operation nodes in communication system
US20130103799A1 (en) * 2006-08-07 2013-04-25 Huawei Technologies Co., Ltd. Method, system, client and server for locating operation nodes in communication system
US9009306B2 (en) * 2006-08-07 2015-04-14 Huawei Technologies Co., Ltd. Method, system, client and server for locating operation nodes in communication system
US20090094363A1 (en) * 2006-08-07 2009-04-09 Huawei Technologies Co., Ltd. Method, system, client and server for locating operation nodes in communication system
US8996487B1 (en) * 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US9436482B2 (en) * 2009-03-25 2016-09-06 Microsoft Technology Licensing, Llc Input content to application via web browser
US20100251084A1 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Input content to application via web browser
US20140033198A1 (en) * 2009-04-08 2014-01-30 Adobe Systems Incorporated Extensible distribution/update architecture
US10025573B2 (en) * 2009-04-08 2018-07-17 Adobe Systems Incorporated Extensible distribution/update architecture
US8545310B2 (en) 2009-10-14 2013-10-01 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming including revealing what would have been won
US20110086697A1 (en) * 2009-10-14 2011-04-14 Colin Fong Gaming system and a method of gaming
US10354480B2 (en) 2009-10-14 2019-07-16 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
US9026905B2 (en) * 2010-12-17 2015-05-05 Facebook, Inc. Customization of mobile applications using web-based technology
US20150212990A1 (en) * 2010-12-17 2015-07-30 Facebook, Inc. Customization of Mobile Applications Using Web-Based Technology
US20120159308A1 (en) * 2010-12-17 2012-06-21 Erick Tseng Customization of Mobile Applications Using Web-Based Technology
US9740670B2 (en) * 2010-12-17 2017-08-22 Facebook, Inc. Customization of mobile applications using web-based technology
US9706006B2 (en) * 2011-07-19 2017-07-11 Infosys Limited System and method of context aware adaption of content for a mobile device
US9830307B1 (en) * 2014-12-11 2017-11-28 Amazon Technologies, Inc. Ahead of time compilation of content pages
US11487766B2 (en) * 2020-12-18 2022-11-01 Microsoft Technology Licensing, Llc Operation fragmentation with metadata serialization in query processing pushdowns
US11797523B2 (en) 2020-12-18 2023-10-24 Microsoft Technology Licensing, Llc Schema and data modification concurrency in query processing pushdown

Also Published As

Publication number Publication date
JP2007523417A (en) 2007-08-16
PE20060037A1 (en) 2006-02-11
IL177205A0 (en) 2006-12-10
CN1989762A (en) 2007-06-27
CN1914596A (en) 2007-02-14
CN1922609A (en) 2007-02-28
RU2006133374A (en) 2008-03-27
KR20070007106A (en) 2007-01-12
IL177209A0 (en) 2006-12-10
EP1721269A1 (en) 2006-11-15
IL177207A0 (en) 2006-12-10
IL177208A0 (en) 2006-12-10
US20130063479A1 (en) 2013-03-14
CN1922608A (en) 2007-02-28
US20070266316A1 (en) 2007-11-15
CA2556294A1 (en) 2005-09-01
TW200602953A (en) 2006-01-16
GB0403709D0 (en) 2004-03-24
WO2005081101A2 (en) 2005-09-01
JP2012155728A (en) 2012-08-16
KR101146159B1 (en) 2012-05-25
JP4891094B2 (en) 2012-03-07
KR20070008564A (en) 2007-01-17
KR20070018043A (en) 2007-02-13
PE20060087A1 (en) 2006-03-20
PE20060036A1 (en) 2006-03-01
PE20060089A1 (en) 2006-03-23
TW200540699A (en) 2005-12-16
US20080037452A1 (en) 2008-02-14
TW200622901A (en) 2006-07-01
BRPI0507701A (en) 2007-07-03
KR20060127207A (en) 2006-12-11
RU2006133387A (en) 2008-03-27
WO2005081551A2 (en) 2005-09-01
EP1723517A2 (en) 2006-11-22
TW200622727A (en) 2006-07-01
WO2005081094A2 (en) 2005-09-01
EP2249250A3 (en) 2010-12-08
EP2249250A2 (en) 2010-11-10
AU2005214404A1 (en) 2005-09-01
WO2005081101A3 (en) 2006-03-23
RU2006133371A (en) 2008-03-27
KR101105176B1 (en) 2012-01-12
WO2005081130A1 (en) 2005-09-01
CN1989762B (en) 2011-03-02
BRPI0507709A (en) 2007-07-03
CA2555557A1 (en) 2005-09-01
US8434016B2 (en) 2013-04-30
US20070288856A1 (en) 2007-12-13
RU2006133385A (en) 2008-03-27
AR047814A1 (en) 2006-02-22
AR047885A1 (en) 2006-03-01
RU2363039C2 (en) 2009-07-27
AR047888A1 (en) 2006-03-01
CA2555995A1 (en) 2005-09-01
EP1721241A2 (en) 2006-11-15
EP1723520A2 (en) 2006-11-22
TW200622902A (en) 2006-07-01
PE20060088A1 (en) 2006-03-20
JP5282324B2 (en) 2013-09-04
JP2007523419A (en) 2007-08-16
JP2007535025A (en) 2007-11-29
AU2005214405A1 (en) 2005-09-01
CN1922573A (en) 2007-02-28
AR048022A1 (en) 2006-03-22
WO2005081094A3 (en) 2007-05-10
CN100462917C (en) 2009-02-18
CN1922609B (en) 2013-07-10
GB2411331A (en) 2005-08-24
IL177206A0 (en) 2006-12-10
WO2005081505A1 (en) 2005-09-01
JP4943865B2 (en) 2012-05-30
WO2005081132A1 (en) 2005-09-01
AU2005214401A1 (en) 2005-09-01
AU2005215465A1 (en) 2005-09-01
BRPI0507699A (en) 2007-07-24
AR047883A1 (en) 2006-03-01
BRPI0507707A (en) 2007-07-03
KR101164833B1 (en) 2012-07-11
CN100549948C (en) 2009-10-14
RU2383919C2 (en) 2010-03-10
CA2556285A1 (en) 2005-09-01
IL177210A0 (en) 2006-12-10
CA2556284A1 (en) 2005-09-01
AU2005215457A1 (en) 2005-09-01
RU2006133389A (en) 2008-03-27
JP2007523420A (en) 2007-08-16
WO2005081505A8 (en) 2006-09-28
PE20060035A1 (en) 2006-02-11
KR20070018042A (en) 2007-02-13
RU2006133383A (en) 2008-03-27
US20070283280A1 (en) 2007-12-06
EP1721443A1 (en) 2006-11-15
US9454619B2 (en) 2016-09-27
EP1723563A1 (en) 2006-11-22
CN1922608B (en) 2010-05-26
KR101111943B1 (en) 2012-03-13
US8327289B2 (en) 2012-12-04
JP2007523418A (en) 2007-08-16
JP2011248909A (en) 2011-12-08
BRPI0507700A (en) 2007-07-03
KR20060134109A (en) 2006-12-27
WO2005081131A1 (en) 2005-09-01
AU2005214406A1 (en) 2005-09-01
KR101105177B1 (en) 2012-01-12
WO2005081551A3 (en) 2005-11-03
TW200612275A (en) 2006-04-16
JP2007523421A (en) 2007-08-16
CA2555102A1 (en) 2005-09-01
AR047884A1 (en) 2006-03-01
CN1922852A (en) 2007-02-28
US20080282142A1 (en) 2008-11-13
CA2555102C (en) 2013-02-05
BRPI0507706A (en) 2007-07-03

Similar Documents

Publication Publication Date Title
US20070300217A1 (en) Data Container for User Interface Content Data
JP2007523417A5 (en)
MXPA06009487A (en) Data container for user interface content data
MXPA06009488A (en) Layered user interface
MXPA06009479A (en) Method of supplying content to a device
MXPA06009485A (en) Virtual file system

Legal Events

Date Code Title Description
AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TUNMER, MICHAEL LUKE;DICKENS, MARTIN C.;REEL/FRAME:019306/0516

Effective date: 20061130

AS Assignment

Owner name: QUALCOMM CAMBRIDGE LIMITED, UNITED KINGDOM

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019306 FRAME 0516;ASSIGNORS:TUNMER, MICHAEL LUKE;DICKENS, MARTIN C.;REEL/FRAME:020619/0806

Effective date: 20061130

Owner name: QUALCOMM CAMBRIDGE LIMITED, UNITED KINGDOM

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019306 FRAME 0516. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS QUALCOMM CAMBRIDGE LIMITED;ASSIGNORS:TUNMER, MICHAEL LUKE;DICKENS, MARTIN C.;REEL/FRAME:020619/0806

Effective date: 20061130

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:QUALCOMM CAMBRIDGE LIMITED;REEL/FRAME:029062/0871

Effective date: 20120928