【手続補正書】
【提出日】平成20年5月12日(2008.5.12)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  記述を使用して1つまたは複数のソフトウェア拡張機能を記述するステップであって、前記拡張機能はクライアント上で実行されるソフトウェアプラットフォームに組み込まれるように構成されるステップと、
前記1つまたは複数の拡張機能の前記記述をネットワークを介して前記クライアントに配布するステップであって、前記ネットワークを介して前記ソフトウェア拡張機能のダウンロードに使用するように前記記述が構成されるステップとを備え、
前記記述するステップおよび前記配布するステップの動作は、ソフトウェアが前記ネットワークを介して配布されることを可能にするように構成されることを特徴とする方法。
【請求項２】  前記ネットワークはインターネットを備えることを特徴とする請求項1に記載の方法。
【請求項３】  前記記述はタグベースの階層型言語を備えることを特徴とする請求項1に記載の方法。
【請求項４】  前記記述はXML記述を備えることを特徴とする請求項1に記載の方法。
【請求項５】  前記ネットワークはインターネットを備え、前記記述はXML記述を備えることを特徴とする請求項1に記載の方法。
【請求項６】  前記ソフトウェア拡張機能は前記ソフトウェアプラットフォームの動作をコンテキストに基づいて変更するように構成され、前記コンテキストに基づく変更をユーザのコンピューティングコンテキストと関連付けることを特徴とする請求項1に記載の方法。
【請求項７】  前記ソフトウェアプラットフォームは複数の異なるタスクをユーザが実施できるようにする複数の異なる機能を有する単一のアプリケーションプログラムを提供するように構成されることを特徴とする請求項1に記載の方法。
【請求項８】  前記ソフトウェア拡張機能は、特定の機能と関連するタスクをユーザが遂行する方法を変更する前記複数の異なる機能のうちの1つまたは複数の機能の動作をコンテキストに基づいて変更するように構成されることを特徴とする請求項7に記載の方法。
【請求項９】  前記ソフトウェア拡張機能はユーザインターフェース要素を備えることを特徴とする請求項1に記載の方法。
【請求項１０】  前記ソフトウェア拡張機能はビヘイビア、コンポーネント、またはオブジェクトを備えることを特徴とする請求項1に記載の方法。
【請求項１１】  前記ソフトウェア拡張機能はストア要素を備えることを特徴とする請求項1に記載の方法。
【請求項１２】  前記ソフトウェア拡張機能はユーザ定義要素を備えることを特徴とする請求項1に記載の方法。
【請求項１３】  前記ソフトウェア拡張機能は
ユーザインターフェース要素、
ビヘイビア、コンポーネント、またはオブジェクト、
ストア要素、および
ユーザ定義要素のうちの1つまたは複数を備えることを特徴とする請求項1に記載の方法。
【請求項１４】  少なくとも1つの拡張機能が新しい拡張ポイントを追加する能力を備えることを特徴とする請求項1に記載の方法。
【請求項１５】  前記1つまたは複数のソフトウェア拡張機能を記述するステップは前記ソフトウェアプラットフォームへの論理的付加を記述するXMLファイルを備える拡張機能記述ファイル(EDF)を使用して前記拡張機能を記述するステップを備えることを特徴とする請求項1に記載の方法。
【請求項１６】  前記記述の1つまたは複数は拡張機能の機能性の全部または一部を実施するステップを含むことを特徴とする請求項1に記載の方法。
【請求項１７】  コンピュータ読取り可能命令を格納する1つまたは複数のコンピュータ読取り可能媒体であって、前記コンピュータシステムが命令を実行したときに、前記コンピュータシステムに、
拡張可能マークアップ言語(XML)を使用して1つまたは複数のソフトウェア拡張機能を記述することであって、単一のアプリケーションプログラムを備えるソフトウェアプラットフォームに組み込まれるように前記拡張機能を構成し、前記単一のアプリケーションプログラムはユーザが複数の異なるタスクを遂行できるようにする異なる複数の機能を有することと、
前記1つまたは複数の拡張機能のXML記述を前記インターネットを介して前記クライアントに配布することであって、前記インターネットを介して前記ソフトウェア拡張機能のダウンロードに使用するように前記記述が構成されることとを実施させ、
前記コンピュータシステムに1つまたは複数の拡張機能を記述することおよびXML記述を配布することを実施させることは、ソフトウェアが前記インターネットを介して配布されることを可能にすることを特徴とする媒体。
【請求項１８】  ネットワークを介してソフトウェアを配布する方法であって、
1つまたは複数の記述ファイルを使用して1つまたは複数のソフトウェア拡張機能を記述するステップであって、前記拡張機能がクライアント上で実行されるソフトウェアプログラムに組み込まれるように構成されるステップと、
前記1つまたは複数の記述ファイルをプログラム機能を提供するために使用可能な1つまたは複数の関連する拡張機能ファイルと関連付けるステップと、
前記記述ファイルと関連する拡張機能ファイルをネットワークアクセス可能な記憶場所に格納するステップと、
前記記述ファイルおよび前記1つまたは複数の拡張機能の関連する拡張機能ファイルをネットワークを介して前記クライアントに配布するステップとを備えることを特徴とする方法。
【請求項１９】  前記記述するステップは、前記ソフトウェアプログラムへの論理的付加の記述、およびソフトウェア拡張機能で使用される1つまたは複数の物理ファイルおよび/またはリソースの記述を含む、少なくとも1つのXMLファイルで個々のソフトウェア拡張機能を記述するステップを備えることを特徴とする請求項18に記載の方法。
【請求項２０】  前記ソフトウェア拡張機能は前記ソフトウェアアプリケーションの動作をコンテキストに基づいて変更するように構成され、前記状況に基づく変更をユーザのコンピューティングコンテキストと関連付けることを特徴とする請求項18に記載の方法。
【請求項２１】  前記ソフトウェアプログラムは複数の異なるタスクをユーザが遂行できるようにする異なる複数の機能を備え、前記1つまたは複数のソフトウェア拡張機能は特定の機能と関連するタスクをユーザが遂行する方法を変更する前記異なる機能のうちの1つまたは複数の機能の動作をコンテキストに基づいて変更するように構成されることを特徴とする請求項18に記載の方法。
【請求項２２】  前記ソフトウェアプログラムは、ユーザがナビゲートにより異なる機能を選べる単一のナビゲーション可能ウィンドウを備えることを特徴とする請求項21に記載の方法。
【請求項２３】  前記1つまたは複数のソフトウェア拡張機能はユーザインターフェース要素を備えることを特徴とする請求項18に記載の方法。
【請求項２４】  前記1つまたは複数のソフトウェア拡張機能はビヘイビア、コンポーネント、またはオブジェクトを備えることを特徴とする請求項18に記載の方法。
【請求項２５】  前記1つまたは複数のソフトウェア拡張機能はストア要素を備えることを特徴とする請求項18に記載の方法。
【請求項２６】  前記1つまたは複数のソフトウェア拡張機能はユーザ定義要素を備えることを特徴とする請求項18に記載の方法。
【請求項２７】  前記1つまたは複数のソフトウェア拡張機能は
ユーザインターフェース要素、
ビヘイビア、コンポーネント、またはオブジェクト、
ストア要素、および
ユーザ定義要素のうちの1つまたは複数を備えることを特徴とする請求項18に記載の方法。
【請求項２８】  コンピュータ読取り可能命令を格納する1つまたは複数のコンピュータ読取り可能媒体であって、コンピュータが前記命令を実行したときに、前記命令が請求項18に記載の方法を実行することを特徴とするコンピュータ読取り可能媒体。
【請求項２９】  ソフトウェアアプリケーションプログラムへの論理的付加を記述する1つまたは複数の拡張機能定義ファイル(EDF)を格納するステップと、
前記1つまたは複数のEDFに対応し、前記ソフトウェアアプリケーションプログラムを拡張する1つまたは複数の拡張機能ファイルを格納するステップと、
ネットワークを介して少なくとも1つのEDFをクライアントに配布するステップと、
前記ネットワークを介して前記少なくとも1つのEDFに対応する少なくとも1つの拡張機能ファイルをクライアントに配布するステップとを備え、
前記格納するステップの両方および前記配布するステップの両方の動作は、ソフトウェアが前記ネットワークを介して配布されることを可能にすることを特徴とする方法。
【請求項３０】  前記EDFは階層型言語で定義されることを特徴とする請求項29に記載の方法。
【請求項３１】  前記ネットワークはインターネットを備えることを特徴とする請求項29に記載の方法。
【請求項３２】  インターネットサーバで前記ファイルをホスティングすることにより前記格納動作を実施することを特徴とする請求項29に記載の方法。
【請求項３３】  前記EDFはXMLファイルを備えることを特徴とする請求項29に記載の方法。
【請求項３４】  前記XMLファイルは前記アプリケーションプログラムに追加される機能タイプと関連付けられている定義済みタグを備えることを特徴とする請求項33に記載の方法。
【請求項３５】  前記定義済みタグの1つまたは複数はユーザインターフェース要素に対応することを特徴とする請求項34に記載の方法。
【請求項３６】  前記定義済みタグの1つまたは複数はビヘイビア、コンポーネント、またはオブジェクトであるサービスに対応することを特徴とする請求項34に記載の方法。
【請求項３７】  前記定義済みタグの1つまたは複数はストア要素に対応することを特徴とする請求項34に記載の方法。
【請求項３８】  前記XMLファイルは前記アプリケーションプログラムに追加されるユーザ定義機能と関連付けられているユーザ定義タグを備えることを特徴とする請求項34に記載の方法。
【請求項３９】  コンピュータ読取り可能命令を格納する1つまたは複数のコンピュータ読取り可能媒体であって、コンピュータが前記命令を実行したときに、前記命令が請求項29に記載の方法を実施することを特徴とするコンピュータ読取り可能媒体。
【請求項４０】  コンピュータ読取り可能媒体上に実現されたデータ構造であって、
ソフトウェアアプリケーションプログラムに組み込まれるソフトウェア拡張機能を示す第1の下位構造と、
前記第1の下位構造と関連付けられ、前記アプリケーションプログラムへの拡張機能により追加される機能タイプを示す1つまたは複数の第2の下位構造と、
前記1つまたは複数の第2の下位構造と関連付けられ、前記拡張機能により追加される関連する機能タイプの機能を示す1つまたは複数の第3の下位構造とを備えることを特徴とするデータ構造。
【請求項４１】  前記1つまたは複数の第2の下位構造は前記第1の下位構造の子であることを特徴とする請求項40に記載のデータ構造。
【請求項４２】  前記1つまたは複数の第3の下位構造は前記1つまたは複数の第2の下位構造の子であることを特徴とする請求項40に記載のデータ構造。
【請求項４３】  前記1つまたは複数の第2の下位構造は前記第1の下位構造の子であり、前記1つまたは複数の第3の下位構造は前記1つまたは複数の第2の下位構造の子であることを特徴とする請求項40に記載のデータ構造。
【請求項４４】  前記下位構造はXMLタグを備えることを特徴とする請求項40に記載のデータ構造。
【請求項４５】  前記機能タイプは、
ユーザインターフェース要素、
ビヘイビア、コンポーネント、またはオブジェクト、
ストア要素、および
ユーザ定義要素の機能タイプうちの1つまたは複数を備えることを特徴とする請求項40に記載のデータ構造。
【請求項４６】  前記データ構造は拡張できるオープンXMLスキーマを備えることを特徴とする請求項40に記載のデータ構造。
【請求項４７】  前記データ構造は、第三者が拡張できるオープンXMLスキーマを備えることを特徴とする請求項40に記載のデータ構造。
【請求項４８】  ネットワークを介してソフトウェアを配布する方法であって、
少なくとも1つのソフトウェアアプリケーションプログラムを保持しているネットワークサイトにナビゲートするステップと、
前記ネットワークサイトからソフトウェアアプリケーションプログラムをダウンロードするステップであって、前記アプリケーションプログラムは異なるタスクを実施するユーザを補助することができる複数の異なる機能を備え、前記ソフトウェアアプリケーションプログラムはネットワークを介して配布可能で、少なくとも1つのネットワーク配布可能ファイルにより記述されるソフトウェア拡張機能で拡張されるように構成されるステップとを備えることを特徴とする方法。
【請求項４９】  前記アプリケーションプログラムは、複数の異なる機能の間でユーザがナビゲート可能な機能を選べる単一のナビゲーション可能ウィンドウを備えることを特徴とする請求項48に記載の方法。
【請求項５０】  前記アプリケーションプログラムに少なくとも1つの拡張機能を追加することにより前記ソフトウェアアプリケーションプログラムを拡張するステップをさらに備えることを特徴とする請求項48に記載の方法。
【請求項５１】  前記拡張するステップは、
前記拡張機能を記述する1つまたは複数のXMLファイルおよび前記拡張機能を実施するために使用される拡張機能ファイルのホストとして機能する異なるネットワークサイトにナビゲートするリンクを使用するステップと、
前記1つまたは複数のXMLファイルおよび拡張機能ファイルをクライアントにダウンロードするステップとを備えることを特徴とする請求項50に記載の方法。
【請求項５２】  前記XMLファイルのうちの1つは拡張機能を論理的に記述するファイルを備え、前記XMLファイルのうちの1つは前記拡張機能ファイルを記述するファイルを備えることを特徴とする請求項51に記載の方法。
【請求項５３】  前記リンクはユーザプリファレンスに格納されることを特徴とする請求項51に記載の方法。
【請求項５４】  コンピュータ読取り可能命令を格納する1つまたは複数のコンピュータ読取り可能媒体であって、コンピュータが前記命令を実行したときに、前記コンピュータが
少なくとも1つのソフトウェアアプリケーションプログラムを保持しているネットワークサイトにナビゲートすることと、
異なるタスクを実施するユーザを補助することができる複数の異なる機能を備えるソフトウェアアプリケーションプログラムをダウンロードすることであって、前記ソフトウェアアプリケーションプログラムはネットワークを介して配布可能で、少なくとも1つのネットワーク配布可能ファイルにより記述されるソフトウェア拡張機能で拡張されるように構成されることと、
少なくとも1つの拡張機能を前記アプリケーションプログラムに追加することにより前記ソフトウェアアプリケーションプログラムを拡張することであって、前記拡張機能は前記拡張機能を記述する1つまたは複数のファイルおよび前記拡張機能を実施するために使用される拡張機能ファイルのホストとなる異なるネットワークサイトにナビゲートするリンクを使用して追加され、前記1つまたは複数のファイルおよび前記拡張機能ファイルをクライアントにダウンロードすることとを実施することを特徴とする媒体。
【請求項５５】  1つまたは複数のソフトウェア拡張機能を取得することができ、かつその使用によりソフトウェアを配布することができるWebサイトにアクセスするステップと、
ソフトウェアアプリケーションプログラムへの前記ソフトウェア拡張機能の論理的付加を記述する階層型言語を使用して少なくとも1つのソフトウェア拡張機能を記述する少なくとも1つのファイルを受け取るステップと、
1つまたは複数のソフトウェア拡張機能ファイルを受け取るステップと、
少なくとも一部は、前記少なくとも1つのファイルに含まれている前記記述に基づき前記1つまたは複数のソフトウェア拡張機能ファイルをインストールするステップとを備えることを特徴とする方法。
【請求項５６】  前記ソフトウェア拡張機能の論理的付加を記述する前記階層型言語はタグベースの言語を備えることを特徴とする請求項55に記載の方法。
【請求項５７】  前記ソフトウェア拡張機能の論理的付加を記述する前記階層型言語は拡張可能マークアップ言語(XML)を備えることを特徴とする請求項55に記載の方法。
【請求項５８】  前記インストールするステップがクライアントレジストリまたは前記クライアントマシン上に永続的に存在するレジストリキーを操作することなくインストールを行うステップを備えることを特徴とする請求項55に記載の方法。
【請求項５９】  ソフトウェア拡張機能の更新が利用できるかどうかを判別し、もし利用できれば、更新拡張機能ファイルを受け取るステップをさらに備えることを特徴とする請求項55に記載の方法。
【請求項６０】  前記判別するステップは拡張機能カタログをポーリングするステップを備えることを特徴とする請求項59に記載の方法。
【請求項６１】  前記判別するステップはXMLファイルを備える拡張機能カタログをポーリングするステップを備えることを特徴とする請求項59に記載の方法。
【請求項６２】  コンピュータ読取り可能命令を格納する1つまたは複数のコンピュータ読取り可能媒体であって、コンピュータが前記命令を実行したときに、前記コンピュータが請求項55に記載の方法を実施することを特徴とする媒体。
【請求項６３】  1つまたは複数の拡張可能マークアップ言語(XML)ファイルを使用して1つまたは複数のソフトウェア拡張機能を記述するステップであって、前記拡張機能はクライアント上で実行されるソフトウェアプログラムに組み込まれるように構成されるステップと、
前記1つまたは複数のXMLファイルをプログラム機能を提供するために使用可能な1つまたは複数の関連する拡張機能ファイルと関連付けるステップと、
前記XMLファイルと関連する拡張機能ファイルを、ネットワークを介してアクセス可能な保存先に格納するステップとを備え、
前記記述するステップおよび前記関連付けるステップの動作は、前記ネットワークを介した転送のためにソフトウェアを提供するように構成されることを特徴とする方法。
【請求項６４】  ソフトウェアアプリケーションプログラムに組み込まれるように構成され、ネットワークを介して配布される1つまたは複数のソフトウェア拡張機能ファイルであって、ネットワークを介したソフトウェアの転送を可能にするように構成される1つまたは複数のソフトウェア拡張機能ファイルと、
前記1つまたは複数のソフトウェア拡張機能ファイルと関連付けられ、前記拡張機能ファイルを記述する1つまたは複数のファイルであって、前記ソフトウェアアプリケーションプログラムへの前記1つまたは複数のソフトウェア拡張機能ファイルの論理的付加を記述する1つまたは複数のファイルとを備えるソフトウェアファイルにアクセスすることができるネットワークサイト。
【請求項６５】  前記階層型言語は拡張可能マークアップ言語(XML)を備えることを特徴とする請求項64に記載のネットワークサイト。
【請求項６６】  ネットワークベースのソフトウェア拡張機能を管理する方法であって、
ネットワークアクセス可能な記憶場所にあるカタログに複数のソフトウェア拡張機能記述をグループとしてまとめてネットワークを介したソフトウェアの転送を可能にするステップと、
前記ネットワークアクセス可能な記憶場所にアクセスするステップと、
前記カタログを使用してコンピューティングデバイス上に常駐するソフトウェア拡張機能を更新するステップとを備えることを特徴とする方法。
【請求項６７】  前記カタログに問合せを行って拡張機能の記述を確認するステップをさらに備えることを特徴とする請求項66に記載の方法。
【請求項６８】  ユーザの個人設定に基づき前記カタログに問合せを行うステップをさらに備えることを特徴とする請求項66に記載の方法。
【請求項６９】  前記拡張機能記述はXMLで定義されることを特徴とする請求項66に記載の方法。
【請求項７０】
拡張機能を論理的に記述するXMLファイルを含む拡張機能定義ファイルを使用して1つまたは複数のソフトウェア拡張機能を記述するステップであって、前記拡張機能定義ファイルは前記ソフトウェアの拡張機能が拡張されることを許可することができるオープンスキーマを有し、前記拡張機能定義ファイルは予め定義されたタグであって、個々のものは1つまたは複数のソフトウェア拡張機能の特徴タイプと関連するタグを有し、前記スキーマは、拡張機能を定義するurn属性、ユーザが見ることのできる表示に使用することができる名前属性、前記拡張機能のバージョン番号を記述するバージョン属性、拡張機能定義ファイルが最後に変更されたのがいつであるかを記述する更新属性、および関連する拡張機能を記述する記述属性のうちの1つまたは複数を有する外部の囲みタグを有し、前記拡張機能はクライアントで実行するソフトウェアプラットフォームへの組み込みのために構成されている、ソフトウェア拡張機能を記述するステップと、
ネットワークを介して前記拡張機能定義ファイルを前記クライアントへ配布するステップであって、前記拡張機能定義ファイルは関連するソフトウェア拡張機能の前記ネットワークを介したダウンロードにおける使用のために構成される、拡張機能定義ファイルを配布するステップとを備え、
前記記述するステップおよび前記配布するステップの動作は、ソフトウェアが前記ネットワークを介して配信されることを可能にするように構成されることを特徴とする方法。