(57)【特許請求の範囲】
【請求項１】
サーバ装置と通信可能なストレージ装置に対しデータをアップロードする端末装置であって、
ファイルの格納場所を示すファイル情報、及び、アプリケーションにより作成されたデータであり、かつ、１以上のデータオブジェクトを含む部分データセットのいずれか一方を記憶するクリップボードと、
前記クリップボード内に記憶されているデータが前記ファイル情報であるか前記部分データセットであるかを判定するデータ判定部と、
前記データ判定部により前記部分データセットであると判定された前記クリップボード内に記憶されているデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部と、
前記フォーマット判定部により含まれると判定された場合に、前記クリップボード内に記憶されているデータから画像データ、及び、複数の端末装置でデータを共有するためのデータである共有バイト列を生成する共有バイト列生成部と、
前記データ判定部により前記クリップボード内に記憶されているデータが前記ファイル情報であると判定された場合に前記クリップボード内に記憶されているデータにより示されるファイルの実体データを含む共有データを前記ストレージ装置に対して送信する一方、前記データ判定部により前記クリップボード内に記憶されているデータが前記部分データセットであると判定された場合に前記画像データ及び前記共有バイト列を含む共有データを前記ストレージ装置に対して送信する送信部と
を備える端末装置。
【請求項２】
前記送信部は、前記データ判定部により前記クリップボード内に記憶されているデータが前記部分データセットであると判定された場合に、前記画像データと前記共有バイト列とを前記ストレージ装置の別個の格納位置に対し送信する
請求項１に記載の端末装置。
【請求項３】
前記画像データを格納する格納位置は、前記サーバ装置が前記画像データに基づいてサムネイル情報を生成するためにアクセスされる格納位置であり、
前記共有バイト列を格納する格納位置は、前記サムネイル情報に対応する前記共有バイト列にアクセスするための格納位置である
請求項２に記載の端末装置。
【請求項４】
前記送信部は、前記共有データがファイル及び部分データセットのいずれにかかるものであるかを示す混在識別情報を前記サーバ装置に送信する
請求項１乃至３のいずれか一項に記載の端末装置。
【請求項５】
前記送信部は、前記データ判定部により前記クリップボード内に記憶されているデータが前記部分データセットであると判定された場合に、前記アプリケーションの種別及びオペレーションシステムの種類を示すソース情報を、前記共有バイト列とは別に前記サーバ装置に対して送信する
請求項１乃至４のいずれか一項に記載の端末装置。
【請求項６】
前記所定のフォーマットはラスタデータ型のフォーマットであり、
前記共有バイト列生成部は、前記ラスタデータ型のフォーマットで生成されたデータオブジェクトに基づいて前記画像データを生成する
請求項１乃至５のいずれか一項に記載の端末装置。
【請求項７】
前記ラスタデータ型のフォーマットは、少なくとも、ビットマップ、ＪＰＥＧ、ＴＩＦＦ、及び、ＧＩＦのいずれか１つを含み、
前記共有バイト列生成部は、前記ラスタデータ型のフォーマットとは異なる他のラスタデータ型のフォーマットで前記画像データを生成する
請求項６に記載の端末装置。
【請求項８】
前記共有バイト列生成部は、前記他のラスタデータ型のフォーマットとして、透明度を設定可能なフォーマットにて前記画像データを生成する
請求項７に記載の端末装置。
【請求項９】
前記透明度を設定可能なフォーマットは、ＰＮＧ形式の画像データである
請求項８に記載の端末装置。
【請求項１０】
前記共有バイト列生成部は、前記データ判定部により前記部分データセットであると判定された前記クリップボード内に記憶されているデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれると前記フォーマット判定部によって判定された場合に、前記クリップボード内に記憶されているデータに含まれる前記データオブジェクト以外の部分を背景として含む矩形画像データを生成し、生成した矩形画像データの背景部分に透明色を設定してなるラスタデータを前記画像データとして生成する
請求項１乃至９のいずれか一項に記載の端末装置。
【請求項１１】
前記共有バイト列生成部は、前記クリップボード内に記憶されているデータに含まれる１又は複数の前記データオブジェクトのうちサムネイルであるデータオブジェクトを除く部分に基づいて、前記共有バイト列を生成する
請求項１乃至１０のいずれか一項に記載の端末装置。
【請求項１２】
前記データ判定部は、前記クリップボード内のデータを更新させる操作とは異なるユーザ操作に応じて、前記クリップボード内に記憶されているデータが前記ファイル情報であるか前記部分データセットであるかを判定するよう構成される
請求項１乃至１１のいずれか一項に記載の端末装置。
【請求項１３】
請求項１乃至１２のいずれか一項に記載の端末装置と、
前記サーバ装置とを備え、
前記送信部は、前記共有データを前記ストレージ装置に対して送信する前に該共有データのサイズ情報を前記サーバ装置に対して送信し、
前記サーバ装置は、前記サイズ情報に基づいて前記ストレージ装置が前記共有データを格納できるか否かを確認し、確認の結果を示す情報を前記端末装置に対して送信し、
前記送信部は、前記情報に応じて前記共有データの送信を行う
データ管理システム。
【請求項１４】
前記送信部は、前記ストレージ装置に対して前記共有データを送信した後、前記サーバ装置に対して、前記ストレージ装置に前記共有データを格納したことを示す情報を送信する
請求項１３に記載のデータ管理システム。
【請求項１５】
前記共有データは、該共有データがファイル及び部分データセットのいずれにかかるものであるかを示す混在識別情報を含み、
前記ストレージ装置は、前記混在識別情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成される
請求項１３又は１４のいずれか一項に記載のデータ管理システム。
【請求項１６】
前記共有データは、該共有データを作成したアプリケーションを示すソース情報を含み、
前記ストレージ装置は、前記ソース情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成される
請求項１３乃至１５のいずれか一項に記載のデータ管理システム。
【請求項１７】
サーバ装置とネットワークを介して接続される複数の端末装置のうちのひとつであり、かつ、ファイルの格納場所を示すファイル情報、及び、アプリケーションにより作成されたデータであり、かつ、１以上のデータオブジェクトを含む部分データセットのいずれか一方を記憶するクリップボードを有する第１の端末装置から、前記サーバ装置と通信可能なストレージ装置に対しデータをアップロードする方法であって、
前記第１の端末装置が、前記クリップボード内に記憶されているデータが前記ファイル情報であるか前記部分データセットであるかを判定するデータ判定ステップと、
前記第１の端末装置が、前記データ判定ステップにより前記部分データセットであると判定された前記クリップボード内に記憶されているデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定ステップと、
前記第１の端末装置が、前記フォーマット判定ステップにより含まれると判定された場合に、前記クリップボード内に記憶されているデータから画像データ、及び、前記複数の端末装置でデータを共有するためのデータである共有バイト列を生成する共有バイト列生成ステップと、
前記第１の端末装置が、前記データ判定ステップにより前記クリップボード内に記憶されているデータが前記ファイル情報であると判定された場合に前記クリップボード内に記憶されているデータにより示されるファイルの実体データを含む共有データを前記ストレージ装置に対して送信する一方、前記データ判定ステップにより前記クリップボード内に記憶されているデータが前記部分データセットであると判定された場合に前記画像データ及び前記共有バイト列を含む共有データを前記ストレージ装置に対して送信する送信ステップと
を備える方法。
【請求項１８】
サーバ装置とネットワークを介して接続される複数の端末装置のうちのひとつであり、かつ、ファイルの格納場所を示すファイル情報、及び、アプリケーションにより作成されたデータであり、かつ、１以上のデータオブジェクトを含む部分データセットのいずれか一方を記憶するクリップボードを有し、前記サーバ装置と通信可能なストレージ装置に対しデータをアップロードする第１の端末装置としてコンピュータを機能させるプログラムであって、
前記クリップボード内に記憶されているデータが前記ファイル情報であるか前記部分データセットであるかを判定するデータ判定部、
前記データ判定部により前記部分データセットであると判定された前記クリップボード内に記憶されているデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部、
前記フォーマット判定部により含まれると判定された場合に、前記クリップボード内に記憶されているデータから画像データ、及び、前記複数の端末装置でデータを共有するためのデータである共有バイト列を生成する共有バイト列生成部、及び
前記データ判定部により前記クリップボード内に記憶されているデータが前記ファイル情報であると判定された場合に前記クリップボード内に記憶されているデータにより示されるファイルの実体データを含む共有データを前記ストレージ装置に対して送信する一方、前記データ判定部により前記クリップボード内に記憶されているデータが前記部分データセットであると判定された場合に前記画像データ及び前記共有バイト列を含む共有データを前記ストレージ装置に対して送信する送信部
として前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は端末装置、データ管理システム、及びサーバ装置に関し、特に、クリップボードに格納されたデータの複数の端末間での共有を実現する端末装置、データ管理システム、及びサーバ装置に関する。
【背景技術】
【０００２】
近年注目されているクラウドコンピューティングシステムのひとつに、ファイル管理システムがある。ファイル管理システムはユーザのファイルをサーバのストレージに保存可能とするシステムであり、対象のファイルは、ユーザの１又は複数の端末とサーバとの間で同期される。ファイル管理システムを使えば、ユーザは、端末を意識せずにファイルを取り扱うことが可能になる。【０００３】
また、一般的な端末のオペレーティングシステムは、クリップボードやペーストボードなどと呼ばれるアプリケーション間でのデータを共有するための一時記憶領域（以下、「クリップボード」と総称する）を備えて構成される。クリップボードを使えば、ユーザは、あるアプリケーションで使用中のデータ（例えば描画中の画像データ）を、簡単な操作で他のアプリケーションに渡すことが可能になる。【０００４】
特許文献１，２には、クリップボード内のデータを複数の端末間で共有できるようにした技術が開示されている。また、特許文献３には、１つの端末内のアプリケーション間でクリップボードを使用して画像データを転送する際に、転送先のアプリケーションの種類に応じた画像処理を画像データに施す技術が開示されている。特許文献４には、クリップボードを介して、電子インクの情報をコピー・ペーストする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−２７１７３５号公報
【特許文献２】特開２００２−２８８１２４号公報
【特許文献３】特開２００６−０５３８７２号公報
【特許文献４】特開２０１０−０２０７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで近年、電子ペンを用いる画像描画ソフトウェアを、パソコンだけでなく携帯型のタブレット端末でも使用することが増えている。これに伴い、ユーザの要望として、携帯型のタブレット端末で描画中の画像データを、簡単な操作でパソコンに移動できるようにすること、或いはその逆、が求められるようになっている。【０００７】
また、元来クリップボードのデータは一時的なデータ交換に用いられるものであるが、ユーザが通勤時間中にタブレット端末を用いて描画した部分的な画像データを、会社についた後にパソコンから利用したいなど、時間を置いてから利用したいと言った要望がある。【０００８】
このような要望に対して、上述したクリップボード内のデータをサーバに蓄積し、複数の端末から利用可能とするデータ管理システムの構築が考えられる。こうすれば、ユーザは、画像データをコピーする操作（クリップボードに貼り付ける操作）と、コピーした画像データをサーバに転送する操作とを行うことにより、後の時点において、その画像データを他の端末から利用することが可能になる。【０００９】
しかしながら、クリップボードに格納されるデータは多種多様であり、中には、上記のようなデータ管理システムで蓄積対象としない方が好ましいデータもある。以下、詳しく説明する。【００１０】
一般的に、クリップボードには２種類のデータが記憶される。ひとつは上述した描画中の画像データのようなアプリケーションで使用中のデータ（以下、「部分データセット」という）であり、アプリケーションのユーザインターフェイス上でユーザがコピー操作（例えば描画ソフトであれば、画像の範囲を選択してコピーボタンを押下する操作）を行うことにより、クリップボードに格納される。他のひとつはファイルを示す情報（以下、「ファイル情報」という）であり、オペレーティングシステムのファイルマネージャーにおいてファイルのコピー操作（例えばＷＩＮＤＯＷＳ（登録商標）であれば、ファイルを選択した状態でＣｔｒｌ＋Ｃを押下する操作）を行うことにより、クリップボードに記憶される。【００１１】
ファイルは、永続的に使用されることを前提に、規格化されたフォーマット（ファイル形式）に基づいて、ある程度規則のパターン数が制限されたデータである。計算機は、拡張子やファイルタイプによりそのファイルを処理するためのアプリケーションを把握でき、人間は、ファイルに付与されたファイル名や対応するアプリケーションでそのファイルを開くことによりそのファイルの内容を推測あるいは把握することができる。したがって、ファイル情報については、すべてを蓄積対象としてもコンテンツの管理上の問題は生じない。【００１２】
これに対し、部分データセットは、揮発性メモリで一時的にのみ利用されることを前提に、アプリケーションが自由に定めるデータ構造に基づいて、規則のパターン数が略無数に存在するデータである。計算機は、拡張子などによっては処理すべきアプリケーションを特定することはできず、またファイル名が付与されていないため人間もそのコンテンツの中身を推測するすべがない。したがって、部分データセットのすべてを蓄積対象とすると、計算機も人間も把握不能な大量のデータの倉庫が出来上がってしまう。使われないデータを蓄積することは、通信回線に負荷を与えストレージの記憶領域の無駄遣いとなる上、ユーザにとって使い勝手が悪いものとなる。【００１３】
したがって、本発明の目的のひとつは、クリップボードに格納されたデータがファイルであっても部分データセットであっても蓄積対象とすることのできる端末装置、データ管理システム、及びサーバ装置を提供することにある。【００１４】
より特定的には、クリップボードに格納されたデータがファイル情報である場合には対象のファイルの中身によらず蓄積可能とする一方、クリップボードに格納されたデータがファイル情報でない場合には、データの中に含まれるデータオブジェクトのうちの少なくとも一つが人間にとって認識可能なものである場合に限り、クリップボードに格納されたデータを蓄積対象とすることのできる端末装置、データ管理システム、及びサーバ装置を提供することにある。
【課題を解決するための手段】
【００１５】
本発明による端末装置は、サーバ装置と通信可能なストレージ装置に対しデータをアップロードする端末装置であって、アップロード対象のデータがファイルであるかアプリケーションが使用している部分データセットであるかを判定するデータ判定部と、前記データ判定部により部分データセットであると判定された前記アップロード対象のデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部と、前記フォーマット判定部により含まれると判定された場合に、前記アップロード対象のデータから画像データ及び共有バイト列を生成する共有バイト列生成部と、前記データ判定部によりファイルであると判定された場合に前記アップロード対象のデータを共有データとして前記ストレージ装置に対して送信する一方、前記データ判定部により部分データセットであると判定された場合に前記画像データ及び前記共有バイト列を共有データとして前記ストレージ装置に対して送信する共有データ取得部とを備える。【００１６】
本発明によれば、クリップボードに格納されたデータがファイル情報である場合には対象のファイルの中身によらず蓄積対象とする一方、クリップボードに格納されたデータがファイル情報でない場合には、そのデータ、或いはそのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、そのデータを蓄積対象とすることが可能になる。【００１７】
上記端末装置において、前記共有データ取得部は、前記データ判定部により部分データセットであると判定された場合に、前記画像データと前記共有バイト列とを前記ストレージ装置の別個の格納位置に対し送信することとしてもよい。また、前記画像データを格納する格納位置は、前記サーバ装置が前記共有バイト列の内容を示すサムネイル情報を生成するためにアクセスされる格納位置であり、前記共有バイト列を格納する格納位置は、前記サムネイル情報により内容が示される前記共有バイト列にアクセスするための格納位置であることとしてもよい。これによれば、ストレージ装置内に共有データから画像データを取り出す処理機構を設ける必要がなくなるので、ストレージ装置として汎用のストレージを利用することが可能になる。【００１８】
また、上記各端末装置において、前記共有データ取得部は、前記共有データがファイル及び部分データセットのいずれであるかを示す混在識別情報を前記サーバ装置に送信することとしてもよい。これによれば、サーバ装置は、混在識別情報に基づき、そのデータがファイル及び部分データセットのいずれであるかを判定することが可能になる。【００１９】
また、上記各端末装置において、前記共有データ取得部は、前記データ判定部により部分データセットであると判定された場合に、前記アプリケーションの種別及びオペレーションシステムの種類を示すソース情報を取得し、前記共有バイト列とは別に前記サーバ装置に対して送信する。これによれば、サーバ装置は、すべての共有データをストレージ装置から読み出すことなく、ソース情報に基づいてフィルタリングを行うことが可能になる。【００２０】
また、上記各端末装置において、前記所定のフォーマットはラスタデータ型のフォーマットであり、前記共有バイト列生成部は、前記ラスタデータ型のフォーマットにより作成されたデータオブジェクトに基づいて前記画像データを生成することとしてもよい。こうすることで、共有バイト列生成部による画像データの生成を確実に行えるようになる。【００２１】
この端末装置において、前記ラスタデータ型のフォーマットは、少なくとも、ビットマップ、ＪＰＥＧ、ＴＩＦＦ、及び、ＧＩＦのいずれか１つを含み、前記共有バイト列生成部は、前記ラスタデータ型のフォーマットとは異なる他のラスタデータ型のフォーマットで前記画像データを生成することとしてもよい。これによれば、共有バイト列生成部が生成する画像データを、他のラスタデータ型のフォーマットによる画像データとすることが可能になる。【００２２】
また、この端末装置においてさらに、前記共有バイト列生成部は、前記他のラスタデータ型のフォーマットとして、透明度を設定可能なフォーマットにて前記画像データを生成することとしてもよい。また、前記透明度を設定可能なフォーマットは、ＰＮＧ形式の画像データであることとしてもよい。これによれば、共有バイト列生成部による画像データの生成を確実に行えるようになる。【００２３】
また、上記各端末装置において、前記共有バイト列生成部は、前記フォーマット判定部により含まれると判定された場合に、前記アップロード対象のデータに含まれるデータオブジェクト以外の部分を背景として含む矩形画像データを生成し、生成した矩形画像データの背景部分に透明色を設定してなるラスタデータを前記画像データとして生成することとしてもよい。これによれば、アップロード対象のデータに含まれるデータオブジェクトを含み、それ以外の部分を透明とした矩形画像データを画像データとして得ることが可能になる。【００２４】
また、上記各端末装置において、前記共有バイト列生成部は、前記アップロード対象のデータに含まれる１又は複数のデータオブジェクトのうちサムネイルであるデータオブジェクトを除く部分に基づいて、前記共有バイト列を生成することとしてもよい。これによれば、アプリケーション独自の形式で作成されたものである可能性のあるサムネイルを、共有データから除外することが可能になる。【００２５】
また、上記各端末装置において、前記データ判定部は、クリップボード内のデータを更新させる操作とは異なるユーザ操作に応じて、該クリップボードから前記アップロード対象のデータを取得するよう構成されることとしてもよい。これによれば、端末装置からストレージ装置への共有データの送信回数が過剰になることを防止できる。【００２６】
また、本発明によるデータ管理システムは、上記各端末装置のいずれかと、サーバ装置とを備え、前記共有データ取得部は、前記共有データを前記ストレージ装置に対して送信する前に該共有データのサイズ情報を取得し、該サイズ情報を前記サーバ装置に対して送信し、前記サーバ装置は、前記サイズ情報に基づいて前記ストレージ装置が前記共有データを格納できるか否かを確認し、確認の結果を示す情報を前記端末装置に対して送信し、前記共有データ取得部は、前記情報に応じて前記共有データの送信を行うこととしてもよい。これによれば、ストレージ装置に格納可能な場合にのみ共有データを送信するように端末装置を構成することができるので、無駄な送信を回避することが可能になる。【００２７】
また、このデータ管理システムにおいて、前記共有データ取得部は、前記ストレージ装置に対して前記共有データを送信した後、前記サーバ装置に対して、前記ストレージ装置に前記共有データを格納したことを示す情報を送信することとしてもよい。これによれば、端末装置からサーバ装置に、サムネイルを生成する契機を与えることができる。【００２８】
また、これらのデータ管理システムにおいて、前記サーバ装置は、前記端末装置から受信した前記共有データが部分データセットであり、かつ所定のベクタデータを含んでいる場合に、該所定のベクタデータを該所定のベクタデータに比してオペレーティングシステムの差異の観点で汎用性の高い他のベクタデータに変換する情報加工部を有することとしてもよい。これによれば、オペレーションシステムやインストールされているアプリケーションによらず、任意の端末装置においてベクタデータを利用することが可能になる。【００２９】
また、上記各データ管理システムにおいて、前記共有データは、該共有データがファイル及び部分データセットのいずれにかかるものであるかを示す混在識別情報を含み、前記ストレージ装置は、前記混在識別情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成されることとしてもよい。これによれば、サーバ装置は、混在識別情報を参照することで、その共有データがファイル及び部分データセットのいずれであるかを判定することが可能になる。【００３０】
また、上記各データ管理システムにおいて、前記共有データは、該共有データを作成したアプリケーションを示すソース情報を含み、前記ストレージ装置は、前記ソース情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成されることとしてもよい。これによれば、サーバ装置は、ソース情報を参照することで、その共有データを作成したアプリケーションを把握することが可能になる。【００３１】
本発明の他の一側面によるデータ管理システムは、それぞれファイル又は部分データセットである複数の共有データを送信する端末装置と、前記端末装置が送信した前記複数の共有データを記憶するストレージ装置と、サーバ装置とを備え、前記端末装置は前記サーバ装置に対し、前記部分データセットである１又は複数の前記共有データに適用されるフィルタリング条件を示すフィルタ情報を送信し、前記サーバ装置は、前記ストレージ装置に記憶される前記複数の共有データの中から、前記フィルタリング条件を満たす前記部分データセットである１又は複数の前記共有データと、前記ファイルである１又は複数の前記共有データとを選択し、選択した１又は複数の前記共有データのリストを前記端末装置に提示するよう構成される。これによれば、サーバ装置が端末装置に提示するリストから、その端末装置では利用できない部分データセットを除外することが可能になる。【００３２】
上記データ管理システムにおいて、前記サーバ装置は、ファイルの一覧及び部分データセットの一覧を提示するものであり、少なくとも前記部分データセットについて、その中に含まれるデータオブジェクトに基づいて該サーバ装置が生成したサムネイルを含むこととしてもよい。これによれば、端末装置では、少なくとも部分データセットについて、サムネイルを含む共有データのリストをユーザに提示することが可能になる。【００３３】
また、上記各データ管理システムにおいて、前記フィルタリング条件は、前記部分データセットを作成したアプリケーションを示すソース情報を含むこととしてもよい。これによれば、サーバ装置が端末装置に提示するリストから、その端末装置にインストールされていないアプリケーションで作成された部分データセットを除外することが可能になる。【００３４】
また、上記各データ管理システムにおいて、前記フィルタリング条件は、前記端末装置のオペレーティングシステムを示すソース情報を含み、前記サーバ装置は、前記部分データセットである１又は複数の前記共有データのうち、基本ソフトとして前記ソース情報により示されるオペレーティングシステムがインストールされた端末装置で作成された前記共有データを選択するよう構成されることとしてもよい。これによれば、端末装置と同じオペレーションシステムが基本ソフトとしてインストールされている端末装置以外で作成された部分データセットを、サーバ装置が端末装置に提示するリストから除外することが可能になる。【００３５】
また、上記各データ管理システムにおいて、前記端末装置は、前記サーバ装置から提示された前記リストの中から１又は複数の共有データを選択し、選択した前記１又は複数の共有データを示す選択情報を前記サーバ装置に対して送信するよう構成され、前記サーバ装置は、前記端末装置から送信された前記選択情報に基づいて前記ストレージ装置から１又は複数の前記共有データを読み出し、読み出した前記１又は複数の共有データを前記端末装置に対して送信するよう構成されることとしてもよい。これによれば、端末装置に共有データをダウンロードすることが可能になる。【００３６】
また、このデータ管理システムにおいて、前記端末装置は、前記サーバ装置から前記部分データセットである前記共有データを受信した場合に該共有データをクリップボードに展開する一方、前記サーバ装置から前記ファイルである前記共有データを受信した場合に該共有データを所定のフォルダにコピーするよう構成されることとしてもよい。これによれば、共有データのダウンロードを、その種類に応じて好適にダウンロードすることが可能になる。【００３７】
また、本発明によるサーバ装置は、それぞれファイル又は部分データセットである複数の共有データを送信する端末装置、及び、前記端末装置が送信した前記複数の共有データを記憶するストレージ装置と通信可能に構成されたサーバ装置であって、前記ストレージ装置に記憶される前記複数の共有データの中から、所与のフィルタリング条件を満たす前記部分データセットである１又は複数の前記共有データと、前記ファイルである１又は複数の前記共有データとを選択し、選択した１又は複数の前記共有データのリストを前記端末装置に提示するよう構成される。
【発明の効果】
【００３８】
本発明によれば、クリップボードに格納されたデータがファイル情報である場合には対象のファイルの中身によらず蓄積対象とする一方、クリップボードに格納されたデータがファイル情報でない場合には、そのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、そのデータを蓄積対象とすることが可能になる。
【図面の簡単な説明】
【００３９】
【図１】本発明の好ましい第１の実施の形態によるデータ管理システム１のシステム構成を示す図である。
【図２】（ａ）は、図１に示した端末装置４ａの機能ブロックを示す略ブロック図であり、（ｂ）は、（ａ）に示したアップロード部２４ａの機能ブロックを示す略ブロック図であり、（ｃ）は、（ａ）に示したダウンロード部２４ｂの機能ブロックを示す略ブロック図である。
【図３】図２に示したクリップボード２５に記憶される部分データセットＤ２と、共有バイト列１２３及び画像データ１２０との関係を示す図である。
【図４】ユーザに提示される共有データＳＤのリストの一例であるページＰを示す図である。
【図５】共有データＳＤに付加される管理情報Ｊ１の構成を示す図である。
【図６】図１に示したサーバ２及びストレージ３の機能ブロックを示す略ブロック図である。
【図７】共有データＳＤを端末装置４ａからストレージ３にアップロードする処理のシーケンスを示す図である。
【図８】図７に示した共有データ取得処理の詳細を示す処理フロー図である。
【図９】図４に示したページＰを端末装置４ａにてユーザに提示し、ページＰにおけるユーザの選択に応じて、ストレージ３から端末装置４ａに共有データＳＤをダウンロードする処理のシーケンスを示す図である。
【図１０】図９に示した復元処理の詳細を示す処理フロー図である。
【図１１】本発明の好ましい第２の実施の形態によるサーバ２及びストレージ３の機能ブロックを示す略ブロック図である。
【図１２】図１１に示した情報加工部３１ｃが行う情報加工処理の詳細を示す処理フロー図である。
【図１３】本発明の好ましい第３の実施の形態による共有データ取得処理の詳細を示す処理フロー図である。
【図１４】（ａ）は、図１に示した部分データセットＤ２に含まれるベクタデータ２００を示す図であり、（ｂ）は、（ａ）に示したベクタデータ２００から生成したマップ２０２を示す図であり、（ｃ）は、（ｂ）に示したマップ２０２の背景部分２０１に不透明色を設定する場合の例を示す図であり、（ｄ）は、（ｂ）に示したマップ２０２の背景部分２０１に透明色を設定する場合の例を示す図である。
【発明を実施するための形態】
【００４０】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００４１】
本発明の第１の実施の形態によるデータ管理システム１は、図１に示すように、サーバ２（サーバ装置）、ストレージ３（ストレージ装置）、端末装置４ａ〜４ｃ、及びネットワーク５を備えて構成される。
【００４２】
端末装置４ａは、例えばデスクトップ型のパソコンであり、ネットワークインターフェイスカード（ＮＩＣ）１０、メモリ１１、中央処理装置（ＣＰＵ）１２、デジタイザ１３、及び内部バス１４を有して構成される。なお、ここでは入力手段の一例としてデジタイザ１３を例示しているが、端末装置４ａが他の入力手段、例えばキーボードやマウスを有していてもよいのは勿論である。また、図示していないが、端末装置４ａは、ディスプレイやスピーカなどの各種出力手段を有して構成される。
【００４３】
ネットワークインターフェイスカード１０は、内部バス１４上を流れるデータの宛先が外部である場合に、そのデータを取り込んでネットワーク５に出力するとともに、ネットワーク５上を流れるデータの宛先が端末装置４ａである場合に、そのデータを取り込んで内部バス１４に出力する機能を有する。
【００４４】
メモリ１１は、ＤＲＡＭ(Dynamic Random Access Memory)などの揮発性メモリを含む主記憶装置と、ハードディスクなどの不揮発性メモリを含む補助記憶装置とを有して構成される。メモリ１１には、ＣＰＵ１２の動作を規定するプログラムや、ＣＰＵ１２によって利用される各種のデータが格納される。
【００４５】
メモリ１１に記憶されるプログラムには、端末装置４ａの基本ソフトであるオペレーションシステムを実現するためのプログラム、オペレーションシステム上で動作する各種のアプリケーションを実現するためのプログラム（アプリケーションプログラム）、ネットワークインターフェイスカード１０を通じたデータの入出力（通信）を実現するためのプログラム（通信プログラム）などが含まれる。
【００４６】
一方、メモリ１１に記憶される各種のデータには、バイナリファイル及びテキストファイルを含む各種のファイルの他、アプリケーション間でのやり取りのために一時的に記憶されるデータ（一時記憶データ）が含まれる。この種のデータは、メモリ１１上に確保された揮発性の領域であるクリップボードに記憶される。クリップボード及びクリップボードに記憶されるデータの種別の詳細については、後ほど別途説明する。
【００４７】
ＣＰＵ１２は、メモリ１１に記憶されるプログラム及びデータに従って動作することで、内部バス１４を通じて、端末装置４ａの各部の制御を含む各種の処理を実行するよう構成される。ＣＰＵ１２が行う処理には、端末装置４ａの入力手段を通じてユーザの入力を受け付ける処理や、端末装置４ａの出力手段を通じてユーザに情報を提示する処理が含まれる。後ほど説明する端末装置４ａの各種機能は、ＣＰＵ１２がメモリ１１に記憶されるプログラムに従って動作することにより実現される。
【００４８】
デジタイザ１３は、ペン状のポインティングデバイス（スタイラス）と、板状の位置検出装置とを含んで構成される入力装置である。デジタイザ１３は、位置検出装置上におけるスタイラスの位置やスタイラスの種別を検出する機能を有しており、検出結果により示されるスタイラスの軌跡やスタイラスの識別番号などを、図示しないＩ／Ｏを経由し内部バス１４を通じてＣＰＵ１２に出力するよう構成される。
【００４９】
端末装置４ｂは、タブレット型コンピュータである。また、端末装置４ｃは、スマートフォンである。詳細な説明は省略するが、端末装置４ｂ，４ｃはいずれも端末装置４ａと同様の機能を有しており、それぞれが本実施の形態によるデータ管理システム１における端末装置を構成する。なお、データ管理システム１においては、端末装置４ａ〜４ｃの他にも各種のコンピュータを端末装置として利用することが可能である。以下では、例として端末装置４ａのみを取り上げて説明するが、端末装置４ｂ，４ｃを含む他の端末装置についても同様である。
【００５０】
ネットワーク５は、インターネット、イントラネット、エクストラネット、電話網、移動通信網などの各種ネットワークの１つ又は複数によって構成される通信ネットワークである。
【００５１】
サーバ２は、クライアントサーバモデルにおけるサーバを構成するコンピュータであり、ネットワーク５を通じ、クライアントサーバモデルにおけるクライアントを構成する端末装置４ａと通信可能に構成される。
【００５２】
ストレージ３は大容量の記憶領域を備えた記憶装置であり、サーバ２と通信可能に構成されたサーバ２とは別体の装置である。ストレージ３の具体的な例としては、近年注目されているクラウドストレージサービスにおける記憶領域が挙げられる。このように、サーバ２とは異なる外部のストレージ３を利用した場合にも不整合なく部分データセットとファイルの両方を利用できるようにした点は、本発明の特徴のひとつであり、詳しくは後述する。ただし、本発明においてサーバ２とストレージ３を互いに別体の装置とすることは必須ではなく、ストレージ３をサーバ２の一部としてもよい。また、サーバ２を複数のコンピュータによって構成してもよく、この場合、後述するサーバ２の各種機能を複数のコンピュータに分散して実行することとしてもよい。
【００５３】
本実施の形態による端末装置４ａは、クリップボード内に一時的に記憶しているデータをストレージ３にアップロード可能に構成される。また、自端末装置又は他の端末装置がストレージ３にアップロードしたデータを、後にダウンロード可能に構成される。以下、これらの機能について詳しく説明する。
【００５４】
図２に示すように、端末装置４ａは機能的に、アプリケーション２１〜２３及びクラウドクリップボード連携部２４を含むアプリケーション群２０と、クリップボード２５と、通信部２６とを備えて構成される。なお、クラウドクリップボード連携部２４は、他のアプリケーション２１〜２３と同様、端末装置４ａで動作するアプリケーションのひとつである。
【００５５】
通信部２６は、図１に示したＣＰＵ１２が上述した通信プログラムに従ってネットワークインターフェイスカード１０を制御することにより実現される機能部であり、所定の通信プロトコルにより、ネットワーク５を介してサーバ２及びストレージ３のそれぞれと通信するよう構成される。また、通信部２６は、クラウドクリップボード連携部２４との通信も行う。
【００５６】
クリップボード２５は、上述したように、アプリケーション間でやり取りされるデータを一時的に記憶可能に構成されたメモリ１１（図１参照）内の領域であり、オペレーションシステムによりメモリ１１内に確保される。クリップボード２５内のデータは、書き込みが行われる都度、すべて新しいデータに置き換えられる。例えば、同時に２つのアプリケーションを利用している場合、ある１つのアプリケーションがクリップボード２５への書き込みを行うと、他方のアプリケーションによって以前にクリップボード２５に書き込まれていたデータはすべて消去され、上書きされる。アプリケーションの機能としてクリップボード２５の記憶内容の履歴を持つことも可能であるが、少なくともシステムとしては、１回分しかデータを保持することができない。また、クリップボード２５は上述したように揮発性の領域であることから、クリップボード２５内のデータは、端末装置４ａの電源ＯＦＦなどにともない消去される。
【００５７】
クリップボード２５に記憶されるデータには、図２（ａ）に示すように、ファイル情報Ｄ１及び部分データセットＤ２という２種類のデータが含まれる。ＣＰＵ１２は、オペレーティングシステムのファイルマネージャーや各種アプリケーションからの制御に応じて、これら２種類のデータのうちのいずれかをクリップボード２５に書き込むよう構成される。
【００５８】
一例を挙げると、例えばファイルマネージャーの一種であるＷＩＮＤＯＷＳ（登録商標）エクスプローラにおいて、ユーザが１又は複数のファイルを選択し、さらにＣｔｒｌ＋Ｃを押下すると、ＣＰＵ１２は、メモリ１１内におけるファイルの格納場所を示す情報であるパス名を、ファイル情報Ｄ１としてクリップボード２５に書き込む。ファイル情報Ｄ１は、このようにファイルそのものではなく、ファイルの格納場所を示す情報である。ファイルの実体は通常、揮発性メモリ上ではなく外部記憶装置に存在する。
【００５９】
また、例えばアプリケーションの一種である株式会社ワコムのバンブー（登録商標）ペーパーの描画画面上において、ユーザが任意の範囲を選択し、さらにコピーボタンを押下すると、ＣＰＵ１２は、その範囲内に描画されていた画像データに関連する各種の情報を、互いに異なるフォーマットで作成された１以上のデータオブジェクトの集合である部分データセットＤ２としてクリップボード２５に書き込む。このように、部分データセットＤ２は、ある時点でクリップボード２５に保持された１以上のデータオブジェクトを含むデータである。他の言い方をすれば、部分データセットＤ２は、あるアプリケーションにより作成されたデータであって、実体データがクリップボード２５上に存在し、それそれが１つのファイルを構成する要素となり得る部分的なデータの集合とも言える。
【００６０】
部分データセットＤ２として書き込まれる上記各種の情報の具体的内容はアプリケーションによって様々であるが、代表的には、図３に例示するデータオブジェクト１０１〜１０６を含んで構成される。
【００６１】
データオブジェクト１０１は、標準的なテキスト形式のデータである。例えば、ユーザが選択した領域の中に画像と文字列とが混在していた場合に、文字列部分がデータオブジェクト１０１として抽出される。
【００６２】
データオブジェクト１０２は、アプリケーションが独自に設定するネイティブ形式のデータ（ネイティブデータ）である。例えば、プレゼンテーションアプリケーションのデータであれば、そのプレゼンテーションアプリケーション独自のデータ構造をもったデータとなる。
【００６３】
データオブジェクト１０３は、データオブジェクト１０２と同じデータを、典型的には、矩形の画素データを記述するラスタデータ型のフォーマットに変換してなるデータである。ラスタデータ型のフォーマットの例としては、ＪＰＥＧ，ＰＮＧ、ＴＩＦＦ、ＧＩＦ、ビットマップなどがあげられる。図３の例では、特に、ラスタデータ型のフォーマットのうち、アプリケーションに依存しない共通形式であるビットマップ形式であるビットマップデータ（ＤＩＢ：Device Independent Bitmap）であるとしている。なお、データオブジェクト１０３は、コピーされたデータが所定のフォントで記載された文字列のみを含むテキストである場合であっても、所定のフォントで生成された該テキストをビットマップ化することによって生成される場合がある。
【００６４】
データオブジェクト１０４は、アプリケーションが任意に設定できる形式によるベクタデータである。ベクタデータの例としては、ＣＡＤ(Computer Aided Design)データ、ＳＶＧ(Scalable Vector Graphics)データ、特許文献４に記載されている電子インクのデータなどが挙げられる。本実施の形態によるデータオブジェクト１０４は、あるアプリケーションにおけるユーザの選択操作により選択され、クリップボード２５に保持された対象物の形状を示すベクトルデータである。
【００６５】
データオブジェクト１０５は、フォントを示すデータである。データオブジェクト１０６は、矩形のデータであるデータオブジェクト１０３を縮小してなるサムネイル画像データである。
【００６６】
ここで、本実施の形態においては、部分データセットＤ２を２種類に分別して利用する。１つ目は、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトを含むもの（タイプ１）であり、２つ目は、それ以外のもの（タイプ２）である。所定のフォーマットは、例えば上述したＤＩＢ（データオブジェクト１０３）とすることが好適である。
【００６７】
例えば、オペレーティングシステムがＷＩＮＤＯＷＳ（登録商標）である場合、部分データセットＤ２が「画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトを含むものであるか否か」の判定は、ＣｌｉｐｂｏａｒｄクラスのＣｏｎｔａｉｎｓＩｍａｇｅメソッドにより行うことができる。なお、この場合、クリップボード２５に格納された１又は複数のデータオブジェクトの各々を取得するには、ＥｎｕｍＣｌｉｐｂｏａｒｄＦｏｒｍａｔｓメソッドやＧｅｔＣｌｉｐｂｏａｒｄＤａｔａメソッドなどのＡＰＩ関数を用いればよい。こうすることで、各々のフォーマットを分別しつつ、各々のデータオブジェクトを取得することができる。また、この場合における「画像データを生成可能に構成された所定のフォーマット」の具体例としては、上述ＤＩＢの他にも、ＣＦ＿ＤＩＢやＪＦＩＦなどが挙げられる。一方、画像データを生成可能に構成されていないフォーマットの具体例としては、ＣＦ＿ＬＯＣＡＬＥ、ＣＦ＿ＭＡＸ、ＣＦ＿ＴＥＸＴなどが挙げられる。
【００６８】
また、オペレーティングシステムがＭａｃ  ＯＳ  Ｘ（登録商標）である場合の上記判定は、ＮＳＰａｓｔｅｂｏａｒｄのｔｙｐｅｓプロパティやａｖａｉｌａｂｌｅＴｙｐｅＦｒｏｍＡｒｒａｙメソッドにより行うことができる。さらに、オペレーティングシステムがＡｎｄｒｏｉｄ（登録商標）である場合の上記判定は、ａｎｄｒｏｉｄ．ｃｏｎｔｅｎｔ．ＣｌｉｐｂｏａｒｄＭａｎａｇｅｒのｇｅｔＵｒｉメソッドにより行うことができる。
【００６９】
図２に戻る。アプリケーション２１は、クリップボード２５を利用する一方、クラウドクリップボード連携部２４と連携する機能を有しないアプリケーションである。また、アプリケーション２２は、クリップボード２５を利用し、かつ、クラウドクリップボード連携部２４と連携する機能を有するアプリケーションである。クラウドクリップボード連携部２４との連携は、例えば、クラウドクリップボード連携部２４の提供する機能にかかる所定のライブラリ（汎用性の高い複数のプログラムをひとつにまとめたもの）と動的或いは静的にリンクしつつ、それらのライブラリが提供するアプリケーションプログラミングインタフェース（ＡＰＩ）２２ａ，２２ｂなどを利用することにより行われる。アプリケーション２３は、クリップボード２５を利用しないが、アプリケーションプログラミングインタフェース２２ｃを通じてクラウドクリップボード連携部２４の機能を利用するアプリケーションである。
【００７０】
クリップボード２５を利用するアプリケーション２１，２２は、例えばユーザが所定のコピー操作を行った場合に、コピーの対象となるデータを、ファイル情報Ｄ１あるいは互いに異なるフォーマットで作成された複数のデータオブジェクトを含む部分データセットＤ２の形式で、クリップボード２５に書き込むよう構成される。また、アプリケーション２１，２２は、例えばユーザが所定のペースト操作を行った場合に、クリップボード２５からデータ（ファイル情報Ｄ１又は部分データセットＤ２）を読み出すよう構成される。
【００７１】
一方、クラウドクリップボード連携部２４と連携するアプリケーション２２，２３は、例えばユーザが所定の操作を行ったことに応じて、クラウドクリップボード連携部２４に対し、クリップボード２５内のデータ（ファイル情報Ｄ１又は部分データセットＤ２）の取得を指示するよう構成される。この指示を受けたクラウドクリップボード連携部２４は、クリップボード２５内のデータを取得し、取得したデータに基づいてアップロード用の共有データＳＤを取得し、取得した共有データＳＤをストレージ３に送信する。また、アプリケーション２２，２３は、クラウドクリップボード連携部２４に対し、ストレージ３内に蓄積されている共有データＳＤのリストを表示する際のフィルタリング条件を通知する機能、この通知に応じてクラウドクリップボード連携部２４から供給されるリストをユーザに提示する機能、及び、提示したリストにおいてユーザに１又は複数の共有データＳＤを選択させ、その結果を示す選択情報をクラウドクリップボード連携部２４に通知する機能を有する。
【００７２】
ここで、フィルタリング条件は、少なくとも部分データセットＤ２にかかる共有データＳＤには適用される。また、フィルタリング条件は、後述する図５に示すソース情報Ｊ５の一部又は全部を特定するものとすることが好ましい。こうすることで、オペレーティングシステムＪ５１やアプリケーションＪ５０の違いなどのために端末装置４ａでは利用できない部分データセットＤ２を、上記リストから除外することが可能になる。また、デバイスＪ２のフィルタリング条件として所定のスタイラスを指定すれば、そのスタイラスを用いて作成した描画データのリストを簡易に得ることも可能になる。ファイル情報Ｄ１に関しては、上述したようにファイルタイプやファイル名からファイルの内容を把握できるので、このようなソース情報Ｊ５によるフィルタリング条件の適用は任意である。
【００７３】
また、ユーザに提示される共有データＳＤのリストは、例えば図４に示すページＰのような形式とすることが好適である。ページＰは、専用のビューワソフトや又は汎用のブラウザソフトによって表示される。図４に示すように、ページＰには、部分データセットＤ２である共有データＳＤの表示エリアＰＡと、ファイルである共有データＳＤの表示エリアＦＡと、貼付ボタンＢ１と、ダウンロードボタンＢ２と、削除ボタンＢ３とが設けられる。
【００７４】
表示エリアＰＡには、複数のサムネイルＴＨが表示される。このサムネイルＴＨは、端末装置４ａから共有データＳＤとともに送信される画像データに基づき、サーバ２によって共有データＳＤごとに生成される小サイズの画像である。サムネイルＴＨの詳しい内容については、後述する。また、図４の例では、表示エリアＰＡを日付ごとに表示している。この日付は、後述する管理情報Ｊ１内の作成日時Ｊ４６に対応している。表示エリアＦＡについては、共有データＳＤとともに画像データが送信されている場合には、画像データに基づいて生成されたサムネイルＴＨが表示される。また、表示エリアＦＡついても、日付ごとに表示してよいのは勿論である。
【００７５】
各サムネイルＴＨ上には、図４に示すように、チェックボックスが配置される。このチェックボックスにチェックを入れた状態でダウンロードボタンＢ２を押下するという操作が、ユーザによる１又は複数の共有データＳＤの選択操作となる。また、詳しい説明は省略するが、チェックボックスにチェックを入れた状態で削除ボタンＢ３を押すと、チェックされた共有データＳＤがストレージ３から削除される。
【００７６】
貼付ボタンＢ１は、クラウドクリップボード連携部２４に対し、クリップボード２５内のデータ（ファイル情報Ｄ１又は部分データセットＤ２）の取得を指示するための上記所定の操作に対応するボタンである。つまり、ユーザが貼付ボタンＢ１を押下すると、クラウドクリップボード連携部２４がクリップボード２５にデータを取得しに行くことになる。
【００７７】
図２に戻る。クラウドクリップボード連携部２４は、アプリケーション２２，２３、クリップボード２５、及び通信部２６との間でデータの入出力を行う機能を有するアプリケーションであり、実体としては、例えばＷＩＮＤＯＷＳ（登録商標）のダイナミックリンクライブラリ（ＤＬＬ）、スタティックライブラリ、サービスプログラム、或いは、これらの組み合わせによって構成される。
【００７８】
クラウドクリップボード連携部２４は、図２（ａ）に示すように、アップロード部２４ａと、ダウンロード部２４ｂとを有して構成される。
【００７９】
アップロード部２４ａは、アプリケーション２２，２３からの指示に応じてクリップボード２５内のデータ（ファイル情報Ｄ１又は部分データセットＤ２）を読み出し、後述する所定の処理を行うことによってアップロード用の共有データＳＤを取得するとともに、取得した共有データＳＤを、通信部２６を介してストレージ３に送信する（アップロードする）機能部である。
【００８０】
一方、ダウンロード部２４ｂは、アプリケーション２２，２３から通知されたフィルタリング条件を示すフィルタ情報をサーバ２に送信するとともに、その結果サーバ２が返送する共有データＳＤのリスト（図４に示すページＰ）を受信してアプリケーション２２，２３に転送する機能と、アプリケーション２２，２３から上記選択情報が通知された場合に、その選択情報に応じて１又は複数の共有データＳＤをストレージ３から受信し（ダウンロードし）、それが部分データセットＤ２であればクリップボード２５に展開し、ファイル情報Ｄ１であればいずれかのフォルダに格納する処理を行う機能とを有して構成される。
【００８１】
以下、アップロード部２４ａが行う上記所定の処理（ファイル情報Ｄ１又は部分データセットＤ２から共有データＳＤを取得するための処理）について、詳しく説明する。
【００８２】
アップロード部２４ａは、上記所定の処理に関して、図２（ｂ）に示すように、機能部として、データ判定部２４ａ１、フォーマット判定部２４ａ２、共有バイト列生成部２４ａ４、及び共有データ取得部２４ａ５を有して構成される。また、判定条件２４ａ３を記憶している。
【００８３】
データ判定部２４ａ１は、クリップボード２５から取得したデータについて、ファイル情報Ｄ１及び部分データセットＤ２のいずれであるかを判定する機能部である。データ判定部２４ａ１は、クリップボード２５から取得したデータのフォーマットのリストにファイル情報Ｄ１に対応するフォーマットが含まれているか否かをすることにより、この判定を行う。データ判定部２４ａ１によってファイル情報Ｄ１であると判定された場合、そのファイルの格納位置に保持されたファイルの実体データＤ１ａが共有データ取得部２４ａ５に供給される。一方、データ判定部２４ａ１によって部分データセットＤ２であると判定されたデータは、フォーマット判定部２４ａ２に供給される。
【００８４】
フォーマット判定部２４ａ２は、データ判定部２４ａ１により部分データセットＤ２であると判定されたデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定する機能部である。この判定は要するに、部分データセットＤ２が上述したタイプ１，２のいずれであるかの判定である。繰り返しになるが、タイプ１は、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトを含むデータであり、タイプ２は、それ以外のデータである。判定条件２４ａ３にはタイプ１，２を分別するための判定基準が記憶されており、フォーマット判定部２４ａ２は、判定条件２４ａ３を参照することによって上記判定を行う。
【００８５】
フォーマット判定部２４ａ２がタイプ２であると判定した場合、アップロード部２４ａはそれ以上の処理を行わない。したがって、この場合にはアップロードも行われない。一方、フォーマット判定部２４ａ２がタイプ１であると判定した場合、共有バイト列生成部２４ａ４に部分データセットＤ２が供給される。
【００８６】
共有バイト列生成部２４ａ４は、部分データセットＤ２から、画像データ１２０及び共有バイト列１２３を生成する機能部である。以下、再度図３を参照しながら、共有バイト列生成部２４ａ４の機能について、詳しく説明する。
【００８７】
上述したように、部分データセットＤ２は、例えばデータオブジェクト１０１〜１０６を含んで構成される。共有バイト列生成部２４ａ４は、このうちＤＩＢであるデータオブジェクト１０３に基づき、画像データ１２０を生成する。この画像データ１２０は、後にサーバ２がサムネイルＴＨ（図４参照）を作成する際に使用されるものであるので、サーバ２が解釈可能な形式のデータであればよい。好ましくは、他のオペレーティングシステムの端末であっても利用できることが保証されているようなラスタデータ型のフォーマットであることが好ましい。ラスタデータ型のフォーマットの例としては、上述したように、ビットマップ、ＪＰＥＧ、ＰＮＧ、ＴＩＦＦ、ＧＩＦなどが挙げられる。より好適には、ＲＧＢのデータに加え透明度をデータとして設定可能であるＰＮＧを用いることが好ましい。画像データ１２０に透明度を設定可能とすることについての利点は、後述する第３の実施の形態において詳細に説明する。
【００８８】
また、共有バイト列生成部２４ａ４は、データオブジェクト１０３及びサムネイルであるデータオブジェクト１０６以外のデータオブジェクトを取り出してクリップディクショナリ１１０を生成し、クリップディクショナリ１１０内の各データオブジェクトをシリアライズすることにより、１つの送信用の生データ１２２を生成する。そして、画像データ１２０と生データ１２２とを連結することにより、共有バイト列１２３を生成する。
【００８９】
共有バイト列生成部２４ａ４が以上のようにして生成した画像データ１２０及び共有バイト列１２３は、それぞれ共有データ取得部２４ａ５に供給される。
【００９０】
なお、ここまでの説明から理解されるように、サムネイルであるデータオブジェクト１０６は、共有データ取得部２４ａ５には供給されない。図４に示したように、サーバ２から端末装置４ａに供給される共有データＳＤのリストには各共有データＳＤのサムネイルＴＨが含まれるが、このサムネイルＴＨとしては、データオブジェクト１０６ではなく、サーバ２が画像データ１２０に基づいて独自に作成するサムネイルが使用される。これは、ファイルがアップロード対象である場合についても同様である。このような処理を行うのは、データオブジェクト１０６であるサムネイルがアプリケーション独自の形式で作成されたものであったとしても、端末装置４ａにおけるリスト表示（図４に示したページＰの表示）を適切に行えるようにするためである。
【００９１】
共有データ取得部２４ａ５は、データ判定部２４ａ１から供給されるファイルの実体データＤ１ａ、又は、共有バイト列生成部２４ａ４から供給される画像データ１２０及び共有バイト列１２３に基づいてアップロード用の共有データＳＤ（画像データ１２０及び管理情報Ｊ１を含む）を取得するとともに、取得した共有データＳＤのデータサイズＤＳ（サイズ情報）を取得する機能を有して構成される。
【００９２】
共有データ取得部２４ａ５は、初めに共有データＳＤの送信は行わず、データサイズＤＳをサーバ２に送信する。そして、その結果としてストレージ３内における共有データＳＤの格納場所を示すアドレス（ＵＲＬ:Uniform Resource Locator）がサーバ２から返送されてきた場合に、該アドレスに対して共有データＳＤと、後述する管理情報Ｊ１の一部を構成するソース情報Ｊ５とを送信する。こうして共有データＳＤのアップロードが完了する。
【００９３】
以下、共有データＳＤの具体的な内容について、詳しく説明する。
【００９４】
まず、共有バイト列生成部２４ａ４から共有データ取得部２４ａ５に画像データ１２０及び共有バイト列１２３が供給される場合、すなわち、部分データセットＤ２がアップロード対象である場合の共有データＳＤは、共有バイト列生成部２４ａ４から共有データ取得部２４ａ５に供給される画像データ１２０及び共有バイト列１２３を含んで構成される。
【００９５】
一方、共有バイト列生成部２４ａ４から共有データ取得部２４ａ５にファイルの実体データＤ１ａが供給される場合、すなわち、ファイルがアップロード対象である場合の共有データＳＤは、ファイル情報Ｄ１により示されるファイルの実体データＤ１ａを含んで構成される。なお、この場合の共有データＳＤも、部分データセットＤ２がアップロード対象である場合と同様、画像データを含まなければならないこととしてもよい。ファイルがアップロード対象である場合に画像データの存在を必須とする場合の画像データは、アップロード対象のファイルに関連する画像データとすることが好ましい。そのような画像データの具体的な例としては、例えばファイルを作成したアプリケーションを示すアイコン（オペレーションシステムのシステムフォルダに記憶されているもの）や、アプリケーションによって付与される画像データ（ファイルがｍｐ３形式の音楽ファイルである場合に付与されるＣＤジャケットの写真データなど）が挙げられる。
【００９６】
また、共有データＳＤには、アップロード対象のデータの種類によらず、図５に示す管理情報Ｊ１が含まれる。管理情報Ｊ１は共有データ取得部２４ａ５によって生成される情報であり、図５に示すように、識別情報Ｊ２、混在識別情報Ｊ３、メタ情報Ｊ４、ソース情報Ｊ５、及びストレージ情報Ｊ６を含んで構成される。
【００９７】
識別情報Ｊ２は、ストレージ３内において共有データＳＤを一意に識別するためのＩＤ情報であり、アップロード完了後にサーバ２によって設定される。したがって、共有データ取得部２４ａ５が管理情報Ｊ１を取得する時点ではブランクである。
【００９８】
混在識別情報Ｊ３は、その共有データＳＤがファイル情報Ｄ１により示されるファイルであるか部分データセットＤ２であるかを示す情報である。共有データ取得部２４ａ５は、ファイルがアップロード対象である場合に、混在識別情報Ｊ３にファイルであることを示す情報を設定し、部分データセットＤ２がアップロード対象である場合に、混在識別情報Ｊ３に部分データセットＤ２であることを示す情報を設定する。
【００９９】
メタ情報Ｊ４は、共有データＳＤの属性に関する各種情報の集合であり、具体的には、図５に示すように、ファイル名Ｊ４０、パス名Ｊ４１、属性フラグＪ４２、カテゴリＪ４３、所有者情報Ｊ４４、アクセス日時Ｊ４５、及び作成日時Ｊ４６を含んで構成される。共有データ取得部２４ａ５は、ファイルがアップロード対象である場合には、そのファイルの詳細情報に基づき、ファイル名Ｊ４０、パス名Ｊ４１、属性フラグＪ４２、カテゴリＪ４３、所有者情報Ｊ４４、及び作成日時Ｊ４６のそれぞれを設定する。一方、部分データセットＤ２がアップロード対象である場合には、作成日時Ｊ４６には現在日時を設定する一方、ファイル名Ｊ４０、パス名Ｊ４１、属性フラグＪ４２、カテゴリＪ４３、及び所有者情報Ｊ４４についてはブランクとする。アクセス日時Ｊ４５はサーバ２によって設定される情報であるので、共有データ取得部２４ａ５が管理情報Ｊ１を生成する時点ではブランクである。
【０１００】
ソース情報Ｊ５は、共有データＳＤが生成された環境に関する各種情報の集合であり、具体的には、図５に示すように、アプリケーションＪ５０、オペレーションシステムＪ５１、デバイスＪ５２を含んで構成される。共有データ取得部２４ａ５は、このうちオペレーションシステムＪ５１について、端末装置４ａのオペレーションシステムを示す情報を設定し、デバイスＪ５２について、画像データの描画に用いたスタイラスの識別情報を設定する。一方、アプリケーションＪ５０については、ファイルがアップロード対象である場合には、そのファイルを作成したアプリケーションを示す情報を設定し、部分データセットＤ２がアップロード対象である場合には、その部分データセットＤ２をクリップボード２５に書き込んだアプリケーションを示す情報を設定する。なお、クリップボード２５に格納されるデータに、そのデータを所有しているアプリケーションを示すオーナー情報が含まれている場合、共有データ取得部２４ａ５は、このオーナー情報からアプリケーションを示す情報を得ることが好適である。その他、端末装置４ａのハードウェアを示す情報なども、ソース情報Ｊ５に含めることとしてもよい。
【０１０１】
ストレージ情報Ｊ６は、ストレージ３内のアドレスに関する情報の集合であり、具体的には、図５に示すように、共有データＳＤの格納場所のアドレスを示す共有データ格納場所Ｊ６０と、サムネイルＴＨ作成用の画像データの格納場所のアドレスを示す画像データ格納場所Ｊ６１と、サムネイルＴＨ格納場所のアドレスを示すサムネイル格納場所Ｊ６２とを含んで構成される。ストレージ情報Ｊ６はストレージ３によって設定される情報であるので、共有データ取得部２４ａ５が管理情報Ｊ１を生成する時点ではブランクである。
【０１０２】
次に、サーバ２及びストレージ３の構成の詳細について、図６を参照しながら説明する。同図に示すように、サーバ２は、サービス管理部３０、クリップボードマネージャ３１、インターフェイス部３２、及び通信部３３を有して構成され、ストレージ３は、記憶領域４０、ストレージリソース管理部４１、及び通信部４２を有して構成される。
【０１０３】
通信部３３，４２はそれぞれ、所定の通信プロトコルにより、ネットワーク５を介して端末装置４ａと通信する機能を有して構成される。また、通信部３３は、サービス管理部３０及びインターフェイス部３２のそれぞれと通信する機能を有し、通信部４２は、ストレージリソース管理部４１と通信する機能を有する。
【０１０４】
サービス管理部３０は、ユーザ認証を行う機能部である。本実施の形態ではインターフェイス部３２と端末装置４ａとの間で各種データの送受信が行われるが、端末装置４ａは、この送受信を開始する前に所定のＩＤ情報を送信するよう構成される。サービス管理部３０は予め複数のＩＤ情報を記憶しており、受信したＩＤ情報が記憶されているものの中に存在するか否かを判定する。そして、存在すると判定した場合に限り、インターフェイス部３２に対し、そのＩＤ情報を送信した端末装置４ａとの通信を許可する。なお、ＩＤ情報として具体的には、ユーザがキーボードから入力するテキストデータを用いてもよいし、端末装置４ａの製造番号や上述したスタイラスに予め書き込まれている識別情報（スタイラスＩＤ）などを用いてもよい。また、ＩＤ情報に加えパスワードを使用することとしてもよい。
【０１０５】
インターフェイス部３２は、端末装置４ａと、サービス管理部３０、及びクリップボードマネージャ３１との間で送受信される各種データの中継を行う機能部であり、サービスインタフェース３２ａ，３２ｂを有して構成される。
【０１０６】
サービスインタフェース３２ａは、端末装置４ａが共有データＳＤのダウンロードを要求したことに応じて、要求された共有データＳＤの格納場所を示すアドレスをストレージ３から取得し、端末装置４ａに返送する機能を有する。端末装置４ａのダウンロード部２４ｂ（図２参照）は、こうして得られるアドレスにアクセスすることにより、ストレージ３から直接共有データＳＤをダウンロードする。サービスインタフェース３２ａはまた、上記のようにしてアドレスを取得した場合に、ストレージ３にアクセスした旨をクリップボードマネージャ３１に通知する機能も有する。
【０１０７】
サービスインタフェース３２ｂは、端末装置４ａが送信したフィルタ情報を受信し、クリップボードマネージャ３１に転送する機能を有する。フィルタ情報を受けたクリップボードマネージャ３１からは共有データＳＤのリストを示すページＰ（図４参照）が出力されるので、サービスインタフェース３２ｂは、このページＰを端末装置４ａに返送する。
【０１０８】
次に、クリップボードマネージャ３１は、ストレージ３内に記憶される共有データＳＤを管理情報Ｊ１に基づいて管理する機能部であり、ファイル情報管理部３１ａ及び部分データセット管理部３１ｂを有して構成される。
【０１０９】
ファイル情報管理部３１ａは、ファイルにかかる共有データＳＤの管理に関する各種の処理を行う機能部である。また、部分データセット管理部３１ｂは、部分データセットＤ２にかかる共有データＳＤの管理に関する各種の処理を行う機能部である。
【０１１０】
ファイル情報管理部３１ａ及び部分データセット管理部３１ｂは、共通の機能として、端末装置４ａからデータサイズＤＳが受信された場合に、そのデータサイズＤＳの共有データＳＤを格納できるか否かをストレージ３に問い合わせる処理、この問い合わせに対するストレージ３からの回答を端末装置４ａに転送する処理、共有データＳＤに画像データが含まれる場合に、その画像データ（部分データセットＤ２に関しては図３に示した画像データ１２０、ファイルに関してはそのファイルに関連する画像データ）に基づいてサムネイルＴＨ（図４参照）を作成する処理、共有データＳＤ内の識別情報Ｊ２にユニークＩＤ（ストレージ３内の共有データＳＤを一意に識別するためのＩＤ）を設定する処理、ストレージ３から出力される共有データＳＤのリストに基づいて図４に示したページＰを生成する処理、サービスインタフェース３２ａからストレージ３にアクセスした旨の通知を受けた場合に、対応する共有データＳＤに関してストレージ３内に記憶されるアクセス日時Ｊ４５（図５参照）を、その時点の日時を示す情報により更新する処理などを行う。なお、部分データセットＤ２にかかる共有データＳＤには、上述したように必ず画像データ１２０が含まれるので、部分データセット管理部３１ｂは、サムネイルＴＨの作成をすべての共有データＳＤについて行うことになる。
【０１１１】
一方、部分データセット管理部３１ｂは、固有の処理として、サービスインタフェース３２ｂから供給されるフィルタ情報に基づいてフィルタを生成してストレージ３に供給する処理を行う。この場合、ストレージ３から出力されるリストに含まれる共有データＳＤは、このフィルタを満たすもののみとなる。
【０１１２】
ストレージ３の記憶領域４０は、例えばハードディスクによって構成される記憶領域であり、共有データＳＤを記憶するために利用される。
【０１１３】
ストレージリソース管理部４１は、ストレージ３の記憶領域４０の空き領域を管理する役割を果たす機能部である。具体的には、共有データ管理部３１ａからデータサイズＤＳの共有データＳＤを格納可能か否かの問い合わせを受けた場合、記憶領域４０の空き領域のサイズを確認することにより、格納可能か否かを判定する。そして、格納可と判定した場合には、その共有データＳＤを格納すべき記憶領域４０内のアドレスを取得し、共有データ管理部３１ａに返送する。一方、格納できないと判定した場合には、その旨を共有データ管理部３１ａに返送する。
【０１１４】
また、ストレージリソース管理部４１は、端末装置４ａから記憶領域４０内のアドレスを指定して送られてきた共有データＳＤを記憶領域４０内のそのアドレスに書き込むとともに、その共有データＳＤを特定するための一時ＩＤを付与して端末装置４ａに返送する処理、共有データ管理部３１ａから上記フィルタが送られてきた場合に、そのフィルタに基づいて記憶領域４０内の共有データＳＤを抽出し、その結果を示すリストを返送する処理、共有データ管理部３１ａから上記ユニークＩＤが送られてきた場合に、そのユニークＩＤに対応する共有データＳＤの記憶領域４０内の格納場所を示すアドレスを返送する処理、端末装置４ａからこのアドレスを指定する共有データＳＤのダウンロード要求があった場合に、そのアドレスに基づいて記憶領域４０から共有データＳＤを読み出し、端末装置４ａに返送する処理などを行う。
【０１１５】
以上、本実施の形態によるデータ管理システム１の構成について説明した。次に、以上で説明した各構成が実行する処理について、図７〜図１０を参照しつつ、処理シーケンス及び処理フローの観点から再度より詳しく説明する。なお、以下では、端末装置４ａ内のアプリケーションとしてアプリケーション２２を用いる場合を例に取って説明するが、一部又は全部の処理につき他のアプリケーションを用いてもよいのは勿論である。
【０１１６】
まず、共有データＳＤのアップロードに着目して説明する。図７に示すように、アップロード処理はユーザ操作を契機として開始される（ステップＳ１）。このユーザ操作は例えば、図４を参照して説明した貼付ボタンＢ１の押下操作である。
【０１１７】
なお、貼付ボタンＢ１の押下操作に代え、クリップボード２５内のデータを更新させる操作（Ｃｔｒｌ＋Ｃの押下などのコピー操作）を上記ユーザ操作として取り扱うことも可能である。しかし、この操作をアップロード処理の契機とすると、アップロード処理の実施回数が過剰になりがちである。したがって、上記のように、クリップボード２５内のデータを更新させる操作と、アップロードの契機となる操作とは、別々に設けることが好ましい。
【０１１８】
ユーザ操作を受けたアプリケーション２２は、クラウドクリップボード連携部２４に対し、クリップボード２５内のデータ（ファイル情報Ｄ１又は部分データセットＤ２）の取得を指示する（ステップＳ２）。この指示を受けたクラウドクリップボード連携部２４は、クリップボード２５に格納されているデータを取得し（ステップＳ１２，Ｓ１３）、図８に示す共有データ取得処理Ｓ１４を実行する。
【０１１９】
共有データ取得処理Ｓ１４では、図８に示すように、まずクリップボード２５に格納されていたデータについて、ファイル情報Ｄ１であるか部分データセットＤ２であるかが判定される（ステップＳ１４０）。その結果、ファイル情報Ｄ１であった場合、クラウドクリップボード連携部２４は、ファイル情報Ｄ１により示されるファイルの実体データＤ１ａと、このファイルに関連する画像データとを、共有データＳＤとして取得する（ステップＳ１４１）。そしてさらに、ファイル情報Ｄ１により示されるファイルについての管理情報Ｊ１を生成し、共有データＳＤに付加する（ステップＳ１４２）。
【０１２０】
一方、クリップボード２５に格納されていたデータが部分データセットＤ２であった場合、クラウドクリップボード連携部２４は、そのデータに、画像データを生成可能に構成されたフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定する（ステップＳ１４３）。上述の通り、「画像データを生成可能に構成されたフォーマットにより作成されたデータオブジェクト」の例としては、図３に示したＤＩＢであるデータオブジェクト１０３が挙げられる。含まれないとの判定結果が得られた場合には、共有データＳＤの取得は行わず、処理を終了する。一方、含まれるとの判定結果が得られた場合には、ステップＳ１４４以降の処理を行う。
【０１２１】
ステップＳ１４４では、クラウドクリップボード連携部２４は、まず一つ目のデータオブジェクト（例えば図３のデータオブジェクト１０１）を取得する。そして、このデータオブジェクトがＤＩＢ（図３のデータオブジェクト１０３）であるかを判定し（ステップＳ１４５）、さらに、サムネイル（図３のデータオブジェクト１０５）であるかを判定する（ステップＳ１４７）。ステップＳ１４５でＤＩＢと判定した場合、クラウドクリップボード連携部２４は、そのデータオブジェクトに基づいて図３に示した画像データ１２０を取得し、さらにそれを共有バイト列１２３に追加する（ステップＳ１４６）。ステップＳ１４５でサムネイルでないと判定した場合、クラウドクリップボード連携部２４は、そのデータオブジェクトを共有バイト列１２３に追加する（ステップＳ１４８）。ステップＳ１４７でサムネイルであると判定した場合には、共有バイト列１２３の更新を行わない。
【０１２２】
以上の処理を行った後、クラウドクリップボード連携部２４は、部分データセットＤ２内のすべてのデータオブジェクトについての処理が終了したか否かを判定する（ステップＳ１４９）。ステップＳ１４９で終了していないと判定した場合、クラウドクリップボード連携部２４は、次のデータオブジェクトを取得して（ステップＳ１５０）、ステップＳ１４５以降の処理を繰り返す。一方、ステップＳ１４９で終了したと判定した場合、クラウドクリップボード連携部２４は、ここまでの処理で得られた共有バイト列１２３及び画像データ１２０を共有データＳＤとして取得し（ステップＳ１５１）、さらにこの共有データＳＤについての管理情報Ｊ１を生成し、共有データＳＤに付加する（ステップＳ１５２）。以上で、共有データ取得処理Ｓ１４が終了する。
【０１２３】
図７に戻る。クラウドクリップボード連携部２４は、共有データＳＤを取得できたか否かを判定し（ステップＳ１５）、取得できなかったと判定した場合には、アプリケーション２２に対してエラー通知を行う（ステップＳ１６）。一方、取得できたと判定した場合には、共有データＳＤのデータサイズＤＳを取得し、サーバ２に対して、所得したデータサイズＤＳを含むリソース確認要求を送信する（ステップＳ１７）。サーバ２は、このリソース確認要求をストレージ３に転送する（ステップＳ１８）。ストレージ３は、リソース確認要求を受けると、記憶領域４０（図６）にデータサイズＤＳ分の空き領域があるか否かを確認し、あれば、サーバ２に対し、共有データＳＤの格納場所を示すアドレス（ＵＲＬ）を含む確認結果を返送する（ステップＳ１９）。サーバ２は、この確認結果を端末装置４ａに転送する（ステップＳ２０）。
【０１２４】
クラウドクリップボード連携部２４は、共有データＳＤの格納場所を示すアドレスを含む確認結果が返送されてきたか否かを判定することによって、共有データＳＤの格納場所（リソース）を確保できたか否かを判定する（ステップＳ２１）。確保できなかったと判定した場合には、アプリケーション２２に対してエラー通知を行う（ステップＳ２２）。
【０１２５】
一方、取得できたと判定した場合、クラウドクリップボード連携部２４は、確認結果に含まれるアドレスを宛先として、共有データＳＤを送信する（ステップＳ２３）。これを受けたストレージ３は、受信した共有データＳＤを記憶領域４０に書き込み（ステップＳ２４）、上述した一時ＩＤを含む書き込み結果を端末装置４ａに返送する（ステップＳ２５）。
【０１２６】
なお、ステップＳ２３において、クラウドクリップボード連携部２４は、共有データＳＤ内に含まれる画像データ（部分データセットＤ２に関しては図３に示した画像データ１２０、ファイルに関してはそのファイルに関連する画像データ）及び管理情報Ｊ１のそれぞれをまず送信し、次いで、共有データＳＤ内のその他のデータ（ファイルの実体データＤ１ａ又は共有バイト列１２３）を送信することが好ましい。別の言い方をすれば、クラウドクリップボード連携部２４は、共有データＳＤ内に含まれる画像データ、管理情報Ｊ１、及びその他のデータを、ストレージ３内の別個の格納位置（アドレス）に対して送信することが好ましい。そして、ストレージ３は、こうして受信した画像データ、管理情報Ｊ１、及びその他のデータを、別々に記憶領域４０内に保管する（別個の格納位置に保管する）ことが好ましい。こうすることで、ストレージ３として、汎用のストレージを利用することが可能になる。
【０１２７】
詳しく説明すると、後に説明するステップＳ３０では、ストレージ３から共有データＳＤ内の画像データのみをサーバ２に取り出す必要がある。その際、通信容量の効率的な利用の観点から、ストレージ３からサーバ２に対して送るデータは（共有データＳＤの全体ではなく）画像データのみとすることが好ましいが、画像データを含む共有データＳＤの全体が１つのデータとして記憶領域４０内に保管されていると、ストレージ３からサーバ２に対して画像データのみを送るようにするためには、ストレージ３内に共有データＳＤから画像データを取り出す処理機構が必要になる。汎用のストレージにこのような処理機構を設けることは通常困難であるので、汎用のストレージを使えないということになる。これに対し、上記のようにすれば、画像データとその他のデータとが別々に記憶領域４０に保管されているのであるから、ストレージ３に上記処理機構を設けなくても、ステップＳ３０において、ストレージ３からサーバ２に対して画像データのみを送るようにすることが可能となる。したがって、ストレージ３として、汎用のストレージを利用することが可能になる。
【０１２８】
また、後に説明するステップＳ５４〜Ｓ５６（図９）では、ステップＳ５４で生成したフィルタに合致する共有データＳＤのリストをストレージ３からサーバ２に取り出す必要があるが、その際、サーバ２及びストレージ３のいずれかにおいて、各共有データＳＤがフィルタに合致するか否かを判定する必要がある。ストレージ３として汎用のストレージを利用する場合、この判定処理をストレージ３に設けることは難しいので、サーバ２で判定を行う必要があるが、管理情報Ｊ１を含む共有データＳＤの全体が１つのデータとして記憶領域４０内に保管されていると、サーバ２は、判定のために一旦すべての共有データＳＤをストレージ３から読み出さなければならないことになる。これは、通信容量の効率的な利用の観点から好ましいことではない。これに対し、上記のようにすれば、管理情報Ｊ１とその他のデータとが別々に記憶領域４０に保管されているのであるから、サーバ２は、管理情報Ｊ１だけをまず取り出して上記判定を行い、その後、フィルタに合致した共有データＳＤにかかるデータ（具体的には、管理情報Ｊ１内の識別情報Ｊ２とサムネイルＴＨ）のみを読み出せばよいことになる。したがって、通信容量を効率的に利用することが可能になり、このこともまた、ストレージ３として汎用のストレージを利用することを可能にする要因の一つとなる。
【０１２９】
なお、クラウドクリップボード連携部２４が共有データＳＤ内に含まれる画像データ、管理情報Ｊ１、及びその他のデータをストレージ３内の別個の格納位置（アドレス）に対して送信する場合、画像データの格納位置は、共有バイト列１２３などの内容を示すサムネイルＴＨを生成するために、後述するステップ２９でサーバ２がアクセスする格納位置であり、その他のデータを格納する格納位置は、サムネイルＴＨにより内容が示される共有データＳＤをダウンロードするために、後述するステップＳ７０で端末装置４ａがアクセスする格納位置である。
【０１３０】
クラウドクリップボード連携部２４は、一時ＩＤを含む書き込み結果が返送されてきたか否かを判定することによって、書き込みが完了したか否かを判定する（ステップＳ２６）。完了しなかったと判定した場合には、アプリケーション２２に対してエラー通知を行う（ステップＳ２７）。一方、完了したと判定した場合には、受信した一時ＩＤ（ストレージ３に共有データＳＤを格納したことを示す情報）をサーバ２に送信する（ステップＳ２８）。これを受けたサーバ２は、一時ＩＤを利用してストレージ３から対応する画像データを取得し（ステップＳ２９，Ｓ３０）、取得した画像データに基づいて、図４に示したサムネイルＴＨを生成する（ステップＳ３１）。そして、生成に成功したか否かを判定し（ステップＳ３２）、成功していないと判定した場合、共有データＳＤのストレージ３内への書き込みをキャンセルし、端末装置４ａに対してその旨を通知する（ステップＳ３３）。クラウドクリップボード連携部２４は、この通知を受け、アプリケーション２２に対してキャンセルされた旨を通知する（ステップＳ３４）。一方、ステップＳ３２で成功したと判定した場合、サーバ２は、上述したユニークＩＤを生成する（ステップＳ３５）。そして、サーバ２は、ステップＳ３１で生成したサムネイルＴＨを、対応する共有データＳＤと対応付けてストレージ３に格納するとともに、ステップＳ３５で生成したユニークＩＤを、対応する管理情報Ｊ１内の識別情報Ｊ２に設定する（ステップＳ３６）。以上で、共有データＳＤのアップロードに関する一連の処理が終了する。
【０１３１】
次に、共有データＳＤのダウンロードに着目して説明する。図９に示すように、ダウンロードに先駆けて、アプリケーション２２からクラウドクリップボード連携部２４に対し、共有データＳＤをフィルタリングするためのフィルタリング条件が供給される（ステップＳ５１）。フィルタリング条件は、上述したように、少なくとも部分データセットＤ２にかかる共有データＳＤには適用されるものであり、また、図５に示したソース情報Ｊ５の一部又は全部を特定するものである。クラウドクリップボード連携部２４は、供給されたフィルタリング条件を示すフィルタ情報を生成し、サーバ２に送信する（ステップＳ５３）。
【０１３２】
サーバ２は、受信したフィルタ情報に基づいてフィルタを生成し（ステップＳ５４）、生成したフィルタに合致する共有データＳＤのリストをストレージ３から取得する（ステップＳ５５，Ｓ５６）。この場合において、各共有データＳＤがフィルタに合致するか否かを判定する処理を行うのは、上述したようにサーバ２である。また、フィルタリング条件が部分データセットＤ２にかかる共有データＳＤのみに適用されるものであることから、サーバ２は、ストレージ３に記憶される複数の共有データＳＤの中から、フィルタリング条件を満たす部分データセットＤ２である１又は複数の共有データＳＤと、ファイルである１又は複数の共有データＳＤとを選択することにより、上記リストを構成することになる。なお、上記リストには、共有データＳＤごとに、少なくとも、図７のステップＳ３１においてサーバ２が生成したサムネイルＴＨと、図４に示した識別情報Ｊ２に設定されたユニークＩＤとが含まれる。サーバ２は、こうして取得したリストに基づいて図４に示したページＰを生成し（ステップＳ５７）、端末装置４ａに供給する（ステップＳ５８，Ｓ５９）。
【０１３３】
なお、図９には、ステップＳ５４におけるフィルタの生成からステップＳ５７におけるページＰの生成までが連続的に行われる場合を例示しているが、例えば、ステップＳ５４で生成したフィルタをサーバ２内に保存しておき、別途端末装置４ａから要求があった場合に、ステップＳ５５以降の処理を行って端末装置４ａにページＰを提供することとしてもよい。この場合、ステップＳ５４までの処理から相当日数が経過した後（例えば１０日後）にも、ステップＳ５５以降の処理を行うことが可能になる。
【０１３４】
ここで、フィルタの一例について説明する。この例によるフィルタリング条件は、例えば「ＷＩＮＤＯＷＳ（登録商標）」のように、オペレーションシステムに関する条件を有して構成される。この場合、部分データセットＤ２については、オペレーションシステムとして「ＷＩＮＤＯＷＳ（登録商標）」がインストールされている端末装置で作られたものしかリストに含まれなくなる。一方、ファイルについては、「ＷＩＮＤＯＷＳ（登録商標）」以外のオペレーションシステムがインストールされている端末装置で作られたものもリストに含まれることとなる。部分データセットＤ２については、異なるオペレーションシステムがインストールされている端末装置で作られたものが使える可能性がほぼないのに対し、ファイルについてはオペレーションシステムが違っても使えることが多いので、ユーザの利便性の観点から、上記のような取り扱いが好適である。
【０１３５】
アプリケーション２２は、クラウドクリップボード連携部２４を介してページＰを受け取り、ユーザに提示する（ステップＳ６０）。提示されたページＰにおいてユーザが共有データＳＤの選択操作を行い（ステップＳ６１。図４の例では、チェックボックスをチェックする操作）、さらにダウンロードを指示する（ステップＳ６２。図４の例では、１以上のチェックボックスをチェックした状態でダウンロードボタンＢ２を押下する操作）と、アプリケーション２２は、選択された１又は複数の共有データＳＤを示す選択情報をクラウドクリップボード連携部２４に供給する（ステップＳ６３）。クラウドクリップボード連携部２４は、供給された選択情報をサーバ２に転送する（ステップＳ６５）。なお、選択情報は、選択された１又は複数の共有データＳＤそれぞれのユニークＩＤにより構成することが好適である。
【０１３６】
ここで、ページＰは、部分データセットＤ２である共有データＳＤについては１つしか選択できないように、予め設計しておく必要がある。クリップボード２５には一度に１つしか部分データセットＤ２を展開できないからである。また、ユーザの混乱を防止するため、ページＰは、部分データセットＤ２である共有データＳＤと、ファイルである共有データＳＤとのいずれか一方しか同時に選択できないように設計することが好ましい。以下では、そのように設計したという前提で説明を続ける。
【０１３７】
選択情報を受信したサーバ２は、選択された１又は複数の共有データＳＤに対応する１又は複数のユニークＩＤに基づき、ストレージ３から、これらの共有データＳＤの格納場所を示すアドレス（ＵＲＬ）を取得し（ステップＳ６７）、端末装置４ａに転送する（ステップＳ６８）。このアドレスは、図５に示した管理情報Ｊ１の共有データ格納場所Ｊ６０に設定されているものである。サーバ２はまた、アドレスの転送とともに、対応する１又は複数の共有データＳＤに関して、図５に示した管理情報Ｊ１のアクセス日時Ｊ４５を現在の日時により更新する（ステップＳ６９）。
【０１３８】
クラウドクリップボード連携部２４は、サーバ２が送信したアドレスを受け取り、そのアドレスにアクセスする（ステップＳ７０）ことによって、共有データＳＤを取得する（ステップＳ７１）。そして、図１０に示す復元処理Ｓ７２を実行する。
【０１３９】
復元処理Ｓ７２では、図１０に示すように、まず選択された共有データＳＤが１つだけであるか否かが判定される（ステップＳ７２０）。上述したように、図４に示すページＰは、部分データセットＤ２である共有データＳＤについては１つしか選択できないように設計されるので、選択された共有データＳＤが複数あるということは、選択された共有データＳＤがファイルであるということを意味する。したがって、ステップＳ７２０で否定判定が得られた場合、クラウドクリップボード連携部２４は、共有データＳＤのダウンロード処理を行う（ステップＳ７２３）。このダウンロード処理では、所定のフォルダに共有データＳＤであるファイルをコピーすることとしてもよいし、管理情報Ｊ１に含まれるパス名Ｊ４１によって示されるパスに共有データＳＤであるファイルをコピーすることとしてもよい。
【０１４０】
ステップＳ７２０で肯定判定が得られた場合のクラウドクリップボード連携部２４は、次に、共有データＳＤが図３に示した共有バイト列１２３を含むか否かを判定する（ステップＳ７２１）。共有バイト列１２３を含まなければ、共有データＳＤはファイルであるということになるので、ステップＳ７２３に進んでダウンロードを実行する。一方、共有バイト列１２３を含んでいた場合には、共有データＳＤは部分データセットＤ２であるということになるので、クリップボード２５への展開を決定する（ステップＳ７２２）。
【０１４１】
図９に戻る。クラウドクリップボード連携部２４は、復元処理Ｓ７２でクリップボード２５への展開を決定したか否かを判定し（ステップＳ７３）、決定しなかったと判定した場合には、処理を終了する。この場合のユーザは、ファイルである共有データＳＤがダウンロードされたフォルダを参照することで、ファイルを得ることが可能になる。一方、決定したと判定した場合、クラウドクリップボード連携部２４は、部分データセットＤ２である共有データＳＤをクリップボード２５に展開する（ステップＳ７４）。この場合のユーザは、アプリケーション２２に対して貼り付け指示（ステップＳ７５。例えばＣｔｒｌ＋Ｐの押下）を行うことで、クリップボード２５からアプリケーション２２に共有データＳＤを読み出すことが可能になる（ステップＳ７６）。
【０１４２】
以上説明したように、本実施の形態によるデータ管理システム１によれば、クリップボード２５に格納されたデータがファイルである場合にはその中身によらず蓄積対象とする一方、クリップボード２５に格納されたデータが部分データセットＤ２である場合には、そのデータ、或いはそのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、蓄積対象とすることが可能になる。したがって、ストレージの記憶領域を効率的に利用することが可能になる。
【０１４３】
また、本実施の形態によるデータ管理システム１によれば、端末装置４ａからサーバ２に対し、部分データセットＤ２である共有データＳＤに適用されるフィルタリング条件を示すフィルタ情報を送信しているので、サーバ２が端末装置４ａに対して提示する共有データＳＤのリストから、端末装置４ａでは利用できない部分データセットＤ２を除外することが可能になる。
【０１４４】
また、本実施の形態によるデータ管理システム１によれば、端末装置４ａのユーザは、提示されたリストにおいて１又は複数の共有データＳＤを選択することで、ストレージ３から共有データＳＤをダウンロードすることが可能になる。また、ダウンロードに際して、部分データセットＤ２である共有データＳＤについてはクリップボード２５に展開し、ファイルである共有データＳＤについてはいずれかのフォルダにダウンロードする、という取り扱いが可能になる。
【０１４５】
次に、本発明の第２の実施の形態によるデータ管理システム１について、図１１及び図１２を参照しながら説明する。本実施の形態によるデータ管理システム１は、サーバ２のクリップボードマネージャ３１に情報加工部３１ｃを設ける点で第１の実施の形態によるデータ管理システム１と異なり、その他の点では、第１の実施の形態によるデータ管理システム１と同様である。したがって、第１の実施の形態によるデータ管理システム１と同様の構成には同一の符号を付し、以下では、第１の実施の形態によるデータ管理システム１との相違点に着目して説明する。
【０１４６】
情報加工部３１ｃは、これからストレージ３に格納しようとする共有データＳＤが部分データセットＤ２であり、かつデータオブジェクトのひとつとして所定のベクタデータを含んでいる場合に、該所定のベクタデータを該所定のベクタデータに比してオペレーティングシステムの差異の観点で汎用性の高い他のベクタデータに変換し、共有データＳＤに付加する処理を行う。他のベクタデータは、例えばＳＶＧなどの広く利用されている共通ベクタデータであり、この処理は、アプリケーションの独自型式によるベクタデータを様々なアプリケーションで使えるようにするために行われるものである。
【０１４７】
以下、図１２を参照して、情報加工部３１ｃが行う情報加工処理について具体的に説明する。
【０１４８】
情報加工部３１ｃは、インターフェイス部３２を通じて共有データＳＤが受信されると、まず管理情報Ｊ１内の混在識別情報Ｊ３（図５）を参照する（ステップＳ８０）。その結果、受信された共有データＳＤがファイルであった場合には、特段の処理を行わず終了する。一方、部分データセットＤ２であった場合には、次にソース情報Ｊ５を確認し、所定のソースで作られたものか否かを確認する（ステップＳ８１）。この確認を行うのは、共有データＳＤに含まれるベクタデータが情報加工部３１ｃで認識可能なベクタデータであることを確認するためである。オペレーションシステムＪ５１がＷＩＮＤＯＷＳ（登録商標）であり、かつアプリケーションＪ５０がＭＩＣＲＯＳＯＦＴ  ＥＸＣＥＬ（登録商標）又はＭＩＣＲＯＳＯＦＴ（登録商標）  ＷＯＲＤである場合に、上記所定のソースで作られた第１のフォーマットのベクタデータであると判定すればよい。
【０１４９】
ステップＳ８１で否定判定が得られた場合には、それ以上特段の処理を行わず終了する。一方、ステップＳ８１で肯定判定が得られた場合、情報加工部３１ｃは、共有データＳＤからベクタデータを取得する。そして、所定の変換ルールに従ってこのベクタデータを変換することにより共通ベクタデータを生成し（ステップＳ８３）、共有データＳＤの一部として共有データＳＤに付加する（ステップＳ８４）。これにより、共有データＳＤに共通ベクタデータが含まれることになるので、以後、この共有データＳＤを各端末装置のクリップボード２５に展開した場合、その端末装置のオペレーションシステムやその端末装置にインストールされているアプリケーションによらず、ベクタデータを利用することが可能になる。
【０１５０】
以上説明したように、本実施の形態によるデータ管理システム１によれば、ベクタデータを含むものの共通ベクタデータを含まない共有データＳＤに共通ベクタデータを含ませることができるので、汎用性の高いデータ管理システムを得ることが可能になる。
【０１５１】
なお、特許文献４に記載された電子インクなどは、例えばＭＩＣＲＯＳＯＦＴ（登録商標）  ＷＯＲＤなどのアプリケーションと連携して動作するが、当該アプリケーションによってクリップボード２５に書き込まれたデータに、必ずしも含まれるとは限らない。そこで、端末装置４ａ側で共有データＳＤを作成する際、クリップボード２５に書き込まれたデータに電子インクを示すデータオブジェクトが含まれるか否かを判定し、その結果を示すデジタルインク有無判定情報をソース情報Ｊ５に含めて送信し、サーバ２側でこのデジタルインク有無判定情報に基づいて、上記処理を行うとしてもよい。
【０１５２】
次に、本発明の第３の実施の形態によるデータ管理システム１について、図１３及び図１４を参照しながら説明する。本実施の形態によるデータ管理システム１は、端末装置４ａにおいて共有バイト列１２３を生成する処理の過程が第１の実施の形態によるデータ管理システム１と異なり、その他の点では、第１の実施の形態によるデータ管理システム１と同様である。したがって、第１の実施の形態によるデータ管理システム１と同様の構成には同一の符号を付し、以下では、第１の実施の形態によるデータ管理システム１との相違点に着目して説明する。
【０１５３】
図８と図１３を比較すると理解されるように、本実施の形態では、ステップＳ１４７の否定判定とステップＳ１４８の間にステップＳ１６０〜Ｓ１６２が設けられる。これらステップＳ１６０〜Ｓ１６２は、共有バイト列１２３に、背景部分を透明色に設定したラスタデータを含めるための処理である。以下、詳しく説明する。
【０１５４】
まず、ステップＳ１６０では、図２（ｂ）に示した共有データ取得部２４ａ５により、処理対象のデータオブジェクトがベクタデータであるか否かが判定される。この判定結果が肯定判定であった場合、共有データ取得部２４ａ５はまず、ベクタデータの背景部分を特定し、特定した背景部分を示すマップを生成する（ステップＳ１６１）。
【０１５５】
図１４（ａ）はベクタデータにより描画される図形２００であり、図１４（ｂ）は図形２００の背景部分２０１を示すマップ２０２である。図１４（ｂ）から理解されるように、マップ２０２は矩形の画像データとなる。また、背景部分２０１は、特定色（例えば白色）で塗り潰された状態となっている。
【０１５６】
続いて共有データ取得部２４ａ５は、画像データのフォーマットとして透明度を設定可能なＰＮＧ形式のフォーマットのデータであって、生成したマップの背景部分に透明色を設定してなるラスタデータを生成し、生成したラスタデータを共有バイト列１２３に付加する（ステップＳ１６２）。これにより、このラスタデータを各端末装置で利用することが可能になる。
【０１５７】
再度図１４を参照し、図１４（ｃ）はマップ２０２の背景部分２０１に透明色を設定する前の段階、図１４（ｄ）はマップ２０２の背景部分２０１に透明色を設定した後の段階をそれぞれ示している。これらの図から理解されるように、背景部分２０１に透明色を設定すると、背景部分２０１の後ろ側にある文字が透けて見えるようになる。
【０１５８】
以上説明したように、本実施の形態によるデータ管理システム１によれば、共有データＳＤに含まれるベクタデータから、背景に透明色が設定されたラスタデータを得ることが可能になる。したがって、アプリケーションの違いやオペレーティングシステムの違いによりそのベクタデータ形式のデータを解釈できないアプリケーションにおいても、あたかもベクターデータあるいはネイティブデータで生成された図形を貼り付けたかのように、図形をペーストすることが容易になる。
【０１５９】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【０１６０】
例えば、上記各実施の形態では、クリップボード２５に保持されたデータをデータオブジェクトと称したが、オペレーティングシステムの違いにより必ずしもオブジェクトとして扱われない単なるデータであっても、共有データＳＤの一部を構成するデータとすることができる。例えば、オペレーティングシステムがテキストデータをテキストデータとして扱う場合、オペレーティングシステムがテキストデータをテキストデータオブジェクトと扱う場合のいずれについても、本発明は適用可能である。
【０１６１】
また、上記各実施の形態では「クリップボード」の語を用いたが、これは例示に過ぎない。例えば、同一端末の同一オペレーティングシステム上で動作するアプリケーション間の共有メモリ領域が他の用語で呼ばれる場合についても、上記各実施の形態におけるクリップボード２５と同様に扱うことにより、本発明を適用することが可能となる。
【符号の説明】
【０１６２】
１              データ管理システム
２              サーバ
３              ストレージ
４ａ〜４ｃ      端末装置
５              ネットワーク
１０            ネットワークインターフェイスカード
１１            メモリ
１３            デジタイザ
１４            内部バス
２０            アプリケーション群
２１〜２３      アプリケーション
２２ａ，２２ｂ，２３ａ  アプリケーションプログラミングインタフェース
２４            クラウドクリップボード連携部
２４ａ          アップロード部
２４ａ１        データ判定部
２４ａ２        フォーマット判定部
２４ａ３        判定条件
２４ａ４        共有バイト列生成部
２４ａ５        共有データ取得部
２４ｂ          ダウンロード部
２５            クリップボード
２６，３３，４２  通信部
３０            サービス管理部
３１            クリップボードマネージャ
３１ａ          ファイル情報管理部
３１ｂ          部分データセット管理部
３１ｃ          情報加工部
３２            インターフェイス部
３２ａ，３２ｂ  サービスインタフェース
４０            記憶領域
４１            ストレージリソース管理部
４２            通信部
１０１〜１０６  データオブジェクト
１１０          クリップディクショナリ
１２０          画像データ
１２２          生データ
１２３          共有バイト列
２００          ベクタデータ
２０１          背景部分
２０２          マップ
Ｂ１            貼付ボタン
Ｂ２            ダウンロードボタン
Ｂ３            削除ボタン
Ｄ１            ファイル情報
Ｄ１ａ          ファイルの実体データ
Ｄ２            部分データセット
Ｊ１            管理情報
Ｊ２            識別情報
Ｊ３            混在識別情報
Ｊ４            メタ情報
Ｊ４０          ファイル名
Ｊ４１          パス名
Ｊ４２          属性フラグ
Ｊ４３          カテゴリ
Ｊ４４          所有者情報
Ｊ４５          アクセス日時
Ｊ４６          作成日時
Ｊ５            ソース情報
Ｊ５０          アプリケーション
Ｊ５１          オペレーションシステム
Ｊ５２          デバイス
Ｊ６            ストレージ情報
Ｊ６０          共有データ格納場所
Ｊ６１          画像データ格納場所
Ｊ６２          サムネイル格納場所
Ｐ              ページ
ＰＡ            部分データセットＤ２である共有データＳＤの表示エリア
ＦＡ            ファイルである共有データＳＤの表示エリア
【要約】
【課題】クリップボードに格納されたデータがファイルである場合にはその中身によらず蓄積対象とする一方、クリップボードに格納されたデータがファイル情報でない場合には、そのデータ、或いはそのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、そのデータを蓄積対象とする。
【解決手段】端末装置４ａは、アップロード対象のデータがファイルであるか部分データセットＤ２であるかを判定するデータ判定部２４ａ１と、データ判定部２４ａ１により部分データセットＤ２であると判定されたアップロード対象のデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部２４ａ２とを有する。
【選択図】図２【図１】
0005813903.tif 000002
【図２】
0005813903.tif 000003
【図３】
0005813903.tif 000004
【図４】
0005813903.tif 000005
【図５】
0005813903.tif 000006
【図６】
0005813903.tif 000007
【図７】
0005813903.tif 000008
【図８】
0005813903.tif 000009
【図９】
0005813903.tif 000010
【図１０】
0005813903.tif 000011
【図１１】
0005813903.tif 000012
【図１２】
0005813903.tif 000013
【図１３】
0005813903.tif 000014
【図１４】
0005813903.tif 000015