Network system
US-9225639-B2 · Dec 29, 2015 · US
US9509659B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9509659-B2 |
| Application number | US-201414472451-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2014 |
| Priority date | Feb 29, 2008 |
| Publication date | Nov 29, 2016 |
| Grant date | Nov 29, 2016 |
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.
Disclosed are a connectivity platform that allows for proprietary connectivity modules to plug into the operating system and also allows the operating system users and various existing networking applications in the operating system that are authorized by those providers to use that connectivity via existing APIs without the need for the applications to change or for extra configuration of the application to be performed. In an example disclosed herein, the providers provide NAT or firewall traversal and implement the appropriate transport mechanism. This allows for applications and computing devices to communicate in environments where connectivity is prevented by intermediate systems.
Opening claim text (preview).
What is claimed is: 1. A method of communicating between applications over a network, comprising: receiving an indication from a first application indicating that communication of data is desired; identifying a connectivity module from which to communicate the data from the first application to a second application, the connectivity module configured to: provide for a traversal of at least one of a Network Address Translator (NAT) or a firewall; and responsive to determining a failure associated with the traversal, provide for a data relay; assigning an address for a connectivity module instance associated with the connectivity module; and sending data from the first application to the second application through the connectivity module based on the assigned address for the connectivity module instance. 2. The method of claim 1 , comprising: activating the connectivity module instance in response to the received indication. 3. The method of claim 1 , assigning the address comprising: randomly assigning the address to the connectivity module instance; and determining if the assigned address is in conflict with another address associated with the connectivity module. 4. The method of claim 3 , determining comprising: identifying addresses associated with other connectivity module instances connected to the network; and if at least one address is determined to be in conflict, assigning another address to the connectivity module instance. 5. The method of claim 1 , comprising: receiving data that has traversed at least one firewall disposed between the first application and the second application using protocols associated with the connectivity module. 6. The method of claim 1 , comprising: selecting the connectivity module instance from a plurality of connectivity module instances associated with the connectivity module. 7. The method of claim 1 , identifying a connectivity module comprising: selecting the connectivity module from a plurality of connectivity modules. 8. A connectivity system configured to provide network connectivity implemented at least in part on a central processing unit (CPU), comprising: a first application configured to interact with a second application separated from the first application by a firewall; a connectivity platform configured to facilitate data being sent from the first application to the second application through the firewall; and at least one connectivity module connected to the connectivity platform, the connectivity module configured to at least one of traverse the firewall to provide data from the first application to the second application or responsive to determining a failure associated with the traversing, provide for a data relay. 9. The connectivity system of claim 8 , the connectivity platform comprising: a connectivity module instance configured to interface with the at least one connectivity module; a protocol module configured to at least one of send data to or receive data from the connectivity module instance; and a liaison module configured to encapsulate data prior to the data being sent to the connectivity module instance. 10. The connectivity system of claim 9 , the connectivity platform comprising: a management module configured to change a state of the connectivity module instance. 11. The connectivity system of claim 9 , the connectivity module instance comprising at least one of a plurality of connectivity module instances. 12. The connectivity system of claim 11 , respective connectivity module instances of the plurality associated with a different connectivity module. 13. The connectivity system of claim 11 , at least two or more of the plurality of connectivity module instances associated with a same connectivity module. 14. The connectivity system of claim 9 , the protocol module configured to implement a filtering platform based upon at least one of a network filtering application or an inspection application. 15. A computer readable device having computer executable instructions that when executed cause a computer to: receive an indication from a first application at a connectivity platform that communications are desired; identify a connectivity module at the connectivity platform, the connectivity module configured to: provide for a traversal of at least one of a Network Address Translator (NAT) or a firewall; and responsive to determining a failure associated with the traversal, provide for a data relay; and send data from the first application to a second application. 16. The computer readable device of claim 15 , comprising instructions to: encapsulate the data prior to the data being sent to the second application. 17. The computer readable device of claim 15 , comprising instructions to: encapsulate the data in a format required by the connectivity module. 18. The computer readable device of claim 15 , comprising instructions to: assign an address to a connectivity module instance of the connectivity module by randomly generating the address. 19. The computer readable device of claim 18 , comprising instructions to: determine if the assigned address is in conflict with another address associated with the connectivity module; and if the address is determined to be in conflict, assign a different address to the connectivity module instance. 20. The computer readable device of claim 15 , comprising instructions to: receive a registration request from a second connectivity module not associated with the connectivity platform; generate a new connectivity module instance for the second connectivity module not associated with the connectivity platform; and assign an initial address to the new connectivity module instance. 21. The method of claim 1 , comprising: determining that no data transfers through the connectivity module for at least a predetermined period of time since the data is sent from the first application to the second application through the connectivity module; and placing the connectivity module instance in a dormant state in response to determining that no data transfers through the connectivity module for at least the predetermined period of time since the data is sent from the first application to the second application through the connectivity module.
between local and global IP addresses · CPC title
Electricity · mapped topic
for separating internal from external traffic, e.g. firewalls · CPC title
Electricity · mapped topic
Multiple local networks, e.g. resolving potential IP address conflicts · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.