JP5244781B2 - Web server and method - Google Patents

Web server and method Download PDF

Info

Publication number
JP5244781B2
JP5244781B2 JP2009295308A JP2009295308A JP5244781B2 JP 5244781 B2 JP5244781 B2 JP 5244781B2 JP 2009295308 A JP2009295308 A JP 2009295308A JP 2009295308 A JP2009295308 A JP 2009295308A JP 5244781 B2 JP5244781 B2 JP 5244781B2
Authority
JP
Japan
Prior art keywords
command
execution result
server
user terminal
input
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2009295308A
Other languages
Japanese (ja)
Other versions
JP2011134255A (en
Inventor
哲也 望月
裕太 伊藤
花吉 井出
武史 中谷
恒明 若林
直哉 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2009295308A priority Critical patent/JP5244781B2/en
Publication of JP2011134255A publication Critical patent/JP2011134255A/en
Application granted granted Critical
Publication of JP5244781B2 publication Critical patent/JP5244781B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、Webサーバ及び方法、より詳しくは、ユーザ端末のWebブラウザからの入力に応じて、サーバ群へのコマンド操作を実現可能なWebサーバ及び方法に関する。   The present invention relates to a web server and method, and more particularly, to a web server and method capable of realizing a command operation to a server group in response to an input from a web browser of a user terminal.

インターネットの爆発的な普及により、ポータルサイトや動画投稿サイトなどの様々なサービスが提供されるようになっている。このような大規模なサービスを提供するサイトは、多数のサーバ群により運営されるところ、サーバ障害が生じるとサービスの提供が困難になり、多大な損失が生じてしまうことになる。そのため、運営会社のサーバ管理者は、サーバ障害によるサービス停止を防止すべく、サーバの管理に膨大な労力をかけている。   Due to the explosive spread of the Internet, various services such as portal sites and video posting sites have been provided. A site that provides such a large-scale service is operated by a large number of server groups. If a server failure occurs, it becomes difficult to provide the service and a great loss occurs. For this reason, the server administrator of the operating company has put a great deal of effort into server management in order to prevent service stoppage due to server failure.

サーバ管理者の労力を軽減すべく、サーバ障害の早期発見を実現するための様々な方法が知られている(例えば、特許文献1参照)。このような障害発見方法を使用することで、サーバ管理者は容易かつ早期にサーバ障害を発見することができる。
また、発見されたサーバ障害について、過去に発生した障害事例の履歴と比較することでサーバ障害の復旧を容易にする方法なども知られている(例えば、特許文献2参照)。
Various methods for realizing early detection of a server failure are known in order to reduce the labor of the server administrator (see, for example, Patent Document 1). By using such a failure detection method, the server administrator can easily and quickly detect a server failure.
In addition, a method of facilitating recovery from a server failure by comparing the discovered server failure with a history of failure cases that occurred in the past is also known (see, for example, Patent Document 2).

特開平11−149396号公報JP-A-11-149396 特開平10−312321号公報JP-A-10-312321

ところで、サーバ障害が生じた場合や、メンテナンスを行う場合には、サイト運営会社は、障害が生じているサーバの復旧を実現し、或いは、メンテナンスを行うサーバを操作する必要がある。この点、特許文献1、2の方法により早期発見や復旧が容易になったとしても、サーバ管理者が当該サーバにアクセス可能な端末を使用して復旧作業やメンテナンス作業を行う必要があり、サーバ管理者の行動が制限されてしまっていた。そこで、サーバの復旧作業やメンテナンス作業などを含む運用作業を、サーバ管理者が遠隔地からリモートで復旧可能な方法が望まれていた。   By the way, when a server failure occurs or when maintenance is performed, the site management company needs to realize the recovery of the server in which the failure has occurred or to operate the server that performs the maintenance. In this regard, even if early detection and recovery are facilitated by the methods of Patent Documents 1 and 2, it is necessary for the server administrator to perform recovery work and maintenance work using a terminal accessible to the server. Administrator actions were restricted. Therefore, there has been a demand for a method in which a server administrator can remotely recover operation operations including server recovery work and maintenance work from a remote location.

ここで、遠隔地の端末からセキュリティを維持した状態でサーバにアクセスするために、通信電文を暗号化したり、電子証明書を用いて端末を当該サーバに認証させたりする技術が普及している。しかしながら、このような方法では、通信の暗号化のためのソフトウェアを端末に導入したり、電子証明書を導入したりする必要があり、作業が可能な端末が依然として限られる。さらに、このような暗号化や電子証明書を各端末に配布するための運用管理が煩雑になる上、逆にそのような端末が悪意の第三者の手に渡った場合には、サーバに自由にアクセス可能となってしまい、これが致命的なセキュリティホールとなるので適切ではない。   Here, in order to access a server from a remote terminal while maintaining security, a technique for encrypting a communication message or authenticating the terminal to the server using an electronic certificate has become widespread. However, in such a method, it is necessary to introduce software for communication encryption into the terminal or to introduce an electronic certificate, and the number of terminals that can be operated is still limited. Furthermore, the operation management for distributing such encryption and electronic certificate to each terminal becomes complicated, and conversely, when such a terminal is in the hands of a malicious third party, Since it becomes freely accessible and this becomes a fatal security hole, it is not appropriate.

本発明はこのような問題に鑑みてなされたものであり、サーバ管理者の行動が制限されることなく、サーバ群へのコマンド入力を実現可能なWebサーバ及び方法を提供することを目的とする。   The present invention has been made in view of such problems, and an object of the present invention is to provide a Web server and method capable of realizing command input to a server group without restricting the actions of a server administrator. .

本発明では、以下のような解決手段を提供する。   The present invention provides the following solutions.

(1)ユーザ端末とHTTPプロトコルにより通信可能であり、サーバ群に含まれる各々のサーバと暗号化されたプロトコルにより通信可能に接続されたWebサーバであって、前記ユーザ端末から、前記サーバ群の中のサーバを指定する情報及び入力コマンドを示す情報を含む入力を受け付ける入力受付手段と、受け付けた前記入力に含まれる入力コマンドを示す情報を、前記サーバ群のうち前記指定されたサーバに対するコマンドとして記憶するコマンド記憶手段と、前記コマンド記憶手段に記憶された前記コマンドを所定の時間間隔で読み込むコマンド読込手段と、前記コマンド読込手段により読み込まれた前記コマンドを前記指定されたサーバに対して実行するコマンド実行手段と、前記コマンド実行手段の実行結果を記憶する実行結果記憶手段と、前記ユーザ端末から実行結果の送信要求を受信し、前記送信要求を受信してから所定期間に新たな前記実行結果が実行結果記憶手段に記憶された場合は、前記実行結果記憶手段に記憶された前記新たな実行結果を前記ユーザ端末にWebページとして送信し、前記所定期間に新たな前記実行結果が前記実行結果手段に記憶されない場合は、空の情報を送信し、且ついずれの送信の場合も当該送信に応じて次の送信要求を受信する実行結果送信手段と、を備えるWebサーバ。 (1) A Web server that is communicable with a user terminal using an HTTP protocol and is communicably connected to each server included in the server group using an encrypted protocol, wherein the user terminal communicates with the server group Input receiving means for receiving an input including information indicating a server and information indicating an input command, and information indicating an input command included in the received input as a command for the specified server in the server group Command storage means for storing, command reading means for reading the command stored in the command storage means at predetermined time intervals, and executing the command read by the command reading means for the designated server Command execution means and execution for storing execution results of the command execution means A result storage unit, receives a request to transmit the execution result from said user terminal, when said transmission request new the execution result from receiving a predetermined period is stored in the execution result storage unit, the execution result storage The new execution result stored in the means is transmitted as a web page to the user terminal, and if the new execution result is not stored in the execution result means in the predetermined period, empty information is transmitted, and A Web server comprising execution result transmitting means for receiving a next transmission request in response to the transmission .

(1)に記載のWebサーバによれば、ユーザ端末からHTTP(HyperText Transfer Protocol)プロトコルにより受け付けた入力に基づいて、Webサーバがユーザ端末に代わりサーバ群へのコマンド入力を実行する。
ここで、ユーザ端末には、HTTPプロトコルで通信可能な機能、すなわち、通常の端末が備えるWebブラウザがあれば足り、また、ユーザ端末はWebサーバと通信するだけであるため、ユーザ端末とサーバ群との間に直接暗号化などをする必要はない。そのため、ユーザ端末の種別に制限がかけられることがない。
したがって、サーバ管理者は、任意のユーザ端末(例えば、自己の携帯電話)を常備するだけで遠隔地からサーバ群へのコマンド入力を実現することができ、サーバ管理者の行動が制限されることなく、サーバ群へのコマンド入力を実現することができる。
According to the Web server described in (1), the Web server executes a command input to the server group instead of the user terminal based on the input received from the user terminal by the HTTP (HyperText Transfer Protocol) protocol.
Here, the user terminal only needs to have a function capable of communicating with the HTTP protocol, that is, a Web browser provided in a normal terminal, and the user terminal only needs to communicate with the Web server. There is no need for direct encryption between the two. Therefore, the type of user terminal is not restricted.
Therefore, the server administrator can realize command input to the server group from a remote place by simply providing an arbitrary user terminal (for example, his / her mobile phone), and the server administrator's actions are limited. In addition, command input to the server group can be realized.

また、Webサーバは、Webサーバとサーバ群とは暗号化(例えば、SSH(Secure Shell))された通信プロトコル(例えば、telnet)により接続される。これにより、サーバ群へのアクセスを保護することができる。
したがって、サーバ管理者の行動が制限されることがないだけでなく、サーバ群へのセキュアなコマンド入力を実現することができる。
In the Web server, the Web server and the server group are connected by an encrypted communication protocol (for example, telnet) (for example, SSH (Secure Shell)). Thereby, access to the server group can be protected.
Therefore, not only the action of the server administrator is not restricted, but also secure command input to the server group can be realized.

(2) 前記実行結果送信手段は、前記ユーザ端末から前記実行結果の送信要求を受信することに応じて、前記実行結果を送信する(1)に記載のWebサーバ。   (2) The Web server according to (1), wherein the execution result transmission unit transmits the execution result in response to receiving the execution result transmission request from the user terminal.

(2)に記載のWebサーバによれば、ユーザ端末からの送信要求、すなわち、サーバ管理者の操作に応じてコマンドの実行結果がユーザ端末に送信されるため、利便性を高めることができる。   According to the Web server described in (2), the transmission request from the user terminal, that is, the execution result of the command is transmitted to the user terminal according to the operation of the server administrator, so that the convenience can be improved.

(3) 前記実行結果送信手段は、前記実行結果記憶手段に前記実行結果が記憶されることに応じて、前記実行結果を送信する(1)に記載のWebサーバ。   (3) The Web server according to (1), wherein the execution result transmission unit transmits the execution result in response to the execution result being stored in the execution result storage unit.

(3)に記載のWebサーバによれば、コマンドの実行結果は、実行結果記憶手段に記憶されるたびに、すなわち、コマンドが実行されるたびに、ユーザ端末に送信される。そのため、ユーザ端末には直接コマンド操作を行った場合のような表示が行われることになり、利便性を高めることができる。   According to the Web server described in (3), the execution result of the command is transmitted to the user terminal every time it is stored in the execution result storage means, that is, every time the command is executed. For this reason, a display as if a command operation is directly performed on the user terminal is performed, and convenience can be improved.

(4)ユーザ端末とHTTPプロトコルにより通信可能であり、サーバ群に含まれる各々のサーバと暗号化されたプロトコルにより通信可能に接続されたWebサーバを介して、前記ユーザ端末から前記サーバ群にコマンドを実行する方法であって、
前記ユーザ端末から、前記サーバ群の中のサーバを指定する情報及び入力コマンドを示す情報を含む入力を受け付ける入力受付工程と、受け付けた前記入力に含まれる入力コマンドを示す情報を、前記サーバ群のうち前記指定されたサーバに対するコマンドとして記憶部に記憶するコマンド記憶工程と、記憶された前記コマンドを所定の時間間隔で読み込むコマンド読込工程と、読み込まれた前記コマンドを前記指定されたサーバに対して実行するコマンド実行工程と、前記コマンド実行工程の実行結果を記憶する実行結果記憶工程と、前記ユーザ端末から実行結果の送信要求を受信し、前記送信要求を受信してから所定期間に新たな前記実行結果が前記記憶部に記憶された場合は、前記実行結果記憶手段に記憶された前記新たな実行結果を前記ユーザ端末にWebページとして送信し、前記所定期間に新たな前記実行結果が前記記憶部に記憶されない場合は、空の情報を送信し、且ついずれの送信の場合も当該送信に応じて次の送信要求を受信する実行結果送信工程と、を含む方法。
(4) A command can be sent from the user terminal to the server group via a Web server that is communicable with the user terminal using the HTTP protocol and is communicably connected to each server included in the server group using the encrypted protocol. Is a method of performing
An input receiving step for receiving an input including information indicating a server in the server group and information indicating an input command from the user terminal, and information indicating an input command included in the received input. Among them, a command storage step for storing the command as a command for the designated server in the storage unit, a command reading step for reading the stored command at a predetermined time interval, and the read command for the designated server A command execution step to be executed; an execution result storage step for storing an execution result of the command execution step; and a transmission request for an execution result is received from the user terminal, and the new request is received in a predetermined period after receiving the transmission request. If the execution result is stored in the storage unit, the new execution result stored in the execution result storage unit Serial sending to the user terminal as a Web page, if the new piece of the execution result to the predetermined time period is not stored in the storage unit, sends an empty information, and in response to even the transmission of whether the transmission of the next An execution result transmission step of receiving a transmission request .

(4)に記載の方法によれば、当該方法を実施することにより、(1)のWebサーバと同様の効果が期待できる。   According to the method described in (4), the same effect as that of the Web server in (1) can be expected by performing the method.

本発明によれば、サーバ管理者の行動が制限されることなく、サーバ群へのコマンド入力を実現可能なWebサーバ及び方法を提供できる。   According to the present invention, it is possible to provide a Web server and a method capable of realizing command input to a server group without limiting the action of a server administrator.

本発明のWebサーバの構成を示すブロック図である。It is a block diagram which shows the structure of the web server of this invention. ユーザID管理データベースを示す図である。It is a figure which shows a user ID management database. コマンド受付データベースを示す図である。It is a figure which shows a command reception database. コマンド実行処理を示す図である。It is a figure which shows command execution processing. 実行結果送信処理を示す図である。It is a figure which shows an execution result transmission process. 実行結果送信処理を示す図である。It is a figure which shows an execution result transmission process. ログイン時の動作例を示す図である。It is a figure which shows the operation example at the time of login. コマンド入力時の動作例を示す図である。It is a figure which shows the operation example at the time of command input. 実行結果出力時の動作例を示す図である。It is a figure which shows the operation example at the time of execution result output. コマンド入力に引数を指定する場合の動作例を示す図である。It is a figure which shows the operation example in the case of specifying an argument for command input. 別実施形態におけるログイン時の動作例を示す図である。It is a figure which shows the operation example at the time of login in another embodiment.

以下、本発明の実施形態について図を参照し、説明する。   Embodiments of the present invention will be described below with reference to the drawings.

[Webサーバの概略]
図1は、本実施形態に係るWebサーバ10を含む、HTTPプロトコルによるコマンド実行システム1(以下、このシステムを「システム1」とする)の概略を示す図である。図1を参照して、本実施形態に係るWebサーバ10について説明する。
システム1は、Webサーバ10と、ユーザ端末20と、サーバ群30と、ユーザID管理サーバ40と、を含んで構成される。
[Outline of Web Server]
FIG. 1 is a diagram showing an outline of a command execution system 1 based on an HTTP protocol (hereinafter, this system is referred to as “system 1”) including a Web server 10 according to the present embodiment. A Web server 10 according to the present embodiment will be described with reference to FIG.
The system 1 includes a Web server 10, a user terminal 20, a server group 30, and a user ID management server 40.

ここで、ユーザ端末20は、Webブラウザを備え、Webサーバ10とHTTPプロトコルにより通信可能な端末であれば足り、例えば、PC20a(デスクトップPC、ノートブックPCのいずれであってもよい)、携帯電話20b又はPDA20cなど任意の端末を採用することができる。
また、サーバ群30は、インターネット上のサービスを提供するサイトを運営する多数のサーバからなる。ユーザ端末20からコンテンツ要求がされると、サーバ群30内に蓄積されたデータがWebサーバ10を介して送信されることで、ユーザ端末20にコンテンツが提供される。
また、ユーザID管理サーバ40は、後述するユーザID管理データベース(以下、データベースを「DB」とする)13を管理するサーバである。具体的には、サーバ群30に含まれるサーバのアクセス権限をどのユーザに対して開放(アクセス可能に)するかを管理する。なお、ユーザID管理DB13の管理を別サーバに行わせることなく、Webサーバ10に当該機能を持たせることとしてもよい。
Here, it is sufficient that the user terminal 20 includes a web browser and can communicate with the web server 10 using the HTTP protocol. For example, the user terminal 20 may be a PC 20a (which may be a desktop PC or a notebook PC), a mobile phone, and the like. Any terminal such as 20b or PDA 20c can be adopted.
The server group 30 includes a large number of servers that operate sites that provide services on the Internet. When a content request is made from the user terminal 20, the data stored in the server group 30 is transmitted via the Web server 10, whereby the content is provided to the user terminal 20.
The user ID management server 40 is a server that manages a user ID management database (hereinafter referred to as “DB”) 13 described later. Specifically, to which user the access authority of the server included in the server group 30 is released (accessed) is managed. Note that the Web server 10 may have this function without causing the separate server to manage the user ID management DB 13.

続いて、本実施形態に係るWebサーバ10は、Webプログラム部11と、コマンドライン部12と、記憶部の一部を構成するユーザID管理DB13及びコマンド受付DB14と、を備える。   Subsequently, the Web server 10 according to the present embodiment includes a Web program unit 11, a command line unit 12, and a user ID management DB 13 and a command reception DB 14 that constitute a part of the storage unit.

Webプログラム部11は、ユーザ端末20のWebブラウザからのリクエスト要求に応じて、コンテンツの提供などといったレスポンスを返す制御部(HTTPデーモン)であり、ユーザ端末20のWebブラウザとHTTPプロトコルにより通信する。
Webプログラム部11は、ログイン受付手段111と、アクセス可否確認手段1112と、入力受付手段113と、コマンド書込手段114と、実行結果読込手段115と、実行結果送信手段116と、を備える。
The Web program unit 11 is a control unit (HTTP daemon) that returns a response such as provision of content in response to a request from the Web browser of the user terminal 20, and communicates with the Web browser of the user terminal 20 using the HTTP protocol.
The Web program unit 11 includes a login reception unit 111, an access permission confirmation unit 1112, an input reception unit 113, a command writing unit 114, an execution result reading unit 115, and an execution result transmission unit 116.

コマンドライン部12は、サーバ群30に含まれるサーバへのコマンドを実行すると共に実行結果を取得可能な制御部であり、サーバ群30に含まれる各サーバとSSHで暗号化されたtelnetなどの通信プロトコルにより通信する。なお、コマンドライン部12とサーバ群30との間の通信は、暗号化された通信プロトコルで行われていれば足り、暗号化の方法や通信プロトコルの種別は、SSHやtelnetに限られるものではない。
コマンドライン部12は、コマンド読込手段121と、コマンド実行手段122と、実行結果書込手段123と、を備える。
The command line unit 12 is a control unit that can execute a command to a server included in the server group 30 and obtain an execution result, and communicates with each server included in the server group 30 such as telnet encrypted by SSH. Communicate by protocol. The communication between the command line unit 12 and the server group 30 only needs to be performed using an encrypted communication protocol, and the encryption method and the type of communication protocol are not limited to SSH or telnet. Absent.
The command line unit 12 includes a command reading unit 121, a command executing unit 122, and an execution result writing unit 123.

本実施形態に係るWebサーバ10は、このようなWebプログラム部11とコマンドライン部12とを用いることにより、HTTPプロトコルにより受け付けたユーザからの入力に応じて、サーバ群へのセキュアなコマンド操作を実現している。以下に、本実施形態に係るWebサーバ10の具体的な構成を説明する。   The Web server 10 according to the present embodiment uses the Web program unit 11 and the command line unit 12 as described above to perform a secure command operation on the server group in response to an input from a user received by the HTTP protocol. Realized. Hereinafter, a specific configuration of the Web server 10 according to the present embodiment will be described.

ログイン受付手段111は、ユーザ端末20から、ユーザを識別するユーザID及びサーバ群30の中のサーバを指定する情報と共にログイン要求を受け付ける。アクセス可否確認手段112は、ログイン要求を受け付けると、ユーザID管理DB13を参照して、指定されたサーバへのアクセス権限が当該ユーザIDに与えられているか判断し、この判断結果をユーザ端末20に通知する。
ここで、ユーザID管理DB13は、図2に示すように、ユーザID欄131に関連付けてアクセス可能サーバ欄132を備え、ユーザIDに関連付けて、サーバ群30に含まれる各々のサーバの中でアクセスを許可するサーバを識別する情報を記憶している。なお、図2では、ユーザIDに関連付けてアクセス可能サーバを記憶しているが、各々のサーバに関連付けてアクセス可能なユーザIDを記憶することとしてもよい。
アクセス可否確認手段112は、例えば、「server02」へのログイン要求が、ユーザID「0001」のユーザから行われた場合にはログインできたことをユーザ端末20に返信し、ユーザID「0002」のユーザから行われた場合にはログイン不可能である旨をユーザ端末20に返信する。
The login reception unit 111 receives a login request from the user terminal 20 together with a user ID for identifying the user and information for specifying a server in the server group 30. When accepting the login request, the access permission confirmation unit 112 refers to the user ID management DB 13 to determine whether the user ID is authorized to access the specified server, and the determination result is sent to the user terminal 20. Notice.
Here, as shown in FIG. 2, the user ID management DB 13 includes an accessible server column 132 associated with the user ID column 131, and is accessed among the servers included in the server group 30 in association with the user ID. The information which identifies the server which permits is memorize | stored. In FIG. 2, accessible servers are stored in association with user IDs, but accessible user IDs may be stored in association with each server.
For example, when a login request to “server02” is made from the user with the user ID “0001”, the access permission confirmation unit 112 sends back to the user terminal 20 that the login has been made, and the user ID “0002” has the user ID “0002”. In the case of being performed by the user, a message that login is impossible is returned to the user terminal 20.

図1に戻り、指定されたサーバにログインできた場合には、ユーザ端末20から所定の入力情報(指定されたサーバに対する入力コマンドを示す情報を含む)が送信される。入力受付手段113は、この情報をユーザ端末20から受け付ける。コマンド書込手段114は、受け付けた情報から入力コマンドを示す情報を抽出し、ログインされたサーバに対するコマンドとして、コマンド受付DB14に書き込む。なお、ユーザ端末20からの入力をコマンド受付DB14に書き込むのは、Webプログラム部11では入力されたコマンドを実行することができないため、入力されたコマンドを実行可能なコマンドライン部12に送るためである。
ここで、コマンド受付DB14は、図3に示すように、コマンド入力欄141と実行結果入力欄142とから構成される。また、コマンド入力欄141は、コマンド欄141Aと対象サーバ欄141Bとから構成される。このコマンド受付DB14は、コマンド記憶手段の一例として機能する。
例えば、「server02」にログインしたユーザから、「restart」という入力情報を受け付けた場合には、コマンド書込手段114は、コマンド欄141Aに「restart」と書き込み、対象サーバ欄141Bに「server02」と書き込む。詳しくは後述するが、このように書き込まれると、サーバ群30に含まれる「server02」に対し、「restart」コマンドが実行される。
Returning to FIG. 1, when the user can log in to the designated server, predetermined input information (including information indicating an input command for the designated server) is transmitted from the user terminal 20. The input receiving unit 113 receives this information from the user terminal 20. The command writing unit 114 extracts information indicating the input command from the received information, and writes it in the command reception DB 14 as a command for the logged-in server. The input from the user terminal 20 is written to the command reception DB 14 because the Web program unit 11 cannot execute the input command and sends the input command to the executable command line unit 12. is there.
Here, the command reception DB 14 includes a command input column 141 and an execution result input column 142, as shown in FIG. The command input column 141 includes a command column 141A and a target server column 141B. The command reception DB 14 functions as an example of a command storage unit.
For example, when the input information “restart” is received from a user who has logged in to “server02”, the command writing unit 114 writes “restart” in the command column 141A and “server02” in the target server column 141B. Write. As will be described in detail later, when written in this manner, a “restart” command is executed for “server02” included in the server group 30.

図1に戻り、コマンド読込手段121は、コマンド受付DB14のコマンド入力欄141に書き込まれた情報(コマンド及び対象サーバ)を、所定の時間間隔で読み込む。ここで、コマンド読込手段121は、定期的に(例えば、0.5秒毎に)コマンド受付DB14にアクセスし、新たな書き込みがある場合に当該書き込みを読み込む機能(polling)を有する。
コマンド実行手段122は、読み込まれた情報に基づいて、暗号化された通信プロトコルによりコマンド操作を実行する。具体的には、リモートホストでのコマンドを実行するシェルなどのコマンドラインインタプリタにおいて、「コマンド」及び「対象サーバ」を入力することによりコマンド操作を行う。例えば、コマンド欄141Aに「restart」、対象サーバ欄141Bに「server02」と書き込まれていた場合には、コマンド実行手段122は、コマンドラインインタプリタにおいて「restart server02」と入力する。その結果、「server02」の再起動が行われる。
実行結果書込手段123は、コマンド実行手段122によるコマンド操作の実行結果を、コマンド受付DB14の実行結果入力欄142に書き込む。これにより、コマンド受付DB14には、コマンド実行手段122の実行結果が記憶されるため、コマンド受付DB14は、実行結果記憶手段の一例としても機能する。
Returning to FIG. 1, the command reading means 121 reads the information (command and target server) written in the command input column 141 of the command reception DB 14 at predetermined time intervals. Here, the command reading means 121 has a function (polling) of accessing the command reception DB 14 periodically (for example, every 0.5 seconds) and reading the writing when there is a new writing.
The command execution means 122 executes a command operation using an encrypted communication protocol based on the read information. Specifically, the command operation is performed by inputting “command” and “target server” in a command line interpreter such as a shell for executing a command on the remote host. For example, if “restart” is written in the command column 141A and “server02” is written in the target server column 141B, the command execution unit 122 inputs “restart server02” in the command line interpreter. As a result, “server02” is restarted.
The execution result writing unit 123 writes the execution result of the command operation performed by the command execution unit 122 in the execution result input field 142 of the command reception DB 14. Thereby, since the execution result of the command execution means 122 is memorize | stored in command reception DB14, command reception DB14 functions also as an example of an execution result storage means.

実行結果読込手段115は、コマンド受付DB14の実行結果入力欄142に書き込まれた情報を読み込む。ここで、実行結果読込手段115は、ユーザ端末20から実行結果の送信要求を受信することに応じて、実行結果入力欄142に書き込まれた情報を読み込む。なお、ユーザ端末20からの送信要求は、ユーザの意思による操作、例えば、ユーザ端末20からリロード操作(Webサーバ10へ入力情報を送信した後のURLと同一URLでのリロード操作)、が行われた場合に行われる。
実行結果送信手段116は、実行結果読込手段115が読み込んだ実行結果を、ユーザ端末20に送信する。これにより、ユーザ端末20からユーザの意思による送信要求がなされると、実行結果がユーザ端末20に送信されることになる。
The execution result reading unit 115 reads the information written in the execution result input field 142 of the command reception DB 14. Here, the execution result reading means 115 reads the information written in the execution result input field 142 in response to receiving the execution result transmission request from the user terminal 20. The transmission request from the user terminal 20 is performed by an operation of the user's intention, for example, a reload operation (reload operation with the same URL as the URL after the input information is transmitted to the Web server 10) from the user terminal 20. To be done.
The execution result transmission unit 116 transmits the execution result read by the execution result reading unit 115 to the user terminal 20. As a result, when a transmission request according to the user's intention is made from the user terminal 20, the execution result is transmitted to the user terminal 20.

なお、ユーザ端末20への実行結果の送信を、ユーザの意思による送信要求ではなく、コマンド受付DB14の実行結果入力欄142に実行結果が書き込まれることに応じて、行うこととしてもよい。具体的には後述するが、公知のComet(コメット)という技術を利用することで実現することができる。これにより、コマンド受付DB14の実行結果入力欄142に書き込まれた実行結果が、略リアルタイムでユーザ端末20に送信され、ユーザ端末20に表示される。例えば、コマンド操作の実行結果が数十行・数百行にわたる場合には、ユーザの意思による送信要求に応じて実行結果を送信したのでは、何度も送信要求を行わなければならず、また、表示される実行結果も中途半端な状態となってしまう。さらに、コマンド操作の実行結果が何らかの原因で長時間にわたり書き込まれない場合には、実行結果が書き込まれるより前にユーザがリロード操作を行っても実行結果送信手段116は実行結果を返すことが出来ず、ユーザに何度もリロード操作を強いることになる。これに対して、Cometを利用し実行結果を送信することで、ユーザ端末20には実行結果が略リアルタイムで順次表示されるため、ユーザ端末20上で実際にコマンド操作を実行したかのような状況を実現できる。   The transmission of the execution result to the user terminal 20 may be performed in response to the execution result being written in the execution result input column 142 of the command reception DB 14 instead of the transmission request by the user's intention. Specifically, as will be described later, this can be realized by using a known technology called Comet. As a result, the execution result written in the execution result input field 142 of the command reception DB 14 is transmitted to the user terminal 20 in substantially real time and displayed on the user terminal 20. For example, if the execution result of a command operation spans tens or hundreds of lines, if the execution result is transmitted in response to a transmission request according to the user's intention, the transmission request must be made many times. The displayed execution result is also halfway. Furthermore, if the execution result of the command operation is not written for a long time for some reason, even if the user performs a reload operation before the execution result is written, the execution result transmission unit 116 can return the execution result. Therefore, the user is forced to perform a reload operation many times. On the other hand, since the execution result is displayed on the user terminal 20 in substantially real time by transmitting the execution result using Comet, the command operation is actually executed on the user terminal 20. The situation can be realized.

本実施形態のWebサーバ10の構成についての説明は以上である。なお、本実施形態のWebサーバ10のハードウェアは、一般的なコンピュータによって構成してもよい。一般的なコンピュータは、例えば、制御部として、中央処理装置(CPU)を備える他、記憶部として、メモリ(RAMやROM)、ハードディスク(HDD)及び光ディスク(CDやDVDなど)を、ネットワーク通信装置として各種有線や無線LAN装置を適宜備え、バスラインにより接続されている。このような一般的なコンピュータにおいて、CPUは、Webサーバ10を統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。また、ユーザ端末20及びサーバ群30に含まれるサーバについても同様の構成を有してよい。   This completes the description of the configuration of the Web server 10 of the present embodiment. Note that the hardware of the Web server 10 of the present embodiment may be configured by a general computer. For example, a general computer includes a central processing unit (CPU) as a control unit, and a memory (RAM or ROM), a hard disk (HDD), and an optical disk (such as a CD or DVD) as a storage unit, and a network communication device. As such, various wired and wireless LAN devices are appropriately provided and connected by a bus line. In such a general computer, the CPU controls the Web server 10 in an integrated manner, reads and executes various programs as appropriate, and cooperates with the hardware described above to realize various functions according to the present invention. doing. Further, the servers included in the user terminal 20 and the server group 30 may have the same configuration.

[システム1の動作]
次に、図4〜図6を参照して、HTTPプロトコルにより受け付けたユーザからの入力に応じて、サーバ群30へのセキュアなコマンド操作を実現する方法について説明する。図4は、ユーザからの入力に応じてサーバ群30へのコマンド操作を実行するコマンド実行処理を示し、図5は、ユーザの意思による操作に応じて実行結果を送信する実行結果送信処理1を示し、図6は、Cometを利用し実行結果を送信する実行結果送信処理2を示す。
[Operation of system 1]
Next, a method for realizing a secure command operation to the server group 30 in accordance with an input from a user accepted by the HTTP protocol will be described with reference to FIGS. FIG. 4 shows a command execution process for executing a command operation on the server group 30 in response to an input from the user, and FIG. 5 shows an execution result transmission process 1 for transmitting an execution result in accordance with an operation according to the user's intention. FIG. 6 shows an execution result transmission process 2 for transmitting an execution result using Comet.

[コマンド実行処理]
図4を参照して、コマンド実行処理について説明する。
[Command execution processing]
The command execution process will be described with reference to FIG.

S1、S2:ユーザ端末20が、サーバ群30に含まれるサーバの障害を示すアラームを受信すると、ユーザは、サーバ障害を復旧するためユーザ端末20を介してWebサーバ10のWebプログラム部11にログイン要求を行う。なお、ログイン要求は、ユーザID及びログイン対象のサーバを指定して行われる。   S1, S2: When the user terminal 20 receives an alarm indicating a failure of a server included in the server group 30, the user logs in to the Web program unit 11 of the Web server 10 via the user terminal 20 to recover the server failure. Make a request. The login request is made by designating a user ID and a login target server.

S3、S4:Webプログラム部11のログイン受付手段111がログイン要求を受け付けると、アクセス可否確認手段112は、ユーザID管理DB13を参照して、該当ユーザIDがログイン対象サーバにアクセス可能であるか否かを判別する。
S5:このとき、該当ユーザIDがログイン対象サーバにアクセスできない場合には、アクセス可否確認手段112は、アクセス不可能であることを示す情報をユーザ端末20に送信する。
S6:一方、アクセス可能である場合には、アクセス可否確認手段112は、アクセス可能であることを示す情報をユーザ端末20に送信する。
S3, S4: When the login acceptance unit 111 of the Web program unit 11 accepts the login request, the access permission confirmation unit 112 refers to the user ID management DB 13 and determines whether or not the corresponding user ID can access the login target server. Is determined.
S5: At this time, when the user ID cannot access the login target server, the access permission confirmation unit 112 transmits information indicating that the access is impossible to the user terminal 20.
S6: On the other hand, if access is possible, the access permission confirmation unit 112 transmits information indicating that access is possible to the user terminal 20.

S7:対象サーバにアクセス可能なユーザ端末20は、後述するコマンド入力画面から入力された入力情報をWebプログラム部11に送信する。
S8、S9:入力受付手段113は、当該入力情報を受け付け、コマンド書込手段114は、ログイン対象サーバへのコマンドとして、コマンド受付DB14に書き込む。
S7: The user terminal 20 that can access the target server transmits input information input from a command input screen described later to the Web program unit 11.
S8, S9: The input receiving unit 113 receives the input information, and the command writing unit 114 writes it in the command receiving DB 14 as a command to the login target server.

S10、S11:コマンド読込手段121は、コマンド受付DB14を定期的に確認し、新たな書き込みがある場合には当該書き込みからコマンド及び対象サーバを読み込む。続いて、コマンド実行手段122は、読み込んだ情報に基づいてコマンド操作を実行する。   S10, S11: The command reading unit 121 periodically checks the command reception DB 14, and when there is new writing, reads the command and the target server from the writing. Subsequently, the command execution unit 122 executes a command operation based on the read information.

S12:サーバ群30の対象サーバでは、コマンド操作に応じた処理を実行する。
S13:そして、実行結果書込手段123は、この実行結果をコマンド受付DB14に書き込み、コマンド実行処理を終了する。
S12: The target server of the server group 30 executes processing according to the command operation.
S13: Then, the execution result writing unit 123 writes the execution result in the command reception DB 14, and ends the command execution process.

[実行結果送信処理1]
次に図5を参照して、ユーザの意思による操作に応じて実行結果を送信する実行結果送信処理1について説明する。
[Execution result transmission process 1]
Next, with reference to FIG. 5, the execution result transmission process 1 which transmits an execution result according to operation by a user's intention is demonstrated.

S21:ユーザ端末20では、例えば、ユーザのリロード操作などにより、実行結果の送信要求を行う。   S21: In the user terminal 20, for example, an execution result transmission request is made by a user reload operation or the like.

S22〜S24:Webプログラム部11の実行結果読込手段115は、送信要求を受け付けると、コマンド受付DB14の実行結果入力欄142に書き込まれた実行結果を読み込む。続いて、実行結果送信手段116は、読み込んだ実行結果をユーザ端末20に送信する。   S22 to S24: The execution result reading means 115 of the Web program unit 11 reads the execution result written in the execution result input field 142 of the command reception DB 14 when receiving the transmission request. Subsequently, the execution result transmitting unit 116 transmits the read execution result to the user terminal 20.

S25、S26:ユーザ端末20は、実行結果を受信すると、Webブラウザに実行結果を表示し、実行結果送信処理1を終了する。   S25, S26: Upon receiving the execution result, the user terminal 20 displays the execution result on the Web browser and ends the execution result transmission process 1.

[実行結果送信処理2]
次に図6を参照して、Cometを利用し実行結果を送信する実行結果送信処理2について説明する。
ここで、Cometは、Webサーバが常にHTTPリクエストを受け付けたままの状態にしておくものである。具体的には、WebサーバがHTTPリクエストを受け付けると、返すべき情報が出てくるまで(又はタイムアウトになる前まで)この状態のまま保留する。そして、返すべき情報が出てきた場合には、この情報を返信し、返すべき情報がないままタイムアウトになる場合には、空の情報を返信する。ユーザ端末のWebブラウザでは、返すべき情報を受け付けた場合には、この情報に応じた処理を行った後、直ちに次のHTTPリクエストをWebサーバに送る一方で、空の情報を受け付けた場合には、直ちに次のHTTPリクエストをWebサーバに送る。このようにして、Cometでは、Webサーバが常にHTTPリクエストを受け付けたままの状態にしておく。
[Execution result transmission process 2]
Next, an execution result transmission process 2 for transmitting an execution result using Comet will be described with reference to FIG.
Here, Comet is a state in which the Web server always accepts HTTP requests. Specifically, when the Web server accepts the HTTP request, it is held in this state until the information to be returned comes out (or before timeout). When the information to be returned comes out, this information is returned, and when there is no information to be returned, timeout information is returned. If the Web browser of the user terminal accepts information to be returned, it performs processing according to this information and then immediately sends the next HTTP request to the web server, while accepting empty information. Immediately, the next HTTP request is sent to the Web server. In this way, in Comet, the Web server always keeps accepting HTTP requests.

S31:ユーザ端末20(Webブラウザ)は、Webサーバ10のWebプログラム部11にComet用のTCP(Transmission Control Protocol)コネクションを開設する。
S32:続いて、ユーザ端末20は、Webプログラム部11に対して、実行結果の送信要求を示すHTTPリクエストを送信する。
S31: The user terminal 20 (Web browser) establishes a TCP (Transmission Control Protocol) connection for Comet in the Web program unit 11 of the Web server 10.
S32: Subsequently, the user terminal 20 transmits an HTTP request indicating a transmission request for the execution result to the Web program unit 11.

S33〜S35:Webプログラム部11の実行結果読込手段115は、実行結果の送信要求を受け付けると、コマンド受付DB14の実行結果入力欄142に書き込まれた実行結果を読み込む。続いて、Webプログラム部11は、新たな実行結果が読み込まれたか否か、すなわち、返すべき情報があるか否かを判断する。   S33 to S35: When the execution result reading unit 115 of the Web program unit 11 receives the execution result transmission request, the execution result reading unit 115 reads the execution result written in the execution result input field 142 of the command reception DB 14. Subsequently, the Web program unit 11 determines whether a new execution result has been read, that is, whether there is information to be returned.

S36:このとき、新たな実行結果がある場合には、実行結果送信手段116は、読み込んだ実行結果をユーザ端末20に送信する。
S37、S38、S32:ユーザ端末20は、実行結果を受信すると、Webブラウザに実行結果を表示する。続いて、ユーザ端末20は、Webプログラム部11に対して、直ちに次のHTTPリクエストを送信する。
S36: At this time, if there is a new execution result, the execution result transmitting unit 116 transmits the read execution result to the user terminal 20.
S37, S38, S32: Upon receiving the execution result, the user terminal 20 displays the execution result on the Web browser. Subsequently, the user terminal 20 immediately transmits the next HTTP request to the Web program unit 11.

S39:他方、新たな実行結果がない場合には、Webプログラム部11は、タイムアウトであるか否かを判断する。
S34、S35:このとき、タイムアウトでない場合には、実行結果読込手段115は、コマンド受付DB14の実行結果入力欄142に書き込まれた実行結果を読み込み、Webプログラム部11は、新たな実行結果が読み込まれたか否かを判断する。
S40:他方、タイムアウトである場合には、実行結果送信手段116は、空の情報をユーザ端末20に送信する。
S41、S32:ユーザ端末20は、空の情報を受信すると、Webプログラム部11に対して、直ちに次のHTTPリクエストを送信する。
S39: On the other hand, if there is no new execution result, the Web program unit 11 determines whether or not a timeout has occurred.
S34, S35: If it is not a timeout at this time, the execution result reading means 115 reads the execution result written in the execution result input field 142 of the command reception DB 14, and the Web program unit 11 reads a new execution result. Determine whether or not
S40: On the other hand, when it is time-out, the execution result transmitting unit 116 transmits empty information to the user terminal 20.
S41, S32: Upon receiving empty information, the user terminal 20 immediately transmits the next HTTP request to the Web program unit 11.

[動作例]
続いて、図7〜図9を参照して、システム1の動作例を説明する。図7は、ユーザがサーバ群30に含まれるサーバにログインする際(図4のS1〜S7に相当)のユーザ端末20の表示例を示し、図8は、ユーザ端末20からの入力に基づいて対象サーバへのコマンド操作を実行する際(図4のS7〜S11に相当)の動作例を示し、図9は、コマンドの実行結果をユーザ端末20に表示する際(図4のS12、S13、図5、図6に相当)の動作例を示す。
[Operation example]
Subsequently, an operation example of the system 1 will be described with reference to FIGS. FIG. 7 shows a display example of the user terminal 20 when the user logs in to a server included in the server group 30 (corresponding to S1 to S7 in FIG. 4), and FIG. 8 is based on an input from the user terminal 20. FIG. 9 shows an operation example when executing a command operation on the target server (corresponding to S7 to S11 in FIG. 4). FIG. 9 shows a case in which the command execution result is displayed on the user terminal 20 (S12, S13, FIG. 4). An example of the operation of FIG. 5 and FIG. 6 is shown.

[ログイン時の動作例]
図7を参照して、ログイン時の動作例について説明する。
[Operation example when logging in]
With reference to FIG. 7, an example of an operation at the time of login will be described.

図7(1)を参照して、サーバ群30に含まれるサーバに障害が生じると、ユーザ端末20にはその旨が送信され、ユーザ端末20の表示画面にアラーム画面が表示される。図7(1)では、「server02」に障害が生じたことが表示されている。このとき、ユーザは、障害が生じたサーバが、自分がアクセス可能なサーバである場合には、「server02」にログインし、障害の復旧を行う。   With reference to FIG. 7A, when a failure occurs in the servers included in the server group 30, the fact is transmitted to the user terminal 20, and an alarm screen is displayed on the display screen of the user terminal 20. In FIG. 7A, it is displayed that a failure has occurred in “server02”. At this time, when the server in which the failure has occurred is a server that can be accessed by the user, the user logs in to “server02” and recovers from the failure.

図7(2)は、ログイン画面を示す図である。このログイン画面は、例えば、アラーム画面において対象サーバを選択することにより表示される。図7(2)では、アラーム画面において「server02」を選択したことにより、「server02」に対するログイン画面がユーザ端末20に表示されている。ログイン画面において、ユーザがユーザID入力欄201にユーザIDを入力し、ログインボタン202を選択することで、ログイン要求が行われる。   FIG. 7B is a diagram illustrating a login screen. This login screen is displayed, for example, by selecting a target server on the alarm screen. In FIG. 7B, the login screen for “server02” is displayed on the user terminal 20 by selecting “server02” on the alarm screen. On the login screen, when the user inputs a user ID in the user ID input field 201 and selects the login button 202, a login request is made.

その結果、ログインできた場合には、ユーザ端末20には図7(3)に示すコマンド入力画面が表示される。このコマンド入力画面には、テキスト入力可能なコマンド入力欄203が設けられる。本実施形態では、ログインされたサーバが、コマンド操作を行う対象サーバとして、自動的に決定される。
なお、対象サーバにアクセスできない場合には、アクセス不可能であることを示す画面がユーザ端末20に表示される。
As a result, if the login is successful, the command input screen shown in FIG. This command input screen is provided with a command input field 203 in which text can be input. In the present embodiment, the logged-in server is automatically determined as a target server for performing a command operation.
When the target server cannot be accessed, a screen indicating that access is not possible is displayed on the user terminal 20.

[コマンド入力時の動作例]
次に、図8を参照して、ユーザ端末20からの入力に基づいて、サーバ群30に含まれるサーバに対してコマンド入力を行う際の動作例について説明する。
[Example of operation when entering commands]
Next, with reference to FIG. 8, an operation example when a command is input to a server included in the server group 30 based on an input from the user terminal 20 will be described.

ログインできた場合にはユーザ端末20にコマンド入力画面が表示される(図8(1))。このコマンド入力画面において、コマンド入力欄203にテキスト形式の入力がされ、送信ボタン211が操作されると、Webプログラム部11を介してコマンド受付DB14に所定の情報が書き込まれる。具体的には、コマンド受付DB14のコマンド欄141Aには、コマンド入力欄203に入力された情報が書き込まれ、対象サーバ欄141Bには、ログインされたサーバの種類を示す情報が書き込まれる(図8(2))。
そして、コマンド受付DB14に書き込まれた情報は、コマンドライン部12により読み込まれ、サーバ群30に含まれるサーバに対するコマンド入力として実行される(図8(3))。具体的には、シェルなどのコマンドラインインタプリタにおいて、「コマンド」及び「対象サーバ」を入力することで行われる。例えば、コマンド欄141Aに「restart」、対象サーバ欄141Bに「server02」と書き込まれていた場合には、コマンドラインインタプリタにおいて「restart server02」と入力する。
If the login is successful, a command input screen is displayed on the user terminal 20 (FIG. 8 (1)). In this command input screen, when text input is performed in the command input field 203 and the send button 211 is operated, predetermined information is written into the command reception DB 14 via the Web program unit 11. Specifically, information input to the command input field 203 is written in the command field 141A of the command reception DB 14, and information indicating the type of the logged-in server is written in the target server field 141B (FIG. 8). (2)).
Then, the information written in the command reception DB 14 is read by the command line unit 12 and executed as a command input to the servers included in the server group 30 ((3) in FIG. 8). Specifically, it is performed by inputting “command” and “target server” in a command line interpreter such as a shell. For example, if “restart” is written in the command column 141A and “server02” is written in the target server column 141B, “restart server02” is input in the command line interpreter.

[実行結果出力時の動作例]
次に、図9を参照して、入力されたコマンドの実行結果をユーザ端末20に表示する際の動作例について説明する。
[Operation example when outputting execution results]
Next, with reference to FIG. 9, an operation example when displaying the execution result of the input command on the user terminal 20 will be described.

コマンドラインインタプリタにおいて入力されたコマンドが実行されると(図9(1))、その実行結果が、コマンドライン部12を介してコマンド受付DB14の実行結果入力欄142に書き込まれる(図9(2))。
そして、ユーザの意思による送信要求やCometによる送信要求がなされると、Webプログラム部11が、コマンド受付DB14に書き込まれた実行結果を読み出した上で、ユーザ端末20に実行結果を送信する。ユーザ端末20では、実行結果を受信すると、受信した実行結果を表示画面に表示する。
When the command input in the command line interpreter is executed (FIG. 9 (1)), the execution result is written in the execution result input field 142 of the command reception DB 14 via the command line unit 12 (FIG. 9 (2)). )).
When a transmission request by the user's intention or a transmission request by Comet is made, the Web program unit 11 reads the execution result written in the command reception DB 14 and transmits the execution result to the user terminal 20. When receiving the execution result, the user terminal 20 displays the received execution result on the display screen.

[Webサーバによる効果]
以上のように、本実施形態に係るWebサーバ10は、ユーザ端末20からHTTPプロトコルにより受け付けた入力に基づいて、サーバ群30へのコマンド入力を実行する。このコマンド入力にあたり、ユーザ端末20にはHTTPプロトコルで通信可能な機能があれば足り、また、ユーザ端末20とサーバ群30との間に直接暗号化などをする必要はない。その結果、ユーザ端末20の種別に制限がかけられることがない。
また、Webサーバ10は、ユーザ端末20からのアクセスをユーザIDと関連付けて管理すると共に、Webサーバ10とサーバ群30とは暗号化された通信プロトコルにより接続される。これにより、ユーザID管理と暗号化された通信プロトコルという2つの方法により、サーバ群30へのアクセスを保護することができる。
したがって、ユーザ端末の種別に制限をかけることなく、サーバ群30へのセキュアなコマンド入力を実現することができる。
[Effects of Web server]
As described above, the Web server 10 according to the present embodiment executes command input to the server group 30 based on the input received from the user terminal 20 by the HTTP protocol. In inputting this command, it is sufficient that the user terminal 20 has a function capable of communicating with the HTTP protocol, and it is not necessary to perform direct encryption between the user terminal 20 and the server group 30. As a result, the type of the user terminal 20 is not restricted.
The web server 10 manages access from the user terminal 20 in association with the user ID, and the web server 10 and the server group 30 are connected by an encrypted communication protocol. Thereby, access to the server group 30 can be protected by two methods of user ID management and an encrypted communication protocol.
Therefore, secure command input to the server group 30 can be realized without limiting the type of user terminal.

以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。   As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. In addition, the effects described in the embodiments of the present invention only list the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.

例えば、本実施形態では、コマンド実行時の引数として、コマンドが動作する対象となるオブジェクトを指定する引数(対象サーバ)のみをとることとしているが、これに限られるものではない。いわゆる「フラグ」や「パラメータ」といったコマンドの動作を修正する引数をとることとしてもよい。
具体的には、図10に示すように、コマンド入力画面においてフラグ入力欄231を設け(図10(1))、Webプログラム部11において入力された引数をコマンド受付DB14に書き込み(図示は省略)、書き込まれた「コマンド」「対象サーバ」及び「フラグ」に基づいて、図10(2)に示すようなコマンド入力を行うこととしてもよい。
For example, in this embodiment, only an argument (target server) that specifies an object on which a command operates is taken as an argument at the time of command execution. However, the present invention is not limited to this. It is also possible to take an argument such as a so-called “flag” or “parameter” that modifies the command operation.
Specifically, as shown in FIG. 10, a flag input field 231 is provided on the command input screen (FIG. 10 (1)), and an argument input in the Web program unit 11 is written in the command reception DB 14 (not shown). Based on the written “command”, “target server”, and “flag”, command input as shown in FIG. 10 (2) may be performed.

また、本実施形態では、ログイン時に対象サーバの指定を受け付けた上で、ログインされたサーバが、コマンド操作を行う対象サーバとして自動的に決定されることとしているが、これに限られるものではない。コマンド操作を行う対象サーバは、コマンド入力時にユーザからの指定により決定することとしてもよい。
図11に別実施形態における、ログイン時の動作例を示す。サーバ群30に含まれるサーバに障害が発生すると、ユーザ端末20にはアラーム画面が表示される(図11(1))。
サーバに障害が発生したことを把握すると、サーバ管理者はユーザ端末20においてログイン画面を開き、ユーザID入力欄301にユーザIDを入力し、ログインボタン302を選択することで、ログイン要求を行う。このログイン要求に対して、Webサーバ10は、任意の方法(例えば、ユーザID管理DB13に、ユーザIDが、個別のサーバへのアクセス権限を有するか否かの情報に加え、サーバ群30へのアクセス権限を有する否かの情報を記憶させ、ログイン要求に含まれるユーザIDがサーバ群30へのアクセス権限を有するか否かにより判断する)により、ログイン可能であるか否かを判断し、その結果をユーザ端末20に送信する。
そして、ログインできた場合には、サーバ管理者が、コマンド入力画面(図11(3))において、対象サーバ入力欄303にコマンド操作を行う対象サーバを入力すると共に、コマンド入力欄304に実行するコマンドを入力し、送信ボタン305を選択することで、Webサーバ10には、サーバ群30の中のサーバを指定する情報及び入力コマンドを示す情報を含む入力情報が送信される。Webサーバ10では、ユーザID管理DB13を参照して、指定されたサーバへのアクセス権限を有するユーザIDであるか判断し、アクセス権限を有する場合には、コマンド受付DB14の所定の領域に、コマンド及び対象サーバを書き込む。
In the present embodiment, the server that is logged in is automatically determined as the target server for performing the command operation after receiving the designation of the target server at the time of login. However, the present invention is not limited to this. . The target server that performs the command operation may be determined by designation from the user when the command is input.
FIG. 11 shows an operation example during login in another embodiment. When a failure occurs in a server included in the server group 30, an alarm screen is displayed on the user terminal 20 (FIG. 11 (1)).
When it is understood that a failure has occurred in the server, the server administrator opens a login screen on the user terminal 20, enters a user ID in the user ID input field 301, and selects a login button 302 to make a login request. In response to this login request, the Web server 10 sends an arbitrary method (for example, the user ID management DB 13 to the server group 30 in addition to information on whether or not the user ID has the authority to access an individual server). Information on whether or not to have access authority is stored, and whether or not login is possible is determined by determining whether or not the user ID included in the login request has access authority to the server group 30) The result is transmitted to the user terminal 20.
If the login is successful, the server administrator inputs the target server for command operation in the target server input field 303 and executes it in the command input field 304 on the command input screen (FIG. 11 (3)). By inputting a command and selecting a send button 305, the web server 10 is sent input information including information specifying a server in the server group 30 and information indicating an input command. The Web server 10 refers to the user ID management DB 13 to determine whether the user ID has the authority to access the designated server. If the user ID has the access authority, the command ID is stored in a predetermined area of the command reception DB 14. And write the target server.

なお、上述の実施形態は、サーバに障害が発生したことを把握することにより行われるものとして説明したが、これに限られず、サーバの障害の有無に関わらず、様々な実施形態が可能である。   In addition, although the above-mentioned embodiment demonstrated as what is performed by grasping | ascertaining that the failure had occurred in the server, it is not restricted to this, Various embodiments are possible irrespective of the presence or absence of the failure of a server. .

10 Webサーバ
11 Webプログラム部
111 ログイン受付手段
112 アクセス可否確認手段
113 入力受付手段
114 コマンド書込手段
115 実行結果読込手段
116 実行結果送信手段
12 コマンドライン部
121 コマンド読込手段
122 コマンド実行手段
123 実行結果書込手段
13 ユーザID管理DB
14 コマンド受付DB
DESCRIPTION OF SYMBOLS 10 Web server 11 Web program part 111 Login reception means 112 Access permission confirmation means 113 Input reception means 114 Command writing means 115 Execution result reading means 116 Execution result transmission means 12 Command line part 121 Command reading means 122 Command execution means 123 Execution result Writing means 13 User ID management DB
14 Command reception DB

Claims (2)

ユーザ端末とHTTPプロトコルにより通信可能であり、サーバ群に含まれる各々のサーバと暗号化されたプロトコルにより通信可能に接続されたWebサーバであって、
前記ユーザ端末から、前記サーバ群の中のサーバを指定する情報及び入力コマンドを示す情報を含む入力を受け付ける入力受付手段と、
受け付けた前記入力に含まれる入力コマンドを示す情報を、前記サーバ群のうち前記指定されたサーバに対するコマンドとして記憶するコマンド記憶手段と、
前記コマンド記憶手段に記憶された前記コマンドを所定の時間間隔で読み込むコマンド読込手段と、
前記コマンド読込手段により読み込まれた前記コマンドを前記指定されたサーバに対して実行するコマンド実行手段と、
前記コマンド実行手段の実行結果を記憶する実行結果記憶手段と、
前記ユーザ端末から実行結果の送信要求を受信し、前記送信要求を受信してから所定期間に新たな前記実行結果が実行結果記憶手段に記憶された場合は、前記実行結果記憶手段に記憶された前記新たな実行結果を前記ユーザ端末にWebページとして送信し、前記所定期間に新たな前記実行結果が前記実行結果手段に記憶されない場合は、空の情報を送信し、且ついずれの送信の場合も当該送信に応じて次の送信要求を受信する実行結果送信手段と、
を備えるWebサーバ。
A web server that is communicable with a user terminal using the HTTP protocol and is communicably connected to each server included in the server group using an encrypted protocol,
Input receiving means for receiving an input including information indicating a server in the server group and information indicating an input command from the user terminal;
Command storage means for storing information indicating an input command included in the received input as a command for the designated server in the server group;
Command reading means for reading the commands stored in the command storage means at predetermined time intervals;
Command execution means for executing the command read by the command reading means for the designated server;
Execution result storage means for storing the execution result of the command execution means;
When the execution result transmission request is received from the user terminal and the new execution result is stored in the execution result storage unit within a predetermined period after the transmission request is received, the execution result storage unit stores the execution result. When the new execution result is transmitted to the user terminal as a Web page, and the new execution result is not stored in the execution result means in the predetermined period, empty information is transmitted, and in any case Execution result transmitting means for receiving the next transmission request in response to the transmission ;
A web server comprising:
ユーザ端末とHTTPプロトコルにより通信可能であり、サーバ群に含まれる各々のサーバと暗号化されたプロトコルにより通信可能に接続されたWebサーバを介して、前記ユーザ端末から前記サーバ群にコマンドを実行する方法であって、
前記ユーザ端末から、前記サーバ群の中のサーバを指定する情報及び入力コマンドを示す情報を含む入力を受け付ける入力受付工程と、
受け付けた前記入力に含まれる入力コマンドを示す情報を、前記サーバ群のうち前記指定されたサーバに対するコマンドとして記憶部に記憶するコマンド記憶工程と、
記憶された前記コマンドを所定の時間間隔で読み込むコマンド読込工程と、
読み込まれた前記コマンドを前記指定されたサーバに対して実行するコマンド実行工程と、
前記コマンド実行工程の実行結果を記憶する実行結果記憶工程と、
前記ユーザ端末から実行結果の送信要求を受信し、前記送信要求を受信してから所定期間に新たな前記実行結果が前記記憶部に記憶された場合は、前記実行結果記憶手段に記憶された前記新たな実行結果を前記ユーザ端末にWebページとして送信し、前記所定期間に新たな前記実行結果が前記記憶部に記憶されない場合は、空の情報を送信し、且ついずれの送信の場合も当該送信に応じて次の送信要求を受信する実行結果送信工程と、
を含む方法。
A command can be executed from the user terminal to the server group via a Web server that can communicate with the user terminal using the HTTP protocol and is communicably connected to each server included in the server group using the encrypted protocol. A method,
An input receiving step for receiving an input including information indicating a server in the server group and information indicating an input command from the user terminal;
A command storage step of storing information indicating an input command included in the received input in a storage unit as a command for the specified server in the server group;
A command reading step of reading the stored command at predetermined time intervals;
A command execution step of executing the read command on the designated server;
An execution result storage step for storing an execution result of the command execution step;
When an execution result transmission request is received from the user terminal, and the new execution result is stored in the storage unit within a predetermined period after the transmission request is received, the execution result storage unit stores the execution result A new execution result is transmitted to the user terminal as a Web page, and when the new execution result is not stored in the storage unit in the predetermined period, empty information is transmitted, and the transmission is performed in any transmission. An execution result transmission step of receiving the next transmission request according to
Including methods.
JP2009295308A 2009-12-25 2009-12-25 Web server and method Active JP5244781B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009295308A JP5244781B2 (en) 2009-12-25 2009-12-25 Web server and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009295308A JP5244781B2 (en) 2009-12-25 2009-12-25 Web server and method

Publications (2)

Publication Number Publication Date
JP2011134255A JP2011134255A (en) 2011-07-07
JP5244781B2 true JP5244781B2 (en) 2013-07-24

Family

ID=44346885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009295308A Active JP5244781B2 (en) 2009-12-25 2009-12-25 Web server and method

Country Status (1)

Country Link
JP (1) JP5244781B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6141785B2 (en) * 2014-03-26 2017-06-07 Kddi株式会社 Connection system, connection server, connection method and program
JP6643575B2 (en) * 2016-03-28 2020-02-12 パナソニックIpマネジメント株式会社 Instruction information notification system and terminal device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133703A (en) * 2005-11-10 2007-05-31 Fuji Xerox Co Ltd Document sharing system and document sharing method

Also Published As

Publication number Publication date
JP2011134255A (en) 2011-07-07

Similar Documents

Publication Publication Date Title
JP5797060B2 (en) Access management method and access management apparatus
CN108322461A (en) Method, system, device, equipment and the medium of application program automated log on
CN112583815B (en) Operation instruction management method and device
JP4908131B2 (en) Display processing program, apparatus, and method of non-immediate processing existence possibility
JP2008287614A (en) Screen output setting method, information processor and information processing system
JP2011186849A (en) Web content providing system, web server, content providing method, and program thereof
JP2008015616A (en) Shared gateway computer
JP4721767B2 (en) Authorized site notification program and method
CN110958239A (en) Method and device for verifying access request, storage medium and electronic device
JP2008015733A (en) Log management computer
JP5709448B2 (en) Access analysis device, access analysis method, and access analysis program
JPH11308272A (en) Packet communication control system and packet communication controller
JP3520264B2 (en) Authentication information input system, authentication information storage system, authentication information input method and authentication information input program
JP5244781B2 (en) Web server and method
JP6538675B2 (en) Data processing system, center device, and program
KR100931326B1 (en) A managing system for id/password search list and login list and the method thereof
JP5243360B2 (en) Thin client connection management system and thin client connection management method
JP5300794B2 (en) Content server and access control system
JP2017151859A (en) Information processing device and program
JP5519301B2 (en) Communication system, relay device, and communication method in relay device
JP4993083B2 (en) Session management apparatus, program, and storage medium
JP6688782B2 (en) Network communication method and network communication system
JP2016162278A (en) Access relay device, information processing method, and program
US11671495B2 (en) Information processing system, information processing method and recording medium recording information processing program for presenting specific information to a user terminal
JP6162611B2 (en) Communication control server, communication control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100907

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20121228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5244781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250