IP Library Granted Patent US 10,218,809
Granted Patent B2
US 10,218,809 · App. 15/291,816 · Granted Feb 26, 2019

Dynamic configuration of service communication

Inventors: Dexter Paul Bradshaw (Bainbridge Island, WA); Jeffrey Stamerjohn (Mercer Island, WA); Jinjiang Zeng (Mercer Island, WA)
Assignee: HOME BOX OFFICE, INC.
H04L67/2842G06F17/30864G06T1/20G06T1/60G06T11/206H04L41/5038H04L41/5054H04L43/045H04L43/10H04L65/105H04L67/02H04L67/10H04L67/16H04L67/28H04L67/2833H04L67/2852H04L67/32H04L67/34H04L67/42H04N21/251H04N21/43H04N21/4332H04N21/4821H04N21/4826
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,218,809
App. No.
15/291,816
Granted
Feb 26, 2019
Kind
B2
Abstract

The described technology is generally directed towards a subscriber service using configurable data (e.g., a declarative configuration file) data to make service calls to publisher endpoints. Dynamic reconfiguration of the data changes the service call communication parameters without needing to bring down the subscriber server or its service, and/or without needing to modify/rewrite programs for the reconfiguration.

Claims (32)

1. A method comprising:

using, by a proxy server operating on a subscriber server comprising a processor, configuration information to communicate between the proxy server and a publisher service operating on a publisher server, wherein the proxy server is coupled to a subscriber service operating on the subscriber server and communicates on behalf of the subscriber service;

detecting, by a subscriber sidekick process operating on the subscriber server, a state change related to the publisher service, in which the state change is indicated in a repository;

changing, by the subscriber sidekick process, the configuration information dynamically and in real time, based upon the state change, into modified configuration information; and

using, by the proxy server, the modified configuration information to communicate between the proxy server and the publisher service, in which the changes occur without modification to code of the publisher service or code of the subscriber service, and without restarting the proxy server.

2. The method of claim 1 , wherein the changing the configuration information comprising communicating, by the subscriber sidekick process, with the proxy service via a status port, and without restarting any subscriber service process or publisher service process.

3. The method of claim 1 , wherein the detecting the state change comprises monitoring the repository and receiving a notification corresponding to the state change.

4. The method of claim 3 , wherein the monitoring the repository comprises using event messaging or long polling.

5. The method of claim 3 , wherein the monitoring the repository comprises watching a key-value store coupled to or incorporated into the repository.

6. The method of claim 1 , wherein the changing the configuration information comprising modifying, by the subscriber sidekick process, the configuration information in-memory via a status port.

7. The method of claim 1 , further comprising, performing, by the subscriber sidekick process, a health check of one or more publisher service instances of the publisher service, and removing, by the proxy server, any publisher service instance that fails the heath check from a load balancer rotation of the one or more instances.

8. The method of claim 7 , further comprising, changing, by the proxy server, any publisher service instance that fails the heath check into a maintenance mode.

9. A subscriber server device comprising:

a processor; and

a memory communicatively coupled to the processor, the memory having stored therein computer-executable components, comprising:

a subscriber service process;

a proxy server coupled to the subscriber service process, the proxy server configured to communicate with a publisher service process instance using communication parameter data in a configuration data structure stored in the memory; and

a subscriber sidekick process configured to change the communication parameter data in the configuration data structure stored in the memory upon detection of a change to the communication parameter data in a monitored location, to initiate the proxy server to employ the changed communication parameter data used by the proxy server without restarting any of the proxy server, the subscriber service process or the publisher service process.

10. The subscriber server device of claim 9 , wherein the subscriber sidekick process changes the communication parameter data in the configuration data structure stored in the memory via a status port without modification to code of the publisher service process or code of the subscriber service process.

11. The subscriber server device of claim 9 , wherein the monitored location comprises a registry in a repository.

12. The subscriber server device of claim 11 , wherein the registry comprises a key-value store.

13. The subscriber server device of claim 9 , wherein the subscriber sidekick process monitors the monitored location by a watch registration from which a notification is received upon occurrence of a change.

14. The subscriber server device of claim 9 , wherein the subscriber sidekick process monitors the monitored location in an out-of-band communication relative to the proxy server communication.

15. The subscriber server device of claim 9 , wherein the proxy server makes health check requests to the publisher service process instance.

16. The subscriber server device of claim 9 , wherein the subscriber sidekick process is also configured to change a declarative file representative of the communication parameter data in the configuration data structure comprises a declarative file.

17. The subscriber server device of claim 9 , wherein the proxy server receives, from a publisher sidekick process associated with the publisher service process instance, a health check state indication of the publisher service process instance.

18. A non-transitory computer-readable medium having instructions stored thereon that, in response to execution, cause a subscriber server including a processor to perform operations, the operations comprising:

accessing configuration information in a memory of the subscriber server by a proxy server operating on the subscriber server, the configuration information determining communication parameters for communication between a publisher service and the proxy server on behalf of a subscriber service operating on the subscriber server;

detecting, by a subscriber sidekick process operating on the subscriber server, a change to the configuration information, and in response, changing, by the subscriber sidekick process, the configuration information in the memory into modified configuration information; and

the proxy server continuing communication with the publisher service based upon the modified configuration information without stopping the subscriber service and without restarting the proxy server.

19. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise performing, by the subscriber sidekick process, a health check of the publisher service.

20. The non-transitory computer-readable medium of claim 19 , wherein the operations further comprise removing, by the proxy server, the publisher service from a load balancer rotation in response to the publisher service failing the health check.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2018
From: BRADSHAW, DEXTER PAUL
To: HOME BOX OFFICE, INC.
Reel/Frame 047802/0606 →
Continuity (2)
Provisional Application 62240888 · Oct 13, 2015
Related Publication 20170104641A1 · Apr 13, 2017