US20100250695A1 - System and method for providing asynchronous notifications using synchronous data sources - Google Patents

System and method for providing asynchronous notifications using synchronous data sources Download PDF

Info

Publication number
US20100250695A1
US20100250695A1 US12/814,292 US81429210A US2010250695A1 US 20100250695 A1 US20100250695 A1 US 20100250695A1 US 81429210 A US81429210 A US 81429210A US 2010250695 A1 US2010250695 A1 US 2010250695A1
Authority
US
United States
Prior art keywords
web service
proxy server
mobile device
subscription
request message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/814,292
Inventor
Michael Shenfield
Brindusa L. FRITSCH
Robert Kline
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Michael Shenfield
Fritsch Brindusa L
Robert Kline
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Michael Shenfield, Fritsch Brindusa L, Robert Kline filed Critical Michael Shenfield
Priority to US12/814,292 priority Critical patent/US20100250695A1/en
Publication of US20100250695A1 publication Critical patent/US20100250695A1/en
Assigned to BLACKBERRY LIMITED reassignment BLACKBERRY LIMITED CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: RESEARCH IN MOTION LIMITED
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

Definitions

  • the present matter relates to the field of software notifications.
  • embodiments of this matter relate to implementing wireless notification-based applications using synchronous poll-based Web services.
  • Content providers generate content for notifications.
  • the content is typically electronically stored to a data source and made available via a service-oriented architecture, for delivery via a network to one or more subscribing users electronically.
  • a news organization may provide notification content relating stock prices, breaking news, weather conditions, traffic conditions, etc.
  • a user's expressed interest to receive electronic notifications for a particular class of content is generally called a notification subscription.
  • Such subscriptions often are made between the end user and the content provider that sends the notifications.
  • Event-driven notifications of this type are often referred to as alerts.
  • the client needs to know the information of interest is posted or when there is a change in the status of the posted content. Such information ideally needs to be “pushed” over the network to the client either periodically or when certain predefined events occur. Some examples of possible push situations are arrival of new e-mail, stock market information, multi-user game updates, etc.
  • the information pushed to the client is a push notification which returns the updated data in response to an earlier submitted subscription message from the client device.
  • a push notification can be a code (e.g. a Boolean value), which informs the client device that a detailed response is available for retrieval from the Web service.
  • a common technique to deliver content to the wireless device is when the user of the device requests or “pulls” the content from the network.
  • the content of interest (or the indication whether the content is present) is available in the network, but the user needs to issue a retrieval request to access the information.
  • Current wireless systems operate by the wireless device repeatedly polling the server for data to satisfy the request. From a practical point of view, wireless communications can have higher cost than wired communications and usually are characterized by higher latency times, making a “pull” from a wireless device inherently expensive. Also, slow connection times sometimes might be annoying to a user, such as extended wait times to process the request, including periodic loss of services connection during the wait time.
  • the development effort and the skills required by a programmer to build an asynchronous services architecture for a data source are far greater than for a synchronous one.
  • the data source is required to maintain a significant amount of state information (i.e. subscription information/filters, subscriber call-back address, etc.) and perform extensive calculations when internal state change events occur, such as matching event information with every subscription filter on record.
  • FIG. 1 illustrates a block diagram of a wireless telecommunications network adapted according to an illustrative embodiment of the matter
  • FIG. 2 is a conceptual view of an embodiment of the matter
  • FIG. 3 is a block diagram showing, in greater detail, the embodiment of the wireless network shown in FIG. 1 ;
  • FIG. 4 illustrates a flowchart of operations for a mobile device to communicate with a Web service according to an embodiment of the matter
  • FIGS. 5 a and 5 b are flowcharts showing a business rules module implementation according to an embodiment of the matter.
  • the present matter seeks to provide a system and method for enabling asynchronous communication between one or more synchronous Web services and a wireless device to obviate or mitigate at least some of the above-presented disadvantages.
  • An advantage of the present matter is that it provides an inexpensive and less complex notification model that reduces wireless overhead.
  • a method for providing access to one or more notification-based Web services using a mobile device comprising the steps of:
  • the method includes storing a device identification and the subscription request to facilitate said polling and said forwarding.
  • the predetermined criterion comprises the presence of new content in the response and the method further comprises determining whether content is present in said Web service response message.
  • the notification-based Web services is a schema defined service, such an XML Web service.
  • a system for providing access to one or more notification-based Web services using a mobile device comprising:
  • the business logic of the Web service compares the content available at the data source with the subscription filter and determines whether there is a match between the available content and the subscription filter and forwards the content to the proxy if there is a match.
  • a Web service proxy comprising:
  • a device comprising a client module that receives an input from a user for a requested Web service; and a transmitter for forwarding the request to a Web services proxy, wherein the proxy generates a Web services request corresponding to the requested Web service and polls the Web service with the Web services request.
  • a wireless communication network 100 adapted to allow mobile devices 102 , 104 running notification-based applications to access one or more synchronous, poll-based Web services 124 or backend servers.
  • Mobile devices 102 , 104 wirelessly communicate over voice/data network 106 via one or more base stations 108 via a wireless gateway 110 as is known in the art.
  • the wireless gateway 110 includes a Web services proxy module 112 , which in turn includes a Web services client 116 for communicating with a Web service 124 , a notification support module 130 , and a task scheduler module 118 .
  • the gateway 110 may be a network server or other computer with software adapted to perform as described herein, and that includes one or more network interfaces.
  • the gateway 110 and the Web services proxy server 112 may be combined and their functions performed by a single device.
  • the gateway may be directly connected to a Web service 124 or through a Web service aggregator, or also connected through a data network e.g., the Internet, to one or more Web services data providers.
  • the Web service 124 includes a Web service implementation 114 and a business rules module 132 associated with the particular Web service implementation 114 .
  • the Web service implementation 114 aggregates services from a number of data providers 120 for presentation to Web service subscribers.
  • the gateway 110 may also be connected to a Web service registry and description server (not shown).
  • Web service proxy 112 , the Gateway 110 , and various Web services 124 can be accessed either by a private network; a public network, or configured together on the same machine.
  • the Web service 124 may be described by a service description language (such as WSDL), representing a source schema definition of the service.
  • the Web service 124 is connected to the gateway 110 via the service proxy server 112 . It is recognised that the functionality of the service proxy server 112 could be hosted on one server or on a distributed network of servers, as desired.
  • the proxy server 112 provides for asynchronous messages (i.e. request/response and/or push) communication between the wireless devices 102 , 104 and the service 124 .
  • the Web services proxy 112 can provide a platform-neutral communication pipe based on a set of standard protocols. As will be described later the Web service is modified to include a business rules module 132 for determining whether or not its data content matches a user's subscription filter.
  • Each mobile device 102 , 104 has stored in memory a Web service (WS) client application 122 .
  • the WS client application 122 allows a user of the mobile device 102 , 104 to initiate and engage a Web service 124 , which aggregates data from one or more data providers 120 , via the Web service proxy 112 .
  • the term WS as used herein refers to one or more generic schema defined services, which can be made available to wireless devices via queries/requests and responses through a wireless gateway.
  • the WS client application 122 may be a zero-client browser-based application or thick-client application.
  • the Web service 124 can be defined as a software service of the proxy server, which can implement an interface expressed using for example, such as but not limited to, a Web Services Description Language (WSDL) registered in a Universal Discovery Description and Integration (UDDI) Registry (not shown) and can communicate with client devices by being exposed over the gateway 110 through the Simple Object Access Protocol (SOAP).
  • SOAP is a specification that defines the XML format for the communications, including a well-formed XML fragment enclosed in SOAP elements.
  • the Web service 124 may use other known communication protocols, message formats, and the interface may be expressed in other Web services languages than described above.
  • the mobile devices 102 , 104 have a receiver for receiving messages from the gateway 110 as well as a transmitter for sending messages to the gateway 110 for eventual delivery to such as, but not limited to, Web service 124 .
  • the Web service proxy 112 facilitates communications between the client and the Web service based on the data obtained by a Web service broker.
  • a service controller (not shown), generally associated with the gateway, determines the service description used by the Web service (e.g., by retrieving the Web service's corresponding metadata from a database), obtains any necessary parameters from the client, translates the information into a message format understandable by the Web service, and forwards the message to the requested Web service.
  • the Web service proxy translates the message into messages understandable by the client, and forwards the message to the requesting WS client.
  • the service controller contains the logic that drives the service invocation behaviour of the gateway.
  • the Web service proxy 112 may be adapted to communicate synchronously 204 with each Web service 124 and asynchronously 202 with each user accessing the Web service via a WS client as illustrated schematically 200 in FIG. 2 . Accordingly, the requests and responses between a user device and a Web service can be delivered as asynchronous communications, as further described below.
  • the adapted wireless communication network 100 is shown in greater detail 300 .
  • the Web service proxy (or mobile enabler) 112 is modified to include the task scheduler 118 for synchronously polling the Web service 124 via the Web service client 116 , and the notification module 130 for storing subscriber information and corresponding subscription filters.
  • the notification module 130 accepts an initial subscription request message 138 carrying a subscription filter from the mobile device.
  • the notification module adds this to a table indexed against the appropriate device identification (such as a device PIN).
  • the task scheduler uses the time interval or frequency specified in the subscription filter (or a pre-specified interval or frequency) to generate a timer event.
  • the service proxy 112 issues a synchronous SOAP request 140 to the Web service 124 and includes the subscription filter in the body of the request message.
  • the business rules module 132 receives the request 140 and validates the received subscription filter against the available content and generates a response message 142 carrying notification data to be sent to the device 102 . If no new information is required to be passed to the user the response message data 142 is empty.
  • the Web service 124 can use the XML Schema definition language (XSD) schema element ⁇ xsd:choice> or ⁇ xsd:option> to send back this information.
  • XSD XML Schema definition language
  • the user is able to create the subscription filter, which defines the notification rules, at the time of initiating the subscription.
  • the filter may include fields such as “polling frequency”, percentage change in data etc.
  • the polling frequency may also be coded into the Web service by the application developer.
  • the task scheduler 118 in the Web service proxy 112 triggers timer events at the predetermined polling frequency and the Web service client module 116 polls the Web service 124 , by sending a Request message 140 , along with the corresponding subscription filter obtained from a specified requesting device 102 at subscription time.
  • the Web service client 116 then receives the Response data 142 from the Web service 124 at the polling frequency and sends a Response 134 to the device if the Response data 142 received from the Web service 124 is not “empty”.
  • a user defines a subscription filter including notification rules; submits the request (step 404 ) to the web service proxy.
  • the proxy stores the subscription filter and device address or identification
  • the proxy initializes the task scheduler for polling the web service and at step 410 the task scheduler issues timer events in accordance with the polling frequency set in step 408 .
  • the proxy sends requests on the time events to the web service.
  • the proxy receives notification data from the Web service and at step 416 it pushes notification results if not empty to the client.
  • the proxy waits for a next timer event at which point it resumes at step 410 to issue a new timer event.
  • the business rules module reads a filter at step 502 .
  • the filter is parsed to extract a list of tokens 508 (in this case the ticker symbols for a list of stock quotes) and its corresponding set of conditions 510 (for example the percentage change in a stock price).
  • a list of tokens 508 in this case the ticker symbols for a list of stock quotes
  • conditions 510 for example the percentage change in a stock price.
  • the application designer for the WS application may mark the Request message as a poll subscription.
  • the Web service proxy attaches the subscription to the task scheduler 118 .
  • the task scheduler 118 will issue poll Requests 140 on behalf of the user as shown in FIG. 3 .
  • the notification module 130 maintains a table correlating the requesting device identification, such as the device PIN, with the current subscription filters.
  • the asynchronous push notification 139 is used.
  • the push notification 134 is used to send the appropriate data to the user's device 102 as soon as the data is available and/or the predefined response conditions have been met to trigger the data transmission as the push notification 134 .
  • the push notification 134 returns the updated data in response to an earlier submitted subscription message from the client device.
  • a push notification can be a Boolean value, which informs the client device that a detailed response is available for retrieval from the Web service.
  • synchronous Web services can be defined as services that block/wait for a response.
  • asynchronous Web services can be defined as services that are invoked over existing Web protocols by a client (i.e. the mobile device) that does not wait for a response on the same connection/channel, but does expect a response at a later time on a different connection/channel. Therefore, in contrast with the synchronous communications, the sender (e.g. device) can submit the initial request 138 , and then go about its work. If the reply 142 does come, then the original sender can pick it up when it wants. E-mail is one example where asynchronous communication between the device and the service is desired.
  • the proxy task scheduler 118 is a distinct intelligent component that periodically issues a timer event to poll the source Web service through synchronous intermediate polling communications for specific data changes corresponding to the initial request communication 138 .
  • the asynchronous push notification 134 is returned to the device 102 as the response in connection with the request 138 that was sent, to the Web service 124 as the initial request notification 138 .
  • a network operator can offer device users asynchronous data support without performance overhead and design complexity of truly asynchronous solutions i.e. asynchronous data sources that store subscription information (e.g. subscription filters and subscriber addresses) and notify the subscribers when events of interest occur without the need for a polling request.
  • subscription information e.g. subscription filters and subscriber addresses
  • the data source provider 120 is only required to provide business rules for matching subscription filters with the available data content.
  • This system offers a simple asynchronous solution that utilizes standard synchronous Web services without requiring constant polling from the handheld thus reducing wireless traffic overhead.

Abstract

A method for providing access to one or more notification-based Web services using a mobile device, the method comprising the steps of transmitting to Web service proxy a subscription request for a requested Web service, the Web service proxy supporting asynchronous communication with the mobile device, storing a device identification and subscription request at the proxy, the proxy polling the Web service with the request, receiving at the proxy a response message determined by the Web service and in response to the polled request, continuing to poll the Web service and transmitting the response message to the mobile device only when the response message satisfies a predetermined criteria.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of application Ser. No. 11/257,090, filed on Oct. 25, 2005, which claims the benefit of priority from prior European Patent Application No. EP05109556.0, filed on Oct. 13, 2005, the entire contents of which are incorporated herein by reference.
  • FIELD OF THE INVENTION
  • The present matter relates to the field of software notifications. In particular, embodiments of this matter relate to implementing wireless notification-based applications using synchronous poll-based Web services.
  • BACKGROUND OF THE INVENTION
  • Users of handheld wireless devices now have available to them services that provide notification of time-sensitive events and information. Content providers generate content for notifications. The content is typically electronically stored to a data source and made available via a service-oriented architecture, for delivery via a network to one or more subscribing users electronically. For example, a news organization may provide notification content relating stock prices, breaking news, weather conditions, traffic conditions, etc. A user's expressed interest to receive electronic notifications for a particular class of content is generally called a notification subscription. Such subscriptions often are made between the end user and the content provider that sends the notifications. Event-driven notifications of this type are often referred to as alerts.
  • There is no built-in support in a service-oriented architecture (like Web services) to inform a client, such as a subscribing users wireless device, of its state changes. This is an important distinction for a service-oriented architecture as most computing systems are asynchronous in nature and the client needs to acquire such a change of the state through some asynchronous mechanism.
  • The client needs to know the information of interest is posted or when there is a change in the status of the posted content. Such information ideally needs to be “pushed” over the network to the client either periodically or when certain predefined events occur. Some examples of possible push situations are arrival of new e-mail, stock market information, multi-user game updates, etc. Typically, the information pushed to the client is a push notification which returns the updated data in response to an earlier submitted subscription message from the client device. Alternatively, a push notification can be a code (e.g. a Boolean value), which informs the client device that a detailed response is available for retrieval from the Web service.
  • Invoking Web service operations from a wireless device using synchronous communication methods exclusively is considered expensive and impractical. Most Web services employ protocols with a large footprint (e.g. SOAP) and are designed mostly for synchronous communication (“request/response” or “pull”) on wired networks. In a synchronous scenario, the client initiates the communication by sending a request to the server and waits to receive the response on the same connection. However, in the wireless space, where resources and bandwidth can be limited and data traffic cost can be high, synchronous communication is undesirable.
  • A common technique to deliver content to the wireless device is when the user of the device requests or “pulls” the content from the network. In other words, the content of interest (or the indication whether the content is present) is available in the network, but the user needs to issue a retrieval request to access the information. Current wireless systems operate by the wireless device repeatedly polling the server for data to satisfy the request. From a practical point of view, wireless communications can have higher cost than wired communications and usually are characterized by higher latency times, making a “pull” from a wireless device inherently expensive. Also, slow connection times sometimes might be annoying to a user, such as extended wait times to process the request, including periodic loss of services connection during the wait time.
  • While asynchronous Web services would be an ideal choice for a wireless alert or notification system there are a number of factors limiting the use of asynchronous Web services. Typically, the development effort and the skills required by a programmer to build an asynchronous services architecture for a data source are far greater than for a synchronous one. Additionally, in order to provide asynchronous notification to the wireless user when the event of interest has occurred, the data source is required to maintain a significant amount of state information (i.e. subscription information/filters, subscriber call-back address, etc.) and perform extensive calculations when internal state change events occur, such as matching event information with every subscription filter on record. These factors negatively affect availability and scalability of the system especially in the wireless space where the number of subscribers could easily reach several hundreds of thousands.
  • Accordingly, there is a need for a wireless alert or notification system, which is capable of using standard synchronous Web services.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • An embodiment or embodiments will now be described by way of example only with reference to the following drawings in which:
  • FIG. 1 illustrates a block diagram of a wireless telecommunications network adapted according to an illustrative embodiment of the matter;
  • FIG. 2 is a conceptual view of an embodiment of the matter;
  • FIG. 3 is a block diagram showing, in greater detail, the embodiment of the wireless network shown in FIG. 1;
  • FIG. 4 illustrates a flowchart of operations for a mobile device to communicate with a Web service according to an embodiment of the matter;
  • FIGS. 5 a and 5 b are flowcharts showing a business rules module implementation according to an embodiment of the matter.
  • DETAILED DESCRIPTION
  • In the following description like numerals refer to like structures and processes in the drawings.
  • The present matter seeks to provide a system and method for enabling asynchronous communication between one or more synchronous Web services and a wireless device to obviate or mitigate at least some of the above-presented disadvantages.
  • An advantage of the present matter is that it provides an inexpensive and less complex notification model that reduces wireless overhead.
  • In accordance with this matter there is provided a method for providing access to one or more notification-based Web services using a mobile device, said method comprising the steps of:
  • (a) transmitting a subscription request, received from a mobile device, for a requested Web service;
  • (b) polling said Web service in accordance with the subscription request;
  • (c) receiving a response message in response to said poll; and
  • (d) forwarding said response message asynchronously to said mobile device when said response message satisfies a predetermined criterion.
  • In accordance with another embodiment of the matter the method includes storing a device identification and the subscription request to facilitate said polling and said forwarding.
  • In accordance with another embodiment of the matter the predetermined criterion comprises the presence of new content in the response and the method further comprises determining whether content is present in said Web service response message.
  • According to a further aspect the notification-based Web services is a schema defined service, such an XML Web service.
  • In accordance with another aspect of the matter there is provided a system for providing access to one or more notification-based Web services using a mobile device, comprising:
  • (a) a Web service proxy server for receiving a request for a requested Web service;
  • (b) a task scheduler associated with said proxy for issuing a polled request message to said Web service at predetermined time intervals;
  • (c) business logic associated with said Web service to generate a response message to said polled request; and
  • (d) a message push mechanism for forwarding by said proxy said response message to said mobile device upon said response message satisfying a predetermined criterion.
  • In accordance with a still further aspect of the matter the business logic of the Web service compares the content available at the data source with the subscription filter and determines whether there is a match between the available content and the subscription filter and forwards the content to the proxy if there is a match.
  • In accordance with a still further aspect of the matter there is provided a Web service proxy, comprising:
  • (a) a first set of ports for communicating asynchronously with a mobile device;
  • (b) a second set of ports for communicating synchronously with a Web service; and
  • (c) a task scheduler for coordinating communication between said first and second set of ports.
  • In accordance with a still further aspect there is provided a device, comprising a client module that receives an input from a user for a requested Web service; and a transmitter for forwarding the request to a Web services proxy, wherein the proxy generates a Web services request corresponding to the requested Web service and polls the Web service with the Web services request.
  • Referring to FIG. 1, there is shown a wireless communication network 100 adapted to allow mobile devices 102, 104 running notification-based applications to access one or more synchronous, poll-based Web services 124 or backend servers. Mobile devices 102, 104 wirelessly communicate over voice/data network 106 via one or more base stations 108 via a wireless gateway 110 as is known in the art.
  • The wireless gateway 110 includes a Web services proxy module 112, which in turn includes a Web services client 116 for communicating with a Web service 124, a notification support module 130, and a task scheduler module 118. The gateway 110 may be a network server or other computer with software adapted to perform as described herein, and that includes one or more network interfaces. The gateway 110 and the Web services proxy server 112 may be combined and their functions performed by a single device. The gateway may be directly connected to a Web service 124 or through a Web service aggregator, or also connected through a data network e.g., the Internet, to one or more Web services data providers. The Web service 124 includes a Web service implementation 114 and a business rules module 132 associated with the particular Web service implementation 114. Typically the Web service implementation 114 aggregates services from a number of data providers 120 for presentation to Web service subscribers. The gateway 110 may also be connected to a Web service registry and description server (not shown). One of skill in the art will appreciate that the Web service proxy 112, the Gateway 110, and various Web services 124 can be accessed either by a private network; a public network, or configured together on the same machine.
  • As is known in the art, the Web service 124 may be described by a service description language (such as WSDL), representing a source schema definition of the service. The Web service 124 is connected to the gateway 110 via the service proxy server 112. It is recognised that the functionality of the service proxy server 112 could be hosted on one server or on a distributed network of servers, as desired. The proxy server 112 provides for asynchronous messages (i.e. request/response and/or push) communication between the wireless devices 102,104 and the service 124. The Web services proxy 112 can provide a platform-neutral communication pipe based on a set of standard protocols. As will be described later the Web service is modified to include a business rules module 132 for determining whether or not its data content matches a user's subscription filter.
  • Each mobile device 102, 104 has stored in memory a Web service (WS) client application 122. The WS client application 122 allows a user of the mobile device 102, 104 to initiate and engage a Web service 124, which aggregates data from one or more data providers 120, via the Web service proxy 112. The term WS as used herein refers to one or more generic schema defined services, which can be made available to wireless devices via queries/requests and responses through a wireless gateway. The WS client application 122 may be a zero-client browser-based application or thick-client application.
  • The Web service 124 can be defined as a software service of the proxy server, which can implement an interface expressed using for example, such as but not limited to, a Web Services Description Language (WSDL) registered in a Universal Discovery Description and Integration (UDDI) Registry (not shown) and can communicate with client devices by being exposed over the gateway 110 through the Simple Object Access Protocol (SOAP). SOAP is a specification that defines the XML format for the communications, including a well-formed XML fragment enclosed in SOAP elements. Alternatively, the Web service 124 may use other known communication protocols, message formats, and the interface may be expressed in other Web services languages than described above.
  • The mobile devices 102,104 have a receiver for receiving messages from the gateway 110 as well as a transmitter for sending messages to the gateway 110 for eventual delivery to such as, but not limited to, Web service 124.
  • Once a WS client application 122 in a mobile device learns about a Web service, the Web service proxy 112 facilitates communications between the client and the Web service based on the data obtained by a Web service broker. A service controller (not shown), generally associated with the gateway, determines the service description used by the Web service (e.g., by retrieving the Web service's corresponding metadata from a database), obtains any necessary parameters from the client, translates the information into a message format understandable by the Web service, and forwards the message to the requested Web service. Upon receiving the response from the Web service, the Web service proxy translates the message into messages understandable by the client, and forwards the message to the requesting WS client. The service controller contains the logic that drives the service invocation behaviour of the gateway.
  • Using the above-described architecture the Web service proxy 112 may be adapted to communicate synchronously 204 with each Web service 124 and asynchronously 202 with each user accessing the Web service via a WS client as illustrated schematically 200 in FIG. 2. Accordingly, the requests and responses between a user device and a Web service can be delivered as asynchronous communications, as further described below.
  • Referring to FIG. 3, the adapted wireless communication network 100 is shown in greater detail 300. As mentioned earlier, the Web service proxy (or mobile enabler) 112 is modified to include the task scheduler 118 for synchronously polling the Web service 124 via the Web service client 116, and the notification module 130 for storing subscriber information and corresponding subscription filters. The notification module 130 accepts an initial subscription request message 138 carrying a subscription filter from the mobile device. The notification module adds this to a table indexed against the appropriate device identification (such as a device PIN). The task scheduler uses the time interval or frequency specified in the subscription filter (or a pre-specified interval or frequency) to generate a timer event. On a timer event the service proxy 112 issues a synchronous SOAP request 140 to the Web service 124 and includes the subscription filter in the body of the request message. The business rules module 132 receives the request 140 and validates the received subscription filter against the available content and generates a response message 142 carrying notification data to be sent to the device 102. If no new information is required to be passed to the user the response message data 142 is empty. For example the Web service 124 can use the XML Schema definition language (XSD) schema element <xsd:choice> or <xsd:option> to send back this information.
  • The user is able to create the subscription filter, which defines the notification rules, at the time of initiating the subscription. The filter may include fields such as “polling frequency”, percentage change in data etc. The polling frequency may also be coded into the Web service by the application developer. An example of a subscription filter may look like Filter: <ticker=MSFT, IBM, RIM; daily change=10%>
  • The task scheduler 118 in the Web service proxy 112 triggers timer events at the predetermined polling frequency and the Web service client module 116 polls the Web service 124, by sending a Request message 140, along with the corresponding subscription filter obtained from a specified requesting device 102 at subscription time. The Web service client 116 then receives the Response data 142 from the Web service 124 at the polling frequency and sends a Response 134 to the device if the Response data 142 received from the Web service 124 is not “empty”.
  • Referring to FIG. 4 there is shown a flowchart of operations in accordance with an embodiment. At step 402 a user defines a subscription filter including notification rules; submits the request (step 404) to the web service proxy. At step 406 the proxy stores the subscription filter and device address or identification, at step 408 the proxy initializes the task scheduler for polling the web service and at step 410 the task scheduler issues timer events in accordance with the polling frequency set in step 408. At step 412 the proxy sends requests on the time events to the web service. At step 414 the proxy receives notification data from the Web service and at step 416 it pushes notification results if not empty to the client. At step 418 the proxy waits for a next timer event at which point it resumes at step 410 to issue a new timer event.
  • Referring to FIG. 5 a and FIG. 5 b there is illustrated the steps performed by the business rules of the Web service in deciding whether to respond with updated data to the proxy. Referring to FIG. 5 a the business rules module reads a filter at step 502. At step 504 the filter is parsed to extract a list of tokens 508 (in this case the ticker symbols for a list of stock quotes) and its corresponding set of conditions 510 (for example the percentage change in a stock price). Once new data is available the module 132 scans the list of tokens 512 and determines whether any of the conditions corresponding to that token are true 513, if so it returns the appropriate notification data 514 otherwise it returns a null or empty value 516, as illustrated by the flowchart of FIG. 5 b.
  • At design time the application designer for the WS application may mark the Request message as a poll subscription. After the message (subscription request 138) is issued by the WS client application 122 the Web service proxy attaches the subscription to the task scheduler 118. When attached, the task scheduler 118 will issue poll Requests 140 on behalf of the user as shown in FIG. 3. The notification module 130 maintains a table correlating the requesting device identification, such as the device PIN, with the current subscription filters.
  • Given the specific initial request 138 (such as initiated by the user or system services) to be notified with specific data on predefined conditions, the asynchronous push notification 139 is used. In asynchronous communications, the push notification 134 is used to send the appropriate data to the user's device 102 as soon as the data is available and/or the predefined response conditions have been met to trigger the data transmission as the push notification 134.
  • Typically, the push notification 134 returns the updated data in response to an earlier submitted subscription message from the client device. Alternatively, a push notification can be a Boolean value, which informs the client device that a detailed response is available for retrieval from the Web service.
  • In general, synchronous Web services can be defined as services that block/wait for a response. In contrast, asynchronous Web services can be defined as services that are invoked over existing Web protocols by a client (i.e. the mobile device) that does not wait for a response on the same connection/channel, but does expect a response at a later time on a different connection/channel. Therefore, in contrast with the synchronous communications, the sender (e.g. device) can submit the initial request 138, and then go about its work. If the reply 142 does come, then the original sender can pick it up when it wants. E-mail is one example where asynchronous communication between the device and the service is desired.
  • The proxy task scheduler 118 is a distinct intelligent component that periodically issues a timer event to poll the source Web service through synchronous intermediate polling communications for specific data changes corresponding to the initial request communication 138.
  • Accordingly, the asynchronous push notification 134 is returned to the device 102 as the response in connection with the request 138 that was sent, to the Web service 124 as the initial request notification 138.
  • Thus, by adding the above-described service proxy to the network, a network operator can offer device users asynchronous data support without performance overhead and design complexity of truly asynchronous solutions i.e. asynchronous data sources that store subscription information (e.g. subscription filters and subscriber addresses) and notify the subscribers when events of interest occur without the need for a polling request. By delegating subscription/notification handling to a service proxy the data source provider 120 is only required to provide business rules for matching subscription filters with the available data content. This system offers a simple asynchronous solution that utilizes standard synchronous Web services without requiring constant polling from the handheld thus reducing wireless traffic overhead.
  • While this matter has been described with respect to specific examples including presently preferred modes of carrying out the embodiments, those skilled in the art will appreciate that there are numerous variations, permutations and combinations of the above described systems and techniques that fall within the spirit and scope of the matter as set forth in the appended claims.

Claims (20)

1. A Web service proxy server comprising:
a notification module accepting a subscription request message carrying a subscription filter from a mobile device and storing the subscription filter indexed against the mobile device, the subscription filter specifying a polling frequency and a device identification;
a task scheduler generating a timer event based on the polling frequency; and
a Web service client in communication with a Web service; the Web service client sending a request message synchronously to the Web service in response to the timer event, and receiving a notification data from the Web service;
wherein the Web service proxy server forwards said notification data asynchronously to said mobile device when said response message satisfies a predetermined criterion.
2. The Web service proxy server according to claim 1, wherein the Web service compares a content available at a data source with the subscription filter carried in the subscription request message.
3. The Web service proxy server according to claim 1, wherein the Web service is a schema-defined service.
4. The Web service proxy server according to claim 1, wherein the predetermined criterion comprises a presence of new content in the notification data, and wherein the Web service proxy server determines whether a content is present in the notification data from said Web service.
5. The Web service proxy server according to claim 1, wherein the Web service is an XML Web service.
6. The Web service proxy server according to claim 1, wherein the polling criterion is a percentage change of a data.
7. The Web service proxy server according to claim 1, wherein the Web service proxy server resides in a wireless gateway.
8. A mobile device comprising:
a first module for generating a subscription request message including a subscription filter; the subscription filter specifying a polling frequency and a device identification for the mobile device;
a second module for receiving a notification data asynchronously from a Web service proxy server;
wherein the Web service proxy server comprises a notification module accepting the subscription request message; a task scheduler generating a timer event based on the polling frequency; a Web service client in communication with a Web service, the Web service client sending a request message synchronously to the Web service in response to the timer event, and receiving a notification data from the Web service and
wherein the Web service proxy server forwards said notification data asynchronously to said mobile device when said response message satisfies a predetermined criterion.
9. The mobile device according to claim 8, wherein the Web service compares a content available at a data source with the subscription filter carried in the subscription request message.
10. The mobile device according to claim 8, wherein the Web service is a schema-defined service.
11. The mobile device according to claim 8, wherein the predetermined criterion comprises a presence of new content in the notification data, and wherein the Web service proxy server determines whether a content is present in the notification data from said Web service.
12. The mobile device according to claim 8, wherein the Web service is an XML Web service.
13. The mobile device according to claim 8, wherein the polling criterion is a percentage change of a data.
14. A method for providing access to a Web service using a mobile device, the method comprising:
receiving a subscription request message from a mobile device at a Web service proxy server including a Web service client in communication with the Web service, the subscription request message including a subscription filter;
storing the subscription filter at the Web service proxy server, the subscription filter specifying a polling frequency and a device identification;
generating a timer event according to the polling frequency;
sending a request message synchronously from the Web service client to the Web service in response to the timer event;
receiving at the Web service client a notification data from the Web service; and
forwarding the notification data asynchronously to the mobile device when the response message satisfies a predetermined criterion.
15. The method according to claim 14, wherein the predetermined criterion comprises a presence of new content in the notification data, further comprising:
determining whether a content is present in the notification data from the Web service.
16. The method according to claim 14, wherein the polling criterion is a percentage change of a data.
17. The method according to claim 14, further comprising:
comparing a content available at a data source with the subscription filter carried in the subscription request message.
18. The method according to claim 14, wherein the Web service is a schema-defined service.
19. The method according to claim 14, wherein the Web service is an XML Web service.
20. The method according to claim 14, wherein the Web service proxy server resides in a wireless gateway.
US12/814,292 2005-10-13 2010-06-11 System and method for providing asynchronous notifications using synchronous data sources Abandoned US20100250695A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/814,292 US20100250695A1 (en) 2005-10-13 2010-06-11 System and method for providing asynchronous notifications using synchronous data sources

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EPEP05109556.0 2005-10-13
EP05109556.0A EP1775911B1 (en) 2005-10-13 2005-10-13 System and method for providing asynchronous notifications using synchronous data
US11/257,090 US7761522B2 (en) 2005-10-13 2005-10-25 System and method for providing asynchronous notifications using synchronous data sources
US12/814,292 US20100250695A1 (en) 2005-10-13 2010-06-11 System and method for providing asynchronous notifications using synchronous data sources

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/257,090 Continuation US7761522B2 (en) 2005-10-13 2005-10-25 System and method for providing asynchronous notifications using synchronous data sources

Publications (1)

Publication Number Publication Date
US20100250695A1 true US20100250695A1 (en) 2010-09-30

Family

ID=35929645

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/257,090 Expired - Fee Related US7761522B2 (en) 2005-10-13 2005-10-25 System and method for providing asynchronous notifications using synchronous data sources
US12/814,292 Abandoned US20100250695A1 (en) 2005-10-13 2010-06-11 System and method for providing asynchronous notifications using synchronous data sources

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/257,090 Expired - Fee Related US7761522B2 (en) 2005-10-13 2005-10-25 System and method for providing asynchronous notifications using synchronous data sources

Country Status (2)

Country Link
US (2) US7761522B2 (en)
EP (1) EP1775911B1 (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158367A1 (en) * 2006-03-28 2009-06-18 Objectvideo, Inc. Intelligent video network protocol
US20110040895A1 (en) * 2009-08-14 2011-02-17 Research In Motion Limited Methods and apparatus for synchronizing notifications for service events
US20120023236A1 (en) * 2010-07-26 2012-01-26 Ari Backholm Distributed implementation of dynamic wireless traffic policy
US20120151044A1 (en) * 2010-07-26 2012-06-14 Michael Luna Distributed caching for resource and mobile network traffic management
US20120179787A1 (en) * 2011-01-10 2012-07-12 Bank Of America Corporation Systems and methods for requesting and delivering network content
US20130010693A1 (en) * 2010-11-22 2013-01-10 Michael Luna Mobile network background traffic data management with optimized polling intervals
US20130046827A1 (en) * 2011-08-17 2013-02-21 Canon Kabushiki Kaisha Document management server apparatus, system, newly-arrived document notification method, and storage medium
US8407305B2 (en) 1998-05-29 2013-03-26 Research In Motion Limited System and method for pushing information from a mobile computer to another device
US20130138717A1 (en) * 2011-11-28 2013-05-30 William A. N. Lingley Remote cine viewing of medical images on a zero-client application
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8782222B2 (en) 2010-11-01 2014-07-15 Seven Networks Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US8839412B1 (en) 2005-04-21 2014-09-16 Seven Networks, Inc. Flexible real-time inbox access
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US9374435B2 (en) * 1998-05-29 2016-06-21 Blackberry Limited System and method for using trigger events and a redirector flag to redirect messages
US9671851B2 (en) 2010-07-26 2017-06-06 Seven Networks, Llc Optimizing mobile network traffic coordination across multiple applications running on a mobile device
US9712986B2 (en) 2008-01-11 2017-07-18 Seven Networks, Llc Mobile device configured for communicating with another mobile device associated with an associated user

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200729921A (en) * 2006-01-27 2007-08-01 Acer Inc Mobile information service method and device and system thereof
US20070192706A1 (en) * 2006-02-14 2007-08-16 International Business Machines Corporation Service gateway for providing a scalable and loosely coupled service oriented architecture
US8990340B1 (en) 2006-06-27 2015-03-24 Fingerprint Cards Ab Aggregation system
US7805489B2 (en) * 2006-06-27 2010-09-28 Research In Motion Limited Electronic mail communications system with client email internet service provider (ISP) polling application and related methods
US7886000B1 (en) 2006-06-27 2011-02-08 Confluence Commons, Inc. Aggregation system for social network sites
US8849896B2 (en) 2006-10-16 2014-09-30 Nokia Corporation Dynamic polling control for content distribution
US8060568B2 (en) * 2007-05-29 2011-11-15 SAP Portal Israel Ltd. Real time messaging framework hub to intercept and retransmit messages for a messaging facility
US20090083441A1 (en) 2007-09-24 2009-03-26 Microsoft Corporation Synchronization of web service endpoints in a multi-master synchronization environment
US7957748B2 (en) * 2007-10-19 2011-06-07 Technigraphics, Inc. System and methods for establishing a real-time location-based service network
US8949344B2 (en) * 2008-09-15 2015-02-03 Microsoft Corporation Asynchronous queued messaging for web applications
US9307038B2 (en) * 2009-12-29 2016-04-05 Motorola Solutions, Inc. Method for presence notification based on a sequence of events
CA2806557C (en) * 2010-07-26 2014-10-07 Michael Luna Mobile application traffic optimization
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
GB2510493B (en) * 2010-07-26 2014-12-24 Seven Networks Inc Mobile application traffic optimization
EP3422775A1 (en) 2010-11-22 2019-01-02 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
US8666997B2 (en) 2010-12-08 2014-03-04 Microsoft Corporation Placeholders returned for data representation items
US8983907B2 (en) 2010-12-08 2015-03-17 Microsoft Technology Licensing, Llc Change notifications from an updated data representation
GB2501416B (en) 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9069829B2 (en) 2011-01-21 2015-06-30 Microsoft Technology Licensing, Llc Data items manager
US8407776B2 (en) 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
US20120215880A1 (en) * 2011-02-23 2012-08-23 Vikas Lamba Forwarding data from server to device
WO2012149434A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8838533B2 (en) 2011-05-20 2014-09-16 Microsoft Corporation Optimistic application of data edits
WO2012159665A1 (en) * 2011-05-24 2012-11-29 Isa Auctionata Auktionen Ag Computer system for the exchange of messages
US20130067492A1 (en) * 2011-09-09 2013-03-14 Eli Joshua FIDLER Content-filter publish-subscribe system that optimizes interprocess communications
US9231995B2 (en) * 2011-09-30 2016-01-05 Oracle International Corporation System and method for providing asynchrony in web services
US9749435B2 (en) 2012-01-20 2017-08-29 Apple Inc. Proxy-based push service
US8948091B2 (en) * 2012-07-10 2015-02-03 Empire Technology Development Llc Push management scheme
US20140317168A1 (en) * 2013-04-17 2014-10-23 Telefonaktiebolaget L M Ericsson (Publ) System, method, and device for exposing wireless module data storage
US9503540B2 (en) 2013-05-09 2016-11-22 Nokia Technologies Oy Method and apparatus for asynchronous distribution of content
US9450904B2 (en) 2013-07-15 2016-09-20 Dropbox, Inc. Coordinated notifications across multiple channels
EP2919418B1 (en) * 2014-03-13 2017-03-01 Alcatel Lucent Apparatuses, methods and computer program for a base station transceiver and for a mobile transceiver
US10742759B2 (en) 2015-02-18 2020-08-11 Red Hat, Inc. Workflow-based push notifications
CN104796458A (en) * 2015-03-20 2015-07-22 四川长虹电器股份有限公司 Information fusion method for Android system
US10489206B2 (en) * 2016-12-30 2019-11-26 Texas Instruments Incorporated Scheduling of concurrent block based data processing tasks on a hardware thread scheduler
US11233867B2 (en) 2017-03-13 2022-01-25 Microsoft Technology Licensing, Llc On-demand push notification mechanism
CN113141387B (en) * 2020-01-19 2023-05-26 中国石油天然气股份有限公司 Service subscription method, device and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010056508A1 (en) * 2000-05-12 2001-12-27 Kenneth Arneson Event notification system and method
US20040078464A1 (en) * 1999-09-16 2004-04-22 Rajan Sreeranga P. Method and apparatus for enabling real time monitoring and notification of data updates for WEB-based data synchronization services

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029175A (en) 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US6920637B2 (en) * 1995-11-17 2005-07-19 Symbol Technologies, Inc. Method and apparatus for implementing alerts on a browser running on a portable handheld device
GB2313524A (en) * 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6477565B1 (en) * 1999-06-01 2002-11-05 Yodlee.Com, Inc. Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
AU2001249961A1 (en) * 2000-04-11 2001-10-23 Telecommunication Systems, Inc. Individualized network information server
US20020059457A1 (en) 2000-07-06 2002-05-16 Ballard Glenn Wesley System and method for the remote creation of notification agents for wireless devices
US7076244B2 (en) 2001-07-23 2006-07-11 Research In Motion Limited System and method for pushing information to a mobile device
US20060182050A1 (en) * 2005-01-28 2006-08-17 Hewlett-Packard Development Company, L.P. Storage replication system with data tracking
US7729325B2 (en) * 2005-04-05 2010-06-01 Toshiba America Research, Inc. Beamforming and distributed opportunistic scheduling in wireless networks
US20060235970A1 (en) * 2005-04-18 2006-10-19 Cameron Bateman System and method for exposing synchronous web services as notification style web services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078464A1 (en) * 1999-09-16 2004-04-22 Rajan Sreeranga P. Method and apparatus for enabling real time monitoring and notification of data updates for WEB-based data synchronization services
US20010056508A1 (en) * 2000-05-12 2001-12-27 Kenneth Arneson Event notification system and method

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374435B2 (en) * 1998-05-29 2016-06-21 Blackberry Limited System and method for using trigger events and a redirector flag to redirect messages
US8407305B2 (en) 1998-05-29 2013-03-26 Research In Motion Limited System and method for pushing information from a mobile computer to another device
US8811952B2 (en) 2002-01-08 2014-08-19 Seven Networks, Inc. Mobile device power management in data synchronization over a mobile network with or without a trigger notification
US8839412B1 (en) 2005-04-21 2014-09-16 Seven Networks, Inc. Flexible real-time inbox access
US8761756B2 (en) 2005-06-21 2014-06-24 Seven Networks International Oy Maintaining an IP connection in a mobile network
US20090158367A1 (en) * 2006-03-28 2009-06-18 Objectvideo, Inc. Intelligent video network protocol
US9021006B2 (en) * 2006-03-28 2015-04-28 Avigilon Fortress Corporation Intelligent video network protocol
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8774844B2 (en) 2007-06-01 2014-07-08 Seven Networks, Inc. Integrated messaging
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US9712986B2 (en) 2008-01-11 2017-07-18 Seven Networks, Llc Mobile device configured for communicating with another mobile device associated with an associated user
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US8838744B2 (en) 2008-01-28 2014-09-16 Seven Networks, Inc. Web-based access to data objects
US8799410B2 (en) 2008-01-28 2014-08-05 Seven Networks, Inc. System and method of a relay server for managing communications and notification between a mobile device and a web access server
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US10742745B2 (en) 2009-08-14 2020-08-11 Blackberry Limited Methods and apparatus for managing notifications for service events
US9571574B2 (en) 2009-08-14 2017-02-14 Blackberry Limited Methods and apparatus for managing notifications for service events
US9332070B2 (en) 2009-08-14 2016-05-03 Blackberry Limited Methods and apparatus for synchronizing notifications for service events
US20110040863A1 (en) * 2009-08-14 2011-02-17 Research In Motion Limited Methods and apparatus for managing notifications for service events
US20110040895A1 (en) * 2009-08-14 2011-02-17 Research In Motion Limited Methods and apparatus for synchronizing notifications for service events
US8838783B2 (en) * 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US9043433B2 (en) 2010-07-26 2015-05-26 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US20120023236A1 (en) * 2010-07-26 2012-01-26 Ari Backholm Distributed implementation of dynamic wireless traffic policy
US9077630B2 (en) * 2010-07-26 2015-07-07 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
US20120151044A1 (en) * 2010-07-26 2012-06-14 Michael Luna Distributed caching for resource and mobile network traffic management
US9049179B2 (en) 2010-07-26 2015-06-02 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US9671851B2 (en) 2010-07-26 2017-06-06 Seven Networks, Llc Optimizing mobile network traffic coordination across multiple applications running on a mobile device
US9681387B2 (en) 2010-07-26 2017-06-13 Seven Networks, Llc Mobile traffic optimization and coordination and user experience enhancement
US8782222B2 (en) 2010-11-01 2014-07-15 Seven Networks Timing of keep-alive messages used in a system for mobile network resource conservation and optimization
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US9100873B2 (en) * 2010-11-22 2015-08-04 Seven Networks, Inc. Mobile network background traffic data management
US20130010693A1 (en) * 2010-11-22 2013-01-10 Michael Luna Mobile network background traffic data management with optimized polling intervals
US20120179787A1 (en) * 2011-01-10 2012-07-12 Bank Of America Corporation Systems and methods for requesting and delivering network content
US8527582B2 (en) * 2011-01-10 2013-09-03 Bank Of America Corporation Systems and methods for requesting and delivering network content
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
US8832228B2 (en) 2011-04-27 2014-09-09 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
US9239800B2 (en) 2011-07-27 2016-01-19 Seven Networks, Llc Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US20130046827A1 (en) * 2011-08-17 2013-02-21 Canon Kabushiki Kaisha Document management server apparatus, system, newly-arrived document notification method, and storage medium
US9635074B2 (en) 2011-11-28 2017-04-25 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US8799358B2 (en) * 2011-11-28 2014-08-05 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US9769226B2 (en) 2011-11-28 2017-09-19 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US9954915B2 (en) 2011-11-28 2018-04-24 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US20130138717A1 (en) * 2011-11-28 2013-05-30 William A. N. Lingley Remote cine viewing of medical images on a zero-client application
US9338207B2 (en) 2011-11-28 2016-05-10 Merge Healthcare Incorporated Remote cine viewing of medical images on a zero-client application
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US9173128B2 (en) 2011-12-07 2015-10-27 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9009250B2 (en) 2011-12-07 2015-04-14 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US9021021B2 (en) 2011-12-14 2015-04-28 Seven Networks, Inc. Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10250513B2 (en) 2013-07-22 2019-04-02 Seven Networks, Llc Systems and methods for enhancing mobile traffic management at a proxy server associated with or residing on a mobile carrier for aligning traffic in the mobile network

Also Published As

Publication number Publication date
US7761522B2 (en) 2010-07-20
EP1775911B1 (en) 2018-02-28
US20070088790A1 (en) 2007-04-19
EP1775911A1 (en) 2007-04-18

Similar Documents

Publication Publication Date Title
US7761522B2 (en) System and method for providing asynchronous notifications using synchronous data sources
CA2539468C (en) System and method for asynchronous wireless services using reverse service schema generation
CA2604897C (en) System and method for enabling asynchronous push-based applications on a wireless device
KR100496712B1 (en) Method and apparatus for inter-application communication in wireless networks
US7254614B2 (en) Web services push gateway
US8977673B2 (en) Information on availability of services provided by publish-subscribe service
CA2601736C (en) Method and system for centralized user notification and application execution control
EP1021021B1 (en) Method and apparatus for providing awareness-triggered push
EP3864880B1 (en) Devices and methods for discovering collectable data and analytics data in a network
JP2009532785A (en) System and method for searching different data stores via a remote device
EP2139203A1 (en) Bus system
KR20050077273A (en) Printing using instant message protocol
CA2604902C (en) System and method for enabling group subscription for asynchronous push-based applications on a wireless device
WO2004068816A1 (en) Event notification system
CN112711635B (en) Method for cross-regional data consistency of distributed Internet of things equipment and service cluster
WO2012054422A1 (en) Local polling method and system for real time updating of web-based services
CN111917687A (en) Method and device for circularly pushing reminding message
CN114553891B (en) Method, system, terminal equipment and storage medium for converting synchronous request into asynchronous processing
Min et al. Augmenting the OGC Web processing service with message-based asynchronous notification
Chen Enabling Uniform Push Services for WAP and WWW
CA2511193A1 (en) System and method of queued web services

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: BLACKBERRY LIMITED, ONTARIO

Free format text: CHANGE OF NAME;ASSIGNOR:RESEARCH IN MOTION LIMITED;REEL/FRAME:034143/0567

Effective date: 20130709