(57)【要約】【課題】クライアント装置がサーバ装置から受信したページデータに含まれる特定のデータを再利用する際のクライアント装置のユーザの操作負荷を軽減させる。【解決手段】クライアント装置１０４は、ネットワーク１０５を通じてサーバ装置１０１からページデータを受信するネットワークＩ／Ｆ２１１と、受信したページデータを一時的に記憶するためのＲＡＭ２０８と、受信したページデータに所定のキーにひもづいたクリップボード用データが存在するか否かを判定し、クリップボード用データが存在すると判定した場合に、そのクリップボード用データをＲＡＭ２０８のクリップボード領域に記憶するＣＰＵ２０６を備える。【選択図】図４
2011221902.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じてページデータを受信する受信手段と、
前記受信手段が受信したページデータに第１のキーにひもづいたクリップボード用データが存在するか否かを判定する判定手段と、
前記判定手段が、前記クリップボード用データが存在すると判定した場合に、当該クリップボード用データを記憶装置に記憶するよう制御する制御手段と、
前記ページデータをウィンドウに表示する際、前記クリップボード用データを強調して表示する表示手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記記憶装置に前記クリップボード用データが記憶されており、且つ、前記受信手段が受信した新たなページデータに前記第１のキーが存在せず又は前記第１のキーにひもづいたクリップボード用データが存在しない場合には、前記制御手段は、前記記憶装置に記憶されているクリップボード用データの上書きを行わないよう制御することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶装置に前記クリップボード用データが記憶されている場合において前記表示手段により表示されたウィンドウがアクティブな状態となったとき、前記制御手段は、前記ウィンドウに対応するページデータに前記第１のキーにひもづいたクリップボード用データが存在する場合には、当該クリップボード用データで前記記憶装置に記憶されているクリップボード用データを上書きすることを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記記憶装置に前記クリップボード用データが記憶されており、且つ、前記記憶装置に記憶されている前記クリップボード用データに対応する前記ウィンドウが非アクティブな状態となったとき、前記制御手段は、前記記憶装置に記憶されているクリップボード用データを消去することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記第１のキーにひもづいたクリップボード用データを前記記憶装置に記憶するとき、警告を発することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記記憶装置に前記第１のキーにひもづいたクリップボード用データが記憶されている場合において、前記受信手段が予め定められた送信元から前記ページデータを受信したとき、前記制御手段は、前記記憶装置に記憶されているクリップボード用データを上書き及び消去しないことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
前記記憶装置に前記第１のキーにひもづいたクリップボード用データが記憶されている場合において、前記受信手段が受信した新たなページデータに前記第１のキーにひもづいたクリップボード用データ及び所定の第２のキーにひもづいたクリップボード用データが存在するときには、前記制御手段は、前記第２のキーのクリップボード用データに基づいて前記新たなページデータに存在する前記第１のキーにひもづいたクリップボード用データで前記記憶装置に記憶されているクリップボード用データを上書きするか否かを判定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１のキーにひもづいたクリップボード用データが画像データの格納場所を示すパスである場合、前記制御手段は、前記パスをキャッシュし、キャッシュしたパスに基づいて前記画像データを取得し、取得した前記画像データを前記記憶装置に記憶することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記制御手段は、前記受信手段が受信したページデータにリダイレクトを指定する記述があるかを検出し、前記リダイレクトを指定する記述を検出した場合には、前記ページデータに含まれる前記第１のキーにひもづいたクリップボード用データを前記記憶装置に記憶しないことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記ネットワークを介してアクセスするアクセス先のアドレス情報を入力する入力手段を更に備え、
前記制御手段は、前記アクセス先から受信したページデータに前記第１のキーにひもづいたクリップボード用データが存在する場合には、当該クリップボード用データを前記アドレス情報にひもづけて前記記憶装置に記憶し、
前記入力手段によって入力されたアクセス先のアドレス情報が前記記憶装置に既に記憶されているアドレス情報と一致する場合において、前記アクセス先から受信したデータに前記第１のキーにひもづいたクリップボード用データが存在する場合には、当該クリップボード用データを前記記憶装置に記憶しないことを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記受信手段が受信したページデータに複数の前記第１のキーが存在する場合に、複数の前記第１のキーにそれぞれひもづいたクリップボード用データをリストとして表示するリスト表示手段と、
前記リスト表示手段に表示された複数の前記クリップボード用データのうち１つを指定するための指定手段とを更に有し、
前記制御手段は、前記指定手段により指定されたクリップボード用データを前記記憶装置に記憶することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記リスト表示手段は、前記受信手段が受信したページデータに複数の前記第１のキーが存在する場合、前記データの送信元を示すアドレス情報と複数の前記第１のキー及び前記第１のキーにひもづいたクリップボード用データを階層的に表示することを特徴とする請求項１１記載の情報処理装置。
【請求項１３】
情報処理装置を制御する制御方法であって、
ネットワークを通じてページデータを受信する受信ステップと、
前記受信ステップで受信したページデータに第１のキーにひもづいたクリップボード用データが存在するか否かを判定する判定ステップと、
前記判定ステップにおいて前記クリップボード用データが存在すると判定された場合に、当該クリップボード用データを記憶装置に記憶するよう制御する制御ステップと、
前記ページデータをウィンドウに表示する際、前記クリップボード用データを強調して表示する表示ステップと、を有することを特徴とする制御方法。
【請求項１４】
コンピュータに、
ネットワークを通じてページデータを受信する受信ステップと、
前記受信ステップで受信したページデータに第１のキーにひもづいたクリップボード用データが存在するか否かを判定する判定ステップと、
前記判定ステップにおいて前記クリップボード用データが存在すると判定された場合に、当該クリップボード用データを記憶装置に記憶するよう制御する制御ステップと、
前記ページデータをウィンドウに表示する際、前記クリップボード用データを強調して表示する表示ステップと、を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関し、特に、クライアント装置がサーバ装置から提供されるページデータに含まれる特定のデータをクリップボードに保存するための技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータ等のクライアント装置で動作するアプリケーションプログラムの操作画面上に表示された文字列や画像等のようなオブジェクトを記憶する技術として、所謂、クリップボードを用いる技術が知られている。例えば、ユーザがクライアント装置を操作して、アプリケーションプログラムの操作画面上に表示されたオブジェクトを選択し、コピーする操作を行うと、コピーされたオブジェクトがクリップボードと呼ばれるメモリ上の領域に記憶される。そして、ユーザがコピーされたオブジェクトを利用したい場所でペースト操作を行うと、クリップボードに保存されているオブジェクトが利用先に出現する（特許文献１参照）。
【０００３】
このとき、ＯＳ（Operating System）上のクリップボードに、選択対象とされたオブジェクトを保存することで、異なるアプリケーションプログラムからクリップボードに保存されたオブジェクトにアクセスすることができる。つまり、単一のアプリケーションだけでなく、異なったアプリケーションでのオブジェクトの再利用が可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１４６８６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来方法では、クライアント装置のユーザは、アプリケーションプログラムの操作画面に表示されたオブジェクトを再利用する際に、対象オブジェクトを選択し、コピーし、再利用先でペーストするという複数の操作を行う必要がある。つまり、クライアント装置のユーザにとって操作が煩雑であるという問題がある。
【０００６】
本発明は、クライアント装置がサーバ装置から受信したページデータに含まれる特定のデータを再利用する際のクライアント装置のユーザの操作負荷を軽減させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、ネットワークを通じてページデータを受信する受信手段と、前記受信手段が受信したページデータに第１のキーにひもづいたクリップボード用データが存在するか否かを判定する判定手段と、前記判定手段が、前記クリップボード用データが存在すると判定した場合に、当該クリップボード用データを記憶装置に記憶するよう制御する制御手段と、前記ページデータをウィンドウに表示する際、前記クリップボード用データを強調して表示する表示手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、クライアント装置のユーザがオブジェクトを再利用する際のユーザの操作負荷を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る情報処理装置の例であるクライアント装置を有する情報処理システムの概略構成を示すブロック図である。
【図２】図１に示されるクライアント装置のハードウェアの概略構成を示すブロック図である。
【図３】第１実施形態に係るクライアント装置がサーバ装置から受信するｈｔｍｌデータの例を模式的に示す図である。
【図４】図３に示されるｈｔｍｌデータに従ってＷｅｂブラウザプログラムのウィンドウに表示されるＵＩ画面の例を示す図である。
【図５】図１に示されるクライアント装置で実行される、ｈｔｍｌデータのクリップボード用データをクリップボードに自動的にコピーする処理のフローチャートである。
【図６】（ａ）は、複数のクリップボード用データを設定しているｈｔｍｌデータの内容例を示す図であり、（ｂ）は、（ａ）のｈｔｍｌデータに関して本発明の第２実施形態に係るクライアント装置のディスプレイに表示されるクリップボード管理アプリケーションのウィンドウの例を示す図である。
【図７】第２実施形態に係るクライアント装置がクリップボード管理アプリケーションプログラムにしたがって実行するクリップボード用データの処理のフローチャートである。
【図８】第２実施形態に係クライアント装置でクリップボード用データのリストに存在する文字列を実際に利用する処理のフローチャートである。
【図９】第３実施形態に係るクライアント装置で動作するクリップボード管理アプリケーションがサーバ装置から受信したｈｔｍｌデータに関してクライアント装置のディスプレイに表示する表示するウィンドウの例を示す図である。
【図１０】第３実施形態に係るクライアント装置での、サーバ装置から受信したｈｔｍｌデータに存在するクリップボード用データの処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付図面を参照して詳細に説明する。本実施形態では、本発明を、クライアントパーソナルコンピュータ端末（クライアント装置）上のブラウザアプリケーションがインターネットサーバ（サーバ装置）からデータ受信を行う際の処理に適用した場合について説明することとする。
【００１１】
＜第１実施形態＞
図１は、第１実施形態に係る情報処理装置としてのクライアント装置及びサーバ装置を有する情報処理システムの概略構成を示すブロック図である。この情報処理システムは、サーバ装置１０１，１０２，１０３とクライアント装置１０４とを有しており、サーバ装置１０１〜１０３とクライアント装置１０４とは、インターネット等のネットワーク１０５を経由して通信可能となっている。なお、情報処理システムを構成するサーバ装置１０１及びクライアント装置１０４の数は、図１に示される台数に限定されるものではなく、より多くのサーバ装置及びクライアント装置を備えていてもよい。
【００１２】
クライアント装置１０４は、ユーザの操作により、Ｗｅｂブラウザプログラムを起動し、ユーザの操作によって入力されたＵＲＬ（Uniform Resource Locator）に基づいて、例えば、サーバ装置１０１へアクセスする。クライアント装置１０４は、ｈｔｍｌ等のページ記述言語で記述されたページデータ（ｈｔｍｌデータ）をアクセスしたサーバ装置１０１から受信し、画像や文字列等のオブジェクトをＷｅｂブラウザプログラムの操作画面に表示する。
【００１３】
図２は、クライアント装置１０４のハードウェアの概略構成を示すブロック図である。クライアント装置１０４は、ディスプレイ２０１、ＶＲＡＭ２０２、ＢＭＵ２０３、キーボード２０４、ＰＤ２０５、ＣＰＵ２０６、ＲＯＭ２０７、ＲＡＭ２０８、ＨＤＤ２０９、ＦＤＤ２１０、ネットワークＩ／Ｆ２１１を有する。
【００１４】
ディスプレイ２０１は、例えば、液晶ディスプレイ（ＬＣＤ）であり、例えば、編集中の文書や図形、画像その他の編集情報、アイコン、メッセージ、メニュー、その他のユーザインタフェース情報が表示される。ＶＲＡＭ２０２では、ディスプレイ２０１に表示するための画像データが生成され、ＶＲＡＭ２０２で生成された画像データは、所定の規定に従ってディスプレイ２０１に転送され、ディスプレイ２０１に画像が表示される。
【００１５】
ＢＭＵ（ビットムーブユニット）２０３は、例えば、メモリ間（例えば、ＶＲＡＭ２０２と他のメモリとの間）のデータ転送や、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークＩ／Ｆ２１１）との間のデータ転送を制御する。キーボード２０４は、文書等を入力するための各種キーを有する。ＰＤ（ポインティングデバイス）２０５は、例えば、ディスプレイ２０１に表示されたアイコン、メニューその他のコンテンツの指示、オブジェクトのドラッグ＆ドロップ操作等に使用される。
【００１６】
ＣＰＵ２０６は、ＲＯＭ２０７やＨＤＤ２０９、ＦＤＤ２１０に格納されたプログラムを実行してクライアント装置１０４を構成する各デバイスを制御することによりクライアント装置１０４の全体的な制御を行い、更に必要な情報処理を行う。ＲＯＭ２０７は、クライアント装置１０４で実行される各種の制御プログラムやデータを保存する。ＲＡＭ２０８は、データを一時的に記憶する記憶手段であり、ＣＰＵ２０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域、クリップボード領域等を有する。
【００１７】
ＨＤＤ（ハードディスクドライブ）２０９は、クライアント装置１０４内で実行される各制御プログラムやコンテンツを格納する。例えば、ＨＤＤ２０９には、ブラウザ、電子アルバムデータ、電子アルバム編集プログラム等が格納される。ＦＤＤ（フレキシブルディスクドライブ）２１０は、フロッピー（登録商標）等に代表される記憶媒体に対するアクセスを制御する。
【００１８】
ネットワークＩ／Ｆ２１１は、サーバ装置１０１〜１０３や不図示の他のクライアント装置、不図示のプリンタ等とネットワーク１０５を介して通信を行う。ＣＰＵバス２１２は、アドレスバス、データバス及びコントロールバスを含む。ＣＰＵ２０６に対する制御プログラムの提供は、ＲＯＭ２０７、ＨＤＤ２０９、ＦＤＤ２１０から行うこともできるし、ネットワークＩ／Ｆ２１１を介してネットワーク経由で他のクライアント装置等から行うこともできる。なお、サーバ装置１０１〜１０３のハードウェア構成は、基本的に、クライアント装置１０４のハードウェア構成と同様である。
【００１９】
クライアント装置１０４のＣＰＵ２０６が実行する第１の制御プログラムは、複数のアプリケーションプログラムを管理を行うアプリケーション管理制御プログラムである。ＣＰＵ２０６は、アプリケーション管理制御プログラムに従って、キーボード２０４、ＰＤ２０５からの入力を制御し、管理し、管理下のアプリケーションに対する入力処理を行う。また、ＣＰＵ２０６は、アプリケーション管理制御プログラムに従って、管理下のアプリケーションからのＨＤＤ２０９、ＦＤＤ２１０及びネットワークＩ／Ｆ２１１に対するアクセス制御を行う。更に、ＣＰＵ２０６は、アプリケーション管理制御プログラムに従って、管理下のアプリケーションからの要求に合わせて、ＶＲＡＭ２０２への処理とディスプレイ２０１への表示処理を行う。ＣＰＵ２０６はまた、アプリケーション管理制御プログラムに従って、管理下のアプリケーションからのメモリ要求に従って、ＲＡＭ２０８とＨＤＤ２０９を組み合わせて、管理下のアプリケーションに対するメモリ管理を行う。ここで、管理下のアプリケーションからのメモリ要求には、クリップボードへの記憶要求が含まれる。以下、アプリケーション管理制御プログラムは、オペレーティングシステム（以下「ＯＳ」と表記する）が備えるプログラムであるとして説明を行うこととする。
【００２０】
クライアント装置１０４のＣＰＵ２０６が実行する第２の制御プログラムは、ＯＳ上で動作するアプリケーションプログラムであり、ＣＰＵ２０６は、ＯＳに指示され、且つ、ＯＳ上で動作をするアプリケーションプログラムに従う処理を行う。以下の説明においては、アプリケーションプログラムはブラウザアプリケーションプログラムであるとする。ブラウザアプリケーションは、第１実施形態に係るクライアント装置１０４で実行される好適な例のプログラムの１つである。
【００２１】
図３は、クライアント装置１０４がサーバ装置から受信するｈｔｍｌデータの例を模式的に示す図である。ここでは、クライアント装置１０４は、サーバ装置１０１にアクセスし、サーバ装置１０１からｈｔｍｌデータ３０１を受信するものとする。クライアント装置１０４は、ｈｔｍｌデータ３０１に従って、ディスプレイ２０１に表示されるＷｅｂブラウザプログラムのウィンドウにＵＩ画面を表示する。図４は、クライアント装置１０４のディスプレイ２０１に表示されるＷｅｂブラウザのＵＩ画面の例である。このＵＩ画面については、後に詳細に説明する。
【００２２】
クライアント装置１０４はまた、ｈｔｍｌデータ３０１に記述されたクリップボード用データを抽出し、ＲＡＭ２０８のクリップボード領域（以下、単に「クリップボード」と表記する）に記憶する。なお、以下の説明において、「クリップボードにクリップボード用データを記憶する」ことを、適宜、「クリップボードへクリップボード用データをコピーする」と表記する。
【００２３】
ｈｔｍｌデータ３０１には、ｈｔｍｌタグ（＜ｈｔｍｌ＞）に、所定の規定が追加されている。すなわち、クリップボードにコピーする文字列を特定するために、＜ＭＥＴＡ＞タグに“Clipboardvalue”の規定が追加されている。
【００２４】
クライアント装置１０４のＣＰＵ２０６は、Ｗｅｂブラウザプログラムに従って、ｈｔｍｌデータ３０１を解析し、所定のキー（第１のキー）にひもづいたデータ値が存在するか否かを判定する。具体的には、図３に示される“clipboardvalue”に対応する“content”が第１のキーとなる。そして、この“content”に設定されたデータ値の“http://abc.com/camerax/index.html”をクリップボード用データとして抽出する。こうして抽出されたクリップボード用データは、クリップボードにコピーされる。以下、第１のキーにひもづいたデータ値を「Ｋｅｙ１」と表記するものとする。
【００２５】
クライアント装置１０４は、ｈｔｍｌデータ３０１に対応するＵＩ画面４０１（図４参照）がアクティブになったときに、そのクリップボード用データをクリップボードにコピーする。これにより、複数のウィンドウがアクティブ／非アクティブの間で頻繁に切り替わる場合でも、クリップボードにコピーされている文字列がどのウィンドウに対応するｈｔｍｌデータで指定された文字列なのかを判別できなくなることを防ぐことができる。
【００２６】
例えば、Ｋｅｙ１として文字列“ａａａ”が設定されているｈｔｍｌデータに基づくＵＩ画面のウィンドウがアクティブ状態になると、クリップボードには文字列“ａａａ”がコピーされる。その後、Ｋｅｙ１として文字列“ｂｂｂ”が設定されているｈｔｍｌデータに基づくＵＩ画面のウィンドウがアクティブ状態に切り替わると、クリップボードには文字列“ｂｂｂ”が上書きによりコピーされる（つまり、書き換えられる）。なお、単一のウィンドウしか開くことができないＷｅｂブラウザプログラムの場合、サーバ装置１０１へアクセスしてｈｔｍｌデータを受信した時点で、クリップボード用データをクリップボードにコピーしてもよい。
【００２７】
次に、クライアント装置１０４がサーバ装置１０１にアクセスしてｈｔｍｌデータ３０１を受信した後、ｈｔｍｌデータ３０１に存在するクリップボード用データをクリップボードに自動的にコピーする処理について、図５を参照して説明する。図５は、クライアント装置１０４で実行される、ｈｔｍｌデータ３０１のクリップボード用データをクリップボードに自動にコピーする処理のフローチャートである。図５に示される各処理は、クライアント装置１０４のＣＰＵ２０６が、ＷｅｂアプリケーションプログラムやＯＳを起動し、実行することによって実現される。
【００２８】
最初に、クライアント装置１０４は、サーバ装置１０１へアクセスしてｈｔｍｌデータ３０１を受信し、ｈｔｍｌデータ３０１のＵＩ画面４０１に対応するウィンドウをアクティブにする。なお、クライアント装置１０４は、既にｈｔｍｌデータ３０１を受信しているが、ｈｔｍｌデータ３０１のＵＩ画面４０１に対応するウィンドウが非アクティブとなっている場合、このウィンドウをアクティブにする。
【００２９】
ｈｔｍｌデータ３０１のＵＩ画面４０１に対応するウィンドウがアクティブになると、クライアント装置１０４のＣＰＵ２０６は、サーバ装置１０１へのアクセスに利用したＵＲＬが除外ＵＲＬであるか否かを判定する（ステップＳ５０１）。ここで、ユーザは、クリップボード用データをクリップボードに自動的にコピーしないサイトのＵＲＬを予め指定しており、ＣＰＵ２０６は、指定されたＵＲＬをリストとしてＲＡＭ２０８に記憶している。これにより、不要なサイトからのクリップボード用データによって、クリップボードに既にコピーされているクリップボード用データであって必要なサイトのクリップボード用データが上書きにより消去されることを防ぐことができる。
【００３０】
除外ＵＲＬと判定された場合（Ｓ５０１で“ＹＥＳ”）、処理はステップＳ５０９に進められる。一方、除外ＵＲＬではない判定された場合（Ｓ５０１で“ＮＯ”）、処理はステップＳ５０２に進められる。
【００３１】
ステップＳ５０２では、ＣＰＵ２０６は、ｈｔｍｌデータ３０１の中のＫｅｙ１にクリップボード用データが設定されているか否かを判定する。この判定には、Ｋｅｙ１の記述自体が存在するか否かの判定も含まれる。クリップボード用データが存在する場合（Ｓ５０２で“ＹＥＳ”）、処理はステップＳ５０６に進められ、クリップボード用データが存在しない場合（Ｓ５０２で“ＮＯ”）、処理はステップＳ５０３に進められる。
【００３２】
ステップＳ５０３では、ＣＰＵ２０６は、クリップボード用データを代用する文字列が存在するか否かを判定する。例えば、ｈｔｍｌデータ３０１の＜ｔｉｔｌｅ＞タグに記述されてあるデータを代用する（図３参照）。そのため、ＣＰＵ２０６は、＜ｔｉｔｌｅ＞タグにデータが存在するか否かを判定する。
【００３３】
代用する文字列が存在する場合（Ｓ５０３で“ＹＥＳ”）、ＣＰＵ２０６は、＜ｔｉｔｌｅ＞タグに記述されているデータをクリップボード用データとして取得する（ステップＳ５０４）。一方、代用する文字列が存在しない場合（Ｓ５０３で“ＮＯ”）、ＣＰＵ２０６は、空データをクリップボード用データとする（ステップＳ５０５）。これにより、非アクティブなウィンドウに表示されたＵＩ画面に対応するｈｔｍｌデータのクリップボード用データを消去することができる。なお、ステップＳ５０３でクリップボード用データを代用する文字列が存在しない場合、ステップＳ５０５をスキップして後述のステップＳ５０９へ進むようにしても構わない。このような構成により、クリップボードが空データになることを防ぐことができる。
【００３４】
ステップＳ５０２の判定が“ＹＥＳ”の場合及びステップＳ５０４，Ｓ５０５が終了すると、ＣＰＵ２０６は、クリップボード用データをクリップボードへ上書きする前に警告を行うか否かを判定する（ステップＳ５０６）。ここで、警告を行うか否かの設定は、事前にユーザが選択し、クライアント装置１０４のＲＡＭ２０８等に記憶されている。警告しない場合（Ｓ５０６で“ＮＯ”）、処理はステップＳ５０８へ進められ、ＣＰＵ２０６はクリップボード用データをクリップボードに上書きする。警告する場合（Ｓ５０６で“ＹＥＳ”）、ＣＰＵ２０６は、処理をステップＳ５０７へ進める。
【００３５】
なお、ここでは、事前の設定内容に従ってクリップ用データをクリップボードに上書きするか否かの警告を行うとしたが、別の条件に従って警告が行われるようにしてもよい。例えば、Ｋｅｙ１に設定されているクリップボード用データの文字列長が予め定められた一定の長さを超える場合に警告が発せられるようにしてもよい。また、ユーザは、警告を行うか否かの他に、クリップボード用データをクリップボードに自動的にコピーするか否かについて、また、クリップボード用データを取得したときにクリップボードを表示するか否かについて、設定することができるようにしてもよい。さらに、文字列長が予め定められた一定の長さを超えているクリップボード用データはクリップボードに保存されないように設定することができるようにしてもよい。
【００３６】
ステップＳ５０７では、ＣＰＵ２０６は警告画面を表示し、ユーザがクリップボード用データのクリップボードへの上書きを許可したか否かを判定する。上書きが許可されなかった場合（Ｓ５０７で“ＮＯ”）、クリップボード用データはクリップボードに上書きされずに、処理はステップＳ５０９へ進められる。一方、上書きが許可された場合（Ｓ５０７で“ＹＥＳ”）、ＣＰＵ２０６は処理をステップＳ５０８へ進め、ステップＳ５０８では、クリップボード用データがクリップボードに上書きされる。
【００３７】
ステップＳ５０９では、ＣＰＵ２０６は、サーバ装置１０１から受信したｈｔｍｌデータ３０１に基づいて、ディスプレイ２０１上にて、ＵＩ画面４０１（図４参照）をＷｅｂブラウザのウィンドウに表示する。図４に示されるＵＩ画面４０１では、マーク４０２，４０３が所定の表示欄に表示されており、これらのマーク４０２，４０３は、ＵＩ画面４０１がクリップボード用データが存在するＵＩ画面であることを強調表示している。また、クリップボード用データと一致する文字列がＵＩ画面４０１上に存在する場合に、その文字列が枠４０４で囲まれて、強調表示されている。
【００３８】
上記形態では、ステップＳ５０１の処理に関して、クリップボード用データを受け付けないサイトをユーザが予め指定することができるとした。これに対し、サーバ装置１０１の運営者の意思により、他のｈｔｍｌデータのクリップボード用データを上書きしないようにしたい場合がある。
【００３９】
この場合、ｈｔｍｌデータにタグの規定を更に追加し、クリップボードに既に他のｈｔｍｌデータのクリップボード用データがコピーされている場合には、これが上書きされずに残されることを指示するためのキー（第２のキー）を設定すればよい。例えば、第２のキーにひもづいたデータ値（Ｋｅｙ２）の値が“ＮＯ”である場合、ＣＰＵ２０６は、クリップボードにコピーされているデータを、ｈｔｍｌデータのＫｅｙ１のクリップボード用データや空データで上書きしない。そして、ＣＰＵ２０６は、Ｋｅｙ１のクリップボード用データをクリップボードに追加してコピーする。このように、ＣＰＵ２０６が、Ｋｅｙ２に設定された文字列にしたがって、クリップボードにコピーされているデータを上書きするか否かを判定するように、クライアント装置１０４を構成することができる。
【００４０】
こうしてクリップボードにクリップボード用データをコピーした後、ユーザが再利用したい場所でペースト操作を行うと、クリップボードにコピーされたクリップボード用データが再利用先に出現する。
【００４１】
上記形態では、Ｋｅｙ１に設定された文字列自体をクリップボードにコピーする構成としたが、クリップボード用データは文字列に限られず、画像であってもよい。この場合、Ｋｅｙ１には、画像の格納場所を示すパスが設定され、ＣＰＵ２０６は、Ｋｅｙ１のパスをキャッシュし、キャッシュしたパスに基づいて画像をダウンロードし、クリップボードへコピーする。
【００４２】
＜第２実施形態＞
第１実施形態では、クリップボードにコピーされるオブジェクトの数は、基本的に１つであるが、追加してコピーすることによって複数のオブジェクトがクリップボードにコピーされる構成についても説明した。ここで、第１実施形態では、１つのｈｔｍｌデータにはクリップボード用データは１つであることを前提としている。そこで、第２実施形態では、１つのｈｔｍｌデータに複数のクリップボード用データが存在する場合に、これら複数のクリップボード用データをクリップボードにコピーする構成について説明する。
【００４３】
図６（ａ）は、複数のクリップボード用データが設定されているｈｔｍｌデータの例を示す図である。図６（ｂ）は、図６（ａ）のｈｔｍｌデータに関して、クライアント装置１０４のディスプレイ２０１に表示されるクリップボード管理アプリケーションのウィンドウの例を示す図である。
【００４４】
図６（ａ）に示されるように、ｈｔｍｌデータ６０１のタグには２つの第１のキーと、これらに対応するクリップボード用データであるデータ値６０２，６０３が設定されている。クライアント装置１０４は、ｈｔｍｌデータ６０１を受信すると、ディスプレイ２０１にクリップボード管理アプリケーションのウィンドウ６０４を表示する。このウィンドウ６０４のリスト領域６０５の第１リスト６０６と第２リスト６０７にクリップボード用データがリスト表示されており、第３リスト以降には対応するクリップボード用データが存在していない。
【００４５】
なお、ウィンドウ６０４は、ユーザが指定したクリップボード用データをクリップボードにコピーする指示を行うためのボタン６０８と、クリップボード用データを削除するためのボタン６０９と、ウィンドウ６０４を閉じるためのボタン６１０を有している。
【００４６】
図７は、クライアント装置１０４がクリップボード管理アプリケーションプログラムを起動し、クリップボード用データを処理する流れを示すフローチャートである。図７に示される処理は、クライアント装置１０４のＣＰＵ２０６が、ＯＳやＷｅｂブラウザプログラム、クリップボード管理アプリケーションを起動、実行することによって実現される。ここでは、クライアント装置１０４はサーバ装置１０１にアクセスして、サーバ装置１０１から所定のデータを受信するものとする。
【００４７】
最初に、ＵＲＬリクエストが行われる（ステップＳ６０１）。すなわち、ユーザが、クライアント装置１０４上のＷｅｂブラウザプログラムのウィンドウにアクセス先のサーバ装置１０１のアドレス情報であるＵＲＬを入力すると、クライアント装置１０４はサーバ装置１０１へアクセスする。クライアント装置１０４のＣＰＵ２０６は、ユーザが入力したＵＲＬ（リクエストＵＲＬ）をＲＡＭ２０８に保持する（ステップＳ６０２）。
【００４８】
ステップＳ６０１のＵＲＬリクエストにより、サーバ装置１０１はＵＲＬリクエストに応じたｈｔｍｌデータをクライアント装置１０４へ返す。クライアント装置１０４はサーバ装置１０１からｈｔｍｌデータを受信し、ＣＰＵ２０６は、受信したｈｔｍｌデータの内容を解析し（ステップＳ６０３）、受信したｈｔｍｌデータにリダイレクトを指定する記述があるか否かを判定する（ステップＳ６０４）。
【００４９】
リダイレクトの指定を検出した場合（Ｓ６０４で“ＹＥＳ”）、ＣＰＵ２０６は、受信したｈｔｍｌデータに第１のキーにひもづいたデータ値であるクリップボード用データが存在していても、そのクリップボード用データをクリップボードにコピーしない。そして、ＣＰＵ２０６は、リダイレクト先のＵＲＬへＵＲＬリクエストを送付し、リダイレクト先からのレスポンスを待つためにステップＳ６０３に戻る。リダイレクトの指定を検出しない場合（Ｓ６０４で“ＮＯ”）、ＣＰＵ２０６は、ｈｔｍｌデータの中にクリップボード用データが存在するか否かを確認する（ステップＳ６０５）。クリップボード用データが存在しない場合（Ｓ６０５で“ＮＯ”）、ＣＰＵ２０６は処理を終了させる。一方、クリップボード用データが存在する場合（Ｓ６０５で“ＹＥＳ”）、ＣＰＵ２０６は処理をステップＳ６０６に進める。
【００５０】
ステップＳ６０６において、ＣＰＵ２０６は、ｈｔｍｌデータに含まれるクリップボード用データを取り出す。そして、ＣＰＵ２０６は、ステップＳ６０２でＲＡＭ２０８に記憶したリクエストＵＲＬと、ステップＳ６０６でｈｔｍｌデータから取り出したクリップボード用データとをひもづけて、ＲＡＭ２０８に記憶する（ステップＳ６０７）。その後、ＣＰＵ２０６は、サーバ装置１０１へのアクセスに用いられたリクエストＵＲＬと一致するＵＲＬが、既にＲＡＭ２０８に保持されているリクエストＵＲＬの中に存在するか否かを確認する（ステップＳ６０８）。
【００５１】
リクエストＵＲＬと一致するＵＲＬがＲＡＭ２０８に記憶されていない場合（Ｓ６０８で“ＮＯ”）、処理はステップＳ６１１へ進められる。ステップＳ６１１では、ＣＰＵ２０６は、ステップＳ６０６で取り出したクリップボード用データをクリップボードにコピーする。こうして、クリップボード用データは、ウィンドウ６０４のリストに追加され、そのリストがＲＡＭ２０８に記憶される。続いて、ＣＰＵ２０６は、ＲＡＭ２０８に記憶したリストをリスト領域６０５に表示し（ステップＳ６１２）、その後、処理を終了させる。
【００５２】
一方、一致するＵＲＬが記憶されている場合（Ｓ６０８で“ＹＥＳ”）、処理はステップＳ６０９へ進められる。ステップＳ６０９では、ＣＰＵ２０６は、ステップＳ６０６で取り出したクリップボード用データがＲＡＭ２０８に既に記憶されているクリップボード用データと一致するか否か（つまり、ＲＡＭ２０８に既に存在するか否か）を判定する。クリップボード用データが既に存在する場合（Ｓ６０９で“ＹＥＳ”）、ＣＰＵ２０６は処理を終了させる。一方、クリップボード用データが存在しない場合（Ｓ６０９で“ＮＯ”）、処理はステップＳ６１０に進められる。
【００５３】
ステップＳ６１０では、ステップＳ６０８で検出したリクエストＵＲＬにひもづけられているクリップボード用データを、ステップＳ６０６で取得したクリップボード用データに上書きしてこれを書き換え、そのリストを保存する。ＣＰＵ２０６は、保存したリストをリスト領域６０５に表示し（ステップＳ６１２）、その後、処理を終了させる。
【００５４】
ステップＳ６１２の処理によって、サーバ装置１０１から取得したクリップボード用データのリストがクリップボード管理アプリケーションのウィンドウ６０４のリスト領域６０５に表示される。これにより、ユーザは表示されたリスト（図６（ｂ）の場合、第１リスト６０６と第２リスト６０７）から、利用したい文字列を容易に指定することができ、ＯＳが管理するクリップボードにコピーすることができるようになる。
【００５５】
図８は、クリップボード用データのリストに存在する文字列を実際に利用する処理のフローチャートである。ユーザは、クリップボード管理アプリケーションのウィンドウ６０４のリスト領域６０５の中から利用したい文字列をＰＤ２０５を操作して指定する（ステップＳ７０１）。ＣＰＵ２０６は、ステップＳ７０１の処理が実行されたことを検知すると、ステップＳ７０１で指定された文字列をＯＳのクリップボードにコピーする（ステップＳ７０２）。なお、ステップＳ７０１において、ユーザは、単に文字列を指定するだけでなく、ボタン６０８が押下されることを検知するようにしてもよい。
【００５６】
続いて、ＣＰＵ２０６は、ＯＳのクリップボードにコピーされた文字列のペースト処理をユーザが指示したことを検知すると、クリップボードから該当するクリップボード用データを読み出し、ペースト先に出力する（ステップＳ７０３）。ここで、ペースト処理を指示する方法としては、ユーザが、予めペーストコマンドが割り当てられたキーボード２０４のキーを操作する方法等を用いることができる。
【００５７】
なお、図７のステップＳ６１２でリストを表示した後、ＯＳのクリップボードにそのリストを自動的にコピーするようにしてもよい。その場合、図８のステップＳ７０１でのユーザによる文字列のリストからの指定が不要となる。すなわち、クライアント装置１０４がＷｅｂブラウザを利用してサーバ装置１０１へアクセスするだけで、リストに含まれる全てのクリップボード用データがＯＳのクリップボードに自動的にコピーされる。この構成では、リストの中の一部を利用するということはできないが、ユーザが文字列を指定する操作が不要になるので、リスト中の文字列を全て利用したい場合には、ユーザの操作がより簡便になるという利点がある。
【００５８】
以上の通り、第２実施形態では、ユーザは、サーバ装置１０１から提供され、クリップボード管理アプリケーションによってクリップボードにコピーされた文字列を、所望のペースト先で簡単に利用することができる。
【００５９】
＜第３の実施形態＞
第３実施形態では、複数のクリップボード用データを同時にまとめてクリップボードにコピーする場合に、複数のクリップボード用データを階層構造で管理し、一覧表示する構成について説明する。
【００６０】
第３実施形態では、クライアント装置１０４は、クリップボード管理アプリケーションを常駐させて起動しており、ｈｔｔｐ等の標準のプロトコルで規定されたデータをＷｅｂブラウザと同様に受信することができる。また、クライアント装置１０４は、Ｗｅｂブラウザを使ってサーバ装置１０１へアクセスし、サーバ装置１０１からのレスポンスがある度に、クリップボード管理アプリケーションもまたサーバ装置１０１からのレスポンスを受信する。
【００６１】
図９は、クライアント装置１０４で動作するクリップボード管理アプリケーションがサーバ装置１０１から受信したｈｔｍｌデータに関してディスプレイ２０１に表示するウィンドウの例を示す図である。
【００６２】
ウィンドウ９０１は、ｈｔｍｌデータを表示するためのリスト領域９０２を有している。ウィンドウ９０１が有するボタン９０６，９０７はそれぞれ、図６（ｂ）に示されるボタン６０９，６１０と同じである。
【００６３】
クリップボード管理アプリケーションは、自身が管理するｈｔｍｌデータに含まれる文字列をＯＳのクリップボードにコピーする手段として２種類の手段を提供している。１つの方法は、選択された文字列をそのままＯＳのクリップボードにコピーする方法であり、ボタン９０４の押下により実行される。別の方法は、同じキーのものをまとめてクリップボードにコピーする方法であり、ボタン９０５の押下により実行される。その具体例については、後に図１０を参照した説明の際に併せて説明する。
【００６４】
第３実施形態では、サーバ装置１０１から受信したｈｔｍｌデータのタグに複数のキーとデータ値とが設定されている。図９の場合、Ｋｅｙ１に関しては、「タイトル」としてＶａｌｕｅ１の「ＸＸＸのホームページ」がクリップボードにコピーされる。Ｋｅｙ２とＶａｌｕｅ２についても同様であり、Ｋｅｙ２に関しては、「商品名」として「ＡＢＣＤＥ」がクリップボードにコピーされる。以下、Ｋｅｙにひもづいたデータ値を「クリップボード用キー」と表記し、これに対応するＶａｌｕｅにひもづいたデータ値を「クリップボード用データ」と表記する。
【００６５】
クライアント装置１０４は、このようにキーとそのキーにひもづいたデータ値とが設定されたｈｔｍｌデータを受信すると、クリップボード用キーとクリップボード用データを抽出し、クリップボード管理アプリのウィンドウ９０１に表示する。１つのｈｔｍｌデータに複数のキーと各キーにひもづいたデータ値が存在する場合も同様である。
【００６６】
抽出されたクリップボード用キーとクリップボード用データは、図９に示されるクリップボード管理アプリのウィンドウ９０１のリスト領域９０２に階層的に表示される。リスト領域９０２には、ｈｔｍｌデータのＵＲＬの下の階層にＫｅｙ１とＶａｌｕｅ１に設定されたクリップボード用キーとクリップボード用データがそれぞれ表示されている。Ｋｅｙ２とＶａｌｕｅ２についてもこれと同様である。なお、＜ｔｉｔｌｅ＞タグの内容を、Ｋｅｙ１やＶａｌｕｅ１として利用してもよい。
【００６７】
図１０は、ｈｔｍｌデータに存在するクリップボード用データのクライアント装置１０４による処理を示すフローチャートである。以下の説明では、適宜、図９を参照することとし、クライアント装置１０４へのｈｔｍｌデータの送信元をサーバ装置１０１に設定する。
【００６８】
ユーザは、クリップボード管理アプリケーションのウィンドウ９０１のリスト領域９０２に表示された文字列の中から、利用したい文字列をＰＤ２０５を操作して選択する（ステップＳ８０１）。ここで、ステップＳ８０１で指定された行がリスト領域９０２内で反転表示等されるようにすることによって、ユーザが選択状態を容易に識別することができるようにしてもよい。
【００６９】
続いて、クライアント装置１０４のＣＰＵ２０６は、ステップＳ８０１で指定された文字列が、クリップボード管理アプリケーションのリスト領域９０２に表示されているデータのうちＵＲＬに相当する文字列であるか否かを判定する（ステップＳ８０２）。
【００７０】
ＵＲＬに相当する文字列が選択された場合（Ｓ８０２で“ＹＥＳ”）、ＣＰＵ２０６は、ｈｔｍｌデータのうちリスト領域９０２に表示された全てのデータをまとめてＯＳのクリップボードにコピーする（ステップＳ８０３）。例えば、図９において第１行９１１が選択されると、第１行９１１に第２行９１２と第３行９１３のクリップボード用データが改行コードで結合されて、ＯＳのクリップボードにコピーされる。この処理により、ユーザは、１つのｈｔｍｌデータに記載されている複数のクリップボード用データをコピーしたい場合に、複数のアプリケーション間で何度もコピー／ペーストの作業を繰り返す必要がなくなる。つまり、簡便な操作で多くのクリップボード用データを一度に扱うことができるようになる。
【００７１】
ＵＲＬに相当する文字列が選択されなかった場合（Ｓ８０２で“ＮＯ”）、ＣＰＵ２０６は、処理をステップＳ８０４に進める。ステップＳ８０４では、ＣＰＵ２０６は、同じｋｅｙのものをまとめてコピーするためのボタン９０５が押下された否かを判定する。
【００７２】
ボタン９０５が押下された場合（Ｓ８０４で“ＹＥＳ”）、ＣＰＵ２０６は、ステップＳ８０１で選択された行のＫｅｙを取得する（ステップＳ８０５）。続いて、ＣＰＵ２０６は、ステップＳ８０５で取得したＫｅｙと同じＫｅｙを持つデータをクリップボード管理アプリケーションに保持されているデータから検索する（ステップＳ８０６）。更に、ＣＰＵ２０６は、ステップＳ８０６で検索されたデータのＶａｌｕｅを改行コードを挿入しながら結合し、結合されたデータをＯＳのクリップボードにコピーする（ステップＳ８０７）。この処理によって、同一のキーで定義されている多数のデータを一度の操作でまとめてコピー／ペーストすることができるようになる。
【００７３】
一方、ボタン９０５が押下されなかった場合（Ｓ８０４で“ＮＯ”）、ユーザはボタン９０４を選択したことになる。この場合、ＣＰＵ２０６は、ユーザがステップＳ８０１で選択した行のＶａｌuｅに該当する文字列をＯＳのクリップボードにコピーする（ステップＳ８０８）。
【００７４】
ステップＳ８０３，Ｓ８０７，Ｓ８０８の後、ユーザは、利用先の編集アプリケーション上でペースト処理を行えば、ＯＳのクリップボードにコピーされているデータが、指定された位置に貼り付けられる（ステップＳ８０９）。
【００７５】
＜その他の実施形態＞
以上、本発明の実施形態について説明したが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。また、上述の実施形態の一部を適宜組み合わせてもよい。
【００７６】
例えば、サーバ装置１０１やクライアント装置１０４はそれぞれ、単一の情報処理装置で実現してもよいし、必要に応じた複数の情報処理装置に各機能を分散して実現するようにしてもよい。複数の情報処理装置で構成される場合は、互いに通信可能なようにＬＡＮ（Local Area Network）等で接続される。
【００７７】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含まれる。
【００７８】
従って、本発明の機能処理をコンピュータで実現するために、コンピュータに供給、インストールされるプログラムコード自体も本発明を実現する。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７９】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリが例示できる。プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【符号の説明】
【００８０】
１０１    クライアント装置
１０４    サーバ装置
２０６    ＣＰＵ
２０８    ＲＡＭ
２１１    ネットワークＩ／Ｆ
４０１    ＵＩ画面
６０４，９０１    ウィンドウ
６０５，９０２    リスト領域
【図１】
2011221902.tif 000003
【図２】
2011221902.tif 000004
【図３】
2011221902.tif 000005
【図４】
2011221902.tif 000006
【図５】
2011221902.tif 000007
【図６】
2011221902.tif 000008
【図７】
2011221902.tif 000009
【図８】
2011221902.tif 000010
【図９】
2011221902.tif 000011
【図１０】
2011221902.tif 000012