JP2023168902A - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラム Download PDFInfo
- Publication number
- JP2023168902A JP2023168902A JP2022080285A JP2022080285A JP2023168902A JP 2023168902 A JP2023168902 A JP 2023168902A JP 2022080285 A JP2022080285 A JP 2022080285A JP 2022080285 A JP2022080285 A JP 2022080285A JP 2023168902 A JP2023168902 A JP 2023168902A
- Authority
- JP
- Japan
- Prior art keywords
- electronic data
- folder
- program
- information
- unit
- 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
- 230000010365 information processing Effects 0.000 title claims description 34
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000012545 processing Methods 0.000 claims abstract description 67
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 25
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 57
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 4
- 238000007639 printing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
【課題】電子データに改ざん検知情報を付与できる情報処理装置を提供すること。【解決手段】本発明は、記憶部に電子データが保存されたことを検出する監視部と、前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、前記電子データの保存場所を示す情報に基づいて前記電子データに対する処理を決定する制御部と、前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するプログラム処理部と、前記改ざん検知情報が付与された前記電子データを任意の記憶部に保存する蓄積部と、を有することを特徴とする。【選択図】図1
Description
本発明は、情報処理装置、情報処理方法、及び、プログラムに関する。
書類の電子化が進むについて、書類も電子データとして保存することが多くなった。例えば、2022年1月に電子帳簿保存法が改正され、各税法で原則紙での保存が義務づけられている帳簿書類について一定の要件を満たした上で電磁的記録(電子データ)による保存が可能となった。それに伴い、ユーザーは、保存される電子データについてタイムスタンプなどの改ざん検知情報の付与又は変更されたことを記録できる方法に対応する必要がある。
電子データにタイムスタンプを付与する技術が知られている(例えば、特許文献1参照。)。特許文献1には、修正入力手段にて入力された修正データが反映された適正文書データを記録する文書ファイルに対して、電子的なタイムスタンプを押す文書管理装置が開示されている。
しかしながら、従来の技術では、電子データの改ざん検知情報の追加処理を指示する必要があるという問題がある。つまり、電子データが蓄積された後に改ざん検知情報を追加する必要があった。この場合、蓄積後に改ざんされる可能性があるため、電子データの改ざんを検知する手段が必要だった。
本発明は、上記課題に鑑み、電子データに改ざん検知情報を付与できる情報処理装置を提供することを目的とする。
上記課題に鑑み、本発明は、記憶部に電子データが保存されたことを検出する監視部と、前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、前記電子データの保存場所を示す情報に基づいて前記電子データに対する処理を決定する制御部と、前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するプログラム処理部と、前記改ざん検知情報が付与された前記電子データを任意の記憶部に保存する蓄積部と、を有することを特徴とする情報処理装置を提供する。
電子データに改ざん検知情報を付与できる情報処理装置を提供することができる。
以下、本発明を実施するための形態の一例として、情報処理装置と情報処理装置が行う情報処理方法について図面を参照しながら説明する。
<動作の概略>
図1は、本実施形態のファイルサーバーがフォルダ階層に基づいて行うタイムスタンプに関する処理の概略を説明する図である。ファイルサーバーは予め作成されている又は適宜作成されたフォルダを有しており、複数のフォルダがフォルダ階層を形成している。フォルダにはフォルダ名が設定されており、「__cmd__」という接頭辞(第一の文字列の一例)を有するフォルダ名は接頭辞を除くフォルダ名がプログラム名又はプログラムと対応付けられていることを示す。したがって、__cmd__timestampフォルダ207、__cmd__storeフォルダ210の「timestamp」「store」はプログラム名である。
図1は、本実施形態のファイルサーバーがフォルダ階層に基づいて行うタイムスタンプに関する処理の概略を説明する図である。ファイルサーバーは予め作成されている又は適宜作成されたフォルダを有しており、複数のフォルダがフォルダ階層を形成している。フォルダにはフォルダ名が設定されており、「__cmd__」という接頭辞(第一の文字列の一例)を有するフォルダ名は接頭辞を除くフォルダ名がプログラム名又はプログラムと対応付けられていることを示す。したがって、__cmd__timestampフォルダ207、__cmd__storeフォルダ210の「timestamp」「store」はプログラム名である。
後述する発注システムが例えばStorageフォルダ211の下位のDocumentsフォルダ212に「書類.pdf」という電子データ213を保存した。ファイルサーバーは、Operationフォルダ205以下のフォルダ階層に保存される電子データ213を監視している。新たに保存された電子データ213が検出されると、ファイルサーバーは、「__cmd__」という接頭辞を有するフォルダ名に基づいてプログラムを特定し、実行する。
図1のフォルダ階層では、「timestamp」と「store」というプログラムが特定される。ファイルサーバー30は電子データ213にタイムスタンプを付与する。また、ファイルサーバー30は、__cmd__storeフォルダ210の下位のStorageフォルダ211とDocumentsフォルダ212に基づいて、保存先として予め定められているStorageフォルダ202の下位にDocumentsフォルダ203を作って、タイムスタンプ付きの電子データ214を保存する。
このように、本実施形態によれば、電子データが保存されたフォルダのフォルダ階層に基づいて電子データにタイムスタンプを付与したり、保存したりすることができる。発注システム20は、ファイルサーバー30に処理を要求するAPI(Application Programming Interface)を実装する必要がなく、フォルダを指定して電子データを保存すればよく、発注システムの開発コスト増を抑制できる。電信データを蓄積すると同時にタイムスタンプを付与するため、電子データが改ざんされるタイミングをなくし、電子データが改ざんされる前に、タイムスタンプを付与できる。
<用語について>
電子データとは、コンピュータで取り扱うデータである。電子データは詳細に言うと0と1の集まりである。本実施形態では、電子データの一例としてファイルという用語を使用する。ファイルとは、コンピュータにおけるデータの管理単位の一つで、記憶装置などにデータを記録する際に利用者やOSから見て記録単位となるデータのまとまりである。
電子データとは、コンピュータで取り扱うデータである。電子データは詳細に言うと0と1の集まりである。本実施形態では、電子データの一例としてファイルという用語を使用する。ファイルとは、コンピュータにおけるデータの管理単位の一つで、記憶装置などにデータを記録する際に利用者やOSから見て記録単位となるデータのまとまりである。
電子データの保存場所を示す情報とは、「ファイル」を保存している「フォルダ」に辿り着くまでに階層を重ねたフォルダの「経路(path)」である。なお、フォルダはディレクトリともいう。本実施形態では、パスという用語で説明される。パスは、ファイルパス、フォルダ階層など称してもよい。
改ざん検知情報とは、電子データに変更が加えられたことを検知できる情報である。改ざん検知情報により、改ざん検知情報が作成された時点から電子データが変更されていないと証明できる。改ざん検知情報の一例としてハッシュ値がある。ハッシュ値には、一方向性をもち、データが少しでも変化すると値が大きく変化し、予測ができない、衝突の可能性が低い、などの特徴がある。改ざん検知情報は電子証明書(秘密鍵等で暗号化されていてもよい)でもよい。本実施形態では、改ざん検知情報はタイムスタンプという用語で説明される。タイムスタンプは、ある時刻にその電子データが存在していたことと、それ以降改ざんされていないことを証明する情報である。
処理とは、情報処理であり、ある情報から別の情報への変換、抽出、加工、追加など、コンピュータ処理全般を指す。
<システム構成例>
図2は、ファイルサーバー30がタイムスタンプサーバー70を用いてタイムスタンプを電子データに付与するタイムスタンプシステム100のシステム構成を示す。タイムスタンプシステム100は、ネットワークNに接続された端末装置10、発注システム20、ファイルサーバー30、及び複合機50Aを有している。ネットワークNは例えば社内に敷設されたLAN(無線LANを含む)でよい。また、ネットワークNとインターネットの間には2カ所のファイアウォール80A,80Bが設けられており、2カ所のファイアウォール80A,80Bの間がDMZ(DeMilitarized Zone)となっている。DMZは、内部ネットワーク(LAN)を保護する。DMZにはメールサーバー60が配置されている。ファイアウォール80Aは、DMZに設置したメールサーバー60を公開するために、ポートフォワーディングという技術で、インターネットからのメールサーバー60への通信のみ許可してメールサーバー60に転送する。また、ファイアウォール80Bは、設定されたポリシーに従って、インターネットからの通信、及び、ネットワークNからDMZ及びインターネットへの通信を制御する。
図2は、ファイルサーバー30がタイムスタンプサーバー70を用いてタイムスタンプを電子データに付与するタイムスタンプシステム100のシステム構成を示す。タイムスタンプシステム100は、ネットワークNに接続された端末装置10、発注システム20、ファイルサーバー30、及び複合機50Aを有している。ネットワークNは例えば社内に敷設されたLAN(無線LANを含む)でよい。また、ネットワークNとインターネットの間には2カ所のファイアウォール80A,80Bが設けられており、2カ所のファイアウォール80A,80Bの間がDMZ(DeMilitarized Zone)となっている。DMZは、内部ネットワーク(LAN)を保護する。DMZにはメールサーバー60が配置されている。ファイアウォール80Aは、DMZに設置したメールサーバー60を公開するために、ポートフォワーディングという技術で、インターネットからのメールサーバー60への通信のみ許可してメールサーバー60に転送する。また、ファイアウォール80Bは、設定されたポリシーに従って、インターネットからの通信、及び、ネットワークNからDMZ及びインターネットへの通信を制御する。
また、インターネット上にはタイムスタンプサーバー70が配置される。タイムスタンプサーバー70のようにネットワーク経由で利用されるサービスをクラウドサービスとして提供する場合がある。クラウドサービスの定義は必ずしも一義的でないが、インターネット上に用意されたリソースやサービスをいつでもどこでも必要な時に必要な分だけユーザーが利用できる仕組みである。なお、クラウドサービスにはオンプレミスに配置されるものもある。
端末装置10は、電子データを保存するユーザーが操作する情報処理装置である。端末装置10は、例えば、Windows(登録商標)、MAC OS(登録商標)、Android(登録商標)、iOS(登録商標)等、一般的なOSで動作するデスクトップPC(パーソナルコンピュータ)、ノート型PC、スマートフォン、タブレット端末等でよい。この他、端末装置10は所定のアプリが動作可能な装置であればよい。また、このアプリはWebサーバーにより提供され、Webブラウザーで動作するWebアプリでもよいし、端末上でプログラムを実行するネイティブアプリでもよい。
本実施形態では、電子データの一例として発注システム20で生じる発注データ等を例に説明する。したがって、ユーザーは端末装置10を使い、発注システム20を利用する。
発注システム20は、主に企業間の取引において顧客が電話やファクシミリにより発注先に行っていた注文や問合せをWeb上で行うようにしたWebシステムである。発注先には受注システムが存在する。
なお、電子データを生成するシステムは、発注システム20である必要はない。電子データは、例えば、任意の営業秘密、重要書類など企業活動で生じる各種の電子データでよい。例えば、発注書、受注書、契約書、申請書、設計図、定款、訴訟関係書類、登記済証、官公署への提出文書、官公署からの許可書、認可書、通達などで重要な書類、社規、社則、これらに関連する通達文書、知的所有権に関する書類、社報、社内報、重要刊行物、人事書類、給与書類、決算書、固定資産に関する書類などがある。また、電子データは個人や個人事業主が使用する任意のファイルでもよい。
ファイルサーバー30は主にファイルを蓄積する情報処理装置である。ファイルサーバー30は、ファイルを蓄積することだけでなく、インターネット経由で電子データにタイムスタンプを付加することができる。ファイルサーバー30がハッシュ値を計算してもよい。また、ファイルサーバー30は、複合機50Aと連携してファクシミリ送信することができ、メールサーバー60と連携して、メール送信をすることができる。この他、ファイルサーバー30は、OCR(Optical Character Reader)処理、翻訳、ファイル形式変換、及び、ウィルスチェックなどの追加の処理を、ファイルサーバー30上で又は外部サーバーと通信して行うことも可能である。
タイムスタンプサーバー70は、電子データがその時刻に確かに存在し、かつ、その時刻以降、当該電子データが改ざんされていないことを証明するために、要求された電子データに対して、対となるタイムスタンプを付与する。タイムスタンプサーバー70は、ファイルサーバー30からタイムスタンプを付す電子データのハッシュ値(メッセージダイジェストとも呼ばれる)を受信する。タイムスタンプサーバー70はこのハッシュ値に時刻情報を偽造できないようにして結合したタイムスタンプ(正確にはタイムスタンプトークンという)を付与し、ファイルサーバー30に送信する。
複合機50Aは、電子データをファクシミリ送信する機器である。したがって、複合機50Aはファクシミリ送信する機能を有していればよい。複合機50Aは、ファクシミリの送信の他、プリント、コピー、スキャンなどの複数の機能を有している。複合機50AはMFP(Multifunction Peripheral)と呼ばれる他、画像形成装置、画像処理装置、印刷装置、プリンタ、等と呼ばれてもよい。
複合機50Aは、電話回線9を介して、他の複合機50Bと通信可能である。電話回線9はファクシミリの送受信のために使用される。なお、ファクシミリの送受信には、メールの添付ファイルとして送受信するインターネットファックスもあり、電話回線9はLAN及びインターネットで代用してもよい。
メールサーバー60は、本実施形態では、メールを送信するメール送信サーバーであればよい。したがって、メールサーバー60は、ファイルサーバー30から送信されるメールを、SMTP(Simple Mail Transfer Protocol)にしたがって送信する。したがって、メールサーバー60はメールアドレスのドメインに基づいてDNS(Domain Name System)で転送先のメール受信サーバーを特定し、このメール受信サーバーにメールを送信する。
なお、図2では、発注システム20とファイルサーバー30が別体であるが、発注システム20とファイルサーバー30が一体でもよい。この場合、発注システム20は単に自分のファイルシステムに電子データを保存すればよい。
<ハードウェア構成例>
本実施形態に係るタイムスタンプシステムに含まれる、端末装置10、発注システム20、ファイルサーバー30、メールサーバー60、及び、タイムスタンプサーバー70のハードウェア構成について説明する。
本実施形態に係るタイムスタンプシステムに含まれる、端末装置10、発注システム20、ファイルサーバー30、メールサーバー60、及び、タイムスタンプサーバー70のハードウェア構成について説明する。
<<端末装置、発注システム、ファイルサーバー、メールサーバー、及び、タイムスタンプサーバー>>
図3は、本実施形態に係るコンピュータ500の一例のハードウェア構成を示す図である。図3に示されているように、端末装置10、発注システム20、ファイルサーバー30、メールサーバー60、及び、タイムスタンプサーバー70はコンピュータ500によって構築されている。コンピュータ500は、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、光学ドライブ514、メディアI/F516を備えている。
図3は、本実施形態に係るコンピュータ500の一例のハードウェア構成を示す図である。図3に示されているように、端末装置10、発注システム20、ファイルサーバー30、メールサーバー60、及び、タイムスタンプサーバー70はコンピュータ500によって構築されている。コンピュータ500は、CPU501、ROM502、RAM503、HD504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、光学ドライブ514、メディアI/F516を備えている。
これらのうち、CPU501は、コンピュータ500全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークNを利用してデータ通信をするためのインターフェースである。バスライン510は、図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な記録媒体の一例としての光メディア513に対する各種データの読み出し又は書き込みを制御する。なお、光メディア513は、CD、DVD、Blu-Ray(登録商標)等でよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
<<複合機>>
図4は、複合機50Aのハードウェア構成図である。図4に示されているように、複合機50Aは、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
図4は、複合機50Aのハードウェア構成図である。図4に示されているように、複合機50Aは、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部49であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部49であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
これらのうち、CPU901は、複合機50Aの全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンタ部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有していてよい。
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
なお、画像形成装置は、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時、画像形成装置はドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F950は、ネットワークNを利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
<機能について>
次に、図5を参照して、本実施形態に係るタイムスタンプシステム100の機能構成について説明する。図5は、本実施形態に係るタイムスタンプシステム100の一例の機能構成を示す図である。
次に、図5を参照して、本実施形態に係るタイムスタンプシステム100の機能構成について説明する。図5は、本実施形態に係るタイムスタンプシステム100の一例の機能構成を示す図である。
<<端末装置>>
端末装置10は、第三通信部11と、表示制御部12と、操作受付部13とを有する。これら各機能部は、端末装置10にインストールされた1以上のプログラムに含まれる命令を図3に示したCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザーでもよいし、専用のソフトウェアでもよい。
端末装置10は、第三通信部11と、表示制御部12と、操作受付部13とを有する。これら各機能部は、端末装置10にインストールされた1以上のプログラムに含まれる命令を図3に示したCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザーでもよいし、専用のソフトウェアでもよい。
第三通信部11は、発注システム20又はファイルサーバー30との間で各種の情報を送受信する。表示制御部12は、各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部13は、ディスプレイ506に表示された各種画面におけるユーザーの各種操作を受け付ける。なお、画面情報は、HTML、XML、スクリプト言語、及びCSS(Cascading Style Sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が特定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが特定される。
<<複合機>>
複合機50Aは、第二通信部51と、表示制御部52と、操作受付部53と、画像データ生成部54と、ファクシミリ処理部55と、を有する。これら各機能部は、複合機50Aにインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。例えば、第二通信部51、表示制御部52及び操作受付部53はWebブラウザーにより実現され、その他は個別のアプリ(ネイティブアプリ)により実現される。
複合機50Aは、第二通信部51と、表示制御部52と、操作受付部53と、画像データ生成部54と、ファクシミリ処理部55と、を有する。これら各機能部は、複合機50Aにインストールされた1以上のプログラムに含まれる命令をCPU901が実行することで実現される機能又は手段である。例えば、第二通信部51、表示制御部52及び操作受付部53はWebブラウザーにより実現され、その他は個別のアプリ(ネイティブアプリ)により実現される。
第二通信部51は、ファイルサーバー30との間で各種の情報を送受信する。本実施形態では、第二通信部51は、ファクシミリで送信される電子データをファイルサーバー30から受信する。
表示制御部52は、各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部53は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。
画像データ生成部54は、操作受付部53が選択を受け付けた操作が画像データを生成するものである場合、スキャナ部931で原稿をスキャンして画像データを生成する。ファクシミリ処理部55は、ファクシミリ部933による電話回線を経由したファクシミリの受信及び送信に関する処理を行う。
<<発注システム>>
発注システム20は、第四通信部21、画面生成部22、発注処理部23、及び、発注先情報記憶部24を有する。発注システム20が有するこれら各機能部は、発注システム20にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
発注システム20は、第四通信部21、画面生成部22、発注処理部23、及び、発注先情報記憶部24を有する。発注システム20が有するこれら各機能部は、発注システム20にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
第四通信部21は、端末装置10との間で各種の情報を送受信する。本実施形態では、第四通信部21は、端末装置10が表示する各種の画面情報を端末装置10に送信したり、発注に関する情報を端末装置10から受信したりする。
画面生成部22は、端末装置10が表示する各種の画面情報を生成する。複合機50AがWebアプリを実行する場合は、画面情報は、HTML、XML、CSS(Cascade Style Sheet)、及びJavaScript(登録商標)等により作成される。
発注処理部23は、端末装置10から受信した発注に関する情報に基づいて、発注書を作成する。この発注書が、タイムスタンプの付与後にファイルサーバー30に保存される電子データ(例えばPDFファイル)である。発注処理部23は、発注先情報記憶部24を参照してフォルダ階層を決定し、第四通信部21を介して、フォルダ階層を指定し電子データをファイルサーバー30に送信する。なお、第四通信部21は送信という処理を行うが、送信により電子データがファイルサーバー30に保存されるため、この送信を保存という場合がある。
また、発注システム20は、図3に示したHD504やRAM503等に構築される発注先情報記憶部24を有している。
図6は、発注先情報記憶部24に保存されている発注先情報を示す。発注先情報は、発注先の企業ごとのフォルダ階層である。企業ごとに発注方法(ファクシミリ、メール等)が異なるので、発注先情報記憶部24には発注方法に対応した発注先情報が登録されている。フォルダ階層のいずれかに電子データが保存される。フォルダ階層はファイルパスでもある。図1にて説明したようにフォルダ階層のフォルダ名により電子データに対し実行されるプログラムが特定される。
・第一フォルダは、ファイルサーバー30が新しい電子データの保存を監視するフォルダである。したがって、第一フォルダは予めファイルサーバー30に作成済みであることが好ましい。これに対し、第二フォルダ以降はファイルサーバー30に作成済みでもよいし、ファイルサーバー30が発注を受けて作成してもよい。
・第二フォルダは、例えば発注先の企業を識別するための識別情報をフォルダ名とするフォルダである。
・第三フォルダは、発注システム20がタイムスタンプを要求するためのフォルダである。したがって、「__cmd__」+「timestamp(プログラム名)」がフォルダ名である。「__cmd__」を接頭辞という。この接頭辞は一例に過ぎず、プログラム名と区別されればどのような文字列でもよい。例えば、「__」は++、!!、##等でもよいし、「cmd」はprogram、process(又はこれらの略語)等でもよい。また、接頭辞はフォルダ名の先頭になくてもよく、末尾や中央にあってもよい。
・第四フォルダは、発注システム20が発注方法を要求するためのフォルダである。したがって、「__cmd__」+「send_fax(プログラム名)」又は「send_mail」がフォルダ名である。
・第五フォルダは、発注方法の引数が設定されるフォルダである。したがって、「__arg__」+「ファクシミリ番号」又は「メールアドレス」がフォルダ名である。「__arg__」を接頭辞(第二の文字列の一例)という。この接頭辞は一例に過ぎず、引数と区別されればどのような文字列でもよい。「arg」はparameter、variable(又はこれらの略語)等でもよい。
・第六フォルダは、発注システム20が電子データの保存を要求するためのフォルダである。したがって、「__cmd__」+「store(プログラム名)」がフォルダ名である。
・第七フォルダと第八フォルダは、「__cmd__store」と一対であり、タイムスタンプ付きの電子データの保存先のフォルダである。したがって、任意のフォルダ名を有する。
第二フォルダ以降のフォルダは順不同であり、図6に示す順番でフォルダが指定されなくてもよい。発注処理部23は、端末装置10が要求する発注先の企業に応じて、発注先情報を指定すればよい。また、第九フォルダ以降のフォルダがあってもよい。
<<メールサーバー>>
図5に戻って説明する。メールサーバー60は、第五通信部61、及びメール処理部62を有する。メールサーバー60が有するこれら各機能部は、メールサーバー60にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
図5に戻って説明する。メールサーバー60は、第五通信部61、及びメール処理部62を有する。メールサーバー60が有するこれら各機能部は、メールサーバー60にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
第五通信部61は、ファイルサーバー30から電子データをメールにて送信する要求を受信する。
メール処理部62は、SMTPに基づいて、電子データが添付されたメールを転送先のメールサーバー(発注先のメール受信サーバー)に転送する。
<<タイムスタンプサーバー>>
タイムスタンプサーバー70は、第六通信部71、及びタイムスタンプ部72を有する。タイムスタンプサーバー70が有するこれら各機能部は、タイムスタンプサーバー70にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
タイムスタンプサーバー70は、第六通信部71、及びタイムスタンプ部72を有する。タイムスタンプサーバー70が有するこれら各機能部は、タイムスタンプサーバー70にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。
第六通信部71は、ファイルサーバー30から電子データのハッシュ値に対するタイムスタンプの要求を受信し、タイムスタンプが付与されたハッシュ値をファイルサーバー30に送信する。
タイムスタンプ部72は、ファイルサーバー30からの要求に応じて、ファイルサーバー30から送信された電子データのハッシュ値にタイムスタンプを付与する。
<<ファイルサーバー>>
ファイルサーバー30は、第一通信部31、ファイルシステム32、監視部33、制御部34、プログラム処理部35、及び、記憶部49を有している。ファイルサーバー30が有するこれら各機能部は、ファイルサーバー30にインストールされた1以上のプログラムに含まれる命令を図3に示したCPU501が実行することで実現される機能又は手段である。
ファイルサーバー30は、第一通信部31、ファイルシステム32、監視部33、制御部34、プログラム処理部35、及び、記憶部49を有している。ファイルサーバー30が有するこれら各機能部は、ファイルサーバー30にインストールされた1以上のプログラムに含まれる命令を図3に示したCPU501が実行することで実現される機能又は手段である。
図5では、第一通信部31及びファイルシステム32はOS48の機能としたが、第一通信部31はOS48から独立した機能であってもよい。なお、OS48は、アプリケーションがハードウェアを使用した処理を行う際に要求に応じてハードウェアを制御するが、図では、通信とファイルシステム32のみをOSに関する機能として示した。
第一通信部31は、ネットワークNに接続し、ネットワークN及びインターネット上にある各種のシステムと通信することができる。本実施形態では、第一通信部31は発注システム20から電子データと電子データを保存するフォルダ階層を受信する。
ファイルシステム32は、永続的にデータを保存できる記憶装置(ストレージ/外部記憶装置)内部の記録状態を管理・制御し、ファイルを単位としてデータの書き込みや読み出しができるようにするシステムである。ファイルシステム32は、あるパス(フォルダ)にファイルが書き込まれると、ファイルが書き込まれたことを検知し、ファイルサーバー30上にある他のプログラムに通知することができる。
監視部33は、ファイルシステム32から通知を得ることで、どのフォルダに電子データが書き込まれたかを監視する。これにより、監視部33は、電子データが書き込まれたタイミングで、制御部34に通知することができる。記憶部49がファイルサーバー30の外部にある場合、監視部33が外部の記憶部49に配置されるとよい。あるいは、監視部33が記憶部49に対し、電子データが保存されたか否かを定期的に問い合わせる。
制御部34は、電子データが書き込まれたフォルダ(ファイルパス)と、それに対応したプログラムを実行するためのフォルダプログラム対応情報(図7参照)を持ち、電子データに対し実行するプログラムを決定する。制御部34は、決定したプログラムの実行をプログラム処理部35に対し要求する。
プログラム処理部35は、複数の予め組み込まれているプログラムを有している。図5では、プログラム処理部35が、timestampプログラム36、storeプログラム37、send_faxプログラム38、send_mailプログラム39、execプログラム40、という各プログラムを有している。timestampプログラム36は取得部41と付与部42を実現し、storeプログラム37は蓄積部43を実現し、send_faxプログラム38はファクシミリ送信部44を実現し、send_mailプログラム39はメール送信部45を実現し、execプログラム40はその他実行部46を実現する。なお、これらプログラムは一例であり、これらには限られない。
また、後述するようにユーザーがプログラムを登録することも可能である。
記憶部49には、電子データ(ファイル)の本体が蓄積される。OS48はファイルシステム32を通して、電子データを記憶部49に蓄積(書き込み、読み込み)することができる。記憶部49はファイルサーバー30の外部にあってもよい。記憶部49はネットワークN又はインターネット上にあってもよい。
図7は、制御部34が有するフォルダプログラム対応情報を示す。図7に示すように、フォルダプログラム対応情報は、フォルダ名、引数、及び、プログラムを対応づける。
・フォルダ名の項目は、ファイルが保存されたフォルダ階層のうち「__cmd__」を除くフォルダ名である。
・引数の項目は、このフォルダ名で特定されるプログラムで必要又は設定可能な引数であり、フォルダ名がstoreの場合は下位のフォルダ(次の__cmd__で始まるフォルダまで、又は、フォルダ階層の最後のフォルダ)である。引数の項目は、フォルダ名がsend_faxの場合はファクシミリ番号、フォルダ名がsend_mailの場合はメールアドレス、フォルダ名がexecの場合は任意のプログラム名である。
・プログラムの項目は、フォルダ名により呼びだされるプログラムの名称である。プログラムの名称は識別情報を兼ねている。プログラムの項目には、上記のようにプログラム処理部35が有するtimestampプログラム36、storeプログラム37、send_faxプログラム38、send_mailプログラム39、execプログラム40が登録されている。
制御部34は、フォルダプログラム対応情報を参照して、ファイルが保存されたフォルダに対応したプログラムを呼び出し、処理することができる。
<フォルダ階層の一例>
図8は、記憶部49に形成されたフォルダ階層の一例を示す図である。まず、図8では、フォルダ階層が処理を意味しない場合のフォルダ階層を示す。すなわち、図8のフォルダ階層は従来のフォルダ階層である。
図8は、記憶部49に形成されたフォルダ階層の一例を示す図である。まず、図8では、フォルダ階層が処理を意味しない場合のフォルダ階層を示す。すなわち、図8のフォルダ階層は従来のフォルダ階層である。
図8では、rootフォルダ101の下位にStorageフォルダ102、Logsフォルダ107がある。Storageフォルダ102の下位にDocumentsフォルダ103と電子帳簿フォルダ104がある。電子帳簿フォルダ104の下位に2021フォルダ105と2022フォルダ106がある。Logsフォルダ107の下位にAudit(監査)フォルダ108がある。従来、タイムスタンプ付きの電子データは処理年月日に応じて2021フォルダ105又は2022フォルダ106に保存されるだけである。
図9は、本実施形態において処理と対応したフォルダ階層を示す。まず、図9のフォルダ階層では、rootフォルダ201の下位にStorageフォルダ202とLogsフォルダ204があり、これらはプログラムの実行とは関係のない保存用のフォルダである。一例として、Storageフォルダ202にはタイムスタンプ付きの電子データ214が保存されるフォルダとして予め定められている。Logsフォルダ204は電子データの処理のログが保存されるフォルダである。もちろん、ここに記載した以外のファイルを保存することができる。
なお、Resultsフォルダ221の下位には、Operationの処理結果(成功、エラー)が保存されるSuccessフォルダ222とErrorフォルダ223がある。
Operationフォルダ205より下位のフォルダが、電子データの処理に使用されるフォルダである。Operationフォルダ205より下位のフォルダは、電子データ213の保存に先だってファイルサーバー30が作成してもよいし、予め作成されていてもよい。
図6のA社の発注先情報に示したように、Operationフォルダ205以下には、__cmd__timestampフォルダ207、__cmd__send_faxフォルダ208、__arg__0312345678フォルダ209、__cmd__storeフォルダ210、Storageフォルダ211、及び、Documentsフォルダ212がある。
__cmd__ の接頭辞があれば、接頭辞を除くフォルダ名がプログラムに対応し、__arg__ の接頭辞があれば、接頭辞を除くフォルダ名がプログラムの引数であることを表す。制御部34は、接頭辞に基づいてプログラムの指定か引数の指定か判断する。制御部34は、プログラムが指定された場合、フォルダプログラム対応情報を参照し、引数が必要か否か判断する。制御部34は、引数が必要であれば__arg__ の接頭辞を有するフォルダのフォルダ名から引数を取得する。
これらのフォルダとファイルの構造は、従前より通常のOS48が備える機能であり、どのOS48であっても自由に利用することが可能である。これにより、発注システム20側に特段の追加の実装を追加することなく(発注先情報記憶部24があればよい)、発注システム20はフォルダ階層を指定するだけで、処理内容を指定することができる。
これに対し、発注システム20がHTTP等でAPIを実行する従来の方法の場合、発注システム20側に正しくAPIを処理するための追加の実装が必要になる。以下は、本実施形態では必要ないが、発注システム20に追加で実装され得るAPIの例である。
http://192.168.100.100/timestamp?store=Storage/Documents/書類.pdf&sending_fax=0312345678
http://192.168.100.100/timestamp?store=Storage/Documents/書類.pdf&sending_fax=0312345678
なお、図9に示すように、1つの電子データに対して、ファイルサーバー30が複数の処理を実施すべき場合、フォルダ構成を入れ子にすることで対応できる。
また、図9のOperation フォルダ205より下位のフォルダは、タイムスタンプ付きの電子データが保存されるとその全てが削除されてもよいし、残っていてもよい。
<フォルダ名、引数、プログラムの設定>
図10は、端末装置10が表示するフォルダ名プログラム設定画面230の一例である。フォルダ名プログラム設定画面230は、ユーザーがフォルダプログラム対応情報を編集するための画面である。
図10は、端末装置10が表示するフォルダ名プログラム設定画面230の一例である。フォルダ名プログラム設定画面230は、ユーザーがフォルダプログラム対応情報を編集するための画面である。
ユーザーは端末装置10をファイルサーバー30に接続させ、ファイルサーバー30からWebページとしてフォルダ名プログラム設定画面230の提供を受ける。端末装置10はWebブラウザーでフォルダプログラム対応情報を表示させ、ユーザーは端末装置10を操作してフォルダプログラム対応情報を編集する。
ユーザーは、フォルダ名欄231、引数欄232、プログラム名欄233の1行分を1レコードとして、フォルダ名欄231、引数欄232、及び、プログラム名欄233を設定する。例えば、プログラム名欄233には、プログラム処理部35が有するプログラムのリストがプルダウンで表示できてよい。引数欄232についても同様に、プログラム名欄233でユーザーが選択したプログラムで設定可能な引数がプルダウンで表示できてよい。例えば、プログラム名がsend_faxなら、引数欄232でファクシミリ番号が必要である旨が表示される。また、ユーザーはフォルダ名欄231に__cmd__以降のフォルダ名を設定する。__cmd__を含むフォルダ名は、発注先情報記憶部24に登録されるフォルダ名と同じものである。
また、ユーザーは新たに、フォルダ名、引数及びプログラムを対応付けて登録できる。この場合、プログラムの本体を端末装置10がファイルサーバー30にアップロードできることが好ましい。
このように、ユーザーはフォルダプログラム対応情報を作成又は編集できる。
なお、ユーザーはWebページを使用せずに、フォルダプログラム対応情報を編集できてもよい。例えば、ユーザーは端末装置10を操作して表計算ソフトなどでフォルダプログラム対応情報を作成し、ファイルサーバー30の所定の記憶領域に保存する。
<動作手順>
図11は、電子データが保存されるフォルダ階層に基づいてタイムスタンプシステム100がタイムスタンプを付与し、ファクシミリ送信するシーケンス図である。
図11は、電子データが保存されるフォルダ階層に基づいてタイムスタンプシステム100がタイムスタンプを付与し、ファクシミリ送信するシーケンス図である。
S1:ユーザーは端末装置10を発注システム20に接続しており、発注システム20が提供し、端末装置10が表示するWebページに対し、商品をA社に発注する旨を入力する。端末装置10の操作受付部13が入力を受け付ける。
S2:端末装置10の第三通信部11は発注先(A社)と商品名と個数を指定して商品を発注システム20に発注する。
S3:発注システム20の第四通信部21は発注先(A社)と商品名と個数を受信し、発注を受け付ける。発注処理部23が発注を実行するために、発注先(A社)に基づいて発注先情報を参照する。A社の発注先情報は図6のとおりなので、フォルダ階層は以下のようになる。
/Operation/A/__cmd__timestamp/__cmd__send_fax/__arg__0312345678/__cmd__store/Storage/Documents/書類.pdf
/Operation/A/__cmd__timestamp/__cmd__send_fax/__arg__0312345678/__cmd__store/Storage/Documents/書類.pdf
発注処理部23はこのフォルダ階層を指定して、電子データ(書類.pdf)をファイルサーバー30に保存する(保存要求を送信)。保存には例えばSMB(Server Message Block)やCIFS(Common Internet File System)という通信プロトコルが使用される。SMB又はCIFSは、LANにおいてファイル共有やプリンタ共有などを行うための通信プロトコルである。発注処理部23はSMBにより、発注システム内のファイルの移動やコピーと同様の処理で電子データをファイルサーバー30に保存できる。
S4:ファイルサーバー30の第一通信部31が電子データの保存要求を受信し、ファイルシステム32は指定されたフォルダ階層に電子データを保存する。フォルダ階層の一部又は全体がない場合、ファイルシステム32がフォルダを作成する。監視部33はファイルシステム32から新たに電子データがフォルダに保存されたという通知を受け、制御部34に電子データのファイルパスを通知する。
S5:制御部34は、ファイルパスに基づいてプログラムや引数を特定する。ここでは、制御部34は、__cmd__timestampフォルダ207によりtimestampプログラム36を実行することを特定する。また、制御部34は、__cmd__send_faxフォルダ208によりsend_faxプログラム38を実行すること、send_faxプログラム38は引数が必要でありその引数は__arg__0312345678フォルダ209により0312345678であることを特定する。また、制御部34は、__cmd__storeフォルダ210によりstoreプログラム37を実行すること、storeプログラム37は引数(保存先)が必要でありその引数はStorage/Documentsであることを特定する。引数であるStorage/Documentsについて補足すると、図9により__cmd__storeフォルダ210の下位にあるのがStorageフォルダ211、Documentsフォルダ212であることが特定される。__cmd__storeフォルダ210の下位に更に__cmd__で始まるフォルダがあればその手前までが引数(保存先)である。
したがって、まず、制御部34はプログラム処理部35にtimestampプログラム36の実行を要求する。これによりタイムスタンプの取得部41が電子データ(pdfファイル)のハッシュ値を作成する。
S6:次に、付与部42がハッシュ値を指定して、タイムスタンプサーバー70にタイムスタンプの付与を要求する。
S7:タイムスタンプサーバー70の第六通信部71はハッシュ値とタイムスタンプの付与の要求を受信し、タイムスタンプ部72がタイムスタンプを付与する。
S8:第六通信部71は、タイムスタンプ付きのハッシュ値をファイルサーバー30に送信する。
S9:ファイルサーバー30の第一通信部31がタイムスタンプ付きのハッシュ値を受信する。制御部34はプログラム処理部35にstoreプログラム37の実行を要求する。これにより、蓄積部43がStorage/Documentsフォルダにタイムスタンプ付きの電子データ214を保存する。
S10:次に、制御部34はプログラム処理部35にsend_faxプログラム38の実行を要求する。これによりファクシミリ送信部44が電子データのファクシミリ送信を複合機50Aに要求する。
S11:複合機50Aの第二通信部51は電子データとファクシミリ送信要求を受け付け、ファクシミリ処理部55がファクシミリを送信する。第二通信部51はファクシミリ送信受け付けをファイルサーバー30に返す。
S12:ファイルサーバー30の第一通信部31はファイル保存終了を発注システム20に送信する。
S13:発注システム20の第四通信部21はファイル保存終了を受信し、端末装置10に送信する。
S14:端末装置10の第三通信部11はファイル保存終了を受信し、表示制御部12が、ファイル保存が終了した旨を表示する。
<<メール送信の場合>>
図12は、電子データが保存されるフォルダ階層に基づいてタイムスタンプシステムがタイムスタンプを付与し、メール送信するシーケンス図である。なお、図12の説明では図11との相違を説明する場合がある。
図12は、電子データが保存されるフォルダ階層に基づいてタイムスタンプシステムがタイムスタンプを付与し、メール送信するシーケンス図である。なお、図12の説明では図11との相違を説明する場合がある。
S21:ユーザーは端末装置10を発注システム20に接続しており、発注システム20が提供し、端末装置10が表示するWebページに対し、商品をB社に発注する旨を入力する。端末装置10の操作受付部13が入力を受け付ける。
S22:端末装置10の第三通信部11は発注先(B社)と商品名と個数を指定して商品を発注システム20に発注する。
S23:発注システム20の第四通信部21は発注先(B社)と商品名と個数を受信し、発注を受け付ける。発注処理部23が発注を実行するために、発注先(B社)に基づいて発注先情報を参照する。B社の発注先情報は図6のとおりなので、フォルダ階層は以下のようになる。
/Operation/B/__cmd__timestamp/__cmd__send_mail/__arg__order@b.com/__cmd__store/Storage/Documents/書類.pdf
/Operation/B/__cmd__timestamp/__cmd__send_mail/__arg__order@b.com/__cmd__store/Storage/Documents/書類.pdf
発注処理部23はこのフォルダ階層を指定して、電子データ(書類.pdf)をファイルサーバー30に保存する(保存要求を送信)。
S24:ステップS24の処理はステップS4と同様でよい。
S25:制御部34は、フォルダ階層に基づいてプログラムや引数を特定する。ここでは、制御部34は、__cmd__timestampフォルダによりtimestampプログラム36を実行すること、__cmd__ send_mailフォルダによりsend_mailプログラム39を実行すること、send_mailプログラム39は引数が必要でありその引数は__arg__ order@b.comフォルダによりorder@b.comであること、__cmd__storeフォルダによりstoreプログラム37を実行すること、storeプログラム37は引数が必要でありその引数(保存先)はStorage/Documentsであることを特定する。
したがって、まず、制御部34はプログラム処理部35にtimestampプログラム36の実行を要求する。これによりタイムスタンプの取得部41が電子データ(pdfファイル)のハッシュ値を作成する。
S26:ステップS26~S29の処理はステップS6~S9と同様でよい。
S30:次に、制御部34はプログラム処理部35にsend_mailプログラム39の実行を要求する。これによりメール送信部45が電子データを添付してメールをメールサーバー60に送信する。
S31:メールサーバー60の第五通信部61はメールの送信要求を受け付け、メール処理部62がメールを発注先のメール受信サーバーに送信する。第五通信部61はメール送信受け付けをファイルサーバー30に返す。
S32:ファイルサーバー30の第一通信部31はファイル保存終了を発注システム20に送信する。
S33:発注システム20の第四通信部21はファイル保存終了を受信し、端末装置10に送信する。
S34:端末装置10の第三通信部11はファイル保存終了を受信し、表示制御部12が、ファイル保存が終了した旨を表示する。
<<ファイルサーバーの詳細処理>>
次に、図13を参照して、ファイルサーバー30の処理を詳細に説明する。図13は、ファイルサーバー30が行う処理を詳細に説明するシーケンス図である。
次に、図13を参照して、ファイルサーバー30の処理を詳細に説明する。図13は、ファイルサーバー30が行う処理を詳細に説明するシーケンス図である。
S41~S43:電源オンや省エネ状態からの復帰によりファイルサーバー30が起動すると、OS48が制御部34を起動し、制御部34が監視部33及びプログラム処理部35を起動する。ファイルシステム32はOS48と共に起動済みである。
S44:ユーザーから要求を受けた発注システム20の第四通信部21は発注先(C社)と商品名と個数を受信し、発注を受け付ける。発注処理部23が発注を実行するために、発注先(C社)に基づいて発注先情報を参照する。C社の発注のためのフォルダ階層は以下であるとする。
/Operation/C/__cmd__timestamp/__cmd__send_fax/__arg__0356781234/__cmd__send_mail/__arg__order@c.com/__cmd__store/Storage/Documents/書類.pdf
/Operation/C/__cmd__timestamp/__cmd__send_fax/__arg__0356781234/__cmd__send_mail/__arg__order@c.com/__cmd__store/Storage/Documents/書類.pdf
発注処理部23はこのフォルダ階層を指定して、電子データ(書類.pdf)をファイルサーバー30に保存する。
S45:ファイルサーバー30の第一通信部31が電子データの保存要求を受信し、ファイルシステム32は指定されたフォルダ階層に電子データを保存する。フォルダ階層の一部又は全体がない場合、ファイルシステム32がフォルダを作成する。
S46:ファイルサーバー30の第一通信部31は電子データの保存が完了できた旨を発注システム20に返す。
S47:OSのファイルシステム32は監視部33に電子データが保存された旨とフォルダ階層を通知する。
S48:監視部33はファイルシステム32から新たに電子データがフォルダに保存されたという通知を受け、制御部34に電子データのファイルパスを通知する。
S49:制御部34は、ファイルパスに基づいてプログラムや引数を特定する。ここでは、制御部34は、__cmd__timestampフォルダによりtimestampプログラム36を実行すること、__cmd__send_faxフォルダによりsend_faxプログラム38を実行すること、send_faxプログラム38は引数が必要でありその引数は__arg__0356781234フォルダにより0356781234であること、を特定する。制御部34は、__cmd__send_mailフォルダによりsend_mailプログラム39を実行すること、send_mailプログラム39は引数が必要でありその引数は__arg__order@c.comフォルダによりorder@c.comであることを特定する。制御部34は、__cmd__storeフォルダによりstoreプログラム37を実行すること、storeプログラム37は引数が必要であり、その引数はStorage/Documentsであることを特定する。
S50:したがって、まず、制御部34はプログラム処理部35にtimestampプログラム36の実行を要求する。
以降のステップS51~S69では、図11,図12にて説明したように、タイムスタンプの取得、タイムスタンプ付きファイルの保存、ファクシミリ送信、メール送信等が行われる。
<主な効果>
このように、本実施形態によれば、電子データが保存されたフォルダのフォルダ階層に基づいて電子データにタイムスタンプを付与したり、保存したりすることができる。発注システム20は、ファイルサーバー30に処理を要求するAPIを実装する必要がなく、フォルダを指定して電子データを保存すればよく、開発コスト増を抑制できる。
このように、本実施形態によれば、電子データが保存されたフォルダのフォルダ階層に基づいて電子データにタイムスタンプを付与したり、保存したりすることができる。発注システム20は、ファイルサーバー30に処理を要求するAPIを実装する必要がなく、フォルダを指定して電子データを保存すればよく、開発コスト増を抑制できる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施例ではファイルを保存するファイルサーバー30をオンプレミスに示したが、ファイルサーバー30はインターネット上に配置されてもよい。また、ファイルサーバー30はファイル保存のためのサーバーでなく、汎用的なサーバーでもよい。また、ファイルサーバー30が有する記憶部49はオンプレミス又はインターネット上にあればよい。
また、本実施形態では、発注システム20がファイルサーバー30に電子データを送信する通信プロトコルとしてSMBやCIFSが好ましいと説明したが、HTTP、WebDAV、FTP等の通信プロトコルで発注システム20がファイルサーバー30に電子データを送信してもよい。この場合も発注システム20はフォルダ階層を指定して電子データを送信できる。
また、図5などの構成例は、端末装置10、発注システム20、ファイルサーバー30、複合機50A、メールサーバー60、及び、タイムスタンプサーバー70による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。端末装置10,発注システム20、ファイルサーバー30、複合機50A、メールサーバー60,及び、タイムスタンプサーバー70の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
<請求項の引用関係に関する付記>
[請求項1]
記憶部に電子データが保存されたことを検出する監視部と、
前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、前記電子データのパスに基づいて前記電子データに対する処理を決定する制御部と、
前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するプログラム処理部と、
前記改ざん検知情報が付与された前記電子データを任意の記憶部に保存する蓄積部と、
を有することを特徴とする情報処理装置。
[請求項2]
前記制御部は、前記電子データのパスを構成するフォルダ名に基づいて前記電子データに対する処理を決定することを特徴とする請求項1に記載の情報処理装置。
[請求項3]
所定の文字列を除くフォルダ名と前記プログラムの識別情報とが対応付けられたフォルダプログラム対応情報に基づいて、
前記制御部は、前記電子データのパスを構成するフォルダ名に、予め設定されている第一の文字列がある場合、前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムを前記処理として実行することを特徴とする請求項2に記載の情報処理装置。
[請求項4]
前記フォルダプログラム対応情報には前記所定の文字列を除くフォルダ名に対応付けて前記プログラムの引数が設定されており、
前記制御部は、前記電子データのパスを構成するフォルダ名に、予め設定されている前記第一の文字列があり、前記第一の文字列を除くフォルダ名に対応付けて前記引数が設定されている場合、
前記電子データのパスを構成するフォルダから、予め設定されている第二の文字列があるフォルダを特定し、前記第二の文字列を除くフォルダ名を前記引数として、前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムを前記処理として実行することを特徴とする請求項3に記載の情報処理装置。
[請求項5]
前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムが前記蓄積部を実現し、
前記プログラムの引数が設定されている前記引数がフォルダである場合、
前記制御部は、前記第一の文字列を有するフォルダより下位のフォルダを特定し、
前記蓄積部は前記下位のフォルダを前記記憶部の予め定められているフォルダに作成し、前記電子データを前記下位のフォルダに保存することを特徴とする請求項4に記載の情報処理装置。
[請求項6]
前記所定の文字列を除くフォルダ名、前記プログラムの識別情報、及び、前記引数、の設定を受け付ける設定画面を端末装置に提供し、
前記端末装置から前記所定の文字列を除くフォルダ名、前記プログラムの識別情報、及び、前記引数の設定を受け付けることを特徴とする請求項4に記載の情報処理装置。
[請求項7]
前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムは、ファクシミリを送信するプログラムであり、
前記ファクシミリを送信するプログラムは、前記電子データを複合機に送信して、前記電子データをファクシミリとして送信することを特徴とする請求項3~6のいずれか1項に記載の情報処理装置。
[請求項8]
前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムは、メールを送信するプログラムであり、
前記メールを送信するプログラムは、前記電子データをメールに添付して、前記メールをメールサーバーに送信することを特徴とする請求項3~7のいずれか1項に記載の情報処理装置。
[請求項9]
前記改ざん検知情報はタイムスタンプであることを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。
[請求項1]
記憶部に電子データが保存されたことを検出する監視部と、
前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、前記電子データのパスに基づいて前記電子データに対する処理を決定する制御部と、
前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するプログラム処理部と、
前記改ざん検知情報が付与された前記電子データを任意の記憶部に保存する蓄積部と、
を有することを特徴とする情報処理装置。
[請求項2]
前記制御部は、前記電子データのパスを構成するフォルダ名に基づいて前記電子データに対する処理を決定することを特徴とする請求項1に記載の情報処理装置。
[請求項3]
所定の文字列を除くフォルダ名と前記プログラムの識別情報とが対応付けられたフォルダプログラム対応情報に基づいて、
前記制御部は、前記電子データのパスを構成するフォルダ名に、予め設定されている第一の文字列がある場合、前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムを前記処理として実行することを特徴とする請求項2に記載の情報処理装置。
[請求項4]
前記フォルダプログラム対応情報には前記所定の文字列を除くフォルダ名に対応付けて前記プログラムの引数が設定されており、
前記制御部は、前記電子データのパスを構成するフォルダ名に、予め設定されている前記第一の文字列があり、前記第一の文字列を除くフォルダ名に対応付けて前記引数が設定されている場合、
前記電子データのパスを構成するフォルダから、予め設定されている第二の文字列があるフォルダを特定し、前記第二の文字列を除くフォルダ名を前記引数として、前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムを前記処理として実行することを特徴とする請求項3に記載の情報処理装置。
[請求項5]
前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムが前記蓄積部を実現し、
前記プログラムの引数が設定されている前記引数がフォルダである場合、
前記制御部は、前記第一の文字列を有するフォルダより下位のフォルダを特定し、
前記蓄積部は前記下位のフォルダを前記記憶部の予め定められているフォルダに作成し、前記電子データを前記下位のフォルダに保存することを特徴とする請求項4に記載の情報処理装置。
[請求項6]
前記所定の文字列を除くフォルダ名、前記プログラムの識別情報、及び、前記引数、の設定を受け付ける設定画面を端末装置に提供し、
前記端末装置から前記所定の文字列を除くフォルダ名、前記プログラムの識別情報、及び、前記引数の設定を受け付けることを特徴とする請求項4に記載の情報処理装置。
[請求項7]
前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムは、ファクシミリを送信するプログラムであり、
前記ファクシミリを送信するプログラムは、前記電子データを複合機に送信して、前記電子データをファクシミリとして送信することを特徴とする請求項3~6のいずれか1項に記載の情報処理装置。
[請求項8]
前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムは、メールを送信するプログラムであり、
前記メールを送信するプログラムは、前記電子データをメールに添付して、前記メールをメールサーバーに送信することを特徴とする請求項3~7のいずれか1項に記載の情報処理装置。
[請求項9]
前記改ざん検知情報はタイムスタンプであることを特徴とする請求項1~8のいずれか1項に記載の情報処理装置。
10 端末装置
20 発注システム
30 ファイルサーバー
50A 複合機
60 メールサーバー
70 タイムスタンプサーバー
20 発注システム
30 ファイルサーバー
50A 複合機
60 メールサーバー
70 タイムスタンプサーバー
Claims (11)
- 記憶部に電子データが保存されたことを検出する監視部と、
前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、前記電子データの保存場所を示す情報に基づいて前記電子データに対する処理を決定する制御部と、
前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するプログラム処理部と、
前記改ざん検知情報が付与された前記電子データを任意の記憶部に保存する蓄積部と、
を有することを特徴とする情報処理装置。 - 前記制御部は、前記電子データの保存場所を示す情報を構成するフォルダ名に基づいて前記電子データに対する処理を決定することを特徴とする請求項1に記載の情報処理装置。
- 所定の文字列を除くフォルダ名と前記処理を行うプログラムの識別情報とが対応付けられたフォルダプログラム対応情報に基づいて、
前記制御部は、前記電子データの保存場所を示す情報を構成するフォルダ名に、予め設定されている第一の文字列がある場合、前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムを前記処理として実行することを特徴とする請求項2に記載の情報処理装置。 - 前記フォルダプログラム対応情報には前記所定の文字列を除くフォルダ名に対応付けて前記プログラムの引数が設定されており、
前記制御部は、前記電子データの保存場所を示す情報を構成するフォルダ名に、予め設定されている前記第一の文字列があり、前記第一の文字列を除くフォルダ名に対応付けて前記引数が設定されている場合、
前記電子データの保存場所を示す情報を構成するフォルダから、予め設定されている第二の文字列があるフォルダを特定し、前記第二の文字列を除くフォルダ名を前記引数として、前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムを前記処理として実行することを特徴とする請求項3に記載の情報処理装置。 - 前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムが前記蓄積部を実現し、
前記プログラムの引数が設定されている前記引数がフォルダである場合、
前記制御部は、前記第一の文字列を有するフォルダより下位のフォルダを特定し、
前記蓄積部は前記下位のフォルダを前記記憶部の予め定められているフォルダに作成し、前記電子データを前記下位のフォルダに保存することを特徴とする請求項4に記載の情報処理装置。 - 前記所定の文字列を除くフォルダ名、前記プログラムの識別情報、及び、前記引数、の設定を受け付ける設定画面を端末装置に提供し、
前記端末装置から前記所定の文字列を除くフォルダ名、前記プログラムの識別情報、及び、前記引数の設定を受け付けることを特徴とする請求項4に記載の情報処理装置。 - 前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムは、ファクシミリを送信するプログラムであり、
前記制御部は、前記ファクシミリを送信するプログラムを実行することで、前記電子データを複合機に送信して、前記電子データをファクシミリとして送信することを特徴とする請求項3~6のいずれか1項に記載の情報処理装置。 - 前記第一の文字列を除くフォルダ名に対応付けられている前記識別情報のプログラムは、メールを送信するプログラムであり、
前記制御部は、前記メールを送信するプログラムを実行することで、前記電子データをメールに添付して、前記メールをメールサーバーに送信することを特徴とする請求項3~6のいずれか1項に記載の情報処理装置。 - 前記改ざん検知情報はタイムスタンプであることを特徴とする請求項1~6のいずれか1項に記載の情報処理装置。
- 監視部が、記憶部に電子データが保存されたことを検出するステップと、
前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、制御部が、前記電子データの保存場所を示す情報に基づいて前記電子データに対する処理を決定するステップと、
プログラム処理部が、前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するステップと、
蓄積部が、前記改ざん検知情報が付与された前記電子データを前記記憶部に保存するステップと、
を有することを特徴とする情報処理方法。 - 情報処理装置に、
記憶部に電子データが保存されたことを検出する監視部と、
前記監視部が前記記憶部に前記電子データが保存されたことを検出した場合、前記電子データの保存場所を示す情報に基づいて前記電子データに対する処理を決定する制御部と、
前記制御部が決定した処理として、少なくとも前記電子データの改ざんを検知する改ざん検知情報を前記電子データに付与するプログラム処理部と、
前記改ざん検知情報が付与された前記電子データを任意の記憶部に保存する蓄積部、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022080285A JP2023168902A (ja) | 2022-05-16 | 2022-05-16 | 情報処理装置、情報処理方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022080285A JP2023168902A (ja) | 2022-05-16 | 2022-05-16 | 情報処理装置、情報処理方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023168902A true JP2023168902A (ja) | 2023-11-29 |
Family
ID=88923455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022080285A Pending JP2023168902A (ja) | 2022-05-16 | 2022-05-16 | 情報処理装置、情報処理方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023168902A (ja) |
-
2022
- 2022-05-16 JP JP2022080285A patent/JP2023168902A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10075597B2 (en) | Image processing apparatus having file server function, and control method and storage medium therefor | |
JP3938857B2 (ja) | 画像形成装置 | |
US20080144103A1 (en) | Image processing apparatus and control method | |
EP2393275B1 (en) | Information processing system, information processing apparatus, control method thereof, and program | |
US11831822B2 (en) | Information processing apparatus and control method thereof setting a rule for property information based on a drag and drop operation | |
US20110082796A1 (en) | Copyright management system | |
US8873110B2 (en) | Host apparatus to generate workform, workform management server to edit an image, workform management system, and method of editing an image using a workform | |
JP6171346B2 (ja) | 情報処理装置、処理実行方法、プログラム | |
US9531905B2 (en) | Scanner that is capable of uploading scan data in a target area within a data storage server | |
US20190089862A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
JP2017135561A (ja) | 受信した画像データを扱う画像処理装置、画像処理方法、及びプログラム | |
JP2013050783A (ja) | 文書データの管理システム、管理方法及びプログラム | |
JP3956901B2 (ja) | 電子掲示板機能を備えたサーバ装置 | |
JP2023168902A (ja) | 情報処理装置、情報処理方法、プログラム | |
US20140176995A1 (en) | Information processing system, information processing method, and storage medium | |
JP2013156805A (ja) | データ記憶制御装置、画像形成装置及びプログラム | |
JP3799260B2 (ja) | 画像読取方法、画像読取システム、画像読取システムの制御プログラム及び記憶媒体 | |
JP2007249993A (ja) | 文書管理サーバ装置 | |
US11838476B2 (en) | Information processing apparatus that conditionally prohibits setting a relay system as an image data transfer destination, control method thereof, and storage medium | |
JP7494086B2 (ja) | 情報処理装置、およびその制御方法とプログラム | |
JP5734400B2 (ja) | ドキュメント処理装置およびその制御方法、ドキュメント管理システムおよび該システムにおけるデータ処理方法並びにコンピュータプログラム | |
US20240045006A1 (en) | Information processing apparatus, control method thereof, and storage medium | |
US20220086287A1 (en) | Process executing system, information processing system, information processing method, and recording medium | |
JP2022088988A (ja) | 情報処理システム、サービス提供システム、処理実行方法 | |
US20120099155A1 (en) | Method to store document using image forming apparatus and system to perform the same |