Push notifications for web applications and browser extensions
US-9451039-B1 · Sep 20, 2016 · US
US9742818B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9742818-B2 |
| Application number | US-201414566697-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 10, 2014 |
| Priority date | Dec 10, 2014 |
| Publication date | Aug 22, 2017 |
| Grant date | Aug 22, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A web server provided according to aspect of the present disclosure maintains registration data indicating the browsers to be notified upon occurrence of corresponding events. Upon receiving notification of occurrence of an event from an application server, the web server determines the set of browsers registered to receive notification of the occurrence of the event, and pushes the event to each of the set of browsers. By relying on a web server for such operation, each of the applications in the application server can be implemented as stateless applications, thereby providing advantages such as scalability and portability.
Opening claim text (preview).
What is claimed is: 1. A method performed in a web server, said method comprising: storing enhanced page data associating each page definition of a plurality of page definitions to a corresponding set of events, each of said plurality of page definitions being used by said web server to serve corresponding web pages; receiving a request for a first web page from a first web browser executing at a client system; forming said first web page based on a first page definition of said plurality of page definitions; examining said enhanced page data to identify that a first set of events is associated with said first page definition in said enhanced page data; serving said first web page to said client system for rendering as a first page instance on said first web browser at said client system; maintaining, in said web server, registration data indicating a respective set of browsers to be notified upon occurrence of corresponding events, wherein said maintaining comprises adding data to said registration data to indicate that said first web browser is subscribed to receive said first set of events in view of said identification of said first set of events associated with said first page definition in said enhanced page data, wherein said forming, said examining, said serving and said adding are performed in said web server in response to said request; receiving, in said web server, occurrence of an event of said first set of events from an application server; examining said registration data, in said web server, to determine a set of browsers registered to receive notification of the occurrence of said event, wherein said set of browsers includes said first web browser; and pushing said event to each of said set of browsers including said first web browser. 2. The method of claim 1 , wherein said event is generated by operation of a stateless application implemented in said application server, wherein said web server receives notification of occurrence of said event upon generation of said event. 3. The method of claim 2 , wherein said forming comprises including a first value of a field in said first page instance, wherein said event comprises generating of a new value for said field by said stateless application, wherein said application server notifies said web server of change of value for said field as said event, wherein said pushing pushes said new value to said first web browser at said client system, wherein said first web browser is designed to display said new value for said field in said first page instance upon receipt of said new value. 4. The method of claim 3 , wherein said first web browser and said web server are coupled to communicate via Web Socket protocol on a Transmission Control Protocol (TCP) connection established between said web server and said first web browser. 5. The method of claim 4 , wherein said registration data comprises an Internet Protocol (IP) address of said client system, a TCP port number associated with said first page instance at said client system, and an event identifier uniquely identifying said event among said set of events. 6. The method of claim 2 , wherein said stateless application exposes a plurality of events that are generated by said stateless application, said method further comprising: receiving inputs from an administrator identifying said first set of events associated with said first page definition, said first set of events being contained in said plurality of events, wherein data is maintained in said enhanced page data associating said plurality of events with said first page definition in response to receipt of said inputs from said administrator. 7. A non-transitory machine readable medium storing one or more sequences of instructions which upon execution by one or more processors contained in a web server causes said web server to perform the actions of: storing enhanced page data associating each page definition of a plurality of page definitions to a corresponding set of events, each of said plurality of page definitions being used by said web server to serve corresponding web pages; receiving a request for a first web page from a first web browser executing at a client system; forming said first web page based on a first page definition of said plurality of page definitions; examining said enhanced page data to identify that a first set of events is associated with said first page definition in said enhanced page data; serving said first web page to said client system for rendering as a first page instance on said first web browser at said client system; maintaining registration data indicating a respective set of browsers to be notified upon occurrence of corresponding events, wherein said maintaining comprises adding data to said registration data to indicate that said first web browser is subscribed to receive said first set of events in view of said identification of said first set of events associated with said first page definition in said enhanced page data, wherein said forming, said examining, said serving and said adding are performed in said web server in response to said request; receiving occurrence of an event of said first set of events from an application server; examining said registration data to determine a set of browsers registered to receive notification of the occurrence of said event, wherein said set of browsers includes said first web browser; and pushing said event to each of said set of browsers including said first web browser. 8. The non-transitory machine readable medium of claim 7 , wherein said event is generated by operation of a stateless application implemented in said application server, wherein said web server receives notification of occurrence of said event upon generation of said event. 9. The non-transitory machine readable medium of claim 8 , wherein said forming comprises including a first value of a field in said first page instance, wherein said event comprises generating of a new value for said field by said stateless application, wherein said application server notifies said web server of change of value for said field as said event, wherein said pushing pushes said new value to said first web browser at said client system, wherein said first web browser is designed to display said new value for said field in said first page instance upon receipt of said new value. 10. The non-transitory machine readable medium of claim 9 , wherein said first web browser and said web server are coupled to communicate via Web Socket protocol on a Transmission Control Protocol (TCP) connection established between said web server and said first web browser. 11. The non-transitory machine readable medium of claim 10 , wherein said registration data comprises an Internet Protocol (IP) address of said client system, a TCP port number associated with said first page instance at said client system, and an event identifier uniquely identifying said event among said set of events. 12. The non-transitory machine readable medium of claim 8 , wherein said stateless application exposes a plurality of events that are generated by said stateless application, said actions further comprising: receiving inputs from an administrator identifying said first set of events associated with said first page definition, said first set of events being contained in said plurality of events, wherein data is maintained in said enhanced page data associating said plurality of events with said first page definition in response to receipt of said inputs from said administrator. 13. A web server comprising: one or more processing units; one or more random a
Electricity · mapped topic
Electricity · mapped topic
Registration or de-registration · CPC title
Push-based network services · CPC title
Protocols · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.