【手続補正書】
【提出日】平成26年4月16日(2014.4.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングシステムが、複数の幅評価スレッドを使用して表計算アプリケーションのテーブル内の一組のターゲット列のそれぞれの列に対して全体的な最大の列幅を決定する列調整プロセスを実行するステップであって、前記複数の幅評価スレッドは各々グラフィックスアプリケーションプログラミングインタフェースのテキストエクステントメソッドを呼び出すことにより表計算アプリケーションのセル幅を計算し、前記テキストエクステントメソッドは、他のプロセスまたは幅評価スレッドがデバイスコンテキストの読み込みまたは書き出しを行わないよう、デバイスコンテキストをロックし、該デバイスコンテキストは前記コンピューティングシステムに出力されるテキスト及び画像の属性を定義するために使用されるデータ構造体を備えており、前記一組のターゲット列は少なくとも１つの列を含み、前記複数の幅評価スレッドの使用に基づいて前記表計算アプリケーションのテーブルで前記列調整プロセスを実行するのに要する時間は、幅評価スレッドの総数に比例して短縮される、ステップと、
前記一組のターゲット列のそれぞれの列が前記列に対する前記全体的な最大の列幅に基づく幅を有するよう、前記表計算アプリケーションのテーブルをリフローするステップと  を含むことを特徴とする、コンピューティングシステムによって実行される方法。
【請求項２】
前記列調整プロセスを実行するステップは、
前記表計算アプリケーションのテーブル内の行を複数のワークユニットに分割するステップであって、前記幅評価スレッドのそれぞれが前記複数のワークユニットから１つまたは複数のワークユニットを選択し、前記１つまたは複数の選択されたワークユニット内のそれぞれの列についてローカルの最大の列幅を決定する、ステップと、
前記一組のターゲット列のそれぞれの列について、前記列に対する前記ローカルの最大の列幅のうちの最大値を識別することによって、前記全体的な最大の列幅を識別するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ワークユニットのそれぞれは、場合によっては余りのワークユニットを除いて、同じ数の行を含む請求項２に記載の方法。
【請求項４】
前記列調整プロセスを実行するステップは、前記複数のワークユニット内のワークユニットの数に基づき、および処理システム内の処理ユニットの数に基づき幅評価スレッドの適切な数を決定するステップを含み、
幅評価スレッドの数は、幅評価スレッドの前記適切な数に等しいことを特徴とする請求項２に記載の方法。
【請求項５】
前記列調整プロセスを実行する前に前記スレッドはスリープ状態であり、
前記列調整プロセスを実行するステップは前記スレッドを起こすことを含む、請求項１に記載の方法。
【請求項６】
前記列調整プロセスを実行するステップは、
前記一組のターゲット列内のセルの数が下限を超えるかどうかを判定するステップと、    
前記一組のターゲット列内のセルの前記数が前記下限を超えない場合、単一のスレッドを使用して、前記全体的な最大の列幅を決定するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記幅評価スレッドのそれぞれは、デバイスコンテキストを作成し、
前記幅評価スレッドのそれぞれは、前記幅評価スレッドによって作成された前記デバイスコンテキストを使用して、前記一組のターゲット列内のセル内のテキストの幅を評価することを特徴とする請求項１に記載の方法。
【請求項８】
前記表計算アプリケーションのテーブルのセル内の値は、１つまたは複数の外部データソース内のデータから導出され、
前記方法は、前記表計算アプリケーションのテーブルの前記セル内の前記値が前記１つまたは複数の外部データソースから更新されたときに、前記列調整プロセスを起動するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記表計算アプリケーションのテーブルをリフローするステップはネットワークを介してデータをクライアントデバイスに送信するステップを含み、前記クライアントデバイスは前記表計算アプリケーションのテーブルを表示するために前記データを利用するよう構成されていることを特徴とする請求項１に記載の方法。
【請求項１０】
前記表計算アプリケーションのテーブルをリフローするステップは、前記コンピューティングシステムのユーザーに前記表計算アプリケーションのテーブルを表示するために表示システムを使用するステップを含む請求項１に記載の方法。
【請求項１１】
前記コンピューティングシステムが、ユーザーから１つまたは複数の列選択入力を受け取るステップをさらに含み、前記１つまたは複数の列選択入力は前記一組のターゲット列の列を示すことを特徴とする請求項１に記載の方法。
【請求項１２】
１つまたは複数の処理ユニットを備える処理システムと、
表計算アプリケーションを表現するコンピュータ可読命令を格納するデータストレージシステムであって、前記コンピュータ可読命令は、前記１つまたは複数の処理ユニットによって実行されたときに、前記表計算アプリケーションを実現することを前記コンピューティングシステムに行わせ、前記表計算アプリケーションは、
複数の高さ評価スレッドを使用して表計算アプリケーションのテーブル内の、一組のターゲット行のそれぞれの行について、前記一組のターゲット行内のセルの数が下限を超えたときに、全体的な最大の行の高さを決定する行調整プロセスを実行し、前記複数の高さ評価スレッドは各々グラフィックスアプリケーションプログラミングインタフェースのテキストエクステントメソッドを呼び出すことにより表計算アプリケーションのセル幅を計算し、前記テキストエクステントメソッドは、他のプロセスまたは幅評価スレッドがデバイスコンテキストの読み込みまたは書き出しを行えないよう、デバイスコンテキストをロックし、該デバイスコンテキストは前記コンピューティングシステムに出力されるテキスト及び画像の属性を定義するために使用されるデータ構造体を備えており、前記複数の高さ評価スレッドの使用に基づいて前記表計算アプリケーションのテーブルで前記行調整プロセスを実行するのに要する時間は、高さ評価スレッドの総数に比例して短縮され、
前記一組のターゲット行のそれぞれの行が前記行に対する前記全体的な最大の行の高さに基づく高さを有するよう、前記表計算アプリケーションのテーブルをリフローする
ように構成される、データストレージシステムと
を備えることを特徴とするコンピューティングシステム。
【請求項１３】
前記表計算アプリケーションは、前記行調整プロセスの一部として
前記表計算アプリケーションのテーブル内の列を複数のワークユニットに分割し、前記高さ評価スレッドのそれぞれが前記複数のワークユニットから１つまたは複数のワークユニットを選択し、前記１つまたは複数の選択されたワークユニット内のそれぞれの行についてローカルの最大の行の高さを決定し、前記ワークユニットのそれぞれは、場合によっては余りのワークユニットを除いて、同じ数の列を含み、さらに
前記一組のターゲット行のそれぞれの行について、前記行に対する前記ローカルの最大の行の高さのうちの最大値を識別することによって、前記全体的な最大の行の高さを識別する
ことを特徴とする請求項１２に記載のコンピューティングシステム。
【請求項１４】
前記表計算アプリケーションは、前記行調整プロセスの一部として
前記複数のワークユニット内のワークユニットの数に基づき、および前記処理システム内の前記処理ユニットの数に基づき高さ評価スレッドの適切な数を決定し、
高さ評価スレッドの数は、高さ評価スレッドの前記適切な数に等しいことを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項１５】
前記表計算アプリケーションは、前記行調整プロセスの一部として
前記一組のターゲット行内のセルの数が下限を超えるかどうかを判定し、
前記一組のターゲット行内のセルの数が前記下限を超えない場合、単一のスレッドを使用して、前記全体的な最大の行の高さを決定することを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項１６】
前記高さ評価スレッドのそれぞれは、デバイスコンテキストを作成し、前記デバイスコンテキストを使用して前記一組のターゲット行内のセル内のテキストの高さを評価することを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項１７】
前記表計算アプリケーションは前記コンピューティングシステムのユーザーからの入力に応答して前記行調整プロセスを開始することを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項１８】
前記表計算アプリケーションは、表示システムを使用して、前記表計算アプリケーションのユーザーに対して前記表計算アプリケーションのテーブルを表示することを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項１９】
前記一組のターゲット行は、前記表計算アプリケーションのテーブル内の行の全部ではなく一部を含むことを特徴とする請求項１３に記載のコンピューティングシステム。
【請求項２０】
コンピュータ可読命令を格納するコンピュータ可読データ記憶媒体であって、前記コンピュータ可読命令は、コンピューティングシステムの処理システム内の１つまたは複数の処理ユニットによって実行されたときに、前記コンピューティングシステムに
グラフィカルユーザーインターフェースに表計算アプリケーションのテーブルを表示させるステップと、
前記表計算アプリケーションのユーザーから１つまたは複数の列選択入力を受け取るステップであって、前記１つまたは複数の列選択入力は前記表計算アプリケーションのテーブル内の一組のターゲット列を示し、前記一組のターゲット列は前記表計算アプリケーションのテーブル内の１つまたは複数の列を含む、ステップと、
前記一組のターゲット列内のセルの数が下限を超えるかどうかを判定するステップと、
前記一組のターゲット列内のセルの前記数が前記下限を超えない場合、前記ターゲット列に対する全体的な最大の列幅を決定するために単一のスレッドを使用するステップと、
前記一組のターゲット列内のセルの前記数が前記下限を超える場合、
前記表計算アプリケーションのテーブル内の行を複数のワークユニットに分割するアクションであって、前記ワークユニットのそれぞれは、余りのワークユニットを除いて、場合により同じ数の行を含む、アクションと、
前記複数のワークユニット内のワークユニットの数に基づき、および前記処理システム内の前記処理ユニットの数に基づき幅評価スレッドの適切な数を決定するアクションと、
複数の幅評価スレッドを起こすアクションであって、前記複数の幅評価スレッド内の幅評価スレッドの数は幅評価スレッドの前記適切な数に等しく、前記複数の幅評価スレッド内のそれぞれの幅評価スレッドは前記複数のワークユニット内の残りのワークユニットがなくなるまで
デバイスコンテキストを作成するアクションであって、前記デバイスコンテキストは前記コンピューティングシステムに出力されるテキストおよび画像の属性を定義するために使用されるデータ構造体を備えている、アクションと、
前記複数のワークユニットのうちの１つまたは複数のワークユニットを選択するアクションと、
前記デバイスコンテキストのうちの１つを使用して前記１つまたは複数の選択されたワークユニット内のセル内のテキストの幅を計算するアクションと、
前記１つまたは複数の選択されたワークユニット内の前記セル内のテキストの前記幅を使用して、前記一組のターゲット列のそれぞれの列のローカルの最大の列幅を決定するアクションと、
を実行するアクションと、
前記幅評価スレッドによって決定された前記ローカルの最大の列幅を使用して、前記一組のターゲット列に対する前記全体的な最大の列幅を決定するアクションであって、前記複数の幅評価スレッドの使用に基づいて、前記一組のターゲット列内の列数が下限を超えるときに前記アクションを実行するのに要する時間は、前記複数の幅評価スレッドにおける幅評価スレッドの数に比例して短縮され、前記複数の幅評価スレッドは各々グラフィックスアプリケーションプログラミングインタフェースのテキストエクステントメソッドを呼び出すことにより表計算アプリケーションのセル幅を計算し、前記テキストエクステントメソッドは、他のプロセスまたは幅評価スレッドがデバイスコンテキストの読み込みまたは書き出しを行えないよう、デバイスコンテキストをロックする、アクションと
を実行するステップと、
前記一組のターゲット列のそれぞれの列が前記列に対する前記全体的な最大の列幅に基づく幅を有するよう、前記表計算アプリケーションのテーブルをリフローし、それにより、前記表計算アプリケーションのテーブルを前記表計算アプリケーションのユーザーに対して表示させるステップと
を実行するように構成された表計算アプリケーションを実現させることを特徴とするコンピュータ可読データ記憶媒体。