JP2009530707A - コマンドラインのパイプライン化 - Google Patents

コマンドラインのパイプライン化 Download PDF

Info

Publication number
JP2009530707A
JP2009530707A JP2009500356A JP2009500356A JP2009530707A JP 2009530707 A JP2009530707 A JP 2009530707A JP 2009500356 A JP2009500356 A JP 2009500356A JP 2009500356 A JP2009500356 A JP 2009500356A JP 2009530707 A JP2009530707 A JP 2009530707A
Authority
JP
Japan
Prior art keywords
command line
line utility
output
function
utility
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.)
Withdrawn
Application number
JP2009500356A
Other languages
English (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009530707A publication Critical patent/JP2009530707A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

コマンドラインの機能をパイピングすることに関する。方法はコンピューティングシステムにおいて実施されることがある。本方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。本方法は、特定の機能を実行するコマンドラインユーティリティを呼び出すことを含む。出力はコマンドラインユーティリティから受け取られる。この出力を、コマンドラインユーティリティを再び呼び出すときの引数として使用して、コマンドラインユーティリティを再び呼び出す。

Description

本発明は、コマンドラインをパイプライン化することに関する。
コンピュータおよびコンピューティングシステムは、現代の生活のほぼあらゆる面に影響を与えている。コンピュータは一般に、仕事、レクリエーション、健康管理、交通機関、娯楽、家庭管理などに関わっている。コンピューティングシステムをトラブルシューティングするために、様々なツールがユーザおよびIT専門家に利用可能である。例えば、多くのコンピュータシステムは、ユーザが様々な問題をトラブルシューティングできるようにするコマンドラインユーティリティを含むか、あるいはこれを用いて使用されることがある。コマンドラインユーティリティは、DOSプロンプトなどのコマンドラインから実行することができるコンピュータプログラムである。
コマンドラインユーティリティを実行するには、ユーザは、コマンドラインユーティリティの名前を、実行時に該コマンドラインユーティリティが考慮すべき入力を指定する様々なパラメータとともに入力する。例えば、「ping 192.168.0.1」は、あるコンピュータシステムに、汎用メッセージをネットワーク上でIPアドレス192.168.0.1の別のコンピュータシステムに送信して、この2つのコンピュータシステム間のネットワークの接続性をテストするように命令するコマンドラインユーティリティの一例である。
コマンドラインユーティリティは、一般にコンピュータ画面に結果を出力し、場合によっては結果とともにログファイルを生成する。追加的なテストを実行するには、ユーザは一般に、コンピュータ画面またはログファイルから情報をコピーし、該情報が異なるコマンドラインユーティリティで入力として使用されるべき場合はこの情報を適切に再フォーマットしなければならない。したがって、1つまたは複数のコマンドラインユーティリティを用いて複数の操作を実行するには、多くのユーザインタラクションが必要である。
ユーザおよびIT専門家に利用可能な他のトラブルシューティングツールは、専用のカスタムスクリプト(specialized custom script)である。スクリプトは一般に、一連の操作を実行することができる。しかしながら、スクリプトは、一般に特定の一連の操作を実行するように設計されており、したがって一般的な状況における拡張性および有用性が劣る。さらに、これらのスクリプトの専用的な性質のため、スクリプトはユーザによって生成されることが多い。したがって、ユーザは、スクリプトをプログラムするために高レベルの専門知識を持っていなければならない。
本出願において特許請求される主題は、全ての不都合を解決する実施形態または上述されるような環境でのみ動作する実施形態に限定されない。むしろ上記の背景技術は、本明細書で説明される一部の実施形態を実施することができるある例示的な技術分野を示すために提供されるにすぎない。
本明細書で説明される一実施形態は、コンピューティングシステムにおいて実行することができる方法である。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクト(act)を含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数(argument)として受け入れる(accept)ことができる。該方法は、特定の機能を実行するコマンドラインユーティリティを呼び出すことを含む。出力は、コマンドラインユーティリティから受け取られる。コマンドラインユーティリティは、該出力を、コマンドラインユーティリティを再び呼び出すときの引数として使用して、再び呼び出される。
本明細書で説明される別の方法が、コンピューティングシステムにおいて実行されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、単一のコマンドラインステートメントをユーザから受け取ることを含む。単一のコマンドラインステートメントは、実行されるべき機能を指定する多数の引数を含む。出力は、引数の少なくとも1つによって指定された、実行されている第1の機能の結果として生成される。該出力は、引数の少なくとも1つによって指定される第2の機能を実行するために、未変更の形式(unmodified form)で入力として使用される。
本明細書で説明される別の方法が、コンピューティングシステムにおいて実行されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、出力を、第1の機能を実行するコマンドラインユーティリティの実行の結果として生成することを含む。該方法はさらに、第2の機能を実行する際に使用するために、未変更の形式の該出力をもとのコマンドラインユーティリティへパイピングすることを含む。
この「課題を解決するための手段」は、以下の「発明を実施するための最良の形態」においてさらに説明される概念の選択を簡略化した形式で紹介するために提供される。この「課題を解決するための手段」は、特許請求される対象の主要な特徴または本質的特徴を特定するように意図されておらず、特許請求される対象の範囲を定める助けとして使用されることも意図されていない。
さらなる特徴および利点は以下の説明で示され、その一部はその説明からあきらかになり、あるいは本明細書の教示を実施することによって知ることができる。本発明の特徴および利点を、添付の特許請求の範囲で特に指摘する機器および組合せによって実現し、得ることができる。本発明の特徴は次の説明および添付の特許請求の範囲からさらに十分に明らかになり、あるいは本発明の特徴を後述の本発明の実施によって知ることができる。
上記および他の利点および特徴を得ることができる手法を説明するために、添付の図面に図示される特定の実施形態を参照して、簡単に上述した対象物のより詳細な説明を提供する。これらの図面は典型的な実施形態のみを示すものであり従って範囲を限定するものと見なされるべきではないことを理解するとともに、実施形態を添付の図面の使用を通じてさらに具体的かつ詳細に示して説明することにする。
本明細書の実施形態は、以下でさらに詳細に検討されるように、様々なコンピュータハードウェアを含む専用または汎用のコンピュータを含むことができる。
本明細書で開示される一部の実施形態は、単一のコマンドラインユーティリティを使用して多数のコマンドを実行することを可能にするシステムおよび方法を対象とする。例えば、コマンドラインユーティリティは、同じコマンドラインユーティリティを使用して多数の異なる機能を実行することができるように、引数をネストできるようにする機能性を含むことがある。さらに、引数によって指定されたその後の機能を入力として使用することができるように、複数の機能の1つを起動することによって作成された結果であるデータを、さらにフォーマットすることなくコマンドラインユーティリティにループバックすることができる。
次に、ワークフローのパイプライン100の一例が図示されている図1に注目する。ワークフローのパイプライン100には要求102が図示されている。この実施形態において、該要求には複数の引数が含まれる。一実施形態において、該引数を使用して、コマンドラインユーティリティによって実行されることになる多数の異なる機能を指定することができる。図1には、要求102を受け取るコマンドラインユーティリティ104が図示されている。コマンドラインユーティリティ104は、要求102に含まれる複数の引数の少なくとも1つによって指示(dictate)されるように機能を実行するための機能性を含む。機能を実行する結果として、出力106が生成される。ワークフローのパイプライン100は、出力がループ108を通ってコマンドラインユーティリティ104にループバックされることがあることを図示する。ループ108は、要求102に含まれる複数の引数を含むことなどによってさらなる機能が指示される場合に利用される。図示されるように、出力106は、ループ108を通ってコマンドラインユーティリティ104にループバックされることがあり、したがって該出力106を、コマンドラインユーティリティ104によって実行されている別の機能の入力引数として使用することができる。
再び図1に図示された要求102を参照すると、要求102を、一例ではユーザからの単一のコマンドラインステートメントとして具現化することができる。単一のコマンドラインステートメントは、実行されるべき機能を指定するのに使用することができる多数の引数を含むことができる。例えば、要求102に具現化する例示的なコマンドラインステートメントを、次のようにフォーマットすることができる。
コマンド:Find sites| Find applications
この特定の例では、コマンドラインユーティリティは、サイト(sites)を見つける(find)機能を含む。サイトを見つけた後、それらのサイト上で実行中のアプリケーション(applications)が列挙されることになる。
代替的な実施形態では、要求102は、コマンドラインユーティリティ104への入力を提供するのに使用されるバッチファイルとして具現化されることがある。
コマンドラインユーティリティ104は、多数の異なる機能を実行する機能性を含む。いずれの機能を実行するかを、要求102内の引数によって指示することができる。一実施形態では、コマンドラインユーティリティ104は、より複雑で大きな全体の操作を遂行するときに同じコマンドラインユーティリティを使用することができるように、多数の相互に関係する機能を実行するように設計されることがある。例えば、サーバ制御状況(server control context)において、コマンドラインユーティリティは、特定のIPアドレスまたはアドレスの範囲で稼動するウェブサイトを見つけるための機能性を提供する機能を含むことができる。サーバ状況に関連するコマンドラインユーティリティ104はさらに、ウェブサイトを停止する機能性を含むことができる。したがって、ユーザは、コマンドラインユーティリティがウェブサイトを見つけ、見つけたウェブサイトを停止すべきであることを示す要求102を、コマンドラインユーティリティに提供することができる。以下でより詳細に説明されるように、ウェブサイトを停止する機能がコマンドユーティリティ104によって実行されると、ウェブサイトを見つける機能からの出力をコマンドラインユーティリティへの入力として使用することができる。
より具体的な例として、複数のパイピングされたコマンド(piped command)からなる単一のより複雑な操作の次のシナリオを説明する。第1の例は、オブジェクトインスタンスのセットを見つけること、および次いでそれらのインスタンスに対して操作を実行することを含む。例えば、第1のコマンドは、特定のIPアドレスを聴取(listen)してサイトを見つけることができ、第1のコマンドからの出力を使用する第2のコマンドがサイトを停止する。第2の例は、複数のオブジェクト間に関係(relationship)が存在する別のオブジェクトと関連するオブジェクトインスタンスのセットを見つけることを含む。例えば、パイピングされたコマンドは、10秒以上実行した実行中の要求を現在有するサイトに属するアプリケーションにある仮想ディレクトリを見つける。第3の例は、バッチ操作を多くのオブジェクトに効率的に実行することを含む。例えば、コマンドラインのパイピング(command line piping)は、特定の基準を満たす全てのサイトを見つけて該サイトを停止することを可能にする。
この柔軟性により、複雑なエンドツーエンドの管理シナリオを、複数のコマンドを実行する複雑なスクリプトコードを投入することなくコマンドラインで容易に実行することが可能となり、複雑さを伴うためにほとんどのサーバ顧客に対してアクセス可能でない中間状態が維持されて、同じ目標が本質的に達成される。
コンピュータシステム、フレームワーク、アプリケーションなどは、基本的な構造のコンポーネントとやり取りをするのに使用することができる管理オブジェクトの基本的なセットを公開することができる。例えば、サーバ状況において、サーバは、Sites(サイト)、Applications(アプリケーション)、Virtual Directories(仮想ディレクトリ)、Configuration section(構成セクション)などの概念を公開することができる。各オブジェクトは、該オブジェクトとやり取りをするのに使用することができる、サポートされた機能のセットを提供する。例えば、機能を、アプリケーションの作成、構成セクションの構成プロパティの設定、またはサイトの停止などに使用することができる。各オブジェクトは、要求されたインスタンスの様々なプロパティに基づいて、場合によってはクエリによって、存在するこのオブジェクトのインスタンスを列挙する能力も提供することができる。
コマンドラインユーティリティ104は、オブジェクトとのインタフェースをコマンドラインのユーザに公開する機能を含み、所望のオブジェクトインスタンスに対してこの機能を実行する能力をイネーブルにすることができる。
前述のように、コマンドラインユーティリティ104は、複数の機能を実行する機能性を含む。これにより、同じコマンドラインユーティリティ104を使用して、所与のシステム、フレームワーク、アプリケーションなどに適用可能なオブジェクトと適切にインタフェースをとることが可能になる。さらに、コマンドラインユーティリティ104は、前の機能の出力を、コマンドラインユーティリティ104によって実行されるその後の機能への入力として受け入れる能力を含む。
再び図1を参照すると、出力106が図示されている。一実施形態では、出力106は、XMLデータセットとして具現化されることがある。図示されるように、出力106を、ループ108を使用してコマンドラインユーティリティ104に戻るようにパイピングすることができる。したがって、コマンドラインユーティリティ104によって実行されるその後の機能は、前の機能によって生成された出力106、ならびに次の機能を実行するように要求102で指定された引数を使用することができる。
説明されるように、出力106はXMLデータセットとすることができる。例えば、次の引数がユーザによって入力されることがある。
コマンド:Find sites | Find applications
このFind sites機能は、XML要素のそれぞれが、機能によって見つけられたサイト要素を記述する、XML要素のセットを作成することができる。例えば、コマンドラインユーティリティが「Find sites」引数を有するコマンドラインユーティリティ104の出力は、次のXMLデータセットを返すことができる。
Figure 2009530707
示された特定の例では、「Find applications」機能は、「Find sites」機能によって生成された上記のXML出力を受け入れ、「Find sites」機能によって識別されたサイトのそれぞれに「Find applications」機能を実行し、各サイトは、「Find applications」機能の引数として使用される。この場合、「Find applications」機能のそれぞれが、XMLで識別されるサイトid(site id)に関連するアプリケーションのセットを作成する。結果として生じるアプリケーションのセットを、「Find site」機能および「Find applications」機能を含む2つの機能のチェーン(chain)の結果としてマージし、出力することができる。さらに、ユーザによって入力された元のコマンドラインの拡張、またはチェーンによって計算されたアプリケーションのセットに対する操作を実行する後のコマンドラインのいずれかにより、この出力をさらに別の機能とパイピングすることができる。例えば、コマンドラインのエントリは、アプリケーションにプロパティを設定する引数を含むことができる。
一実施形態では、STDINおよびSTDOUT(それぞれ、標準入力(standard input)、標準出力(standard output))ストリームを、XMLデータの入力および出力それぞれに使用する。これは、シェルのパイピングメカニズムを用いることによって、コマンドラインユーティリティ104を使用して確実にパイピングを容易に行うことができるようにする。さらに、STDINおよびSTDOUTストリームの使用により、出力106がファイルにリダイレクト(redirect)されるか、またはファイルから読まれることも可能になる。これにより、中間結果を後でまたは別のマシンで使用することができるように、出力106を格納することが可能になる。
例えば、一実施形態では、あるシステムのアプリケーションのセットを、別のシステムにエクスポートすることができる。コマンドラインユーティリティ104の出力106を、XMLファイルにリダイレクトすることができる。該XMLファイルを、アプリケーションがエクスポートされた他のシステムにコピーすることができる。コマンドラインユーティリティ104を、次いでXMLファイルを含む入力を有する他のシステムで実行して、アプリケーションを復元(restore)することができる。
XMLフォーマットで設計されたSTDIN/STDOUTは、データを、ADO.NET、レポート生成用のXSLT変換など、XMLを処理する他のツールへおよび他のツールから送信することを可能にする。例えば、XMLデータセットをWebサービスアプリケーションで使用することができる。Webサービスは、アプリケーションを統合する標準化された方法である。標準化されたXML文書を、SOAP(Simple Object Access Protocol)メッセージおよびWSDL(Web Services Description Language)記述で使用して、統合されているアプリケーションの広範囲な知識なしにアプリケーションを統合することができる。
次に図2を参照すると、方法200が図示されている。方法200は、例えばコンピューティングシステムにおいて実施されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法である。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。一実施形態では、コマンドラインユーティリティは、サーバ管理を行うための複数の機能を実行するように設計される。
該方法は、特定の機能を実行するコマンドラインユーティリティを呼び出すこと(アクト202)を含む。例えば、図1に示される要求102をコマンドラインユーティリティ104に入力して、コマンドラインユーティリティ104に特定の機能を実行させることができる。
方法200はさらに、コマンドラインユーティリティから出力を受け取ること(アクト204)を含む。一実施形態では、出力を受け取ることは、マークアップ文書を受け取ることを含む。例えば、本明細書で前述されるように、コマンドラインユーティリティからの出力は、XML文書などのマークアップ文書の形式とすることができる。
方法200はさらに、出力を、コマンドラインユーティリティを再び呼び出すときの引数として使用して、コマンドラインユーティリティを再び呼び出すことを含む(アクト206)。コマンドラインユーティリティを再び呼び出すことは、例えばコマンドラインユーティリティがもともと呼び出されて実行した特定の機能とは異なる機能を実行するためであることがある。一部の実施形態では、コマンドラインユーティリティを再び呼び出すときの引数として出力を使用してコマンドラインユーティリティを再び呼び出すことを、特定の機能を実行するコマンドラインユーティリティを呼び出すマシンと異なるマシンで実行することができる。例えば、前述されるように、出力を、別のマシンにコピーされるXMLファイルにリダイレクトすることができる。次いでコマンドラインユーティリティを、この別のマシンで呼び出して、コマンドラインユーティリティを再び呼び出すアクトを実行することができる。
本明細書に図示される例では、コマンドラインユーティリティを呼び出すこと(アクト202)およびコマンドラインユーティリティを再び呼び出すこと(アクト204)は、単一のコマンドラインステートメントを実行することを含むことができる。単一のコマンドラインステートメントは、コマンドラインユーティリティを呼び出すように、およびコマンドラインユーティリティを再び呼び出すように指示する引数を含むことができる。代替的な実施形態では、コマンドラインユーティリティを呼び出すこと、およびコマンドラインユーティリティを再び呼び出すことは、コマンドラインユーティリティがバッチファイルで2回参照されるバッチファイルを実行することを含むことができる。
方法200はさらに、出力を記憶装置(storage)に保存することを含むことができる。前述されるように、出力を、XMLファイルに送信することができる。XMLファイルを、ハードディスクドライブまたは他の記憶装置などローカルに格納することができる。代替的に、出力を、他のコンピュータシステムで使用するために別のコンピュータシステムに転送することができる。さらに出力を、ネットワークの記憶装置によって、または出力がネットワーク接続されたシステムによりアクセスされることを可能にする共有化によって、利用可能にすることができる。方法200は、Webサービスを使用して出力を転送することを含むこともできる。
次に図3を参照すると、別の方法300が図示されている。該方法は、例えばコンピューティングシステムで実施されることがある。該方法は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法である。コマンドラインユーティリティは、コマンドラインユーティリティの出力をコマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、単一のコマンドラインステートメントをユーザから受け取ること(アクト302)を含む。単一のコマンドラインステートメントは、実行されるべき機能を指定する多数の引数を含む。
方法300はさらに、出力を、引数の少なくとも1つによって指定された実行中の第1の機能の結果として生成すること(アクト304)を含む。出力を生成することは、例えばマークアップ文書を生成することを含むことができる。マークアップ文書の出力の例は上記で説明されている。一実施形態では、出力を生成することは、STDOUTストリームで出力をストリーミングすることを含むことができる。すでに示したように、STDOUTストリームを使用することは、出力を外部の場所に格納するのに有効である可能性がある。例えば方法300は、出力をファイルに格納することをさらに含むことができる。一実施形態では、このことを、STDOUTストリームを使用することを通じて達成することができる。
該方法はさらに、1つまたは複数の引数によって指定される第2の機能を実行するために、未変更の形式(unmodified form)の出力を入力として使用することを含む。一実施形態では、出力を使用することは、STDINストリームで出力をストリーミングすることを含む。したがって、例えば出力が外部の場所に格納されると、STDINストリームを通して出力をコンピュータシステムにストリーミングすることにより、出力をコンピュータシステムによって使用することができる。
次に図4を参照すると、別の方法400が図示されている。方法400は、例えばコンピューティングシステムで実施されることがある。方法400は、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行するアクトを含む。コマンドラインユーティリティは、コマンドラインユーティリティの出力を、コマンドラインユーティリティによって実行される機能の引数として受け入れることができる。該方法は、出力を、第1の機能を実行するコマンドラインユーティリティの実行の結果として生成すること(アクト402)を含む。出力を生成することは、一例ではマークアップ文書を生成することを含むことができる。
該方法はさらに、第2の機能を実行する際に使用するために、未変更の形式の出力をもとのコマンドラインユーティリティへパイピングすること(アクト404)を含む。未変更の形式の出力をもとのコマンドラインユーティリティへパイピングすることは、STDINストリームをパイピングすることを含むことができる。一実施形態では、未変更の形式の出力をもとのコマンドラインユーティリティへパイピングすることは、Webサービスを使用して出力を転送することを含むことができる。
実施形態は、コンピュータ実行可能な命令または格納されたデータ構造を有するかまたは備えるコンピュータ読取可能な媒体を含むことができる。このようなコンピュータ読取可能な媒体は、汎用または専用のコンピュータでアクセスすることができる任意の利用可能な媒体とすることができる。限定ではなく例として、このようなコンピュータ読取可能な媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、または所望のプログラムコード手段をコンピュータ実行可能な命令もしくはデータ構造の形式で有するか格納するのに使用することができ、かつ汎用もしくは専用のコンピュータでアクセスすることができる他の媒体を備えることができる。情報がネットワークまたは別の通信接続(有線、無線、または有線と無線の組合せのいずれか)によってコンピュータに転送されると、該コンピュータは、この接続をコンピュータ読取可能な媒体と適切に見なされる。したがって、全てのこのような接続は、コンピュータ読取可能な媒体と適切に呼ばれる。上記の組合せもコンピュータ読取可能な媒体の範囲内に含まれるべきである。
コンピュータ実行可能な命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用の処理装置に、ある機能もしくは機能群を実行させる命令およびデータを含む。本主題を、構造的特徴および/または方法的アクトに特有の言語で説明してきたが、添付の特許請求の範囲において定義される主題は、必ずしも上述の特定の特徴またはアクトに限定されないことを理解されたい。むしろ、上述の特定の特徴およびアクトは、特許請求の範囲を実装する例示的な形式として開示される。
本発明を、その精神または本質的特徴から逸脱することなく他の特定の形態で具現化することができる。説明される実施形態は、全ての観点において、単に例示的なものであり制限的なものではないと見なされるべきである。本発明の範囲はしたがって、前述の説明ではなく添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味するものおよび範囲内で生じるあらゆる変更は、特許請求の範囲に含まれるべきである。
コマンドラインのパイプライン化の一実施形態を示す図である。 コマンドラインユーティリティを使用する方法を示す図である。 コマンドラインユーティリティを使用する別の方法を示す図である。 コマンドラインユーティリティを使用するさらに別の方法を示す図である。

Claims (20)

  1. コンピューティングシステムにおいて、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法であって、前記コマンドラインユーティリティは、前記コマンドラインユーティリティの出力を前記コマンドラインユーティリティによって実行される機能の引数として受け入れることができ、
    特定の機能を実行するコマンドラインユーティリティを呼び出すことと、
    前記コマンドラインユーティリティから出力を受け取ることと、
    前記出力を、前記コマンドラインユーティリティを再び呼び出すときの引数として使用して前記コマンドラインユーティリティを再び呼び出すことと
    を含むことを特徴とする方法。
  2. 前記コマンドラインユーティリティを再び呼び出すことは、前記コマンドラインユーティリティが初めに呼び出されて実行した前記特定の機能と異なる機能を実行するためであることを特徴とする請求項1に記載の方法。
  3. 出力を受け取ることは、マークアップ文書を受け取ることを含むことを特徴とする請求項1に記載の方法。
  4. コマンドラインユーティリティを呼び出すこと、および前記コマンドラインユーティリティを再び呼び出すことは、前記コマンドラインユーティリティを呼び出すこと、および前記コマンドラインユーティリティを再び呼び出すことを指示する複数の引数を含む単一のコマンドラインステートメントを実行することを含むことを特徴とする請求項1に記載の方法。
  5. コマンドラインユーティリティを呼び出すこと、および前記コマンドラインユーティリティを再び呼び出すことは、バッチファイルを実行することを含むことを特徴とする請求項1に記載の方法。
  6. 前記出力を記憶装置に保存することをさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記出力を、前記コマンドラインユーティリティを再び呼び出すときの引数として使用して前記コマンドラインユーティリティを再び呼び出すことは、特定の機能を実行するコマンドラインユーティリティを呼び出すマシンと異なるマシンで実行されることを特徴とする請求項6に記載の方法。
  8. 前記出力を、Webサービスを使用して転送することをさらに含むことを特徴とする請求項1に記載の方法。
  9. 前記出力を、前記コマンドラインユーティリティを再び呼び出すときの引数として使用して前記コマンドラインユーティリティを再び呼び出すことは、全体的により複雑な操作を実行するために前記コマンドラインユーティリティが最初に呼び出されるときに実行される前記特定の機能と関連する機能を実行するように、前記コマンドラインユーティリティを再び呼び出すことを含むことを特徴とする請求項1に記載の方法。
  10. コンピューティングシステムにおいて、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法であって、前記コマンドラインユーティリティは、前記コマンドラインユーティリティの出力を前記コマンドラインユーティリティによって実行される機能の引数として受け取ることができ、
    実行されるべき機能を指定する複数の引数を含む単一のコマンドラインステートメントをユーザから受け取ることと、
    出力を、前記複数の引数の少なくとも1つによって指定される実行中の第1の機能の結果として生成することと、
    前記複数の引数の少なくとも1つによって指定される第2の機能を実行するために、未変更の形式の前記出力を入力として使用することと
    を含むことを特徴とする方法。
  11. 出力を生成することは、マークアップ文書を生成することを含むことを特徴とする請求項10に記載の方法。
  12. 前記出力をファイルに格納することをさらに含むことを特徴とする請求項10に記載の方法。
  13. 出力を生成することは、前記出力をSTDOUTストリームでストリーミングすることを含むことを特徴とする請求項10に記載の方法。
  14. 前記出力を使用することは、前記出力をSTDINストリームでストリーミングすることを含むことを特徴とする請求項10に記載の方法。
  15. 請求項10に記載のアクトを実行するためのコンピュータ実行可能な命令を含むことを特徴とするコンピュータ読取可能な媒体。
  16. コンピューティングシステムにおいて、複数の機能を実行することができる単一のコマンドラインユーティリティを使用して機能を実行する方法であって、前記コマンドラインユーティリティは、前記コマンドラインユーティリティの出力を前記コマンドラインユーティリティによって実行される機能の引数として受け取ることができ、
    出力を、第1の機能を実行する前記コマンドラインユーティリティの実行の結果として生成することと、
    第2の機能を実行する際に使用するために、未変更の形式の前記出力をもとの前記コマンドラインユーティリティへパイピングすることと
    を含むことを特徴とする方法。
  17. 未変更の形式の前記出力を元の前記コマンドラインユーティリティへパイピングすることは、STDINストリームをパイピングすることを含むことを特徴とする請求項16に記載の方法。
  18. 請求項16に記載のアクトを実行するためのコンピュータ実行可能な命令を含むことを特徴とするコンピュータ読取可能な媒体。
  19. 出力を生成することは、マークアップ文書を生成することを含むことを特徴とする請求項16に記載の方法。
  20. 未変更の形式の前記出力を元の前記コマンドラインユーティリティへパイピングすることは、Webサービスを使用して前記出力を転送することを含むことを特徴とする請求項16に記載の方法。
JP2009500356A 2006-03-15 2007-02-06 コマンドラインのパイプライン化 Withdrawn JP2009530707A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/376,490 US20070240164A1 (en) 2006-03-15 2006-03-15 Command line pipelining
PCT/US2007/003122 WO2007106259A1 (en) 2006-03-15 2007-02-06 Command line pipelining

Publications (1)

Publication Number Publication Date
JP2009530707A true JP2009530707A (ja) 2009-08-27

Family

ID=38509808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009500356A Withdrawn JP2009530707A (ja) 2006-03-15 2007-02-06 コマンドラインのパイプライン化

Country Status (6)

Country Link
US (1) US20070240164A1 (ja)
EP (1) EP2011026A4 (ja)
JP (1) JP2009530707A (ja)
KR (1) KR20080106540A (ja)
CN (1) CN101405721A (ja)
WO (1) WO2007106259A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524204A (ja) * 2014-03-28 2016-08-12 小米科技有限責任公司Xiaomi Inc. アプリケーションリスト実行方法、アプリケーションリスト実行装置、プログラム及び記録媒体

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455307B (zh) * 2012-05-29 2018-02-23 腾讯科技(深圳)有限公司 对命令行输出的信息进行处理的方法和装置
CN107894918A (zh) * 2017-11-20 2018-04-10 中国银行股份有限公司 一种基于命令行脚本的was对象集成操作方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460058B2 (en) * 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US6088788A (en) * 1996-12-27 2000-07-11 International Business Machines Corporation Background completion of instruction and associated fetch request in a multithread processor
US7072934B2 (en) * 2000-01-14 2006-07-04 Saba Software, Inc. Method and apparatus for a business applications server management system platform
US6721808B1 (en) * 2000-09-13 2004-04-13 Cisco Technology, Inc. Real-time creation of distributed object shell commands
US7072946B2 (en) * 2001-05-31 2006-07-04 Juniper Networks, Inc. Network router management interface with API invoked via login stream
US6907572B2 (en) * 2001-08-10 2005-06-14 Occam Networks Command line interface abstraction engine
KR100718754B1 (ko) * 2002-01-31 2007-05-15 에이알씨 인터내셔널 길이가 다른 명령어집합 구조를 갖는 설정가능형데이터프로세서
WO2003102767A2 (en) * 2002-05-29 2003-12-11 Globespan Virata Incorporated Method and system for providing a command-line interface syntax from an xml specification
AU2003272404A1 (en) * 2002-09-16 2004-04-30 Clearcube Technology, Inc. Distributed computing infrastructure
KR100453824B1 (ko) * 2002-12-11 2004-10-20 한국전자통신연구원 이기종 네트워크 장비의 구성 관리를 위한 엑스엠엘 기반망 관리 시스템 및 방법
US20040163090A1 (en) * 2003-02-19 2004-08-19 Sun Microsystems, Inc, Method, system, and article of manufacture for a command line interface
US7526770B2 (en) * 2003-05-12 2009-04-28 Microsoft Corporation System and method for employing object-based pipelines
US20040268238A1 (en) * 2003-06-30 2004-12-30 Peiya Liu Systems and methods for processing documents using an XML-based process flow description language
US7594170B2 (en) * 2003-10-24 2009-09-22 Microsoft Corporation Mechanism for providing data driven command line output
US7318070B2 (en) * 2004-03-11 2008-01-08 International Business Machines Corporation Method and apparatus for maintaining compatibility within a distributed systems management environment with a plurality of configuration versions
US7653874B2 (en) * 2004-06-30 2010-01-26 Alcatel-Lucent Usa Inc. Methods and devices for generating XML expressed management transactions
US7698633B2 (en) * 2004-11-24 2010-04-13 Rojer Alan S Markup metalanguage

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016524204A (ja) * 2014-03-28 2016-08-12 小米科技有限責任公司Xiaomi Inc. アプリケーションリスト実行方法、アプリケーションリスト実行装置、プログラム及び記録媒体
US9740524B2 (en) 2014-03-28 2017-08-22 Xiaomi Inc. Method and terminal device for executing application chain

Also Published As

Publication number Publication date
EP2011026A4 (en) 2009-04-15
EP2011026A1 (en) 2009-01-07
WO2007106259A1 (en) 2007-09-20
US20070240164A1 (en) 2007-10-11
KR20080106540A (ko) 2008-12-08
CN101405721A (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
US8122427B2 (en) Decentralized system services
Oreizy et al. Runtime software adaptation: framework, approaches, and styles
JP5420065B2 (ja) データ・ストリーム処理アプリケーションの動的な構成
CN110716748B (zh) 业务处理方法、装置、计算机可读介质及电子设备
US20070277154A1 (en) Testing distributed components
US20040199818A1 (en) Automated testing of web services
Ezenwoye et al. TRAP/BPEL-A Framework for Dynamic Adaptation of Composite Services.
US9569292B2 (en) Remotable contracts for the web
EP2442265A2 (en) Method and server cluster for MapReducing FLOW services and large documents
CN110764752B (zh) 实现Restful服务图形化服务编排的系统及其方法
JP2011086291A (ja) システムランドスケープ対応アプリケーション間通信インフラストラクチャ
JP2009301480A (ja) サービス接続システム及びサービス接続方法
JP2022523914A (ja) レプリゼンテーショナルステートトランスファ(rest)アプリケーションプログラミングインターフェイス(api)を使用するデータ変換のための方法、システムおよびコンピュータ読取可能媒体
CN111258565A (zh) 小程序的生成方法、系统、服务器及存储介质
Abouzaid et al. A calculus for generation, verification and refinement of bpel specifications
US7849472B1 (en) System for instrumenting resources utilizing WS-management resource MBean wrappers for JAXB beans
JP2009530707A (ja) コマンドラインのパイプライン化
US8024746B2 (en) Common handler framework
Siegel et al. The Cyc System: Notes on Architecture
Ezenwoye et al. RobustBPEL-2: Transparent autonomization in aggregate web services using dynamic proxies
Pierantoni et al. Multi-grid and multi-vo job submission based on a unified computational model
WO2017124726A1 (zh) 一种北向文件生成的方法、装置及系统
Zhang et al. Web service generation through program slicing
Oussalah et al. An algorithm for web services composition and adaptation based on interface description
Kowalewski et al. An event-based approach to reducing coupling in large-scale applications

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100406