`a2) Patent Application Publication 10) Pub. No.: US 2009/0240807 Al
` Munsonetal. (43) Pub. Date: Sep. 24, 2009
`
`
`
`US 20090240807A1
`
`(54) CONTENT PUSH SERVICE
`
`(22)
`
`Filed:
`
`Mar.21, 2008
`
`(75)
`
`Inventors:
`
`Jonathan P. Munson, Putnam
`Valley, NY (US); Young Ju Tak,
`Seoul (KR)
`Correspondence Address:
`SCULLY, SCOTT, MURPHY & PRESSER,P.C.
`400 GARDEN CITY PLAZA, SUITE 300
`GARDENCITY, NY 11530 (US
`,
`(US)
`INTERNATIONAL BUSINESS
`MACHINES CORPORATION,
`Armonk, NY (US)
`
`(73) Assignee:
`
`(21) Appl. No.:
`
`12/052,843
`
`Publication Classification
`
`(51)
`
`Int.Cl
`(2006.01)
`GO6F 15/173
`(52) U.S. C1. cc ceeeseseeesersereeceeceeceeceeceeeneenes 709/226
`
`(57)
`ABSTRACT
`Amethod, system and computerprogramproduct forpushing
`contents to client devices is disclosed. The method, system,
`and computer program product handles group pushes, man-
`ages different content priorities, prevents one content push
`from starving others, and handles different transport mecha-
`nismsfor differentclients.
`
`220
`
`Content
`Receiver
`
`Series
`HandlerUnit
`
`Group
`Handler Unit
`
`(client n)
`
`Content Sender
`(client 1)
`
`Content Sender
`
`1
`
`SAMSUNG 1017
`
`1
`
`SAMSUNG 1017
`
`
`
`Patent Application Publication
`
`Sep. 24,2009 Sheet 1 of 6
`
`US 2009/0240807 Al
`
`=
`
`
`
`110 (n)
`So 7
`
`
`
`Low Bandwidth
`Wireless Network
`
`FIG. 1
`Prior Art
`
`2
`
`
`
`Patent Application Publication
`
`Sep. 24,2009 Sheet 2 of 6
`
`US 2009/0240807 Al
`
`200
`
`
`
`
`Application
`Service
`Provider # 1
`
`
`
`
`Client # n
`
`
`Application
`FE
`fF
`provider4
`
`rovider #n
`
`Content
`Push Service
`
`client#4
`
`Content
`Push
`
`140 (n)
`
`FIG. 2
`
`3
`
`
`
`Patent Application Publication
`
`Sep. 24,2009 Sheet 3 of 6
`
`US 2009/0240807 Al
`
`Receiver
`
`(client n)
`
`Content Sender
`(client 1)
`
`Content Sender
`
`FIG. 3
`
`4
`
`
`
`Patent Application Publication
`
`Sep. 24,2009 Sheet 4 of 6
`
`US 2009/0240807 Al
`
`224
`
`
`Receive Content from Application
`Service Providers
`
`
`227
`
` Check
`
`if content is in
`Series
`
`228
`
`226
`
`228
`
`
`
`Push to Group
`
`FIG. 4
`
`5
`
`
`
`Patent Application Publication
`
`Sep. 24,2009 Sheet 5 of 6
`
`US 2009/0240807 Al
`
`300
`
`Content Sender
`
`Queuer
`
`322
`
`FIG. 5
`
`_—
`oO
`oa
`wa
`Cc
`oO—_
`KE
`oO
`eS
`oO
`Do
`
`o~a—
`
`_
`oO
`==
`
`DeQueuer
`
`D=
`
`z
`Tw
`Cc
`oO
`
`xC
`
`c @ O
`
`6
`
`
`
`Patent Application Publication
`
`Sep. 24,2009 Sheet 6 of 6
`
`US 2009/0240807 Al
`
`140
`
`Content Push
`Agent
`
`| Content Queue
`
`Content Viewer
`
`Content Manager
`
`FIG. 6
`
`7
`
`
`
`US 2009/0240807 Al
`
`Sep. 24, 2009
`
`CONTENT PUSH SERVICE
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`[0001]
`[0002] The present invention generally relates to pushing
`contents, more particularly, to a method, system and com-
`puter program product for managing content pushservices in
`a client-server environment.
`
`2. Description of the Prior Art
`[0003]
`[0004] A commonrequirement of application service pro-
`viders that serve mobile users is the ability to push a content
`to a client device. This ability is central to services such as
`road navigation, news updates, and severe-weather alerts.
`Current existing approachesuse low-level network protocols,
`such as TCP sockets or HTTP, or are software-based. Use of
`network protocols can be effective but require high degree of
`involvement from the application service providers in han-
`dling slow networks, busy clients, and disconnection. The
`different protocols are required for the different networks
`used by different clients. Also, network solutions may not
`ensure in-order delivery of a series of contents from a single
`application service provider. Software-based solutions such
`as EBM’s MQSeries product family manage someof these
`problemsbut, as a software solution, do not handle pushing
`multiple, independently-operating contents to clients at the
`sametime.
`[0005] When multiple application service providers push
`contents to a single clientat the same time,it may overload the
`client. The application service providers may push the con-
`tents with different levels of priority. However, the applica-
`tion service providers cannot managepriority-based services,
`because the application service providers are independent
`and unaware of each other. A client cannot managepriority-
`based services, because by the time the client see the content,
`the content has already been delivered or is in the process of
`delivery. With current solutions, a client cannot interrupt
`receiving a large-file, low-priority, non-time-sensitive con-
`tent in orderto receive a high-priority, time-sensitive content
`because the client cannot know the high-priority content is
`waiting.
`[0006] Existing software solutions that merely allow tag-
`ging contents with priority and dequeucing according topri-
`ority do not actually deliver the contents based on priority, nor
`do the existing software solutions ensure non-starvation of
`low-priority content. Neither a network nor the software solu-
`tions may managethe efficient use of the wireless network,
`instead giving each application service provider dedicated
`in-turn access to a wireless link.
`
`FIG. 1 depicts a conventional low-bandwidth wire-
`[0007]
`less networking environment, where each gadget communi-
`cates each other via the low-bandwidth wireless network. Ina
`
`wireless communication society 100, computers such as 110
`(1) and 110(7), a cellular phone 138, a laptop 136, a GPS
`navigation system in a vehicle, a PDA 132, and 1Pod 130
`transmit and receive data through a wireless network 120. The
`wireless network 120 maybe IEEE 802.11, Wi-Fi, Wireless
`LAN, CDMA, GSM,PCS, AMPS, etc.
`[0008] A US. patent application (application Ser. No.
`11/953,515)
`“COMPOSITION-BASED APPLICATION
`USER INTERFACE FRAMEWORK”, whichincludes same
`inventors, discloses a novel document-oriented model for
`delivery of telematics services to present interactive user
`interfaces on in-vehicle clients. The application further dis-
`closes an XVC (extensible Viewer Composition) modelthat
`
`has three primary characteristics: (1) the invention supports a
`document-based application model; (2) application user-in-
`terfaces are compound documents, each element addressing a
`different viewer; and (3) user interfaces of multiple applica-
`tions are composedinto a single glanceable user interface on
`the client for ease of use and expediency.
`[0009] Having set fort the limitations of the priorart, it is
`clear that what is required is a method, system or computer
`program product capable ofhandling a group push(i.e., push-
`ing contents to a group of clients), managing diversepriorities
`for contents, preventing one push (1.e., pushing a content)
`from starving other pushes, and handling different transport
`mechanism for different client devices.
`
`SUMMARY OF THE INVENTION
`
`It is therefore an object of the present invention to
`[0010]
`provide a method, system and computer program product for
`managing multiple services that pushes contents over a wire-
`less network.
`
`In one embodiment, there is provided a system for
`[0011]
`managing multiple services that pushes contents over a wire-
`less network comprising:
`[0012]
`a content receiver unit for receiving the contents
`from application service providers;
`[0013]
`a series handler unit for ensuring each content is
`delivered in the order specified by the application service
`provider;
`a group handler unit for allowing the application
`[0014]
`service providerto define a group, looking up membersofthe
`group, and pushing the contents to each memberofthe group;
`[0015]
`a plurality of content senders for performingtrans-
`port of data of the contents to client devices; and
`[0016]
`acontent dispatcher unit for maintaininga list ofthe
`content senders, enqueuing the contents in the content send-
`ers, and activating content senders.
`[0017]
`In another embodiment, there is provided a method
`for managing multiple services that pushes contents over a
`wireless network comprising:
`[0018]
`receiving the contents from application service pro-
`viders;
`checking if the contents received in a series;
`[0019]
`ensuring each content is received in the order speci-
`[0020]
`fied by the application service provider;
`[0021]
`keeping the contents until all contents in a series
`arrive;
`
`[0022]
`group;
`[0023]
`[0024]
`and
`
`checking if the contents are to be delivered to a
`
`looking up membersof the group;
`pushing the contents to each memberofthe group;
`
`performing actualtransport ofdata ofthe contents to
`[0025]
`client devices.
`
`[0026] According to one aspectof the present invention,if
`acontentis bigger than a maximum unitsize fixed by a system
`administrator, the content is divided into smaller pieces and
`pushedonepiece at a time. Different transport mechanisms
`are supported for different client devices.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0027] The objects, features and advantages of the present
`invention will become apparent to one skilled in the art, in
`
`8
`
`
`
`US 2009/0240807 Al
`
`Sep. 24, 2009
`
`view of the following detailed description taken in combina-
`tion with the attached drawings, in which:
`[0028]
`FIG. 1 illustrates a prior art inventionthat utilizes a
`low-bandwidth wireless network to communicate.
`
`FIG. 2 illustrates an environment wherethe present
`[0029]
`invention can be applied.
`[0030]
`FIG. 3 illustrates one embodimentof the present
`invention.
`[0031]
`FIG.4 illustrates a flow chart that a series handler
`unitutilizes.
`[0032]
`FIG. 5 illustrates a block diagram of a content
`sender.
`[0033]
`client.
`
`FIG.6 illustrates a block diagram of a content push
`
`DETAILED DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`[0034] Hereinafter, embodiments of the present invention
`will be described in detail with reference to the accompanying
`drawings.
`[0035]
`FIG. 2 depicts an environment where the present
`invention can be applied. In a wireless network 200, there are
`aplurality of application service providers such as 210(1) and
`220(m). An application service provider may be a vehicle
`navigation system that pushes driving instructionsto drivers.
`Another application service provider may be a road-hazard
`alerting service that pushesalerts to drivers. The application
`service providers 210 push contents to a Content Push Service
`(CPS) 220. Arrows A and C indicates contents are delivered
`from application service providers 210 to the CPS 220. After
`receiving contents, the CPS 220 sends acknowledgereceipts
`to the application service providers 210. Arrows B and D
`indicate these acknowledge receipts from the CPS 220 to the
`application service providers 210. Basically, the CPS 220
`receives contents(e.g., ringtone, alert, wall-paper, text, graph,
`sound, etc.) from the application service providers 210 and
`forwards the contents to Content Push Clients 140. The CPS
`
`220 handles a group push(1.e., pushing contents to a group of
`clients), manages diverse priorities for contents (i.e., high-
`priority contents and low-priority contents), prevents one
`push (i.e., pushing a contentto a client) from starving other
`pushes, and handlesdifferent transport mechanism fordiffer-
`ent client devices (e.g, For PC users, the CPS 220 may uses
`TCP/IP. For cellular phone users, the CPS 220 may use a WAP
`(Wireless Application Protocol) Push). The Content Push
`Clients such as 140(1) and 140(7) receive contents from the
`CPS 220 and delivers the contents to receivers (i.e., client
`devices such as a GPS navigation system, a cellular phone, or
`a personal computer) indicated in content-push messages
`(e.g., WAP Pushoralert). Arrows E and G indicate receiving
`contents from the CPS 220 to the Content Push Clients 140.
`
`Arrow F and H indicate acknowledge receipt sent from the
`Content Push Clients 140 to the CPS 220.
`
`FIG. 3 illustrates an embodiment of the CPS 220.
`[0036]
`The CPS 220 includes a Content Receiver Unit 222, a Series
`Handler Unit 224, a Group Handler Unit 226, a Content
`Dispatcher Unit 228, and a plurality of Content Senders such
`as 300(1) and 300(7). The Content Receiver Unit 222 receives
`contents from application service providers 210, sends
`acknowledge receipts to application service providers 210,
`and forwardsthe contents to a Series Handler Unit 224. If the
`contents are received in a series, the Series Handler Unit 224
`ensures the contents received as part of a series are pushed in
`the order specified by the application service providers. In
`
`one embodiment, the CPS 220 allows an application service
`provider to send contents to a group of client devices. Then,
`the Group Handler Unit 226 is responsible for looking up
`members of a group and performing an individual push on
`each member(1.e., pushing a content to each client device in
`the group). The Content Sender 300 performsactual transport
`of data of contents to a client device. There is one Content
`Sender 300 for each active client device. The Content Dis-
`patcher Unit 228 maintainsa list of the Content Senders 300.
`If a Content Senderis currently pushing a contentto a client,
`the Content Dispatcher Unit 228 enqueues the content in the
`Content Sender. If a Content Senderis not pushing a content,
`the Content Dispatcher Unit 228 enqueues the content in the
`Content Sender and activates the Content Sender to start
`
`pushing.
`FIG. 4 depicts a flow chart that the Series Handler
`[0037]
`Unit 224 utilizes. At step 225, the Series Handler Unit 224
`receives contents from application service providers through
`the Content Receiver Unit 222. At Step 226, the Series Han-
`dler Unit checks if contents are in a series. If the contents are
`notserialized, at step 227, the contents are directly checked if
`the contents are delivered to a group. If the contents is are
`serialized, at step 228, a series buffer is provided to keep the
`contents until all contents in a series arrive. When pushing
`contents, the series buffer serializes the contents according to
`their sequence numbersin a series. At step 229, the pushed
`contents from the series buffer are forwarded to check if the
`contents are delivered to a group.
`[0038] FIG.5 depicts an embodimentofthe Content Sender
`300. The Content Sender 300 includes Queuer 320, a Queue
`Policy 328, Push Queues 330, DeQueuer 340, and Client and
`Network Specific Transport 350. After receiving contents
`from the Content Dispatcher Unit 228, Queuer checks
`urgencylevel of contents at step 322 (e.g., An urgent content
`is delivered ahead of a normal content, if they are arrived at
`same time.), checks customerlevel at step 324 (e.g., a content
`pushedfrom a “gold” customeris delivered ahead of a content
`from a “silver” customer.), and checks dequeuepolicy at step
`326 (e.g., If a content has been waiting for more than 3
`seconds, the content should be aheadofany other contents, no
`matter what customerlevel.). The Content Sender employs
`Push Queues 330 that supports diversepriority levels. In one
`embodiment, the Push Queues 330 supports two different
`priority levels, an URGENT queue 332(1) and a NORMAL
`queue 332(7). DeQueuer 340 utilizes a scheduling algorithm
`that prevents starvation of a NORMAL queue 332(n),
`removescontents from top of queues, and forwards the con-
`tents to the Client and Network Specific Transport 350. The
`Push Queues 330 and DeQueuer 340 ensure that client
`devices receive contents one at a time. The Client and Net-
`
`work Specific Transport 350 applies different content deliv-
`ery mechanismsfor different clients. For example, to push
`contents to PC users, the Client and Network Specific Trans-
`port 350 may use TCP/IP. To push contents to cellular phone
`users, the Client and Network Specific Transport 350 may use
`carrier’s own push services such as WAP (Wireless Applica-
`tion Protocol) Push. The Queue Policy 328 stores data related
`to policy (e.g., what is the level of a particular customer, how
`long a content maystay in a queue before it is dequeued.)
`[0039]
`FIG. 6 depicts an embodimentof the Content Push
`Client 140. The Content Push Client 140 includes a Content
`
`Push Agent 142, a Content Queue 144, a Content Manager
`146, and a Content Viewer 147. The Content Push Agent 142
`handles communication between the CPS 220 and the Con-
`
`9
`
`
`
`US 2009/0240807 Al
`
`Sep. 24, 2009
`
`tent Push Client 140 by pulling contents from the Client and
`Network Specific Transport 350 and sending acknowledge
`receipt to the Client and Network Specific Transport 350. The
`Content Manager 146 receives the contents from the Content
`Push Agent142, stores contents in the Content Queue 144 and
`forwards the contents to a Content Viewer 147, which is
`indicated in a content-push message (e.g., WAP Push or
`alert). The Content Viewer may be a Ticker Viewer, a HTML
`Viewer, a Map Viewer,etc.
`[0040] The present invention guarantees reliable and asyn-
`chronouscontent push(1.e., pushing a content) to clients on
`diverse wireless networks by offering application services
`providers a single technology-independentinterface. Appli-
`cations are offered a “send and forget” service. “Send and
`forget” service meansthat after an application service pro-
`vider delivers a content to the Content Push Service (CPS),
`the application service provider does not have to further man-
`age delivering the content. The CPS will deal with all the
`details of getting the content to a client device. An application
`service provider is notified asynchronously, if a push (i.e.,
`pushing a content) encounters a problem. This simplifies
`application programming because application service pro-
`viders do not need to be concerned with delaysin the sending
`(i.e., pushing a content) process.
`[0041]
`In one embodiment, the present invention provides
`priority-based transmission, which meansthe highest-prior-
`ity contentis forced to wait the least. An application service
`provider choosesa priority level of a content. In a pay-per-use
`scheme(i.e., an application service provider pays a fee for
`each use of the service such as each push), the application
`service provider may expect to pay a higherprice for choos-
`ing a higher priority. (As alternatives to the pay-per-use
`scheme,
`the application service provider may pay a fee
`monthly or annually.) Priority allows application service pro-
`viders to indicate the time-sensitive nature of their contents.
`
`[0042] A quality-of-service (QoS) parameter, set at an
`application registration time, acts to modify a priority level of
`acontent. Application services providers would pay more for
`high-priority level service (e.g., “Gold”level service) than for
`low-priority level service (e.g., “Silver”level service). In one
`embodiment, a priority parameter has higher weight than the
`QoS parameter. However, an application service provider can
`change parameter setting to let QoS parameter has higher
`weight than a priority parameter.
`[0043]
`Inone embodiment, the present invention supports a
`group-push mechanism (i.e. pushing contents to a group of
`client devices), which allows application service providers to
`define groups and then push content to a group simply by
`naming the group. This is convenient for application service
`providers, because the application service providers do not
`need to specify each member of a group for each push.
`[0044]
`Inone embodiment, a content can be pushed accord-
`ing to a schedule of time or event. For example, when used
`with a group push, an application service provider can use
`pushes(1.e., pushing contents) for a system maintenance pur-
`pose during off-peak hours to take advantage of lower rates.
`[0045]
`In one embodiment, contents from multiple appli-
`cation service providers are aggregated to make most effec-
`tive use oflow-bandwidth connection, which maybe wireless
`or wired. Aggregating contents allows the Content Push Ser-
`vice to make moreeffective use ofthe communications chan-
`nel for multiple pushes that have arrived within a few
`moments of each other.
`
`In one embodiment, a content that is bigger than a
`[0046]
`maximum unit size fixed by a system administrator is split
`into several fragments. Therefore,if, a client device becomes
`disconnected, e.g., by entering a tunnel, in the middle of
`receiving a large-file content, the entire large-file content does
`not need to be resent. Because the client device keeps the
`fragments that were received before the disconnection, the
`client device starts to receive new fragments that have not
`been transmitted or the fragmentthat has been interrupted due
`to the disconnection. In addition, this mechanism (i.e., divid-
`ing a large-file content into smaller pieces) prevents a large,
`low-priority file content from blocking a small, high-priority
`content. In prior existing solutions, if a low-priority large-file
`contentarrived first and was being transmitted, a small high-
`priority content could not be transmitted, until transmitting
`the low-priority large-file content was finished. However, the
`present invention allows a high-priority content to be inter-
`leaved. Therefore, a high-priority content that arrives after a
`large low-priority content has begun to send should not have
`to wait, until the entire large low-priority content is sent.
`[0047] Althoughthe preferred embodimentsofthe present
`invention have been described in detail, it should be under-
`stood that various changes and substitutions can be made
`therein without departing from spirit and scope of the inven-
`tions as defined by the appendedclaims. Variations described
`for the present invention can be realized in any combination
`desirable for each particular application. Thusparticular limi-
`tations, and/or embodiment enhancements described herein,
`which mayhaveparticular advantages to a particular appli-
`cation need not be used for all applications. Also, notall
`limitations need be implemented in methods, systems and/or
`apparatus including one or more concepts of the present
`invention.
`
`[0048] The present invention can be realized in hardware,
`software, or a combination of hardware and software. A typi-
`cal combination of hardware and software could be a general
`purpose computer system with a computer program that,
`when being loaded and executed, controls the computer sys-
`tem suchthatit carries out the methods described herein. The
`present invention can also be embedded in a computer pro-
`gram product, which comprises all the features enabling the
`implementation of the methods described herein, and
`which—whenloaded in a computer system—isable to carry
`out these methods.
`
`[0049] Computer program means or computer program in
`the present context include any expression, in any language,
`code or notation, of a set of instructions intended to cause a
`system having an information processing capability to per-
`form a particular function either directly or after conversion
`to another language, code or notation, and/or reproduction in
`a different material form.
`
`[0050] Thus the invention includes an article of manufac-
`ture which comprises a computer usable medium having
`computer readable program code means embodiedtherein for
`causing a function described above. The computer readable
`program code meansinthe article of manufacture comprises
`computer readable program code means for causing a com-
`puter to effect the steps of a method ofthis invention. Simi-
`larly, the present invention may be implemented as a com-
`puter program product comprising a computer usable
`medium having computer readable program code means
`embodiedtherein for causing a function described above. The
`computer readable program code meansin the computer pro-
`gram product comprising computer readable program code
`
`10
`
`10
`
`
`
`US 2009/0240807 Al
`
`Sep. 24, 2009
`
`meansfor causing a computerto effect one or more functions
`of this invention. Furthermore, the present invention may be
`implemented as a program storage device readable by
`machine,
`tangibly embodying a program of instructions
`executable by the machine to perform methodsteps for caus-
`ing one or more functions of this invention.
`[0051]
`It is noted that the foregoing has outlined some of
`the more pertinent objects and embodiments of the present
`invention. This invention may be used for manyapplications.
`Thus, although the description is madefor particular arrange-
`ments and methods, the intent and concept ofthe invention is
`suitable and applicable to other arrangements and applica-
`tions. It will be clear to those skilled in the art that modifica-
`tions to the disclosed embodiments can be effected without
`
`departing from the spirit and scope of the invention. The
`described embodiments ought to be construed to be merely
`illustrative of some of the more prominent features and appli-
`cations of the invention. Other beneficial results can be real-
`
`ized by applying the disclosed invention in a different manner
`or modifying the invention in ways known to those familiar
`with theart.
`Whatis claimed is:
`
`1. A system for managing multiple services that pushes
`contents over a wireless network comprising:
`a content receiver unit for receiving the contents from
`application service providers;
`a series handler unit for ensuring each contentis delivered
`in the order specified by the application service pro-
`vider;
`a group handler unit for allowing the application service
`providerto define a group, looking up members of the
`group, and pushing the contents to each memberof the
`group;
`a plurality of content senders for performing transport of
`data of the contents to client devices; and
`a content dispatcher unit for maintaining a list of the con-
`tent senders, enqueuing the contents in the content send-
`ers, and activating content senders.
`2. The system according to claim 1, wherein the content
`sender comprising:
`a queuer unit for checking urgency level of the contents,
`customerlevel of the client devices and dequeuepolicy
`of the contents;
`a plurality of queues for supporting diversepriority levels;
`a dequeuerunit for managing the queues based on a sched-
`uling algorithm that prevents starvation of low-priority
`queues; and
`a network transport unit for handling different transport
`mechanismsfor different client devices.
`
`o
`
`3. The system according to claim 2, wherein the content
`sender further comprising:
`a queuepolicy unit for storing data related to policy, said
`data comprising one or more of: what is the level of a
`particular customer and how long a content can stay ina
`queue beforeit is dequeued.
`. The system according to claim 2 further comprising:
`content push agent for pulling the contents from the
`network transport unit and sending acknowledgereceipt
`to the network transport unit;
`a content manager for receiving the contents from the
`content push agent and storing received contents in a
`queue; and
`a content viewers for receiving the contents from the con-
`tent managerandproviding the contentsto users.
`
`5. The system according to according to claim 2, wherein
`the plurality of queues have twopriority levels.
`6. The system according to claim 2, whereinif a content is
`bigger than a maximum unit size fixed by a system adminis-
`trator, the content is divided into smaller pieces and sent one
`piece at a time.
`7. The system according to claim 1, wherein a content
`sender represents a client device.
`8. The system according to claim 1, wherein the contents
`are pushedto client devices according to a schedule oftime or
`event.
`
`9. The system according to claim 1, wherein the contents
`are aggregated to use a wireless network bandwidth effec-
`tively.
`10. The system according to claim 1, wherein the contents
`are delivered from application service providers to the con-
`tent receiver unit through messages.
`11. The system according to claim 1, wherein priorities of
`the contents can be modified by setting parameters.
`12. The system according to claim 1, further comprising:
`aseries buffer unit for keeping contents until all contents in
`a series arrives.
`
`13. The method for managing multiple services that pushes
`contents over a wireless network comprising:
`receiving the contents from application service providers;
`checking if the contents received in a series;
`ensuring each content is received in the order specified by
`the application service provider;
`keeping the contents until all contents in a series arrive;
`checking if the contents are to be delivered to a group;
`looking up membersofthe group;
`pushing the contents to each memberofthe group; and
`performingactualtransport of data of the contentsto client
`devices.
`
`14. The method accordingto claim 13, further comprising:
`allowing the application service providerto define a group;
`and
`maintaining a list of the client devices.
`15. The method accordingto claim 13, further comprising:
`deciding priorities of the contents by checking urgency
`level ofthe contents, customerlevel ofthe client devices
`and dequeue policy of the contents;
`providing a plurality of queues to enqueue the contents
`based on the decidedpriorities; and
`providing a scheduling algorithm that prevents starvation
`of low-priority queues.
`16. The method according to claim 13, wherein the step of
`performingtransport of data of the contents to client devices
`is performed based on different transport mechanisms for
`different client devices.
`
`17. The method accordingto claim 13, further comprising:
`pushing the contents to the each memberof the group
`according to a schedule of time or event.
`18. The method accordingto claim 13, further comprising:
`aggregating the contents to use a wireless network band-
`width effectively.
`19. The method according to claim 13, wherein if a content
`is bigger than a maximum unit size fixed by a system admin-
`istrator, the content is divided into smaller pieces and pushed
`one pieceat a time.
`20. A computer program product comprising computer
`usable medium having computer readable program code
`means embodied therein for enabling a computer to push
`contents to client devices, the computer program code means
`in said computer program product comprising computer read-
`
`11
`
`11
`
`
`
`US 2009/0240807 Al
`
`Sep. 24, 2009
`
`able program code means for causing a computer to effect
`functions of:
`receiving the contents from application service providers;
`checking if the contents received in a series;
`ensuring each contentis delivered in the order specified by
`the application service provider;
`keeping the contents until all contents in a series arrive;
`checking if the contents are to be delivered to a group;
`looking up membersofthe group;
`pushing the contents to each memberofthe group;
`deciding priorities of the contents by checking urgency
`level ofthe contents, customerlevel of the client devices
`and dequeue policy of the contents;
`
`providing a plurality of queues to enqueue the contents
`based on the decidedpriorities;
`providing a scheduling algorithm that prevents starvation
`of low-priority queues; and
`performing transport of data of the contents to client
`devices based on diverse transport mechanisms,
`wherein if data of a content is bigger than a maximum unit
`size fixed by a system administrator, the data ofa content
`is divided into small pieces and transportedto the client
`devices.
`
`12
`
`12
`
`