throbber
as) United States
`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
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket