This disclosure relates to a method and system for managing an internet connection (LAN, WAN, or other connections) remotely from a connected or wireless device such as a smartphone (e.g., IOS iPhone, Android operating system device etc.), tablet (e.g., iPad), or even a desktop app (e.g., a OSX App via the “App store” or PC App, for example a Windows 8 App).
More and more devices, including game consoles, computers, and laptops to name a few, utilize bandwidth. The bandwidth requirements of such systems can become problematic when the devices are all accessing the same network. Accordingly, there is a need to control connections within a local area network and out of a network. An example of a connection that may need to be controlled is, a WiFi router for disabling traffic from a specific device or devices on the network via a remote script or other action.
The present disclosure provides a method and system for disabling traffic from a specific device or devices on a network via a remote script or other action. In one embodiment, the method is implemented as an application that executes on a device such as a smart phone (e.g., IOS iPhone, Android operating system device), tablet (e.g., iPad) or a desktop app (e.g., a OSX App via the “App store” or PC App, for example a Windows 8 App).
The present disclosure provides network control for wireless and connected devices. That is, the disclosure provides a “Network Access Manager.”
The application has the ability to log into a network, such as via a router, in order to disable/enable traffic from a specific device on the network via a remote action. This action may be run from a mobile or wired device running the application, such as, but not limited to, an iOS iPhone/iPad or Android operating system device.
Using the native iOS/Android development languages such as Objective-C or Java, the application will utilize reconstructed POST form data to login to administrative control pages. The application controls the Internet access of devices connected to the network by manipulating access control policies, however implemented on the network (e.g. MAC address filters on a router), via the controlling device's (e.g. the router's) administration pages and/or APIs.
On initial launch of the application, one embodiment scans for all routers within its range and allows the user to select a router to access and control while another embodiment has the router preconfigured to work with the application and simply requires authentication before administration of devices connected to it. In both embodiments, the application determines the make and model of the router in order to understand how to turn network access on and off for devices that are connected if access control is not already known by the application. In one embodiment, the application prompts the user to provide at least one form of authentication, for example, but not limited to, entering the wireless router's administrative login and password. Other authentication methods could easily replace standard login/password combination authentication, for example, but not limited to, biometric identification. The application then displays the list of devices on the network. In one embodiment, devices on the network can be named/renamed by the user for easy reference. In one embodiment, disabling the internet/network access of a device is achieved by clicking on a graphical control switch adjacent to the device label (or on the label itself). Reenabling the internet/network access of a device is achieved via the same control switch (or, again, via the device's label itself).
After step 114 the system displays a list of devices connected to the router. At step 116 the user can select a particular device for instance by selecting an icon via a touch screen or other user interface. Then at step 118 a device detail screen is displayed showing information about the selected device. At step 120 the user can give the device a name to identify it such as Suzie's PC or Tim's iPad Mini. Finally at step 122 the system allows the user to add the device to a white list, meaning it is allowed to connect to the router. This initialization process is only necessary upon initial log-in or to allow a new device to connect to the router that has not previously been added to the white list. Alternatively, all devices can be allowed to access the internet via the router until such time that the connection is disabled by the user. In this instance the router maintains a list of devices that are not allowed to access the internet as opposed to a list of devices that are allowed to access the internet.
Device 410 communicates with a router 412 via communication path 442 to acquire information from the router and to update access control policies. Router 412 can be a wireless or wired router or any other type of device allowing connected devices to access the Internet or network. Communication path 442 between the device 410 and the router 412 can be a WiFi connection, wired connection, a cellular data network, or any combination of data connections. Connected devices 414, 416, 418 are connected to the router 412 via communication paths 446 and access the Internet or a network via their connection to router 412. Communication paths 446 may connect the connected devices 414, 416, 418 to router 412 by wireless or wired connections. Device 410 can also communicate with a web service AP via communication path 440 by any known communication technique. The web service API uses a router mapping database via communication path 444 to parse data received from the router 412 via the device 410.
In use the device 410 logs into router 412 based on input from a user or based on preconfigured access properties. The device then requests and receives access control information from the router 412. The device 410 sends the data to the web service API 420 which parses the data for the device 410. Next the device requests and receives information from the router regarding the connected devices 414, 416, 418. This data is also sent to the web service API 420 for parsing. The device 410 is operable to accept user input regarding access of a new or existing device to the internet or network via router 412. The user can choose to allow access to a new device, deny access to a new device, disable access of a previously allowed device, or reenable access of a previously disabled device. The device 410 then sends updated access control information to the router 412 to enforce the new access policy. In this way the user can readily monitor and control access of devices connected to the internet or network via router 412. In general, when in use the processor 430 executes instructions that are part of application 436 to carry out the various actions discussed above.
In accordance with the practices of persons skilled in the art of computer programming, embodiments of the methods are described with reference to operations that are performed by a computer system or a like electronic system such as a mobile application running on a mobile phone or tablet. Such operations are sometimes referred to as being computer-executed. It will be appreciated that operations that are symbolically represented include the manipulation by a processor, such as a central processing unit, of electrical signals representing data bits and the maintenance of data bits at memory locations, such as in system memory, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits.
When implemented in a programmed device or system, the elements of the embodiments may be essentially the code segments to perform the necessary tasks. The non-transitory code segments may be stored in a processor readable medium or computer readable medium, which may include any medium that may store or transfer information. Examples of such media include an electronic circuit, a semiconductor memory device, a read-only memory (ROM), a flash memory or other non-volatile memory, a floppy diskette, a CD-ROM, an optical disk, a hard disk, a fiber optic medium, etc. User input may include any combination of a keyboard, mouse, touch screen, voice command input, etc. User input may similarly be used to direct a browser application executing on a user's computing device to one or more network resources, such as web pages, from which computing resources may be accessed.
While various embodiments have been described above, it should be understood that those embodiments have been presented by way of example only and are not meant to limit the claims below. Thus, the breadth and scope of the invention should not be limited by the specific embodiments discussed above, but only according to the claims and their equivalents.
The present application is a continuation of U.S. nonprovisional application No. 17/060,699 filed on Oct. 1, 2020 which in turn is a continuation of U.S. nonprovisional application number 13/915,273 filed on Jun. 11, 2013 which in turn claims the benefit of U.S. provisional patent application No. 61/657,963 filed on Jun. 11, 2012 the disclosures of all of the foregoing are herewith incorporated in the present application by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
61657963 | Jun 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17060699 | Oct 2020 | US |
Child | 17571480 | US | |
Parent | 13915273 | Jun 2013 | US |
Child | 17060699 | US |