(57)【要約】      （修正有）【課題】計算装置から出力されるコンソールメッセージをＨＴＴＰによってクライアント装置に配信する方法を提供する。【解決手段】計算装置２０２（サーバ）におけるサービスコントローラ２０６は、ネットワークを介してＨＴＴＰによってシリアル出力をリダイレクトするように構成される。サービスコントローラ２０６には、シリアル出力を受信しＨＴＴＰ接続によってシリアル出力をウェブブラウザ２１６に流すウェブサーバ２１０が組み込まれる。ＨＴＴＰ接続は、ＨＴＭＬ５仕様で定義されたウェブソケット接続である。プロクシーサーバには、複数のサーバ２０２から出力されたシリアルオーバーＬＡＮ（ＳＯＬ）を受信し、また当該ＳＯＬをクライアントデバイス２１４におけるウェブブラウザ２１６に流すことのできるウェブサーバが組み込まれる。【選択図】図１
2016095830.tif 000002
【特許請求の範囲】
【請求項１】
計算装置のサービスコントローラにおいて、シリアル出力メッセージを計算装置のプロセッサから受信することと、  前記サービスコントローラで、ネイティブＨＴＭＬメカニズムによってクライアントデバイスにおけるウェブブラウザとの接続を確立することと、
前記サービスコントローラで、前記ネイティブＨＴＭＬメカニズムによる前記接続によってシリアル出力メッセージを前記ウェブブラウザに流すことと、
を含む方法。
【請求項２】
前記サービスコントローラにはウェブサーバが組み込まれる請求項１に記載の方法。
【請求項３】
前記サービスコントローラは、ベースボード管理コントローラである請求項１に記載の方法。
【請求項４】
ベースボード管理コントローラと、
プロセッサと、
前記ベースボード管理コントローラにより実行されると、前記ベースボード管理コントローラにおいて、シリアル出力メッセージをプロセッサから受信することと、前記ベースボード管理コントローラで、ネイティブＨＴＭＬメカニズムによってクライアントデバイスにおけるウェブブラウザとの接続を確立することと、前記ベースボード管理コントローラで、前記ネイティブＨＴＭＬメカニズムによる前記接続によってシリアル出力メッセージを前記ウェブブラウザに流すこととを引き起こす１つ以上の命令シーケンスを含むコンピュータ可読媒体と、
を備えるシステム。
【請求項５】
前記ベースボード管理コントローラは、ウェブサーバを含む請求項４に記載のシステム。
【請求項６】
前記接続は、ＨＴＭＬ５ウェブソケット接続である請求項１に記載の方法。
【請求項７】
前記接続は、ＨＴＭＬ５ウェブソケット接続である請求項４記載のシステム。
【請求項８】
前記接続は、ベースボード管理コントローラ専用又は共有のネットワークインターフェースコントローラを使用する帯域外接続である請求項１に記載の方法。
【請求項９】
前記接続は、前記ベースボード管理コントローラ専用又は共有のネットワークインターフェースコントローラを使用する帯域外接続である請求項４に記載のシステム。
【請求項１０】
前記接続は、ハイパーテキスト転送プロトコルで確立される請求項１に記載の方法。
【請求項１１】
前記接続は、ハイパーテキスト転送プロトコルで確立される請求項４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークによる計算装置のシリアル出力のリダイレクトに関する。
【背景技術】
【０００２】
シリアルオーバーＬＡＮ（ローカルエリアネットワーク）は、計算装置のシリアルポートの入出力のインターネットプロトコル（Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ；ＩＰ）ネットワークによるリダイレクトを可能にするメカニズムである。リダイレクトされたシリアル出力（例えば、コンソールメッセージ、システムログメッセージ等）を受信するために、クライアントデバイスには、シリアル出力のリダイレクションを行うように構成されるＩＰＭＩ準拠のコントローラに繋がるためのインテリジェントプラットホームマネジメントインターフェース（ｉｎｔｅｌｌｉｇｅｎｔ  ｐｌａｔｆｏｒｍ  ｍａｎａｇｅｍｅｎｔ  ｉｎｔｅｒｆａｃｅ；ＩＰＭＩ）準拠のツールが組み込まれていなければならない。クライアントデバイスにはコンソールメッセージを受信するためのＩＰＭＩツールが組み込まれるだけではなく、クライアントデバイスのユーザ（例えば、サーバ管理者）がＩＰＭＩツールの組み込み方や使用方法を知らなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
前記インテリジェントプラットホームマネジメントインターフェースを使用して、クライアントデバイスの環境設定を設定するには、クライアントデバイスにはコンソールメッセージを受信するためのＩＰＭＩツールが組み込まれるだけではなく、クライアントデバイスのユーザ（例えば、サーバ管理者）がＩＰＭＩツールの組み込み方や使用方法を知らなければならない。そして、サーバ管理者は、計算装置により発生したコンソールメッセージにアクセスするための特別なＩＰＭＩツールを必要とするという問題がある。
【０００４】
本発明は、上記問題点等に鑑み、ネットワークを介してＨＴＴＰによってシリアル出力をリダイレクトする計算装置におけるサービスコントローラを提供することを課題とする。前記サービスコントローラは、計算装置のシリアル出力を受信し、またＨＴＴＰ接続によってシリアル出力をウェブブラウザに流すことができる。
【課題を解決するための手段】
【０００５】
ある実施例において、計算装置におけるサービスコントローラは、ネットワークを介してＨＴＴＰによってシリアル出力をリダイレクトするように構成されてもよい。例としては、サービスコントローラには、計算装置のシリアル出力を受信しまたＨＴＴＰ接続によってシリアル出力をウェブブラウザに流すことのできるウェブサーバが組み込まれてもよい。ある実施例において、ＨＴＴＰ接続は、ＨＴＭＬ５仕様で定義されるように、ウェブソケット接続であってもよい。ある実施例において、プロクシーサーバには、複数のサーバから出力されたシリアルオーバーＬＡＮ（ＳＯＬ）を受信し、またＳＯＬをクライアントデバイスにおけるウェブブラウザに流すことのできるウェブサーバが組み込まれてもよい。
【発明の効果】
【０００６】
具体的な実施例では、少なくとも下記の利点を備える。第一、サーバ管理者は、計算装置により発生したコンソールメッセージにアクセスするための特別なＩＰＭＩツールを必要としない。第二、サーバ管理者は、何れのデバイスでＨＴＴＰ接続に準拠する何れのウェブブラウザを使用して、コンソールメッセージにアクセスし、またサーバで問題をデバッグしてもよい。
【０００７】
添付図面及び以下の記述において、１つ以上の実施例の細部を説明する。他の特徴、態様及び潜在的利点については、説明、図面及び特許請求の範囲から明らかになる。
【図面の簡単な説明】
【０００８】
【図１】ネットワークによるシリアル出力のリダイレクト用の例示的なシステムを示す。
【図２】ＨＴＴＰによるシリアル出力のダイレクト用の例示的なシステムを示す。
【図３】ＨＴＴＰ及びプロクシーサーバによるシリアル出力のダイレクト用の例示的なシステムである。
【図４】ＨＴＴＰによるシリアル出力のダイレクトの例示的なプロセスである。
【図５】ＨＴＴＰ及びプロクシーサーバによるシリアル出力のダイレクトの例示的なプロセスである。
【図６】図１〜図５の特徴及びプロセスを実施する例示的なシステム構成のブロック図である。
【発明を実施するための形態】
【０００９】
図１は、ネットワークによるシリアル出力のリダイレクト用の例示的なシステム１００を示す。ある実施例において、システム１００は、複数のサーバ１０４を含むサーバラック１０２を備えてもよい。複数のサーバ１０４のそれぞれは、中央処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ；ＣＰＵ）１１２と、サービスコントローラ１１４と、を含んでもよい。ＣＰＵ１１２は、サーバ１０４のメインプロセッサであってもよい。ある実施形態において、少なくとも１つのサーバ１０４は、複数のＣＰＵを含んでもよい。
【００１０】
ある実施例において、サービスコントローラ１１４は、例えば、ベースボード管理コントローラ（ｂａｓｅｂｏａｒｄ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｔｒｏｌｌｅｒ；ＢＭＣ）であってもよい。ベースボード管理コントローラは、センサによってサーバ１０４の物理的な状態をモニターし、また独立した接続（例えば、帯域外）を介してシステム管理者と通信する専門的なサービスプロセッサである。ＢＭＣは、インテリジェントプラットホームマネジメントインターフェース（ＩＰＭＩ）の一部であり、一般的にサーバ１０４のマザーボードに含まれる。ＢＭＣは、ＣＰＵ１１２とは独立に操作されてもよい。更に、ＣＰＵ１１２がパワーダウンされサーバ１０４の電源が切れた場合でも、ＢＭＣが操作できる。
【００１１】
ある実施例において、サービスコントローラ１１４は、ネットワーク接続を介してシリアル出力をリダイレクトするように構成されてもよい。例としては、サービスコントローラ１１４は、シリアル出力（例えば、コンソールメッセージ）をＣＰＵ１１２又はサーバ１０４の他の部品から受信し、シリアル出力をネットワーク１０６（例えば、ローカルエリアネットワーク、広域ネットワーク、インターネット等）にリダイレクトするように構成される。例としては、サービスコントローラ１１４は、シリアルオーバーＬＡＮのシリアル出力のリダイレクションを実施できる。しかしながら、本発明の技術は、これに制限されず、如何なるネットワークを利用してもよく、またシリアル出力のリダイレクトをサポートするように、対応するネットワーク接続タイプ及びプロトコルを利用してもよい。
【００１２】
ある実施例において、クライアントデバイス１０８は、ＩＰＭＩ準拠のツールによってサーバ１０４からのシリアル出力にアクセスすることができる。例としては、ＩＰＭＩ準拠のツールは、ネットワーク１０６によってサービスコントローラ１１４とインターフェースをとって、サービスコントローラ１１４によりネットワーク１０６にリダイレクトされたシリアルメッセージを受信するようにクライアントデバイス１０８を配置することに用いられる。例としては、クライアントデバイス１０８は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットデバイス又は携帯用デバイスであってもよい。ある実施例において、クライアントデバイス１０８は、サーバ１０４から受信したシリアル出力をクライアントデバイス１０８にカップリングされたディスプレイに表示することができる。例としては、シリアル出力は、サーバ１０４により発生したコンソールメッセージを含んでもよい。これらのコンソールメッセージは、テキスト行１１０としてクライアントデバイス１０８のディスプレイに表示されてもよい。しかしながら、本発明の技術は、これに制限されず、コンソールメッセージは、クライアントデバイス１０８により、何れの他の形式又はフォーマットで表示されてもよい。例としては、コンソールメッセージは、コンソールメッセージを表すグラフィカル素子又はテキスト行とグラフィカル素子との組み合わせで表示されてもよい。
【００１３】
図２は、ＨＴＴＰによるシリアル出力のダイレクト用の例示的なシステム２００を示す。ある実施例において、サーバ２０２は、ＨＴＴＰによってシリアル出力をクライアントデバイスにおけるブラウザにリダイレクトするように構成されてもよい。例としては、システム２００内のサーバ２０２は、図１のサーバ１０４に対応してもよい。サーバ２０２は、ＣＰＵ２０４と、サービスコントローラ２０６と、を含んでもよい。ＣＰＵ２０４は、例えば、サーバ２０２のメインプロセッサであってもよい。ＣＰＵ２０４にはシステムロガー２０８の機能が組み込まれてもよい。例としては、オペレーティングシステム、ＢＩＯＳ及びサーバ２０２で実行している他のアプリケーションは、コンソール出力（例えば、ロギング、デバッギング）メッセージをシステムロガー２０８に発信するように構成されてもよい。システムロガー２０８は、コンソール出力メッセージを受信して、コンソールメッセージをサーバ２０２のシリアルポートに発信してもよい。
【００１４】
ある実施例において、サービスコントローラ２０６は、シリアル出力メッセージ（例えば、シリアルポート向けのメッセージ）をネットワークインターフェースコントローラ２１２にリダイレクトするように構成されてもよい。例としては、ネットワークインターフェースコントローラ２１２は、サービスコントローラ２０６専用のネットワークインターフェースコントローラであってもよい。しかしながら、ある実施例において、ネットワークインターフェースコントローラ２１２は、サーバ２０２内の他の部品と共有することができる。ネットワークインターフェースコントローラ２１２は、サービスコントローラ２０６とＩＰＭＩ準拠のクライアントアプリケーションとの間の帯域外通信を与える。
【００１５】
ある実施例において、サービスコントローラ２０６にはウェブサーバ２１０が組み込まれてもよい。例としては、ウェブサーバ２１０は、シリアル出力メッセージをシステムロガー２０８から受信し、ネットワークを介してＨＴＴＰによってシリアル出力メッセージにリダイレクトするように構成されてもよい。例としては、ウェブサーバ２１０は、通常ＨＴＴＰセッションのウェブソケットプロトコル仕様準拠のセッションへのアップグレーディングを与えるＨＴＭＬ５準拠のウェブサーバであってもよい。そのため、ウェブサーバ２１０は、アドオン（例えば、埋め込みｊａｖａ、Ｆｌａｓｈ又は他のクライアント・サーバメカニズム）を使用せずに、ネイティブＨＴＭＬ５メカニズムによってシリアル出力メッセージ（例えば、コンソールメッセージ）を伝送してもよい。例としては、ウェブサーバ２１０は、全二重通信路を用いて単一のＴＣＰ接続によってウェブソケットメッセージを伝送するように配置されてもよい。ウェブソケットメッセージは、ウェブサーバ及びウェブブラウザがデータパケットの伝送用のオープン通信路を保有することを許可する。そのため、ウェブサーバ２１０は、システムロガー２０８により発生したシリアル出力メッセージをリアルタイム又は準リアルタイムにネットワークに流すことができる。しかしながら、ある実施例において、データパケットを伝送する場合に通信経路をオープンしてもよい。
【００１６】
ある実施例において、クライアントデバイス２１４にウェブブラウザ２１６が組み込まれてもよい。例としては、ウェブブラウザ２１６は、ＨＴＭＬ５準拠のウェブサーバとのウェブソケット接続が可能であるＨＴＭＬ５準拠ウェブブラウザであってもよい。クライアントデバイス２１４は、ＨＴＭＬ５準拠ウェブブラウザが組み込まれている如何なるデバイスであってもよい。例としては、クライアントデバイス２１４は、ラップトップコンピュータ、タブレットコンピュータ、携帯用デバイス又は他の同様な計算装置であってもよい。
【００１７】
ある実施例において、ユーザ（例えば、サーバ管理者）は、ウェブブラウザ２１６でサーバ２０２により発生したシリアル出力（例えば、コンソールメッセージ）をビューしてもよい。例としては、システム管理者は、ウェブサーバ２１０のＩＰアドレスをウェブブラウザ２１６に記入してもよい。ウェブブラウザ２１６は、ネットワーク（例えば、インターネット）でＩＰアドレスによってまたネットワークインターフェースコントローラ２１２を介して、ウェブサーバ２１０に繋がる。ウェブソケット接続を確立するために、ウェブブラウザ２１６は、接続を確立するようにウェブサーバ２１０との通常ＨＴＴＰハンドシェイクを行って、ウェブソケットプロトコル接続へのアップグレードを要求する。アップグレード終了すると、ウェブサーバ２１０は、ＴＣＰ接続によってシステムロガー２０８から受信したシリアル出力メッセージをウェブブラウザ２１６に流れさせてもよい。例としては、ウェブサーバ２１０は、ビルトインＨＴＭＬ５パーサによってシリアル出力（例えば、ターミナル又はコンソール出力）をサーバ２０２からウェブソケットメッセージに転換する。例としては、ウェブソケット接続は、ウェブページに基づいて従来技術によるウェブサーバ２１０によって確立される。シリアル出力メッセージがサーバ２０２から受信されると、ウェブブラウザ２１６は、ウェブソケット接続と共に働くように構成されるシリアル出力メッセージをウェブページに表示する。
【００１８】
図３は、ＨＴＴＰによるシリアル出力のダイレクト及びプロクシーサーバ用の例示的なシステム３００である。例としては、図２のようなウェブサーバ２１０が配置されているサービスコントローラ２０６の代わりに、プロクシーサーバ３０２にはウェブサーバ３０４が配置されてもよい。ウェブサーバ３０４は、シリアル出力を１つのサーバ２０２又は複数のサーバ２０２から受信し、ウェブページを含むウェブソケット接続を発生して、シリアル出力をサーバ２０２からクライアントデバイス２１４上のウェブブラウザ２１６に流すように構成されてもよい。
【００１９】
ある実施例において、プロクシーサーバ３０２上のウェブサーバ３０４は、サービスコントローラ２０６のＩＰＭＩインターフェースと対話してサーバ２０２からのシリアル出力を要求するように構成されてもよい。例としては、システムロガー２０８出力をネットワークインターフェース２１２にリダイレクトして、システムロガー２０８出力（例えば、シリアル出力、コンソールメッセージ等）がウェブサーバ３０４に受信されるように、サービスコントローラ２０６にはシリアルオーバーＬＡＮ２１０の機能が組み込まれてもよい。例としては、ウェブサーバ３０４には、モニターされる複数のサーバ２０２のそれぞれ（１つだけ示す）上のサービスコントローラ２０６ごとのアドレス及びポートが組み込まれてもよい。ウェブサーバ３０４は、複数のサービスコントローラ２０６のそれぞれとの接続を確立し、またシリアル出力を複数のサーバ２０２のそれぞれから受信するように、複数のサービスコントローラ２０６のそれぞれのＩＰアドレス及びポートを使用してもよい。ある実施例において、ウェブサーバ３０４は、複数のサーバ２０２との同時的なＩＰＭＩ接続を保有してもよい。
【００２０】
ある実施例において、ウェブサーバ３０４は、サービスコントローラ２０６から受信したシリアル出力をクライアントデバイス２１４上のウェブブラウザ２１６に流すように構成されてもよい。例としては、クライアントデバイス２１４のユーザ（例えば、サーバ管理者）は、プロクシーサーバ３０２上のウェブサーバ３０４のＩＰアドレスをウェブブラウザ２１６に記入できる。ウェブブラウザ２１６は、その後でネットワーク（例えば、インターネット）を介してウェブサーバ３０４のＩＰアドレスによってウェブサーバ３０４に繋がってもよい。ウェブブラウザ２１６がウェブサーバ３０４に繋がると、ウェブサーバ３０４は、同時にウェブサーバ３０４に繋がられている複数のサーバ２０２のそれぞれを識別するウェブページをウェブブラウザ２１６に発信する。ユーザは、入力をウェブブラウザ２１６に表示されたウェブページに提供することで、サーバ２０２を選択してモニターしてもよい。ユーザが選択すると、ウェブブラウザ２１６は、ウェブサーバ３０４とのウェブソケット接続を確立して、シリアル出力を選択されたサーバ２０２からウェブブラウザ２１６に流す。
【００２１】
ある実施例において、ウェブブラウザ２１６は、ウェブサーバ３０４を介して他のサーバとの新しい接続を確立するように構成されてもよい。例としては、ウェブサーバ３０４からウェブブラウザ２１６に伝えられたウェブページは、他のサーバのサービスコントローラのＩＰアドレスを指定する機能を有してもよい。ウェブブラウザ２１６は、指定されたＩＰアドレスをウェブサーバ３０４に発信することができる。ウェブサーバ３０４は、指定されたＩＰアドレスによって新しいサービスコントローラとの新しい接続を確立し、指定されたサービスコントローラからシリアル出力を受信することができる。
【００２２】
ある実施例において、ウェブブラウザ２１６及びウェブサーバ３０４は、複数の同時的なウェブソケット接続を確立できる。例としては、クライアントデバイス２１４のユーザは、複数のサーバ２０２を同時にモニターする。ウェブブラウザ２１６に伝えられたウェブページは、複数のサーバ２０２からのシリアル出力（例えば、コンソールメッセージ、システムログメッセージ、システムエラーメッセージ等）の同時的な表示をサポートするように構成されてもよい。そのため、ユーザは、モニターしようとする複数のサーバ２０２のそれぞれを選択し、選択された複数のサーバ２０２のそれぞれに対してウェブソケットを確立することができる。或いは、ウェブページには、複数のサーバから受信したシリアル出力メッセージを伝送する単一のウェブソケット接続が組み込まれてもよい。ウェブページは、例えば、複数のサーバからのメッセージを読みやすいフォーマットで編成及び表示するように構成されてもよい。
【００２３】
ある実施例において、クライアントデバイス２１４は、クライアントデバイス２１４とサーバ（例えば、サーバ２０２又はプロクシーサーバ３０２）との間に確立されたＴＣＰ接続（例えば、ウェブソケット接続）によって、コマンドをクライアントデバイス２１４からサービスコントローラ２０６に発信する。例としては、クライアントデバイス２１４がサーバ２０２のサービスコントローラ２０６に直接繋がれる場合（図２に示すように）、クライアントデバイス２１４のユーザは、ウェブブラウザ２１６のインターフェース（例えば、ウェブページ上のエミュレータコンソールインターフェース）によってコマンド（例えば、ｔｅｘｔ、ＩＰＭＩコマンド等）を記入して、サーバ２０２をコントロールする。クライアントデバイス２１４は、コマンドを直接にサービスコントローラ２０６のウェブサーバ２１０に発信してもよい。ウェブサーバ２１０は、コマンドをサービスコントローラ２０６に与えて実行させてもよい。
【００２４】
クライアントデバイス２１４がプロクシーサーバ３０２によってサーバ２０２のサービスコントローラ２０６に繋がれると、クライアントデバイス２１４のユーザは、ウェブブラウザ２１６のインターフェース（例えば、ウェブページ上のエミュレータコンソールインターフェース）によってコマンド（例えば、ｔｅｘｔ、ＩＰＭＩコマンド等）を記入して、サーバ２０２をコントロールする。クライアントデバイス２１４は、コマンドをプロクシーサーバ３０２上のウェブサーバ３０４に発信する。受信したコマンドに応じて、ウェブサーバ３０２は、対応するサービスコントローラＡＰＩ（例えば、ＩＭＰＩ準拠関数）を呼び出し、コマンドをサービスコントローラ２０６に発信する。コマンド受信した後、サービスコントローラ２０６は、対応する関数や操作を行う。
【００２５】
図４は、ＨＴＴＰによるシリアル出力のダイレクト用の例示的なプロセス４００である。例としては、プロセス４００は、上記のように、サーバのサービスコントローラによって行われてもよい。ステップ４０２において、計算装置のサービスコントローラは、ウェブブラウザとの接続を確立できる。例としては、サービスコントローラにはウェブサーバが組み込まれてもよい。ウェブブラウザがウェブサーバのＩＰアドレス又はサービスコントローラのＩＰアドレスを備える場合、ウェブサーバは、クライアントデバイスで実行されるウェブブラウザに対してはアクセス可能である。ウェブブラウザから受信したＨＴＴＰ要求に応じて、ウェブサーバは、クライアントデバイス上のウェブブラウザへのウェブソケット接続を確立できる。
【００２６】
ステップ４０４では、サービスコントローラは、コンソールメッセージを計算装置の他の部品から受信できる。例としては、サービスコントローラに組み込まれたウェブサーバは、シリアル出力メッセージ（例えば、コンソールメッセージ）を計算装置のメインＣＰＵ（例えば、メインＣＰＵで実行されるソフトウェア）から受信できる。
【００２７】
ステップ４０６では、サービスコントローラは、コンソールメッセージをクライアントデバイス上のウェブブラウザに伝送可能である。例としては、サービスコントローラ上のウェブサーバは、コンソールメッセージをウェブブラウザにリアルタイム又は準リアルタイムに流すことができる。コンソールメッセージは、ウェブサーバによるウェブページ及びクライアントデバイスのウェブブラウザに表示される。
【００２８】
図５は、ＨＴＴＰによるシリアル出力のダイレクト及びプロクシーサーバ用の例示的なプロセス５００である。例としては、プロセス５００は、上記のように、プロクシーサーバで実行されるウェブサーバで行われてもよい。ステップ５０２では、プロクシーサーバは、１つ以上のマネジメントされるサーバへのＩＰＭＩ接続を確立できる。例としては、プロクシーサーバ上のウェブサーバは、ＩＰＭＩ準拠のクライアントとして組み込まれてもよい。ウェブサーバには、モニターされる複数のサーバのそれぞれのサービスコントローラごとのＩＰアドレスが組み込まれてもよい。ウェブサーバは、組み込まれたＩＰアドレスで複数のサービスコントローラのそれぞれのＩＰＭＩインターフェースを介して複数のサーバのそれぞれに繋がられてもよい。
【００２９】
ステップ５０４では、プロクシーサーバは、コンソールメッセージを複数のサーバのそれぞれから受信する。例としては、プロクシーサーバ上のウェブサーバがモニターされる複数のサーバのそれぞれへの接続を確立すると、ウェブサーバは、シリアル出力（例えば、コンソールメッセージ）を複数のモニターされるサーバのそれぞれから受信する。
【００３０】
ステップ５０６では、プロクシーサーバは、クライアントデバイスのウェブブラウザへの接続を確立する。例としては、プロクシーサーバ上のウェブサーバは、クライアントデバイス上のウェブブラウザからウェブページ要求を受信して、モニターされるサーバからのコンソールメッセージをビューする。ウェブサーバは、要求ウェブページをクライアントデバイス上のウェブブラウザに返す。クライアントデバイスのユーザは、ウェブページをビューし、及びユーザがモニターしようとするサーバを選択（例えば、ウェブページに表示されるリストから）することができる。
【００３１】
ステップ５０８では、プロクシーサーバは、モニターされるサーバから受信したコンソールメッセージをクライアントデバイス上のウェブブラウザに伝送する。例としては、ユーザがモニターしようとするサーバを選択すると、ウェブブラウザは、プロクシーサーバ上のウェブサーバのウェブブラウザとのウェブソケット接続の確立を要求できる。ウェブソケット接続が確立されると、ウェブサーバは、複数の選択されたサーバのそれぞれのコンソールメッセージ（例えば、シリアル出力）をクライアントデバイス上のウェブブラウザに流す。例としては、流れさせたコンソールメッセージは、クライアントデバイス上のウェブブラウザによるウェブページに表示される。
【００３２】
上記のように、ある実施例において、ＨＴＴＰによるシリアル出力のリダイレクションは、ＨＴＭＬ５ウェブソケットプロトコルによってシリアル出力（例えば、コンソールメッセージ）をウェブブラウザに流すことで達成される。他の実施例において、より従来的なクライアント・サーバ（例えば、ウェブサーバ・ブラウザ、ｊａｖａｐｐｌｅｔｓ等）ストリーミング技術は、コンソールメッセージをウェブブラウザにリアルタイム又は準リアルタイムに表示することに用いられる。
【００３３】
例示的なシステム構成
図６は、図１〜図５の特徴及びプロセスを実施する例示的なシステム構成のブロック図６００である。構成６００は、編集命令に由来するソフトウェアアプリケーションが実行される如何なる電子デバイスで実施されてもよい。パソコン、サーバ、スマートフォン、メディアプレーヤ、電子タブレット、ゲームコンソール、メールデバイス等を含むが、それらに制限されない。ある実施例において、構成６００は、１つ以上のプロセッサ６０２と、１つ以上の入力デバイス６０４と、１つ以上のディスプレイデバイス６０６と、１つ以上のネットワークインターフェース６０８と、１つ以上のコンピュータ可読媒体６１０と、を備えてもよい。これらの部品のそれぞれがバス６１２でカップリングされてもよい。
【００３４】
ディスプレイデバイス６０６は、既知の何れの表示技術であってもよく、液晶表示ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ；ＬＣＤ）又は発光ダイオード（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ；ＬＥＤ）技術によるディスプレイデバイスを含むが、それに制限されない。プロセッサ６０２は、既知何れのプロセッサ技術を使用してもよく、グラフィックスプロセッサ及びマルチコアプロセッサを含むが、それらに制限されない。入力デバイス６０４は、既知の何れの入力デバイス技術であってもよく、キーボード（仮想キーボードを含む）、マウス、トラックボール、接触感知パッド又はディスプレイを含むが、それらに制限されない。バス６１２は、既知の何れの内部又は外部バス技術であってもよく、ＩＳＡ、ＥＩＳＡ、ＰＣＩ、エクスプレス、ＮｕＢｕｓ、ＵＳＢ、シリアルＡＴＡ又はＦｉｒｅＷｉｒｅを含むが、それらに制限されない。
【００３５】
コンピュータ可読媒体６１０は、命令をプロセッサ６０２に提供して実行させることに関与する如何なる媒体であってもよく、不揮発性記憶媒体（例えば、光ディスク、磁気ディスク、フラッシュドライブ等）や揮発性媒体（例えば、ＳＤＲＡＭ、ＲＯＭ等）を含むが、それらに制限されない。コンピュータ可読媒体（例えば、記憶デバイス、媒体、メモリ）は、例えば、ビットストリームを含むケーブル又は無線信号等を含むが、それらに制限されない。しかしながら、非一時的なコンピュータ可読媒体を言及する場合、エネルギー、キャリア信号、電波、信号そのもの等の媒体は明確に排除される。
【００３６】
コンピュータ可読媒体６１０は、各種の命令６１４を実施するオペレーティングシステム（例えば、Ｍａｃ  ＯＳ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標））を含んでもよい。オペレーティングシステムは、マルチユーザ、マルチプロセッシング、マルチタスキング、マルチスレッド、リアルタイム等であってもよい。オペレーティングシステムは、入力デバイス６０４からの入力の認識、出力のディスプレイデバイス６０６への発信、コンピュータ可読媒体６１０におけるファイル及びディレクトリに対する追跡、直接又はＩ／Ｏコントローラによってコントロールされることのできる周辺デバイス（例えば、ディスクドライブ、プリンタ等）に対するコントロール、バス６１２上のトラフィックに対する管理等の基本タスクを行うが、それらに制限されない。ネットワーク通信６１６は、ネットワーク接続（例えば、ＴＣＰ／ＩＰ、ＨＴＴＰ、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信プロトコルを実施するためのソフトウェア）を確立及び保有することができる。
【００３７】
グラフィックスプロセッシングシステム６１８は、グラフィックス及びイメージプロセッシング能力を与える命令を含んでもよい。例としては、グラフィックスプロセッシングシステム６１８は、図１〜図５に参照して描かれたプロセスを実施できる。アプリケーション６２０は、図１〜図５に参照して描かれたプロセスを使用又は実施するアプリケーションであってもよい。例としては、アプリケーション６２０は、サービスコントローラＨＴＴＰによってリダイレクトされるコンソールメッセージ（例えば、シリアル出力）を発生してもよい。プロセスは、オペレーティングシステム６１４で実施されてもよい。
【００３８】
サービスコントローラ６２２は、プロセッサ６０２及び／又はオペレーティングシステム６１４とは独立に操作されるコントローラであってもよい。ある実施例において、サービスコントローラ６２２は、プロセッサ６０２の電源が入られまたオペレーティングシステム６１４がプロセッサ３０２にロードされる前に駆動及び操作される。例としては、サービスコントローラ６２２は、専用ネットワークインターフェース又は他の入力デバイスによって計算装置のｐｒｅ‐ＯＳマネジメントを与える。例としては、サービスコントローラ６２２は、インテリジェントプラットホームマネジメントインターフェース（ＩＰＭＩ）、キーボード、ビデオ、マウス（ＫＶＭ）リダイレクション、シリアルオーバーＬＡＮ（ＳＯＬ）、及び／又は他のインターフェースベースボードによって、デバイスセンサ（例えば、電圧、温度、ファン等）をモニターし、故障解析のログイベント、ＬＥＤガイド診断を与え、パワーマネジメントを行い、及び／又はリモートマネジメント能力を与えるマネジメントコントローラ（ＢＭＣ）であってもよい。サービスコントローラ６２２は、上記図１〜図５に参照して描かれたプロセスを実施できる。例としては、サービスコントローラ６２２には、シリアル出力ネットワークを介してＨＴＴＰによってリダイレクトするように、ウェブサーバが組み込まれてもよい。
【００３９】
上記特徴は、データ及び命令をデータ記憶システムから受信しデータ記憶システムに伝送するようにカップリングされた少なくとも１つのプログラマブルプロセッサと、少なくとも１つの入力デバイスと、少なくとも１つの出力デバイスと、を含むプログラマブルシステムに実行可能な１つ以上のコンピュータプログラムで有利に実施される。コンピュータプログラムは、特定の作業を行い又は特定の結果をもたらすように命令セットを直接又は間接にコンピュータに使用されてもよい。コンピュータプログラムは、プログラミング言語（例えば、オブジェクトｉｖｅ‐Ｃ、Ｊａｖａ（登録商標））のコンパイラー又はインタープレット言語を初めとする如何なる形式で書かれてもよく、またスタンドアロンプログラムで又はモジュール、部品、サブルーチン、又は計算環境に適用な他のユニットとするように如何に配置されてもよい。
【００４０】
プログラム命令の実行に適用なプロセッサは、一例として、汎用及び特殊用途のマイクロプロセッサの両者、何れのコンピュータのプロセッサ又は複数のプロセッサ又はコアの１つを含む。一般的に、プロセッサは、命令及びデータを読み出し専用メモリ又はランダムアクセスメモリ又はその両者から受信する。コンピュータの基本要素は、命令及び１つ以上のメモリを実行し、また命令及びデータを保存するプロセッサである。一般的に、コンピュータは、更に、磁気ディスク、内部ハードディスク及びリムーバブルディスク、光磁気ディスク、光ディスク等のデバイスのような、データ保存用のファイルの１つ以上の大容量記憶デバイスを含み、又は上記大容量記憶デバイスと通信できるように動作可能にカップリングされる。コンピュータプログラム命令及びデータの実体化に適用な記憶デバイスは、一例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスク及びリムーバブルディスク等の磁気ディスク、光磁気ディスク、ＣＤ‐ＲＯＭ及びＤＶＤ‐ＲＯＭディスクを初めとするあらゆる形式の不揮発性メモリを含む。プロセッサ及びメモリは、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ-ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ；ＡＳＩＣｓ）により追加や編入されてもよい。
【００４１】
ユーザと対話するために、特徴は、情報をユーザに表示するための陰極線管（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ；ＣＲＴ）又は液晶表示ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ；ＬＣＤ）モニターのようなディスプレイデバイス、キーボード及びマウス又はトラックボールのようなユーザによりコンピュータに入力可能なポインティングデバイスを有するコンピュータに実施されてもよい。
【００４２】
特徴は、データサーバ等のバックエンド部品、又はアプリケーションサーバ又はインターネットサーバ等のミドルウェア部品、又はグラフィカルユーザインターフェース又はインターネットブラウザ付きのクライアントコンピュータ等のフロントエンド部品、又はそれらの何れの組み合わせを含むコンピュータシステムに実施されてもよい。システムの部品は、通信ネットワーク等のデジタルデータ通信の何れの形式又は媒体で繋がられてもよい。通信ネットワークの実例としては、例えば、ＬＡＮ、ＷＡＮ、インターネットを形成するコンピュータ及びネットワークがある。
【００４３】
コンピュータシステムは、クライアント及びサーバを含む。クライアントとサーバとは、一般的に互に離れ、通常、ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータで実行され及び互にクライアントサーバ関係を持つコンピュータプログラムにより生じる。
【００４４】
本発明の実施形態の１つ以上の特徴又はステップは、ＡＰＩによって実施される。ＡＰＩは、呼び出しアプリケーションと他のソフトウェアコード（例えば、オペレーティングシステム、ライブラリルーチン、関数）で送られた１つ以上のパラメーターを定義し、サービスやデータを提供し、又は操作や演算を行う。
【００４５】
ＡＰＩは、１つ以上のパラメーターをパラメーターリスト又はＡＰＩ仕様書類で定義された呼び出し規約に基づいた他の構造によって発信又は受信するプログラムコードの１つ以上の呼び出しとして実施されてもよい。パラメーターは、定数、キー、データ構造、オブジェクト、オブジェクトクラス、変数、データタイプ、ポインタ、アイレ、リスト、又は他の呼び出しであってもよい。ＡＰＩ呼び出し及びパラメーターは、何れのプログラミング言語で実施されてもよい。プログラミング言語は、プログラマーがＡＰＩをサポートする関数をアクセスするように、用語及び呼び出し規約を定義できる。
【００４６】
ある実施例において、ＡＰＩは、入力能力、出力能力、プロセッシング能力、パワー能力、通信能力等のアプリケーションの実行をアプリケーションにポートするデバイス能力を呼び出する。
【００４７】
数多くの実施例について説明したにもかかわらず、各種の修正を加えてもよいことは理解すべきである。例としては、他のステップを加え、又はステップを説明されたフローから削除、他の部品を説明されたシステムに加え又はそれから取り除いてもよい。その故に、他の実施例も下記特許請求の範囲に含まれる。
【符号の説明】
【００４８】
１０４、２０２  サーバ
１０６  ネットワーク
１１４、２０６、２０６、６２２  サービスコントローラ
２０４  ＣＰＵ
２０８  システムロガー
２１０、３０４  ウェブサーバ
２１２、６０８  ネットワークインタフェース
２１４  クライアントデバイス
２１６  ウェブブラウザ
３０２  プロクシーサーバ
４０２、４０４、４０６、５０２、５０４、５０６、５０８  ステップ
６００  システム構造
６０２プロセッサ
６０４  入力デバイス
６０６  ディスプレイ
６１４  オペレーティングシステム
６１６  ネットワーク通信命令
６１８  グラフィックスプロセッシングシステム
６２０  アプリケーション
【図１】
2016095830.tif 000003
【図２】
2016095830.tif 000004
【図３】
2016095830.tif 000005
【図４】
2016095830.tif 000006
【図５】
2016095830.tif 000007
【図６】
2016095830.tif 000008