(57)【要約】  コマンドラインの機能をパイピングすることに関する。方法はコンピューティングシステムにおいて実施されることがある。本方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。本方法は、特定の機能を実行するコマンドラインユーティリティを呼び出すことを含む。出力はコマンドラインユーティリティから受け取られる。この出力を、コマンドラインユーティリティを再び呼び出すときの引数として使用して、コマンドラインユーティリティを再び呼び出す。
2009530707.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムにおいて、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法であって、前記コマンドラインユーティリティは、前記コマンドラインユーティリティの出力を前記コマンドラインユーティリティによって実行される機能の引数として受け入れることができ、
特定の機能を実行するコマンドラインユーティリティを呼び出すことと、
前記コマンドラインユーティリティから出力を受け取ることと、
前記出力を、前記コマンドラインユーティリティを再び呼び出すときの引数として使用して前記コマンドラインユーティリティを再び呼び出すことと
を含むことを特徴とする方法。
【請求項２】
前記コマンドラインユーティリティを再び呼び出すことは、前記コマンドラインユーティリティが初めに呼び出されて実行した前記特定の機能と異なる機能を実行するためであることを特徴とする請求項１に記載の方法。
【請求項３】
出力を受け取ることは、マークアップ文書を受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項４】
コマンドラインユーティリティを呼び出すこと、および前記コマンドラインユーティリティを再び呼び出すことは、前記コマンドラインユーティリティを呼び出すこと、および前記コマンドラインユーティリティを再び呼び出すことを指示する複数の引数を含む単一のコマンドラインステートメントを実行することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
コマンドラインユーティリティを呼び出すこと、および前記コマンドラインユーティリティを再び呼び出すことは、バッチファイルを実行することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記出力を記憶装置に保存することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記出力を、前記コマンドラインユーティリティを再び呼び出すときの引数として使用して前記コマンドラインユーティリティを再び呼び出すことは、特定の機能を実行するコマンドラインユーティリティを呼び出すマシンと異なるマシンで実行されることを特徴とする請求項６に記載の方法。
【請求項８】
前記出力を、Ｗｅｂサービスを使用して転送することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記出力を、前記コマンドラインユーティリティを再び呼び出すときの引数として使用して前記コマンドラインユーティリティを再び呼び出すことは、全体的により複雑な操作を実行するために前記コマンドラインユーティリティが最初に呼び出されるときに実行される前記特定の機能と関連する機能を実行するように、前記コマンドラインユーティリティを再び呼び出すことを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
コンピューティングシステムにおいて、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法であって、前記コマンドラインユーティリティは、前記コマンドラインユーティリティの出力を前記コマンドラインユーティリティによって実行される機能の引数として受け取ることができ、
実行されるべき機能を指定する複数の引数を含む単一のコマンドラインステートメントをユーザから受け取ることと、
出力を、前記複数の引数の少なくとも１つによって指定される実行中の第１の機能の結果として生成することと、
前記複数の引数の少なくとも１つによって指定される第２の機能を実行するために、未変更の形式の前記出力を入力として使用することと
を含むことを特徴とする方法。
【請求項１１】
出力を生成することは、マークアップ文書を生成することを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記出力をファイルに格納することをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
出力を生成することは、前記出力をＳＴＤＯＵＴストリームでストリーミングすることを含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記出力を使用することは、前記出力をＳＴＤＩＮストリームでストリーミングすることを含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
請求項１０に記載のアクトを実行するためのコンピュータ実行可能な命令を含むことを特徴とするコンピュータ読取可能な媒体。
【請求項１６】
コンピューティングシステムにおいて、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法であって、前記コマンドラインユーティリティは、前記コマンドラインユーティリティの出力を前記コマンドラインユーティリティによって実行される機能の引数として受け取ることができ、
出力を、第１の機能を実行する前記コマンドラインユーティリティの実行の結果として生成することと、
第２の機能を実行する際に使用するために、未変更の形式の前記出力をもとの前記コマンドラインユーティリティへパイピングすることと
を含むことを特徴とする方法。
【請求項１７】
未変更の形式の前記出力を元の前記コマンドラインユーティリティへパイピングすることは、ＳＴＤＩＮストリームをパイピングすることを含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
請求項１６に記載のアクトを実行するためのコンピュータ実行可能な命令を含むことを特徴とするコンピュータ読取可能な媒体。
【請求項１９】
出力を生成することは、マークアップ文書を生成することを含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
未変更の形式の前記出力を元の前記コマンドラインユーティリティへパイピングすることは、Ｗｅｂサービスを使用して前記出力を転送することを含むことを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドラインをパイプライン化することに関する。
【背景技術】
【０００２】
コンピュータおよびコンピューティングシステムは、現代の生活のほぼあらゆる面に影響を与えている。コンピュータは一般に、仕事、レクリエーション、健康管理、交通機関、娯楽、家庭管理などに関わっている。コンピューティングシステムをトラブルシューティングするために、様々なツールがユーザおよびＩＴ専門家に利用可能である。例えば、多くのコンピュータシステムは、ユーザが様々な問題をトラブルシューティングできるようにするコマンドラインユーティリティを含むか、あるいはこれを用いて使用されることがある。コマンドラインユーティリティは、ＤＯＳプロンプトなどのコマンドラインから実行することができるコンピュータプログラムである。
【０００３】
コマンドラインユーティリティを実行するには、ユーザは、コマンドラインユーティリティの名前を、実行時に該コマンドラインユーティリティが考慮すべき入力を指定する様々なパラメータとともに入力する。例えば、「ｐｉｎｇ  １９２．１６８．０．１」は、あるコンピュータシステムに、汎用メッセージをネットワーク上でＩＰアドレス１９２．１６８．０．１の別のコンピュータシステムに送信して、この２つのコンピュータシステム間のネットワークの接続性をテストするように命令するコマンドラインユーティリティの一例である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
コマンドラインユーティリティは、一般にコンピュータ画面に結果を出力し、場合によっては結果とともにログファイルを生成する。追加的なテストを実行するには、ユーザは一般に、コンピュータ画面またはログファイルから情報をコピーし、該情報が異なるコマンドラインユーティリティで入力として使用されるべき場合はこの情報を適切に再フォーマットしなければならない。したがって、１つまたは複数のコマンドラインユーティリティを用いて複数の操作を実行するには、多くのユーザインタラクションが必要である。
【０００５】
ユーザおよびＩＴ専門家に利用可能な他のトラブルシューティングツールは、専用のカスタムスクリプト（specialized custom script）である。スクリプトは一般に、一連の操作を実行することができる。しかしながら、スクリプトは、一般に特定の一連の操作を実行するように設計されており、したがって一般的な状況における拡張性および有用性が劣る。さらに、これらのスクリプトの専用的な性質のため、スクリプトはユーザによって生成されることが多い。したがって、ユーザは、スクリプトをプログラムするために高レベルの専門知識を持っていなければならない。
【０００６】
本出願において特許請求される主題は、全ての不都合を解決する実施形態または上述されるような環境でのみ動作する実施形態に限定されない。むしろ上記の背景技術は、本明細書で説明される一部の実施形態を実施することができるある例示的な技術分野を示すために提供されるにすぎない。
【課題を解決するための手段】
【０００７】
本明細書で説明される一実施形態は、コンピューティングシステムにおいて実行することができる方法である。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクト（act）を含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数（argument）として受け入れる（accept）ことができる。該方法は、特定の機能を実行するコマンドラインユーティリティを呼び出すことを含む。出力は、コマンドラインユーティリティから受け取られる。コマンドラインユーティリティは、該出力を、コマンドラインユーティリティを再び呼び出すときの引数として使用して、再び呼び出される。
【０００８】
本明細書で説明される別の方法が、コンピューティングシステムにおいて実行されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、単一のコマンドラインステートメントをユーザから受け取ることを含む。単一のコマンドラインステートメントは、実行されるべき機能を指定する多数の引数を含む。出力は、引数の少なくとも１つによって指定された、実行されている第１の機能の結果として生成される。該出力は、引数の少なくとも１つによって指定される第２の機能を実行するために、未変更の形式（unmodified form）で入力として使用される。
【０００９】
本明細書で説明される別の方法が、コンピューティングシステムにおいて実行されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、出力を、第１の機能を実行するコマンドラインユーティリティの実行の結果として生成することを含む。該方法はさらに、第２の機能を実行する際に使用するために、未変更の形式の該出力をもとのコマンドラインユーティリティへパイピングすることを含む。
【００１０】
この「課題を解決するための手段」は、以下の「発明を実施するための最良の形態」においてさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この「課題を解決するための手段」は、特許請求される対象の主要な特徴または本質的特徴を特定するように意図されておらず、特許請求される対象の範囲を定める助けとして使用されることも意図されていない。
【００１１】
さらなる特徴および利点は以下の説明で示され、その一部はその説明からあきらかになり、あるいは本明細書の教示を実施することによって知ることができる。本発明の特徴および利点を、添付の特許請求の範囲で特に指摘する機器および組合せによって実現し、得ることができる。本発明の特徴は次の説明および添付の特許請求の範囲からさらに十分に明らかになり、あるいは本発明の特徴を後述の本発明の実施によって知ることができる。
【００１２】
上記および他の利点および特徴を得ることができる手法を説明するために、添付の図面に図示される特定の実施形態を参照して、簡単に上述した対象物のより詳細な説明を提供する。これらの図面は典型的な実施形態のみを示すものであり従って範囲を限定するものと見なされるべきではないことを理解するとともに、実施形態を添付の図面の使用を通じてさらに具体的かつ詳細に示して説明することにする。
【発明を実施するための最良の形態】
【００１３】
本明細書の実施形態は、以下でさらに詳細に検討されるように、様々なコンピュータハードウェアを含む専用または汎用のコンピュータを含むことができる。
【００１４】
本明細書で開示される一部の実施形態は、単一のコマンドラインユーティリティを使用して多数のコマンドを実行することを可能にするシステムおよび方法を対象とする。例えば、コマンドラインユーティリティは、同じコマンドラインユーティリティを使用して多数の異なる機能を実行することができるように、引数をネストできるようにする機能性を含むことがある。さらに、引数によって指定されたその後の機能を入力として使用することができるように、複数の機能の１つを起動することによって作成された結果であるデータを、さらにフォーマットすることなくコマンドラインユーティリティにループバックすることができる。
【００１５】
次に、ワークフローのパイプライン１００の一例が図示されている図１に注目する。ワークフローのパイプライン１００には要求１０２が図示されている。この実施形態において、該要求には複数の引数が含まれる。一実施形態において、該引数を使用して、コマンドラインユーティリティによって実行されることになる多数の異なる機能を指定することができる。図１には、要求１０２を受け取るコマンドラインユーティリティ１０４が図示されている。コマンドラインユーティリティ１０４は、要求１０２に含まれる複数の引数の少なくとも１つによって指示（dictate）されるように機能を実行するための機能性を含む。機能を実行する結果として、出力１０６が生成される。ワークフローのパイプライン１００は、出力がループ１０８を通ってコマンドラインユーティリティ１０４にループバックされることがあることを図示する。ループ１０８は、要求１０２に含まれる複数の引数を含むことなどによってさらなる機能が指示される場合に利用される。図示されるように、出力１０６は、ループ１０８を通ってコマンドラインユーティリティ１０４にループバックされることがあり、したがって該出力１０６を、コマンドラインユーティリティ１０４によって実行されている別の機能の入力引数として使用することができる。
【００１６】
再び図１に図示された要求１０２を参照すると、要求１０２を、一例ではユーザからの単一のコマンドラインステートメントとして具現化することができる。単一のコマンドラインステートメントは、実行されるべき機能を指定するのに使用することができる多数の引数を含むことができる。例えば、要求１０２に具現化する例示的なコマンドラインステートメントを、次のようにフォーマットすることができる。  
コマンド：Find sites| Find applications
この特定の例では、コマンドラインユーティリティは、サイト（sites）を見つける（find）機能を含む。サイトを見つけた後、それらのサイト上で実行中のアプリケーション（applications）が列挙されることになる。
【００１７】
代替的な実施形態では、要求１０２は、コマンドラインユーティリティ１０４への入力を提供するのに使用されるバッチファイルとして具現化されることがある。
【００１８】
コマンドラインユーティリティ１０４は、多数の異なる機能を実行する機能性を含む。いずれの機能を実行するかを、要求１０２内の引数によって指示することができる。一実施形態では、コマンドラインユーティリティ１０４は、より複雑で大きな全体の操作を遂行するときに同じコマンドラインユーティリティを使用することができるように、多数の相互に関係する機能を実行するように設計されることがある。例えば、サーバ制御状況（server control context）において、コマンドラインユーティリティは、特定のＩＰアドレスまたはアドレスの範囲で稼動するウェブサイトを見つけるための機能性を提供する機能を含むことができる。サーバ状況に関連するコマンドラインユーティリティ１０４はさらに、ウェブサイトを停止する機能性を含むことができる。したがって、ユーザは、コマンドラインユーティリティがウェブサイトを見つけ、見つけたウェブサイトを停止すべきであることを示す要求１０２を、コマンドラインユーティリティに提供することができる。以下でより詳細に説明されるように、ウェブサイトを停止する機能がコマンドユーティリティ１０４によって実行されると、ウェブサイトを見つける機能からの出力をコマンドラインユーティリティへの入力として使用することができる。
【００１９】
より具体的な例として、複数のパイピングされたコマンド（piped command）からなる単一のより複雑な操作の次のシナリオを説明する。第１の例は、オブジェクトインスタンスのセットを見つけること、および次いでそれらのインスタンスに対して操作を実行することを含む。例えば、第１のコマンドは、特定のＩＰアドレスを聴取（listen）してサイトを見つけることができ、第１のコマンドからの出力を使用する第２のコマンドがサイトを停止する。第２の例は、複数のオブジェクト間に関係（relationship）が存在する別のオブジェクトと関連するオブジェクトインスタンスのセットを見つけることを含む。例えば、パイピングされたコマンドは、１０秒以上実行した実行中の要求を現在有するサイトに属するアプリケーションにある仮想ディレクトリを見つける。第３の例は、バッチ操作を多くのオブジェクトに効率的に実行することを含む。例えば、コマンドラインのパイピング（command line piping）は、特定の基準を満たす全てのサイトを見つけて該サイトを停止することを可能にする。
【００２０】
この柔軟性により、複雑なエンドツーエンドの管理シナリオを、複数のコマンドを実行する複雑なスクリプトコードを投入することなくコマンドラインで容易に実行することが可能となり、複雑さを伴うためにほとんどのサーバ顧客に対してアクセス可能でない中間状態が維持されて、同じ目標が本質的に達成される。
【００２１】
コンピュータシステム、フレームワーク、アプリケーションなどは、基本的な構造のコンポーネントとやり取りをするのに使用することができる管理オブジェクトの基本的なセットを公開することができる。例えば、サーバ状況において、サーバは、Ｓｉｔｅｓ（サイト）、Ａｐｐｌｉｃａｔｉｏｎｓ（アプリケーション）、Ｖｉｒｔｕａｌ  Ｄｉｒｅｃｔｏｒｉｅｓ（仮想ディレクトリ）、Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｓｅｃｔｉｏｎ（構成セクション）などの概念を公開することができる。各オブジェクトは、該オブジェクトとやり取りをするのに使用することができる、サポートされた機能のセットを提供する。例えば、機能を、アプリケーションの作成、構成セクションの構成プロパティの設定、またはサイトの停止などに使用することができる。各オブジェクトは、要求されたインスタンスの様々なプロパティに基づいて、場合によってはクエリによって、存在するこのオブジェクトのインスタンスを列挙する能力も提供することができる。
【００２２】
コマンドラインユーティリティ１０４は、オブジェクトとのインタフェースをコマンドラインのユーザに公開する機能を含み、所望のオブジェクトインスタンスに対してこの機能を実行する能力をイネーブルにすることができる。
【００２３】
前述のように、コマンドラインユーティリティ１０４は、複数の機能を実行する機能性を含む。これにより、同じコマンドラインユーティリティ１０４を使用して、所与のシステム、フレームワーク、アプリケーションなどに適用可能なオブジェクトと適切にインタフェースをとることが可能になる。さらに、コマンドラインユーティリティ１０４は、前の機能の出力を、コマンドラインユーティリティ１０４によって実行されるその後の機能への入力として受け入れる能力を含む。
【００２４】
再び図１を参照すると、出力１０６が図示されている。一実施形態では、出力１０６は、ＸＭＬデータセットとして具現化されることがある。図示されるように、出力１０６を、ループ１０８を使用してコマンドラインユーティリティ１０４に戻るようにパイピングすることができる。したがって、コマンドラインユーティリティ１０４によって実行されるその後の機能は、前の機能によって生成された出力１０６、ならびに次の機能を実行するように要求１０２で指定された引数を使用することができる。
【００２５】
説明されるように、出力１０６はＸＭＬデータセットとすることができる。例えば、次の引数がユーザによって入力されることがある。  
コマンド：Find sites | Find applications
【００２６】
このＦｉｎｄ  ｓｉｔｅｓ機能は、ＸＭＬ要素のそれぞれが、機能によって見つけられたサイト要素を記述する、ＸＭＬ要素のセットを作成することができる。例えば、コマンドラインユーティリティが「Ｆｉｎｄ  ｓｉｔｅｓ」引数を有するコマンドラインユーティリティ１０４の出力は、次のＸＭＬデータセットを返すことができる。
【００２７】
【表１】
2009530707.tif 000003
【００２８】
示された特定の例では、「Ｆｉｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ」機能は、「Ｆｉｎｄ  ｓｉｔｅｓ」機能によって生成された上記のＸＭＬ出力を受け入れ、「Ｆｉｎｄ  ｓｉｔｅｓ」機能によって識別されたサイトのそれぞれに「Ｆｉｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ」機能を実行し、各サイトは、「Ｆｉｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ」機能の引数として使用される。この場合、「Ｆｉｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ」機能のそれぞれが、ＸＭＬで識別されるサイトｉｄ（site id）に関連するアプリケーションのセットを作成する。結果として生じるアプリケーションのセットを、「Ｆｉｎｄ  ｓｉｔｅ」機能および「Ｆｉｎｄ  ａｐｐｌｉｃａｔｉｏｎｓ」機能を含む２つの機能のチェーン（chain）の結果としてマージし、出力することができる。さらに、ユーザによって入力された元のコマンドラインの拡張、またはチェーンによって計算されたアプリケーションのセットに対する操作を実行する後のコマンドラインのいずれかにより、この出力をさらに別の機能とパイピングすることができる。例えば、コマンドラインのエントリは、アプリケーションにプロパティを設定する引数を含むことができる。
【００２９】
一実施形態では、ＳＴＤＩＮおよびＳＴＤＯＵＴ（それぞれ、標準入力（standard input）、標準出力（standard output））ストリームを、ＸＭＬデータの入力および出力それぞれに使用する。これは、シェルのパイピングメカニズムを用いることによって、コマンドラインユーティリティ１０４を使用して確実にパイピングを容易に行うことができるようにする。さらに、ＳＴＤＩＮおよびＳＴＤＯＵＴストリームの使用により、出力１０６がファイルにリダイレクト（redirect）されるか、またはファイルから読まれることも可能になる。これにより、中間結果を後でまたは別のマシンで使用することができるように、出力１０６を格納することが可能になる。
【００３０】
例えば、一実施形態では、あるシステムのアプリケーションのセットを、別のシステムにエクスポートすることができる。コマンドラインユーティリティ１０４の出力１０６を、ＸＭＬファイルにリダイレクトすることができる。該ＸＭＬファイルを、アプリケーションがエクスポートされた他のシステムにコピーすることができる。コマンドラインユーティリティ１０４を、次いでＸＭＬファイルを含む入力を有する他のシステムで実行して、アプリケーションを復元（restore）することができる。
【００３１】
ＸＭＬフォーマットで設計されたＳＴＤＩＮ／ＳＴＤＯＵＴは、データを、ＡＤＯ．ＮＥＴ、レポート生成用のＸＳＬＴ変換など、ＸＭＬを処理する他のツールへおよび他のツールから送信することを可能にする。例えば、ＸＭＬデータセットをＷｅｂサービスアプリケーションで使用することができる。Ｗｅｂサービスは、アプリケーションを統合する標準化された方法である。標準化されたＸＭＬ文書を、ＳＯＡＰ（Simple Object Access Protocol）メッセージおよびＷＳＤＬ（Web Services Description Language）記述で使用して、統合されているアプリケーションの広範囲な知識なしにアプリケーションを統合することができる。
【００３２】
次に図２を参照すると、方法２００が図示されている。方法２００は、例えばコンピューティングシステムにおいて実施されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法である。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。一実施形態では、コマンドラインユーティリティは、サーバ管理を行うための複数の機能を実行するように設計される。
【００３３】
該方法は、特定の機能を実行するコマンドラインユーティリティを呼び出すこと（アクト２０２）を含む。例えば、図１に示される要求１０２をコマンドラインユーティリティ１０４に入力して、コマンドラインユーティリティ１０４に特定の機能を実行させることができる。
【００３４】
方法２００はさらに、コマンドラインユーティリティから出力を受け取ること（アクト２０４）を含む。一実施形態では、出力を受け取ることは、マークアップ文書を受け取ることを含む。例えば、本明細書で前述されるように、コマンドラインユーティリティからの出力は、ＸＭＬ文書などのマークアップ文書の形式とすることができる。
【００３５】
方法２００はさらに、出力を、コマンドラインユーティリティを再び呼び出すときの引数として使用して、コマンドラインユーティリティを再び呼び出すことを含む（アクト２０６）。コマンドラインユーティリティを再び呼び出すことは、例えばコマンドラインユーティリティがもともと呼び出されて実行した特定の機能とは異なる機能を実行するためであることがある。一部の実施形態では、コマンドラインユーティリティを再び呼び出すときの引数として出力を使用してコマンドラインユーティリティを再び呼び出すことを、特定の機能を実行するコマンドラインユーティリティを呼び出すマシンと異なるマシンで実行することができる。例えば、前述されるように、出力を、別のマシンにコピーされるＸＭＬファイルにリダイレクトすることができる。次いでコマンドラインユーティリティを、この別のマシンで呼び出して、コマンドラインユーティリティを再び呼び出すアクトを実行することができる。
【００３６】
本明細書に図示される例では、コマンドラインユーティリティを呼び出すこと（アクト２０２）およびコマンドラインユーティリティを再び呼び出すこと（アクト２０４）は、単一のコマンドラインステートメントを実行することを含むことができる。単一のコマンドラインステートメントは、コマンドラインユーティリティを呼び出すように、およびコマンドラインユーティリティを再び呼び出すように指示する引数を含むことができる。代替的な実施形態では、コマンドラインユーティリティを呼び出すこと、およびコマンドラインユーティリティを再び呼び出すことは、コマンドラインユーティリティがバッチファイルで２回参照されるバッチファイルを実行することを含むことができる。
【００３７】
方法２００はさらに、出力を記憶装置（storage）に保存することを含むことができる。前述されるように、出力を、ＸＭＬファイルに送信することができる。ＸＭＬファイルを、ハードディスクドライブまたは他の記憶装置などローカルに格納することができる。代替的に、出力を、他のコンピュータシステムで使用するために別のコンピュータシステムに転送することができる。さらに出力を、ネットワークの記憶装置によって、または出力がネットワーク接続されたシステムによりアクセスされることを可能にする共有化によって、利用可能にすることができる。方法２００は、Ｗｅｂサービスを使用して出力を転送することを含むこともできる。
【００３８】
次に図３を参照すると、別の方法３００が図示されている。該方法は、例えばコンピューティングシステムで実施されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法である。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、単一のコマンドラインステートメントをユーザから受け取ること（アクト３０２）を含む。単一のコマンドラインステートメントは、実行されるべき機能を指定する多数の引数を含む。
【００３９】
方法３００はさらに、出力を、引数の少なくとも１つによって指定された実行中の第１の機能の結果として生成すること（アクト３０４）を含む。出力を生成することは、例えばマークアップ文書を生成することを含むことができる。マークアップ文書の出力の例は上記で説明されている。一実施形態では、出力を生成することは、ＳＴＤＯＵＴストリームで出力をストリーミングすることを含むことができる。すでに示したように、ＳＴＤＯＵＴストリームを使用することは、出力を外部の場所に格納するのに有効である可能性がある。例えば方法３００は、出力をファイルに格納することをさらに含むことができる。一実施形態では、このことを、ＳＴＤＯＵＴストリームを使用することを通じて達成することができる。
【００４０】
該方法はさらに、１つまたは複数の引数によって指定される第２の機能を実行するために、未変更の形式（unmodified form）の出力を入力として使用することを含む。一実施形態では、出力を使用することは、ＳＴＤＩＮストリームで出力をストリーミングすることを含む。したがって、例えば出力が外部の場所に格納されると、ＳＴＤＩＮストリームを通して出力をコンピュータシステムにストリーミングすることにより、出力をコンピュータシステムによって使用することができる。
【００４１】
次に図４を参照すると、別の方法４００が図示されている。方法４００は、例えばコンピューティングシステムで実施されることがある。方法４００は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力を、コマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、出力を、第１の機能を実行するコマンドラインユーティリティの実行の結果として生成すること（アクト４０２）を含む。出力を生成することは、一例ではマークアップ文書を生成することを含むことができる。
【００４２】
該方法はさらに、第２の機能を実行する際に使用するために、未変更の形式の出力をもとのコマンドラインユーティリティへパイピングすること（アクト４０４）を含む。未変更の形式の出力をもとのコマンドラインユーティリティへパイピングすることは、ＳＴＤＩＮストリームをパイピングすることを含むことができる。一実施形態では、未変更の形式の出力をもとのコマンドラインユーティリティへパイピングすることは、Ｗｅｂサービスを使用して出力を転送することを含むことができる。
【００４３】
実施形態は、コンピュータ実行可能な命令または格納されたデータ構造を有するかまたは備えるコンピュータ読取可能な媒体を含むことができる。このようなコンピュータ読取可能な媒体は、汎用または専用のコンピュータでアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく例として、このようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望のプログラムコード手段をコンピュータ実行可能な命令もしくはデータ構造の形式で有するか格納するのに使用することができ、かつ汎用もしくは専用のコンピュータでアクセスすることができる他の媒体を備えることができる。情報がネットワークまたは別の通信接続（有線、無線、または有線と無線の組合せのいずれか）によってコンピュータに転送されると、該コンピュータは、この接続をコンピュータ読取可能な媒体と適切に見なされる。したがって、全てのこのような接続は、コンピュータ読取可能な媒体と適切に呼ばれる。上記の組合せもコンピュータ読取可能な媒体の範囲内に含まれるべきである。
【００４４】
コンピュータ実行可能な命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用の処理装置に、ある機能もしくは機能群を実行させる命令およびデータを含む。本主題を、構造的特徴および／または方法的アクトに特有の言語で説明してきたが、添付の特許請求の範囲において定義される主題は、必ずしも上述の特定の特徴またはアクトに限定されないことを理解されたい。むしろ、上述の特定の特徴およびアクトは、特許請求の範囲を実装する例示的な形式として開示される。
【００４５】
本発明を、その精神または本質的特徴から逸脱することなく他の特定の形態で具現化することができる。説明される実施形態は、全ての観点において、単に例示的なものであり制限的なものではないと見なされるべきである。本発明の範囲はしたがって、前述の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味するものおよび範囲内で生じるあらゆる変更は、特許請求の範囲に含まれるべきである。
【図面の簡単な説明】
【００４６】
【図１】コマンドラインのパイプライン化の一実施形態を示す図である。
【図２】コマンドラインユーティリティを使用する方法を示す図である。
【図３】コマンドラインユーティリティを使用する別の方法を示す図である。
【図４】コマンドラインユーティリティを使用するさらに別の方法を示す図である。
【図１】
2009530707.tif 000004
【図２】
2009530707.tif 000005
【図３】
2009530707.tif 000006
【図４】
2009530707.tif 000007
【国際調査報告】
2009530707.tif 000008
2009530707.tif 000009