Method and system for locomotive software management
US-2019050220-A1 · Feb 14, 2019 · US
US11418586B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11418586-B2 |
| Application number | US-202117152539-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 19, 2021 |
| Priority date | Jan 19, 2021 |
| Publication date | Aug 16, 2022 |
| Grant date | Aug 16, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A non-transitory computer readable storage medium may have stored thereon instructions that, when executed by an endpoint device, cause the endpoint device to perform operations including: (i) establishing, by the endpoint device, a first communication channel with an intermediary proxy server; (ii) receiving, from a computational instance and via the intermediary proxy server, a registration payload comprising a list of available proxy servers; (iii) ranking, at the endpoint device, the list of available proxy servers; (iv) selecting, by the endpoint device, a particular proxy server from the list of available proxy servers as ranked; (v) establishing, by the endpoint device, a second communication channel with the particular proxy server; and (vi) communicating, by the endpoint device, with the computational instance via the particular proxy server by utilizing the second communication channel.
Opening claim text (preview).
What is claimed is: 1. A non-transitory computer readable storage medium having stored thereon instructions that, when executed by an endpoint device, cause the endpoint device to perform operations comprising: establishing, by the endpoint device, a first application-layer communication channel with an intermediary proxy server, wherein the intermediary proxy server is in communication with a computational instance, wherein the intermediary proxy server and the endpoint device are both deployed on a common managed network, and wherein the computational instance is deployed remotely from the common managed network; receiving, from the computational instance and by way of the intermediary proxy server through the first application-layer communication channel, a registration payload comprising a list of available proxy servers maintained by the computational instance; ranking, at the endpoint device, the list of available proxy servers; selecting, by the endpoint device, a particular proxy server from the list of available proxy servers as ranked, wherein the particular proxy server is in communication with the computational instance; establishing, by the endpoint device, a second application-layer communication channel with the particular proxy server; and communicating, by the endpoint device, with the computational instance through the particular proxy server by utilizing the second application-layer communication channel, wherein the particular proxy server is configured to relay discovery information between the endpoint device and the computational instance. 2. The non-transitory computer readable storage medium of claim 1 , wherein the endpoint device is associated with a managed network to which the computational instance is dedicated, and comprises a discovery agent disposed within the endpoint device. 3. The non-transitory computer readable storage medium of claim 1 , wherein the instructions cause the endpoint device to perform operations comprising: performing a connectivity test between the endpoint device and the available proxy servers, and wherein the ranking is based on results of the connectivity test. 4. The non-transitory computer readable storage medium of claim 1 , wherein ranking the list of available proxy servers comprises: (i) measuring respective latencies between the endpoint device and each of the available proxy servers; (ii) querying each of the available proxy servers for a count of endpoint devices communicating therewith; (iii) placing the available proxy servers into groups based on the respective latencies; and (iv) determining a further ranking of the available proxy servers within each of the groups based on the count of endpoint devices communicating with each available proxy server; and wherein selecting the particular proxy server comprises choosing, from a group in which the respective latencies are lowest, a proxy server that has a count of endpoint devices that is lowest. 5. The non-transitory computer readable storage medium of claim 1 , wherein the registration payload is in JavaScript Object Notation (JSON) format, wherein the second application-layer communication channel is configured with a WebSocket protocol, and wherein a further application-layer communication channel between the particular proxy server and the computational instance is configured with a secure hypertext transfer protocol (HTTPS) or secure WebSocket protocol (WSS). 6. The non-transitory computer readable storage medium of claim 1 , wherein the registration payload further comprises, for each available proxy server, a list of network addresses associated with the available proxy server. 7. The non-transitory computer readable storage medium of claim 6 , wherein the particular proxy server is associated with two or more network addresses for which latencies with the endpoint device have been measured, and wherein establishing the second application-layer communication channel comprises: selecting a network address from the two or more network addresses that is associated with a minimum of the latencies. 8. The non-transitory computer readable storage medium of claim 1 , wherein selecting the particular proxy server comprises: selecting an initial proxy server from the list of available proxy servers; attempting to establish an application-layer communication channel with the initial proxy server; determining that the application-layer communication channel has not been established; and in response to determining that the application-layer communication channel has not been established, selecting the particular proxy server. 9. The non-transitory computer readable storage medium of claim 8 , wherein determining that the application-layer communication channel has not been established comprises failing to establish the application-layer communication channel with each of one or more network addresses associated with the initial proxy server. 10. The non-transitory computer readable storage medium of claim 1 , wherein the instructions cause the endpoint device to perform operations comprising: detecting that the second application-layer communication channel with the particular proxy server is not available; and establishing a third application-layer communication channel with the intermediary proxy server to receive, from the computational instance and through the intermediary proxy server, an updated registration payload comprising an updated list of available proxy servers. 11. The non-transitory computer readable storage medium of claim 10 , wherein establishing the third application-layer communication channel is caused by determining that more than a threshold amount of time has passed since a last connectivity test was performed between the endpoint device and the particular proxy server. 12. The non-transitory computer readable storage medium of claim 1 , wherein the instructions cause the endpoint device to perform operations comprising: detecting that the second application-layer communication channel with the particular proxy server is not available; and establishing a third application-layer communication channel with another available proxy server from the list of available proxy servers as ranked. 13. The non-transitory computer readable storage medium of claim 1 , wherein the instructions cause the endpoint device to perform operations comprising: storing the registration payload in a local cache disposed within the endpoint device. 14. The non-transitory computer readable storage medium of claim 1 , wherein the instructions cause the endpoint device to perform operations comprising: receiving, based on one or more pre-determined schedules and through the particular proxy server, an updated registration payload from the computational instance comprising an updated list of available proxy servers. 15. The non-transitory computer readable storage medium of claim 1 , wherein the particular proxy server is disposed outside of a managed network with which the computational instance is associated. 16. The non-transitory computer readable storage medium of claim 1 , wherein the endpoint device is disposed outside of a managed network with which the computational instance is associated. 17. The non-transitory computer readable storage medium of claim 1 , wherein the endpoint device is a virtual or ephemeral unit of software, existence of which is initiated and terminated by a controller device. 18. The non-transitory computer readable storage medium of claim 1 , wherein the establishing the second application-layer
Data redirection of data network streams · CPC title
Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title
Persistence of sessions during load balancing · CPC title
for accessing one among a plurality of replicated servers · CPC title
by checking availability · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.