Method and system for republishing mobile content

A system and method is provided for republishing content for a wireless device. In the wireless device, this may comprise: receiving a content manifest associated with a new content, the content manifest providing information about the new content; identifying any changes to existing content stored in the device, based on the information in the content manifest; retrieving updates in the new content corresponding to the changes; and storing the updates.

TECHNICAL FIELD

The present disclosure relates generally to portable devices, and more particularly to a method and system for republishing mobile content.

BACKGROUND

Currently, when a mobile learning content player receives content from a content server via either a push or pull model they will receive the full content package. This is true whether it is the first time that the mobile device has received the content package or if the content package that is being sent is an update. Current models for mobile content delivery may be limited in that: a) there is typically no manner in which the mobile content application can determine how much of the content package being sent is already on the mobile device; b) there is typically no manner in which the mobile content application can determine if parts of the content package are updated when compared to the data that is stored locally on the mobile device.

Some restrictions arising from such limitations may include: a) the mobile device must retrieve the entire content package each time; b) increased bandwidth usage in order to retrieve the entire content package each time that there is an update created; c) the increased bandwidth usage can contribute to the user exceeding the contractual amount of data allowed from their carrier in a month and thus incurring additional costs; d) for web based systems like a web browser, the user needs to explicitly access the individual asset to retrieve the updated copy. (i.e. it is not done automatically or triggered by the content server) This need for explicit access may be the case when a mobile web browser is just managing its local cache.

It would be desirable to have a method and system for delivering push content to mobile devices that does not waste processing resources or bandwidth in this way, and does not waste the time of the user of the device.

DETAILED DESCRIPTION

In some aspects, there is provided a wireless device comprising: a processor for controlling operation of the wireless device; a first input device coupled to the processor for accepting an input; at least one display device coupled to the processor for communicating an output to the user; a communications subsystem coupled to the processor for communicating with a communications network, the communications network including a content server configurable for delivering content to the wireless device; a memory coupled to the processor; and a storage device coupled to the processor; the wireless device including one or more modules for republishing content for the wireless device, the one or more modules being configured to cause the wireless device to: receive a content manifest associated with a new content, the content manifest providing information about the new content; identify any changes to existing content stored in the storage device, based on the information in the content manifest; retrieve updates in the new content corresponding to the changes; and store the updates in the storage device.

In some aspects, there is provided a content delivery system for republishing content for a wireless device, the system comprising: a content server configurable to deliver content to the wireless device, the content server having a processor connected to a memory; and a mobile connector coupled to the content server for delivering the content to the wireless device, the content server having one or more modules stored in the memory and being configured to cause the content server to: send a content manifest to the wireless device, the content manifest being associated with new content and providing information about the new content; in response to a request from the wireless device, provide updates from the new content in accordance with a selection included in the request.

In some aspects, there is provided a method, in a wireless device, for republishing content for the wireless device, the method comprising: receiving, at the wireless device, a content manifest associated with a new content, the content manifest providing information about the new content; identifying, at the wireless device, any changes to existing content stored in the wireless device, based on the information in the content manifest, retrieving, from a content server, updates in the new content corresponding to the changes; and storing the updates in the wireless device.

In some aspects, there is provided a method, in a content server of a content delivery system, for republishing content for a wireless device, the method comprising: sending a content manifest to the wireless device, the content manifest being associated with new content and providing information about the new content; in response to a request from the wireless device, providing updates from the new content in accordance with a selection included in the request.

In the device, system and methods described above, the content manifest may include a verification piece for verifying the associated content. The verification piece may be used for identifying any changes to existing content. The device, system and methods described above may be practiced in the absence of any request from the wireless device for the content manifest.

Reference is first made toFIG. 1, which shows a block diagram illustrating a portable wireless device102that is suitable for having a mobile content application in accordance with one aspect of the present disclosure. The wireless device102communicates through a wireless communication network104. The wireless network104includes antenna, base stations, and supporting radio equipment as for supporting wireless communications between the wireless device102and other devices connected to wireless network104. The wireless network104may be coupled to a wireless network gateway and to a wide area network, shown inFIG. 2.

In one embodiment, the wireless device102is a two-way communication device having at least voice and/or data communication capabilities, including the capability to communicate with other computer systems. In one embodiment, the wireless device102is a handheld device. Depending on the functionality provided by the wireless device102, it may be referred to as a data messaging device, a two-way pager; a cellular telephone with data messaging capabilities, a wireless Internet appliance, a data communication device (with or without telephony capabilities), or a portable media or music player. The wireless device102may communicate with any one of a plurality of fixed transceiver stations within its geographic coverage area.

The wireless device102may incorporate a communication subsystem112, which includes a receiver114, a transmitter116, and associated components, such as one or more antenna elements118and120, local oscillators (LOs)122, and a processing module such as a digital signal processor (DSP)124. In one embodiment, the antenna elements118and120may be embedded or internal to the wireless device102. As will be apparent to those skilled in the field of communications, the particular design of the communication subsystem112depends on the wireless network104in which the wireless device102is intended to operate.

The wireless device102may send and receive communication signals over the wireless network104after the required network registration or activation procedures have been completed. Signals received by the antenna118through the wireless network104are input to the receiver114, which may perform such common receiver functions as signal amplification, frequency down conversion, filtering, channel selection, etc., as well as analog-to-digital (A/D) conversion. A/D conversion of a received signal allows more complex communication functions such as demodulation and decoding to be performed in the DSP124. In a similar manner, signals to be transmitted are processed, including modulation and encoding, for example, by the DSP124. These DSP-processed signals are input to the transmitter116for digital-to-analog (D/A) conversion, frequency up conversion, filtering, amplification, and transmission to the wireless network104via the antenna120. The DSP124not only processes communication signals, but also provides for receiver and transmitter control. For example, the gains applied to communication signals in the receiver114and the transmitter116may be adaptively controlled through automatic gain control algorithms implemented in the DSP124.

Network access is associated with a subscriber or user of the wireless device102via a memory module, such as a memory module130, which may be a Subscriber Identity Module (SIM) card for use in a GSM network or a USIM card for use in a UMTS. The SIM card is inserted in or connected to an interface132of the wireless device102in order to operate in conjunction with the wireless network104. Alternatively, the wireless device102may have an integrated identity module for use with systems such as Code Division Multiple Access (CDMA) systems.

The wireless device102also includes a battery interface136for receiving one or more rechargeable batteries138. The battery138provides electrical power to at least some of the electrical circuitry in the wireless device102, and the battery interface136provides a mechanical and electrical connection for the battery138. The battery interface136is coupled to a regulator (not shown) which provides power V+ to the circuitry of the wireless device102.

The wireless device102includes a microprocessor140which controls the overall operation of the wireless device102. Communication functions, including at least data and voice communications, are performed through the communication subsystem112. The microprocessor140also interacts with additional device subsystems such as a display142, a flash memory144, a random access memory (RAM)146, a read-only memory (ROM)148, auxiliary input/output (I/O) subsystems150, a Universal Serial Bus (USB) port152, a keyboard or keypad154, a speaker or audio port156for connecting to, for example a set of headphones, a microphone158, a clickable thumbwheel, trackball, thumbwheel, or set of scroll buttons160, a short-range communications subsystem162, and any other device subsystems generally designated as164. Some of the subsystems shown inFIG. 1perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. Notably, some subsystems, such as the keypad154, the display142, and the clickable thumbwheel or trackball160, for example, may be used for both communication-related functions, such as entering a text message for transmission over the wireless network104, and executing device-resident functions such as a calculator or task list. Operating system software used by the microprocessor140is preferably stored in a persistent store such as the flash memory144, which may alternatively be the ROM148or similar storage element. Those skilled in the art will appreciate that the operating system, specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as the RAM146.

The microprocessor140, in addition to its operating system functions, enables execution of software applications on the wireless device102. A predetermined set of applications that control basic device operations, including data and voice communication applications, will normally be installed on the wireless device102during or after manufacture. The wireless device102may include a personal information manager (PIM) application having the ability to organize and manage data items relating to a user such as, but not limited to, instant messaging, email, calendar events, voice mails, appointments, and task items. One or more memory stores may be available on the wireless device102to facilitate storage of information, such as the flash memory144, the RAM146, the ROM148, the memory module130, or other types of memory storage devices or FLASH memory cards represented by the other device subsystems164, such as Secure Digital (SD) cards, mini SD cards, micro SD cards, etc.

The PIM and/or media applications have the ability to send and receive data items via either the wireless network104or a link to a computer system. The link to the computer system may be via the serial port152or the short-range communications subsystem162. Additional applications may also be loaded onto the wireless device102through the wireless network104, the auxiliary I/O subsystem150, the serial port152, the short-range communications subsystem162, or any other suitable subsystem164, and installed by a user in the RAM146or a non-volatile store such as the ROM148for execution by the microprocessor140. Such flexibility in application installation increases the functionality of the wireless device102and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the wireless device102.

In a data communication mode, a received data signal representing information such as a text message, an email message, a media file to be transferred, or Web page download will be processed by the communication subsystem112and input to the microprocessor140. The microprocessor140will further process the signal for output to the display142or alternatively to the auxiliary I/O device150. A user of the wireless device102may also compose data items, such as email messages, for example, using the keypad154and/or the clickable thumbwheel or trackball160in conjunction with the display142and possibly the auxiliary I/O device150. The keypad154may be either a complete alphanumeric keypad or telephone-type keypad.

For voice communications, the overall operation of the wireless device102is similar, except that the received signals would be output to the speaker or audio port156and signals for transmission would be generated by a transducer such as the microphone158. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on the wireless device102. Although voice or audio signal output is typically accomplished primarily through the speaker or audio port156, the display142may also be used to provide an indication of the identity of a calling party, duration of a voice call, or other voice call related information. Stereo headphones may also be used in place of the speaker156.

The serial port152is normally implemented in a personal digital assistant (PDA) type communication device for which synchronization with a user's computer is a desirable, albeit optional, component. The serial port152enables a user to set preferences through an external device or software application and extends the capabilities of the wireless device102by providing for information, media file, or software downloads to the wireless device102other than through the wireless network104.

The short-range communications subsystem162is an additional optional component which provides for communication between the wireless device102and different systems or devices, which need not necessarily be similar devices. For example, the subsystem162may include an infrared device and associated circuits and components, or a wireless bus protocol compliant communication mechanism such as a Bluetooth™ communication module to provide for communication with similarly-enabled systems and devices (Bluetooth™ is a registered trademark of Bluetooth SIG, Inc.). In another embodiment, the short-range communications subsystem162may be a wireless networking communications subsystem, conforming to IEEE 802.11 standards such as 802.11b, 802.11g, and/or 802.11n.

Reference is next made toFIG. 2, which shows a communication system200suitable for use with the wireless device102shown inFIG. 1. The communication system200generally includes one or more wireless devices102(only one of which is shown inFIG. 2) and the wireless network104. The wireless network104may include a wireless Wide Area Network (WAN)202, a Wireless Local Area Network (WLAN)204, and/or other interfaces206(which may not necessarily be wireless).

Referring toFIG. 2, the wireless WAN202may be implemented as a packet-based cellular or mobile network that includes a number of base stations208(one of which is shown inFIG. 2) where each of the base stations208provides wireless Radio Frequency (RF) coverage to a corresponding area or cell. The wireless WAN202is typically operated by a cellular network service provider that sells subscription packages to users of the wireless devices102. The wireless WAN202comprises a number of different types of networks, for example, Mobitex Radio Network, DataTAC, GSM (Global System for Mobile Communication), GPRS (General Packet Radio System), TDMA (Time Division Multiple Access), CDMA (Code Division Multiple Access), CDPD (Cellular Digital Packet Data), iDEN (integrated Digital Enhanced Network) or various other third generation networks such as EDGE (Enhanced Data rates for GSM Evolution), UMTS (Universal Mobile Telecommunications Systems), Third Generation Partnership Project (3GPP or 3G), Evolution-Data Optimized (EV-DO), or 4G.

As shown inFIG. 2, the communications system200also includes a wireless network gateway210and one or more network provider systems212. The wireless network gateway210provides translation and routing services between the network provider system(s)212and the WAN202, which facilitates communication between the wireless devices102and other devices (not shown) connected, directly or indirectly, to the network provider system212.

The WLAN204comprises a network which in some examples conforms to IEEE 802.11 standards such as 802.11b, 802.11g, and/or 802.11n; however, other communications protocols may also be used for the WLAN204. The WLAN204includes one or more wireless RF Access Points (AP)214(one of which is shown inFIG. 2) that collectively provide a WLAN coverage area. For the embodiment depicted inFIG. 2, the WLAN204is operated by an enterprise (for example, a business or university in a building or campus type environment) and the access points214are connected to an access point (AP) interface216. The AP interface216provides translation and routing services between the access points214and the network provider system212to facilitate communication between two or more of the wireless devices102and other devices (e.g., such as desktop computers) connected, directly or indirectly, to the network provider system212. The AP interface216is implemented using a computer, for example, a server running a suitable computer program or software.

According to one embodiment, the other interfaces206may be implemented using a physical interface indicated by reference218. The physical interface218includes an Ethernet, Universal Serial Bus (USB), Firewire, or infrared (IR) connection implemented to exchange information between the network provider system212and the wireless device102.

The network provider system212comprises a server or server modules or a number of servers or server modules which are typically located behind a firewall (not shown). The network provider system212may include a number of modules including a mobile data delivery module220. Various modules running on the network provider system212may be implemented as a number of services running on a single server or as a number of interconnected servers each running a software program to implement the functionality of the respective module. The network provider system212provides access for the wireless devices102, through either the wireless WAN202, the WLAN204, or the other connection206to the devices connected, for example, through an enterprise network224(e.g., an intranet), to the network provider system212. In one embodiment, the data delivery module220is implemented on a computer, such as the network provider system212.

The enterprise network224comprises a local area network, an intranet, the Internet, a direct connection, or combinations thereof. The enterprise network224may comprise an intranet for a corporation or other type of organization. In at least some embodiments, the network provider system212is part of the enterprise network224, and is located behind a corporate firewall and connected to the wireless network gateway210through the Internet. A computer222(e.g., a desktop or laptop computer) belonging to the user of the wireless device102is typically connected to the enterprise network224. As described earlier, the wireless device102may be temporarily and directly connected to the computer222using, for example, the serial port152. This direct connection may make use of a cradle or docking station connected to a serial port of the computer222, where the mobile device102is placed in the cradle, therefore completing the serial connection between the mobile device102and the computer222. Alternatively, the wireless device102may communicate with the computer222using the communication subsystem112and the WAN202and/or the short-range communications subsystem162and the WLAN204.

As shown inFIG. 2, an application/content server226may be connected to the enterprise network224and also to another network, for example a Wide Area Network (WAN)228. In some embodiments, an email server232and/or the content server226form part of the enterprise network224. The WAN228may further connect to other networks. The WAN228may comprise or be configured with the Internet, a direct connection, a LAN, a wireless communication link, or any combination thereof. Content providers, such as Web servers, may be connected to the WAN228, an example of which is shown inFIG. 2as an origin server230.

According to one embodiment, the mobile data delivery module220provides connectivity between the wireless WAN202and the WLAN204and the other connection206and devices and/or networks connected directly or indirectly to the network provider system212. In one embodiment, the connectivity provided may be Hypertext Transfer Protocol (HTTP) based connectivity providing an Internet based service connection to devices connected to the wireless WAN202, the WLAN204, or the other connection206and devices and/or networks connected directly or indirectly to the network provider system212. The network224, the application/content server226, the WAN228, and the origin server230, are individually and/or collectively in various combinations a content source for the network provider system212. It will be appreciated that the system shown inFIG. 2comprises but one possible communication network or configuration of a multitude of possible configurations for use with the wireless devices102.

Reference is next made toFIG. 3, which shows a block diagram illustrating a memory300of the wireless device102. The memory300has various software components for controlling the wireless device102and may include, for example, the flash memory144, the RAM146, the ROM148, the memory module130and/or the other device subsystems164. In accordance with one embodiment, the wireless device102is intended to be a multi-tasking wireless communications device configured for sending and receiving data items and for making and receiving voice calls that also includes various applications enabling users to listen to music, watch video files, play games, view picture files, surf the internet wirelessly, etc. To provide a user-friendly environment to control the operation of the wireless device102, an operating system (OS)302resident on the wireless device102provides a basic set of operations for supporting various applications typically operable through a graphical user interface (GUI)304. For example, the operating system302provides basic input/output system features to obtain input from the auxiliary I/O150, the keypad154, the clickable thumbwheel or track ball160, and other input devices, and to facilitate output to the user via the display142. The GUI304is typically a component of the operating system302. One or more software modules306for managing communications or providing a personal digital assistant (PDA) or other functions may also be included. The memory300also includes an email and calendar client, which may be combined in, for example, a PIM application having email-based calendaring and scheduling functions. Typically, the PIM is installed as one of the software modules306.

The memory300also includes a mobile content application308, which may also be referred to as a content delivery module. In one example, the mobile content application308may be integrated into the operating system302. Alternatively, the module308may be a separate software component, as illustrated inFIG. 3. The mobile content application308may be responsible for managing push content delivery from multiple servers from the perspective of the wireless device102and/or playing the push content delivered from the multiple servers. Operation of the mobile content application308will be described in more detail below, in connection withFIGS. 5,6, and7.

Thus, the wireless device102includes computer executable programmed instructions for directing the wireless device102to implement various applications. The programmed instructions may be embodied in the one or more software modules306resident in the memory300of the wireless device102. Alternatively, the programmed instructions may be tangibly embodied or stored on a computer readable medium (such as a DVD, CD, floppy disk or other storage media) which may be used for transporting the programmed instructions to the memory300of the wireless device102. Alternatively, the programmed instructions may be embedded or carried in a computer-readable, signal-bearing medium that is uploaded to the wireless network104by a vendor or supplier of the programmed instructions, and this signal-bearing medium may be downloaded through one or more of the interfaces112,150,152,162to the wireless device102from, for example, the wireless network104by end users.

Reference is next made toFIG. 4, which shows a front view of the wireless device102. As mentioned above, the wireless device102may be a data and voice-enabled handheld device. The wireless device102includes a casing402, the data or serial port152, the display screen142, the graphical user interface (GUI)304, the keypad154, the clickable thumbwheel or scroll buttons160aor other device for navigation such as a trackball160b, one or more input buttons404(e.g., select, cancel, talk, play, stop, fast forward, rewind, next, previous buttons), signal inputs/outputs406(e.g., direct wire connection or inductive coupling power connector input, microphone, speaker, data interface input, etc.), and an audio port407. Additionally, the wireless device102may have a number of navigation control buttons represented by numerals409aand409b. The navigation control buttons409may provide a number of functions such as a send and/or end key for a mobile telephone application of the wireless device102, a menu key, an escape key, etc. The functions of the navigation control buttons409may be user configurable. Internally, the wireless device102includes one or more circuit boards (not shown), the microprocessor140(FIG. 1), the memory300(FIG. 3), the battery138(FIG. 1), the antennae118,120(FIG. 1), etc., which may all be coupled to the signal inputs/outputs406, the keypad154, the display screen142, the clickable thumbwheel160, etc.

The microprocessor140is typically coupled to one or more input devices (e.g., the buttons404, the keypad154, the clickable thumbwheel160a, the trackball160b) for receiving user commands or queries and the display142for displaying the results of these commands or queries. For example, user queries may be transformed into a combination of commands for producing one or more tables of output data which may be incorporated in one or more display pages for presentation to the user. The microprocessor140is also coupled to the memory300.

A user may interact with the wireless device102and its software modules306using the GUI304. The GUI304is controlled by the operating system302(FIG. 3) and provides a display format enabling the user to choose commands, execute application programs, manage computer files, and perform other functions by selecting pictorial representations (i.e., icons), or selecting items from a menu through the use of an input or pointing device such as the clickable thumbwheel160and/or the keypad154. Generally, the GUI304is used to convey information and receive commands from users and generally includes a variety of GUI objects or controls including icons, toolbars, drop-down menus, pop-up menus, text, dialog boxes, buttons, etc. A user typically interacts with the GUI304presented on the display142by using an input or pointing device to position a pointer or cursor408over an object410(i.e., “pointing” at the object) and by “clicking” on the object410(e.g., by depressing the thumbwheel160or a button on the keyboard154, etc.). This is often referred to as a point-and-click or selection operation. Typically, the object410may be highlighted (e.g., shaded) when it is selected or pointed at by the pointer or cursor408to indicate that the object410is selectable.

Typically, a GUI-based system presents application, status, and other information to the user in windows appearing on the display142. A window412is a display area shown within the display142, typically rectangular, in which a user may view an application or document. The window412may be open, closed, displayed full screen, reduced to an icon, increased or reduced in size, or moved to different areas of the display142. Multiple windows412may be displayed simultaneously. For example, the windows412may be displayed within other windows, overlapped with other windows, or tiled within the display area.

In the present disclosure, the term “push” may be used to refer to a method of content delivery to a wireless device that may be automatically delivered by a content server without any action being required on the part of the wireless device or the user of the wireless device. In the present disclosure, the term “pull” may be used herein to refer to a method of content delivery to a wireless or mobile device that is initiated by the mobile device requesting the content from a content server with or without any action being required on the part of the mobile device user. A wireless device may also be referred to in the present disclosure as a mobile device.

In some aspects, the present disclosure provides a method for republishing mobile content. This may be useful for one or more of: reducing the time involved in publishing an update to mobile content applications; reducing the bandwidth required to publish an update to mobile content applications; reducing contractual data plan overruns and prevent additional billing due to bandwidth usage; ensuring content on the mobile content application is always current; and automatically delivering updated content to a local storage of a mobile device without the user needing to trigger the update.

Reference is now made toFIG. 5, which is a simplified block diagram showing aspects of the wireless device102and the communication system200suitable for republishing mobile content. The system shown inFIG. 5is referred to collectively as the system500.

The system500may generally include a content server502, which may be implemented, for example, by the content server226shown inFIG. 2. The system may also include one or more wireless devices102, only one of which is shown, which may also be referred to as a mobile device. The system500may also include a mobile connector504, which may be implemented, for example, by the network provider system220ofFIG. 2.

The content server502may generally include a content authoring and publishing system506, a central content storage508, a content assignment and access management system510, a mobile content delivery system512, a delivery queue514, and a delivery queue web service516.

The content authoring and publishing system506may be implemented using any of a number of systems known to those skilled in the art or using solutions yet to be developed, and may provide for creation and central storage of content formatted for wireless devices. The content may include two or more content items, such as two or more files, in which case the content may be referred to as a set of content. The authoring may be performed by a separate appropriate application and then saved to a central server, such as the central content storage508, for access by the wireless device102. For example, an audio clip may be authored in an audio editing tool, saved, and then published to a central content server, such as the central content storage508. In some embodiments, access to this stored content may be managed by another system.

The content authoring and publishing system506may also be where an update or modification may be made to content stored in the central content server, e.g., for the purpose of updating content that has already been published. The content authoring and publishing system506may also include a verification piece (e.g. a checksum) for each file of the stored content when the content package is created. The verification piece may be included in a content package manifest file. The verification piece may be used to verify the content associated with the content manifest.

The content package manifest file, also referred to as the content manifest, may provide general information about the content associated with the manifest. For example, where the content manifest is an XML manifest file, the content manifest may contain URLs for retrieving the associated content. Generally, the content manifest may contain sufficient information for determining any specific updates to the associated content.

Once the content has been created, e.g., using the content authoring and publishing system506, the content may be stored in the central content storage508for later access. Any content that has been updated or modified after being published may also be stored in this location.

Once the content has been authored, it may be assigned to a user or a wireless device102. This assignment may provide a trigger for the delivery to the user or wireless device102to occur. Once a content package that has already been assigned is updated/modified, a push may be triggered through the content assignment and access management system510that may send the manifest file and the verification piece to the user or wireless device102that was assigned the original content package.

The content assignment and access management system510may make a request to the mobile content delivery system512to send all the content directly to the wireless device102to which the content has been assigned. This request may contain information on what type the content is (e.g., a Mobile Learning Course) and target user or device information so the delivery may be directed to specific wireless devices102belonging to specific individual users. The request may also contain information (e.g., a manifest file) that the content server502may use to find all elements of the content to be delivered. The content assignment may not require any knowledge of the mobile transport platform being used. This information may be configured in the mobile connector system504and may be related to the type of the wireless device102.

The mobile content delivery system512may receive requests for delivering content. These requests may come from a system component that is assigning the content to users, such as the content authoring and publishing system506and/or the content assignment and access management system510. When such requests are received, the mobile content delivery system512may look up the target user, and may determine if the user has a wireless device102and if the wireless device102has a transport defined. The request may be verified to be in the proper format and then processed. If the user does not have a wireless device102or if a transport has not been defined, then the appropriate response (e.g., an error message) may be returned to the requesting system. A user may register with the mobile content delivery system512to ensure the content deliveries can take place. Once all this information is gathered, the mobile content delivery system512may place the request, which may be an XML request, onto the delivery queue514with a status indicator of “New”.

Each request, such as an XML request, may also be populated with a company identifier that may determine which company is authorized to view the request on the delivery queue514. Modifications to the content may occur after the content has been delivered. It may be left to the original sender of the request (e.g., a calling application) to send a new delivery request for the content if it has changed.

The delivery queue web service516may listen for requests made by the mobile connector504. These may be requests to determine if there are items on the delivery queue514that the mobile connector504may be able to extract and deliver.

The mobile connector504may poll the delivery queue web service516in predefined intervals to see if there is any content available that needs to be delivered. The mobile connector504may issue a web services call or request to the delivery queue web service516. This call may contain user credentials that the web service516may authenticate against to determine what queue items the mobile connector504is authorized to see. If there are no items, the mobile connector504may wait for a predefined time interval to elapse and then may try again. If the mobile connector504does find an item on the delivery queue514, the mobile connector504may retrieve the queued item, for example as an XML document describing the content, as has been described above with reference to the mobile content delivery system512. The mobile connector504may only process one queued item at a time, but may alternatively be configured to process multiple items at a time.

When the mobile connector504receives, for example, an XML transaction from the web service516, the mobile connector504may look up the intended transport required for the wireless device102type and may deliver the content to the wireless device102. The mobile connector504may return result codes back to the delivery queue web service516based on the ability of the mobile connector504to successfully send the delivery request to the wireless device102infrastructure.

The mobile connector504may work simultaneously with several mobile platforms or transport types. This may include any transport that may allow a real-time delivery of content to the wireless device102, or any mechanism that may publish the content directly onto the wireless device102wirelessly.

The wireless device102may include a listener518, an email handler520, a delivery manager524, and local device storage526(e.g., the ROM148as shown inFIG. 1). The listener518, the email handler520, and the delivery manager524may be provided as part of the mobile content application308.

The delivery manager524may process a manifest file, such as an XML manifest522, by retrieving each item specified by URL in the manifest from the central content storage508. Where the content or set of content includes two or more content items, each item of the content may be specified in the manifest. These items may be placed in the local device storage526of the wireless device102, along with the associated verification piece (e.g. a checksum). In the case of a republished content package, the delivery manager524may compare the manifest list with the data that resides in the local device storage526and may determine if there are updates to the data. This determination may be made via comparing checksums or using any other suitable verification method, as would be known to a person skilled in the art.

The delivery manager524may then retrieve just the subset of the content that was determined to be different from what is already stored in the local device storage526and may overwrite any existing data with the newly retrieved, updated data.

Once the content is delivered to the wireless device102, the content may remain in persistent storage, e.g., the local device storage526, for rendering by the wireless device102. The delivered content may be removed from either the wireless device102itself or from the mobile content delivery system512. If the wireless device102attempts to render content that has been removed from the local device storage526, then the wireless device102may attempt to retrieve the content from the content server502. This attempt may be carried out automatically.

The listener518may listen for the request sent from the mobile connector504. The listener518may receive content information in the form of a content manifest, e.g., the XML manifest522, and may extract each content URL from the XML manifest522. The content manifest, such as the XML manifest522, may be received and stored in the memory300for use by the media content application308, but may be a working data store as opposed to an application component. The listener518may then send that URL to the delivery manager524for content retrieval using the content URLs.

If a request is received via e-mail, the wireless device102may process the e-mail through the e-mail handler520. The e-mail handler520may decrypt the contents of an email, if encrypted, containing instructions for retrieving the content manifest, may read the e-mail information into memory, and then may delete the e-mail from the e-mail inbox of the wireless device102.

The e-mail handler520may use the information stored in memory to make a request, such as an HTTP request, to the content authoring and publishing system506requesting the content manifest. When the content authoring and publishing system506determines that a user's e-mail and PIN are valid, the content authoring and publishing system506may send the manifest to the wireless device102, for example through a HTTP response.

Reference is now made toFIG. 6, which is a flowchart illustrating a general method600of republishing mobile content. The method600may be generally carried out at the wireless device102.

At602, a content manifest, such as an XML manifest, associated with new, updated or modified content is received at the wireless device102. The content manifest may include information about the new content, such as content URLs, as described above. The content manifest may be sent to the wireless device102in the absence of any request from the wireless device102.

At604, any changes to existing content stored in the wireless device102, for example existing data stored in the local device storage526, is identified. This identification may be based on the information in the content manifest. This may be performed using a verification piece included in the content manifest, such as a checksum, as described above.

At606, updates in the new content corresponding to the identified changes are retrieved. This may comprise the wireless device102sending a request to the content server502for the relevant content updates. Where the content or set of content includes two or more content items, the request may be a request for a subset of the two or more content items. The request may exclude any old content that has not changed from existing content, as discussed above.

At608, the updates are stored in the wireless device102, for example by overwriting existing data in the local device storage526.

Reference is now made toFIG. 7, which is a flowchart illustrating a general method700of republishing mobile content. The method700may be generally carried out by the system500, more particularly by the content server502.

At702, a content manifest is sent to the wireless device. As described above, the content manifest, which may be the XML manifest file522, may be associated with new, updated or changed content. The content manifest may provide information about the associated content, such as content URLs.

The content manifest may also include a verification piece, such as a checksum, for verifying the associated content. This verification piece may be included in the content manifest by the content server502, for example using the content authoring and publishing system506.

The content manifest may be sent to the wireless device102in the absence of any request from the wireless device102for the content manifest. For example, this may be the case where the content manifest is associated with new, updated or modified content. In some embodiments, where the content is assigned to a particular wireless device, the content manifest is sent to the wireless device102to which the associated content has been assigned. This may be managed by the content assignment and access management system510, as described above. The content manifest, once received at the wireless device102, may be compared by the wireless device102to determine any specific content updates, as described above with reference toFIG. 6. This comparison may result in a request from the wireless device102for the updates.

At704, in response to a request from the wireless device102, updates from the new, updated or modified content is provided to the wireless device102. The updates may be provided in accordance with a selection included in the request. Where the content manifest specifies two or more content items, the request may select a subset of the two or more content items. The selection may select only updates that have changed from existing content that the wireless device102already has, and may exclude old content that is unchanged.

While the content servers502and mobile connectors504are represented as distinct components and have a number of sub-components, any of these components or subcomponents may be implemented as modules running on a number of interconnected servers or on a single server, depending on the design criteria of a particular application. For example, any of the components502,504,506,508,510,512,514, and516may be implemented on any of the network provider system212, the network224, the content server226, the email server232, or the origin server230. Alternatively, in one example, the components502,504,506,508,510,512,514, and516may be implemented on a single one of the network provider system212, the network224, the content server226, the email server232, or the origin server230. Additionally, a single content server502and a single mobile connector504are shown as an example inFIG. 5, the present description is intended to include any number of content servers (e.g., two or more) with mobile connectors operating to provide push content to the wireless devices102.

While the steps of the method600and the method700are shown as occurring in a particular order, it will be appreciated by those skilled in the art that many of the steps are interchangeable and may occur in different orders than that shown without materially affecting the end results of the method600and the method700. Although the method600and the method700have been described as being carried out with certain components of the wireless device102and certain components of the content server502, other components may be used to carry out the functions of the method600and the method700. Although the method600and the method700have been described together, they are not required to be carried out together, and may take place independently of each other.

The subject matter described above may be used by the wireless device102to receive mobile content updates from content servers502. Possible applications of the disclosure include: a) training systems where courses are delivered to mobile users and groups from content publishers; for training systems the content publishers may be from a compliance content provider, internal company training material, external content publisher, etc; using the disclosed subject matter, the wireless device102may only request delivery of content that has been changed in comparison to the content stored locally in the wireless device102; b) news readers through RSS feed delivered from content publishers may only deliver content that is new to a subscribing wireless device102; c) delivering video and audio files from content publishers, such as any news site; and d) delivering applications and data files to the wireless device102from content publishers.

The embodiments of the present disclosure described above are intended to be examples only. Those of skill in the art may effect alterations, modifications and variations to the particular embodiments without departing from the intended scope of the present disclosure. In particular, selected features from one or more of the above-described embodiments may be combined to create alternative embodiments not explicitly described, features suitable for such combinations being readily apparent to persons skilled in the art. The subject matter described herein in the recited claims intends to cover and embrace all suitable changes in technology.