The invention generally relates to dynamic configuration of client access control network, which, in particular, may comprise one or more controller, agent, access control and/or server components.
Client-server architecture (client/server) is a network architecture in which a device or process on the network is either a client or a server. In the client-server architecture, a server provides one or more services, which may be defined by the provider(s), to a client device. For example, an appliance with network capability, such as a smart refrigerator, may provide various services to a client device, such as a smartphone. For instance, the smart refrigerator may allow the smartphone to remotely read and/or control the temperature of the smart refrigerator via a wireless network. In that context, the smart refrigerator is a server. As another example, a networked computer may provide a data service to a client device such that the client device may send and/or receive data to and/or from a data store, such as file storage, coupled to the networked computer. In that context, the networked computer is a server. To facilitate a user to use the services provided by the server in the client-server architecture, the client device typically provides an interface to allow a user to request the services provided by the server and to display the results the server returns. The server typically waits for requests to arrive from client device and then responds to them.
Peer to peer (P2P) network is a network architecture in which a node on the network may simultaneously function as both “clients” and “servers” to the other nodes (peers). A P2P network typically does not impose a particular structure as to what roles each individual nodes should serve at any given point of time, but rather are formed by nodes that randomly (from a topology point of view) establish connections to each other. For example, a client computer may initially join the P2P network as a client node to receive P2P services from other server nodes in the P2P network and later may become a server node that provides P2P services to other client nodes.
In accordance with one aspect of the disclosure, system and method for facilitating configuration of dynamic client access control network are disclosed. In U.S. patent application Ser. No. 62/142,457, entitled “Real Time Dynamic Client Access Control”, a client access control network comprising one or more client devices, controllers, agents, access control components and servers are disclosed. The present disclosure discloses mechanism and exemplary implementations for dynamically configuring the client access control network disclosed in U.S. patent application Ser. No. 62/142,457, entitled “Real Time Dynamic Client Access Control”. In a client access control network in accordance with the present disclosure, a given client computing platform (node) may be configured to function as a client, a controller, an agent, an access control component, and/or a server. That is, the given node may be configured to serve as a combination of the above-mentioned elements on the client access control network in accordance with the present disclosure at any given point of time. In some implementations, the configuration of the given node may be facilitated by an administration/monitoring system included in or operatively coupled to the client access control network. In some implementations, the configuration of the given node may be dynamically and automatically facilitated in accordance with one or more predetermined rules. In some implementations, the configuration of the given node may be performed by a user.
In accordance with another aspect of the disclosure, a dynamically configured client access control network in accordance with the disclosure may comprise one or more client devices, one or more controllers, one or more agents, one or more access control components, and/or one or more servers is disclosed. A given controller in such a network may be adapted to connect to one or more client devices and one or more agents. For example, the given controller may be configured to connect to a first client device and a first agent; to authenticate the first client device upon an request to access a first service provided by a first server being received by the first controller; and to generate an instruction to the first agent to facilitate the access as requested by the first client device. In that example, the first service may be provided by a first server whose secured access is controlled by the first agent directly or via a first access control component. As another example, the given controller may be configured to connect to the first client device and a second agent; to authenticate the first client device upon an request to access a second service provided by a second server being received by the first controller; and to generate an instruction to the second agent to facilitate the access as requested by the first client device. In those implementations, the second service may be provided by the second server whose secured access is controlled by the second agent directly or via a second access control component. Still as another example, the given controller may be configured to connected a second client and the first agent; to authenticate the second client device upon an request to access the first service being received by the first controller; and to generate an instruction to the first agent to facilitate the access as requested by the second client device
A given agent in such a network may be adapted to connect to one or more controllers, one or more access control components and/or one or more servers. The given agent may be configured such that it is capable of dynamically configuring the access control components or the servers to administer client access to the servers. For example, the given agent may be configured to connect to a first controller and a first access control component associated with the first server; to receive an instruction from the first controller to administer access to the first server by the first client device; and to configure the first access control component accordingly upon the instruction from the first controller being received by the first agent. As another example, the given agent may be configured to connect to a first controller and a second access control component associated with the second server; to receive an instruction from the first controller to administer access to the second server by the first client device; and to configure the second access control component accordingly upon the instruction from the first controller being received by the first agent. Still as another example, the given agent may be configured to connect to a second controller and the first access control component associated with the first server; to receive an instruction from the first controller to administer access to the first server by the second client device; and to configure the first access control component accordingly upon the instruction from the first controller being received by the first agent.
In some implementations, a given node on the access control network in accordance with the present disclosure may be configured to function as a client device, a controller, an access control component and/or a server at any given point of time. For example, at a first point of time T, the given client computing platform may be configured to function as a client device receiving a service from a server via an access control network in accordance with the present disclosure. Still in that example, at a second point of time T+1, the given client computing platform may be configured to function as the client device, and as well as to function as a controller connected to one or more client devices and agents to facilitate client access to one or more servers. Still in that example, at a third point of time T+2, the given client computing platform may be configured to function as the controller only. Still in that example, at a fourth point of time T+3, the given client computing platform may be configured to function as the controller and an access control component connected to one or more servers, and so on.
In some implementations, the configuration of a given node on an client access control network in accordance with the present disclosure may be facilitated by an administration/monitoring system, which may comprise one or more monitoring displays, one or more administration servers, user database, data storage, policy servers, and/or any other elements. In those implementations, an interface may be implemented and provided to a user (e.g., an administrator of an access control network in accordance with the present disclosure) on a given monitoring system (e.g., a client computer) for configuring the client computing platform. The interface may enable the user to configure the client computing platform as a client device, a controller, an agent, an access control component, and/or a server.
In some implementations, a given administration server included in the administration system may be configured to manage an access matrix indicating a state of connections among particular client devices, controllers, agents, access control components, and/or servers on an access control network in accordance with the present disclosure. In those implementation, such an access matrix may be displayed to the user (e.g., an administrator of the access control network) to provide a snapshot or a dynamic view of a state (e.g., topology) of the access control network in real time. This may enable the user to determine desired configuration of one or more client computing platforms (nodes) on the access control network.
In some implementations, a given rule server include in the administration system may be configured to manage a set of one or more predetermined rules that specify certain requirements of the configuration of access control network. For example, the rules may specify that a first set of one or more particular client computing platforms may never be configured to function as a controller; may specify that a second set of one or more particular client computing platforms may only be configured to function as a controller and/or a client device; may specify that a third set of one or more particular client computing platforms may be configured to function as access control components that controls client access for a particular server; and/or any other policies. In some examples, such policies may be employed to facilitate workload management or network expansion such that one or more client devices may be additionally configured to function as controllers, agents, access control components, and/or servers. In some examples, such policies may be enforced to facilitate consistency and/or predetermined network characteristics as desired by the provider, administrator, and/or any other entities related to the access control network.
Other objects and advantages of the invention will be apparent to those skilled in the art based on the following drawings and detailed description.
In U.S. application Ser. No. 62/142,457, entitled “Real Time Dynamic Client Access Control”, components facilitating client/server access mechanism of the access control network 100 are described in detail. As described and illustrated therein, such components may include client 106, controller 108, agent 110, access control component 112, and/or server 114, for example such as those illustrated in
In the present disclosure, mechanism facilitating dynamic configuration and formation of the access control network 100 is disclosed. Essential to the dynamic configuration and formation of the access control network 100 in accordance with the present disclosure is that any given node 102 on the access control network 100 shown in
As can be seen in
As still can be seen in
In some implementations, the configuration of a node on the client access control network 100 in accordance with the present disclosure may be facilitated by an administration/monitoring system, which may comprise one or more monitoring systems, one or more administration servers, user database, data storage, policy servers, and/or any other elements. In those implementations, the administration system may be configured to store information regarding network connection state at any given point of time, status of individual nodes on the access control network 100, error logs, and/or any other status information regarding the access control network 100. In some implementations, a given administration server included in the administration/monitoring system may be configured to manage an access matrix indicating a state of connections among particular client devices, controllers, agents, access control components, and/or servers on an access control network in accordance with the present disclosure. In those implementations, such an access matrix may be displayed to the user (e.g., an administrator of the access control network) to provide a snapshot or a dynamic view of a state (e.g., topology) of the access control network in real time. This may enable the user to determine desired configuration of one or more client computing platforms (nodes) on the access control network.
In some implementations, a given rule server include in the administration/monitoring system may be configured to manage a set of one or more predetermined rules that specify certain requirements of the configuration of access control network. For example, the rules may specify that a first set of one or more particular client computing platforms may never be configured to function as a controller; may specify that a second set of one or more particular client computing platforms may only be configured to function as a controller and/or a client device; may specify that a third set of one or more particular client computing platforms may be configured to function as access control components that controls client access for a particular server; and/or any other policies. In some examples, such policies may be employed to facilitate workload management or network expansion such that one or more client devices may be additionally configured to function as controllers, agents, access control components, and/or servers. In some examples, such policies may be enforced to facilitate consistency and/or predetermined network characteristics as desired by the provider, administrator, and/or any other entities related to the access control network.
As also shown, field controls may be presented in the interface 702 to facilitate the user, to add an agent. That is, through the interface 702, the user may configure the given controller to be discoverable by an agent by adding the agent to the controller. As shown, a list 710 of one or more agents that may be added to the controller may be presented in a pull down list. Field control 708 may be presented in the interface 702 so that the user may add a corresponding agent to the controller. After a connection between the controller and the agent is added through interface 702, the controller may communicate with the added agent in manners consistent with the network access control mechanism disclosed herein.
In some examples, the interface 702 may be used to remove or configure one or more clients already connected to the given controller. As shown in this example, a list 712 of clients already connected to the controller may be presented in the interface 702. As shown, similar field controls to 704 and 706 may be provided in the interface 702 to facilitate the user to remove or configure an already connected client. After a client is removed through the interface 702, the removed client is prevented from communicating with the controller. That is, the controller may not be discovered by the removed client and/or may deny a request from the removed client to access a service administered by the controller.
As also shown, a list 714 of one or more clients may be presented in the interface 702 to facilitate the user to select and add a client to the controller. That is, the user may be enabled to select a client from the list 714 to be connected to the controller. After the user adds the client, for example client #N as shown in this example, the added client may communicate with the controller to request access to a service administered by the controller in accordance with the access control mechanism described herein.
As also shown, field controls may be presented in the interface 802 to facilitate the user, to add a firewall/server. That is, through the interface 802, the user may configure the corresponding firewall/server to communicate with the given agent in accordance the access control mechanism described herein. As shown, a list 810 of one or more firewalls/severs that may be added to the given agent may be presented in a pull down list. Field control 808 may be presented in the interface 802 so that the user may add a corresponding firewall/server to the given agent. After a connection between the controller and the given agent is added through interface 802, the given agent may communicate with the added firewall/server the access control mechanism described herein.
In some examples, the interface 802 may be used to remove or configure one or more controller already connected to the given agent. As shown in this example, a list 812 of controllers already connected to the given agent may be presented in the interface 802. As shown, similar field controls to 804 and 806 may be provided in the interface 802 to facilitate the user to remove or configure an already connected controller. After a controller is removed through the interface 802, the removed controller is prevented from communicating with the given agent. That is, the given agent may not be discovered by the removed controller and/or may deny a request from the removed controller for a service whose access is controlled by the given agent.
As also shown, a list 814 of one or more clients may be presented in the interface 802 to facilitate the user to select and add a controller to the given agent. That is, the user may be enabled to select a controller from the list 814 to be connected to the given agent. After the user adds the controller, for example controller #N as shown in this example, the added controller may communicate with the given agent for a service whose access is controlled by the given agent in accordance with the access control mechanism described herein.
In some examples, the configuration of a given controller, a given agent, a given access control component, and/or a given server in the client access control network, as described and illustrated herein, may be effectuated using on one or more predetermined rules managed by one or more rules server included in the administration/monitoring system 602. For example, the predetermined rules may include a rule specifying that the given controller is available for access only by one or more specific clients. For instance, without limitation, a predetermined rule may be configured into the administration/monitoring system 602 such that the given controller may only facilitate service access requests from a clients within a specified intranet. In implementations, the given controller may be configured by the administration/monitoring system 602 to listen to access request by clients from the specified intranet only such that any request from a client outside the specified intranet is denied. As illustration, at a first time point, the given controller may be provided by a first node, which may be configured by the administration/monitoring server 602 to receive client access requests from the specified intranet; and at a second time point after the first time point, the given controller might migrate to a second node in accordance with the present disclosure, and the administration/monitoring system 602 may nevertheless configure the given controller to receive client access request from the specified intranet in accordance with the afore-discussed predetermined rule.
As another example, a predetermined rule may managed by the administration/monitoring system 602 may specify the given agent may be configured to control access to services provided by one or more specified servers. For example, the given agent may be configured to control access to a first server. At a first time point, the first server may provide a data service, at a second time point after the first time point, the first server may provide a web service instead of the data service, and at a third time point after the second time point, the first server may provide both the data service and the web service. In that example. The administrator/monitoring system 602 may dynamically configure the given agent to control the different services provided by the first server at those time points.
In some examples, a predetermined rule managed by the administration/monitoring system 602 may specify how a given node may be configured in the access control network 100. For example, the predetermined rule may be workload based such that various thresholds may be specified for configuring the given node. For instance, without limitation, the predetermined rule may specify that when the given node's CPU usage is more than 80%, the given node may not be configured as controller; when the given node's CPU usage is more than 50%, the given node may not be configured as a server; and when the give node's CPU usage is more than 85%, the given node may not be configured as an agent. As another example, the predetermined rule may be time based such that various time periods may be specified for configuring the given node. For instance, without limitation, the predetermined rule may specify that the given node may not be configured as a server in a first time period; may not be configured as a controller in a second time period; may be configured only as an agent in a third time period; and so on.
In some embodiments, method 900 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices executing some or all of the operations of method 900 in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 900.
At an operation 902, a request to configure a controller in a access control network may be received. For example, the request may be received at the administration/monitoring system 602. In some implementations, the request may include information indicating a specific controller provided by a specific node on the access control network.
At an operation 904, a state of the access control network may be obtained. For example, as illustrated in
At an operation 906, one or more clients that are already connected to the controller may be identified. In implementations, the one or more clients may be identified from the table shown in
At an operation 908, one or more clients that may be connected to the controller may be identified. In implementations, the identification at operation 908 may be performed using a predetermined rule that specifies a set of clients that may be connected to the controller. For example, such a predetermined rule may specify that the controller may be connected to any client in a specified intranet. Based on this predetermined rule, operation 908 may identify the clients that are in the specified intranet but that are not yet connected to the controller as the clients that may be connected to the controller.
At an operation 910, one or more agents that are already connected to the controller may be identified. In implementations, the one or more clients may be identified from the table shown in
At an operation 912, one or more clients that may be connected to the controller may be identified. In implementations, the identification at operation 908 may be performed using a predetermined rule that specifies a set of agents that may be connected to the controller. For example, such a predetermined rule may specify that the controller may be connected to a specific set of agents. Based on this predetermined rule, operation 908 may identify the agents that are in the specified set but that are not yet connected to the controller as the agents that may be connected to the controller.
At an operation 914, a user, e.g., an administrator of access control network, may be facilitate to remove or configure the clients that are identified in operation 906. An example of the operation 914 is illustrated in
At an operation 916, the user may be facilitated to add one or more clients identified in operation 908 to the controller. An example of this operation is also illustrated in
At an operation 918, the user may be facilitate to remove or configure the agents that are identified in operation 910. An example of the operation 918 is illustrated in
At an operation 920, the user may be facilitated to add one or more clients identified in operation 912 to the controller. An example of this operation is also illustrated in
In some embodiments, method 1000 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit designed to process information, an analog circuit designed to process information, a state machine, and/or other mechanisms for electronically processing information). The one or more processing devices may include one or more devices executing some or all of the operations of method 1000 in response to instructions stored electronically on an electronic storage medium. The one or more processing devices may include one or more devices configured through hardware, firmware, and/or software to be specifically designed for execution of one or more of the operations of method 1000.
At an operation 1002, one or more predetermined rules may be retrieved. In some examples, operation 1002 may be performed by the administration/monitoring system 602. The predetermined rules retrieved at operation 1002 may include the workload based rules, time period based rules described above, and/or any other predetermined rules configured to facilitate configuration of roles (i.e., client, controller, agent, and/or server) of a given node in the access control network.
At an operation 1004, a node may be identified based on the predetermined rules retrieved at operation 1002. For example, the predetermined rules may specify that a first node should be configured as a controller in a first time period. In that example, the first controller is identified at operation 1004. In some examples, operation 1004 may be performed by the administration/monitoring system 602.
At an operation 1006, the node identified at operation 1004 may be configured as a client, a controller, an agent, an access control component, and/or a server in accordance with the predetermined rules retrieved at operation 1002. In some examples, operation 1006 may be performed by the administration/monitoring system 602.
Implementations of the invention may be made in hardware, firmware, software, or various combinations thereof. The invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed using one or more processing devices. In one implementation, machine-readable media may include various mechanisms for storing and/or transmitting information in a form that can be read by a machine (e.g., a computing device). For example, machine-readable storage media may include read-only memory, random access memory, magnetic disk storage media, optical storage media, flash memory devices, and other media for storing information, and machine-readable transmission media may include forms of propagated signals, including carrier waves, infrared signals, digital signals, and other media for transmitting information. While firmware, software, routines, or instructions may be described in the above disclosure in terms of specific exemplary aspects and implementations performing certain actions, it will be apparent that such descriptions are merely for the sake of convenience and that such actions in fact result from computing devices, processing devices, processors, controllers, or other devices or machines executing the firmware, software, routines, or instructions.
Furthermore, aspects and implementations may be described in the above disclosure as including particular features, structures, or characteristics, but it will be apparent that every aspect or implementation may or may not necessarily include the particular features, structures, or characteristics. Further, where particular features, structures, or characteristics have been described in connection with a specific aspect or implementation, it will be understood that such features, structures, or characteristics may be included with other aspects or implementations, whether or not explicitly described. Thus, various changes and modifications may be made to the preceding disclosure without departing from the scope or spirit of the invention, and the specification and drawings should therefore be regarded as exemplary only, with the scope of the invention determined solely by the appended claims.
This application relates to U.S. application Ser. No. 62/142,457, entitled “Real Time Dynamic Client Access Control”, filed Apr. 2, 2015, which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62142457 | Apr 2015 | US |