Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.3
-
Component/s: JavaScript Client, Push Library
-
Labels:None
-
Environment:ICEpush, ICEpush service
-
Assignee Priority:P2
-
Affects:Documentation (User Guide, Ref. Guide, etc.)
Description
A push delivery window specified by delay and duration causes push updates to be delivered within a window o f time in the near future. This provides opportunities for moderating server load and improving application functionality.
Activity
Ted Goddard
created issue -
Ted Goddard
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Jack Van Ooststroom [ jack.van.ooststroom ] |
Ted Goddard
made changes -
Fix Version/s | 3.4 [ 10971 ] |
Ken Fyten
made changes -
Assignee | Jack Van Ooststroom [ jack.van.ooststroom ] | Mircea Toma [ mircea.toma ] |
Assignee Priority | P2 [ 10011 ] |
Mircea Toma
made changes -
Affects | Documentation (User Guide, Ref. Guide, etc.) [ 10003 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38277 | Wed Sep 25 03:40:23 MDT 2013 | mircea.toma | |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/LocalNotificationBroadcaster.java MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/PushConfiguration.java MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/NotificationBroadcaster.java MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/BlockingConnectionServer.java |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38282 | Wed Sep 25 15:15:52 MDT 2013 | mircea.toma | |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38286 | Wed Sep 25 17:12:12 MDT 2013 | mircea.toma | |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/LocalNotificationBroadcaster.java |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38287 | Thu Sep 26 08:39:39 MDT 2013 | mircea.toma | |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/samples/notification-scheduling/src/main/webapp/WEB-INF/web.xml
MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java ADD /icepush/trunk/icepush/samples/notification-scheduling/src/main/java/org/icepush/sample/basic/NotificationWindowOverlapping.java DEL /icepush/trunk/icepush/samples/notification-scheduling/web ADD /icepush/trunk/icepush/samples/notification-scheduling/src/main/webapp/index.jsp |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #38288 | Thu Sep 26 09:20:02 MDT 2013 | mircea.toma | |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/javascript/application.js
MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/servlet/BrowserBoundServlet.java |
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | 4.0 [ 11383 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
With ICEpush, a single notification can rapidly notify a very
large number of (distributed) clients, each of which will suddenly
make a new HTTP request for their updates. These can easily be
new sockets, so can overwhelm the TCP accept queue and the
Servlet engine on the server (because the CPU and stack depth
requirements for processing an application request are much
heaver than that for handling an ICEpush request).
This can be resolved by introducing a "push delivery window":
essentially a time interval in the future specifying when the
notifications should occur. This can be specified as a delay
and a duration. For instance a push to "chat" with delay 5000
and duration 10000 would wait for 5 seconds to send push
notifications to the group "chat", spreading the network activity
over the following 10 seconds.
There are a variety of uses for this:
before the push occurs
scalability by throttling rapid updates to individual clients
Given two updates with delays and delivery durations,
if the duration regions overlap, a single notification can be
delivered within the region of overlap.
network traffic less bursty
allowing ICEpush to log a warning when it cannot meet QoS
requirements (more important for ICEpush-as-a-service)
as a demo feature (many of our demos have these push delays), or
say, a short sequence of delayed notifications to cover progress
of a background process
This can be added through the PushConfiguration API (which currently
allows Cloud Push to be configured), although the first priority is
actually to support it with the JavaScript API.