A method includes registering with a proxy for an auxiliary event-package, wherein the auxiliary event-package is provided by a plurality of auxiliary event-package servers. The method may further include subscribing to the auxiliary event-package through the proxy. The proxy forwards the subscription to the plurality of auxiliary event-package servers. The method may include receiving an initial notify from one of the auxiliary event-package servers and identifying the one of the auxiliary event-package servers as a primary handle for the auxiliary event-package. In addition, the method may include identifying others of the plurality of auxiliary event-package servers as secondary handles for the auxiliary event-package.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A computer-implemented method comprising: registering, by a user device, with a proxy for an auxiliary event-package, wherein the auxiliary event-package is provided by a plurality of auxiliary event-package servers; subscribing to the auxiliary event-package through the proxy, wherein the proxy forwards the subscription to the plurality of auxiliary event-package servers; receiving, from each of the plurality of auxiliary event-package servers, an accept notification and an initial notify; selecting, by the user device, one of the plurality of auxiliary event-package servers as a primary handle for the auxiliary event-package, wherein selecting the one of the auxiliary event-package servers as the primary handle for the auxiliary event-package comprises receiving a first notify message from the one of the auxiliary event-package servers prior to a notify message from the others of the plurality of auxiliary event-package servers and wherein the user device is configured to publish to the primary handle; and identifying others of the plurality of auxiliary event-package servers as secondary handles for the auxiliary event-package, wherein the user device is operable to receive notifications from the primary handle and the secondary handles.
A user device registers with a proxy server to access an auxiliary event package, which is provided by multiple servers. The device subscribes to the package through the proxy, which forwards the subscription to all the servers. Each server sends an acceptance and an initial notification. The device selects one server as the primary handle based on receiving the first notification from that server. All publications are sent to this primary server. The other servers are identified as secondary handles, and the device can receive notifications from both the primary and secondary handles, enabling redundancy.
2. The computer-implemented method of claim 1 , wherein selecting, by the user device, the one of the auxiliary event-package servers as the primary handle for the auxiliary event-package further comprises indicating to the plurality of auxiliary event-package servers an identity of the primary handle from the plurality of auxiliary event-package servers and limiting notifications and publications to and from the auxiliary event-package to the primary handle.
Building upon the previous event package setup, the user device, after selecting a primary server, informs all auxiliary event package servers about the chosen primary. The system then limits all future notifications and publications related to the event package to only the designated primary server, ensuring a single point of communication after the initial server selection. This reduces network traffic and simplifies event management by centralizing interactions.
3. The computer-implemented method of claim 1 , further comprising: executing the auxiliary event-package using the primary handle.
Building upon the previous event package setup, once the primary server is selected, the user device executes or utilizes the auxiliary event package specifically through this primary server. This focuses all interactions and operations related to the event package on the chosen primary server, streamlining the process and ensuring a consistent point of interaction.
4. The computer-implemented method of claim 1 , further comprising: determining that the primary handle is unavailable to execute the auxiliary event-package; and identifying one of the secondary handles as a new primary handle.
Building upon the previous event package setup, if the user device detects that the primary server is unavailable (e.g., due to network issues), it selects one of the secondary servers to become the new primary server. This failover mechanism ensures continuous operation of the auxiliary event package by automatically switching to a working server, providing high availability and uninterrupted service.
5. The computer-implemented method of claim 1 , wherein the auxiliary event-package comprises at least one of a stateful event-package and a stateless event-package.
Building upon the previous event package setup, the auxiliary event package can be either stateful (maintaining session information) or stateless (each request is independent). This allows the system to support different types of event packages based on the specific requirements of the application. The flexibility to use either stateful or stateless packages broadens the applicability of the system.
6. The computer-implemented method of claim 1 , further comprising: performing at least one of a refresh or a re-subscribe; and reestablishing server-affinity to the one of the auxiliary event-package servers.
Building upon the previous event package setup, the user device can perform a refresh (update data) or re-subscribe (renew subscription) action. During either of these actions, the device re-establishes its connection or affinity to the original, or a potentially new, primary server. This ensures that the device maintains a consistent and up-to-date connection to the server responsible for the event package, even after network interruptions or subscription renewals.
7. The computer-implemented method of claim 1 , wherein subscribing to the auxiliary event-package through the proxy comprises subscribing to an auxiliary event-package server that accepts multiple subscriptions for each address of record.
Building upon the previous event package setup, the subscription process through the proxy involves subscribing to an auxiliary event package server that is capable of handling multiple subscriptions for the same "address of record" (e.g., a unique identifier). This enables efficient resource utilization on the server side, as a single server instance can serve multiple clients subscribing to the same event package.
8. The computer-implemented method of claim 1 , further comprising: subscribing to the auxiliary event-package at the one of the auxiliary event-package servers, wherein the auxiliary event-package servers has an existing session for the auxiliary event-package; and receiving a notification from the one of the auxiliary event-package servers indicating that the one of the auxiliary event-package servers has added the subscription to the existing session for the auxiliary event-package.
Building upon the previous event package setup, the user device subscribes to the auxiliary event-package on a server that already has an existing session for that package. The server then sends a notification back to the device confirming that the new subscription has been added to this existing session. This allows multiple users to join the same event package session efficiently, avoiding redundant setup procedures and reducing overhead.
9. The computer-implemented method of claim 1 , wherein the auxiliary event-package comprises at least one of a location service and a presence service.
Building upon the previous event package setup, the auxiliary event package can represent either a location service (providing location updates) or a presence service (indicating user availability). This highlights specific examples of event packages that can be utilized within the system, demonstrating its applicability to real-world scenarios like tracking location or monitoring user status.
10. A device comprising: a memory to store a plurality of instructions; and a processor configured to execute instructions in the memory to: register with a proxy for an auxiliary event-package, wherein the auxiliary event-package is provided via a plurality of auxiliary event-package servers; subscribe to the auxiliary event-package through the proxy, wherein the proxy forwards the subscription to the plurality of auxiliary event-package servers; select one of the auxiliary event-package servers as a primary server for the auxiliary event-package, wherein selecting the one of the auxiliary event-package servers as the primary handle for the auxiliary event-package comprises receiving a first notify message from the one of the auxiliary event-package servers prior to a notify message from the others of the plurality of auxiliary event-package servers and wherein the device is configured to publish to the primary handle; and identify others of the plurality of auxiliary event-package servers as secondary servers for the auxiliary event-package.
A device has a processor and memory, enabling it to register with a proxy server for an auxiliary event package served by multiple servers. The device subscribes through the proxy, which forwards the request. The device chooses a primary server from the multiple servers by selecting the server that first sends a notification. The device is configured to publish to this primary server. The remaining servers are identified as secondary servers for redundancy.
11. The device of claim 10 , wherein when selecting the one of the auxiliary event-package servers as the primary server for the auxiliary event-package, the processor is configured to indicate to the plurality of auxiliary event-package servers an identity of the primary server from the plurality of auxiliary event-package servers and limit notifications and publications to and from the auxiliary event-package to the primary server.
Building upon the device setup for event packages, when the processor chooses a primary server, it informs all other auxiliary event package servers of this selection. The device then limits all future notifications and publications related to the event package to this single, designated primary server, ensuring that all communication is channeled through one point after the initial selection.
12. The device of claim 10 , wherein the processor is further configured to execute the auxiliary event-package using the primary server.
Building upon the device setup for event packages, the processor is further configured to execute or utilize the auxiliary event package through the chosen primary server. All operations and interactions related to the event package are focused on the primary server, streamlining the process and ensuring consistent communication.
13. The device of claim 10 , wherein the processor is further configured to: determine that the primary server is unavailable to execute the auxiliary event-package; and identify one of the secondary servers as a new primary server.
Building upon the device setup for event packages, if the processor determines the primary server is unavailable, it selects one of the secondary servers to become the new primary. This ensures continuous operation of the auxiliary event package by automatically switching to a working server, maintaining service availability.
14. The device of claim 10 , wherein the processor is further configured to: perform at least one of a refresh or a re-subscribe; and reestablish server-affinity to the one of the auxiliary event-package servers.
Building upon the device setup for event packages, the processor can perform a refresh or re-subscribe action. During either of these actions, the processor re-establishes server affinity to one of the auxiliary event package servers, likely the existing primary, to maintain a consistent connection and ensure up-to-date information.
15. The device of claim 10 , wherein the processor is further configured to subscribe to the auxiliary event-package at the one of the auxiliary event-package servers, wherein the auxiliary event-package servers has an existing session for the auxiliary event-package; and receive a notification from the one of the auxiliary event-package servers indicating that the one of the auxiliary event-package servers has added the subscription to the existing session for the auxiliary event-package.
Building upon the device setup for event packages, the processor subscribes to the auxiliary event package on a server that already has an existing session for the package. The server notifies the device that the new subscription has been added to the existing session. This allows the device to join an ongoing session seamlessly, avoiding redundant setup.
16. A non-transitory computer-readable medium including instructions to be executed by a processor, the instructions including one or more instructions, which when executed by the processor, for causes the processor to: register, by a user device, with a proxy for an auxiliary event-package, wherein the auxiliary event-package is provided by a plurality of auxiliary event-package servers; subscribe to the auxiliary event-package through the proxy, wherein the proxy forwards the subscription to the plurality of auxiliary event-package servers; receive an initial notify message from one of the auxiliary event-package servers; select, by the user device, the one of the auxiliary event-package servers as a primary server for the auxiliary event-package, wherein selecting the one of the auxiliary event-package servers as the primary handle for the auxiliary event-package comprises receiving a first notify message from the one of the auxiliary event-package servers prior to a notify message from the others of the plurality of auxiliary event-package servers and wherein the user device is configured to publish to the primary handle; identify others of the plurality of auxiliary event-package servers as secondary servers for the auxiliary event-package; and execute the auxiliary event-package using the primary server.
A non-transitory computer-readable medium stores instructions for a processor to register with a proxy server for an auxiliary event package served by multiple servers. The instructions enable the processor to subscribe through the proxy, which forwards the request. The processor receives a first notification from one of the servers and selects that server as the primary. The processor publishes to this primary server, identifies other servers as secondary, and executes the event package using the primary server.
17. The non-transitory computer-readable medium of claim 16 , where the one or more instructions further includes instructions for causing the processor to: determine that the primary server is unavailable to execute the auxiliary event-package; and identify one of the secondary servers as a new primary server.
Building upon the software instructions for event packages, the computer-readable medium includes further instructions that cause the processor to detect if the primary server becomes unavailable. In this event, the instructions cause the processor to select one of the secondary servers to become the new primary server, ensuring failover capability and continuous operation of the event package.
18. A system comprising: a plurality of auxiliary event-package servers configured to provide an auxiliary event-package; a session initiation protocol (SIP) proxy; and a user device comprising: a memory to store a plurality of instructions; and a processor configured to execute instructions in the memory to: subscribe to the auxiliary event-package through the proxy, wherein the proxy forwards the subscription to the plurality of auxiliary event-package servers; receive a first initial notify message from one of the auxiliary event-package servers prior to a notify message from the others of the plurality of auxiliary event-package servers; select the one of the auxiliary event-package servers that sends the first initial notify message as a primary server for the auxiliary event-package, wherein the user device is configured to publish to the primary handle; and identify others of the plurality of auxiliary event-package servers as secondary servers for the auxiliary event-package; and a transceiver to transmit and receive SIP messages.
A system includes multiple auxiliary event package servers providing the event package, a SIP proxy, and a user device. The device subscribes to the event package via the proxy, which forwards the subscription. The device receives initial notifications from the servers and selects the server sending the *first* notification as primary. The device publishes to this primary and designates the remaining servers as secondary. The user device has a transceiver to send and receive SIP messages.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 2, 2011
August 27, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.