WO2009006058A2 - Management of external hardware appliances in a distributed operating system - Google Patents

Management of external hardware appliances in a distributed operating system Download PDF

Info

Publication number
WO2009006058A2
WO2009006058A2 PCT/US2008/067816 US2008067816W WO2009006058A2 WO 2009006058 A2 WO2009006058 A2 WO 2009006058A2 US 2008067816 W US2008067816 W US 2008067816W WO 2009006058 A2 WO2009006058 A2 WO 2009006058A2
Authority
WO
WIPO (PCT)
Prior art keywords
external hardware
operating system
request
distributed operating
system interface
Prior art date
Application number
PCT/US2008/067816
Other languages
French (fr)
Other versions
WO2009006058A3 (en
Inventor
Jason M. Cahill
Titus C. Miron
Zachary D. Rosenfield
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to KR1020097026776A priority Critical patent/KR101497167B1/en
Priority to EP08780911A priority patent/EP2176779A4/en
Priority to JP2010515008A priority patent/JP2010532893A/en
Priority to CN2008800225629A priority patent/CN101689169B/en
Publication of WO2009006058A2 publication Critical patent/WO2009006058A2/en
Publication of WO2009006058A3 publication Critical patent/WO2009006058A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Definitions

  • Many computer networks include a shared infrastructure of multiple computers for providing resources to end users via a single web-based interface.
  • These computer networks typically include a distributed operating system application for controlling a server farm as a single logical unit.
  • the server farm typically includes stateless front end servers, application servers, and a database backend for storing user-created content as well as settings and connections between the front end servers and the application servers.
  • Distributed operating system computer networks also typically include additional network hardware devices or appliances such as domain name system servers, firewalls, load balancers, wide area network accelerators, and proxy servers which are utilized by the server farm to increase security, provide high availability, or help manage network downtime.
  • the aforementioned additional network hardware appliances are decentralized with respect to the distributed operating system (i.e., they are external devices with no visibility as to their status or configuration from within the distributed operating system). Furthermore, each network hardware appliance (even those manufactured by the same vendor) may have unique settings which must be manually configured by network engineers. Moreover, failures occurring within any external hardware appliance which may degrade or even crash the distributed operating system are invisible to a system administrator (the administrator may detect a failure has occurred but has no way of identifying the specific external hardware appliance or appliances causing the failure or determining the reason for the failure). As a result, time and resources are often wasted while network engineers are dispatched to identify and correct problems occurring in the external appliances. It is with respect to these considerations and others that the various embodiments of the present invention have been made.
  • Embodiments are provided to manage external hardware appliances from a distributed operating system interface in a computer network using a driver model to communicate with device drivers associated with the external hardware appliances.
  • a request to manage an external hardware appliance in the computer network may be received in a distributed web-based operating system interface.
  • a driver model may be selected which is configured to interface with a device driver for managing configuration settings for the external hardware appliance.
  • the driver model may be utilized to manage the external hardware appliance configuration settings from the interface.
  • the settings may include managing domain name changes, firewall settings, proxy settings, and the like.
  • the driver model may be utilized to manage external hardware appliance settings during a network configuration operation initiated from the distributed operating system interface.
  • FIGURE 1 is a network architecture diagram of a system configured to manage external hardware appliances from a distributed operating system in a computer network, in accordance with various embodiments;
  • FIGURE 2 is a block diagram illustrating a computing environment for implementing various embodiments described herein;
  • FIGURE 3 is a flow diagram illustrating a routine for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with one embodiment
  • FIGURE 4 is a flow diagram illustrating a routine for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with an alternative embodiment; and [0010]
  • FIGURE 5 is a block diagram of an illustrative user interface for a distributed operating system which may be utilized for managing external hardware appliances in a computer network, in accordance with one embodiment.
  • Embodiments are provided to manage external hardware appliances from a distributed operating system interface in a computer network using a driver model to communicate with device drivers associated with the external hardware appliances.
  • a request to manage an external hardware appliance in the computer network may be received in a distributed web-based operating system interface.
  • a driver model may be selected which is configured to interface with a device driver for managing configuration settings for the external hardware appliance.
  • the driver model may be utilized to manage the external hardware appliance configuration settings from the interface.
  • the settings may include managing domain name changes, firewall settings, proxy settings, and the like.
  • the driver model may be utilized to manage external hardware appliance settings during a network configuration operation initiated from the distributed operating system interface.
  • FIGURE 1 is a network architecture diagram of a computer network 100 that is configured to automatically target shared resources.
  • various components in the computer network 100 may be configured using a distributed operating system for web-based applications such as the operating system in SHAREPOINT services technology developed by MICROSOFT CORPORATION of Redmond, Washington.
  • SHAREPOINT services technology enables users to create, maintain, and present a collaborative environment to share information.
  • a user or organization can create one or more websites to provide and share information (e.g., documents on a web server or web folder, etc.) for other users associated with the websites.
  • information e.g., documents on a web server or web folder, etc.
  • the computer network 100 and its components include functionality to communicate with other computing devices, communication devices, and/or other systems and are not intended to be limited to the embodiments and examples described herein.
  • the computer network 100 includes, without limitation, a backend server 101, application servers 102A and 102B, and front end servers (i.e., web servers) 112A, 112B, and 112C, which are in communication with external hardware appliances including a domain name system (“DNS”) server 114, a network load balancer 116, and a proxy server (i.e., firewall) 118.
  • DNS domain name system
  • firewall proxy server
  • other external hardware appliances may also be incorporated into the network 100 including a directory server for storing directories such as a Universal Description, Discovery and Integration (“UDDI”) directory or a Lightweight Directory Access Protocol (“LDAP”) directory, or the ACTIVE DIRECTORY service from MICROSOFT CORPORATIION of Redmond, Washington.
  • Other external hardware appliances which may be incorporated into the network 100 may include a mail server (such as a Simple Mail Transfer Protocol (“SMTP”) server).
  • SMTP Simple Mail Transfer Protocol
  • the backend server 101, the application servers 102A and 102B, and the front end servers 112A, 112B, and 112C may be configured as a distributed operating system utilizing SHAREPOINT services technology to create a collaborative environment for sharing information.
  • the application servers 102A and 102B may be configured to run the WINDOWS SERVER operating systems incorporating WINDOWS SHAREPOINT SERVICES technology from MICROSOFT CORPORATION of Redmond, Washington. It should be appreciated, however, that operating systems from other manufacturers may also be utilized to embody the various aspects of the technical features discussed herein.
  • the backend server 101 is in communication with the application servers 102A and 102B and the front end servers 112A, 112B, and 112C (via a firewall 110).
  • the backend server 101 may comprise a structured query language ("SQL") database which stores client data, settings, and connections between the front end servers 112A, 112B, and 112C and the application servers 102A and 102B in the network 100.
  • SQL structured query language
  • the application servers 102 A and 102B are in communication with the backend server 101 and with the front end servers 112A, 112B, and 112C (through the firewall 110).
  • the application servers 102A and 102B may be utilized for performing search indexing operations as well as communicating information from an active directory for exposure in a website hosted by the front end servers 112A, 112B, and 112C.
  • the application servers 102A and 102B may include, without limitation, network management applications and driver models 104 A and 104B (hereinafter referred to as network management applications 104A and 104B).
  • the network management applications 104 A and 104B may include driver models associated with the external hardware devices 114, 116, and 118.
  • a DNS driver model may be associated with the DNS server 114 and a load balancer driver model may be associated with the network load balancer 116.
  • the driver models may be utilized by a system administrator to communicate with and configure settings in vendor supplied device drivers 130A, 130B, and 130C which may be installed in the front end servers 112A, 112B, and 112C.
  • the driver models may be selected from a user interface generated by the network management applications 104 A and 104B.
  • the network management applications 104A and 104B may be configured to generate a central administration website comprising a hardware appliances hyperlink which a network administrator may select to access a driver model associated with an external hardware appliance.
  • the network management applications 104A and 104B may also be configured to utilize the driver models to perform a network configuration operation utilizing the external hardware appliances 114, 116, and 118 from the central administration website such as adding or deleting a front end server in the network 100.
  • the network management applications 104A and 104B may also be configured to utilize the driver models to perform a system status check to obtain a current status of the external hardware appliances 114, 116, and 118 from the central administration website.
  • the driver models may be generic and configured to communicate with and manage settings in a number of device drivers comprising having common settings.
  • the driver models may be vendor specific and configured to only communicate with and manage settings in a specific device driver from a vendor.
  • the device drivers 130A, 130B, and 130C may utilize a set of application program interfaces ("APIs"), such as APIs 125 A, 125B, and 125C on the front end servers 112A, 112B, and 112C, to communicate with the driver models for the external hardware appliance device drivers 130A, 130B, and 130C in the network 100.
  • APIs application program interfaces
  • an extensible list of APIs in the distributed operating system may be shared with an external hardware appliance vendor so that a device driver may be developed to expose driver settings in the user interface generated by the network management applications 104A and 104B to manage external hardware appliances using the driver models.
  • the functionality of the network management applications 104A and 104B in managing external hardware appliances in the network 100 will be described in greater detail below with respect to FIGURES 3-5.
  • the front end servers 112A, 112B, and 112C are in communication with the backend server 101 and the application servers 102 A and 102B via the firewall 110.
  • the web front end servers 112A, 112B, and 112C are also in communication with the external hardware appliances 114, 116, and 118 (i.e., the DNS server 114, the network load balancer 116, and the proxy server 118).
  • the front end servers 112A, 112B, and 112C may include, without limitation, the APIs 125A, 125B, and 125C and the device drivers 130A, 130B, and 130C.
  • the DNS server 114 is in communication with the front end servers 112A, 112B, and 112C and may be configured to translate domain names (e.g., www.ITweb.com) into IP addresses (e.g., 198.105.232.4).
  • the network load balancer 116 is also in communication with the front end servers 112A, 112B, and 112C and may be configured to load balance network traffic across a number of servers and automatically redistribute traffic to operational servers.
  • the proxy server 118 is also in communication with the front end servers 112A, 112B, and 112C and may be configured as a firewall to filter requests from networked client computers (not shown).
  • FIGURE 2 the following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules.
  • program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
  • the application server 102A comprises a server computer which may include a general purpose desktop, laptop, handheld, tablet, or other type of computer capable of executing one or more application programs.
  • the application server 102A includes at least one central processing unit 8 ("CPU"), a system memory 12, including a random access memory 18 ("RAM”) and a read-only memory (“ROM”) 20, and a system bus 10 that couples the memory to the CPU 8.
  • CPU central processing unit 8
  • RAM random access memory 18
  • ROM read-only memory
  • the application server 102A further includes a mass storage device 14 for storing an operating system 32 and the network management application 104A.
  • the operating system 32 may comprise the WINDOWS SERVER operating systems incorporating WINDOWS SHAREPOINT SERVICES technology.
  • the mass storage device 14 is connected to the CPU 8 through a mass storage controller (not shown) connected to the bus 10.
  • the mass storage device 14 and its associated computer- readable media provide non-volatile storage for the shared resources portal 110.
  • computer-readable media can be any available media that can be accessed or utilized by the application server 102A.
  • computer-readable media may comprise computer storage media and communication media.
  • Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks ("DVD"), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the application server 102A.
  • the application server 102A may operate in a networked environment using logical connections to remote computers through a network 4, such as a local network or a wide area network (e.g., the Internet), for example.
  • the application server 102A may connect to the network 4 through a network interface unit 16 connected to the bus 10.
  • the network interface unit 16 may also be utilized to connect to other types of networks and remote computing systems.
  • the application server 102A may also include an input/output controller 22 for receiving and processing input from a number of input types, including a keyboard, mouse, pen, stylus, finger, and/or other means.
  • an input/output controller 22 may provide output to a display, a printer, or other type of output device.
  • a touch screen can serve as an input and an output mechanism.
  • FIGURE 3 is a flow diagram illustrating a routine 300 for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with one embodiment.
  • FIGURES 1 and 2 are referred to in the description of FIGURE 3, but the embodiment is not so limited.
  • routines presented herein it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system.
  • the implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated in FIGURES 3-4 and making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules.
  • the routine 300 begins at operation 305, where either of the network management applications 104A or 104B executing on the application servers 102A or 102B (hereinafter referred to as the network management application 104A and the application server 102A) receives a request to manage an external hardware appliance in the network 100.
  • a system administrator may access a web-based user interface generated by the network management application 104A and select a uniform resource locator ("URL") for managing driver settings for external hardware appliances.
  • URL uniform resource locator
  • An illustrative user interface for managing external hardware appliances is shown in FIGURE 5 and will be discussed in greater detail below.
  • the routine 300 continues to operation 310, where the network administration application 104A receives a selection of a driver model in the user interface.
  • the selection of the driver model may be made by selecting a URL corresponding to the external hardware appliance device driver to be configured.
  • a system administrator after selecting a URL for managing external hardware appliances may be presented with a web page listing external hardware appliance types to configure and then select a URL corresponding to managing a load balancer.
  • the driver model may be a generic driver model compatible with a number of external hardware appliance device drivers or alternatively, the driver model may be a vendor specific driver model which is compatible with a specific device driver from a vendor.
  • the routine 300 continues to operation 315, where the network administration application 104A utilizes the selected driver model to configure settings for the corresponding external hardware appliance.
  • the network administration application 104A after receiving the selected driver model, may open up a configuration wizard for configuring various settings associated with an external hardware appliance.
  • routine 300 continues to operation 320, where the network administration application 104A receives a request for a current status of an external hardware appliance in the network 100.
  • a system administrator may select a URL from the user interface generated by the network administration application 104A corresponding to a driver model to obtain a current status for an external hardware appliance in the network 100.
  • routine 300 continues to operation 325, where the network administration application 104A utilizes the selected device driver to communicate with a corresponding external hardware appliance for current status information. For example, if requests for a website on a front end server in the network 100 unexpectedly return an error message, the system administrator may select a URL for the device status of a DNS server in the network 100. The routine 300 then ends.
  • FIGURE 4 a routine 400 for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with an alternative embodiment, will now be described.
  • the routine 400 begins at operation 405, where the network administration application 104 A receives a request to perform a network configuration operation in the user interface. For example, a system administrator may select a URL in the user interface to add a front end server to the distributed operating system in the network 100.
  • the routine 400 continues to operation 410, where the network administration application 104A uses a driver model to communicate with an external hardware appliance to execute a task utilized in performing the requested network configuration operation.
  • the network administration application 104A may be configured to automatically determine the tasks which need to be performed by the external hardware appliances in performing the requested network configuration operation and automatically utilize the driver models to communicate the appropriate settings to the affected external hardware appliance device drivers. For example, if a front end server is being added to a network, the network administration application 104A may determine that the settings for the network load balancer 116 need to be adjusted to handle the increased traffic from the new server.
  • a user interface 500 comprises a central administration web page which includes a URL 502 for managing hardware appliances and a URL 504 for network configuration.
  • a user (such as a system administrator) is taken to a web page 520 which includes a URL 506 for managing a load balance, a URL 508 for managing a proxy server, and a URL 510 for managing a DNS server.
  • a user is taken to a web page 530 which includes a URL 512 for adding a front end server, a URL 514 for removing a front end server, and a URL 516 for requesting a system status of a network.

Abstract

Embodiments are provided to manage external hardware appliances from a distributed operating system interface in a computer network using a driver model to communicate with device drivers associated with the external hardware appliances. In one embodiment, a request to manage an external hardware appliance in the computer network may be received in a distributed web-based operating system interface. A driver model may be selected which is configured to interface with a device driver for managing configuration settings for the external hardware appliance. The driver model may be utilized to manage the external hardware appliance configuration settings from the interface. The settings may include managing domain name changes, firewall settings, proxy settings, and the like. In another embodiment, the driver model may be utilized to manage external hardware appliance settings during a network configuration operation initiated from the distributed operating system interface.

Description

MANAGEMENT OF EXTERNAL HARDWARE APPLIANCES IN A DISTRIBUTED OPERATING SYSTEM
BACKGROUND
[0001] Many computer networks include a shared infrastructure of multiple computers for providing resources to end users via a single web-based interface. These computer networks typically include a distributed operating system application for controlling a server farm as a single logical unit. The server farm typically includes stateless front end servers, application servers, and a database backend for storing user-created content as well as settings and connections between the front end servers and the application servers. Distributed operating system computer networks also typically include additional network hardware devices or appliances such as domain name system servers, firewalls, load balancers, wide area network accelerators, and proxy servers which are utilized by the server farm to increase security, provide high availability, or help manage network downtime. [0002] The aforementioned additional network hardware appliances, however, are decentralized with respect to the distributed operating system (i.e., they are external devices with no visibility as to their status or configuration from within the distributed operating system). Furthermore, each network hardware appliance (even those manufactured by the same vendor) may have unique settings which must be manually configured by network engineers. Moreover, failures occurring within any external hardware appliance which may degrade or even crash the distributed operating system are invisible to a system administrator (the administrator may detect a failure has occurred but has no way of identifying the specific external hardware appliance or appliances causing the failure or determining the reason for the failure). As a result, time and resources are often wasted while network engineers are dispatched to identify and correct problems occurring in the external appliances. It is with respect to these considerations and others that the various embodiments of the present invention have been made.
SUMMARY
[0003] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter. [0004] Embodiments are provided to manage external hardware appliances from a distributed operating system interface in a computer network using a driver model to communicate with device drivers associated with the external hardware appliances. In one embodiment, a request to manage an external hardware appliance in the computer network may be received in a distributed web-based operating system interface. A driver model may be selected which is configured to interface with a device driver for managing configuration settings for the external hardware appliance. The driver model may be utilized to manage the external hardware appliance configuration settings from the interface. The settings may include managing domain name changes, firewall settings, proxy settings, and the like. In another embodiment, the driver model may be utilized to manage external hardware appliance settings during a network configuration operation initiated from the distributed operating system interface.
[0005] These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are illustrative only and are not restrictive of the invention as claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006] FIGURE 1 is a network architecture diagram of a system configured to manage external hardware appliances from a distributed operating system in a computer network, in accordance with various embodiments;
[0007] FIGURE 2 is a block diagram illustrating a computing environment for implementing various embodiments described herein;
[0008] FIGURE 3 is a flow diagram illustrating a routine for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with one embodiment;
[0009] FIGURE 4 is a flow diagram illustrating a routine for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with an alternative embodiment; and [0010] FIGURE 5 is a block diagram of an illustrative user interface for a distributed operating system which may be utilized for managing external hardware appliances in a computer network, in accordance with one embodiment. DETAILED DESCRIPTION
[0011] Embodiments are provided to manage external hardware appliances from a distributed operating system interface in a computer network using a driver model to communicate with device drivers associated with the external hardware appliances. In one embodiment, a request to manage an external hardware appliance in the computer network may be received in a distributed web-based operating system interface. A driver model may be selected which is configured to interface with a device driver for managing configuration settings for the external hardware appliance. The driver model may be utilized to manage the external hardware appliance configuration settings from the interface. The settings may include managing domain name changes, firewall settings, proxy settings, and the like. In another embodiment, the driver model may be utilized to manage external hardware appliance settings during a network configuration operation initiated from the distributed operating system interface. [0012] Referring now to the drawings, in which like numerals represent like elements, various illustrative embodiments will now be described. FIGURE 1 is a network architecture diagram of a computer network 100 that is configured to automatically target shared resources. In one embodiment, various components in the computer network 100 may be configured using a distributed operating system for web-based applications such as the operating system in SHAREPOINT services technology developed by MICROSOFT CORPORATION of Redmond, Washington. As is known to those skilled in the art, SHAREPOINT services technology enables users to create, maintain, and present a collaborative environment to share information. Using the technology, a user or organization can create one or more websites to provide and share information (e.g., documents on a web server or web folder, etc.) for other users associated with the websites. It should be understood that the embodiments described herein should not be construed as being limited to SHAREPOINT services technology and that other collaborative services technology from other developers and/or manufacturers may also be utilized. The computer network 100 and its components include functionality to communicate with other computing devices, communication devices, and/or other systems and are not intended to be limited to the embodiments and examples described herein.
[0013] As shown in FIGURE 1, the computer network 100 includes, without limitation, a backend server 101, application servers 102A and 102B, and front end servers (i.e., web servers) 112A, 112B, and 112C, which are in communication with external hardware appliances including a domain name system ("DNS") server 114, a network load balancer 116, and a proxy server (i.e., firewall) 118. It will be appreciated that in accordance with various embodiments, other external hardware appliances may also be incorporated into the network 100 including a directory server for storing directories such as a Universal Description, Discovery and Integration ("UDDI") directory or a Lightweight Directory Access Protocol ("LDAP") directory, or the ACTIVE DIRECTORY service from MICROSOFT CORPORATIION of Redmond, Washington. Other external hardware appliances which may be incorporated into the network 100 may include a mail server (such as a Simple Mail Transfer Protocol ("SMTP") server). In one embodiment, the backend server 101, the application servers 102A and 102B, and the front end servers 112A, 112B, and 112C may be configured as a distributed operating system utilizing SHAREPOINT services technology to create a collaborative environment for sharing information. In particular, in accordance with one embodiment, the application servers 102A and 102B may be configured to run the WINDOWS SERVER operating systems incorporating WINDOWS SHAREPOINT SERVICES technology from MICROSOFT CORPORATION of Redmond, Washington. It should be appreciated, however, that operating systems from other manufacturers may also be utilized to embody the various aspects of the technical features discussed herein.
[0014] The backend server 101 is in communication with the application servers 102A and 102B and the front end servers 112A, 112B, and 112C (via a firewall 110). In accordance with an embodiment, the backend server 101 may comprise a structured query language ("SQL") database which stores client data, settings, and connections between the front end servers 112A, 112B, and 112C and the application servers 102A and 102B in the network 100. [0015] The application servers 102 A and 102B are in communication with the backend server 101 and with the front end servers 112A, 112B, and 112C (through the firewall 110). Generally, the application servers 102A and 102B may be utilized for performing search indexing operations as well as communicating information from an active directory for exposure in a website hosted by the front end servers 112A, 112B, and 112C. The application servers 102A and 102B may include, without limitation, network management applications and driver models 104 A and 104B (hereinafter referred to as network management applications 104A and 104B).
[0016] In accordance with one embodiment, the network management applications 104 A and 104B may include driver models associated with the external hardware devices 114, 116, and 118. For example, a DNS driver model may be associated with the DNS server 114 and a load balancer driver model may be associated with the network load balancer 116. The driver models may be utilized by a system administrator to communicate with and configure settings in vendor supplied device drivers 130A, 130B, and 130C which may be installed in the front end servers 112A, 112B, and 112C. The driver models may be selected from a user interface generated by the network management applications 104 A and 104B. In particular, the network management applications 104A and 104B may be configured to generate a central administration website comprising a hardware appliances hyperlink which a network administrator may select to access a driver model associated with an external hardware appliance. The network management applications 104A and 104B may also be configured to utilize the driver models to perform a network configuration operation utilizing the external hardware appliances 114, 116, and 118 from the central administration website such as adding or deleting a front end server in the network 100. The network management applications 104A and 104B may also be configured to utilize the driver models to perform a system status check to obtain a current status of the external hardware appliances 114, 116, and 118 from the central administration website. It should be understood that, in accordance with one embodiment, the driver models may be generic and configured to communicate with and manage settings in a number of device drivers comprising having common settings. Alternatively, the driver models may be vendor specific and configured to only communicate with and manage settings in a specific device driver from a vendor. [0017] In accordance with one embodiment, the device drivers 130A, 130B, and 130C may utilize a set of application program interfaces ("APIs"), such as APIs 125 A, 125B, and 125C on the front end servers 112A, 112B, and 112C, to communicate with the driver models for the external hardware appliance device drivers 130A, 130B, and 130C in the network 100. In particular, an extensible list of APIs in the distributed operating system may be shared with an external hardware appliance vendor so that a device driver may be developed to expose driver settings in the user interface generated by the network management applications 104A and 104B to manage external hardware appliances using the driver models. The functionality of the network management applications 104A and 104B in managing external hardware appliances in the network 100 will be described in greater detail below with respect to FIGURES 3-5.
[0018] The front end servers 112A, 112B, and 112C are in communication with the backend server 101 and the application servers 102 A and 102B via the firewall 110. The web front end servers 112A, 112B, and 112C are also in communication with the external hardware appliances 114, 116, and 118 (i.e., the DNS server 114, the network load balancer 116, and the proxy server 118). The front end servers 112A, 112B, and 112C may include, without limitation, the APIs 125A, 125B, and 125C and the device drivers 130A, 130B, and 130C.
[0019] The DNS server 114 is in communication with the front end servers 112A, 112B, and 112C and may be configured to translate domain names (e.g., www.ITweb.com) into IP addresses (e.g., 198.105.232.4). The network load balancer 116 is also in communication with the front end servers 112A, 112B, and 112C and may be configured to load balance network traffic across a number of servers and automatically redistribute traffic to operational servers. The proxy server 118 is also in communication with the front end servers 112A, 112B, and 112C and may be configured as a firewall to filter requests from networked client computers (not shown). Exemplary Operating Environment
[0020] Referring now to FIGURE 2, the following discussion is intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules. [0021] Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices. [0022] Referring now to FIGURE 2, an illustrative operating environment for embodiments of the invention will be described. As shown in FIGURE 2, the application server 102A comprises a server computer which may include a general purpose desktop, laptop, handheld, tablet, or other type of computer capable of executing one or more application programs. The application server 102A includes at least one central processing unit 8 ("CPU"), a system memory 12, including a random access memory 18 ("RAM") and a read-only memory ("ROM") 20, and a system bus 10 that couples the memory to the CPU 8. A basic input/output system containing the basic routines that help to transfer information between elements within the computer, such as during startup, is stored in the ROM 20. [0023] The application server 102A further includes a mass storage device 14 for storing an operating system 32 and the network management application 104A. In accordance with various embodiments, the operating system 32 may comprise the WINDOWS SERVER operating systems incorporating WINDOWS SHAREPOINT SERVICES technology. The mass storage device 14 is connected to the CPU 8 through a mass storage controller (not shown) connected to the bus 10. The mass storage device 14 and its associated computer- readable media provide non-volatile storage for the shared resources portal 110. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed or utilized by the application server 102A. [0024] By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks ("DVD"), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the application server 102A. [0025] According to various embodiments of the invention, the application server 102A may operate in a networked environment using logical connections to remote computers through a network 4, such as a local network or a wide area network (e.g., the Internet), for example. The application server 102A may connect to the network 4 through a network interface unit 16 connected to the bus 10. [0026] It should be appreciated that the network interface unit 16 may also be utilized to connect to other types of networks and remote computing systems. The application server 102A may also include an input/output controller 22 for receiving and processing input from a number of input types, including a keyboard, mouse, pen, stylus, finger, and/or other means. Similarly, an input/output controller 22 may provide output to a display, a printer, or other type of output device. Additionally, a touch screen can serve as an input and an output mechanism.
[0027] As mentioned briefly above, a number of program modules and data files may be stored in the mass storage device 14 and RAM 18 of the application server 102 A, including an operating system 32 suitable for controlling the operation of a networked personal computer, such as the WINDOWS SERVER operating systems from MICROSOFT CORPORATION of Redmond, Washington. The mass storage device 14 and RAM 18 may also store one or more program modules. In particular, the mass storage device 14 and the RAM 18 may store the network management application 104A. [0028] FIGURE 3 is a flow diagram illustrating a routine 300 for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with one embodiment. The components of FIGURES 1 and 2 are referred to in the description of FIGURE 3, but the embodiment is not so limited. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated in FIGURES 3-4 and making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.
[0029] The routine 300 begins at operation 305, where either of the network management applications 104A or 104B executing on the application servers 102A or 102B (hereinafter referred to as the network management application 104A and the application server 102A) receives a request to manage an external hardware appliance in the network 100. In particular, a system administrator may access a web-based user interface generated by the network management application 104A and select a uniform resource locator ("URL") for managing driver settings for external hardware appliances. An illustrative user interface for managing external hardware appliances is shown in FIGURE 5 and will be discussed in greater detail below. [0030] From operation 305, the routine 300 continues to operation 310, where the network administration application 104A receives a selection of a driver model in the user interface. In one embodiment, the selection of the driver model may be made by selecting a URL corresponding to the external hardware appliance device driver to be configured. For example, a system administrator, after selecting a URL for managing external hardware appliances may be presented with a web page listing external hardware appliance types to configure and then select a URL corresponding to managing a load balancer. As discussed above, the driver model may be a generic driver model compatible with a number of external hardware appliance device drivers or alternatively, the driver model may be a vendor specific driver model which is compatible with a specific device driver from a vendor.
[0031] From operation 310, the routine 300 continues to operation 315, where the network administration application 104A utilizes the selected driver model to configure settings for the corresponding external hardware appliance. In particular, the network administration application 104A, after receiving the selected driver model, may open up a configuration wizard for configuring various settings associated with an external hardware appliance.
[0032] From operation 315, the routine 300 continues to operation 320, where the network administration application 104A receives a request for a current status of an external hardware appliance in the network 100. In particular, a system administrator may select a URL from the user interface generated by the network administration application 104A corresponding to a driver model to obtain a current status for an external hardware appliance in the network 100.
[0033] From operation 320, the routine 300 continues to operation 325, where the network administration application 104A utilizes the selected device driver to communicate with a corresponding external hardware appliance for current status information. For example, if requests for a website on a front end server in the network 100 unexpectedly return an error message, the system administrator may select a URL for the device status of a DNS server in the network 100. The routine 300 then ends. [0034] Turning now to FIGURE 4, a routine 400 for managing external hardware appliances from a distributed operating system interface in a computer network, in accordance with an alternative embodiment, will now be described. The routine 400 begins at operation 405, where the network administration application 104 A receives a request to perform a network configuration operation in the user interface. For example, a system administrator may select a URL in the user interface to add a front end server to the distributed operating system in the network 100.
[0035] From operation 405, the routine 400 continues to operation 410, where the network administration application 104A uses a driver model to communicate with an external hardware appliance to execute a task utilized in performing the requested network configuration operation. In particular, the network administration application 104A may be configured to automatically determine the tasks which need to be performed by the external hardware appliances in performing the requested network configuration operation and automatically utilize the driver models to communicate the appropriate settings to the affected external hardware appliance device drivers. For example, if a front end server is being added to a network, the network administration application 104A may determine that the settings for the network load balancer 116 need to be adjusted to handle the increased traffic from the new server. After the determination is made, the network administration application 104A may then automatically utilize the driver model for the network load balancer 116 to communicate with the network load balancer device driver 140 and instruct the device driver to adjust the necessary settings. The routine 400 then ends. [0036] Turning now to FIGURE 5, a block diagram of an illustrative user interface for a distributed operating system which may be utilized for managing external hardware appliances in a computer network, in accordance with an embodiment, will now be described. A user interface 500 comprises a central administration web page which includes a URL 502 for managing hardware appliances and a URL 504 for network configuration. Upon selecting the URL 502, a user (such as a system administrator) is taken to a web page 520 which includes a URL 506 for managing a load balance, a URL 508 for managing a proxy server, and a URL 510 for managing a DNS server. Upon selecting the URL 504, a user is taken to a web page 530 which includes a URL 512 for adding a front end server, a URL 514 for removing a front end server, and a URL 516 for requesting a system status of a network. [0037] Although the invention has been described in connection with various illustrative embodiments, those of ordinary skill in the art will understand that many modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of the invention in any way be limited by the above description, but instead be determined entirely by reference to the claims that follow.

Claims

WHAT IS CLAIMED IS:
1. A method of managing external hardware appliances (114, 116, 118) from a distributed operating system interface (500) in a computer network (100), comprising: receiving a request (305) in the distributed operating system interface (500) to manage an external hardware appliance (114) in the computer network (100); receiving a selection (310) of a driver model (104A) associated with the external hardware appliance in the distributed operating system interface; and utilizing the selected driver model to configure settings (315) for the external hardware appliance from the distributed operating system interface.
2. The method of claim 1 further comprising: receiving a request for a current status (320) of the external hardware appliance from the distributed operating system interface; and in response to the request, utilizing the selected driver model to communicate with the external hardware appliance for current status information (325).
3. The method of claim 1, wherein receiving a request in the distributed operating system interface to manage an external hardware appliance in the computer network comprises receiving a request in a web-based interface (500).
4. The method of claim 3, wherein receiving a request in a web-based interface comprises receiving a selection of a Uniform Resource Locator (URL) (502) for managing a plurality of external hardware appliances.
5. The method of claim 1, wherein receiving a request in the distributed operating system interface to manage an external hardware appliance in the computer network comprises receiving a request in the distributed operating system interface to manage at least one of the following: a proxy server (118), a load balancer (116), or a domain name system (DNS) server (114).
6. The method of claim 1, wherein receiving a selection of a driver model associated with the external hardware appliance in the distributed operating system interface comprises receiving a selection of a generic driver model, wherein the generic driver model utilizes a set of application program interfaces (APIs) (125A) to communicate with a plurality of device drivers used for managing a plurality of external hardware appliances.
7. The method of claim 1, wherein receiving a selection of a driver model associated with the external hardware appliance in the distributed operating system interface comprises receiving a selection of a vendor specific driver model, wherein the vendor specific driver model communicates with a vendor specific device driver used for managing the external hardware appliance.
8. A system for managing external hardware appliances (114, 116, 118) from a distributed operating system interface (500) in a computer network, comprising: a memory (12) for storing executable program code (104A); and a processor (8), functionally coupled to the memory, the processor being responsive to computer-executable instructions contained in the program code and operative to receive a request in the distributed operating system interface to perform a configuration operation (405) in the computer network; and to communicate with at least one external hardware appliance to execute a task utilized in performing the configuration operation (410) using a driver model (104A).
9. The system of claim 8, wherein the processor in receiving a request to perform a configuration operation in the distributed operating system interface is operative to receive a request to schedule the performance of the configuration operation (504).
10. The system of claim 8, wherein the processor in receiving a request to perform a configuration operation in the distributed operating system interface is operative to receive a request to add a front end server (512) to the computer network.
11. The system of claim 8, wherein the processor in receiving a request to perform a configuration operation in the distributed operating system interface is operative to receive a request to remove a front end server (514) from the computer network.
12. The system of claim 8, wherein the processor in receiving a request to perform a configuration operation in the distributed operating system interface is operative to receive a request to perform a configuration operation in a web-based interface (504).
13. The system of claim 8, wherein the processor in communicating with at least one external hardware appliance to execute a task utilized in performing the configuration operation using a driver model is operative to utilize a generic driver model to communicate with at least one device driver used for managing the at least one external hardware appliance.
14. The system of claim 8, wherein the processor in communicating with at least one external hardware appliance to execute a task utilized in performing the configuration operation using a driver model is operative to utilize a vendor specific driver model to communicate with at least one vendor specific device driver used for managing the at least one external hardware appliance.
15. A computer-readable storage medium containing computer executable instructions which, when executed on a computer, will cause the computer to perform a method of managing external hardware appliances (114, 116, 118) from a distributed operating system interface (500) in a computer network, comprising: receiving a request in the distributed operating system interface (500) to manage an external hardware appliance (114) in the computer network; receiving a selection (310) of a driver model (104A) associated with the external hardware appliance in the distributed operating system interface; utilizing the selected driver model to configure settings (315) for the external hardware appliance from the distributed operating system interface; receiving a request for a current status (320) of the external hardware appliance from the distributed operating system interface; and in response to the request, utilizing the selected driver model to communicate with the external hardware appliance for current status information (325).
16. The computer-readable storage medium of claim 15, wherein receiving a request in the distributed operating system interface to manage an external hardware appliance in the computer network comprises receiving a request in a web-based interface (500).
17. The computer-readable storage medium of claim 16, wherein receiving a request in a web-based interface comprises receiving a selection of a Uniform Resource Locator (URL) (502) for managing a plurality of external hardware appliances.
18. The computer-readable storage medium of claim 15, wherein receiving a request in the distributed operating system interface to manage an external hardware appliance in the computer network comprises receiving a request in the distributed operating system interface to manage at least one of the following: a proxy server (118), a load balancer (116), or a domain name system (DNS) server (114).
19. The computer-readable storage medium of claim 15, wherein receiving a selection of a driver model associated with the external hardware appliance in the distributed operating system interface comprises receiving a selection of a generic driver model, wherein the generic driver model utilizes a set of application program interfaces (APIs) (125A) to communicate with a plurality of device drivers used for managing a plurality of external hardware appliances.
20. The computer-readable storage medium of claim 15, wherein receiving a selection of a driver model associated with the external hardware appliance in the distributed operating system interface comprises receiving a selection of a vendor specific driver model, wherein the vendor specific driver model communicates with a vendor specific device driver used for managing the external hardware appliance.
PCT/US2008/067816 2007-06-29 2008-06-22 Management of external hardware appliances in a distributed operating system WO2009006058A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020097026776A KR101497167B1 (en) 2007-06-29 2008-06-22 Management of external hardware appliances in a distributed operating system
EP08780911A EP2176779A4 (en) 2007-06-29 2008-06-22 Management of external hardware appliances in a distributed operating system
JP2010515008A JP2010532893A (en) 2007-06-29 2008-06-22 Managing external hardware in distributed operating systems
CN2008800225629A CN101689169B (en) 2007-06-29 2008-06-22 Management of external hardware appliances in a distributed operating system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/771,631 2007-06-29
US11/771,631 US8060891B2 (en) 2007-06-29 2007-06-29 Management of external hardware appliances in a distributed operating system

Publications (2)

Publication Number Publication Date
WO2009006058A2 true WO2009006058A2 (en) 2009-01-08
WO2009006058A3 WO2009006058A3 (en) 2009-03-05

Family

ID=40162398

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/067816 WO2009006058A2 (en) 2007-06-29 2008-06-22 Management of external hardware appliances in a distributed operating system

Country Status (7)

Country Link
US (1) US8060891B2 (en)
EP (1) EP2176779A4 (en)
JP (1) JP2010532893A (en)
KR (1) KR101497167B1 (en)
CN (1) CN101689169B (en)
TW (1) TWI441478B (en)
WO (1) WO2009006058A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945130A (en) * 2010-09-15 2011-01-12 中国人民解放军国防科学技术大学 Composite domain name based service array load balancing method

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4966135B2 (en) * 2007-08-31 2012-07-04 株式会社東芝 Server device, terminal device, communication control method, and communication control program
WO2009042919A2 (en) * 2007-09-26 2009-04-02 Nicira Networks Network operating system for managing and securing networks
US8978052B1 (en) 2009-04-29 2015-03-10 Qlogic, Corporation System and methods for inter-driver communication
US8250653B2 (en) * 2009-04-30 2012-08-21 Microsoft Corporation Secure multi-principal web browser
US8266714B2 (en) 2009-08-28 2012-09-11 Microsoft Corporation Access control in a multi-principal browser
US8341268B2 (en) 2009-08-28 2012-12-25 Microsoft Corporation Resource sharing in multi-principal browser
WO2014102865A1 (en) 2012-12-27 2014-07-03 Osaka Electro-Communication University Device and method for producing electrolyzed liquid
KR102343641B1 (en) * 2015-03-13 2021-12-24 삼성전자주식회사 SYSTEM ON CHIP (SoC) AND DEVICES HAVING THE SoC
CN105138314B (en) * 2015-07-08 2019-02-01 Oppo广东移动通信有限公司 A kind of channel selection method and device of terminal application software
US10805420B2 (en) * 2017-11-29 2020-10-13 Forcepoint Llc Proxy-less wide area network acceleration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1372060A2 (en) 2002-04-23 2003-12-17 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US20040111418A1 (en) 2002-12-04 2004-06-10 Microsoft Corporation Print management architecture for computing devices
GB2412461A (en) 2005-05-05 2005-09-28 Business Serve Plc Remote configuration of voice over IP devices

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01189751A (en) * 1988-01-25 1989-07-28 Matsushita Electric Ind Co Ltd Data processing system
JP3042341B2 (en) * 1994-11-30 2000-05-15 日本電気株式会社 Local I / O Control Method for Cluster-Coupled Multiprocessor System
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
JPH10161823A (en) * 1996-11-27 1998-06-19 Nec Corp Print system
JP2001527726A (en) 1997-05-23 2001-12-25 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク Method and system for providing multimedia services in an ATM communication network
ES2278462T3 (en) * 1998-10-19 2007-08-01 Siemens Aktiengesellschaft PROCEDURE FOR THE CONTROL OF NETWORK ELEMENTS.
US6587874B1 (en) * 1999-06-29 2003-07-01 Cisco Technology, Inc. Directory assisted autoinstall of network devices
US6556995B1 (en) * 1999-11-18 2003-04-29 International Business Machines Corporation Method to provide global sign-on for ODBC-based database applications
US6880158B1 (en) * 2000-04-10 2005-04-12 International Business Machines Corporation Network processor services architecture that is platform and operating system independent
US6895438B1 (en) * 2000-09-06 2005-05-17 Paul C. Ulrich Telecommunication-based time-management system and method
US7565422B2 (en) * 2002-01-08 2009-07-21 Bottomline Technologies (De), Inc. Transfer client of a secure system for unattended remote file and message transfer
US7490137B2 (en) * 2002-03-22 2009-02-10 Microsoft Corporation Vector-based sending of web content
US20030221094A1 (en) * 2002-04-17 2003-11-27 Avery Pennarun Method and system for configuring a computer
JP2004102558A (en) * 2002-09-09 2004-04-02 Murata Mach Ltd Server device
US6847970B2 (en) * 2002-09-11 2005-01-25 International Business Machines Corporation Methods and apparatus for managing dependencies in distributed systems
US7140021B2 (en) * 2002-09-13 2006-11-21 Microsoft Corporation Dynamic TCP partitioning
US7263605B2 (en) 2002-12-09 2007-08-28 Intel Corporation Decoupled hardware configuration manager that generates a user interface prior to booting using hardware configuration option data read from plurality of hardware devices
US7184917B2 (en) * 2003-02-14 2007-02-27 Advantest America R&D Center, Inc. Method and system for controlling interchangeable components in a modular test system
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US7072807B2 (en) 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US20040230416A1 (en) * 2003-05-12 2004-11-18 Microsoft Corporation Bifurcated operating system having a language neutral component
JP2005107707A (en) 2003-09-29 2005-04-21 Canon Inc Information processor
US8151280B2 (en) * 2003-10-27 2012-04-03 Microsoft Corporation Simple and dynamic configuration of network devices
US20050125486A1 (en) * 2003-11-20 2005-06-09 Microsoft Corporation Decentralized operating system
US7418701B2 (en) * 2004-03-12 2008-08-26 Fuji Xerox Co., Ltd. Network device and setup method thereof
JP2005327075A (en) 2004-05-14 2005-11-24 Matsushita Electric Ind Co Ltd Network configuration establishment method, host apparatus corresponding to network, and target apparatus corresponding to network
JP2006004174A (en) * 2004-06-17 2006-01-05 Dainippon Printing Co Ltd Proxy server
US7664834B2 (en) * 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
JP4726190B2 (en) * 2004-08-09 2011-07-20 株式会社メガチップス Network camera, DDNS server, and video distribution system
US7496886B2 (en) * 2004-09-30 2009-02-24 Microsoft Corporation Method and system for providing cross project commitments
US20060165040A1 (en) * 2004-11-30 2006-07-27 Rathod Yogesh C System, method, computer program products, standards, SOA infrastructure, search algorithm and a business method thereof for AI enabled information communication and computation (ICC) framework (NetAlter) operated by NetAlter Operating System (NOS) in terms of NetAlter Service Browser (NSB) to device alternative to internet and enterprise & social communication framework engrossing universally distributed grid supercomputing and peer to peer framework
JP4548168B2 (en) * 2005-03-22 2010-09-22 日本電気株式会社 Load balance device, server system and load balance method thereof
US20060247057A1 (en) * 2005-04-28 2006-11-02 Green Anthony E Logic Interface Engine System and Method
JP4971610B2 (en) * 2005-09-01 2012-07-11 キヤノン株式会社 Program and method for managing device driver and information processing apparatus
ZA200904072B (en) 2006-12-07 2010-08-25 Vestergaard Sa Modular water purification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1372060A2 (en) 2002-04-23 2003-12-17 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US20040111418A1 (en) 2002-12-04 2004-06-10 Microsoft Corporation Print management architecture for computing devices
GB2412461A (en) 2005-05-05 2005-09-28 Business Serve Plc Remote configuration of voice over IP devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101945130A (en) * 2010-09-15 2011-01-12 中国人民解放军国防科学技术大学 Composite domain name based service array load balancing method
CN101945130B (en) * 2010-09-15 2012-12-26 中国人民解放军国防科学技术大学 Composite domain name based service array load balancing method

Also Published As

Publication number Publication date
TWI441478B (en) 2014-06-11
TW200908607A (en) 2009-02-16
EP2176779A4 (en) 2011-12-21
CN101689169B (en) 2013-08-21
WO2009006058A3 (en) 2009-03-05
CN101689169A (en) 2010-03-31
KR101497167B1 (en) 2015-02-27
KR20100035689A (en) 2010-04-06
JP2010532893A (en) 2010-10-14
US20090007152A1 (en) 2009-01-01
EP2176779A2 (en) 2010-04-21
US8060891B2 (en) 2011-11-15

Similar Documents

Publication Publication Date Title
US8060891B2 (en) Management of external hardware appliances in a distributed operating system
US8181071B2 (en) Automatically managing system downtime in a computer network
US11687422B2 (en) Server clustering in a computing-on-demand system
US20120158806A1 (en) Provisioning network-attached storage
US10574724B2 (en) Automatic discovery of management nodes and generation of CLI using HA module
US20070198458A1 (en) Distributed namespace aggregation
WO2012054218A2 (en) Routing traffic in an online service with high availability
JP5197351B2 (en) Information processing apparatus, information processing method, and program
CN114731291A (en) Security service
US9338127B2 (en) Browser based hostname resolution for non-DNS (domain name service) and/or different DNS environments
EP1387300A2 (en) Establishment of network connections
US7103889B2 (en) Method, system, and article of manufacture for agent processing
EP2718817A2 (en) Crawl freshness in disaster data center
EP3298736B1 (en) Forwarding current request based on, at least in part, previous request(s)
US20080065679A1 (en) Method for rules-based drag and drop processing in a network environment
CN112583891B (en) Interface document acquisition method and device and server
US11546405B2 (en) Methods for exposing mainframe data as a web service and devices thereof
Lamouchi Flying All Over the Sky with Quarkus and Kubernetes
Hitchcock High Availability
Morgan et al. JBoss Enterprise Application Platform 5 HTTP Connectors Load Balancing Guide
Mignault et al. High Availability
Goudswaard et al. Oracle HTTP Server Administrator’s Guide, 10g Release 2 (10.2) Part No. B14190-01 Copyright© 2002, 2005, Oracle. All rights reserved. Primary Author: Harry Schaefer Contributor: Julia Pond, Sanket Atal, Warren Briese, Olivier Caudron, Kevin Clark, Priscila Darakjian
Homer et al. Remoting to. NET Clients
Fagg et al. 1. The Challenge

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880022562.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08780911

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 20097026776

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010515008

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 103/CHENP/2010

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2008780911

Country of ref document: EP