JPWO2016067376A1 - 端末装置、データ管理システム、方法、プログラム - Google Patents

端末装置、データ管理システム、方法、プログラム Download PDF

Info

Publication number
JPWO2016067376A1
JPWO2016067376A1 JP2015506427A JP2015506427A JPWO2016067376A1 JP WO2016067376 A1 JPWO2016067376 A1 JP WO2016067376A1 JP 2015506427 A JP2015506427 A JP 2015506427A JP 2015506427 A JP2015506427 A JP 2015506427A JP WO2016067376 A1 JPWO2016067376 A1 JP WO2016067376A1
Authority
JP
Japan
Prior art keywords
data
shared
terminal device
shared data
file
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.)
Granted
Application number
JP2015506427A
Other languages
English (en)
Other versions
JP5813903B1 (ja
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.)
Wacom Co Ltd
Original Assignee
Wacom Co Ltd
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 Wacom Co Ltd filed Critical Wacom Co Ltd
Application granted granted Critical
Publication of JP5813903B1 publication Critical patent/JP5813903B1/ja
Publication of JPWO2016067376A1 publication Critical patent/JPWO2016067376A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1794Details of file format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1787Details of non-transparently synchronising file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】クリップボードに格納されたデータがファイルである場合にはその中身によらず蓄積対象とする一方、クリップボードに格納されたデータがファイル情報でない場合には、そのデータ、或いはそのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、そのデータを蓄積対象とする。【解決手段】端末装置4aは、アップロード対象のデータがファイルであるか部分データセットD2であるかを判定するデータ判定部24a1と、データ判定部24a1により部分データセットD2であると判定されたアップロード対象のデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部24a2とを有する。【選択図】図2

Description

本発明は端末装置、データ管理システム、及びサーバ装置に関し、特に、クリップボードに格納されたデータの複数の端末間での共有を実現する端末装置、データ管理システム、及びサーバ装置に関する。
近年注目されているクラウドコンピューティングシステムのひとつに、ファイル管理システムがある。ファイル管理システムはユーザのファイルをサーバのストレージに保存可能とするシステムであり、対象のファイルは、ユーザの1又は複数の端末とサーバとの間で同期される。ファイル管理システムを使えば、ユーザは、端末を意識せずにファイルを取り扱うことが可能になる。
また、一般的な端末のオペレーティングシステムは、クリップボードやペーストボードなどと呼ばれるアプリケーション間でのデータを共有するための一時記憶領域(以下、「クリップボード」と総称する)を備えて構成される。クリップボードを使えば、ユーザは、あるアプリケーションで使用中のデータ(例えば描画中の画像データ)を、簡単な操作で他のアプリケーションに渡すことが可能になる。
特許文献1,2には、クリップボード内のデータを複数の端末間で共有できるようにした技術が開示されている。また、特許文献3には、1つの端末内のアプリケーション間でクリップボードを使用して画像データを転送する際に、転送先のアプリケーションの種類に応じた画像処理を画像データに施す技術が開示されている。特許文献4には、クリップボードを介して、電子インクの情報をコピー・ペーストする技術が開示されている。
特開平7−271735号公報 特開2002−288124号公報 特開2006−053872号公報 特開2010−020795号公報
ところで近年、電子ペンを用いる画像描画ソフトウェアを、パソコンだけでなく携帯型のタブレット端末でも使用することが増えている。これに伴い、ユーザの要望として、携帯型のタブレット端末で描画中の画像データを、簡単な操作でパソコンに移動できるようにすること、或いはその逆、が求められるようになっている。
また、元来クリップボードのデータは一時的なデータ交換に用いられるものであるが、ユーザが通勤時間中にタブレット端末を用いて描画した部分的な画像データを、会社についた後にパソコンから利用したいなど、時間を置いてから利用したいと言った要望がある。
このような要望に対して、上述したクリップボード内のデータをサーバに蓄積し、複数の端末から利用可能とするデータ管理システムの構築が考えられる。こうすれば、ユーザは、画像データをコピーする操作(クリップボードに貼り付ける操作)と、コピーした画像データをサーバに転送する操作とを行うことにより、後の時点において、その画像データを他の端末から利用することが可能になる。
しかしながら、クリップボードに格納されるデータは多種多様であり、中には、上記のようなデータ管理システムで蓄積対象としない方が好ましいデータもある。以下、詳しく説明する。
一般的に、クリップボードには2種類のデータが記憶される。ひとつは上述した描画中の画像データのようなアプリケーションで使用中のデータ(以下、「部分データセット」という)であり、アプリケーションのユーザインターフェイス上でユーザがコピー操作(例えば描画ソフトであれば、画像の範囲を選択してコピーボタンを押下する操作)を行うことにより、クリップボードに格納される。他のひとつはファイルを示す情報(以下、「ファイル情報」という)であり、オペレーティングシステムのファイルマネージャーにおいてファイルのコピー操作(例えばWINDOWS(登録商標)であれば、ファイルを選択した状態でCtrl+Cを押下する操作)を行うことにより、クリップボードに記憶される。
ファイルは、永続的に使用されることを前提に、規格化されたフォーマット(ファイル形式)に基づいて、ある程度規則のパターン数が制限されたデータである。計算機は、拡張子やファイルタイプによりそのファイルを処理するためのアプリケーションを把握でき、人間は、ファイルに付与されたファイル名や対応するアプリケーションでそのファイルを開くことによりそのファイルの内容を推測あるいは把握することができる。したがって、ファイル情報については、すべてを蓄積対象としてもコンテンツの管理上の問題は生じない。
これに対し、部分データセットは、揮発性メモリで一時的にのみ利用されることを前提に、アプリケーションが自由に定めるデータ構造に基づいて、規則のパターン数が略無数に存在するデータである。計算機は、拡張子などによっては処理すべきアプリケーションを特定することはできず、またファイル名が付与されていないため人間もそのコンテンツの中身を推測するすべがない。したがって、部分データセットのすべてを蓄積対象とすると、計算機も人間も把握不能な大量のデータの倉庫が出来上がってしまう。使われないデータを蓄積することは、通信回線に負荷を与えストレージの記憶領域の無駄遣いとなる上、ユーザにとって使い勝手が悪いものとなる。
したがって、本発明の目的のひとつは、クリップボードに格納されたデータがファイルであっても部分データセットであっても蓄積対象とすることのできる端末装置、データ管理システム、及びサーバ装置を提供することにある。
より特定的には、クリップボードに格納されたデータがファイル情報である場合には対象のファイルの中身によらず蓄積可能とする一方、クリップボードに格納されたデータがファイル情報でない場合には、データの中に含まれるデータオブジェクトのうちの少なくとも一つが人間にとって認識可能なものである場合に限り、クリップボードに格納されたデータを蓄積対象とすることのできる端末装置、データ管理システム、及びサーバ装置を提供することにある。
本発明による端末装置は、サーバ装置と通信可能なストレージ装置に対しデータをアップロードする端末装置であって、アップロード対象のデータがファイルであるかアプリケーションが使用している部分データセットであるかを判定するデータ判定部と、前記データ判定部により部分データセットであると判定された前記アップロード対象のデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部と、前記フォーマット判定部により含まれると判定された場合に、前記アップロード対象のデータから画像データ及び共有バイト列を生成する共有バイト列生成部と、前記データ判定部によりファイルであると判定された場合に前記アップロード対象のデータを共有データとして前記ストレージ装置に対して送信する一方、前記データ判定部により部分データセットであると判定された場合に前記画像データ及び前記共有バイト列を共有データとして前記ストレージ装置に対して送信する共有データ取得部とを備える。
本発明によれば、クリップボードに格納されたデータがファイル情報である場合には対象のファイルの中身によらず蓄積対象とする一方、クリップボードに格納されたデータがファイル情報でない場合には、そのデータ、或いはそのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、そのデータを蓄積対象とすることが可能になる。
上記端末装置において、前記共有データ取得部は、前記データ判定部により部分データセットであると判定された場合に、前記画像データと前記共有バイト列とを前記ストレージ装置の別個の格納位置に対し送信することとしてもよい。また、前記画像データを格納する格納位置は、前記サーバ装置が前記共有バイト列の内容を示すサムネイル情報を生成するためにアクセスされる格納位置であり、前記共有バイト列を格納する格納位置は、前記サムネイル情報により内容が示される前記共有バイト列にアクセスするための格納位置であることとしてもよい。これによれば、ストレージ装置内に共有データから画像データを取り出す処理機構を設ける必要がなくなるので、ストレージ装置として汎用のストレージを利用することが可能になる。
また、上記各端末装置において、前記共有データ取得部は、前記共有データがファイル及び部分データセットのいずれであるかを示す混在識別情報を前記サーバ装置に送信することとしてもよい。これによれば、サーバ装置は、混在識別情報に基づき、そのデータがファイル及び部分データセットのいずれであるかを判定することが可能になる。
また、上記各端末装置において、前記共有データ取得部は、前記データ判定部により部分データセットであると判定された場合に、前記アプリケーションの種別及びオペレーションシステムの種類を示すソース情報を取得し、前記共有バイト列とは別に前記サーバ装置に対して送信する。これによれば、サーバ装置は、すべての共有データをストレージ装置から読み出すことなく、ソース情報に基づいてフィルタリングを行うことが可能になる。
また、上記各端末装置において、前記所定のフォーマットはラスタデータ型のフォーマットであり、前記共有バイト列生成部は、前記ラスタデータ型のフォーマットにより作成されたデータオブジェクトに基づいて前記画像データを生成することとしてもよい。こうすることで、共有バイト列生成部による画像データの生成を確実に行えるようになる。
この端末装置において、前記ラスタデータ型のフォーマットは、少なくとも、ビットマップ、JPEG、TIFF、及び、GIFのいずれか1つを含み、前記共有バイト列生成部は、前記ラスタデータ型のフォーマットとは異なる他のラスタデータ型のフォーマットで前記画像データを生成することとしてもよい。これによれば、共有バイト列生成部が生成する画像データを、他のラスタデータ型のフォーマットによる画像データとすることが可能になる。
また、この端末装置においてさらに、前記共有バイト列生成部は、前記他のラスタデータ型のフォーマットとして、透明度を設定可能なフォーマットにて前記画像データを生成することとしてもよい。また、前記透明度を設定可能なフォーマットは、PNG形式の画像データであることとしてもよい。これによれば、共有バイト列生成部による画像データの生成を確実に行えるようになる。
また、上記各端末装置において、前記共有バイト列生成部は、前記フォーマット判定部により含まれると判定された場合に、前記アップロード対象のデータに含まれるデータオブジェクト以外の部分を背景として含む矩形画像データを生成し、生成した矩形画像データの背景部分に透明色を設定してなるラスタデータを前記画像データとして生成することとしてもよい。これによれば、アップロード対象のデータに含まれるデータオブジェクトを含み、それ以外の部分を透明とした矩形画像データを画像データとして得ることが可能になる。
また、上記各端末装置において、前記共有バイト列生成部は、前記アップロード対象のデータに含まれる1又は複数のデータオブジェクトのうちサムネイルであるデータオブジェクトを除く部分に基づいて、前記共有バイト列を生成することとしてもよい。これによれば、アプリケーション独自の形式で作成されたものである可能性のあるサムネイルを、共有データから除外することが可能になる。
また、上記各端末装置において、前記データ判定部は、クリップボード内のデータを更新させる操作とは異なるユーザ操作に応じて、該クリップボードから前記アップロード対象のデータを取得するよう構成されることとしてもよい。これによれば、端末装置からストレージ装置への共有データの送信回数が過剰になることを防止できる。
また、本発明によるデータ管理システムは、上記各端末装置のいずれかと、サーバ装置とを備え、前記共有データ取得部は、前記共有データを前記ストレージ装置に対して送信する前に該共有データのサイズ情報を取得し、該サイズ情報を前記サーバ装置に対して送信し、前記サーバ装置は、前記サイズ情報に基づいて前記ストレージ装置が前記共有データを格納できるか否かを確認し、確認の結果を示す情報を前記端末装置に対して送信し、前記共有データ取得部は、前記情報に応じて前記共有データの送信を行うこととしてもよい。これによれば、ストレージ装置に格納可能な場合にのみ共有データを送信するように端末装置を構成することができるので、無駄な送信を回避することが可能になる。
また、このデータ管理システムにおいて、前記共有データ取得部は、前記ストレージ装置に対して前記共有データを送信した後、前記サーバ装置に対して、前記ストレージ装置に前記共有データを格納したことを示す情報を送信することとしてもよい。これによれば、端末装置からサーバ装置に、サムネイルを生成する契機を与えることができる。
また、これらのデータ管理システムにおいて、前記サーバ装置は、前記端末装置から受信した前記共有データが部分データセットであり、かつ所定のベクタデータを含んでいる場合に、該所定のベクタデータを該所定のベクタデータに比してオペレーティングシステムの差異の観点で汎用性の高い他のベクタデータに変換する情報加工部を有することとしてもよい。これによれば、オペレーションシステムやインストールされているアプリケーションによらず、任意の端末装置においてベクタデータを利用することが可能になる。
また、上記各データ管理システムにおいて、前記共有データは、該共有データがファイル及び部分データセットのいずれにかかるものであるかを示す混在識別情報を含み、前記ストレージ装置は、前記混在識別情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成されることとしてもよい。これによれば、サーバ装置は、混在識別情報を参照することで、その共有データがファイル及び部分データセットのいずれであるかを判定することが可能になる。
また、上記各データ管理システムにおいて、前記共有データは、該共有データを作成したアプリケーションを示すソース情報を含み、前記ストレージ装置は、前記ソース情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成されることとしてもよい。これによれば、サーバ装置は、ソース情報を参照することで、その共有データを作成したアプリケーションを把握することが可能になる。
本発明の他の一側面によるデータ管理システムは、それぞれファイル又は部分データセットである複数の共有データを送信する端末装置と、前記端末装置が送信した前記複数の共有データを記憶するストレージ装置と、サーバ装置とを備え、前記端末装置は前記サーバ装置に対し、前記部分データセットである1又は複数の前記共有データに適用されるフィルタリング条件を示すフィルタ情報を送信し、前記サーバ装置は、前記ストレージ装置に記憶される前記複数の共有データの中から、前記フィルタリング条件を満たす前記部分データセットである1又は複数の前記共有データと、前記ファイルである1又は複数の前記共有データとを選択し、選択した1又は複数の前記共有データのリストを前記端末装置に提示するよう構成される。これによれば、サーバ装置が端末装置に提示するリストから、その端末装置では利用できない部分データセットを除外することが可能になる。
上記データ管理システムにおいて、前記サーバ装置は、ファイルの一覧及び部分データセットの一覧を提示するものであり、少なくとも前記部分データセットについて、その中に含まれるデータオブジェクトに基づいて該サーバ装置が生成したサムネイルを含むこととしてもよい。これによれば、端末装置では、少なくとも部分データセットについて、サムネイルを含む共有データのリストをユーザに提示することが可能になる。
また、上記各データ管理システムにおいて、前記フィルタリング条件は、前記部分データセットを作成したアプリケーションを示すソース情報を含むこととしてもよい。これによれば、サーバ装置が端末装置に提示するリストから、その端末装置にインストールされていないアプリケーションで作成された部分データセットを除外することが可能になる。
また、上記各データ管理システムにおいて、前記フィルタリング条件は、前記端末装置のオペレーティングシステムを示すソース情報を含み、前記サーバ装置は、前記部分データセットである1又は複数の前記共有データのうち、基本ソフトとして前記ソース情報により示されるオペレーティングシステムがインストールされた端末装置で作成された前記共有データを選択するよう構成されることとしてもよい。これによれば、端末装置と同じオペレーションシステムが基本ソフトとしてインストールされている端末装置以外で作成された部分データセットを、サーバ装置が端末装置に提示するリストから除外することが可能になる。
また、上記各データ管理システムにおいて、前記端末装置は、前記サーバ装置から提示された前記リストの中から1又は複数の共有データを選択し、選択した前記1又は複数の共有データを示す選択情報を前記サーバ装置に対して送信するよう構成され、前記サーバ装置は、前記端末装置から送信された前記選択情報に基づいて前記ストレージ装置から1又は複数の前記共有データを読み出し、読み出した前記1又は複数の共有データを前記端末装置に対して送信するよう構成されることとしてもよい。これによれば、端末装置に共有データをダウンロードすることが可能になる。
また、このデータ管理システムにおいて、前記端末装置は、前記サーバ装置から前記部分データセットである前記共有データを受信した場合に該共有データをクリップボードに展開する一方、前記サーバ装置から前記ファイルである前記共有データを受信した場合に該共有データを所定のフォルダにコピーするよう構成されることとしてもよい。これによれば、共有データのダウンロードを、その種類に応じて好適にダウンロードすることが可能になる。
また、本発明によるサーバ装置は、それぞれファイル又は部分データセットである複数の共有データを送信する端末装置、及び、前記端末装置が送信した前記複数の共有データを記憶するストレージ装置と通信可能に構成されたサーバ装置であって、前記ストレージ装置に記憶される前記複数の共有データの中から、所与のフィルタリング条件を満たす前記部分データセットである1又は複数の前記共有データと、前記ファイルである1又は複数の前記共有データとを選択し、選択した1又は複数の前記共有データのリストを前記端末装置に提示するよう構成される。
本発明によれば、クリップボードに格納されたデータがファイル情報である場合には対象のファイルの中身によらず蓄積対象とする一方、クリップボードに格納されたデータがファイル情報でない場合には、そのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、そのデータを蓄積対象とすることが可能になる。
本発明の好ましい第1の実施の形態によるデータ管理システム1のシステム構成を示す図である。 (a)は、図1に示した端末装置4aの機能ブロックを示す略ブロック図であり、(b)は、(a)に示したアップロード部24aの機能ブロックを示す略ブロック図であり、(c)は、(a)に示したダウンロード部24bの機能ブロックを示す略ブロック図である。 図2に示したクリップボード25に記憶される部分データセットD2と、共有バイト列123及び画像データ120との関係を示す図である。 ユーザに提示される共有データSDのリストの一例であるページPを示す図である。 共有データSDに付加される管理情報J1の構成を示す図である。 図1に示したサーバ2及びストレージ3の機能ブロックを示す略ブロック図である。 共有データSDを端末装置4aからストレージ3にアップロードする処理のシーケンスを示す図である。 図7に示した共有データ取得処理の詳細を示す処理フロー図である。 図4に示したページPを端末装置4aにてユーザに提示し、ページPにおけるユーザの選択に応じて、ストレージ3から端末装置4aに共有データSDをダウンロードする処理のシーケンスを示す図である。 図9に示した復元処理の詳細を示す処理フロー図である。 本発明の好ましい第2の実施の形態によるサーバ2及びストレージ3の機能ブロックを示す略ブロック図である。 図11に示した情報加工部31cが行う情報加工処理の詳細を示す処理フロー図である。 本発明の好ましい第3の実施の形態による共有データ取得処理の詳細を示す処理フロー図である。 (a)は、図1に示した部分データセットD2に含まれるベクタデータ200を示す図であり、(b)は、(a)に示したベクタデータ200から生成したマップ202を示す図であり、(c)は、(b)に示したマップ202の背景部分201に不透明色を設定する場合の例を示す図であり、(d)は、(b)に示したマップ202の背景部分201に透明色を設定する場合の例を示す図である。
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
本発明の第1の実施の形態によるデータ管理システム1は、図1に示すように、サーバ2(サーバ装置)、ストレージ3(ストレージ装置)、端末装置4a〜4c、及びネットワーク5を備えて構成される。
端末装置4aは、例えばデスクトップ型のパソコンであり、ネットワークインターフェイスカード(NIC)10、メモリ11、中央処理装置(CPU)12、デジタイザ13、及び内部バス14を有して構成される。なお、ここでは入力手段の一例としてデジタイザ13を例示しているが、端末装置4aが他の入力手段、例えばキーボードやマウスを有していてもよいのは勿論である。また、図示していないが、端末装置4aは、ディスプレイやスピーカなどの各種出力手段を有して構成される。
ネットワークインターフェイスカード10は、内部バス14上を流れるデータの宛先が外部である場合に、そのデータを取り込んでネットワーク5に出力するとともに、ネットワーク5上を流れるデータの宛先が端末装置4aである場合に、そのデータを取り込んで内部バス14に出力する機能を有する。
メモリ11は、DRAM(Dynamic Random Access Memory)などの揮発性メモリを含む主記憶装置と、ハードディスクなどの不揮発性メモリを含む補助記憶装置とを有して構成される。メモリ11には、CPU12の動作を規定するプログラムや、CPU12によって利用される各種のデータが格納される。
メモリ11に記憶されるプログラムには、端末装置4aの基本ソフトであるオペレーションシステムを実現するためのプログラム、オペレーションシステム上で動作する各種のアプリケーションを実現するためのプログラム(アプリケーションプログラム)、ネットワークインターフェイスカード10を通じたデータの入出力(通信)を実現するためのプログラム(通信プログラム)などが含まれる。
一方、メモリ11に記憶される各種のデータには、バイナリファイル及びテキストファイルを含む各種のファイルの他、アプリケーション間でのやり取りのために一時的に記憶されるデータ(一時記憶データ)が含まれる。この種のデータは、メモリ11上に確保された揮発性の領域であるクリップボードに記憶される。クリップボード及びクリップボードに記憶されるデータの種別の詳細については、後ほど別途説明する。
CPU12は、メモリ11に記憶されるプログラム及びデータに従って動作することで、内部バス14を通じて、端末装置4aの各部の制御を含む各種の処理を実行するよう構成される。CPU12が行う処理には、端末装置4aの入力手段を通じてユーザの入力を受け付ける処理や、端末装置4aの出力手段を通じてユーザに情報を提示する処理が含まれる。後ほど説明する端末装置4aの各種機能は、CPU12がメモリ11に記憶されるプログラムに従って動作することにより実現される。
デジタイザ13は、ペン状のポインティングデバイス(スタイラス)と、板状の位置検出装置とを含んで構成される入力装置である。デジタイザ13は、位置検出装置上におけるスタイラスの位置やスタイラスの種別を検出する機能を有しており、検出結果により示されるスタイラスの軌跡やスタイラスの識別番号などを、図示しないI/Oを経由し内部バス14を通じてCPU12に出力するよう構成される。
端末装置4bは、タブレット型コンピュータである。また、端末装置4cは、スマートフォンである。詳細な説明は省略するが、端末装置4b,4cはいずれも端末装置4aと同様の機能を有しており、それぞれが本実施の形態によるデータ管理システム1における端末装置を構成する。なお、データ管理システム1においては、端末装置4a〜4cの他にも各種のコンピュータを端末装置として利用することが可能である。以下では、例として端末装置4aのみを取り上げて説明するが、端末装置4b,4cを含む他の端末装置についても同様である。
ネットワーク5は、インターネット、イントラネット、エクストラネット、電話網、移動通信網などの各種ネットワークの1つ又は複数によって構成される通信ネットワークである。
サーバ2は、クライアントサーバモデルにおけるサーバを構成するコンピュータであり、ネットワーク5を通じ、クライアントサーバモデルにおけるクライアントを構成する端末装置4aと通信可能に構成される。
ストレージ3は大容量の記憶領域を備えた記憶装置であり、サーバ2と通信可能に構成されたサーバ2とは別体の装置である。ストレージ3の具体的な例としては、近年注目されているクラウドストレージサービスにおける記憶領域が挙げられる。このように、サーバ2とは異なる外部のストレージ3を利用した場合にも不整合なく部分データセットとファイルの両方を利用できるようにした点は、本発明の特徴のひとつであり、詳しくは後述する。ただし、本発明においてサーバ2とストレージ3を互いに別体の装置とすることは必須ではなく、ストレージ3をサーバ2の一部としてもよい。また、サーバ2を複数のコンピュータによって構成してもよく、この場合、後述するサーバ2の各種機能を複数のコンピュータに分散して実行することとしてもよい。
本実施の形態による端末装置4aは、クリップボード内に一時的に記憶しているデータをストレージ3にアップロード可能に構成される。また、自端末装置又は他の端末装置がストレージ3にアップロードしたデータを、後にダウンロード可能に構成される。以下、これらの機能について詳しく説明する。
図2に示すように、端末装置4aは機能的に、アプリケーション21〜23及びクラウドクリップボード連携部24を含むアプリケーション群20と、クリップボード25と、通信部26とを備えて構成される。なお、クラウドクリップボード連携部24は、他のアプリケーション21〜23と同様、端末装置4aで動作するアプリケーションのひとつである。
通信部26は、図1に示したCPU12が上述した通信プログラムに従ってネットワークインターフェイスカード10を制御することにより実現される機能部であり、所定の通信プロトコルにより、ネットワーク5を介してサーバ2及びストレージ3のそれぞれと通信するよう構成される。また、通信部26は、クラウドクリップボード連携部24との通信も行う。
クリップボード25は、上述したように、アプリケーション間でやり取りされるデータを一時的に記憶可能に構成されたメモリ11(図1参照)内の領域であり、オペレーションシステムによりメモリ11内に確保される。クリップボード25内のデータは、書き込みが行われる都度、すべて新しいデータに置き換えられる。例えば、同時に2つのアプリケーションを利用している場合、ある1つのアプリケーションがクリップボード25への書き込みを行うと、他方のアプリケーションによって以前にクリップボード25に書き込まれていたデータはすべて消去され、上書きされる。アプリケーションの機能としてクリップボード25の記憶内容の履歴を持つことも可能であるが、少なくともシステムとしては、1回分しかデータを保持することができない。また、クリップボード25は上述したように揮発性の領域であることから、クリップボード25内のデータは、端末装置4aの電源OFFなどにともない消去される。
クリップボード25に記憶されるデータには、図2(a)に示すように、ファイル情報D1及び部分データセットD2という2種類のデータが含まれる。CPU12は、オペレーティングシステムのファイルマネージャーや各種アプリケーションからの制御に応じて、これら2種類のデータのうちのいずれかをクリップボード25に書き込むよう構成される。
一例を挙げると、例えばファイルマネージャーの一種であるWINDOWS(登録商標)エクスプローラにおいて、ユーザが1又は複数のファイルを選択し、さらにCtrl+Cを押下すると、CPU12は、メモリ11内におけるファイルの格納場所を示す情報であるパス名を、ファイル情報D1としてクリップボード25に書き込む。ファイル情報D1は、このようにファイルそのものではなく、ファイルの格納場所を示す情報である。ファイルの実体は通常、揮発性メモリ上ではなく外部記憶装置に存在する。
また、例えばアプリケーションの一種である株式会社ワコムのバンブー(登録商標)ペーパーの描画画面上において、ユーザが任意の範囲を選択し、さらにコピーボタンを押下すると、CPU12は、その範囲内に描画されていた画像データに関連する各種の情報を、互いに異なるフォーマットで作成された1以上のデータオブジェクトの集合である部分データセットD2としてクリップボード25に書き込む。このように、部分データセットD2は、ある時点でクリップボード25に保持された1以上のデータオブジェクトを含むデータである。他の言い方をすれば、部分データセットD2は、あるアプリケーションにより作成されたデータであって、実体データがクリップボード25上に存在し、それそれが1つのファイルを構成する要素となり得る部分的なデータの集合とも言える。
部分データセットD2として書き込まれる上記各種の情報の具体的内容はアプリケーションによって様々であるが、代表的には、図3に例示するデータオブジェクト101〜106を含んで構成される。
データオブジェクト101は、標準的なテキスト形式のデータである。例えば、ユーザが選択した領域の中に画像と文字列とが混在していた場合に、文字列部分がデータオブジェクト101として抽出される。
データオブジェクト102は、アプリケーションが独自に設定するネイティブ形式のデータ(ネイティブデータ)である。例えば、プレゼンテーションアプリケーションのデータであれば、そのプレゼンテーションアプリケーション独自のデータ構造をもったデータとなる。
データオブジェクト103は、データオブジェクト102と同じデータを、典型的には、矩形の画素データを記述するラスタデータ型のフォーマットに変換してなるデータである。ラスタデータ型のフォーマットの例としては、JPEG,PNG、TIFF、GIF、ビットマップなどがあげられる。図3の例では、特に、ラスタデータ型のフォーマットのうち、アプリケーションに依存しない共通形式であるビットマップ形式であるビットマップデータ(DIB:Device Independent Bitmap)であるとしている。なお、データオブジェクト103は、コピーされたデータが所定のフォントで記載された文字列のみを含むテキストである場合であっても、所定のフォントで生成された該テキストをビットマップ化することによって生成される場合がある。
データオブジェクト104は、アプリケーションが任意に設定できる形式によるベクタデータである。ベクタデータの例としては、CAD(Computer Aided Design)データ、SVG(Scalable Vector Graphics)データ、特許文献4に記載されている電子インクのデータなどが挙げられる。本実施の形態によるデータオブジェクト104は、あるアプリケーションにおけるユーザの選択操作により選択され、クリップボード25に保持された対象物の形状を示すベクトルデータである。
データオブジェクト105は、フォントを示すデータである。データオブジェクト106は、矩形のデータであるデータオブジェクト103を縮小してなるサムネイル画像データである。
ここで、本実施の形態においては、部分データセットD2を2種類に分別して利用する。1つ目は、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトを含むもの(タイプ1)であり、2つ目は、それ以外のもの(タイプ2)である。所定のフォーマットは、例えば上述したDIB(データオブジェクト103)とすることが好適である。
例えば、オペレーティングシステムがWINDOWS(登録商標)である場合、部分データセットD2が「画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトを含むものであるか否か」の判定は、ClipboardクラスのContainsImageメソッドにより行うことができる。なお、この場合、クリップボード25に格納された1又は複数のデータオブジェクトの各々を取得するには、EnumClipboardFormatsメソッドやGetClipboardDataメソッドなどのAPI関数を用いればよい。こうすることで、各々のフォーマットを分別しつつ、各々のデータオブジェクトを取得することができる。また、この場合における「画像データを生成可能に構成された所定のフォーマット」の具体例としては、上述DIBの他にも、CF_DIBやJFIFなどが挙げられる。一方、画像データを生成可能に構成されていないフォーマットの具体例としては、CF_LOCALE、CF_MAX、CF_TEXTなどが挙げられる。
また、オペレーティングシステムがMac OS X(登録商標)である場合の上記判定は、NSPasteboardのtypesプロパティやavailableTypeFromArrayメソッドにより行うことができる。さらに、オペレーティングシステムがAndroid(登録商標)である場合の上記判定は、android.content.ClipboardManagerのgetUriメソッドにより行うことができる。
図2に戻る。アプリケーション21は、クリップボード25を利用する一方、クラウドクリップボード連携部24と連携する機能を有しないアプリケーションである。また、アプリケーション22は、クリップボード25を利用し、かつ、クラウドクリップボード連携部24と連携する機能を有するアプリケーションである。クラウドクリップボード連携部24との連携は、例えば、クラウドクリップボード連携部24の提供する機能にかかる所定のライブラリ(汎用性の高い複数のプログラムをひとつにまとめたもの)と動的或いは静的にリンクしつつ、それらのライブラリが提供するアプリケーションプログラミングインタフェース(API)22a,22bなどを利用することにより行われる。アプリケーション23は、クリップボード25を利用しないが、アプリケーションプログラミングインタフェース22cを通じてクラウドクリップボード連携部24の機能を利用するアプリケーションである。
クリップボード25を利用するアプリケーション21,22は、例えばユーザが所定のコピー操作を行った場合に、コピーの対象となるデータを、ファイル情報D1あるいは互いに異なるフォーマットで作成された複数のデータオブジェクトを含む部分データセットD2の形式で、クリップボード25に書き込むよう構成される。また、アプリケーション21,22は、例えばユーザが所定のペースト操作を行った場合に、クリップボード25からデータ(ファイル情報D1又は部分データセットD2)を読み出すよう構成される。
一方、クラウドクリップボード連携部24と連携するアプリケーション22,23は、例えばユーザが所定の操作を行ったことに応じて、クラウドクリップボード連携部24に対し、クリップボード25内のデータ(ファイル情報D1又は部分データセットD2)の取得を指示するよう構成される。この指示を受けたクラウドクリップボード連携部24は、クリップボード25内のデータを取得し、取得したデータに基づいてアップロード用の共有データSDを取得し、取得した共有データSDをストレージ3に送信する。また、アプリケーション22,23は、クラウドクリップボード連携部24に対し、ストレージ3内に蓄積されている共有データSDのリストを表示する際のフィルタリング条件を通知する機能、この通知に応じてクラウドクリップボード連携部24から供給されるリストをユーザに提示する機能、及び、提示したリストにおいてユーザに1又は複数の共有データSDを選択させ、その結果を示す選択情報をクラウドクリップボード連携部24に通知する機能を有する。
ここで、フィルタリング条件は、少なくとも部分データセットD2にかかる共有データSDには適用される。また、フィルタリング条件は、後述する図5に示すソース情報J5の一部又は全部を特定するものとすることが好ましい。こうすることで、オペレーティングシステムJ51やアプリケーションJ50の違いなどのために端末装置4aでは利用できない部分データセットD2を、上記リストから除外することが可能になる。また、デバイスJ2のフィルタリング条件として所定のスタイラスを指定すれば、そのスタイラスを用いて作成した描画データのリストを簡易に得ることも可能になる。ファイル情報D1に関しては、上述したようにファイルタイプやファイル名からファイルの内容を把握できるので、このようなソース情報J5によるフィルタリング条件の適用は任意である。
また、ユーザに提示される共有データSDのリストは、例えば図4に示すページPのような形式とすることが好適である。ページPは、専用のビューワソフトや又は汎用のブラウザソフトによって表示される。図4に示すように、ページPには、部分データセットD2である共有データSDの表示エリアPAと、ファイルである共有データSDの表示エリアFAと、貼付ボタンB1と、ダウンロードボタンB2と、削除ボタンB3とが設けられる。
表示エリアPAには、複数のサムネイルTHが表示される。このサムネイルTHは、端末装置4aから共有データSDとともに送信される画像データに基づき、サーバ2によって共有データSDごとに生成される小サイズの画像である。サムネイルTHの詳しい内容については、後述する。また、図4の例では、表示エリアPAを日付ごとに表示している。この日付は、後述する管理情報J1内の作成日時J46に対応している。表示エリアFAについては、共有データSDとともに画像データが送信されている場合には、画像データに基づいて生成されたサムネイルTHが表示される。また、表示エリアFAついても、日付ごとに表示してよいのは勿論である。
各サムネイルTH上には、図4に示すように、チェックボックスが配置される。このチェックボックスにチェックを入れた状態でダウンロードボタンB2を押下するという操作が、ユーザによる1又は複数の共有データSDの選択操作となる。また、詳しい説明は省略するが、チェックボックスにチェックを入れた状態で削除ボタンB3を押すと、チェックされた共有データSDがストレージ3から削除される。
貼付ボタンB1は、クラウドクリップボード連携部24に対し、クリップボード25内のデータ(ファイル情報D1又は部分データセットD2)の取得を指示するための上記所定の操作に対応するボタンである。つまり、ユーザが貼付ボタンB1を押下すると、クラウドクリップボード連携部24がクリップボード25にデータを取得しに行くことになる。
図2に戻る。クラウドクリップボード連携部24は、アプリケーション22,23、クリップボード25、及び通信部26との間でデータの入出力を行う機能を有するアプリケーションであり、実体としては、例えばWINDOWS(登録商標)のダイナミックリンクライブラリ(DLL)、スタティックライブラリ、サービスプログラム、或いは、これらの組み合わせによって構成される。
クラウドクリップボード連携部24は、図2(a)に示すように、アップロード部24aと、ダウンロード部24bとを有して構成される。
アップロード部24aは、アプリケーション22,23からの指示に応じてクリップボード25内のデータ(ファイル情報D1又は部分データセットD2)を読み出し、後述する所定の処理を行うことによってアップロード用の共有データSDを取得するとともに、取得した共有データSDを、通信部26を介してストレージ3に送信する(アップロードする)機能部である。
一方、ダウンロード部24bは、アプリケーション22,23から通知されたフィルタリング条件を示すフィルタ情報をサーバ2に送信するとともに、その結果サーバ2が返送する共有データSDのリスト(図4に示すページP)を受信してアプリケーション22,23に転送する機能と、アプリケーション22,23から上記選択情報が通知された場合に、その選択情報に応じて1又は複数の共有データSDをストレージ3から受信し(ダウンロードし)、それが部分データセットD2であればクリップボード25に展開し、ファイル情報D1であればいずれかのフォルダに格納する処理を行う機能とを有して構成される。
以下、アップロード部24aが行う上記所定の処理(ファイル情報D1又は部分データセットD2から共有データSDを取得するための処理)について、詳しく説明する。
アップロード部24aは、上記所定の処理に関して、図2(b)に示すように、機能部として、データ判定部24a1、フォーマット判定部24a2、共有バイト列生成部24a4、及び共有データ取得部24a5を有して構成される。また、判定条件24a3を記憶している。
データ判定部24a1は、クリップボード25から取得したデータについて、ファイル情報D1及び部分データセットD2のいずれであるかを判定する機能部である。データ判定部24a1は、クリップボード25から取得したデータのフォーマットのリストにファイル情報D1に対応するフォーマットが含まれているか否かをすることにより、この判定を行う。データ判定部24a1によってファイル情報D1であると判定された場合、そのファイルの格納位置に保持されたファイルの実体データD1aが共有データ取得部24a5に供給される。一方、データ判定部24a1によって部分データセットD2であると判定されたデータは、フォーマット判定部24a2に供給される。
フォーマット判定部24a2は、データ判定部24a1により部分データセットD2であると判定されたデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定する機能部である。この判定は要するに、部分データセットD2が上述したタイプ1,2のいずれであるかの判定である。繰り返しになるが、タイプ1は、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトを含むデータであり、タイプ2は、それ以外のデータである。判定条件24a3にはタイプ1,2を分別するための判定基準が記憶されており、フォーマット判定部24a2は、判定条件24a3を参照することによって上記判定を行う。
フォーマット判定部24a2がタイプ2であると判定した場合、アップロード部24aはそれ以上の処理を行わない。したがって、この場合にはアップロードも行われない。一方、フォーマット判定部24a2がタイプ1であると判定した場合、共有バイト列生成部24a4に部分データセットD2が供給される。
共有バイト列生成部24a4は、部分データセットD2から、画像データ120及び共有バイト列123を生成する機能部である。以下、再度図3を参照しながら、共有バイト列生成部24a4の機能について、詳しく説明する。
上述したように、部分データセットD2は、例えばデータオブジェクト101〜106を含んで構成される。共有バイト列生成部24a4は、このうちDIBであるデータオブジェクト103に基づき、画像データ120を生成する。この画像データ120は、後にサーバ2がサムネイルTH(図4参照)を作成する際に使用されるものであるので、サーバ2が解釈可能な形式のデータであればよい。好ましくは、他のオペレーティングシステムの端末であっても利用できることが保証されているようなラスタデータ型のフォーマットであることが好ましい。ラスタデータ型のフォーマットの例としては、上述したように、ビットマップ、JPEG、PNG、TIFF、GIFなどが挙げられる。より好適には、RGBのデータに加え透明度をデータとして設定可能であるPNGを用いることが好ましい。画像データ120に透明度を設定可能とすることについての利点は、後述する第3の実施の形態において詳細に説明する。
また、共有バイト列生成部24a4は、データオブジェクト103及びサムネイルであるデータオブジェクト106以外のデータオブジェクトを取り出してクリップディクショナリ110を生成し、クリップディクショナリ110内の各データオブジェクトをシリアライズすることにより、1つの送信用の生データ122を生成する。そして、画像データ120と生データ122とを連結することにより、共有バイト列123を生成する。
共有バイト列生成部24a4が以上のようにして生成した画像データ120及び共有バイト列123は、それぞれ共有データ取得部24a5に供給される。
なお、ここまでの説明から理解されるように、サムネイルであるデータオブジェクト106は、共有データ取得部24a5には供給されない。図4に示したように、サーバ2から端末装置4aに供給される共有データSDのリストには各共有データSDのサムネイルTHが含まれるが、このサムネイルTHとしては、データオブジェクト106ではなく、サーバ2が画像データ120に基づいて独自に作成するサムネイルが使用される。これは、ファイルがアップロード対象である場合についても同様である。このような処理を行うのは、データオブジェクト106であるサムネイルがアプリケーション独自の形式で作成されたものであったとしても、端末装置4aにおけるリスト表示(図4に示したページPの表示)を適切に行えるようにするためである。
共有データ取得部24a5は、データ判定部24a1から供給されるファイルの実体データD1a、又は、共有バイト列生成部24a4から供給される画像データ120及び共有バイト列123に基づいてアップロード用の共有データSD(画像データ120及び管理情報J1を含む)を取得するとともに、取得した共有データSDのデータサイズDS(サイズ情報)を取得する機能を有して構成される。
共有データ取得部24a5は、初めに共有データSDの送信は行わず、データサイズDSをサーバ2に送信する。そして、その結果としてストレージ3内における共有データSDの格納場所を示すアドレス(URL:Uniform Resource Locator)がサーバ2から返送されてきた場合に、該アドレスに対して共有データSDと、後述する管理情報J1の一部を構成するソース情報J5とを送信する。こうして共有データSDのアップロードが完了する。
以下、共有データSDの具体的な内容について、詳しく説明する。
まず、共有バイト列生成部24a4から共有データ取得部24a5に画像データ120及び共有バイト列123が供給される場合、すなわち、部分データセットD2がアップロード対象である場合の共有データSDは、共有バイト列生成部24a4から共有データ取得部24a5に供給される画像データ120及び共有バイト列123を含んで構成される。
一方、共有バイト列生成部24a4から共有データ取得部24a5にファイルの実体データD1aが供給される場合、すなわち、ファイルがアップロード対象である場合の共有データSDは、ファイル情報D1により示されるファイルの実体データD1aを含んで構成される。なお、この場合の共有データSDも、部分データセットD2がアップロード対象である場合と同様、画像データを含まなければならないこととしてもよい。ファイルがアップロード対象である場合に画像データの存在を必須とする場合の画像データは、アップロード対象のファイルに関連する画像データとすることが好ましい。そのような画像データの具体的な例としては、例えばファイルを作成したアプリケーションを示すアイコン(オペレーションシステムのシステムフォルダに記憶されているもの)や、アプリケーションによって付与される画像データ(ファイルがmp3形式の音楽ファイルである場合に付与されるCDジャケットの写真データなど)が挙げられる。
また、共有データSDには、アップロード対象のデータの種類によらず、図5に示す管理情報J1が含まれる。管理情報J1は共有データ取得部24a5によって生成される情報であり、図5に示すように、識別情報J2、混在識別情報J3、メタ情報J4、ソース情報J5、及びストレージ情報J6を含んで構成される。
識別情報J2は、ストレージ3内において共有データSDを一意に識別するためのID情報であり、アップロード完了後にサーバ2によって設定される。したがって、共有データ取得部24a5が管理情報J1を取得する時点ではブランクである。
混在識別情報J3は、その共有データSDがファイル情報D1により示されるファイルであるか部分データセットD2であるかを示す情報である。共有データ取得部24a5は、ファイルがアップロード対象である場合に、混在識別情報J3にファイルであることを示す情報を設定し、部分データセットD2がアップロード対象である場合に、混在識別情報J3に部分データセットD2であることを示す情報を設定する。
メタ情報J4は、共有データSDの属性に関する各種情報の集合であり、具体的には、図5に示すように、ファイル名J40、パス名J41、属性フラグJ42、カテゴリJ43、所有者情報J44、アクセス日時J45、及び作成日時J46を含んで構成される。共有データ取得部24a5は、ファイルがアップロード対象である場合には、そのファイルの詳細情報に基づき、ファイル名J40、パス名J41、属性フラグJ42、カテゴリJ43、所有者情報J44、及び作成日時J46のそれぞれを設定する。一方、部分データセットD2がアップロード対象である場合には、作成日時J46には現在日時を設定する一方、ファイル名J40、パス名J41、属性フラグJ42、カテゴリJ43、及び所有者情報J44についてはブランクとする。アクセス日時J45はサーバ2によって設定される情報であるので、共有データ取得部24a5が管理情報J1を生成する時点ではブランクである。
ソース情報J5は、共有データSDが生成された環境に関する各種情報の集合であり、具体的には、図5に示すように、アプリケーションJ50、オペレーションシステムJ51、デバイスJ52を含んで構成される。共有データ取得部24a5は、このうちオペレーションシステムJ51について、端末装置4aのオペレーションシステムを示す情報を設定し、デバイスJ52について、画像データの描画に用いたスタイラスの識別情報を設定する。一方、アプリケーションJ50については、ファイルがアップロード対象である場合には、そのファイルを作成したアプリケーションを示す情報を設定し、部分データセットD2がアップロード対象である場合には、その部分データセットD2をクリップボード25に書き込んだアプリケーションを示す情報を設定する。なお、クリップボード25に格納されるデータに、そのデータを所有しているアプリケーションを示すオーナー情報が含まれている場合、共有データ取得部24a5は、このオーナー情報からアプリケーションを示す情報を得ることが好適である。その他、端末装置4aのハードウェアを示す情報なども、ソース情報J5に含めることとしてもよい。
ストレージ情報J6は、ストレージ3内のアドレスに関する情報の集合であり、具体的には、図5に示すように、共有データSDの格納場所のアドレスを示す共有データ格納場所J60と、サムネイルTH作成用の画像データの格納場所のアドレスを示す画像データ格納場所J61と、サムネイルTH格納場所のアドレスを示すサムネイル格納場所J62とを含んで構成される。ストレージ情報J6はストレージ3によって設定される情報であるので、共有データ取得部24a5が管理情報J1を生成する時点ではブランクである。
次に、サーバ2及びストレージ3の構成の詳細について、図6を参照しながら説明する。同図に示すように、サーバ2は、サービス管理部30、クリップボードマネージャ31、インターフェイス部32、及び通信部33を有して構成され、ストレージ3は、記憶領域40、ストレージリソース管理部41、及び通信部42を有して構成される。
通信部33,42はそれぞれ、所定の通信プロトコルにより、ネットワーク5を介して端末装置4aと通信する機能を有して構成される。また、通信部33は、サービス管理部30及びインターフェイス部32のそれぞれと通信する機能を有し、通信部42は、ストレージリソース管理部41と通信する機能を有する。
サービス管理部30は、ユーザ認証を行う機能部である。本実施の形態ではインターフェイス部32と端末装置4aとの間で各種データの送受信が行われるが、端末装置4aは、この送受信を開始する前に所定のID情報を送信するよう構成される。サービス管理部30は予め複数のID情報を記憶しており、受信したID情報が記憶されているものの中に存在するか否かを判定する。そして、存在すると判定した場合に限り、インターフェイス部32に対し、そのID情報を送信した端末装置4aとの通信を許可する。なお、ID情報として具体的には、ユーザがキーボードから入力するテキストデータを用いてもよいし、端末装置4aの製造番号や上述したスタイラスに予め書き込まれている識別情報(スタイラスID)などを用いてもよい。また、ID情報に加えパスワードを使用することとしてもよい。
インターフェイス部32は、端末装置4aと、サービス管理部30、及びクリップボードマネージャ31との間で送受信される各種データの中継を行う機能部であり、サービスインタフェース32a,32bを有して構成される。
サービスインタフェース32aは、端末装置4aが共有データSDのダウンロードを要求したことに応じて、要求された共有データSDの格納場所を示すアドレスをストレージ3から取得し、端末装置4aに返送する機能を有する。端末装置4aのダウンロード部24b(図2参照)は、こうして得られるアドレスにアクセスすることにより、ストレージ3から直接共有データSDをダウンロードする。サービスインタフェース32aはまた、上記のようにしてアドレスを取得した場合に、ストレージ3にアクセスした旨をクリップボードマネージャ31に通知する機能も有する。
サービスインタフェース32bは、端末装置4aが送信したフィルタ情報を受信し、クリップボードマネージャ31に転送する機能を有する。フィルタ情報を受けたクリップボードマネージャ31からは共有データSDのリストを示すページP(図4参照)が出力されるので、サービスインタフェース32bは、このページPを端末装置4aに返送する。
次に、クリップボードマネージャ31は、ストレージ3内に記憶される共有データSDを管理情報J1に基づいて管理する機能部であり、ファイル情報管理部31a及び部分データセット管理部31bを有して構成される。
ファイル情報管理部31aは、ファイルにかかる共有データSDの管理に関する各種の処理を行う機能部である。また、部分データセット管理部31bは、部分データセットD2にかかる共有データSDの管理に関する各種の処理を行う機能部である。
ファイル情報管理部31a及び部分データセット管理部31bは、共通の機能として、端末装置4aからデータサイズDSが受信された場合に、そのデータサイズDSの共有データSDを格納できるか否かをストレージ3に問い合わせる処理、この問い合わせに対するストレージ3からの回答を端末装置4aに転送する処理、共有データSDに画像データが含まれる場合に、その画像データ(部分データセットD2に関しては図3に示した画像データ120、ファイルに関してはそのファイルに関連する画像データ)に基づいてサムネイルTH(図4参照)を作成する処理、共有データSD内の識別情報J2にユニークID(ストレージ3内の共有データSDを一意に識別するためのID)を設定する処理、ストレージ3から出力される共有データSDのリストに基づいて図4に示したページPを生成する処理、サービスインタフェース32aからストレージ3にアクセスした旨の通知を受けた場合に、対応する共有データSDに関してストレージ3内に記憶されるアクセス日時J45(図5参照)を、その時点の日時を示す情報により更新する処理などを行う。なお、部分データセットD2にかかる共有データSDには、上述したように必ず画像データ120が含まれるので、部分データセット管理部31bは、サムネイルTHの作成をすべての共有データSDについて行うことになる。
一方、部分データセット管理部31bは、固有の処理として、サービスインタフェース32bから供給されるフィルタ情報に基づいてフィルタを生成してストレージ3に供給する処理を行う。この場合、ストレージ3から出力されるリストに含まれる共有データSDは、このフィルタを満たすもののみとなる。
ストレージ3の記憶領域40は、例えばハードディスクによって構成される記憶領域であり、共有データSDを記憶するために利用される。
ストレージリソース管理部41は、ストレージ3の記憶領域40の空き領域を管理する役割を果たす機能部である。具体的には、共有データ管理部31aからデータサイズDSの共有データSDを格納可能か否かの問い合わせを受けた場合、記憶領域40の空き領域のサイズを確認することにより、格納可能か否かを判定する。そして、格納可と判定した場合には、その共有データSDを格納すべき記憶領域40内のアドレスを取得し、共有データ管理部31aに返送する。一方、格納できないと判定した場合には、その旨を共有データ管理部31aに返送する。
また、ストレージリソース管理部41は、端末装置4aから記憶領域40内のアドレスを指定して送られてきた共有データSDを記憶領域40内のそのアドレスに書き込むとともに、その共有データSDを特定するための一時IDを付与して端末装置4aに返送する処理、共有データ管理部31aから上記フィルタが送られてきた場合に、そのフィルタに基づいて記憶領域40内の共有データSDを抽出し、その結果を示すリストを返送する処理、共有データ管理部31aから上記ユニークIDが送られてきた場合に、そのユニークIDに対応する共有データSDの記憶領域40内の格納場所を示すアドレスを返送する処理、端末装置4aからこのアドレスを指定する共有データSDのダウンロード要求があった場合に、そのアドレスに基づいて記憶領域40から共有データSDを読み出し、端末装置4aに返送する処理などを行う。
以上、本実施の形態によるデータ管理システム1の構成について説明した。次に、以上で説明した各構成が実行する処理について、図7〜図10を参照しつつ、処理シーケンス及び処理フローの観点から再度より詳しく説明する。なお、以下では、端末装置4a内のアプリケーションとしてアプリケーション22を用いる場合を例に取って説明するが、一部又は全部の処理につき他のアプリケーションを用いてもよいのは勿論である。
まず、共有データSDのアップロードに着目して説明する。図7に示すように、アップロード処理はユーザ操作を契機として開始される(ステップS1)。このユーザ操作は例えば、図4を参照して説明した貼付ボタンB1の押下操作である。
なお、貼付ボタンB1の押下操作に代え、クリップボード25内のデータを更新させる操作(Ctrl+Cの押下などのコピー操作)を上記ユーザ操作として取り扱うことも可能である。しかし、この操作をアップロード処理の契機とすると、アップロード処理の実施回数が過剰になりがちである。したがって、上記のように、クリップボード25内のデータを更新させる操作と、アップロードの契機となる操作とは、別々に設けることが好ましい。
ユーザ操作を受けたアプリケーション22は、クラウドクリップボード連携部24に対し、クリップボード25内のデータ(ファイル情報D1又は部分データセットD2)の取得を指示する(ステップS2)。この指示を受けたクラウドクリップボード連携部24は、クリップボード25に格納されているデータを取得し(ステップS12,S13)、図8に示す共有データ取得処理S14を実行する。
共有データ取得処理S14では、図8に示すように、まずクリップボード25に格納されていたデータについて、ファイル情報D1であるか部分データセットD2であるかが判定される(ステップS140)。その結果、ファイル情報D1であった場合、クラウドクリップボード連携部24は、ファイル情報D1により示されるファイルの実体データD1aと、このファイルに関連する画像データとを、共有データSDとして取得する(ステップS141)。そしてさらに、ファイル情報D1により示されるファイルについての管理情報J1を生成し、共有データSDに付加する(ステップS142)。
一方、クリップボード25に格納されていたデータが部分データセットD2であった場合、クラウドクリップボード連携部24は、そのデータに、画像データを生成可能に構成されたフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定する(ステップS143)。上述の通り、「画像データを生成可能に構成されたフォーマットにより作成されたデータオブジェクト」の例としては、図3に示したDIBであるデータオブジェクト103が挙げられる。含まれないとの判定結果が得られた場合には、共有データSDの取得は行わず、処理を終了する。一方、含まれるとの判定結果が得られた場合には、ステップS144以降の処理を行う。
ステップS144では、クラウドクリップボード連携部24は、まず一つ目のデータオブジェクト(例えば図3のデータオブジェクト101)を取得する。そして、このデータオブジェクトがDIB(図3のデータオブジェクト103)であるかを判定し(ステップS145)、さらに、サムネイル(図3のデータオブジェクト105)であるかを判定する(ステップS147)。ステップS145でDIBと判定した場合、クラウドクリップボード連携部24は、そのデータオブジェクトに基づいて図3に示した画像データ120を取得し、さらにそれを共有バイト列123に追加する(ステップS146)。ステップS145でサムネイルでないと判定した場合、クラウドクリップボード連携部24は、そのデータオブジェクトを共有バイト列123に追加する(ステップS148)。ステップS147でサムネイルであると判定した場合には、共有バイト列123の更新を行わない。
以上の処理を行った後、クラウドクリップボード連携部24は、部分データセットD2内のすべてのデータオブジェクトについての処理が終了したか否かを判定する(ステップS149)。ステップS149で終了していないと判定した場合、クラウドクリップボード連携部24は、次のデータオブジェクトを取得して(ステップS150)、ステップS145以降の処理を繰り返す。一方、ステップS149で終了したと判定した場合、クラウドクリップボード連携部24は、ここまでの処理で得られた共有バイト列123及び画像データ120を共有データSDとして取得し(ステップS151)、さらにこの共有データSDについての管理情報J1を生成し、共有データSDに付加する(ステップS152)。以上で、共有データ取得処理S14が終了する。
図7に戻る。クラウドクリップボード連携部24は、共有データSDを取得できたか否かを判定し(ステップS15)、取得できなかったと判定した場合には、アプリケーション22に対してエラー通知を行う(ステップS16)。一方、取得できたと判定した場合には、共有データSDのデータサイズDSを取得し、サーバ2に対して、所得したデータサイズDSを含むリソース確認要求を送信する(ステップS17)。サーバ2は、このリソース確認要求をストレージ3に転送する(ステップS18)。ストレージ3は、リソース確認要求を受けると、記憶領域40(図6)にデータサイズDS分の空き領域があるか否かを確認し、あれば、サーバ2に対し、共有データSDの格納場所を示すアドレス(URL)を含む確認結果を返送する(ステップS19)。サーバ2は、この確認結果を端末装置4aに転送する(ステップS20)。
クラウドクリップボード連携部24は、共有データSDの格納場所を示すアドレスを含む確認結果が返送されてきたか否かを判定することによって、共有データSDの格納場所(リソース)を確保できたか否かを判定する(ステップS21)。確保できなかったと判定した場合には、アプリケーション22に対してエラー通知を行う(ステップS22)。
一方、取得できたと判定した場合、クラウドクリップボード連携部24は、確認結果に含まれるアドレスを宛先として、共有データSDを送信する(ステップS23)。これを受けたストレージ3は、受信した共有データSDを記憶領域40に書き込み(ステップS24)、上述した一時IDを含む書き込み結果を端末装置4aに返送する(ステップS25)。
なお、ステップS23において、クラウドクリップボード連携部24は、共有データSD内に含まれる画像データ(部分データセットD2に関しては図3に示した画像データ120、ファイルに関してはそのファイルに関連する画像データ)及び管理情報J1のそれぞれをまず送信し、次いで、共有データSD内のその他のデータ(ファイルの実体データD1a又は共有バイト列123)を送信することが好ましい。別の言い方をすれば、クラウドクリップボード連携部24は、共有データSD内に含まれる画像データ、管理情報J1、及びその他のデータを、ストレージ3内の別個の格納位置(アドレス)に対して送信することが好ましい。そして、ストレージ3は、こうして受信した画像データ、管理情報J1、及びその他のデータを、別々に記憶領域40内に保管する(別個の格納位置に保管する)ことが好ましい。こうすることで、ストレージ3として、汎用のストレージを利用することが可能になる。
詳しく説明すると、後に説明するステップS30では、ストレージ3から共有データSD内の画像データのみをサーバ2に取り出す必要がある。その際、通信容量の効率的な利用の観点から、ストレージ3からサーバ2に対して送るデータは(共有データSDの全体ではなく)画像データのみとすることが好ましいが、画像データを含む共有データSDの全体が1つのデータとして記憶領域40内に保管されていると、ストレージ3からサーバ2に対して画像データのみを送るようにするためには、ストレージ3内に共有データSDから画像データを取り出す処理機構が必要になる。汎用のストレージにこのような処理機構を設けることは通常困難であるので、汎用のストレージを使えないということになる。これに対し、上記のようにすれば、画像データとその他のデータとが別々に記憶領域40に保管されているのであるから、ストレージ3に上記処理機構を設けなくても、ステップS30において、ストレージ3からサーバ2に対して画像データのみを送るようにすることが可能となる。したがって、ストレージ3として、汎用のストレージを利用することが可能になる。
また、後に説明するステップS54〜S56(図9)では、ステップS54で生成したフィルタに合致する共有データSDのリストをストレージ3からサーバ2に取り出す必要があるが、その際、サーバ2及びストレージ3のいずれかにおいて、各共有データSDがフィルタに合致するか否かを判定する必要がある。ストレージ3として汎用のストレージを利用する場合、この判定処理をストレージ3に設けることは難しいので、サーバ2で判定を行う必要があるが、管理情報J1を含む共有データSDの全体が1つのデータとして記憶領域40内に保管されていると、サーバ2は、判定のために一旦すべての共有データSDをストレージ3から読み出さなければならないことになる。これは、通信容量の効率的な利用の観点から好ましいことではない。これに対し、上記のようにすれば、管理情報J1とその他のデータとが別々に記憶領域40に保管されているのであるから、サーバ2は、管理情報J1だけをまず取り出して上記判定を行い、その後、フィルタに合致した共有データSDにかかるデータ(具体的には、管理情報J1内の識別情報J2とサムネイルTH)のみを読み出せばよいことになる。したがって、通信容量を効率的に利用することが可能になり、このこともまた、ストレージ3として汎用のストレージを利用することを可能にする要因の一つとなる。
なお、クラウドクリップボード連携部24が共有データSD内に含まれる画像データ、管理情報J1、及びその他のデータをストレージ3内の別個の格納位置(アドレス)に対して送信する場合、画像データの格納位置は、共有バイト列123などの内容を示すサムネイルTHを生成するために、後述するステップ29でサーバ2がアクセスする格納位置であり、その他のデータを格納する格納位置は、サムネイルTHにより内容が示される共有データSDをダウンロードするために、後述するステップS70で端末装置4aがアクセスする格納位置である。
クラウドクリップボード連携部24は、一時IDを含む書き込み結果が返送されてきたか否かを判定することによって、書き込みが完了したか否かを判定する(ステップS26)。完了しなかったと判定した場合には、アプリケーション22に対してエラー通知を行う(ステップS27)。一方、完了したと判定した場合には、受信した一時ID(ストレージ3に共有データSDを格納したことを示す情報)をサーバ2に送信する(ステップS28)。これを受けたサーバ2は、一時IDを利用してストレージ3から対応する画像データを取得し(ステップS29,S30)、取得した画像データに基づいて、図4に示したサムネイルTHを生成する(ステップS31)。そして、生成に成功したか否かを判定し(ステップS32)、成功していないと判定した場合、共有データSDのストレージ3内への書き込みをキャンセルし、端末装置4aに対してその旨を通知する(ステップS33)。クラウドクリップボード連携部24は、この通知を受け、アプリケーション22に対してキャンセルされた旨を通知する(ステップS34)。一方、ステップS32で成功したと判定した場合、サーバ2は、上述したユニークIDを生成する(ステップS35)。そして、サーバ2は、ステップS31で生成したサムネイルTHを、対応する共有データSDと対応付けてストレージ3に格納するとともに、ステップS35で生成したユニークIDを、対応する管理情報J1内の識別情報J2に設定する(ステップS36)。以上で、共有データSDのアップロードに関する一連の処理が終了する。
次に、共有データSDのダウンロードに着目して説明する。図9に示すように、ダウンロードに先駆けて、アプリケーション22からクラウドクリップボード連携部24に対し、共有データSDをフィルタリングするためのフィルタリング条件が供給される(ステップS51)。フィルタリング条件は、上述したように、少なくとも部分データセットD2にかかる共有データSDには適用されるものであり、また、図5に示したソース情報J5の一部又は全部を特定するものである。クラウドクリップボード連携部24は、供給されたフィルタリング条件を示すフィルタ情報を生成し、サーバ2に送信する(ステップS53)。
サーバ2は、受信したフィルタ情報に基づいてフィルタを生成し(ステップS54)、生成したフィルタに合致する共有データSDのリストをストレージ3から取得する(ステップS55,S56)。この場合において、各共有データSDがフィルタに合致するか否かを判定する処理を行うのは、上述したようにサーバ2である。また、フィルタリング条件が部分データセットD2にかかる共有データSDのみに適用されるものであることから、サーバ2は、ストレージ3に記憶される複数の共有データSDの中から、フィルタリング条件を満たす部分データセットD2である1又は複数の共有データSDと、ファイルである1又は複数の共有データSDとを選択することにより、上記リストを構成することになる。なお、上記リストには、共有データSDごとに、少なくとも、図7のステップS31においてサーバ2が生成したサムネイルTHと、図4に示した識別情報J2に設定されたユニークIDとが含まれる。サーバ2は、こうして取得したリストに基づいて図4に示したページPを生成し(ステップS57)、端末装置4aに供給する(ステップS58,S59)。
なお、図9には、ステップS54におけるフィルタの生成からステップS57におけるページPの生成までが連続的に行われる場合を例示しているが、例えば、ステップS54で生成したフィルタをサーバ2内に保存しておき、別途端末装置4aから要求があった場合に、ステップS55以降の処理を行って端末装置4aにページPを提供することとしてもよい。この場合、ステップS54までの処理から相当日数が経過した後(例えば10日後)にも、ステップS55以降の処理を行うことが可能になる。
ここで、フィルタの一例について説明する。この例によるフィルタリング条件は、例えば「WINDOWS(登録商標)」のように、オペレーションシステムに関する条件を有して構成される。この場合、部分データセットD2については、オペレーションシステムとして「WINDOWS(登録商標)」がインストールされている端末装置で作られたものしかリストに含まれなくなる。一方、ファイルについては、「WINDOWS(登録商標)」以外のオペレーションシステムがインストールされている端末装置で作られたものもリストに含まれることとなる。部分データセットD2については、異なるオペレーションシステムがインストールされている端末装置で作られたものが使える可能性がほぼないのに対し、ファイルについてはオペレーションシステムが違っても使えることが多いので、ユーザの利便性の観点から、上記のような取り扱いが好適である。
アプリケーション22は、クラウドクリップボード連携部24を介してページPを受け取り、ユーザに提示する(ステップS60)。提示されたページPにおいてユーザが共有データSDの選択操作を行い(ステップS61。図4の例では、チェックボックスをチェックする操作)、さらにダウンロードを指示する(ステップS62。図4の例では、1以上のチェックボックスをチェックした状態でダウンロードボタンB2を押下する操作)と、アプリケーション22は、選択された1又は複数の共有データSDを示す選択情報をクラウドクリップボード連携部24に供給する(ステップS63)。クラウドクリップボード連携部24は、供給された選択情報をサーバ2に転送する(ステップS65)。なお、選択情報は、選択された1又は複数の共有データSDそれぞれのユニークIDにより構成することが好適である。
ここで、ページPは、部分データセットD2である共有データSDについては1つしか選択できないように、予め設計しておく必要がある。クリップボード25には一度に1つしか部分データセットD2を展開できないからである。また、ユーザの混乱を防止するため、ページPは、部分データセットD2である共有データSDと、ファイルである共有データSDとのいずれか一方しか同時に選択できないように設計することが好ましい。以下では、そのように設計したという前提で説明を続ける。
選択情報を受信したサーバ2は、選択された1又は複数の共有データSDに対応する1又は複数のユニークIDに基づき、ストレージ3から、これらの共有データSDの格納場所を示すアドレス(URL)を取得し(ステップS67)、端末装置4aに転送する(ステップS68)。このアドレスは、図5に示した管理情報J1の共有データ格納場所J60に設定されているものである。サーバ2はまた、アドレスの転送とともに、対応する1又は複数の共有データSDに関して、図5に示した管理情報J1のアクセス日時J45を現在の日時により更新する(ステップS69)。
クラウドクリップボード連携部24は、サーバ2が送信したアドレスを受け取り、そのアドレスにアクセスする(ステップS70)ことによって、共有データSDを取得する(ステップS71)。そして、図10に示す復元処理S72を実行する。
復元処理S72では、図10に示すように、まず選択された共有データSDが1つだけであるか否かが判定される(ステップS720)。上述したように、図4に示すページPは、部分データセットD2である共有データSDについては1つしか選択できないように設計されるので、選択された共有データSDが複数あるということは、選択された共有データSDがファイルであるということを意味する。したがって、ステップS720で否定判定が得られた場合、クラウドクリップボード連携部24は、共有データSDのダウンロード処理を行う(ステップS723)。このダウンロード処理では、所定のフォルダに共有データSDであるファイルをコピーすることとしてもよいし、管理情報J1に含まれるパス名J41によって示されるパスに共有データSDであるファイルをコピーすることとしてもよい。
ステップS720で肯定判定が得られた場合のクラウドクリップボード連携部24は、次に、共有データSDが図3に示した共有バイト列123を含むか否かを判定する(ステップS721)。共有バイト列123を含まなければ、共有データSDはファイルであるということになるので、ステップS723に進んでダウンロードを実行する。一方、共有バイト列123を含んでいた場合には、共有データSDは部分データセットD2であるということになるので、クリップボード25への展開を決定する(ステップS722)。
図9に戻る。クラウドクリップボード連携部24は、復元処理S72でクリップボード25への展開を決定したか否かを判定し(ステップS73)、決定しなかったと判定した場合には、処理を終了する。この場合のユーザは、ファイルである共有データSDがダウンロードされたフォルダを参照することで、ファイルを得ることが可能になる。一方、決定したと判定した場合、クラウドクリップボード連携部24は、部分データセットD2である共有データSDをクリップボード25に展開する(ステップS74)。この場合のユーザは、アプリケーション22に対して貼り付け指示(ステップS75。例えばCtrl+Pの押下)を行うことで、クリップボード25からアプリケーション22に共有データSDを読み出すことが可能になる(ステップS76)。
以上説明したように、本実施の形態によるデータ管理システム1によれば、クリップボード25に格納されたデータがファイルである場合にはその中身によらず蓄積対象とする一方、クリップボード25に格納されたデータが部分データセットD2である場合には、そのデータ、或いはそのデータの中に含まれるデータオブジェクトのうちの少なくとも一つ、が人間にとって認識可能なものである場合に限り、蓄積対象とすることが可能になる。したがって、ストレージの記憶領域を効率的に利用することが可能になる。
また、本実施の形態によるデータ管理システム1によれば、端末装置4aからサーバ2に対し、部分データセットD2である共有データSDに適用されるフィルタリング条件を示すフィルタ情報を送信しているので、サーバ2が端末装置4aに対して提示する共有データSDのリストから、端末装置4aでは利用できない部分データセットD2を除外することが可能になる。
また、本実施の形態によるデータ管理システム1によれば、端末装置4aのユーザは、提示されたリストにおいて1又は複数の共有データSDを選択することで、ストレージ3から共有データSDをダウンロードすることが可能になる。また、ダウンロードに際して、部分データセットD2である共有データSDについてはクリップボード25に展開し、ファイルである共有データSDについてはいずれかのフォルダにダウンロードする、という取り扱いが可能になる。
次に、本発明の第2の実施の形態によるデータ管理システム1について、図11及び図12を参照しながら説明する。本実施の形態によるデータ管理システム1は、サーバ2のクリップボードマネージャ31に情報加工部31cを設ける点で第1の実施の形態によるデータ管理システム1と異なり、その他の点では、第1の実施の形態によるデータ管理システム1と同様である。したがって、第1の実施の形態によるデータ管理システム1と同様の構成には同一の符号を付し、以下では、第1の実施の形態によるデータ管理システム1との相違点に着目して説明する。
情報加工部31cは、これからストレージ3に格納しようとする共有データSDが部分データセットD2であり、かつデータオブジェクトのひとつとして所定のベクタデータを含んでいる場合に、該所定のベクタデータを該所定のベクタデータに比してオペレーティングシステムの差異の観点で汎用性の高い他のベクタデータに変換し、共有データSDに付加する処理を行う。他のベクタデータは、例えばSVGなどの広く利用されている共通ベクタデータであり、この処理は、アプリケーションの独自型式によるベクタデータを様々なアプリケーションで使えるようにするために行われるものである。
以下、図12を参照して、情報加工部31cが行う情報加工処理について具体的に説明する。
情報加工部31cは、インターフェイス部32を通じて共有データSDが受信されると、まず管理情報J1内の混在識別情報J3(図5)を参照する(ステップS80)。その結果、受信された共有データSDがファイルであった場合には、特段の処理を行わず終了する。一方、部分データセットD2であった場合には、次にソース情報J5を確認し、所定のソースで作られたものか否かを確認する(ステップS81)。この確認を行うのは、共有データSDに含まれるベクタデータが情報加工部31cで認識可能なベクタデータであることを確認するためである。オペレーションシステムJ51がWINDOWS(登録商標)であり、かつアプリケーションJ50がMICROSOFT EXCEL(登録商標)又はMICROSOFT(登録商標) WORDである場合に、上記所定のソースで作られた第1のフォーマットのベクタデータであると判定すればよい。
ステップS81で否定判定が得られた場合には、それ以上特段の処理を行わず終了する。一方、ステップS81で肯定判定が得られた場合、情報加工部31cは、共有データSDからベクタデータを取得する。そして、所定の変換ルールに従ってこのベクタデータを変換することにより共通ベクタデータを生成し(ステップS83)、共有データSDの一部として共有データSDに付加する(ステップS84)。これにより、共有データSDに共通ベクタデータが含まれることになるので、以後、この共有データSDを各端末装置のクリップボード25に展開した場合、その端末装置のオペレーションシステムやその端末装置にインストールされているアプリケーションによらず、ベクタデータを利用することが可能になる。
以上説明したように、本実施の形態によるデータ管理システム1によれば、ベクタデータを含むものの共通ベクタデータを含まない共有データSDに共通ベクタデータを含ませることができるので、汎用性の高いデータ管理システムを得ることが可能になる。
なお、特許文献4に記載された電子インクなどは、例えばMICROSOFT(登録商標) WORDなどのアプリケーションと連携して動作するが、当該アプリケーションによってクリップボード25に書き込まれたデータに、必ずしも含まれるとは限らない。そこで、端末装置4a側で共有データSDを作成する際、クリップボード25に書き込まれたデータに電子インクを示すデータオブジェクトが含まれるか否かを判定し、その結果を示すデジタルインク有無判定情報をソース情報J5に含めて送信し、サーバ2側でこのデジタルインク有無判定情報に基づいて、上記処理を行うとしてもよい。
次に、本発明の第3の実施の形態によるデータ管理システム1について、図13及び図14を参照しながら説明する。本実施の形態によるデータ管理システム1は、端末装置4aにおいて共有バイト列123を生成する処理の過程が第1の実施の形態によるデータ管理システム1と異なり、その他の点では、第1の実施の形態によるデータ管理システム1と同様である。したがって、第1の実施の形態によるデータ管理システム1と同様の構成には同一の符号を付し、以下では、第1の実施の形態によるデータ管理システム1との相違点に着目して説明する。
図8と図13を比較すると理解されるように、本実施の形態では、ステップS147の否定判定とステップS148の間にステップS160〜S162が設けられる。これらステップS160〜S162は、共有バイト列123に、背景部分を透明色に設定したラスタデータを含めるための処理である。以下、詳しく説明する。
まず、ステップS160では、図2(b)に示した共有データ取得部24a5により、処理対象のデータオブジェクトがベクタデータであるか否かが判定される。この判定結果が肯定判定であった場合、共有データ取得部24a5はまず、ベクタデータの背景部分を特定し、特定した背景部分を示すマップを生成する(ステップS161)。
図14(a)はベクタデータにより描画される図形200であり、図14(b)は図形200の背景部分201を示すマップ202である。図14(b)から理解されるように、マップ202は矩形の画像データとなる。また、背景部分201は、特定色(例えば白色)で塗り潰された状態となっている。
続いて共有データ取得部24a5は、画像データのフォーマットとして透明度を設定可能なPNG形式のフォーマットのデータであって、生成したマップの背景部分に透明色を設定してなるラスタデータを生成し、生成したラスタデータを共有バイト列123に付加する(ステップS162)。これにより、このラスタデータを各端末装置で利用することが可能になる。
再度図14を参照し、図14(c)はマップ202の背景部分201に透明色を設定する前の段階、図14(d)はマップ202の背景部分201に透明色を設定した後の段階をそれぞれ示している。これらの図から理解されるように、背景部分201に透明色を設定すると、背景部分201の後ろ側にある文字が透けて見えるようになる。
以上説明したように、本実施の形態によるデータ管理システム1によれば、共有データSDに含まれるベクタデータから、背景に透明色が設定されたラスタデータを得ることが可能になる。したがって、アプリケーションの違いやオペレーティングシステムの違いによりそのベクタデータ形式のデータを解釈できないアプリケーションにおいても、あたかもベクターデータあるいはネイティブデータで生成された図形を貼り付けたかのように、図形をペーストすることが容易になる。
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
例えば、上記各実施の形態では、クリップボード25に保持されたデータをデータオブジェクトと称したが、オペレーティングシステムの違いにより必ずしもオブジェクトとして扱われない単なるデータであっても、共有データSDの一部を構成するデータとすることができる。例えば、オペレーティングシステムがテキストデータをテキストデータとして扱う場合、オペレーティングシステムがテキストデータをテキストデータオブジェクトと扱う場合のいずれについても、本発明は適用可能である。
また、上記各実施の形態では「クリップボード」の語を用いたが、これは例示に過ぎない。例えば、同一端末の同一オペレーティングシステム上で動作するアプリケーション間の共有メモリ領域が他の用語で呼ばれる場合についても、上記各実施の形態におけるクリップボード25と同様に扱うことにより、本発明を適用することが可能となる。
1 データ管理システム
2 サーバ
3 ストレージ
4a〜4c 端末装置
5 ネットワーク
10 ネットワークインターフェイスカード
11 メモリ
13 デジタイザ
14 内部バス
20 アプリケーション群
21〜23 アプリケーション
22a,22b,23a アプリケーションプログラミングインタフェース
24 クラウドクリップボード連携部
24a アップロード部
24a1 データ判定部
24a2 フォーマット判定部
24a3 判定条件
24a4 共有バイト列生成部
24a5 共有データ取得部
24b ダウンロード部
25 クリップボード
26,33,42 通信部
30 サービス管理部
31 クリップボードマネージャ
31a ファイル情報管理部
31b 部分データセット管理部
31c 情報加工部
32 インターフェイス部
32a,32b サービスインタフェース
40 記憶領域
41 ストレージリソース管理部
42 通信部
101〜106 データオブジェクト
110 クリップディクショナリ
120 画像データ
122 生データ
123 共有バイト列
200 ベクタデータ
201 背景部分
202 マップ
B1 貼付ボタン
B2 ダウンロードボタン
B3 削除ボタン
D1 ファイル情報
D1a ファイルの実体データ
D2 部分データセット
J1 管理情報
J2 識別情報
J3 混在識別情報
J4 メタ情報
J40 ファイル名
J41 パス名
J42 属性フラグ
J43 カテゴリ
J44 所有者情報
J45 アクセス日時
J46 作成日時
J5 ソース情報
J50 アプリケーション
J51 オペレーションシステム
J52 デバイス
J6 ストレージ情報
J60 共有データ格納場所
J61 画像データ格納場所
J62 サムネイル格納場所
P ページ
PA 部分データセットD2である共有データSDの表示エリア
FA ファイルである共有データSDの表示エリア

Claims (24)

  1. サーバ装置と通信可能なストレージ装置に対しデータをアップロードする端末装置であって、
    アップロード対象のデータがファイルであるかアプリケーションが使用している部分データセットであるかを判定するデータ判定部と、
    前記データ判定部により部分データセットであると判定された前記アップロード対象のデータに、画像データを生成可能に構成された所定のフォーマットにより作成されたデータオブジェクトが含まれるか否かを判定するフォーマット判定部と、
    前記フォーマット判定部により含まれると判定された場合に、前記アップロード対象のデータから画像データ及び共有バイト列を生成する共有バイト列生成部と、
    前記データ判定部によりファイルであると判定された場合に前記アップロード対象のデータを共有データとして前記ストレージ装置に対して送信する一方、前記データ判定部により部分データセットであると判定された場合に前記画像データ及び前記共有バイト列を共有データとして前記ストレージ装置に対して送信する共有データ取得部と
    を備える端末装置。
  2. 前記共有データ取得部は、前記データ判定部により部分データセットであると判定された場合に、前記画像データと前記共有バイト列とを前記ストレージ装置の別個の格納位置に対し送信する
    請求項1に記載の端末装置。
  3. 前記画像データを格納する格納位置は、前記サーバ装置が前記共有バイト列の内容を示すサムネイル情報を生成するためにアクセスされる格納位置であり、
    前記共有バイト列を格納する格納位置は、前記サムネイル情報により内容が示される前記共有バイト列にアクセスするための格納位置である
    請求項2に記載の端末装置。
  4. 前記共有データ取得部は、前記共有データがファイル及び部分データセットのいずれであるかを示す混在識別情報を前記サーバ装置に送信する
    請求項1乃至3のいずれか一項に記載の端末装置。
  5. 前記共有データ取得部は、前記データ判定部により部分データセットであると判定された場合に、前記アプリケーションの種別及びオペレーションシステムの種類を示すソース情報を取得し、前記共有バイト列とは別に前記サーバ装置に対して送信する
    請求項1乃至4のいずれか一項に記載の端末装置。
  6. 前記所定のフォーマットはラスタデータ型のフォーマットであり、
    前記共有バイト列生成部は、前記ラスタデータ型のフォーマットで生成されたデータオブジェクトに基づいて前記画像データを生成する
    請求項1乃至5のいずれか一項に記載の端末装置。
  7. 前記ラスタデータ型のフォーマットは、少なくとも、ビットマップ、JPEG、TIFF、及び、GIFのいずれか1つを含み、
    前記共有バイト列生成部は、前記ラスタデータ型のフォーマットとは異なる他のラスタデータ型のフォーマットで前記画像データを生成する
    請求項6に記載の端末装置。
  8. 前記共有バイト列生成部は、前記他のラスタデータ型のフォーマットとして、透明度を設定可能なフォーマットにて前記画像データを生成する
    請求項7に記載の端末装置。
  9. 前記透明度を設定可能なフォーマットは、PNG形式の画像データである
    請求項8に記載の端末装置。
  10. 前記共有バイト列生成部は、前記フォーマット判定部により含まれると判定された場合に、前記アップロード対象のデータに含まれるデータオブジェクト以外の部分を背景として含む矩形画像データを生成し、生成した矩形画像データの背景部分に透明色を設定してなるラスタデータを前記画像データとして生成する
    請求項1乃至9のいずれか一項に記載の端末装置。
  11. 前記共有バイト列生成部は、前記アップロード対象のデータに含まれる1又は複数のデータオブジェクトのうちサムネイルであるデータオブジェクトを除く部分に基づいて、前記共有バイト列を生成する
    請求項1乃至10のいずれか一項に記載の端末装置。
  12. 前記データ判定部は、クリップボード内のデータを更新させる操作とは異なるユーザ操作に応じて、該クリップボードから前記アップロード対象のデータを取得するよう構成される
    請求項1乃至11のいずれか一項に記載の端末装置。
  13. 請求項1乃至12のいずれか一項に記載の端末装置と、
    サーバ装置とを備え、
    前記共有データ取得部は、前記共有データを前記ストレージ装置に対して送信する前に該共有データのサイズ情報を取得し、該サイズ情報を前記サーバ装置に対して送信し、
    前記サーバ装置は、前記サイズ情報に基づいて前記ストレージ装置が前記共有データを格納できるか否かを確認し、確認の結果を示す情報を前記端末装置に対して送信し、
    前記共有データ取得部は、前記情報に応じて前記共有データの送信を行う
    データ管理システム。
  14. 前記共有データ取得部は、前記ストレージ装置に対して前記共有データを送信した後、前記サーバ装置に対して、前記ストレージ装置に前記共有データを格納したことを示す情報を送信する
    請求項13に記載のデータ管理システム。
  15. 前記サーバ装置は、
    前記端末装置から受信した前記共有データが部分データセットであり、かつ所定のベクタデータを含んでいる場合に、該所定のベクタデータを該所定のベクタデータに比してオペレーティングシステムの差異の観点で汎用性の高い他のベクタデータに変換する情報加工部を有する
    請求項13又は14に記載のデータ管理システム。
  16. 前記共有データは、該共有データがファイル及び部分データセットのいずれにかかるものであるかを示す混在識別情報を含み、
    前記ストレージ装置は、前記混在識別情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成される
    請求項13乃至15のいずれか一項に記載のデータ管理システム。
  17. 前記共有データは、該共有データを作成したアプリケーションを示すソース情報を含み、
    前記ストレージ装置は、前記ソース情報と、前記共有データのうち前記ファイルである部分、又は、前記共有データのうち前記共有バイト列である部分とを別の格納位置に記憶するよう構成される
    請求項13乃至16のいずれか一項に記載のデータ管理システム。
  18. それぞれファイル又は部分データセットである複数の共有データを送信する端末装置と、
    前記端末装置が送信した前記複数の共有データを記憶するストレージ装置と、
    サーバ装置とを備え、
    前記端末装置は前記サーバ装置に対し、前記部分データセットである1又は複数の前記共有データに適用されるフィルタリング条件を示すフィルタ情報を送信し、
    前記サーバ装置は、前記ストレージ装置に記憶される前記複数の共有データの中から、前記フィルタリング条件を満たす前記部分データセットである1又は複数の前記共有データと、前記ファイルである1又は複数の前記共有データとを選択し、選択した1又は複数の前記共有データのリストを前記端末装置に提示するよう構成される
    データ管理システム。
  19. 前記サーバ装置は、ファイルの一覧及び部分データセットの一覧を提示するものであり、少なくとも前記部分データセットについて、その中に含まれるデータオブジェクトに基づいて該サーバ装置が生成したサムネイルを含む前記リストを前記端末装置に提示するよう構成される
    請求項18に記載のデータ管理システム。
  20. 前記フィルタリング条件は、前記部分データセットを作成したアプリケーションを示すソース情報を含む
    請求項18又は19に記載のデータ管理システム。
  21. 前記フィルタリング条件は、前記端末装置のオペレーティングシステムを示すソース情報を含み、
    前記サーバ装置は、前記部分データセットである1又は複数の前記共有データのうち、基本ソフトとして前記ソース情報により示されるオペレーティングシステムがインストールされた端末装置で作成された前記共有データを選択するよう構成される
    請求項18乃至20のいずれか一項に記載のデータ管理システム。
  22. 前記端末装置は、前記サーバ装置から提示された前記リストの中から1又は複数の共有データを選択し、選択した前記1又は複数の共有データを示す選択情報を前記サーバ装置に対して送信するよう構成され、
    前記サーバ装置は、前記端末装置から送信された前記選択情報に基づいて前記ストレージ装置から1又は複数の前記共有データを読み出し、読み出した前記1又は複数の共有データを前記端末装置に対して送信するよう構成される
    請求項18乃至21のいずれか一項に記載のデータ管理システム。
  23. 前記端末装置は、前記サーバ装置から前記部分データセットである前記共有データを受信した場合に該共有データをクリップボードに展開する一方、前記サーバ装置から前記ファイルである前記共有データを受信した場合に該共有データを所定のフォルダにコピーするよう構成される
    請求項22に記載のデータ管理システム。
  24. それぞれファイル又は部分データセットである複数の共有データを送信する端末装置、及び、前記端末装置が送信した前記複数の共有データを記憶するストレージ装置と通信可能に構成されたサーバ装置であって、
    前記ストレージ装置に記憶される前記複数の共有データの中から、所与のフィルタリング条件を満たす前記部分データセットである1又は複数の前記共有データと、前記ファイルである1又は複数の前記共有データとを選択し、選択した1又は複数の前記共有データのリストを前記端末装置に提示するよう構成される
    サーバ装置。
JP2015506427A 2014-10-29 2014-10-29 端末装置、データ管理システム、方法、プログラム Active JP5813903B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/078703 WO2016067376A1 (ja) 2014-10-29 2014-10-29 端末装置、データ管理システム、サーバ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015182605A Division JP2016091540A (ja) 2015-09-16 2015-09-16 端末装置、データ管理システム、サーバ装置

Publications (2)

Publication Number Publication Date
JP5813903B1 JP5813903B1 (ja) 2015-11-17
JPWO2016067376A1 true JPWO2016067376A1 (ja) 2017-04-27

Family

ID=54595884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015506427A Active JP5813903B1 (ja) 2014-10-29 2014-10-29 端末装置、データ管理システム、方法、プログラム

Country Status (5)

Country Link
US (1) US11775176B2 (ja)
EP (1) EP3214552A1 (ja)
JP (1) JP5813903B1 (ja)
CN (1) CN106796549A (ja)
WO (1) WO2016067376A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868344A (zh) * 2016-03-28 2016-08-17 联想(北京)有限公司 一种信息处理方法及电子设备
US10567509B2 (en) * 2017-05-15 2020-02-18 International Business Machines Corporation Rebuilding derived content
US10664980B2 (en) * 2017-06-08 2020-05-26 Microsoft Technology Licensing, Llc Vector graphics handling processes for user applications
CN107506365B (zh) * 2017-06-26 2021-02-12 杭州沃趣科技股份有限公司 一种对输出列进行合并计算的方法
CN110647552B (zh) * 2019-08-29 2022-11-11 深圳市新系区块链技术有限公司 数据分发方法及相关产品

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2288041A (en) 1994-03-23 1995-10-04 Ibm Object linking and embedding over a computer network.
JP3320601B2 (ja) * 1996-01-17 2002-09-03 日本電信電話株式会社 画像表示方法およびシステム
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
JP2001282732A (ja) * 2000-04-03 2001-10-12 Komatsu Ltd コンピュータ間通信により遠隔のユーザへサービスを提供する方法及びシステム
JP2002288124A (ja) * 2001-03-21 2002-10-04 Internatl Business Mach Corp <Ibm> ワークステーションシステム、コンピュータ装置、データ転送方法、データ編集方法、コンピュータプログラムの作成方法、コンピュータプログラム、記憶媒体
US7158675B2 (en) 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
JP2006053872A (ja) 2004-08-16 2006-02-23 Fuji Photo Film Co Ltd 画像転送方法
US8082189B2 (en) 2007-12-13 2011-12-20 Dai Nippon Printing Co., Ltd. Information providing system for providing store information to a mobile terminal device
JP4803266B2 (ja) 2009-02-12 2011-10-26 ソニー株式会社 通信装置、サーバ、プログラム及び通信システム
US20120096368A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US9571433B2 (en) 2011-09-12 2017-02-14 Panasonic Intellectual Property Management Co., Ltd. Communication device, relay server for relaying data from communication device, and communication system including them
US9189645B2 (en) * 2012-10-12 2015-11-17 Citrix Systems, Inc. Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices
US8447801B1 (en) * 2012-11-01 2013-05-21 LavaRipples, LLC Content sharing with limited cloud storage
US9647991B2 (en) * 2013-03-15 2017-05-09 Adobe Systems Incorporated Secure cloud-based clipboard for touch devices

Also Published As

Publication number Publication date
EP3214552A1 (en) 2017-09-06
CN106796549A (zh) 2017-05-31
US20170220277A1 (en) 2017-08-03
US11775176B2 (en) 2023-10-03
JP5813903B1 (ja) 2015-11-17
WO2016067376A1 (ja) 2016-05-06

Similar Documents

Publication Publication Date Title
US20190361969A1 (en) Method and system for annotation and connection of electronic documents
JP5813903B1 (ja) 端末装置、データ管理システム、方法、プログラム
JP6588112B2 (ja) デバイスを無線接続する方法、コンピュータプログラムおよびシステム
JP6142580B2 (ja) 情報処理システム、情報登録方法、会議装置及びプログラム
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
JP6825465B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2015184989A (ja) データ供給装置、及び、データ供給プログラム
US11436279B2 (en) Dynamically building file graph
JP6369598B2 (ja) 情報処理システム、情報登録方法、会議装置及びプログラム
JP6019742B2 (ja) データ出力装置、データ出力方法、及び、プログラム
JP6131648B2 (ja) データ管理システム、情報システム、データ管理方法及び情報システムの制御方法、並びに、それら方法のプログラム及びそのプログラムを記録した記録媒体
US20110320927A1 (en) Methods and Apparatus Utilizing XooML: Cross (X) Tool Markup Language
JP2016091540A (ja) 端末装置、データ管理システム、サーバ装置
EP3293634A1 (en) Process for realization of copy &amp; paste function between different computers
JP2018005509A (ja) 情報処理装置、制御方法、及びプログラム
JP2008077357A (ja) 文書管理装置、表示状態データ出力方法、表示状態データ取込み方法、及びプログラム
CN114519039B (zh) 一种数据在线管理方法、装置、终端设备以及存储介质
JP6270263B2 (ja) 情報管理システムおよび情報処理装置
JP2019091377A (ja) 情報処理装置、ファイル管理システム、制御方法、及びプログラム
JP2011248485A (ja) グループウェアシステムおよびプログラム
JP2018041337A (ja) ファイル管理システム、及び制御方法
JP2007234055A (ja) 電子ドキュメントファイリング装置、電子ドキュメントファイリングシステム、電子ドキュメントファイリング方法及びプログラム
JP6683042B2 (ja) データ処理装置、システムおよびプログラム
CN117764036A (zh) 文档引用内容更新方法、设备及存储介质
US20190212893A1 (en) System and method for gesture document processing

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150916

R150 Certificate of patent or registration of utility model

Ref document number: 5813903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250