JP2024081008A - 文書管理装置、文書管理方法と画像形成装置、プログラム - Google Patents
文書管理装置、文書管理方法と画像形成装置、プログラム Download PDFInfo
- Publication number
- JP2024081008A JP2024081008A JP2022194406A JP2022194406A JP2024081008A JP 2024081008 A JP2024081008 A JP 2024081008A JP 2022194406 A JP2022194406 A JP 2022194406A JP 2022194406 A JP2022194406 A JP 2022194406A JP 2024081008 A JP2024081008 A JP 2024081008A
- Authority
- JP
- Japan
- Prior art keywords
- document
- information
- related information
- management device
- target
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 108
- 230000006870 function Effects 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims 3
- 238000000034 method Methods 0.000 description 142
- 230000008569 process Effects 0.000 description 127
- 238000012795 verification Methods 0.000 description 70
- 238000012545 processing Methods 0.000 description 58
- 238000010586 diagram Methods 0.000 description 20
- 230000008520 organization Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ブロックチェーンサービスと連携する画像形成装置の構成において、文書を、その最新性も含めて検証する。【解決手段】情報をブロックごとに少なくともその前のブロックと関連付けて管理するブロックチェーンサービスと連携する文書管理装置が、登録対象である文書に関する文書関連情報を前記ブロックチェーンサービスに登録し、対象となる対象文書に関する文書関連情報を、ブロックチェーンサービスから取得する。ブロックチェーンサービスから取得した文書関連情報に基づいて、対象文書が最新か否かを判定し、対象文書の文書関連情報を取得できなかった場合、及び、対象文書が最新でないと判定された場合には、対象文書の検証の失敗を出力する。【選択図】図14B
Description
本発明は、ブロックチェーンを使用した電子データの記録改ざんに対応する文書管理装置、文書管理方法と画像形成装置、プログラムに関する。
電子ファイルの改ざんを防止するために、ブロックチェーンを利用することで電子ファイルの内容変更に信頼性を担保することが知られている(特許文献1を参照)。
しかしながら、文書を検証するシステムでは、文書識別情報がブロックチェーン上に登録されているか否かの確認しかしていない。そのため、登録済みの文書の内容を更新して再度登録したとしても、更新前の文書と更新後の文書では真正性としては同じ検証結果になる。よって、内容が古い文書をユーザが信頼する危険性を避けるために、内容の最新性についても検証する必要がある。
本願発明は、ブロックチェーンサービスを利用して、文書の真正性に加え、内容の最新性の検証も可能とすることを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、本発明の一側面によれば、情報をブロックごとに少なくともその前のブロックと関連付けて管理するブロックチェーンサービスと連携する文書管理装置であって、
登録対象である文書に関する文書関連情報を前記ブロックチェーンサービスに登録する登録手段と、
検証の対象となる対象文書に関する前記文書関連情報を、前記ブロックチェーンサービスから取得する取得手段と、
前記ブロックチェーンサービスから取得した前記文書関連情報に基づいて、前記対象文書が最新か否かを判定する判定手段と、
前記取得手段により前記対象文書の前記文書関連情報を取得できなかった場合、及び、前記判定手段により前記対象文書が最新でないと判定された場合には、前記対象文書の検証の失敗を出力する出力手段と、を有する
ことを特徴とする文書管理装置が提供される。
登録対象である文書に関する文書関連情報を前記ブロックチェーンサービスに登録する登録手段と、
検証の対象となる対象文書に関する前記文書関連情報を、前記ブロックチェーンサービスから取得する取得手段と、
前記ブロックチェーンサービスから取得した前記文書関連情報に基づいて、前記対象文書が最新か否かを判定する判定手段と、
前記取得手段により前記対象文書の前記文書関連情報を取得できなかった場合、及び、前記判定手段により前記対象文書が最新でないと判定された場合には、前記対象文書の検証の失敗を出力する出力手段と、を有する
ことを特徴とする文書管理装置が提供される。
本発明によれば、ブロックチェーンサービスを利用して、文書の真正性に加え、内容の最新性の検証も可能となる。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<実施形態1>
●文書管理システムの構成
以下、これら種々の問題を解決する本発明を実施するための形態について図面を用いて説明する。図1は、ブロックチェーンサービスに関連するシステム(印刷システム或いは文書管理システムとも呼ぶ)の全体図である。画像形成装置101、PC102,文書管理装置103がLAN100に接続されイントラネット内に存在し、インターネット110を介して、ブロックチェーン装置111と通信を行う。なお、ここではインターネット110を介す構成を示しているが同じイントラネット内にある構成であっても良い。ブロックチェーン装置111はブロックチェーンに文書情報を格納したトランザクションを登録、検証するためのブロックチェーンサービスを提供するための装置である。なおトランザクションに含まれる文書情報は文書そのものを表す情報ではなく当該文書に関連した情報であるので、文書関連情報とも呼ぶ。PC102は、ウェブブラウザを利用した画像形成装置101の管理や、プリントドライバを利用した画像形成装置101への印刷や、文書管理装置103の電子文書の管理に利用される。
●文書管理システムの構成
以下、これら種々の問題を解決する本発明を実施するための形態について図面を用いて説明する。図1は、ブロックチェーンサービスに関連するシステム(印刷システム或いは文書管理システムとも呼ぶ)の全体図である。画像形成装置101、PC102,文書管理装置103がLAN100に接続されイントラネット内に存在し、インターネット110を介して、ブロックチェーン装置111と通信を行う。なお、ここではインターネット110を介す構成を示しているが同じイントラネット内にある構成であっても良い。ブロックチェーン装置111はブロックチェーンに文書情報を格納したトランザクションを登録、検証するためのブロックチェーンサービスを提供するための装置である。なおトランザクションに含まれる文書情報は文書そのものを表す情報ではなく当該文書に関連した情報であるので、文書関連情報とも呼ぶ。PC102は、ウェブブラウザを利用した画像形成装置101の管理や、プリントドライバを利用した画像形成装置101への印刷や、文書管理装置103の電子文書の管理に利用される。
ブロックチェーン装置111は画像形成装置101で生成された印刷文書や、文書管理装置103で保存された文書に関する情報をブロック単位にまとめて管理する装置であり文書の正当性を保障するためのブロックチェーンサービスを提供する装置である。文書管理装置103は、電子文書を管理(閲覧、新規保存、更新、削除)するための文書管理サービスを提供する。文書管理装置103は、画像形成装置101やPC102で生成された電子文書を保存する装置であり、保存済みの文書に対して内容変更された文書を更新して保存することで改訂記録も管理する。
ブロックチェーン装置111および文書管理装置103が提供するサービスはクラウドサービスとして提供されてもよく、その場合、複数のコンピューターを仮想化することで1つの装置としサービスを提供する形態でも良い。
図2は、情報処理装置の一例である画像形成装置101のハードウェア構成を示すブロック図である。Central Processing Unit(CPU)201を含む制御部200は、画像形成装置101全体の動作を制御する。CPUのことを処理部或いはプロセッサと呼ぶこともある。CPU201は、Read Only Memory(ROM)202に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。Randam Access Memory(RAM)203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。Hard Disc Drive(HDD)204は、画像データや各種プログラム、あるいは後述する各種データを記憶する。画像形成装置101は情報処理装置としてのハードウェア構成を有しているが、これに加え以下のハードウェア構成をさらに有する。
操作部I/F205は、操作部209と制御部200とを接続する。プリンタI/F206は、プリンタ210と制御部200とを接続する。プリンタ210で印刷すべき画像データはプリンタI/F206を介して制御部200から転送され、プリンタ210において記録媒体上に印刷される。スキャナI/F207は、スキャナ211と制御部200とを接続する。スキャナ211は、原稿上の画像を読み取って画像データを生成し、スキャナI/F207を介して制御部200に入力する。
ネットワークI/F208は、制御部200(すなわち画像形成装置101)をLAN100に接続する。ネットワークI/F208は、LAN100上の外部装置に画像データや情報を送信したり、LAN100上の外部装置から各種情報を受信したりする。
図3は、情報処理装置の一例である文書管理装置103のハードウェア構成を表すブロック図である。なお、ここでは例示していないが、情報処理装置の他の一例であるPC102とブロックチェーン装置111も文書管理装置103と同じハードウェア構成でもよい。CPU302は装置全体の制御を行う。CPU302はHDD305に格納されているアプリケーションプログラムやOS等を実行し、RAM303にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM304は記憶部であり、内部には、基本I/Oプログラム等の各種データを記憶する。RAM303は一時記憶部であり、CPU302の主メモリ、ワークエリア等として機能する。HDD305は外部記憶部の一つであり、大容量メモリとして機能し、オフィスアプリケーションやWebブラウザー等のアプリケーションプログラム、OS、関連プログラム等を格納している。
図3は、情報処理装置の一例である文書管理装置103のハードウェア構成を表すブロック図である。なお、ここでは例示していないが、情報処理装置の他の一例であるPC102とブロックチェーン装置111も文書管理装置103と同じハードウェア構成でもよい。CPU302は装置全体の制御を行う。CPU302はHDD305に格納されているアプリケーションプログラムやOS等を実行し、RAM303にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM304は記憶部であり、内部には、基本I/Oプログラム等の各種データを記憶する。RAM303は一時記憶部であり、CPU302の主メモリ、ワークエリア等として機能する。HDD305は外部記憶部の一つであり、大容量メモリとして機能し、オフィスアプリケーションやWebブラウザー等のアプリケーションプログラム、OS、関連プログラム等を格納している。
ディスプレイ306は表示デバイスであり、指示入力部であるキーボード/マウス307から入力したコマンド等を表示したりするものである。インターフェース308は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続する。システムバス301は、装置内におけるデータの流れを司るものである。ネットワークインターフェースカード(以降NIC)309は、LAN100を介して外部装置とのデータのやり取りを行う。
なお、情報処理装置の構成はその一例であり、図2および図3の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてROM304、RAM303、HDD305などで変更することも可能である。本実施形態中で特に明記しない場合は、各種処理はROM304やHDD305等に記憶されているプログラムをRAM303等にロードし、CPU302で実行することによって実現されるものとする。
●画像形成装置のソフトウェア
図4は、画像形成装置101において本発明に関連するソフトウェア構成について示したブロック図である。特に断りのない限り、各処理部はROM202に記憶された制御プログラムをCPU201が実行することにより実現されるソフトウェア機能である。
図4は、画像形成装置101において本発明に関連するソフトウェア構成について示したブロック図である。特に断りのない限り、各処理部はROM202に記憶された制御プログラムをCPU201が実行することにより実現されるソフトウェア機能である。
ローカルUI制御部400は、操作部I/F205を介して操作部209を制御する機能を提供する。ローカルUI制御部400はユーザが操作部209で操作した内容をユーザ認証処理部402やアプリケーション404に通知する。ローカルUI制御部400はユーザ認証処理部402やアプリケーションからの画面表示依頼を受けて、操作部209へ画面を表示するための制御を行う。ユーザ認証処理部402、アプリケーション404はローカルUI制御部400を介して操作部209に画面を表示する。
リモートUI制御部401は、ネットワークI/F208を介してPC102上のウェブブラザに対してウェブページを提供する。リモートUI制御部401はユーザがウェブブラウザで操作した内容をユーザ認証処理部402やアプリケーション404に通知する。リモートUI制御部401はユーザ認証処理部402やアプリケーション404からの依頼を受けて、ウェブブラウザに対してウェブページを表示するための制御を行う。ユーザ認証処理部402、アプリケーション404はリモートUI制御部401を介してウェブブラウザに対してウェブページを表示させる。
ユーザ認証処理部402は、画像形成装置101を利用するユーザを認証するための機能を提供する。ユーザ認証処理部402は、ユーザから入力されたユーザ名とパスワードといった認証情報を受信し、ユーザ情報DB403内に保持しているユーザ情報と比較することでユーザ認証を行う。また、ユーザ認証処理部402は、ブロックチェーンアプリケーション406からの指示を受けて、ブロックチェーンアプリケーション406にクレデンシャル情報405を渡す。クレデンシャル情報405は、ユーザが組織単位でブロックチェーン装置111を利用する正規のユーザであることを保証するためのクレデンシャル情報である。ここでは、1つの画像形成装置101を1つの組織で利用する構成で示しているが、複数のユーザ組織で画像形成装置101を利用する場合は、ユーザ組織の数だけ存在する構成を取れば良い。あるいは、ユーザ単位でクレデンシャル情報を用意する構成を取っても良い。
ユーザ情報DB403は、画像形成装置101を利用するユーザに関する情報であるユーザ情報を保持する機能を提供する。ユーザ情報DB403は、HDD204内に構築され、格納される情報はHDD204に記憶される。ユーザ情報DB403に格納しているユーザ情報テーブルの一例ユーザ情報テーブルの一例を表1に示す。
表1:ユーザ情報テーブル
ユーザ名 パスワード
UserA 559aead0
UserB df7e70e5
。
ユーザ名 パスワード
UserA 559aead0
UserB df7e70e5
。
表1のユーザ情報テーブルは、「ユーザ名」と「パスワード」から構成されており、「ユーザ名」はユーザを一意に識別するための名称、「パスワード」はユーザ認証で利用するパスワードであり、ユーザ毎に任意の値を設定することができる。
アプリケーション404は、文書を受信しプリンタI/F206を介して印刷する機能、スキャンした文書を電子文書に変換しHDD204に保存する機能やPC102や文書管理装置に送信する機能、もしくはコピーとして印刷する機能を提供する。さらにブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書(印刷文書、保存/送信された電子文書)の情報を登録する機能や、スキャンした文書がブロックチェーン装置111に登録済みかを検証する機能を提供する。アプリケーション404は、ブロックチェーン装置111に登録の有無を問い合わる際に必要となる問い合わせ情報に対応する埋込情報を文書に埋め込んだ状態で印刷することができる。印刷物の一例として文書を示すが、文書以外の印刷物も同様に扱うことができる。アプリケーション404はスキャナI/F207を介してスキャナ211を制御したり、ネットワークI/F208を介してLAN100へデータを送信したりすることで、外部装置(例えばPC102)へスキャンデータの送信を行う。アプリケーション404はローカルUI制御部400およびリモートUI制御部401へ画面情報を提供する。
アプリケーション404はローカルUI制御部400を介して操作部209に表示された画面への入力を受け付け、それに応じて処理を行う。また、アプリケーション404はリモートUI制御部401を介してPC102上のウェブブラザからの入力を受け付け、それに応じて処理を行う。なお、文書の印刷、検証と言った機能を1つのアプリケーションに備える例を説明するが、それらの機能を複数のアプリケーションに分担させても良い。例えば、文書の登録を行うスキャンアプリケーションと、印刷を行う印刷アプリケーションのように分ける形態が考えられる。
ブロックチェーンアプリケーション406は、ブロックチェーン連携するためのアプリケーションであり、アプリケーション404からの指示を受け、ブロックチェーン装置111に文書の情報を登録、検証する機能を提供する。ブロックチェーンアプリケーション406は、アプリーションからブロックチェーン装置111に対する指示を受けた際に、ユーザ認証処理部402からクレデンシャル情報405と、クレデンシャル情報管理部410からクレデンシャル情報407も受け取る。ブロックチェーンアプリケーション406は、ブロックチェーン装置111に指示を送る際に、受け取ったクレデンシャル情報405、407も送信する。ブロックチェーン装置111で送信したクレデンシャル情報が検証され、検証が成功した場合だけ、ブロックチェーン装置111に送信した指示が実行される。ポリシー設定408は、ブロックチェーン装置111を用いた処理に関する設定であり、ブロックチェーンアプリケーション406が参照する。ポリシー設定408は、画像形成装置101の管理者が設定する。もしくは他の構成例として、ブロックチェーン装置111の管理者が設定したポリシー設定をブロックチェーン装置111からダウンロードし、ポリシー設定408に設定する構成としても良い。あるいは、ポリシー設定408は、システム開発者によってあらかじめ画像形成装置101に組み込まれる構成でも良い。
クレデンシャル情報407は、画像形成装置101がブロックチェーン装置111を利用する正規の装置であることを保証するためのクレデンシャル情報である。クレデンシャル情報407は、例えば本システムを運営する団体が装置のメーカーごとに発行してもよい。クレデンシャル情報407は画像形成装置101のファームウェア内に組み込んだ状態で出荷してもよいし、出荷後に画像形成装置101へインストールしてもよい。なお、クレデンシャル情報407はデジタル証明書や秘密鍵と公開鍵の鍵ペアでもよいし、予め定められたデータ値でもよく、クレデンシャル情報407の実態に制限はない。クレデンシャル情報407はアプリケーションごとに異なる実態であってもよい。クレデンシャル情報管理部410は、画像形成装置101内のクレデンシャル情報407を管理する機能を提供する。本実施例ではクレデンシャル情報管理部410は、ブロックチェーンアプリケーション406からの指示を受けて、ブロックチェーンアプリケーション406にクレデンシャル情報407を渡す。
●文書管理装置のソフトウェア
図5は、文書管理装置103におけるソフトウェア構成について示したブロック図である。
図5は、文書管理装置103におけるソフトウェア構成について示したブロック図である。
UI制御部501は、NIC309を介してPC102上のウェブブラザに対してウェブページを提供する。UI制御部501はユーザがウェブブラウザで操作した内容をユーザ認証処理部502や文書管理部504に通知する。UI制御部501はユーザ認証処理部502や文書管理部504からの依頼を受けて、ウェブブラウザに対してウェブページを表示するための制御を行う。ユーザ認証処理部502、文書管理部504はUI制御部501を介してウェブブラウザに対してウェブページを表示させる。なお、ここでは、NIC309を介してUIを提供する例を示しているが、ディスプレイ306にUIを提供する構成でも良い。
ユーザ認証処理部502は、文書管理装置103を利用するユーザを認証するための機能を提供する。ユーザ認証処理部502はユーザからユーザ名とパスワードの入力といった認証情報を受信し、ユーザ情報DB503内に保持しているユーザ情報と比較することでユーザ認証を行う。また、ユーザ認証処理部502は、ブロックチェーンプラグイン506からの指示を受けて、ブロックチェーンプラグイン506にクレデンシャル情報505を渡す。クレデンシャル情報505は、ユーザが組織単位でブロックチェーン装置111を利用する正規のユーザであることを保証するためのクレデンシャル情報である。ここでは、1つの文書管理装置103を1つの組織で利用する構成で示しているが、複数のユーザ組織で文書管理装置103を利用する場合は、ユーザ組織の数だけ存在する構成を取れば良い。あるいは、ユーザ単位でクレデンシャル情報を用意する構成を取っても良い。
ユーザ情報DB503は、画像形成装置101を利用するユーザに関する情報であるユーザ情報を保持する機能を提供する。ユーザ情報DB503は、HDD305内に構築され、格納される情報はHDD305に記憶される。ユーザ情報DB503に格納しているユーザ情報テーブルの一例を表2に示す。
表2:ユーザ情報テーブル
ユーザ名 パスワード
UserC f75932f2
UserD 3f39d5c3
。表2のユーザ情報テーブルは、「ユーザ名」と「パスワード」から構成されており、「ユーザ名」はユーザを一意に識別するための名称、「パスワード」はユーザ認証で利用するパスワードであり、ユーザ毎に任意の値を設定することができる。なお、ここでは表1に示したユーザ情報DB403のユーザ情報と異なるユーザ情報テーブルの例を示したが、ユーザ情報DB503のユーザ情報はユーザ情報DB403のユーザ情報と同期する構成でも良い。他にも、ユーザ情報DB403とユーザ情報DB503のどちらか一方のユーザ情報DBを利用する構成や、あるいは外部にユーザ情報DBを配置してそこからユーザ情報を参照する構成でも良い。
ユーザ名 パスワード
UserC f75932f2
UserD 3f39d5c3
。表2のユーザ情報テーブルは、「ユーザ名」と「パスワード」から構成されており、「ユーザ名」はユーザを一意に識別するための名称、「パスワード」はユーザ認証で利用するパスワードであり、ユーザ毎に任意の値を設定することができる。なお、ここでは表1に示したユーザ情報DB403のユーザ情報と異なるユーザ情報テーブルの例を示したが、ユーザ情報DB503のユーザ情報はユーザ情報DB403のユーザ情報と同期する構成でも良い。他にも、ユーザ情報DB403とユーザ情報DB503のどちらか一方のユーザ情報DBを利用する構成や、あるいは外部にユーザ情報DBを配置してそこからユーザ情報を参照する構成でも良い。
文書管理部504は、文書の閲覧、ダウンロード、文書の新規保存、文書の更新、文書の削除といった文書管理機能を提供する。さらにブロックチェーンプラグイン506を介してブロックチェーン装置111に文書(新規保存、更新保存された電子文書)の情報を登録する機能や、保存済みの電子文書がブロックチェーン装置111に登録済みかを検証する機能を提供する。
なお文書情報そのものは文書管理装置103に保存されてもよいし、文書管理装置103に接続されたデータベースに保存されてもよい。保存される文書情報は最新のバージョンのみであってもよいし、すべてのバージョンであってもよい。また文書管理装置103は文書の編集機能を持たず、PC102等の他の装置から受信した文書情報を管理するだけであってもよいし、編集機能を持っていてもよい。
ブロックチェーンプラグイン506は、ブロックチェーン連携するためのプラグインであり、文書管理部504からの指示を受け、ブロックチェーン装置111に文書の情報を登録、検証する機能を提供する。ブロックチェーンプラグイン506は、文書管理部504からブロックチェーン装置111に対する指示を受けた際に、ユーザ認証処理部502からクレデンシャル情報505とクレデンシャル情報管理部510からクレデンシャル情報507も受け取る。ブロックチェーンプラグイン506は、ブロックチェーン装置111に指示を送る際に、受け取ったクレデンシャル情報505、507も送信する。ブロックチェーン装置111で送信したクレデンシャル情報が検証され、検証が成功した場合だけ、ブロックチェーン装置111に送信した指示が実行される。
クレデンシャル情報507は、文書管理装置103がブロックチェーン装置111を利用する正規の装置であることを保証するためのクレデンシャル情報である。クレデンシャル情報507は、例えば本システムを運営する団体が文書管理サービスのベンダーごとに発行してもよい。クレデンシャル情報507は文書管理装置103のシステム内に組み込んだ構成でもよいし、あとから文書管理装置103へインストールしてもよい。なお、クレデンシャル情報はデジタル証明書や秘密鍵と公開鍵の鍵ペアでもよいし、予め定められたデータ値でもよく、クレデンシャル情報の実態に制限はない。クレデンシャル情報管理部510は、文書管理装置103内のクレデンシャル情報507を管理する機能を提供する。本実施例ではクレデンシャル情報管理部510は、ブロックチェーンプラグイン506からの指示を受けて、ブロックチェーンプラグイン506にクレデンシャル情報507を渡す。
●ブロックチェーン
図6は、実施形態1におけるブロックチェーン装置111に保持するトランザクション601とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。ブロックチェーン装置111は、ブロックチェーンと呼ばれる方式でデータを管理する装置である。このブロックチェーンは、情報をトランザクションという単位で取り扱い、そのトランザクションを複数まとめたブロックという単位で管理する。
図6は、実施形態1におけるブロックチェーン装置111に保持するトランザクション601とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。ブロックチェーン装置111は、ブロックチェーンと呼ばれる方式でデータを管理する装置である。このブロックチェーンは、情報をトランザクションという単位で取り扱い、そのトランザクションを複数まとめたブロックという単位で管理する。
個々のブロックはその前後のブロックとの関連または関連付けが定義されることで、各ブロックが数珠繋ぎの状態を保つように構成される。また、ブロックチェーンはノードと呼ばれる複数のコンピューターで管理されており、それぞれのノードがすべて等しいブロックデータの管理を行う構造となる。このため、ブロックデータの改ざんを行う場合には構成されている複数のノードに対して更新を行わなければならず、対改ざん性の強いデータ管理方法として知られている。なお、ブロックチェーン装置111と記載はしたが、上述の通り複数のコンピューターで構成されている装置であって、それらによってブロックチェーンサービスが提供される。
本実施形態では、画像形成装置101、および文書管理装置103での文書処理時にブロックチェーン装置111に文書ハッシュ値を含めたトランザクションを送信し、ブロック管理することで、文書の正しい状態を保持する。これにより、文書がある時点においては確かに存在していたことを確認でき、さらに、文書管理装置103内の電子文書に対する改ざんが行われていないかを確認できるようになる。ここでは各トランザクションを識別する情報の一例として文書ハッシュ値を用いるが、通し番号を付与したIDや、タイムスタンプなど、他の情報を基にした識別情報を用いても良い。
文書をブロックチェーン装置111に登録する際に、画像形成装置101、および文書管理装置103が送信するトランザクション601には、以下の情報を含む。
文書ハッシュ値602は、対象の文書から所定のハッシュ関数で算出されたハッシュ値であり、検証時に主に利用される。例えば、印刷文書に関しては、画像形成装置101のクレデンシャル情報407と、印刷時のタイムスタンプを基に算出することができる。電子文書の場合、文書ハッシュ値602は文書ファイル全体から算出されるものである。ただし、これ以外の算出方法を制限するものではない。
登録システム情報603は、文書登録を行った画像形成装置101、もしくは文書管理装置103を識別する情報であり、本実施形態ではクレデンシャル情報407、もしくはクレデンシャル情報507のハッシュ値を格納する。
文書登録日時604は、文書を登録した時点を表す情報である。ここでは、画像形成装置101もしくは文書管理装置103が登録日時をトランザクションに含める構成を示しているが、ブロックチェーン装置111が登録日時を格納する構成を取っても良い。
文書登録者605は、文書登録を行ったユーザを表す情報であり、クレデンシャル情報405、もしくはクレデンシャル情報505のハッシュ値を格納する。
元文書ハッシュ値606は、文書間の関連を表す情報である。これは、文書管理装置103で電子文書の更新を行った場合や、文書管理装置103に格納されている電子文書を元に印刷を行った場合、印刷物を元にスキャンして電子データ保存などを行った場合に、元となる文書と紐付けを行うために使用する。この例ではそのための情報として元となる文書(元文書)のハッシュ値すなわち元文書ハッシュ値606を格納している。逆に言えば、元文書ハッシュ値606に相当する文書ハッシュ値602に相当する文書が元文書である。なお、文書管理装置103の新規保存のように元となる文書がない場合は、元文書ハッシュ値607には情報を格納しなくても良い。元文書ハッシュ値により表される文書間の関連を派生関係ということもある。
バージョン情報607は、その文書の版を示す値である。これは数字で表されても良く、アルファベットや漢字、それらを織り交ぜた文字列で表されても良い。ただし、検証システム間で値の解釈を一致させるため、その文書の古い版から新しい版に向けて昇順に値が設定されることが望ましい。また、その文書の一連の版について一意に値が設定されるべきである。
メジャー・マイナー情報608は、元文書ハッシュ値606で示される文書(以降、元文書)に対しての内容の変更度合いを示す値である。これはメジャー・マイナーといった文字列でも、bool値でも良い。値については、内容について大きな更新があり、元文書を最新と解釈されたくない場合、つまり、元文書の内容の最新性が失われる場合は「メジャー」と設定する。一方、内容について軽微な更新または更新がなく、元文書も最新と解釈して支障がない場合、つまり、元文書の内容の最新性が保たれる場合は「マイナー」と設定する。
さらにトランザクションに係る処理内容、例えば「印刷」や「複製」、「新規作成」、「更新」といった文書に対する処理をトランザクションに含めてもよいが、処理内容は登録システム情報603などからも推定できるので図6のように特に含めなくともよい。
続けて、トランザクション601を保持するブロックの構造についてブロック611を用いて説明する。これは一般的なブロックチェーン構造を模式化したものである。ブロック611には、トランザクション601aを含む複数のトランザクションと、それらのトランザクション601から算出するブロックのハッシュ値612を保持する。
本実施形態ではブロックに含むトランザクション601の数は3つとしたがトランザクション数を制限するものではない。また、ブロック間を連結するための前ブロックのハッシュ値613を保持する。本実施形態においては、ブロック614のブロックのハッシュ値を前ブロックのハッシュ値613に格納し、ブロックが関連を持っていることを表している。本実施形態では前ブロックのハッシュ値としたが、後ブロックのハッシュ値を管理する、もしくは前ブロックと後ブロックの両方のハッシュ値を管理する形態であっても良い。
●検証結果ユーザインタフェース
図10A、図10Bはアプリケーション404が表示する文書を検証した結果が失敗であった場合の画面の一例である。図10Aの検証結果画面1000はブロックチェーン装置111を利用して文書を検証した結果が失敗であることをユーザに通知するための画面である。検証結果1001は今回の文書検証の結果であり、図中では検証が失敗したことを示している。ここでの失敗とは、検証した文書の真正性が確認できなかった、または、最新性を確認できなかったことを表す。具体的には、文書の埋め込み情報が正しくなかった場合や、ブロックチェーンサービスにおいて、問い合わせ情報に該当するトランザクションが見つからなかった場合、トランザクションは見つかったが最新性は失われていた場合である。続けて検証するボタン1002は次の文書の検証の実行を行うために検証画面へ遷移するボタンである。また、終了するボタン1003は検証処理を終了するボタンである。
図10A、図10Bはアプリケーション404が表示する文書を検証した結果が失敗であった場合の画面の一例である。図10Aの検証結果画面1000はブロックチェーン装置111を利用して文書を検証した結果が失敗であることをユーザに通知するための画面である。検証結果1001は今回の文書検証の結果であり、図中では検証が失敗したことを示している。ここでの失敗とは、検証した文書の真正性が確認できなかった、または、最新性を確認できなかったことを表す。具体的には、文書の埋め込み情報が正しくなかった場合や、ブロックチェーンサービスにおいて、問い合わせ情報に該当するトランザクションが見つからなかった場合、トランザクションは見つかったが最新性は失われていた場合である。続けて検証するボタン1002は次の文書の検証の実行を行うために検証画面へ遷移するボタンである。また、終了するボタン1003は検証処理を終了するボタンである。
図10Aの検証結果画面1010はブロックチェーン装置111を利用して文書を検証した結果が失敗であることをその理由とともにユーザに通知するための画面の一例である。検証結果1001、続けて検証するボタン1002、終了するボタン1003については同様であるため省略する。NG理由1011について、ここでは検証文書の最新性が失われていたことを説明している。ここで、補足の情報としてブロックチェーンサービスから取得した情報をもとに判断した現在の最新バージョンを示しているが、補足の情報はこれに限るものではなく、省略しても良い。また、図10Aの検証結果画面1020も同様の画面であり、ここでは問い合わせ情報に該当するトランザクションが見つらなかった場合を例示している。
図10Bの検証結果画面1050はブロックチェーン装置111を利用して文書を検証した結果が失敗であることをユーザに通知するための画面であって、PC102上のウェブブラウザに表示する画面の例である。また、図10Bの検証結果画面1060、検証結果画面1070はブロックチェーン装置111を利用して文書を検証した結果が失敗であることをその理由のためにユーザに通知するための画面であって、PC102上のウェブブラウザに表示する画面の例である。図10Bの検証結果画面1050、1060、1070はそれぞれ、図10Aの検証結果画面1000、1010、1020に相当する検証結果を表示する。
以降で、本実施形態における各フローチャートを説明する。ここで、図11、図12、図13、図18は以降の実施形態と共通する処理となるため、先に説明する。
●トランザクションの登録指示
図11は文書管理装置103が、ブロックチェーン装置111へ文書に対応するトランザクションの登録指示をする処理を示すフローチャートである。この手順により文書の作成や更新、使用(例えば複製(印刷を含む)など)の際に、当該文書に関する情報を含むトランザクションが作成され、ブロックチェーン装置111に登録される。図11の処理は文書管理装置103のCPU302により実行される。ただし図の説明ではCPU302により実現される文書管理装置103の機能ブロック(図5参照)を参照する。
図11は文書管理装置103が、ブロックチェーン装置111へ文書に対応するトランザクションの登録指示をする処理を示すフローチャートである。この手順により文書の作成や更新、使用(例えば複製(印刷を含む)など)の際に、当該文書に関する情報を含むトランザクションが作成され、ブロックチェーン装置111に登録される。図11の処理は文書管理装置103のCPU302により実行される。ただし図の説明ではCPU302により実現される文書管理装置103の機能ブロック(図5参照)を参照する。
ステップS1101では、ユーザが文書管理装置103を利用するためにユーザ認証処理を行い、その結果がOKかどうか、すなわち認成功かどうかを判定する。認証がOKであればステップS1103へ、NGすなわち認証失敗であればステップS1102へ進む。ステップS1102では、文書管理装置103が、ユーザに認証失敗であった旨を通知し、エラーとして処理する。その後、一連の処理を終了する。
ステップS1103では、ユーザが行う操作が文書の新規保存あるいは更新保存のいずれかであるか、それともそれら以外かを判定する。文書の新規保存あるいは更新保存のいずれかである場合、ステップS1105に進む。それら以外である場合、ステップS1104に進む。ステップS1104ではユーザに指示された文書管理機能を実行し、一連の処理を終了する。
ステップS1105では、文書管理装置103のブロックチェーンプラグイン506が、ブロックチェーン装置111に登録するトランザクションを生成する一連の処理を行う。これについては後述する。なお図中ではトランザクションをTxと表記している。これは他の図でも同様である。その後、ステップS1106で、文書管理装置103のブロックチェーンプラグイン506が、ブロックチェーンサービスを利用してブロックチェーン装置111にトランザクションを登録する一連の処理を行う。これについても後述する。その後、一連の処理を終了する。
図12は画像形成装置101のアプリケーション404が、ブロックチェーン装置111に印刷文書に対応するトランザクションの登録指示をする処理を示すフローチャートである。図12の処理は画像形成装置101のCPU201により実行される。ただし図の説明ではCPU201により実現される画像形成装置101の機能ブロック(図4参照)を参照する。
ステップS1201は、画像形成装置101を利用するためにユーザが行うユーザ認証処理の結果がNOKかどうか、すなわち認証成功かどうかを判定する。この処理はユーザ認証処理部402が、ユーザ情報DB403を照会することによって行われる。認証がOKであればステップS1202へ、NGすなわち認証失敗であればステップS1211へ進む。ステップS1202では、ユーザの指示する操作が印刷かどうかを判定する。印刷であった場合はステップS1203に、そうでない場合はステップS1212に進む。
ステップS1203では、印刷する文書を取得する。この文書は文書管理装置103から取得しても良く、それ以外の媒体から取得しても良い。取得の対象となる文書の選択はユーザによる指示に従ってよい。その後、ステップS1204では、ブロックチェーン装置111に印刷文書についてトランザクションを登録するかを判定する。これは、S1203で取得した文書がブロックチェーン装置111に登録済みの文書であるかによって判定しても良く、ユーザの指示により判定しても良い。ブロックチェーン装置111に登録済みの文書であるかによって判定する場合には、登録済みであれば登録するものと判定してよい。登録済みであることの判定は、例えば、対象文書の文書ハッシュ値の有無をブロックチェーン装置111に問い合わせることで行ってよい。ブロックチェーン装置に登録する場合はステップS1205へ進み、登録しない場合はステップS1212に進む。
ステップS1205では、印刷文書を特定するための文書ハッシュ値を生成し、ステップS1206では、ステップS1205で生成したハッシュ値を印刷文書に埋め込む処理を行う。これは検証時に読み取れる形式であれば良いため、バーコードのような可視コードに変換して埋め込んでも良く、地紋など不可視コードに変換して埋め込んでも良い。ステップS1207では、プリンタ210を利用し、その印刷文書を印刷する。
ステップS1208では、ステップS1207での印刷処理が成功したかを判定する。印刷に成功した場合はステップS1209に、失敗した場合はステップS1211に進む。ステップS1209では、ブロックチェーン装置101に登録するためのトランザクションを生成する。これについては後述する。その後、ステップS1210で、ブロックチェーンサービスを利用してブロックチェーン装置111にトランザクションを登録する一連の処理を行う。これについても後述する。その後、一連の処理を終了する。
ステップS1211では、ユーザにエラーが発生したことを表示や音声等により通知するなどのエラー処理を行う。また、ステップS1212では、ユーザに指示された画像形成装置の機能を実行する。その後、一連の処理を終了する。
●画像形成装置による文書の最新性の検証
図13は画像形成装置101のアプリケーション404が、ブロックチェーン装置111を使って文書の最新性を検証する際の処理を示すフローチャートである。図13の処理は画像形成装置101のCPU201により実行される。ただし図の説明ではCPU201により実現される画像形成装置101の機能ブロック(図4参照)を参照する。
図13は画像形成装置101のアプリケーション404が、ブロックチェーン装置111を使って文書の最新性を検証する際の処理を示すフローチャートである。図13の処理は画像形成装置101のCPU201により実行される。ただし図の説明ではCPU201により実現される画像形成装置101の機能ブロック(図4参照)を参照する。
ステップS1301では、ユーザが、画像形成装置101を利用するために認証処理を行い、その結果がNGかどうかを判定する。この処理はユーザ認証処理部402が、ユーザ情報DB403を照会することによって行われる。認証がOKすなわち成功であればステップS1303へ、NGすなわち失敗であればステップS1302へ進む。ステップS1302では、ユーザに認証失敗であった旨を表示や音声等により通知し、エラーとして処理する。その後、一連の処理を終了する。
ステップS1303では、ユーザが行う操作が文書の検証か、それ以外かを判定する。文書の検証である場合、ステップS1305に進む。それ以外である場合、ステップS1304に進む。ステップS1304では、ユーザに指示された文書管理機能を実行する。その後、一連の処理を終了する。
ステップS1305では、入力が紙データか電子データかを判定する。紙データである場合、ステップS1306に進み、電子データである場合、ステップS1308に進む。この判定はユーザによる指定に基づいて行ってよい。あるいは、ステップS1305の実行時点で画像形成装置101のスキャン211の自動原稿送り部(不図示)に原稿が載置されていることを検知したなら紙データ、検知しなければ電子データと判定してもよい。ステップS1306では、画像形成装置101が、入力の紙データに対してスキャン処理を行う。そして、ステップS1307で、スキャンデータの電子化を行う。以降、入力を電子データとして扱う。
ステップS1308では、入力である電子データの埋込情報から、文書ハッシュ値を取得する。この文書発出が検証対象の文書のハッシュ値となる。ステップS1309では、その取得した文書ハッシュ値を取得し、検証する文書の最新性を検証する。この処理は後述する。以上で本処理を終了する。
●トランザクション処理
図18は、画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506がブロックチェーン装置111へのトランザクション処理を行うフローチャートである。トランザクション処理には登録および取得を含む。これは図11のステップS1106や図12のステップS1210の処理である。以降、画像形成装置101のブロックチェーンアプリケーション406が行う場合を例にして説明する。その場合図18の処理は画像形成装置101のCPU201により実行される。
図18は、画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506がブロックチェーン装置111へのトランザクション処理を行うフローチャートである。トランザクション処理には登録および取得を含む。これは図11のステップS1106や図12のステップS1210の処理である。以降、画像形成装置101のブロックチェーンアプリケーション406が行う場合を例にして説明する。その場合図18の処理は画像形成装置101のCPU201により実行される。
本フローチャート起動時には、アプリケーション404から、ブロックチェーン装置111への処理種別と、処理種別ごとに必要な情報が渡される。処理種別ごとに必要な情報は、トランザクション登録時にはトランザクション、取得時にはトランザクション内の情報の検索項目とその値である。
ステップS1801では、ブロックチェーン装置111にクレデンシャル情報を渡す。ブロックチェーン装置111は渡されたクレデンシャル情報が正しいクレデンシャル情報であることを確認する。ステップS1802では、ステップS1801でクレデンシャル情報が正しいと確認できたかどうかを判定する。クレデンシャル情報がデジタル証明書の場合は証明書の検証を行って検証が成功した場合に、正しいクレデンシャル情報であると判断する。また、クレデンシャル情報が予め定められたデータ値の場合は、渡されたクレデンシャル情報がそのデータ値に一致する場合に、正しいクレデンシャル情報であると判断する。正しいクレデンシャルであった場合にはブロックチェーン装置111へのアクセスが可能な状況であるため、ステップS1803に進み、正しいクレデンシャルでなかった場合にはステップS1804に進む。ステップS1803では、ブロックチェーンアプリケーション406が受信した処理種別を判定する。トランザクション登録であればステップS1805へ、取得であればステップS1810へ進む。受信した処理種別とは、図18の処理が呼び出された際に指定される処理種別であり、例えばステップS1106やステップS1210では処理種別として「登録」が指定されている。ステップS1804はエラー処理であり、エラーの情報をまとめる。
ステップS1805では、登録するトランザクションのデータが正しいことを確認し、続くステップS1806で、登録可能かを判定する。登録するトランザクションのデータが正しい場合に登録可能と判定してよい。登録可能である場合、ステップS1807に進み、そうでない場合はステップS1809に進む。ステップS1807では、トランザクションをブロックチェーン装置111に登録し、ステップS1808で、その登録処理が成功したかを判定する。登録に成功した場合はステップS1814に進み、登録に失敗した場合はステップS1809に進む。ステップS1809はエラー処理であり、エラーの情報をまとめる。まとめられたエラーの情報は例えば図10Aのような表示に用いられる。
ステップS1810では、指定された検索項目に指定された値を持つトランザクションを、ブロックチェーン装置111から検索する。ステップS1811では、それに該当するトランザクションが存在するかどうかを判定し、存在する場合はステップS1812に、存在しない場合はステップS1813に進む。この判定はブロックチェーン装置111からの応答に基づいて行ってよい。ステップS1812では、ステップS1810で検索し、該当したすべてのトランザクションの情報を取得する。ステップS1813はエラー処理であり、エラーの情報をまとめる。まとめられたエラーの情報は例えば図10Aのような表示に用いられる。たとえば検証対象の文書(検証文書とも呼ぶ)が未登録であれば表示画面1020、検証対象の文書が最新でなければ表示画面1010のようなエラーとなるようエラーの内容を示す情報がまとめられる。
ステップS1814では、処理結果をアプリケーション404に通知する。トランザクションの登録成功であればその旨を、エラーであればその情報を、トランザクションの情報を取得していればその情報を、取得するトランザクションが存在しなければその旨を表示等によりユーザに通知する。以上で本処理を終了する。
以上、ブロックチェーンサービスを利用した文書の検証のための、トランザクションの登録及び検証について説明した。これらにより、文書の保存時や印刷時にトランザクションを生成・登録し、その文書を検証することが可能となる。また、ここでは代表的なユースケースとしてこれらを取り上げたが、トランザクションの生成や検証タイミングはこれに限るものではなく、装置は画像形成装置や文書管理装置に限るものではない。
●トランザクションの生成処理(1)
図14Aは、本実施形態における、画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506が行う、登録用のトランザクション601の生成処理を示すフローチャートである。これは図11のステップS1106や図12のステップS1209の処理である。図14Aの処理はいずれかの装置のCPUにより実行される。
図14Aは、本実施形態における、画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506が行う、登録用のトランザクション601の生成処理を示すフローチャートである。これは図11のステップS1106や図12のステップS1209の処理である。図14Aの処理はいずれかの装置のCPUにより実行される。
ステップS1401では、文書ハッシュ値602を算出する。これは登録する文書を特定するためのハッシュ値である。ステップS1402では、登録システム情報603、文書登録日時604、文書登録者605を取得する。ステップS1403では、登録する文書が、ブロックチェーン装置111について、新規に保存するのか、既に過去の版について保存していたかを判定する。後者の例としては、文書管理装置103上にある電子文書であって、ブロックチェーン装置111に登録済みであるものを更新保存や印刷する場合や、文書ハッシュ値がすでに埋め込まれている紙文書をコピーする場合がそれにあたる。新規に保存する場合はステップS1405に、そうでない場合はステップS1404に進む。ステップS1403での判定はユーザ操作に基づいて、ステップS1103における判定と同じ基準で行われてよい。
ステップS1403で新規ではないと判定した場合、ステップS1404では、更新元の文書すなわち元文書について、文書ハッシュ値602を取得し、それを元文書ハッシュ606とする。元文書のハッシュ値は文書管理装置103に保存されている文書ハッシュ値または元文書から計算した文書ハッシュ値を用いてよい。ステップS1405では、バージョン情報607を設定する。これはユーザが指定しても良く、文書管理装置103が自動的に判断して設定しても良い。また、更新保存の際は、更新元のバージョン情報を参照して決定しても良い。ステップS1406では、メジャー・マイナー情報608を決定する。これはユーザが指定しても良く、文書処理装置103が自動的に判断して設定しても良い。このとき、バージョン情報607を参照しても良い。ステップS1407では、これまでの処理で取得・決定した情報をもとに、トランザクション601を生成する。以上で本処理を終了する。
なおステップS1406で文書処理装置103が自動的にメジャーとマイナーの別を設定する際には、例えば元文書を更新して元文書から派生した派生文書を作成した際に、ユーザがメジャーな変更かマイナーな変更かを指定しておく。そしてその指定に基づいてメジャーとマイナーの別を設定してよい。あるいは、元文書と派生文書とを比較し、所定範囲の相違であればマイナー、それを超えていればメジャーな変更と設定してもよい。所定範囲とは例えば、含まれた文字に相違はなくレイアウトのみが異なる場合、文字の相違が全角と半角、あるいは大文字と小文字といった形式的な相違である場合などを含んでよい。さらにユーザに指定させる場合には、元文書と派生文書の相違点を表示し、ユーザがその表示に基づいて指定できるよう構成してもよい。
以上のようにして図6に示したトランザクション601を生成することができる。
●文書の検証(1)
図14Bは、本実施形態における、画像形成装置101のアプリケーション406が、ブロックチェーン装置111を使って、文書の最新性を検証する処理を示すフローチャートである。これは図13のステップS1309の処理である。図14Bの処理は画像形成装置101のCPU201により実行される。
図14Bは、本実施形態における、画像形成装置101のアプリケーション406が、ブロックチェーン装置111を使って、文書の最新性を検証する処理を示すフローチャートである。これは図13のステップS1309の処理である。図14Bの処理は画像形成装置101のCPU201により実行される。
ステップS1451では、ブロックチェーン装置111を使って、検証したい文書の文書ハッシュ値を、同じく文書ハッシュ値602として持つトランザクションをブロックチェーンサービスで取得する。この処理は先述した図18の処理である。ステップS1452では、ステップS1451での結果がOKかNGかを判定する。OKすなわち成功だった場合はステップS1453へ、NGすなわち失敗だった場合はステップS1464へ進む。ステップS1453では、ステップS1451で取得したトランザクション情報よりバージョン情報607を取得し、それを比較元のバージョン情報として記憶する。
ステップS1454では、ステップS1451で取得したトランザクション情報が元文書ハッシュ値606を持つかどうかを判定する。持つ場合はステップS1455に、持たない場合はステップS1462に進む。ステップS1455では、ステップS1451で取得したトランザクション情報に含まれる元文書ハッシュ値606を取得する。その後、その元文書ハッシュ値を文書ハッシュ値602として持つトランザクションを、ブロックチェーンサービスで取得する。すなわち検証対象の文書の元文書のトランザクションが取得される。ステップS1455は図18で説明した手順で実行される。
ステップS1456では、その前ステップで取得した各トランザクションの持つバージョン情報607とメジャー・マイナー情報608を取得し、それらを比較先として記憶する。このステップS1456は、ステップS1455の次に実行される場合と、ステップS1459に引き続いて実行される場合がある。特に後者の場合は取得されるトランザクションが複数になりうるため、それら全てについて記憶する。また、ステップS1457で、同様に各トランザクションの持つ文書ハッシュ値602を記憶する。
ステップS1458では、ステップS1457で記憶した各文書ハッシュ値602について、ステップS1459でのブロックチェーンサービスでのトランザクションの取得処理を行っていないものがあるかを判定する。取得処理を行っていないものがある場合、ステップS1459に進む。取得した全ての文書ハッシュ値について取得処理済みである場合、ステップS1460に進む。ステップS1455からS1458に至った場合には、ステップS1459に分岐することになる。
ステップS1459では、ステップS1457で記憶した文書ハッシュ値について、それを元文書ハッシュ値606として持つトランザクションをブロックチェーンサービスで取得する。これは複数存在する場合もあり、その場合はその全てについて処理する。ステップS1459は図18で説明した手順で実行される。その後、ステップS1456に進む。検証対象の文書の元文書から派生した文書には検証対象の文書も含まれるため、検証対象の文書を元文書として派生した文書があれば、その文書のトランザクションもステップS1459を通るループ処理で取得される。これによりステップS1458からステップS1460に分岐する際には、検証対象の文書をルートとする派生文書のツリーを形成しているトランザクションがすべて取得されている。
ステップS1460では、ステップS1453で記憶した比較元のバージョン情報と、ステップS1456で記憶した比較先のバージョン情報及びメジャー・マイナー情報とを比較する。そして、ステップS1461で、比較先のバージョン情報とメジャー・マイナー情報について、「メジャー」でありかつバージョン情報が比較元のバージョン情報より新しいものが一つでも含まれているかを判定する。比較先が複数ある場合にはそれぞれの比較先について判定する。「メジャー」であってもバージョン情報が比較元より新しくないもの、また、バージョン情報が比較元より新しくても「マイナー」であるものは無視する。新しいものがある場合はステップS1463に進み、そうでない場合はステップS1462に進む。
ステップS1462では、検証結果OK画面(不図示)を出力し、検証文書の最新性を確認できた旨をユーザに通知する。ステップS1463では、検証結果画面1010を出力し、検証文書はブロックチェーン装置に登録済みであったが、最新性は確認できなかった旨をユーザに通知する。ステップS1464では、検証結果画面1020を出力し、検証文書がブロックチェーン装置に未登録であった旨をユーザに通知する。以上で本処理を終了する。
以上、本実施形態における、登録用のトランザクション601の生成処理と、文書の最新性を検証する処理を説明した。これらの処理により、ブロックチェーン装置に登録済みのトランザクションについて、文書ハッシュ値602と元文書ハッシュ値606を利用し、検証文書の更新元文書やそこから更新された文書を辿ることができる。また、同じく登録されているバージョン情報607を参照することにより、検証文書より新しい文書があるかを動的に検証でき、内容の最新性を判定することが可能である。このとき、メジャー・マイナー情報608を利用することにより、文書の更新内容に合わせて内容の最新性が維持しても良いか維持しないかを設定することができる。これにより、特に修正頻度が高い文書について、細かく再印刷せずとも手元の印刷文書の検証結果をOKに維持することができ、利便性が高まる。
[実施形態1の変形例]
ここまで本実施形態について説明してきたが、これらを全て兼ね備える必要はなく、より簡素な実行形態としても良い。例えば、検証結果がNGであった場合について、その理由毎に検証結果画面1010、検証結果画面1020と出力を分けていたが、検証結果画面1000のように、理由を示さずNGとだけ出力しても良い。また、メジャー・マイナー情報608を用いず、バージョン情報607のみでの最新性の判定としても良い。その場合には、ステップS1456ではバージョン情報のみを取得して記憶すればよい。あるいは、メジャー・マイナー情報608という形ではなく、画像形成装置101などにメジャー・マイナーの判定規則を持ち、バージョン情報607を随時メジャー・マイナーに判定する方法でも良い。その他にも、フローチャートにおける実行順が前後しても良く、ここで示したものに限るものではない。例えば、図14Bで示されたフローチャートについて、該当する全てのトランザクションを取得してから比較するのではなく、トランザクションの取得都度に比較し、最新性がないと判断できたタイミングで処理を中断し、結果出力を行ってもよい。あるいは、電子文書について、上記検証処理を文書管理装置103で行っても良い。
ここまで本実施形態について説明してきたが、これらを全て兼ね備える必要はなく、より簡素な実行形態としても良い。例えば、検証結果がNGであった場合について、その理由毎に検証結果画面1010、検証結果画面1020と出力を分けていたが、検証結果画面1000のように、理由を示さずNGとだけ出力しても良い。また、メジャー・マイナー情報608を用いず、バージョン情報607のみでの最新性の判定としても良い。その場合には、ステップS1456ではバージョン情報のみを取得して記憶すればよい。あるいは、メジャー・マイナー情報608という形ではなく、画像形成装置101などにメジャー・マイナーの判定規則を持ち、バージョン情報607を随時メジャー・マイナーに判定する方法でも良い。その他にも、フローチャートにおける実行順が前後しても良く、ここで示したものに限るものではない。例えば、図14Bで示されたフローチャートについて、該当する全てのトランザクションを取得してから比較するのではなく、トランザクションの取得都度に比較し、最新性がないと判断できたタイミングで処理を中断し、結果出力を行ってもよい。あるいは、電子文書について、上記検証処理を文書管理装置103で行っても良い。
また、以上の実行形態について、利用するユーザや組織により動的に切り替えても良い。例えば、ポリシー設定408に、ユーザや組織などといった利用者と、画面出力やメジャー・マイナー情報の利用などといった実施形態の組み合わせを示すマトリクスを設定し、各アプリケーションが随時参照するものである。表3にポリシー設定マトリクスを例示する。
表3:ポリシー設定マトリクス
利用者 設定NG理由表示 メジャー・マイナー情報
組織AAA 〇 〇
組織BBB 〇 ×
ユーザCCC × 〇
ユーザDDD × ×
。
利用者 設定NG理由表示 メジャー・マイナー情報
組織AAA 〇 〇
組織BBB 〇 ×
ユーザCCC × 〇
ユーザDDD × ×
。
表3のマトリクスでは、組織AAAに所属するユーザが利用する際は、検証NG理由を表示し、メジャー・マイナー情報も最新性の判定時に利用する、という処理ルールを示している。同様に、組織BBBに所属するユーザ、ユーザCCC、ユーザDDDについても処理ルールを示している。このとき、例えばユーザCCCが組織BBBに所属している場合など、重複した場合の処理ルールの優先順位の決め方については限定するものではない。また、組織については、組織DBなどを画像形成装置101に保持しても良く(不図示)、ユーザ情報DB403などのユーザ情報と紐づけても良い。また、このマトリクスに未記載のユーザの扱いも限定するものではない。未記載のユーザについては例えば未記載のユーザのための設定を予め定めておいてそれに従ってよい。
以上、ポリシー設定408を利用して動的に実行形態を切り替える方法について述べた。これにより、不要な情報公開の回避や、より厳格なバージョン管理など、セキュリティ観点での利便性を高めることができる。
<実施形態2>
実施形態1では、バージョン情報607を利用し、内容の最新性を判断する方法について述べた。一方で、バージョン情報607をブロックチェーン装置111上で管理する必要があるため、バージョン情報の決定規則を異なる装置間でも徹底する必要があるなど、管理コストがかかる側面がある。そこで、本実施形態では、内容が最新でなくなったトランザクションをブロックチェーン装置111上で明示することにより、バージョン情報を用いずに内容の最新性を判断する方法について、実施形態1との差分を中心に述べる。
実施形態1では、バージョン情報607を利用し、内容の最新性を判断する方法について述べた。一方で、バージョン情報607をブロックチェーン装置111上で管理する必要があるため、バージョン情報の決定規則を異なる装置間でも徹底する必要があるなど、管理コストがかかる側面がある。そこで、本実施形態では、内容が最新でなくなったトランザクションをブロックチェーン装置111上で明示することにより、バージョン情報を用いずに内容の最新性を判断する方法について、実施形態1との差分を中心に述べる。
図7は、実施形態2におけるブロックチェーン装置111に保持するトランザクション701及びトランザクション711とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。トランザクション701は、トランザクション601と同様であるため、省略する。トランザクション711は、トランザクション701を対象に、そのトランザクションが示す文書が最新性を失ったことを示すものである。以降、このことをそのトランザクションを無効化すると呼ぶ。トランザクションハッシュ値712は、トランザクション711を特定する固有のハッシュ値である。固有のハッシュ値であれば生成方法に限定するものはなく、例えば、後述する対象文書ハッシュ値713とタイムスタンプを組み合わせて生成しても良い。対象文書ハッシュ値713は、無効化するトランザクション701を特定するものであり、対象の文書ハッシュ値602と同じ値が設定される。以上、トランザクション711の構成要素について述べたが、これに限定するものでなく、例として、このトランザクションの登録者や登録日時を含めても良い。また、ブロック図ではトランザクション701aとトランザクション711aのように連続したものを図示したが、これに限るものではない。
図15Aは、本実施形態における画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506が行う、トランザクション701やトランザクション711の生成処理を示すフローチャートである。これも実施形態1と同様に、図11のステップS1106や図12のステップS1209の処理である。
ステップS1501、ステップS1502、ステップS1503、ステップS1504は、それぞれステップS1401、ステップS1402、ステップS1403、ステップS1404と同様であるため、説明を省略する。ステップS1505では、元文書ハッシュ値が示すトランザクションと、それを元文書ハッシュ値として参照する他のトランザクションについて、無効化、すなわち最新版ではないことを示すことが必要かを判定する。これは一律で無効化しても良く、ユーザが指示しても良く、システムが文書の変更内容などから判断しても良い。無効化する場合はステップS1506に、無効化しない場合はステップS1512に進む。
ステップS1506では、トランザクションハッシュ値712を生成する。ステップS1507では、このトランザクションハッシュ値712と、ステップS1504で取得した元文書ハッシュ値を対象文書ハッシュ値713とし、トランザクション711を生成する。このトランザクション711は、ステップS1504で取得した元文書ハッシュ値が示すトランザクション701を無効化する。トランザクション711を無効化トランザクション或いは無効化文書関連情報と呼ぶこともある。
次に、その対象文書ハッシュ値を元文書ハッシュ値として参照する他のトランザクション701を無効化するトランザクション711の生成処理に進む。ステップS1508では、ステップS1504で取得した元文書ハッシュ値を、同じく元文書ハッシュ値606として持つ他のトランザクションを、ブロックチェーンサービスを利用して取得する。ここで取得されたトランザクションは、ステップS1505で無効化すると判定したトランザクションが示す文書のコピーや印刷物を示しており、内容が同一であることから、同様に無効化するべきとみなされる。
ステップS1509では、ステップS1508で取得できたトランザクションがあり、かつ、まだ無効化されていないトランザクションが含まれているかを判定する。どちらも満たす場合はステップS1510に、そうでない場合はステップS1512に進む。ステップS1510では、ステップS1509の条件を満たす全てのトランザクションの、各文書ハッシュ値602について、トランザクションハッシュ値712をそれぞれ生成する。ステップS1511では、ステップS1510で生成したトランザクションハッシュ値と、それに対する文書ハッシュ値602を対象文書ハッシュ値713として、それぞれトランザクション711を生成する。
ステップS1512では、ステップS1501、ステップS1502、ステップS1504で取得した情報をもとに、今回登録する文書のトランザクション701を生成する。以上で本処理を終了する。以上の処理によって、登録対象の文書が新規に登録する文書でない場合には、登録対象の元文書をルートとする派生文書のツリーに含まれた、登録対象の文書以外の文書をすべて無効化する。
図15Bは本実施形態における、画像形成装置101のアプリケーション406が、ブロックチェーン装置111を使って、文書の最新性を検証する処理を示すフローチャートである。これは図13のステップS1309の処理である。
ステップS1551、ステップS1552は、ステップS1451、ステップS1452と同様であるため、説明を省略する。ステップS1553は、文書ハッシュ値を対象文書ハッシュ値713として持つトランザクションを、ブロックサービスから取得する。ステップS1554では、ステップS1553でトランザクションを取得できたかを判定し、取得できた場合はステップS1556へ、取得できなかった場合はステップS1555へ進む。取得できなかった場合は、検証する文書のトランザクションが無効化されてないということを意味するため、ステップS1555では検証OK画面を出力し、ユーザにその旨を通知する。取得できた場合は、検証する文書のトランザクションを無効化するトランザクションが登録済みということを意味するため、ステップS1556では検証NG画面を出力し、ユーザにその旨を通知する。
以上、本実施形態における登録用のトランザクション701とトランザクション711の生成処理と、文書の最新性を検証する処理を説明した。本実施形態では、内容の最新性が失われた文書に対するトランザクションをブロックチェーン装置111上で、最新でないことを示すことで疑似的に無効化することにより、文書の内容の最新性の動的な検証を可能とした。
また、本発明は、上述した実施形態に限るものではない。実施形態1で述べたような、検証NG表示画面で理由を表示しても良く、メジャー・マイナー情報を登録や検証時の判断にしても良く、それらをポリシー情報から動的に切り替えても良い。また、無効化するトランザクション701に対してトランザクション711が1対1になるように生成する例を説明したが、トランザクション711に対象文書ハッシュ値713を複数格納して多対1にしても良い。トランザクションの構成や生成パターンも上述した例に限定されない。
<実施形態3>
実施形態1では、バージョン情報607を利用し、内容の最新性を判断する方法について述べた。この実施形態の特徴としては、バージョン情報607をブロックチェーン装置111上で管理することにより、同ブロックチェーンにアクセスできる装置であれば場所を問わずにバージョン情報を参照できることにある。一方で、検証したい文書を利用する範囲や、ブロックチェーンにアクセスする範囲が明確に限られている場合、バージョン情報をブロックチェーン上で管理する必要はない。本実施形態では、バージョン情報を管理するデータベースを参照することにより、内容の最新性の検証を実現する方法について、実施形態1との差分を中心に述べる。
実施形態1では、バージョン情報607を利用し、内容の最新性を判断する方法について述べた。この実施形態の特徴としては、バージョン情報607をブロックチェーン装置111上で管理することにより、同ブロックチェーンにアクセスできる装置であれば場所を問わずにバージョン情報を参照できることにある。一方で、検証したい文書を利用する範囲や、ブロックチェーンにアクセスする範囲が明確に限られている場合、バージョン情報をブロックチェーン上で管理する必要はない。本実施形態では、バージョン情報を管理するデータベースを参照することにより、内容の最新性の検証を実現する方法について、実施形態1との差分を中心に述べる。
図8は、実施形態3におけるブロックチェーン装置111に保持するトランザクション801とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。トランザクションに含まれる各要素については先述したため省略する。
図16Aは、本実施形態における、画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506が行う、トランザクション801の生成処理を示すフローチャートである。これも実施形態1と同様に、図11のステップS1106や図12のステップS1209の処理である。
ステップS1601~S1605、S1607については、ステップS1401~S1405、S1407と同様のため、省略する。ステップS1606では、バージョン情報を管理するバージョン情報データベースに、文書名、文書ハッシュ値、バージョン情報、元文書ハッシュ値を紐づけて登録する。ここで、バージョン情報データベースについて表4に例示する。
表4:バージョン情報データベース
文書名 文書ハッシュ値 バージョン情報 元文書ハッシュ値
文書A asdfasdf 1.00 -
文書A ghjkghjk 1.01 asdfasdf
文書A qwerqwer 1.02 ghjkghjk
文書B zxcvzxcv 1.00 -
。
文書名 文書ハッシュ値 バージョン情報 元文書ハッシュ値
文書A asdfasdf 1.00 -
文書A ghjkghjk 1.01 asdfasdf
文書A qwerqwer 1.02 ghjkghjk
文書B zxcvzxcv 1.00 -
。
表4はバージョン情報を管理するバージョン情報データベースの一例である。このデータベースの目的はその文書の一連の版を管理し、検証する文書ハッシュ値が最新のバージョンであるかを判定するためにある。そのため、実施形態はこれに限られるものではなく、例えば登録日時や登録者を含んでも良い。また、このデータベースは画像形成装置101や文書管理装置103からアクセスできれば良い。そのため、PC102や文書管理装置103に含まれても良く、LAN100で画像形成装置101や文書管理装置103と接続されるその他の装置でも良い。また、インターネット110を介して外部からアクセスできるようにしてもよく、その際に認証処理を必要としても良いが、このデータベースにアクセスする装置の範囲から適当に設置するべきである。
図16Bは、本実施形態における、画像形成装置101のアプリケーション406が、ブロックチェーン装置111を使って、文書の最新性を検証する処理を示すフローチャートである。これは図13のステップS1309の処理である。
ステップS1651、S1652は、ステップS1451、S1452と同様のため、省略する。ステップS1653では、先述したバージョン情報データベースを照会し、ステップS1654で、検証した文書が最新かどうかを判定する。例えばバージョン情報データベースで、ステップS1651で取得したトランザクションの文書ハッシュ値を元文書ハッシュ値とするレコードを検索する。該当するレコードがバージョン情報データベースに含まれていれば検索対象の文書ハッシュ値を持つ文書は最新版ではないと判定できる。一方該当するレコードがバージョン情報データベースに含まれていなければ検索対象の文書ハッシュ値を持つ文書は最新版であると判定できる。文書の最新性が確認された場合、ステップS1655に進み、そうでない場合、ステップS1656に進む。ステップS1655では検証OK画面を出力し、ユーザに検証した文書の最新性が確認できたことを通知する。ステップS1656では検証NG画面を出力し、ユーザに検証した文書の最新性が確認できなかったことを通知する。
以上、本実施形態におけるバージョン情報を管理するデータベースの例と、それを用いたトランザクションの登録や検証の処理について説明した。この構成でも同様に文書の内容の最新性の動的な検証を可能としつつ、ブロックチェーン装置111を用いた処理やそれに伴う通信を最小限にできる。
また、本発明はこの実施形態に限るものではない。例えば、実施形態1と同様に、検証NG表示画面で理由を表示しても良く、メジャー・マイナー情報を登録や検証時の判断にしても良く、それらをポリシー情報から動的に切り替えても良い。
<実施形態4>
実施形態1や実施形態3では、バージョン情報を利用し、内容の最新性を判断する方法について述べた。一方で、バージョン情報を管理する必要があるため、管理コストの増加という課題がある。また、実施形態2では最新版ではなくなった文書のトランザクションを疑似的に無効化することにより、バージョン情報を使わずに最新性を検証できるようにしたが、これにもトランザクションの登録数がかさばるという課題がある。そこで本実施形態では、文書がオリジナルか複製かを示す文書属性という概念を導入することにより、上記の課題を解決しつつ文書の最新性の動的な検証を可能とする方法について、実施形態1との差分を中心に述べる。
実施形態1や実施形態3では、バージョン情報を利用し、内容の最新性を判断する方法について述べた。一方で、バージョン情報を管理する必要があるため、管理コストの増加という課題がある。また、実施形態2では最新版ではなくなった文書のトランザクションを疑似的に無効化することにより、バージョン情報を使わずに最新性を検証できるようにしたが、これにもトランザクションの登録数がかさばるという課題がある。そこで本実施形態では、文書がオリジナルか複製かを示す文書属性という概念を導入することにより、上記の課題を解決しつつ文書の最新性の動的な検証を可能とする方法について、実施形態1との差分を中心に述べる。
図9は、実施形態4におけるブロックチェーン装置111に保持するトランザクション901とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。文書属性902はその文書が「オリジナル」か「複製」かを示す情報であり、このどちらかを示せればよいため、文字列でもbool値でもよい。「オリジナル」というのはその文書が原本であること、すなわち元文書がないことを意味する。例えば新規作成した電子文書や、それを更新した電子文書が「オリジナル」にあたる。「オリジナル」の文書からしか「オリジナル」の文書には派生せず、かつ派生する「オリジナル」は単一であり、ある版の文書について、「オリジナル」は一つにしかならない。「複製」というのはその文書が複製であることを意味し、電子文書を内容更新せずコピーしたものや、印刷文書がそれにあたる。また、「オリジナル」から「複製」になることはあるが、「複製」から「オリジナル」になることはない。これらの規則があるため、この文書属性はシステムが自動で判定して決定するのが望ましい。
図17Aは、本実施形態における、画像形成装置101のブロックチェーンアプリケーション406や、文書管理装置103のブロックチェーンプラグイン506が行う、トランザクション901の生成処理を示すフローチャートである。これも実施形態1と同様に、図11のステップS1106や図12のステップS1209の処理である。
ステップS1701~S1704は、ステップS1501~S1504と同様であるため、省略する。ステップS1705では、文書属性902の決定のため、文書の内容に更新があるかを判定する。内容の更新の有無は例えば比較対象となる2つの文書の文書ハッシュ値を比較し、異なっていれば更新があると判定してもよい。更新がある場合、ステップS1706に進み、更新がない場合、ステップS1707に進む。ステップS1706では文書属性902に「オリジナル」を設定し、ステップS1707では「複製」を設定する。ステップS1708でこれらの情報をもとにトランザクションを生成し、一連の処理を終了する。
図17Bは、本実施形態における、画像形成装置101のアプリケーション406が、ブロックチェーン装置111を使って、文書の最新性を検証する処理を示すフローチャートである。これは図13のステップS1309の処理である。
ステップS1751、S1752はステップS1451、S1452と同様のため、省略する。ステップS1753では、取得したトランザクションの文書ハッシュ値602を記憶する。ステップS1754では、取得したトランザクションの文書属性902を参照し、「オリジナル」であるかを判定する。「オリジナル」であった場合はステップS1756に、そうでない場合はステップS1755に進む。ステップS1755では、取得したトランザクションから元文書ハッシュ値606を取得し、それを文書ハッシュ値602として持つトランザクションをブロックチェーンサービスで取得する。その後、ここで取得したトランザクションについて、ステップS1753から処理をやり直す。これにより、検証文書が「複製」であった場合に、その派生元である「オリジナル」まで遡ることができる。
ステップS1756では、直近に取得したトランザクションの文書ハッシュ値602について、それを元文書ハッシュ値606として持つトランザクションをブロックチェーンサービスで取得する。ステップS1757では、ステップS1756で取得した各トランザクションに、それ以前の処理で取得したものと異なるトランザクションが含まれているかを判定する。含まれていた場合はステップS1758に、そうでない場合はステップS1759に進む。
ステップS1758では、ステップS1757で判定した異なるトランザクションの中に、文書属性902として「オリジナル」を持つトランザクションがあるかを判定し、ある場合はステップS1760に進み、ない場合はステップS1759に進む。ステップS1759に進んだ場合、検証した「オリジナル」の文書、あるいは検証した文書から辿った「オリジナル」の文書から、「オリジナル」の文書が派生してないことを示しており、検証文書から内容が更新されてないことを意味する。そのため、検証OK画面を出力し、ユーザに検証文書の内容の最新性が確認できた旨を通知する。ステップS1760に進んだ場合、検証文書のトランザクションが確認できなかったか、検証文書の「オリジナル」から「オリジナル」が派生している、つまり内容が更新されているため、検証文書の最新性が失われているかである。そのため、検証NG画面を出力し、ユーザに検証文書の最新性を確認できなかった旨を通知する。以上で一連の処理を終了する。
以上、本実施形態におけるトランザクション901の例と、それに含まれる文書属性902を利用した最新性の検証方法について説明した。この構成ではバージョン情報は管理せず、「オリジナル」か「複製」かを示す文書属性をトランザクションに設定することで、文書の内容の最新性の動的な検証を可能としている。
また、本発明はこの実施形態に限るものではない。例えば、実施形態1と同様に、検証NG表示画面で理由を表示しても良く、メジャー・マイナー情報を登録や検証時の判断にしても良く、それらをポリシー情報から動的に切り替えても良い。あるいは、文書属性として「印刷」や「電子コピー」などより詳細な情報を設定しても良く、それらをユーザに通知するために出力画面に追加しても良い。
<その他の実施例>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
101 画像形成装置、102 情報処理装置、111 印刷データ生成装置、112 ブロックチェーン生成装置
Claims (13)
- 情報をブロックごとに少なくともその前のブロックと関連付けて管理するブロックチェーンサービスと連携する文書管理装置であって、
登録対象である文書に関する文書関連情報を前記ブロックチェーンサービスに登録する登録手段と、
検証の対象となる対象文書に関する前記文書関連情報を、前記ブロックチェーンサービスから取得する取得手段と、
前記ブロックチェーンサービスから取得した前記文書関連情報に基づいて、前記対象文書が最新か否かを判定する判定手段と、
前記取得手段により前記対象文書の前記文書関連情報を取得できなかった場合、及び、前記判定手段により前記対象文書が最新でないと判定された場合には、前記対象文書の検証の失敗を出力する出力手段と、を有する
ことを特徴とする文書管理装置。 - 請求項1に記載の文書管理装置であって、
前記文書関連情報には、文書のバージョン情報と他の文書間との派生関係を示す情報とが含まれ、
前記取得手段は、前記対象文書が派生した元文書から派生したすべての文書の前記文書関連情報を取得し、
前記判定手段は、前記対象文書の前記文書関連情報が取得できた場合には、取得した前記文書関連情報に含まれた前記バージョン情報のうち、前記対象文書のバージョンが最新であれば前記対象文書が最新であると判定する
ことを特徴とする文書管理装置。 - 請求項2に記載の文書管理装置であって、
前記文書関連情報にはさらに前記文書関連情報に係る文書とその元文書との相違が軽微な相違か否かを示すメジャー・マイナー情報が含まれ、
前記判定手段は、前記対象文書のバージョン情報が、取得した前記文書関連情報に含まれた前記バージョン情報のうちで前記対象文書が最新ではない場合であっても、前記対象文書よりも新しいバージョンの文書の前記メジャー・マイナー情報が、当該文書と前記元文書との相違が軽微な相違であることを示している場合には、前記対象文書が最新であると判定する
ことを特徴とする文書管理装置。 - 請求項3に記載の文書管理装置であって、
前記登録手段は、登録対象の文書が新規の文書でない場合には前記文書の元文書との前記派生関係を示す情報と、前記バージョン情報と、前記メジャー・マイナー情報とを含む前記文書関連情報を前記ブロックチェーンサービスに登録する
ことを特徴とする文書管理装置。 - 請求項1に記載の文書管理装置であって、
前記文書関連情報には、他の文書関連情報が、バージョンが最新の文書の文書関連情報ではないことを示す文書関連情報が含まれ、
前記判定手段は、前記対象文書の前記文書関連情報が取得できた場合には、前記対象文書の文書関連情報について、バージョンが最新の文書の文書関連情報ではないことを示す文書関連情報が前記ブロックチェーンサービスに登録されていなければ、前記対象文書が最新であると判定する
ことを特徴とする文書管理装置。 - 請求項5に記載の文書管理装置であって、
前記登録手段は、
前記登録対象の文書の前記文書関連情報を登録し、
前記登録対象の文書が新規に登録する文書でない場合には、前記登録対象の文書の元文書の前記文書関連情報と、前記元文書から派生した前記登録対象の文書以外の文書の前記文書関連情報とについて、バージョンが最新の文書の文書関連情報ではないことを示す文書関連情報を登録する
ことを特徴とする文書管理装置。 - 請求項1に記載の文書管理装置であって、
前記文書関連情報が登録されている文書のバージョン情報を格納する格納手段を更に有し、
前記判定手段は、前記対象文書の前記文書関連情報が取得できた場合には、前記格納手段に格納された前記対象文書のバージョン情報が最新のバージョンであれば、前記対象文書が最新であると判定する
ことを特徴とする文書管理装置。 - 請求項7に記載の文書管理装置であって、
前記登録手段により前記登録対象の文書の前記文書関連情報を登録した場合には、前記格納手段に、前記登録対象の文書のバージョン情報を登録する第2の登録手段を更に有する
ことを特徴とする文書管理装置。 - 請求項1に記載の文書管理装置であって、
前記文書関連情報には、他の文書間との派生関係を示す情報と、文書が元文書の複製であるか否かを示す文書属性とが含まれ、
前記判定手段は、前記対象文書の前記文書関連情報が取得できた場合には、前記対象文書の前記文書属性が複製を示していなければ前記対象文書を元文書として、前記対象文書の前記文書属性が複製を示していれば、前記対象文書が派生した、前記文書属性が複製を示していない文書を元文書として、当該元文書から前記文書属性が複製を示していない文書が派生しているか判定し、前記文書属性が複製を示していない文書が派生していないと判定した場合には、前記対象文書が最新であると判定する
ことを特徴とする文書管理装置。 - 請求項9に記載の文書管理装置であって、
前記登録手段は、登録対象の文書が新規の文書でない場合には、前記登録対象の文書の内容とその元文書の内容とに差がない場合には前記文書属性が複製を示し、前記登録対象の文書の内容とその元文書の内容とに差がある場合には前記文書属性が複製を示していないような前記文書関連情報を前記ブロックチェーンサービスに登録する
ことを特徴とする文書管理装置。 - 請求項1乃至10のいずれか一項に記載の文書管理装置としてコンピュータを機能させるためのプログラム。
- 請求項1乃至10のいずれか一項に記載の文書管理装置として機能することを特徴とする画像形成装置。
- 情報をブロックごとに少なくともその前のブロックと関連付けて管理するブロックチェーンサービスと連携する文書管理装置により実行される文書管理方法であって、前記文書管理装置は登録手段と取得手段と判定手段と応答手段とを有し、
前記登録手段が、登録対象である文書に関する文書関連情報を前記ブロックチェーンサービスに登録し、
前記取得手段が、検証の対象となる対象文書に関する前記文書関連情報を、前記ブロックチェーンサービスから取得し、
前記判定手段が、前記ブロックチェーンサービスから取得した前記文書関連情報に基づいて、前記対象文書が最新か否かを判定し、
前記応答手段が、前記取得手段により前記対象文書の前記文書関連情報を取得できなかった場合、及び、前記判定手段により前記対象文書が最新でないと判定された場合には、前記対象文書の検証の失敗を出力する
ことを特徴とする文書管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022194406A JP2024081008A (ja) | 2022-12-05 | 2022-12-05 | 文書管理装置、文書管理方法と画像形成装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022194406A JP2024081008A (ja) | 2022-12-05 | 2022-12-05 | 文書管理装置、文書管理方法と画像形成装置、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024081008A true JP2024081008A (ja) | 2024-06-17 |
Family
ID=91483214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022194406A Pending JP2024081008A (ja) | 2022-12-05 | 2022-12-05 | 文書管理装置、文書管理方法と画像形成装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024081008A (ja) |
-
2022
- 2022-12-05 JP JP2022194406A patent/JP2024081008A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5407209B2 (ja) | 文書管理装置、文書管理プログラム、及び文書管理システム | |
US20090044283A1 (en) | Document management apparatus, document management system and method, and computer-readable medium | |
JP6499423B2 (ja) | 情報処理システム、情報処理装置、及びその制御方法とプログラム | |
JP2009038795A (ja) | 画像形成装置管理システム、画像形成装置、管理装置、画像形成方法、画像形成プログラム、管理方法、管理プログラム | |
JP2008257317A (ja) | 情報処理装置、情報処理システム及びプログラム | |
US7904424B2 (en) | Method for managing document data and data structure | |
JP2010191596A (ja) | 動作定義ファイル生成装置、システム、画像形成装置、動作定義ファイル生成方法およびプログラム | |
JP4305510B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
JP4698211B2 (ja) | 情報処理装置、画像形成装置、電子データの移動の取り消し方法 | |
JP5573357B2 (ja) | 画像処理装置、印刷制御装置、印刷制御システム、印刷制御方法、印刷制御プログラム、及びそのプログラムを記録した記録媒体 | |
US7912859B2 (en) | Information processing apparatus, system, and method for managing documents used in an organization | |
US20090287709A1 (en) | Information processing apparatus for editing document having access right settings, method of information processing, and program | |
JP5045118B2 (ja) | 文書管理装置、文書管理システム及びプログラム | |
JP6161278B2 (ja) | 画像処理システム、管理装置、画像処理装置、画像処理方法およびコンピュータプログラム | |
JP5082460B2 (ja) | 情報処理装置及びプログラム及び情報処理システム | |
JP4485785B2 (ja) | 電子データ処理システム及び電子データ処理方法 | |
JP2006218649A (ja) | 画像形成装置およびホスト装置並びに印刷システム | |
JP2024081008A (ja) | 文書管理装置、文書管理方法と画像形成装置、プログラム | |
JP4444641B2 (ja) | 情報処理装置、画像形成装置、及び電子データ移動方法 | |
JP2010073012A (ja) | 文書管理装置、文書管理システム及びプログラム | |
JP2023113422A (ja) | システム、情報処理装置及びその制御方法 | |
JP2005352901A (ja) | 情報処理装置及び出力ステータス管理方法 | |
JP2006293448A (ja) | 文書管理システムおよび文書管理方法およびプログラム | |
JP5309664B2 (ja) | 文書管理装置及びプログラム | |
JP7442569B2 (ja) | 情報処理システム、印刷制御方法、プログラム |