Feature changed by: Joey Yu Zheng (jzheng) Feature #309580, revision 3 Title: Push Server Requested by: Alex Chun Yin Lau (allau) + Developer: (Novell) Partner organization: openSUSE.org Description: I've been thinking about this idea for some time now. And there are couple reasons that I like this idea, but instead of telling you the reason why I like it. First of all I need define what I mean by Remote Dbus? As a matter of fact, I don't really know what to call it at the beginning with, I kind of demo it in the GnomeSummit as the future desktop combine with web service. You can call it WebRPC or PushBaseMessaging etc. And here is the definition of it and maybe you can help me naming it. First of all, it can reduce the server bandwidth usage by send information just to the client who is interested and login. By logging in mean you are actually holding a active session in the server. Here is the scenario, our web server want to tell the user that it is going into maintenance mode for an hour. Traditionally you will send out a system wide email to all user and notify them. However, it is kind of like UDP, when the user is not actually using or planning on using within that specific time frame. This email almost act like a spam. And even worst is when the user login to their email account after the fact, this event already expired and it really waste a lot of bandwidth. This specific protocol should allow you to let the server send the message to the client actively interested in this topic ( kind of like twitter) instead of passively subscripted by the client itself. Second key idea is from the client side. This service can send message from the server and no need the client to pull, which fit the need of reduce network traffic and power consumption. It will greatly improve the battery consumption for different handle client. If you compare current technology that mostly fit our desktop nowaday, you will see lot of pulling and no way to let the device / client going to sleep or idle. With a server active pushing message to the client, we can save not only the bandwidth and the power for the client, but the server can also have reduce load by having lesser hit. Third key idea is unlike the web service, there will not be any type checking and interface definition. Client know where to call if they know. What to call if they know and How does it return if they know. Meaning when then client starting a call to the server for a service, the client need know the uri ahead of time, know the interface ahead of time and parameter in/out ready ahead of time. If something go wrong, it just goes wrong. No need for error checking over head. Use Case: You subscript to the push service and when there is information that you interested, server will push to you instead of pulling from the client. Business case (Partner benefit): openSUSE.org: 1) Reduce server side bandwidth 2) Reduce client side pulling 3) Save battery life. -- openSUSE Feature: https://features.opensuse.org/309580