U.S. patent application number 10/337592 was filed with the patent office on 2003-05-22 for automatic synchronization of state colors across a web-based system.
Invention is credited to York, Justin E..
Application Number | 20030097475 10/337592 |
Document ID | / |
Family ID | 22872981 |
Filed Date | 2003-05-22 |
United States Patent
Application |
20030097475 |
Kind Code |
A1 |
York, Justin E. |
May 22, 2003 |
Automatic synchronization of state colors across a web-based
system
Abstract
A network provides color translation between a server side
application and a web browser application. A color object created
on the server sides is reduced into the individual color components
defining the color property for the object. These discrete color
components are then converted into numerical values representing
the intensity of the respective component. The color components are
then combined into a format usable by a web-based computer
application. For objects including text information, the color
property for the text is automatically determined, based on the
translated color object, to achieve a high contrast between the
background color and the foreground or text color.
Inventors: |
York, Justin E.; (Spring,
TX) |
Correspondence
Address: |
HEWLETT-PACKARD COMPANY
Intellectual Property Administration
P. O. Box 272400
Fort Collins
CO
80527-2400
US
|
Family ID: |
22872981 |
Appl. No.: |
10/337592 |
Filed: |
January 7, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10337592 |
Jan 7, 2003 |
|
|
|
09232409 |
Jan 15, 1999 |
|
|
|
6505256 |
|
|
|
|
Current U.S.
Class: |
709/246 ;
709/223; 715/736 |
Current CPC
Class: |
G06T 11/001 20130101;
H04L 41/0213 20130101; H04L 41/0253 20130101; H04L 41/22
20130101 |
Class at
Publication: |
709/246 ;
345/736; 709/223 |
International
Class: |
G06F 015/16; G09G
005/00; G06F 015/173 |
Claims
I claim:
1. A method for displaying a state color object on a computer
display, the state color object including at least two regions each
assigned a color property, each color property comprising at least
two color components defining the color property, the color
property selected to have a high color contrast between the two
regions, the method comprising the steps of: detecting a color
property for a first region of the color object; converting the
color property for the first region into a numerical value; and
selecting a color property for a second region that has a numerical
value representing a color property having a high contrast with the
color property of the first region.
2. The method of claim 1, the converting step comprising the steps
of: generating a red color component based on the color property
for the first region of the color object; generating a green color
component based on the color property for the first region of the
color object; and generating a blue color component based on the
color property for the first region of the color object.
3. The method of claim 1, the selecting step comprising the steps
of: setting a threshold intensity value corresponding to the
intensity of a color component for the color property of the first
region; selecting a first color property for the second region when
the intensity of a color component for the color property of the
first region is above the threshold intensity value; and selecting
a second color property for the second region when the intensity of
a color component for the color property of the first region is
below the threshold intensity value.
4. The method of claim 3, wherein the threshold intensity value
corresponds to any single color component for the color property of
the first region.
5. The method of claim 3, wherein the threshold intensity value
corresponds to a combination of the components for the color
property of the first region.
6. The method of claim 3, wherein the first color property is black
and the second color property is white.
7. The method of claim 3, wherein the first region is a background
region and the second region is a foreground region.
8. The method of claim 1, further comprising the step of: modifying
a color property according to user preferences to adjust the color
contrast between the color property of the first region and the
color property of the second region.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a divisional of co-pending U.S.
application Ser. No. 09/232,409, filed Jan. 15, 1999, which is
incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION
[0002] 1. Description of the Related Art
[0003] Network management has experienced explosive growth and
become a fundamental part of network infrastructure. Network
management is essentially a set of tools and processes that enables
one to control, monitor, and troubleshoot a network. A network
manager typically uses standalone or integrated network management
software to collect and process management data from the
network.
[0004] One of the functions served by a network management software
is the monitoring (or health polling) and notification of the state
of various network devices. The state of a monitored device is
reported, for example, as an entry in an event log dialog box.
However, as the use of network systems has grown, so too has the
size of the networks. Todays networks typically include large
numbers of network devices. To provide a manageable interface, the
network management software has been configured to report only
notable aspects of the network or a particular network device. For
example, reporting has been restricted to report only certain
changes in the state of a particular device. The network conditions
or events which trigger this type of restricted reporting are
typically referred as network or device alarms.
[0005] An alarm is the mechanism used to identify a notable event
occurring on the network, such as a change in the state of a
device. Specifically an alarm differentiates the notable event from
normal network operation. To further streamline reporting performed
by network management software, a number of different alarm
settings have been used. Specifically, an alarm event type has been
used to represent a type of condition, for example a threshold, the
occurrence of which may be a notable network event. In addition,
differing alarm severities have been used to represent importance
levels of an occurrence of a particular alarm event type. A
particular alarm severity is typically based on the relative
importance assigned, usually by a network administrator, to the
alarm or the monitored device. The corresponding alarm severity
class depends on the extent to which the threshold had been
exceeded. For example, an occurrence of an event only slightly
exceeding an alarm event threshold is represented by a "minor"
alarm, while an event greatly exceeding the threshold is
represented by a "critical" alarm. In addition, an "informational"
alarm severity class has been established to provide information
for devices not exceeding normal operating conditions.
[0006] A number of alarm event and alarm severity combinations may
be active. Alarm severity classes, for example, have included
cleared (or informational), indeterminate, minor, major and
critical alarm classes. To assist the user in distinguishing
between the various alarm severity, color coded entries have been
used. Event log entries having an alarm contain a field having the
color that is associated with the particular alarm. A monitored
device having an alarm with a "critical" severity has typically
been assigned a red state color. A critical severity indicates that
the state of a device has greatly exceeded normal operating
conditions, such as dropping or losing large amounts of data.
Alternatively, a monitored device having an alarm with a "cleared"
severity has been typically assigned a green state color. A cleared
severity indicates a device responded to its last health poll. To
provide maximum flexibility for user preferences, the alarm
severity colors may be capable of modification by a user.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0007] A better understanding of the present invention can be
obtained when the following detailed description of the preferred
embodiment is considered in conjunction with the following
drawings, in which:
[0008] FIG. 1 is a block diagram of a network management system
having a web-side network management application and a server-side
network management application in accordance with the present
invention;
[0009] FIG. 2 is a block diagram of a color translation protocol
for the network of FIG. 1 in accordance with the present
invention;
[0010] FIG. 3 is a flow diagram of a color translation process in
accordance with the color translation protocol of FIG. 2;
[0011] FIG. 4 is a flow diagram of a process for the automatic
selection of text color in accordance with the color translation
process of FIG. 3;
[0012] FIG. 5 is a device status screen display illustrating a user
configured color setting on the server side application of FIG. 1;
and
[0013] FIG. 6 is a screen display illustrating color matching on
the web side application of FIG. 1 and automatic text color
selection in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0014] A device management application has been developed that
provides automatic monitoring of devices that are connected to a
communication network and are manageable using simple network
management protocol. Such an SNMP network management application is
described in commonly assigned U.S. patent application Ser. No.
09/098,027 entitled "Method and Apparatus for Automatic Monitoring
of Simple Network Management Protocol Manageable Devices" to
Jeffrey A. Schunicht, Justin E. York, Pete A. Hansen and Charles W.
Cochran, filed Jun. 15, 1998, hereby incorporated by reference as
if set forth in its entirety.
[0015] A remote application has been developed that provides a
web-based interface for network management software. Such a remote
network management application is described in commonly assigned
U.S. patent application Ser. No. 09/231,286, entitled "Interactive
Web-Based Network Management" to Jeffrey A. Schunicht, Justin E.
York, Pete A. Hansen and Charles W. Cochran, filed Jan. 15, 1999,
hereby incorporated by reference as if set forth in its
entirety.
[0016] A simplified procedure for monitoring devices in a network
management system using automatic prepopulation of notification
rules is described in commonly assigned U.S. patent application
Ser. No. 09/231,251, filed Jan. 15, 1999, issued as U.S. Pat. No.
6,493,755 on Dec. 10, 2002, entitled "Automatic Notification Rule
Definition for a Network Management System" to Justin E. York and
Peter A. Hansen, hereby incorporated by reference as if set forth
in its entirety.
[0017] The color modification capability of network management
software, however, has caused complications for remote
applications. Typically, the alarm state colors on a remote
application, such as a web-based network management interface, are
hard-coded to match the default colors specified on the server side
(or operating system-based) network management application.
Therefore, a change made to the alarm state colors on the server
side application is not reflected on the web-based application.
Instead, the web-based software is forced to display only the
colors that had been hard-coded into the system. Thus, to avoid
inconsistent reporting, the user needed to be aware of this
limitation, and modify only the state colors which had a
corresponding hard-coded assignment in the web-based
application.
[0018] In addition, under some color standard protocols or
preferences, it has been desirable to have a substantially dark
color to represent a specific alarm severity state. In such an
instance, however, the default color for text in such a system has
typically been black. Thus, the combination of the default black
text color and the user defined dark color background object,
representing the alarm severity, created a text/background
combination having low contrast. Such a low contrast combination
rendered the text notations associated with the alarm difficult to
discern. Specifically, although network management software has
provided user modification of alarm color indicators, the default
color of black for text, or foreground, effectively eliminates use
of a majority of dark colors as background alarm indicators. As
such, the user was again forced to consider color display
limitations, specifically color contrast combinations, in
configuring the alarm color configurations.
[0019] FIG. 1 illustrates a network management system N according
to the invention, permitting interactive web-based network
management. The system N permits a network administrator to
remotely access a network management software program 76 remotely,
using a web page displayed on a remote web-based computer. A host
system 70 is shown. The network management software 76 is stored in
memory 72 on the host system 70. The network management software 76
creates a network management interface representing the state of
monitored devices 82 to be displayed in the host computer 70.
According to one embodiment of the invention, the network
management user interface (not shown), created by the network
management software 76, is identically presented as a remote
network management user interface on the web page of the web-based
application 56 on the client system 60.
[0020] The host system 70 includes a web interface mechanism (not
shown). The web interface mechanism is a software program that
makes remote web-based access of the network management software 76
possible. The web interface mechanism translates requests and
responses from the web browser side. Communications between the web
interface mechanism and the web browser are in hypertext transfer
protocol, or HTTP. Communications between the web interface
mechanism, more generally the network management software, and the
network interconnection are in simple network management protocol,
or SNMP.
[0021] The network management software 76 communicates with the
devices 82 via the network interconnections 80 using SNMP protocol.
Of note, if a network administrator was communicating with the
network management software 76 on the host system 72 using the
network management user interface, only the SNMP protocol would be
necessary for communicating with the device 82.
[0022] Communication between the web-based interface and the
network management software is described in detail in the
commonly-assigned U.S. patent application Ser. No. 09/231,286,
entitled "Interactive Web-Based Network Management", previously
incorporated by reference.
[0023] Turning now to FIG. 2, shown is a block diagram illustrating
color translation of a state color object from a server side
application 76 to a corresponding web-based application 56 loaded
to a web browser 62. According to one embodiment, the color
translation code 204 is included in the network management software
76. It will be appreciated, however, that the color translation
code 204 can alternatively run as part of a remote application.
[0024] The translation algorithm 204 begins by receiving color data
for a server side state color object 202. The state color object
202 can be associated with any image or text having a color
property. The color value assigned to the state color object 202
indicates the color property. In a disclosed embodiment of the
present invention, the state color object 202 is associated with a
background or foreground. Usually text is the foreground while the
background is simply a color apart from the text color. Under the
Windows.TM. operating system, the color property is defined by an
"RGB" function. An RGB color value specifies the relative
intensities of a red color component, a green color component, and
a blue color component that combine to create a specific color to
be displayed. Those skilled in the art will appreciate that the
color may be represented in this manner. The intensity of any
individual color component is specified by the numerical value
representing that component on a range from 0 to 255; the greater
the numerical value, the higher the color intensity of the color
component.
[0025] The color translation code 204 receives a server side object
202 containing a color property from a server side application 210,
for example the network management software 76, running under the
server side operating system such as the Windows.TM.. The server
side object 202 received by the color translation code 204 includes
a full set of definitions that describe both the color and style of
the object. The color translation code 204 then parses out the data
which is only applicable to the color value for the object.
Specifically, a "COLORREF" value is separated from the object
definitions. The COLORREF value is a 32-bit value used by
Windows.TM. to specify the RGB color value. The COLORREF value is
defined by the Windows.TM. operating system specification and is
hereby incorporated by reference. The low order byte contains the
numerical value for red, the middle byte contains the numerical
value for green, and the high order byte contains the numerical
value for blue. After parsing the relevant COLORREF data from the
object definitions, the COLORREF value is translated into an
hypertext markup language (HTML) string 211 of the format
"#RRGGBB". The HTML color code string protocol is defined by the
HTML color specification and is incorporated by reference. This
HTML color code string 212 is then assigned to a web side state
color object 206 and sent to the web-based application 56 within a
web browser 208 such as Netscape or Internet Explorer, where the
object 206 is then displayed on a screen.
[0026] Prior to the present invention, color matching, if any,
required that the HTML color strings approximating the color
represented by the Windows.TM. COLORREF value be hard-coded as part
of the network management software. Therefore, a modification to an
alarm color on the server side application would be correctly
displayed on the web-based application only where the modified
color was included in the list of hard-coded HTML color strings.
Further, since each color to be displayed on the web-based
application required its own specific color string, only a limited
number of colors could be at least approximately matched. Therefore
the present invention provides color matching or color
synchronizing without hard coding each and every color translation
available, or even providing a less extensive color translation
map, for color translation between the Windows.TM. and the HTML
color protocols. The color translation algorithm provides color
synchronizing that is dynamic across the range of available
colors.
[0027] Because the translation is color independent, the color is
automatically and precisely matched between the server side
application 210 and the web browser 62. Further, since full
resolution of color possibilities is achieved between the server
side application 210 and the web-based application 56, errors due
to hard-coded color approximations are eliminated. The translation
process produces the mathematical equivalent of the color value
that is received from the server side state color object 202. In
addition, since the translation is color independent, individual
default color assignments are unnecessary. Direct color translation
is achieved for any input color property.
[0028] Turning now to FIG. 3, shown is a flow diagram for color
translation which could be returned by the color translation code
204 according to the present invention. The translate color
function 301 begins by receiving a color object 302 from the server
side application 210, such as the Windows.TM. operating system. The
translate color function 301 then proceeds through a series of
iterative steps 304-308 each of which individually parses out and
then converts each color component comprising the color object. For
example, a standard Windows.TM. color object stores its color in
the Win32 standard HBRUSH structure, consisting of a 32-bit value.
The low order byte of this 3-byte value is the red value. The
middle byte is the green value. The high order byte is the blue
value. By parsing and then converting each color component of the
color object, the color translation process captures the
intensities of each of the respective color components into
individual numerical values. These individual color component
values are then combined in step 310 into one HTML color string. At
step 312, if text is to be written in combination with the
translated color object, the Auto Text Color function 314 (FIG. 4)
is called. If text is not to be written, the HTML color code string
212 is output to the web browser 62 in step 315 and the function
returns in step 316 to the calling function.
[0029] In the exemplary server side application 210, the network
management application 76 supplies default color settings to
represent the various alarm states for monitored devices.
Typically, these default color states will include a green state
color for representing an "cleared" alarm setting and a red state
color for representing a "critical" alarm setting. According to an
embodiment of the present invention, however, the network
management software 76 allows a user to modify the color settings
for the various alarm severity states. Upon a user modification of
an alarm color, such as a modification from the default color red
to a user modified color green to represent a "critical" alarm
setting, the color translation code 204 receives the green color
code in the format of the 32-bit binary data structure.
Specifically, the green color code is
00000000.sub.--00000000.sub.--11111- 111.sub.--00000000. The
highest order byte is a reserved byte with a value of zero. The
second high order byte represents the intensity of the blue color
component, the zero value indicating the absence of the blue
component in the green color object. The second low order byte
represents the intensity of the green color component, the value of
11111111 indicating a maximum intensity of the green color
component for the green color object. Finally, the lower byte
represents the intensity of the red color component, the zero value
(00000000) indicating the absence of a red color component in the
green color object. The color translation code 204 then takes this
32-bit value and parses out the intensity value for each of the
discrete color components. The red color component may be
determined by taking the first byte of the 32-bit value. The green
component may be determined by shifting the 32-bit value eight bits
to the right and taking the first byte from the now 24-bit value.
Finally, the blue color component may be determined by shifting the
now 24-bit value eight bits to the right and taking the first byte
of the now 16-bit value. It should be appreciated that alternative
use of parsing the color object into its discrete color components
are possible.
[0030] The color translation code 204 next only converts each of
the color component values into a hexadecimal equivalent and
outputs an HTML color code string 212 incorporating each of these
hexadecimal values. The HTML color code string 212 complies to
standard HTML color protocol taking the format, "#RRGGBB". In this
instance, the translated green color object has a HTML string value
of "#00FF00". This HTML color code string 212 is then sent to the
web-based interface where the color object is displayed as the
green web site object 206. Because the translation is dynamic with
respect to the modified color object, the translated web-side color
object will match the exact color object as modified on the
server-side application. The color-independent translation function
avoids the need and limitations of hard coding conversion tables
for converting server side object color codes into HTML color
codes. In addition, server side color modification is not limited
by color approximation required by hard-coded color conversion
systems.
[0031] Turning now to FIG. 4, shown is an Auto Text Color function
314. The Auto Text Color function 314 assigns the color for one
region of a color object that has at least two regions, typically a
background region and a text or foreground region. The color of the
region to be assigned, typically the text, is determined from the
color of a previously translated color value for the other region,
typically the background color.
[0032] The function 314 begins at step 402 where a color intensity
threshold is set. The threshold represents the intensity of any
individual color component or a combination thereof. This threshold
may be either a default value or adjusted-manually by a user.
Specifically, the threshold value is the value at which the color
of the text will be changed from a dark color, such as black, to a
light color, such as white. According to an embodiment of the
present invention, the threshold is set as the color intensity of
any of the color components, red, green, or blue, at an intensity
level mid-way between maximum and the minimum intensity levels.
Since each component has an intensity value ranging from 00h to
FFh, the threshold may be the value 80h. It should be understood
that the threshold level can be set as the intensity of any
individual color component or any combination thereof. It should
further be understood that the color intensity threshold may be
predetermined or preset. The default text colors of black and white
may be modified to any desirable color combination that provides
high color contrast against a wide range of background color and
foreground color. Changes in the default text colors will, in most
cases, require the threshold setting to be changed in order to
maintain s suitable high text/background contrast. A suitably high
text/background contrast enables a user to easily discern the
text.
[0033] The Auto Text Color routine 314 determines, at step 404,
whether the intensity for either the red, green, or the blue
component of the color object for the background color, or other
first region of a color object having multiple regions, translated
by the translate color function 301 (FIG. 3) is above the color
intensity threshold. It should be appreciated that a variety of
mathematical or logic operators might be used to compare a color
component with the color intensity threshold. For example, it might
be determined if a color component is less than equal to the
threshold. If any of the color components has an intensity greater
than the default color intensity threshold, then the text color, or
other second region of a color object, may be set to black.
Alternatively, if none of the components of the background color
object has an intensity above the default threshold, the text color
may be set to white at step 408. After the text color is
determined, its color value is output as an HTML color code string
212 to the web-based interface56 in the same manner as the
background color object translated by the translate color function
301. The routine 314 returns to the calling function in step
412.
[0034] The Auto Text Color routine 314 automatically assigns the
text color according to the intensity level of any background color
component making up the color object. For example, the routine
changes the text color from black to white when the intensity for
each of the color components drops below 80h. As an alternative,
the text color might be set as the mathematical inversion or
opposite of the background color. In such an instance, a threshold
would not be needed as the text color would be determined directly
from the attentive background color value as translated by the
translate color function 301.
[0035] The translate color routine 301 is called whenever a change
is made to a color object setting in a server side application.
FIG. 5 shows an exemplary device status dialog 500 for exemplary
network management system application 76. Each severity alarm
corresponds to a different color. A cleared severity alarm
corresponds to a green state color. An indeterminate severity alarm
corresponds to a blue state color. A minor severity alarm
corresponds to a yellow state color. A major severity alarm
corresponds to a orange state color. Finally, a critical severity
alarm corresponds to a red state color. In such a system, the color
indicators assigned to each severity alarm can be modified.
Therefore, upon a change initiated by the user at the network
management application76, for example, changing the critical alarm
setting from a red indicator to a green indicator, any subsequent
alarms of critical type will register as a green indicator on the
web browser 62. Likewise, any modification to other severity alarm
indicator colors will be immediately seen on the web browser 62
upon its next update. Thus, the color independent translation
scheme eliminates the need to provide a number of default color
settings and enables a user to customize color alarm indicators
according to user preferences.
[0036] Turning now to FIG. 6, shown is an exemplary implementation
or application of the Auto Text Color feature. The screen shot 700
shows the various color-coded entries on an event log viewer,
displaying device status, for the exemplary network management
system N. Specifically, any event log entry that is an alarm is
indicated with its alarm status and a color identifier associated
with the severity of that particular alarm. In the example shown
for the event log screen shot 700, illustrated are three sets of
alarm types having different states. According to the event log
700, an alarm has been triggered for a device named router 4 (first
row) with a severity of "major" 702. Another device, Netelligent
5226.7 (third row) has triggered an alarm with a "critical
severity" 704. Likewise, in rows 6, 9-11, and 13-16 unnamed devices
have triggered threshold alarms listed as "critical" but having
since been cleared 706. Each of the alarm severity are indicated
using different colors. For example, the critical alarm state 704
may be indicated as a red color. On the other hand, the critical
alarms that have since been cleared 706, may be indicated as a
green color. Other alarm states, severity status of major for
instance, are assigned other colors,.
[0037] An example revealing the operation of the Auto Text Color
routine 314 may be helpful. According to a disclosed embodiment of
the present invention, the text color is set at a default of black.
Upon a change in the background color caused by a change in the
alarm state of a particular device being monitored, or a color
change by the user, the Auto Text Color routine 314 is called to
select the appropriate contrast between the text or foreground
color and the background color. The text color remains black for
the critical alarm events 704, indicated with a background color of
red, and the critical alarms that have since been cleared are
indicated by a background color of green. In those instances, the
red, green, or blue components of the background colors, red and
green respectively, have intensity value above the preset color
intensity threshold. However, the alarm severity major 702
indicated by the background color of brown causes the Auto Text
Color routine 314 to change the text color from black to white. In
this case, neither the red, green, nor blue component of the
background color brown has an intensity value that exceeds the
threshold. Therefore, the Auto Text Color routine 314 achieves a
suitably high contrast between the background color and the text
color providing improved readability independent of the background
color assigned. This automatic feature additionally provides
increased flexibility allowing a user to modify the colors
associated with each particular severity alarm status.
Specifically, the Auto Text Color 314 routine changes the color of
the text from black to white depending on the darkness or lightness
of the alarm color serving as the background for that text. In this
way, there is no need to hard-code a table of expected alarm color
settings to ensure a user may discern the text from the background
color.
[0038] Although for exemplary purposes the Auto Text Color routine
314 selects between black and white text or foreground color, it
should be understood that any number of color combinations may be
used. In addition, although for exemplary purposes high contrast is
sought, any gradient of contrast between the background and the
text or foreground color can be achieved. For example, in some
applications, for example for security reasons, it may be desirable
to minimize contrast such that the text and the background colors
closely approximate each other. Therefore, instead of switching-
from a white to a black text color when any color component has an
intensity above a preset threshold, the Auto Text Color routine
will switch from a black to a white text color above said
threshold. Finally, it will be understood that the Auto Text Color
routine 314 can be used to automatically select as the text color
the mathematical inversion of the background color. In such case,
the text color is determined directly from the background
color.
[0039] The foregoing disclosure and description of the preferred
embodiment are illustrative and explanatory thereof, and various
changes in the number of variables, number of parameters, order of
steps, field sizes, data types, code elements, code size,
connections, components, color object types, and circuitry, as well
as in the details of the illustrated hardware and software and
construction and method of operation may be made without departing
from the spirit of the invention.
* * * * *