IP Library Granted Patent US 9,544,332
Granted Patent B2
US 9,544,332 · App. 14/068,833 · Granted Jan 10, 2017

Method and system for network service health check and load balancing

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 9,544,332
App. No.
14/068,833
Granted
Jan 10, 2017
Kind
B2
Abstract

A non-transitory computer readable medium includes instructions which, when executed by one or more network devices, causes performance of operations. The operations include sending, to shared devices, one or more status queries regarding one or more device conditions for each of the shared devices, obtaining responses to the one or more status queries from each of the plurality of shared devices, the responses including the one or more device conditions for each of the shared devices, filtering the shared devices based on the one or more device conditions to obtain a subset of the shared devices, identifying the subset of the shared devices as a set of available shared devices, and transmitting information identifying the set of available shared devices to a client device.

Claims (48)

1. A non-transitory computer readable medium comprising instructions which, when executed by one or more network devices, causes the one or more network devices to:

send, to a plurality of shared printer devices, one or more status queries regarding one or more device conditions for each of the plurality of shared printer devices;

obtain responses to the one or more status queries from each of the plurality of shared printer devices, the responses comprising the one or more device conditions for each of the plurality of shared printer devices;

determine whether the one or more device conditions prohibit a subset of the plurality of shared printer devices from processing a request for a particular service from a user of a client device;

determine whether the user has permission to correct the one or more device conditions;

filter the plurality of shared printer devices to exclude the subset of the plurality of shared printer devices in response to (1) the one or more device conditions prohibiting the subset of the plurality of shared printer devices from processing the request from the user, and (2) the user not having permission to correct the one or more device conditions;

identify the filtered plurality of shared printer devices as a set of available shared printer devices for the user; and

transmit information identifying the set of available shared printer devices to the client device.

2. The non-transitory computer readable medium of claim 1 , wherein the instructions are further to cause the one or more network devices to receive a selection, from the client device, of one of the set of available shared printer devices to perform the particular service requested by the client device.

3. The non-transitory computer readable medium of claim 1 , wherein the instructions are further to cause the one or more network devices to determine whether the user has permission to correct the one or more device conditions based on a role of the user in a user profile.

4. The non-transitory computer readable medium of claim 1 , wherein the instructions are further to cause the one or more network devices to send the one or more status queries periodically or in response to expiration of a time period associated with stored status information.

5. The non-transitory computer readable medium of claim 1 , wherein the instructions are further to cause the one or more network devices to:

receive, from the client device, the request for the particular service;

determine that each of the plurality of shared printer devices includes functionality to provide the particular service prior to sending the one or more status queries.

6. The non-transitory computer readable medium of claim 1 , wherein the instructions are further to cause the one or more network devices to:

dynamically select the one or more device conditions based on the request received from the client device for the particular service.

7. The non-transitory computer readable medium of claim 1 , wherein the instructions further cause the one or more network devices to:

determine a load for the plurality of shared printer devices;

filter the plurality of shared printer devices based at least on the determined load for the plurality of shared printer devices.

8. The non-transitory computer readable medium of claim 7 , wherein to determine the load for the plurality of shared printer devices, the instructions are further to cause the one or more network devices to transmit a status query to the plurality of shared printer devices for the load of the plurality of shared printer devices.

9. The non-transitory computer readable medium of claim 8 , wherein the instructions are further to cause the one or more network devices to:

send the status query based on a load associated with the particular service.

10. The non-transitory computer readable medium of claim 7 , wherein the instructions are further to cause the one or more network devices to determine the load for the plurality of shared printer devices responsive to a determination that a session exists with each of the plurality of shared printer devices or a determination that data is being transmitted to the plurality of shared printer devices from another client device.

11. The non-transitory computer readable medium of claim 7 , wherein to filter the plurality of shared printer devices, the instructions are further to cause the one or more network devices to filter the plurality of shared printer devices based on the one or more device conditions, the load for the plurality of shared printer devices, and a role of the user to obtain the filtered plurality of shared printer devices.

12. The non-transitory computer readable medium of claim 7 , wherein the instructions are further to cause the one or more network devices to:

order the identified set of available shared printer devices in an order from smallest load to largest load and to transmit information identifying the set of available shared printer devices according to the ordered arrangement of the set of available shared printer devices.

13. A network device comprising:

a hardware processor;

a memory on which is stored machine readable instructions that are to cause the hardware processor to:

send, to a plurality of shared printer devices, one or more status queries regarding one or more device conditions for each of the plurality of shared printer devices,

obtain responses to the one or more status queries from each of the plurality of shared printer devices, the responses comprising the one or more device conditions for each of the plurality of shared printer devices;

determine whether the one or more device conditions prohibit a subset of the plurality of shared printer devices from processing a request for a particular service from a user of a client device;

determine whether the user has permission to correct the one or more device conditions;

filter the plurality of shared printer devices to exclude the subset of the plurality of shared printer devices in response to (1) the one or more device conditions prohibiting the subset of the plurality of shared printer devices from processing the request from the user, and (2) the user not having permission to correct the one or more device conditions;

identify the filtered plurality of shared printer devices as a set of available shared printer devices for the user, and

transmit information identifying the set of available printer shared devices to a client device.

14. The network device of claim 13 , wherein the machine readable instructions are further to cause the hardware processor to determine whether the user has permission to correct the one or more device conditions based on a role of the user in a user profile.

15. The network device of claim 13 , wherein the memory on which is stored machine readable instructions that are to further cause the hardware processor to:

determine a load for the plurality of shared printer devices;

filter the plurality of shared printer devices based at least on the determined load for the plurality of shared printer devices.

16. The network device of claim 15 , wherein to determine the load for the plurality of shared printer devices, the machine readable instructions are further to cause the hardware processor to determine the load responsive to a determination that a session exists with each of the plurality of shared printer devices or a determination that data is being transmitted to the plurality of shared printer devices from another client device.

17. The network device of claim 15 , wherein to filter the plurality of shared printer devices, the machine readable instructions are further to cause the one or more network devices to filter the plurality of shared printer devices based on the one or more device conditions, the load for the plurality of shared printer devices, and a role of the user to obtain the filtered plurality of shared printer devices.

18. The network device of claim 15 , wherein the machine readable instructions are further to cause the one or more network devices to:

order the identified set of available shared printer devices in an order from smallest load to largest load and to transmit information identifying the set of available shared printer devices according to the ordered arrangement of the set of available shared printer devices.

19. The network device of claim 15 , wherein the machine readable instructions are further to cause the one or more network devices to:

transmit a status query to the plurality of shared printer devices for the load of the plurality of shared printer devices.

20. The network device of claim 19 , wherein the machine readable instructions are further to cause the one or more network devices to:

send the status query based on a load associated with the particular service.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2018
From: ARUBA NETWORKS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 045921/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: ARUBA NETWORKS, INC.
Reel/Frame 036379/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2015
From: ARUBA NETWORKS, INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 035814/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2013
From: DEVNATH, SANDIP KUMAR; PALCHAUDHURI, SANTASHIL; ROY, SUDEEPTO KUMAR
To: ARUBA NETWORKS INC.
Reel/Frame 031858/0832 →